For other MODBUS interpretation documentation, see following links.
Serial MODUBS 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 | Celcius © | 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 | Celcius © | 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 | Celcius © 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 | Celcius © | 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 | Celcius © 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 | Celcius © | 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 (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 (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 (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 | Celcius © | 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 | Celcius © | 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 | Celcius © Celcius © Celcius © Celcius © | 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 | Temerature Humidity State | Celcius © 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 Overried 0 = OFF / 1 = ON Bit6 - Unoccupied Overried 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) Celcius © | 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 accessable 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 DutyCylce (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 accessable through the FRR data or a different type of gateway. Vibration can be configured to measure in Acceleration, Velocity, or Displacement and this will determing 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) Celcius © | 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 | Celcius © 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 deicimal ? 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 accessable 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 DutyCylce (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 | Celcius © Celcius © Celcius © Celcius © | 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 | Celcius © | 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 |