Files
DP44/docs/ai/DataPRO/IService/Classes/PowerProInput.md
2026-04-17 14:55:32 -04:00

2.7 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
DataPRO/IService/Classes/PowerProInput/SLICE.PowerPro.Input.Reader.cs
2026-04-17T16:10:43.628352+00:00 zai-org/GLM-5-FP8 1 583eb4dab6fcbf41

PowerProInput

Purpose

This module provides a concrete implementation of input reading functionality for PowerPro hardware devices. It extends SLICEBaseInputReader to measure diagnostic channel values including input voltage, temperature, and backup battery voltage from PowerPro hardware via a communication interface.

Public Interface

Class: SLICEPowerProInputReader

  • Constructor: SLICEPowerProInputReader(ICommunication comm) - Initializes the reader with an ICommunication interface for hardware communication. Passes the communication object to the base class and stores it in a private readonly field.

  • Property: override double InputMilliVolts - Measures the input voltage on diagnostic channel InputVoltage_A. Creates a MeasurePowerProDiagnosticChannel instance, configures it with DeviceGroup = 0 and DeviceID = 0, executes synchronously, and returns the measurement converted to millivolts (multiplied by 1000.0).

  • Property: override double TemperatureC - Measures the temperature in Celsius. Uses diagnostic channel TemperatureC with DeviceGroup = 0 and DeviceID = 0. Returns the raw measurement value without conversion.

  • Property: override double DirectBackupMilliVolts - Measures the backup battery voltage. Uses diagnostic channel BatteryVoltage with DeviceGroup = 0 and DeviceID = 0. Returns the measurement converted to millivolts (multiplied by 1000.0).

Invariants

  • All measurement operations use DeviceGroup = 0 and DeviceID = 0 (single device assumption).
  • Voltage measurements (InputMilliVolts, DirectBackupMilliVolts) are always returned in millivolts, requiring multiplication by 1000.0 from the raw measurement.
  • Temperature is always returned in Celsius without scaling.
  • Each property getter performs a synchronous execution call; there is no caching of measurements.

Dependencies

Depends on:

  • DTS.Common.Interface.DASFactory - Provides ICommunication interface
  • DTS.DASLib.Command.SLICE - Provides MeasurePowerProDiagnosticChannel class and PowerProDiagnosticChannelList enum
  • SLICEBaseInputReader (base class, location not shown in source)

Depended on by: Not determinable from source alone.

Gotchas

  • Each property access creates a new MeasurePowerProDiagnosticChannel instance and performs a synchronous SyncExecute() call. Frequent property access could impact performance.
  • The hardcoded DeviceGroup = 0 and DeviceID = 0 values suggest this implementation only supports single