E-Meter Example
This example demonstrates how SensIDL can be used to describe the eMeter-sensor.
Example Code (The code can also be installed at New > Example... > SensIDL Examples >
Emeter Example):
sensorInterface eMeter /**Interface for devices measuring electronic current.*/ {
encoding: SENSIDL_BINARY, endianness: BIG_ENDIAN, alignment: 1 BIT
sensorData {
dataSet Conductor uses Info /**Data description of Conductor*/ {
recordType as UINT8 value= "1"/**Distinct type for this data set.*/
voltage as INT16 in V
current as FLOAT in A
power as FLOAT in W
powerFactor as UINT16 in Dimensionless adjusted by linear mapping [0;255]=> [0;1] /**Power factor for this conductor. 0 if not available.*/
identicator as UINT8 /**Identifier to correlate measurements for different conductors.*/
}
dataSet NeutralConductor uses Info /**Data description of NeutralConductor*/ {
recordType as UINT8 value= "4" /**Distinct type for this data set.*/
current as FLOAT in A
powerFactor as UINT16 in Dimensionless
}
dataSet Energy uses Info /**Data description of Energy*/ {
recordType as UINT8 value= "5" /**Distinct type for this data set.*/
l1 as INT16 in kW /**Energy amount for conductor L1.*/
l2 as FLOAT in kW /**Energy amount for conductor L2.*/
l3 as FLOAT in kW /**Energy amount for conductor L3.*/
}
dataSet Info {
deviceType as UINT8 constant value="40" /**Type 40 denotes eMeter.*/
}
}
}