Make/Model  Device Version Connection Type
DataNAB/Modbus Modules N/A Serial RS485

Description:

This driver controls the DataNAB Modbus Input/Output Modules and a Variety of sensors. See the Support Matrices below.

Quirks and Limitations:

Some features have not yet been implemented and are subject to change upon implementation. These features are noted by a *

Connection Details

The parameters are 19,200 baud, 8 bits, one stop bit, no parity. That's fairly quick for the amount of data, but it doesn't provide asynchronous notifications of changes, so the driver has to poll the points in sequence.

The installation of the driver also requires the user to create a configuration file (See Below).

The Driver is slow to connect upon initial connection to the modules so give it a minute before you feel that it has failed to connect.

Driver Fields

Fields are dynamically created based on the type of records in the configuration file, so there are only a few fields whose names are fixed, and these are presented in the first table below.

Name
Type
R/W
Description/Limits
DriverVersion
String
Read
Version of the current running driver
ReloadConfigFile
Boolean
Write
Reloads the configuration file
ResetSensors
Boolean
Write

Resets the Highs and Lows for sensors using the THERM and HUM record type

RecFieldName_Raw
Card
Read
Provides the raw value reported back from the module for the input or output. Values: 0 - 1024

DRY Record Fields:

Name
Type
R/W
Description/Limits
RecFieldName_Closed
Boolean
Read
Current status of connected dry contact. Values:True for closed, False for Open

TEMP Record Fields:

Name
Type
R/W
Description/Limits
RecFieldName_Current
Float
Read
Current Temperature reading in decimal value. Format is based on Configuration File setting. Values: -70.00 - 150.00
RecFieldName_Low
Float
Read
Lowest recorded temperature for the day. Resets at midnight. Format is based on Configuration File setting. Values: -70.00 - 150.00
RecFieldName_High
Float
Read
Highest recorded temperature for the day. Resets at midnight. Format is based on Configuration File setting. Values: -70.00 - 150.00

* HUM Record Fields:

Name
Type
R/W
Description/Limits
RecFieldName_Current
Float
Read
Current Humidity reading in decimal value. Format is in Percent. Values: 0.00 - 100.00
RecFieldName_Low
Float
Read
Lowest recorded Humidity for the day. Resets at midnight. Format is in Percent. Values: 0.00 - 100.00
RecFieldName_High
Float
Read
Highest recorded Humidity for the day. Resets at midnight. Format is in Percent. Values: 0 - 100.00

AMP Record Fields:

Name
Type
R/W
Description/Limits
RecFieldName_Amps
Float
Read
Current Value in Amps. Values are dependent on setting used in configuration file and sensor. 10 = 0.00 - 10.00, 20 = 0.00 - 20.00, 50 = 0.00 - 50.00
RecFieldName_IsRunning
Boolean
Read
If a there is a Amp flow currently running.
RecFieldName_LastRunDuration
Time
Read
The duration of time Ampage flowed through the sensor.
RecFieldName_LastRunPeakAmps
Float
Read
The highest recorded Amp flow the last time it ran.
RecFieldName_LastRunTime
Time
Read
The Last Time it started running.

MAMP Record Fields:

Name
Type
R/W
Description/Limits
RecFieldName_MAmps
Float
Read
Current Value in Milliamps. Values: 0.00 - 20.00
RecFieldName_IsRunning
Boolean
Read
If a there is a Milliamp flow currently running.
RecFieldName_LastRunDuration
Time
Read
The duration of time Milliampage flowed through the sensor.
RecFieldName_LastRunPeakMAmps
Float
Read
The highest recorded Milliamp flow the last time it ran.
RecFieldName_LastRunTime
Time
Read
The Last Time it started running.

VOLT Record Fields:

Name
Type
R/W
Description/Limits
RecFieldName_Volts
Float
Read
Current Value in Volts. Values: 0.00 - 5.00
RecFieldName_IsRunning
Boolean
Read
If a there is a Voltage flow currently running.
RecFieldName_LastRunDuration
Time
Read
The duration of time Voltage flowed through the sensor.
RecFieldName_LastRunPeakVolts
Float
Read
The highest recorded Voltage flow the last time it ran.
RecFieldName_LastRunTime
Time
Read
The Last Time it started running.

PULSE Record Fields:

Name
Type
R/W
Description/Limits
RecFieldName_Counts
Card
Read
Current Value of Pulse Counter
RecFieldName_Reset
Boolean
Write
Resets the Pulse Counter. Resets at midnight.

RELAY Record Fields:

Name
Type
R/W
Description/Limits
RecFieldName_Closed
Boolean
Read/Write
Current status of Relay. Values:True for closed, False for Open

OUTPUT Record Fields:

Name

Type

R/W

Description/Limits

RecFieldName_Volts
Float
Read/Write
Current Voltage setting on output in decimal format. Values are 0.00 - 10.00
RecFieldName_VoltsInt
Card
Read/Write
Integer value of the output (Left of the decimal). Values are 0 - 10
RecFieldName_VoltsDec
Card
Read/Write
Decimal value of the output (Right of the decimal). Values are 0 - 99

Input/Output Support Matrix:

Sensor Type
Ai32
AiO8
Ai8-R13
Dry Contacts
X
X
X
Temperature (See Below for models)
X
X
X
* Humidity (See Below for models)
X
X
X
Current Transducers: 10, 20 and 50 Amps
X
X
X
Milliamps: 20mA
X
X
X
Voltage: 5v
X
X
X
Pulse Counters
 
 
X
Relays
 
 
X
Outputs: 0-10 volts
 
X
 

Temperature Sensor Support Matrix:

Sensor Make/Model
Curve Code
DataNAB/ALL Thermistors Series
C10K7

* Humidity Sensor Support Matrix:

Sensor Make/Model
Code
DataNAB/ALL MBus Series using analog outputs
C1000

Current Transducer Sensor Support Matrix:

Sensor Make/Model
Settings
DataNAB/CT_AC1PH_SLD_5V
10, 20 or 50 Amps

Configuration File Description:

The Configuration file is in CSV format and must be named “Config.csv”. For the DataNAB Driver to find the configuration file it must be located in the CQC installation directory under CQCData\MacroFileRoot\Drivers\DataNAB\MonikerName where MonikerName is the Moniker name you set during installation in CQC.

Each line starts with the type of record it is. These are:

• BOF
• DRY
• TEMP
• HUM *
• AMP
• MAMP
• VOLT
• PULSE
• RELAY
• OUTPUT
• EOF

Below are the contents of each row record with a comma separated field. The records can be in any order except the BOF which must be the first record and EOF which must be the last record. To disable a record from loading in the driver just start the Type field with a '#' e.g. #DRY. There is also a GUI based editor that is included with the DataNAB Module Configurator provided by Kanak Solutions. To enable this use the feature code of 'CQC'.

BOF - This record must be the first record.
Format: BOF, <Config Version>, <Display Raw>, <Measurement Scale>
• <Config Version> = Version of the Configuration File. See above for current Version.
• <Display Raw> = Defines if the field with the raw data stays hidden or not. This is useful with troubleshooting the sensors displayed value. Value is 0 for hidden and 1 for not hidden.
• <Measurement Format> = Defines if Measurements are displayed in English (“E”) or Metric (“M”).
 

DRY – This record defines any Sensors that are a Dry Contact Sensor.
Format: DRY, <Model>, <Slave Address>, <Point Number>, <Field Name>
• <Model> = Model of the Module the sensor is connected to. . Values are Ai32, AiO8 and Ai8-R13
• <Slave Address> = The slave address the Module is configured as. Any Value between 1 - 254
• <Point Number> = The Input terminal the sensor is attached to on the Module, Value depends on Module Model. Ai32 = 1 – 32, AiO8 = 1 – 8, Ai8-R13 = 1 - 8
• <Field Name> = Name of the field in CQC.

TEMP – This record defines any Sensors that are capable of handling Temperature.
Format: TEMP, <Module Model>, <Slave Address>, <Point Number>, <Field Name>, <Sensor Model> , <Curve Code>, <Offset>
• <Module Model> = Model of the Module the sensor is connected to. Values are Ai32, AiO8 and Ai8-R13
• <Slave Address> = The slave address the Module is configured as. Any Value between 1 – 254
• <Point Number> = The Input terminal the sensor is attached to on the Module, Value depends on Module Model. Ai32 = 1 – 32, AiO8 = 1 – 8, Ai8-R13 = 1 - 8
• <Field Name> = Name of the field in CQC.
• <Sensor Model> = Model of the sensor connected to the Module. This is not a required Field for the Driver but used for the GUI Based Config Editor. This field can have a space as a value
• <Curve Code> = The Code for the Curve the Sensor uses. See Driver document for a cross-reference list of Sensors to Codes.
• <Offset> = Offset in degrees for Temperature Sensors Calibration.This value needs to be entered as degree * 10, for example, a offset of 1 degree is entered as 10. Default value should be 0

* HUM – This record defines any Sensors that are capable of handling Humidity.
Format: HUM, <Module Model>, <Slave Address>, <Point Number>, <Field Name>, <Sensor Model>
• <Module Model> = Model of the Module the sensor is connected to. Values are Ai32, AiO8 and Ai8-R13
• <Slave Address> = The slave address the Module is configured as. Any Value between 1 – 254
• <Point Number> = The Input terminal the sensor is attached to on the Module, Value depends on Module Model. Ai32 = 1 – 32, AiO8 = 1 – 8, Ai8-R13 = 1 - 8
• <Field Name> = Name of the field in CQC.
• <Sensor Model> = Model of the sensor connected to the Module. This is not a required Field for the Driver but used for the GUI Based Config Editor. This field can have a space as a value
 

AMP – This record defines any Sensors that are capable of handling Current Transducers.
Format: AMP, <Module Model>, <Slave Address>, <Point Number>, <Field Name>, <Sensor Model> , <Setting>
• <Module Model> = Model of the Module the sensor is connected to. Values are Ai32, AiO8 and Ai8-R13
• <Slave Address> = The slave address the Module is configured as. Any Value between 1 – 254
• <Point Number> = The Input terminal the sensor is attached to on the Module, Value depends on Module Model. Ai32 = 1 – 32, AiO8 = 1 – 8, Ai8-R13 = 1 - 8
• <Field Name> = Name of the field in CQC.
• <Sensor Model> = Model of the sensor connected to the Module. This is not a required Field for the Driver but used for the GUI Based Config Editor. This field can have a space as a value
• <Setting> = Amp setting of the sensor connected to the Module. Current Values are 10, 20 or 50
• <Loops> = Number of times the Current wire is looped through the center of the sensor.

MAMP – This record defines any Input set to Milliamp on the Module.
Format: MAMP, <Module Model>, <Slave Address>, <Point Number>, <Field Name>
• <Module Model> = Model of the Module the sensor is connected to. Values are Ai32, AiO8 and Ai8-R13
• <Slave Address> = The slave address the Module is configured as. Any Value between 1 – 254
• <Point Number> = The Input terminal the sensor is attached to on the Module, Value depends on Module Model. Ai32 = 1 – 32, AiO8 = 1 – 8, Ai8-R13 = 1 - 8
• <Field Name> = Name of the field in CQC.
 

VOLT – This record defines any Input set to Voltage on the Module.
Format: VOLT, <Module Model>, <Slave Address>, <Point Number>, <Field Name>
• <Module Model> = Model of the Module the sensor is connected to. Values are Ai32, AiO8 and Ai8-R13
• <Slave Address> = The slave address the Module is configured as. Any Value between 1 – 254
• <Point Number> = The Input terminal the sensor is attached to on the Module, Value depends on Module Model. Ai32 = 1 – 32, AiO8 = 1 – 8, Ai8-R13 = 1 - 8
• <Field Name> = Name of the field in CQC.
 

PULSE – This record defines the Input on a Module as a Pulse Counter.
Format: PULSE, <Module Model>, <Slave Address>, <Point Number>, <Field Name>
• <Module Model> = Model of the Module the sensor is connected to. Value is Ai8-R13
• <Slave Address> = The slave address the Module is configured as. Any Value between 1 – 254
• <Point Number> = The Input terminal the sensor is attached to on the Module, Value depends on Module Model. Ai8-R13 = 1 - 8
• <Field Name> = Name of the field in CQC.
 

RELAY – This record defines the Relay points on a AIO8 or Outputs on a AI8-R13 Module used in Toggle Mode.
Format: RELAY, <Model>, <Slave Address>, <Point Number>, <Field Name>
• <Model> = Model of the Module the Relay is on. Values are AiO8 or Ai8-R13
• <Slave Address> = The slave address the Module is configured as. Any Value between 1 – 254
• <Point Number> = The point the device is attached to on the Module, Value depends on Module AiO8 = 1 – 8, Ai8-R13 = 1 - 13
• <Field Name> = Name of the field in CQC.

OUTPUT – This record defines the 0 – 10 volt Output points on a AIO8 Module.
Format: OUTPUT, <Model>, <Slave Address>, <Point Number>, <Field Name >
• <Model> = Model of the Module the Output is on. This will always be set to AiO8
• <Slave Address> = The slave address the Module is configured as. Any Value between 1 - 254
• <Point Number> = The point the device is attached to on the Module. Value = 1 - 8
• <Field Name> = Name of the field in CQC.

EOF – This must be the last line in the file and has no other user defined values in the record.
Format: EOF

NOTE: All Field names and must only use the following characters: A-Z, a-z, 0-9, - or _


Configuration File Sample

BOF,0.3,0,E
DRY,Ai32,1,1,DRY_GarageDoor
TEMP, Ai32,1, 2,TEMP_Outside,10K_OAT,C10K7, 0
DRY, Ai32,1,3,GarageWindowContact
DRY, Ai32,1,6,DRY_FrontDoor
TEMP, Ai32,1, 4,HallwayTemperature,10K_RT_FLSH,C10K7, 0
TEMP, Ai32,1, 5,TEMP_Attic,10K_SSP_Mini,C10K7,0
AMP,AiO8,2,8,SumpPump_Basement,CT_AC1PH_SLD_5V,10,1
EOF