Serial MODBUS Gateway - Wireless Device Register Definitions

For other MODBUS interpretation documentation, see following links.
Serial MODBUS Gateway - Sensor Fast Read Register (FRR) Definitions
Ethernet Gateway 4 - MODBUS TCP Sensor Register Definitions

Definitions

Register - Addressable 16-bit pieces of data within a MODBUS device.
Integer - A positive or negative whole number
Concatenate - Concatenate, concatenation, or concat is a term that describes combining a string, text, or other data in a series without any gaps.
NA - Not Applicable
u8 - UnSigned Int8
u16 - UnSigned Int16
u32- UnSigned Int32
u64 - UnSigned Int64
s8 - Signed Int8
s16 - Signed Int16
FRR - Fast Read Register
MSV - Most Significant Value
LSV - Least Significant Value
PSIG - PSIG (pound-force per square inch gauge) is a unit of pressure relative to the surrounding atmosphere. By contrast, PSIA measures pressure relative to a vacuum (such as that in space).
_H - Suffix identifying the HIGH or first bits of an integer at least 16 bits long.
_L - Suffix identifying the LOW or last bits of an integer at least 16 bits long.

Profile

Sensor Name

Data Type

Data Points Presented

Unit

Interpretation

Concatenation

The sensor profile number

Name of the sensor

Describes the base data type being generated by the sensor. *Each row correlates to its own data point

General description of the data present in the FRRs.

Units of measurement for each data point

Describes how to interpret the raw sensor data sent to the gateway. The data is stored in 16 bit Registers. Included is a breakdown of each register, any calculations required to convert the data to usable values, as well as the acceptable range of the sensor.

When receiving data larger than 16 bit format, concatenating registers will be required to reconstruct the original value. The concatenation order may change depending on sensor requirements; it is detailed below.

2

Temperature

s16

Temperature

Celsius ©

Formula: Divide by 10 for 1 decimal resolution. Example: 271 / 10 = 27.1 C Range: -40.0 to 125.0 C Data0 = Temperature Data1 - Data7 = NA

NA

3

Dry Contact

u8

Open/Closed

Integer

Default Mode: 0 = Open Loop 1 = Closed Loop Data0 = Open/Closed Data1 - Data7 = NA

NA

4

Water Detect

u8

Not Present / Present

Integer

Default Mode: 0 = Not Present 1 = Present Data0 = Not Present / Present Data1 - Data7 = NA

NA

5

Activity Detection

u8

Motion Detected / No Motion Detected

Integer

Default Mode: 0 = No Motion Detected 1 = Motion Detected Data0 = No Motion Detected / Motion Detected Data1 - Data7 = NA

NA

9

Open/Closed

u8

Open/Closed

Integer

Default Mode: 0 = Open Loop 1 = Closed Loop Data0 = Open/Closed Data1 - Data7 = NA

NA

11

Button

u8

Checking In / Pressed

Integer

0 = Checking In 1 = Pressed Data0 = Checking In / Pressed Data1 - Data7 = NA

NA

12

Control

u8

Relay 1: On/Off; Relay 2: On/Off

Integer

0 = Both Relays: OFF 1 = Relay 1: ON 2 = Relay 2: ON 3 = Both Relays: ON Data0 = RelayState Data1 - Data7 = NA

NA

15

G-Force Snapshot

s16 s16 s16

X-Axis Y-Axis Z-Axis

G-Force (G) G-Force (G) G-Force (G)

Formula: Divide by 1000 for 3 decimal resolution. Example: 2715 / 1000 = 2.715 Range: -8.000 G to 8.000 G Data0 = X-Axis Data1 = Y-Axis Data2 = Z-Axis Data3 - Data7 = NA

NA

16

Impact

u8

Force Detected / No Force Detected

Integer

Convert value to binary, each bit represents a different data point generated by the sensor. Definitions for each bit are listed below. Example: 187 = 1011 1011 Byte: hgfe dcba Bit0 (a) - X Polarity: 0 = g+ 1 = g- Bit1 (b) - X Event: 0 = none 1 = happened Bit2 © - Y Polarity: 0 = g+ 1 = g- Bit3 (d) - Y Event: 0 = none 1 = happened Bit4 (e) - Z Polarity: 0 = g+ 1 = g- Bit5 (f) - Z Event: 0 = none 1 = happened Bit6 (g) - EA: 0 = none 1 = Global Event happened Bit7 (h) - Internal Communication Problems Data0 = ForceDetection Data1 - Data7 = NA

NA

21

NA

22

0-20 mA Current

u16

Current

Milliamps (mA)

Formula: Divide by 100 to get 2 decimal point resolution. Example: 744 / 100 = 7.44 mA Range: 0 mA to 24mA Data0 = Current Data1 - Data7 = NA

26

NA

28

NA

32

NA

35

High Temperature

s16

Temperature

Celsius ©

Formula: Divide by 10 for 1 decimal resolution. Example: 271 / 10 = 27.1 C Range: -40.0 to 125.0 C Data0 = Temperature Data1 - Data7 = NA

NA

36

NA

43

Humidity

s16 s16

Temperature Relative Humidity

Celsius © Relative Humidity (%)

Formula: Divide by 100 for 2 decimal resolution. Formula: Divide by 100 for 2 decimal resolution. Example: 2710 / 100 = 27.10 C, 4555 / 100 = 45.55% Range: -40.0 C to 125.0 C, 00.00% to 100.00% Data0 = Temperature Data1 = Humidity Data2 - Data7 = NA

NA

46

Low Temperature

s16

Temperature

Celsius ©

Formula: Divide by 10 for 1 decimal resolution. Example: 271 / 10 = 27.1 C Range: -200.0 to 162.0 C Data0 = Temperature Data1 - Data7 = NA

NA

56

H2S

s16 s16 s16 u16

Temperature H2S Instant H2S TWA For Internal Use Only

Celsius © Parts Per Million (PPM) Parts Per Million (PPM) Integer

Formula: Divide by 10 for 1 decimal resolution. Formula: Divide by 1000 for 1 decimal resolution. Formula: Divide by 1000 for 1 decimal resolution. Example: 271 / 10 = 27.1 C 17800 / 1000 = 17.8 PPM Range: -40.0 C to 125.0 C Data0 = Temperature Data1 = H2S Instant Data2 = H2S TWA Data3 = For Internal Use Only Data4 - Data7 = NA

NA

59

NA

64

Voltage Detect 500VAC

u8

No Voltage Present / Voltage Present

Integer

Default Mode: 0 = No Voltage Present 1 = Voltage Present Data0 = No Voltage Present / Voltage Present Data1 - Data 7 = NA

NA

65

Water Temperature

s16

Temperature

Celsius ©

Formula: Divide by 10 for 1 decimal resolution. Example: 271 / 10 = 27.1 C Range: -40.0 to 125.0 C Data0 = Temperature Data1 - Data7 = NA

NA

67

Commercial Ultrasonic

u16

Distance

Centimeters (CM)

Distance from target in CM. Range: 10 CM to 400 CM Data0 = Distance Data1 - Data7 = NA

NA

70

Resistance

u32

Resistance

Ohms (O)

Data produced by the sensor is in u32 format. 2 Registers are needed to contain this value. Concatenate the Registers in order to reconstruct the full value. Formula: Divide by 10 for 1 decimal point resolution Example: 2,471,234 / 10 = 247,123.4 O Range: 0 to 250,000.0 O Data0 = Resistance_L Data1 = Resistance_H Data2 - Data7 = NA

Resistance = [Data1]+[Data0] Example Data0 = 12766 Data1 = 16 Concatenate: [16]+[12766] Convert to hexidecimal [0x0010]+[0x31DE] = 0x001031DE Convert to decimal 0x001031DE = 1,061,342 Apply Formula: 1,061,342 / 10 = 106,134.2 Resistance = 106,134.2 O

71

NA

72

0-5 VDC

u16

Voltage

Volts (V)

Formula: Divide by 1000 to get 1 decimal point resolution. Example: 3400 / 1000 = 3.4 V Range: 0 V to 5 V Data0 = Volts Data1 - Data7 = NA

NA

74

0-10 VDC

u16

Voltage

Volts (V)

Formula: Divide by 1000 to get 1 decimal point resolution. Example: 7400 / 1000 = 7.4 V Range: 0 V to 10 V Data0 = Volts Data1 - Data7 = NA

NA

75

Tilt

s16 s16

Pitch Roll

Degrees (°) Degrees (°)

Formula: Divide by 100 for 2 decimal point resolution. Example: 17518 / 100 = 175.18° Range: -180.00° to 180.00° Data0 = Pitch Data1 = Roll Data2 - Data7 = NA

NA

78

Water Rope

u8

No Water Present / Water Present

Integer

Default Mode: 0 = No Water Present 1 = Water Present Data0 = No Water Present / Water Present Data1 - Data7 = NA

NA

79

Pressure 50

u16

Pressure

Pounds/Square Inch in Gauge (PSIG)

Formula: Divide by 10 to get 1 decimal point resolution. Example: 359 / 10 = 35.9 PSI Range: 0 PSI to 50 PSI Data0 = Pressure Data1 - Data7 = NA

NA

82

Pressure 300

u16

Pressure

Pounds/Square Inch in Gauge (PSIG)

Formula: Divide by 10 to get 1 decimal point resolution. Example: 2595 / 10 = 259.5 PSI Range: 0 PSI to 300 PSI Data0 = Pressure Data1 - Data7 = NA

NA

83

Pressure Custom

u16

Pressure

Pounds/Square Inch in Gauge (PSIG)

Formula: Divide by 10 to get 1 decimal point resolution. Example: 359 / 10 = 35.9 PSI Range: 0 PSI to 50 PSI Data0 = Pressure Data1 - Data7 = NA

NA

84

Duct Temperature

s16

Temperature

Celsius ©

Formula: Divide by 10 for 1 decimal resolution. Example: 271 / 10 = 27.1 C Range: -40.0 to 125.0 C Data0 = Temperature Data1 - Data7 = NA

NA

86

Thermocouple

s16

Temperature

Celsius ©

Formula: Divide by 10 for 1 decimal resolution. Example: 271 / 10 = 27.1 C Range: -100.0 to 400.0 C Data0 = Temperature Data1 - Data7 = NA

NA

90

Pulse Counter(64)

u64

Count

Pulses

Data produced by the sensor is in u64 format. 4 Registers are required to store this value. Concatenate the Registers in order to reconstruct the full value. Range: 0 to 2^64-1 Data0 = Count4 Data1 = Count3 Data2 = Count2 Data3 = Count1 Data4 - Data7 = NA

Count = [Data3]+[Data2]+[Data1]+[Data0] Example Data0 = 7879 Data1 = 53327 Data2 = 1 Data3 = 0 Concatenate: [0]+[1]+[53327]+[7879] Convert to hexidecimal [0x0000]+[0x0001]+[D04F]+[1EC7] = 0x00000001D04F1EC7 Convert to decimal 0x00000001D04F1EC7 = 7,789,813,447 Count = 7,789,813,447 Pulses

92

Quad Temp

s16 s16 s16 s16

Temperature Temperature Temperature Temperature

Celsius © Celsius © Celsius © Celsius ©

Formula: Divide by 10 for 1 decimal resolution. Example: 271 / 10 = 27.1 C Range: -40.0 to 125.0 C Data0 = Temperature1 Data1 = Temperature2 Data2 = Temperature3 Data3 = Temperature4 Data4 - Data7 = NA

NA

93

Current Meter 20A

u64 u16 u16 u16

Accumulate Avg Current Max Current Min Current

Amp Hours (Ah) Amps (A) Amps (A) Amps (A)

Data produced by the sensor is in multiple formats. 4 Registers are required to store the u64 value. Concatenate the registers in order to reconstruct the full value. Apply formula after concatenation. Formula: Divide by 100 to get 2 decimal point resolution. Example: 1567 / 100 = 15.67 A/Ah Range: 0 A to 50 A Physical hardware limitations Data0 = Acc4 Data1 = Acc3 Data2 = Acc2 Data3 = Acc1 Data4 = AvgCurrent Data5 = MaxCurrent Data6 = MinCurrent Data7 = NA

Accumulate = [Data3]+[Data2]+[Data1]+[Data0] Example Data0 = 21847 Data1 = 520 Data2 = 0 Data3 = 0 Concatenate: [0]+[0]+[520]+[21847] Convert to hexidecimal [0x0000]+[0x0000]+[0x0208]+[0x5557] = 0x0000000002085557 Convert to decimal 0x0000000002085557 = 34,100,567 Apply Formula: 34,100,567 / 100 = 341,005.67 Accumulate = 341,005.67 Ah

94

Current Meter 150A

u64 u16 u16 u16

Accumulate Avg Current Max Current Min Current

Amp Hours (Ah) Amps (A) Amps (A) Amps (A)

Data produced by the sensor is in multiple formats. 4 Registers are required to store the u64 value. Concatenate the registers in order to reconstruct the full value. Apply formula after concatenation. Formula: Divide by 100 to get 2 decimal point resolution. Example: 1567 / 100 = 15.67 A/Ah Range: 0 A to 200 A Physical hardware limitations Data0 = Acc4 Data1 = Acc3 Data2 = Acc2 Data3 = Acc1 Data4 = AvgCurrent Data5 = MaxCurrent Data6 = MinCurrent Data7 = NA

Accumulate = [Data3]+[Data2]+[Data1]+[Data0] Example Data0 = 21847 Data1 = 520 Data2 = 0 Data3 = 0 Concatenate: [0]+[0]+[520]+[21847] Convert to hexidecimal [0x0000]+[0x0000]+[0x0208]+[0x5557] = 0x0000000002085557 Convert to decimal 0x0000000002085557 = 34,100,567 Apply Formula: 34,100,567 / 100 = 341,005.67 Accumulate = 341,005.67 Ah

95

Vibration Meter

u8 u8 u8 u8 u8 u8 u8

X Speed Y Speed Z Speed X MaxFreq Y MaxFreq Z MaxFreq Duty Cycle

Millimeters Per Second (MM/S) Millimeters Per Second (MM/S) Millimeters Per Second (MM/S) Hertz (Hz) Hertz (Hz) Hertz (Hz) Percentage (%)

Formulas Speed: Divide by 10 for 1 decimal resolution. Frequency: No calculation required. Duty Cycle: No calculation required. Example: 235 / 10 = 23.5 mm/s Range: 0 to 255, 0 to 255, 0 to 100 Data0_L = X Speed (u8) Data0_H = Y Speed (u8) Data1_L = Z Speed (u8) Data1_H = X MaxFreq Data2_L = Y MaxFreq Data2_H = Z Max Freq Data3_L = Duty Cycle Data3_H = NA Data4 - Data7 = NA

X Speed = [Data0_L] Y Speed = [Data0_H] Z Speed = [Data1_L] X MaxFreq = [Data1_H] Y MaxFreq = [Data2_L] Z maxFreq = [Data2_H] Duty Cycle = [Data3_L] Example Data0 = 1250 ? Convert to hexidecimal ? [0x04E2] Data1 = 10456 ? Convert to hexidecimal ? [0x28D8] Data2 = 7123 ? Convert to hexidecimal ? [0x1BD3] Data3 = 75 ? Convert to hexidecimal ? [0x004B] Concatenate: Data3 Data2 Data1 Data0 [0x004B]+[0x1BD3]+[0x28D8]+[0x04E2] = 0x00941BD328D804E2 -> BreakOut into bytes D3_H D3_L D2_H D2_L D1_H D1_L D0_H D0_L [0x00] [0x4B] [0x1B] [0xD3] [0x28] [0xD8] [0x04] [0xE2] ? Convert to decimal Apply Formula: X Speed = 226/10 = 22.6 mm/s Y Speed = 4/10 = 0.4 mm/s Z Speed = 216/10 = 21.6 mm/s X MaxFreq = 40 Hz Y MaxFreq = 211 Hz Z MaxFreq = 27 Hz Duty Cycle = 75%

97

Thermostat

s16 s16 u8

Temperature Humidity State

Celsius © Relative Humidity (%) Integer

Formula: Divide by 100 for 2 decimal resolution. Formula: Divide by 100 for 2 decimal resolution. Covert to Binary to identify what states are active. Each bit corresponds to an individual state. See State/Bit definitions below. Example: 2710 / 10 = 27.10 C, 4555 / 100 = 45.55%, 13 = 0000 1101 (LSV) Bit0 - Heater State 0 = OFF / 1 = ON Bit1 - Cooler State 0 = OFF / 1 = ON Bit2 - Fan State 0 = OFF / 1 = ON Bit3 - Occupancy State 0 = OFF / 1 = ON Bit4 - Fan Override 0 = OFF / 1 = ON Bit5 - Occupied Override 0 = OFF / 1 = ON Bit6 - Unoccupied Override 0 = OFF / 1 = ON (MSV) Bit7 - Settings Lockout 0 = OFF / 1 = ON Range: -40.0 C to 85.0 C, 00.00% to 100.00%, 0 to 255 Data0 = Temperature Data1 = Humidity Data2 = State Data3 - Data7 = NA

NA

98

NA

100

NA

101

PIR

u8

Motion Detected / No Motion Detected

Integer

Default Mode: 0 = No Motion Detected 1 = Motion Detected Data0 = NoMotion / Motion Data1 - Data7 = NA

NA

102

Air Quality

u16 u16 u16 u8

PM 1 PM 2.5 PM 10 For Internal Use Only

Micrograms/meter cubed (ug/m^3) Micrograms/meter cubed (ug/m^3) Micrograms/meter cubed (ug/m^3) Integer

No conversion required. Range: 0 to 1000 ug/m^3 Data0 = PM1_0 Data1 = PM2_5 Data2 = PM10 Data3 = For Internal Use Only Data4 - Data7 = NA

NA

103

Differential Pressure

s16 s16

Pressure Temperature

Pascals (Pa) Celsius ©

Formula: Divide by 10 for 1 decimal resolution. Formula: Divide by 10 for 1 decimal resolution. Example: 2710 / 10 = 271.0 Pa, 455 / 10 = 45.5 C Range: -500 to 500 Pa, -40.0 C to 125.0 C Data0 = Pressure Data1 = Temperature Data2 - Data7 = NA

NA

105

Industrial Ultrasonic

u16

Distance

Centimeters (CM)

Distance from target in CM. Range: 10 CM to 400 CM Data0 = Distance Data1 - Data7 = NA

NA

106

C02 Meter

s16 s16 s16 s16

Avg C02 TWA C02 For Internal Use Only For Internal Use Only

Parts Per Million (PPM) Parts Per Million (PPM) Integer Integer

Displays C02 in parts per million. Example: C02 Instantaneous: 2710 PPM, C02 TWA: 100 PPM Range: 0 to 10,000 PPM, 0 to 10,000 PPM Data0 = Avg C02 Data1 = TWA C02 Data2 = For Internal Use Only Data3 = For Internal Use Only Data4 - Data7 = NA

NA

107

Light Meter

u32 u8

Intensity Light/No Light

Luminescence/unit area (LUX) Integer

Data produced by the sensor is in multiple formats. The u32 value requires 2 Registers in order to contain this data. Concatenate the Registers in order to reconstruct the full value. Formula: Divide by 100 for 2 decimal point resolution Example: 94,531 / 100 = 945.31 LUX Range: 0 - 1000 LUX, 0 = No Light / 1 = Light Data0 = Intensity_L Data1 = Intensity_H Data2 = NoLight / Light Data3 - Data7 = NA

Intensity = [Data1]+[Data0] Example Data0 = 28995 Data1 = 1 Concatenate: [1]+[28995] Convert to hexidecimal [0x0001]+[0x7143] = 0x00017143 Convert to decimal 0x00017143 = 94,531 Apply Formula: 94,531 / 100 = 945.31 Intensity = 945.31 LUX

109

Three Phase 150A

u16 u8 u8 u8 u16 u8 u8 u8 u16 u8 u8 u8 u32

Phase1 AvgCurrent Phase1 MaxCurrent Phase1 MinCurrent Phase1 DutyCycle Phase2 AvgCurrent Phase2 MaxCurrent Phase2 MinCurrent Phase2 DutyCycle Phase3 AvgCurrent Phase3 MaxCurrent Phase3 MinCurrent Phase3 DutyCycle Accumulate

Amps (A) Amps (A) Amps (A) Percentage (%) Amps (A) Amps (A) Amps (A) Percentage (%) Amps (A) Amps (A) Amps (A) Percentage (%) Amp Hours (Ah)

*This sensor produces more data than what can be stored in the 8 available Registers. The data is produced in multiple formats. Omitted data will only be accessible through a different gateway type. Formula: u8 Data - No calculation required. u16 Data - Divide by 100 to get 2 decimal point resolution. Example: 1567 / 100 = 15.67 A Range: 0 A to 200 A Physical hardware limitations for each phase Data0 = Phase1 AvgCurrent (u16) Data1_L = Phase1 MaxCurrent (u8) Data1_H = Phase1 MinCurrent (u8) Data2 _L= Phase1 DutyCycle (u8) Data2_H = Phase2 AvgCurrent_L (u8) Data3_L = Phase2 AvgCurrent_H (u8) Data3_H = Phase2 MaxCurrent (u8) Data4_L = Phase2 MinCurrent (u8) Data4_H = Phase2 DutyCycle (u8) Data5 = Phase3 AvgCurrent (u16) Data6_L = Phase3 MaxCurrent (u8) Data6_H = Phase3 MinCurrent (u8) Data7_L = Phase3 DutyCycle (u8) Data7_H = Accumulate1 (u8) Limited use case, up to 25.5 Ah

Phase2 AvgCurrent = [Data3_L]+[Data2_H] Example Data2 = 29560 ? Convert to hexidecimal ? 0x7378 Data3 = 12833 ? Convert to hexidecimal ? 0x3221 1st Concatenate: [0x3221]+[0x7378] = 0x32217378 ? BreakOut into bytes [0x32] [0x21] [0x73] [0x78] -------> [0x32] [0x21]+[0x73] [0x78] Data3 Data2 ReOrder Data3_L+Data2_H 2nd Concatenate: [0x32] [0x21]+[0x73] [0x78] = [0x32] [0x2173] [0x78] ? Convert to decimal [50] [8563] [120] Apply Formula: Phase1 Duty Cycle - 50% Phase2 AvgCurrent - 8563 / 100 = 85.63 A Phase2 MaxCurrent - 120 A

111

Advanced Vibration

u8 u16 u16 u16 u16 u16 u16 u8 u8 u8 u8 s16

Mode X Frequency Y Frequency Z Frequency X Vibration Y Vibration Z Vibration X CrestFactor Y CrestFactor Z CrestFactor Duty Cycle Temperature

Integer Hertz (Hz) Hertz (Hz) Hertz (Hz) mm/s^2 OR mm/s OR mm mm/s^2 OR mm/s OR mm mm/s^2 OR mm/s OR mm Integer Integer Integer Percentage (%) Celsius ©

*This sensor produces more data than what can be stored in the available 8 Registers. The omitted data may only be accessible through the FRR data or a different type of gateway. Vibration can be configured to measure in Acceleration, Velocity, or Displacement and this will determining the units of measurement. Formulas Mode: 0 = Velocity RMS, 1 = Acceleration RMS, 4 = Displacement RMS. Frequency: Divide by 5 for 1 decimal point resolution. Vibration (Velocity): Divide by 100 for 2 decimal point resolution. Vibration (Acceleration): Multiply by 10 for integer resolution. Vibration (Displacement): Divide by 100 for 2 decimal point resolution. Crest Factor: Divide by 100, then Add 1.41 for 2 decimal point resolution. Duty Cycle: Not enough room to contain this data. Temperature: Not enough room to contain this data. Example Range Frequency: 24863 / 5 = 497.2 Hz 0 to 65535 Velocity: 24863 / 100 = 248.63 mm/s 0 to 65535 Acceleration: 24863 * 10 = 2486.30 mm/s^2 0 to 65535 Displacement: 24863 / 100 = 248.63 mm 0 to 65535 Crest Factor: (245 / 100)+1.41 = 2.86 0 to 255 Data0_L = Mode (u8) Data4_L = XVibe_H (u8) Data0 _H = XFreq_L (u8) Data4_H = YVibe_L (u8) Data1_L = XFreq_H (u8) Data5_L = YVibe_H (u8) Data1_H = YFreq_L (u8) Data5_H = ZVibe_L (u8) Data2_L = YFreq_H (u8) Data6_L = ZVibe_H (u8) Data2_H = ZFreq_L (u8) Data6_H = XCrestFactor (u8) Data3_L = ZFreq_H (u8) Data7_L = YCrestFactor (u8) Data3_H = XVibe_L (u8) Data7_H = ZCrestFactor (u8)

X Frequency = [Data1_L]+[Data0_H] Y Frequency = [Data2_L]+[Data1_H] Z Frequency = [Data3_L]+[Data2_H] X Vibration = [Data4_L]+[Data3_H] Y Vibration = [Data5_L]+[Data4_H] Z Vibration = [Data6_L]+[Data5_H] Example Data0 = 11520 ? Convert to hexidecimal ? 0x2D00 Data1 = 11521 ? Convert to hexidecimal ? 0x2D01 Data2 = 11521 ? Convert to hexidecimal ? 0x2D01 Data3 = 55297 ? Convert to hexidecimal ? 0xD801 Data4 = 55812 ? Convert to hexidecimal ? 0xDA04 Data5 = 62210 ? Convert to hexidecimal ? 0xF302 Data6 = 8961 ? Convert to hexidecimal ? 0x2301 Data7 = 17692 ? Convert to hexidecimal ? 0x451C 1st Concatenate: D7 D6 D5 D4 D3 D2 D1 D0 [0x451C]+[0x2301]+[0xF302]+[0xDA04]+[0xD801]+[0x2D01]+[0x2D01]+[0x2D00] = 0x451C2301F302DA04D8012D012D012D00 ? BreakOut into bytes D7 D6 D5 D4 D3 D2 D1 D0 [45][1C] [23][01] [F3][02] [DA][04] [D8][01] [2D][01] [2D][01] [2D][00] H L H L H L H L H L H L H L H L 2nd Concatenate: D7 D7 D6 D6 D5 D5 D4 D4 D3 D3 D2 D2 D1 D1 D0 D0 [45] [1C] [23] [01]+[F3] [02]+[DA] [04]+[D8] [01]+[2D] [01]+[2D] [01]+[2D] [00] H L H L H L H L H L H L H L H L Mode = [0x00] ? Convert to decimal ? 0 (Velocity) X Frequency = [0x012D] ? Convert to decimal, apply formula ? 301/5 = 60.2 Hz Y Frequency = [0x012D] ? Convert to decimal, apply formula ? 301/5 = 60.2 Hz Z Frequency = [0x012D] ? Convert to decimal, apply formula ? 301/5 = 60.2 Hz X Vibration = [0x04D8] ? Convert to decimal, apply formula ? 1240/100 = 12.40 mm/s Y Vibration = [0x02DA] ? Convert to decimal, apply formula ? 730/100 = 7.30 mm/s Z Vibration = [0x01F3] ? Convert to decimal, apply formula ? 499/100 = 4.99 mm/s X CrestFactor = [0x23] ? Convert to decimal, apply formula ? (35/100)+1.41 = 1.76 CF Y CrestFactor = [0x1C] ? Convert to decimal, apply formula ? (28/100)+1.41 = 1.69 CF Z CrestFactor = [0x45] ? Convert to decimal, apply formula ? (69/100)+1.41 = 2.10 CF

113

Voltage Meter 200VDC

u32

Voltage

Volts (V)

Data produced by the sensor is in u32 format. 2 Registers are needed to contain this value. Concatenate the Registers in order to reconstruct the full value. Formula: Divide by 100 for 2 decimal point resolution Range: 0 - 250 V Physical hardware limitations Data0 = Voltage1 Data1 = Voltage2 Data2 - Data7 = NA

Voltage = [Data0]+[Data1] Example Data0 = 0 ? Convert to hexidecimal ? 0x0000 Data1 = 19873 ? Convert to hexidecimal ? 0x4DA1 Concatenate: [0x0000]+[0x4DA1] = 0x00004DA1 ? Convert to decimal ? 19873 Apply Formula: 19873 / 100 = 198.73 Voltage = 198.73 V

114

Air Velocity

s16 s16

Velocity Temperature

Meters Per Second (M/S) Celsius ©

Formula: Divide by 10 for 1 decimal resolution. Example: 176 / 10 = 17.6 m/s, 271 / 10 = 27.1 C Range: 0 to 50 m/s, -40.0 C to 125.0 C NOTE: Velocity range will change based on altitude. 0M = 0-30 m/s, 5000M = 0-40 m/s, 8000M = 0-50 m/s Data0 = Velocity Data1 = Temperature Data2 - Data7 = NA

NA

116

C0 Meter

u16 u16 u16 u16

Temperature Instant C0 TWA C0 For Internal Use Only

Celsius © Parts Per Million (PPM) Parts Per Million (PPM) Integer

Formula: Divide by 10 for 1 decimal resolution. Formula: Divide by 10 for 1 decimal resolution. Formula: Divide by 10 for 1 decimal resolution. Example: 271 / 10 = 27.1 C Range: -40 to 125 C, 0 to 1000 PPM, 0 to 1000 PPM Data0 = Temperature Data1 = Instant C0 Data2 = TWA C0 Data3 = For Internal Use Only Data4 - Data 7 = NA

NA

119

Car Detect

u8 u16

Mode Indicator Car Count

Integer Integer

Identifies which mode the sensor is currently operating in. 0 = No Car Detected 1 = Car Detected (Trigger Modes), 2 = Count Mode Counts the numbers of cars detected within a user configured timeframe. Range: 0-2, 0-65535 Data0_H = CarCount_L(u8) Data0_L = Mode(u8) Data1 = CarCount_H(u8)

Mode = [Data0_L] Car Count = [Data1]+[Data0_H] Example Data0 = 11266 ? Convert to hexidecimal ? 0x2C02 Data1 = 1 ? Convert to hexidecimal ? 0x0001 Concatenate: [0x0001]+[0x2C02]= 0x00012C02 [Data1]+[Data0_H] = [0x00 01] [2C] or [0x012C] ? Convert to decimal ? 300 [Data0_L] = [0x02] ? Convert to Decimal ? 2 Mode = 2 Car Count = 300

120

Current Meter 500A

u64 u16 u16 u16

Accumulate Avg Current Max Current Min Current

Amp Hours (Ah) Amps (A) Amps (A) Amps (A)

Data produced by the sensor is in multiple formats. 4 Registers are required to store the u64 value. Concatenate the registers in order to reconstruct the full value. Apply formula after concatenation. Formula: Divide by 100 to get 2 decimal point resolution. Example: 1567 / 100 = 15.67 A/Ah Range: 0 A to 600 A Physical hardware limitations Data0 = Acc4 Data1 = Acc3 Data2 = Acc2 Data3 = Acc1 Data4 = AvgCurrent Data5 = MaxCurrent Data6 = MinCurrent Data7 = NA

Accumulate = [Data3]+[Data2]+[Data1]+[Data0] Example Data0 = 21847 Data1 = 520 Data2 = 0 Data3 = 0 Concatenate: [0]+[0]+[520]+[21847] Convert to hexidecimal [0x0000]+[0x0000]+[0x0208]+[0x5557] = 0x0000000002085557 Convert to decimal 0x0000000002085557 = 34,100,567 Apply Formula: 34,100,567 / 100 = 341,005.67 Accumulate = 341,005.67 Ah

122

Voltage Meter 500VAC

u16

Voltage

Volts (V)

Formula: Divide by 100 to get 2 decimal point resolution. Example: 15670 / 100 = 156.70 A Range: 0 A to 600 A Physical hardware limitations Data0 = Volts Data1 - Data7 = NA

NA

123

Voltage Detect 200VDC

u8

No Voltage Present / Voltage Present

Integer

Default Mode: 0 = No Voltage Present 1 = Voltage Present Data0 = No Voltage Present / Voltage Present Data1 - Data 7 = NA

NA

124

Propane

s16 u16

Gas Level Voltage

Percentage (%) Millivolts (mV)

How much gas is remaining in the tank. Hall Effect reading expresed as mV. Formula: Divide by 100 for 2 decimal resolution. Range: 0-100, 0-5000 Data0 = Gas Level Data1 = Voltage Data2 - Data7 = NA

NA

126

Accelerometer Max/Avg

u16 u16 u16 u16 u16 u16 u16 u16

X Max Y Max Z Max Max Magnitude X Avg Y Avg Z Avg Avg Magnitude

G-Force (G) G-Force (G) G-Force (G) G-Force (G) G-Force (G) G-Force (G) G-Force (G) G-Force (G)

Formula: Divide by 1000 for 3 decimal resolution. Example: 7856 / 1000 = 7.856 G Range: 0.000 to 8.000 G Data0 = X Max Data1 = Y Max Data2 = Z Max Data3 = Max Magnitude Data4 = X Avg Data5 = Y Avg Data6 = Z Avg Data7 = Avg Magnitude

NA

129

Three Phase 500A

u16 u8 u8 u8 u16 u8 u8 u8 u16 u8 u8 u8 u32

Phase1 AvgCurrent Phase1 MaxCurrent Phase1 MinCurrent Phase1 DutyCycle Phase2 AvgCurrent Phase2 MaxCurrent Phase2 MinCurrent Phase2 DutyCycle Phase3 AvgCurrent Phase3 MaxCurrent Phase3 MinCurrent Phase3 DutyCycle Accumulate

Amps (A) Amps (A) Amps (A) Percentage (%) Amps (A) Amps (A) Amps (A) Percentage (%) Amps (A) Amps (A) Amps (A) Percentage (%) Amp Hours (Ah)

*This sensor produces more data than what can be stored in the 8 available Registers. The data is produced in multiple formats. Omitted data will only be accessible through a different gateway type. Formula: u8 DutyCycle Data - No calculation required. u8 Data - Multiply by 3 for integer resolution. u16 Data - Divide by 100 to get 2 decimal point resolution. u32 Data - Divide by 10 for 1 decimal point resolution. Example: 1567 / 100 = 15.67 A, 120 * 3 = 360 A Range: 0 A to 600 A Physical hardware limitations for each phase Data0 = Phase1 AvgCurrent (u16) Data1_L = Phase1 MaxCurrent (u8) Data1_H = Phase1 MinCurrent (u8) Data2 _L= Phase1 DutyCycle (u8) Data2_H = Phase2 AvgCurrent_L (u8) Data3_L = Phase2 AvgCurrent_H (u8) Data3_H = Phase2 MaxCurrent (u8) Data4_L = Phase2 MinCurrent (u8) Data4_H = Phase2 DutyCycle (u8) Data5 = Phase3 AvgCurrent (u16) Data6_L = Phase3 MaxCurrent (u8) Data6_H = Phase3 MinCurrent (u8) Data7_L = Phase3 DutyCycle (u8) Data7_H = Accumulate1 (u8) Limited use case, up to 25.5 Ah

Phase2 AvgCurrent = [Data3_L]+[Data2_H] Example Data2 = 29560 ? Convert to hexidecimal ? 0x7378 Data3 = 12833 ? Convert to hexidecimal ? 0x3221 1st Concatenate: [0x3221]+[0x7378] = 0x32217378 ? BreakOut into bytes [0x32] [0x21] [0x73] [0x78] -------> [0x32] [0x21]+[0x73] [0x78] Data3 Data2 ReOrder Data3_L+Data2_H 2nd Concatenate: [0x32] [0x21]+[0x73] [0x78] = [0x32] [0x2173] [0x78] ? Convert to decimal [50] [8563] [120] Apply Formula: Phase1 Duty Cycle - 50% Phase2 AvgCurrent - 8563 / 100 = 85.63 A Phase2 MaxCurrent - 120 * 3 = 360 A

130

NA

131

Filtered Quad Temp

s16 s16 s16 s16

Temperature Temperature Temperature Temperature

Celsius © Celsius © Celsius © Celsius ©

Formula: Divide by 10 for 1 decimal resolution. Example: 271 / 10 = 27.1 C Range: -40.0 to 125.0 C Data0 = Temperature1 Data1 = Temperature2 Data2 = Temperature3 Data3 = Temperature4 Data4 - Data7 = NA

NA

132

Filtered Temperature

s16

Temperature

Celsius ©

Formula: Divide by 10 for 1 decimal resolution. Example: 271 / 10 = 27.1 C Range: -40.0 to 125.0 C Data0 = Temperature Data1 - Data7 = NA

NA



Was this article helpful?

Yes
No