
The information in this document is subject to change without prior notice in order to improve reliability, design and function and does not represent a commitment on the part of the manufacturer.
In no event will the manufacturer be liable for direct, indirect, special, incidental, or consequential damages arising out of the use or inability to use the product or documentation, even if advised of the possibility of such damages.
This document contains proprietary information protected by copyright. All rights are reserved. No part of this manual may be reproduced by any mechanical, electronic, or other means in any form without prior written permission of the manufacturer.
NuDAM is registered trademarks of ADLink Technology Inc.,
Other product names mentioned herein are used for identification purposes only and may be trademarks and/or registered trademarks of
their respective companies.
Contents
The NuDAM provides a series of analog input modules which can sense the analog signal or to control the remote devices. The basic features of each module are shown here.
What is NuDAM-6011 ?
NuDAM-6011 is a multi-functions analog input module with cold junction compensation (CJC). The maximum input voltage range of analog input channel is ±2.5V. The high gain feature allows very small full range of ±15mV. To measure temperature by directly connect the thermal couple is possible because of using the CJC inside and the high gain feature. The voltage range of the ADC can be set according to different types of thermal couple. The ADC can be calibrated by programming without handy adjustment. This feature insurance the best performance under different environment.
The module provides the analog signal monitor or the alarm function. The high and low bound of the alarm limit can be set by programming. The alaram status can be send to digital output channels if this function is ON. The supervisor of a factory can `see' or `hear' the alarm if the digital output channel control a real alarm device. The two digital output channel can be set for general purpose used if the alarm is disable. For example, connecting relay devices to DO channels, the NuDAM-6011 can be used to control the high power devices.
The module provides another one digital input channel. This can be used for general purpose such as monitor digital signal, or be used as input of the event counter.
Features of NuDAM-6011
Specifications of NuDAM-6011
Pin Definitions of ND-6011
| Pin # | Signal Name | Description |
| 1 | IN+ | Analog Input Positive Terminal |
| 2 | IN- | Analog Input Negative Terminal |
| 3 | DO 1/ HI | Digital Output Channel 1 or High alarm status output |
| 4 | DI 0 / EV | Digital Input Channel 0 or event counter input |
| 5 | DO 0 / LO | Digital Output Channel 0 or Low alarm output |
| 6 | DEFAULT* | Initial state setting |
| 7 | (Y) DATA+ | RS-485 series signal, positive |
| 8 | (G) DATA- | RS-485 series signal, negative |
| 9 | (R) +Vs | Power supply, +10V~+30V |
| 10 | (B) GND | Ground |
| 11 | TC(+) | Thermocouple lnput Terminal |
| 12 | TC(-) | Thermocouple Input Terminal |
A Look at ND-6011 & Pin Assignment
Functional Block Diagram of ND-6011
What is NuDAM-6012 ?
NuDAM-6012 is a multi-functions analog input module. The programmable input voltage range of analog input channel is from ±10V maximum to ±150mV minimum.
The module also provides the alarm function and the event counter just like NuDAM-6011. In fact, the NuDAM-6012 provides almost all fuctions that NuDAM-6011 have except the CJC and temperature measurement function.
Features of NuDAM-6012
Specifications of NuDAM-6012
Pin Definitions of ND-6012
| Pin # | Signal Name | Description |
| 1 | IN+ | Analog Input Positive Terminal |
| 2 | IN- | Analog Input Negative Terminal |
| 3 | DO 1/ HI | Digital Output Channel 1 or High alarm status output |
| 4 | DI 0 / EV | Digital Input Channel 0 or event counter input |
| 5 | DO 0 / LO | Digital Output Channel 0 or Low alarm output |
| 6 | DEFAULT* | Initial state setting |
| 7 | (Y) DATA+ | RS-485 series signal, positive |
| 8 | (G) DATA- | RS-485 series signal, negative |
| 9 | (R) +Vs | Power supply, +10V~+30V |
| 10 | (B) GND | Ground |
A Look at ND-6012 & Pin Assignment
Functional Block Diagram of ND-6012
2. Initialization & Installation
INSTALL drive:
drive name is C to Z.
Example 1 : install to drive C:
A:\> INSTALL C:
Example 2 : install to drive F:
A:\> INSTALL F:
Objective of Initializing a Brand-New NuDAM
All NuDAM modules, except NuDAM-6520 and NuDAM-6510, in a RS-485 network must have an
unique address ID. Every brand-new NuDAM has a factory default setting as following:
Therefore, to configure the brand-new NuDAM before using is necessary to avoid conflicting address. The baud rate may also be changed according to user`s requirements.
The initialization procedures of a brand-new NuDAM are shown in the following sections. The procedures are applicable for initializing NuDAM-6011 and NuDAM-6012.
Default State
The NuDAM modules must be set at Default
State when you want to change the default settings, including the ID address, baud
rate, check-sum status etc. All NuDAM modules have an special pin labeled as
DEFAULT*. The module will be in Default State
if the DEFAULT* pin is shorted to ground when power ON. Under this state, the default configuration
is set as following:
Therefore, the configuration of the host and the module can be easily set identically and initializing a module will be possible no matter what configuration is set under operating state.
Initialization Equipments
Initialization Procedure
Initialization Wiring

Figure 2-1 Layout for Initialization the NuDAM module
2. 3. Install a New NuDAM to a Existing Network
Equipments for Install a New Module
Installing Procedures
Differential Voltage Input
Current Measurement
Digital Input Connect with TTL Signal
Digital Input Used as an Event Counter
Digital Output Connect with Power Loading
Introduction
The NuDAM command is composed by numbers of characteristics, including the leading code, address ID, the variables,
the optional check-sum bytes, and a carriage return to indicate the end of a command. The host computer can only command only
one NuDAM module except those syncronized commands with wildcard address
"**". The NuDAM may or may not give response to
the command. The host should check the response to handshake with the modules.
Document Conventions
The following syntax conventions describes the NuDAM commands in this manual.
| (Leading Code) | Leading Code is the first characteristic of the NuDAM command. All NuDAM commands need a
command leading code, such as %,$,#,@,...etc. 1- character |
| (Addr) | Module's address ID, the value is in the range of 00 - FF (Hex). 2- character |
| (Command Variable) | Command codes or value of variables. Variable length |
| [Data] | Some commands need additional data. Variable length |
| [Checksum] | Checksum in brackets indicate optional parameter,
only checksum is enable then this field is required. 2- character |
| < > | Identifies a control code character, such as <CR> for carriage return, its value is 0x0D. 1- character |
Format of NuDAM Commands
(Leading Code)(Addr)(Command)[Data][Checksum]<CR>
When checksum is enable then [Checksum] is needed, it is 2-character. Both command and response must append the checksum characters.
How to calculate checksum value ?
[Checksum] = ((LeadingCode)+(Addr)+(Command)+[Data]) MOD 0x100
Example 1: checksum is disable
User Command : $012<CR>
Response : !01400600<CR>
$ : LeadingCode
01 : Address
2 : Command (Read Configuration)
<CR> : Carriage return 0x0D
Example 2: checksum is enable
User Command : $012B7<CR>
Response : !01400600AC<CR>
$ : LeadingCode
01 : Address
2 : Command (Read Configuration)
B7 : Checksum value
<CR> : Carriage return 0x0D
`$' = 0x24 `0' = 0x30 `1' = 0x31 `2' = 0x32
B7 = ( 0x24 + 0x30 + 0x31 + 0x32 ) MOD 0x100
`!' = 0x24 `0' = 0x30 `1' = 0x31 `4' = 0x34 `6' = 0x36
AC = ( 0x24 + 0x30 + 0x31 + 0x34 + 0x30 + 0x30 + 0x36 + 0x30 + 0x30 ) MOD 0x100
Note : 1. There is no spacing between the command words and the checksum characters.
2. Every command follows a <CR> carriage return for ending.
3. The checksum characters are optional.
Response of NuDAM Commands
The response message depends on verstile NuDAM command. The response is composed with a few characteristics,
including leading code, variables, and carriage return for ending. There are two categories of leading code for response message,
"!" or ">" means valid command and
"?" means invalid. By checking the response message, user can monitor the command is valid or not.
Note : Under the following conditions, there will have no response message.
1. The specified address ID is not exist.
2. Syntax error.
3. Communication error.
4. Some special commands does not have response.
3. 2. Summary of Command Set
There are three categories of NuDAM commands. The first is the general commands, including set configuration command, read configuration, reset, read module`s name or firmware version, etc. Every NuDAM can response to the general commands. The second is the functional commands, which depends on functions of each module. Not every module can execute all function commands. The third is the special commands including functions about the programmable watchdog timer, safe values, and the programmable leading code. All the commands used in the NuDAM analog input module are list in the following table.
| Command Set of Analog Input Modules | ||
| Command | Syntax | Modules |
| General Commands | ||
| Set Configuration | %(OldAddr)(NewAddr) (InputRange)(BaudRate) (DataFormat) |
ALL1 |
| Read Configuration | $(Addr)2 | ALL |
| Read Module Name | $(Addr)M | ALL |
| Read Firmware Version | $(Addr)F | ALL |
| Functional Commands | ||
| Synchronized Sampling | #** | 6011,6012 |
| Read Synchronized Analog Data | $(Addr)4 | 6011,6012 |
| Read Analog Data | #(Addr) | 6011,6012 |
| Span Calibration | $(Addr)0 | ALL |
| Offset Calibration | $(Addr)1 | ALL |
| Read CJC Status | $(Addr)3 | 6011 |
| CJC Offset Calibration | $(Addr)9(Counts) | 6011 |
| Clear Latch Alarm | @(Addr)CA | 6011, 6012 |
| Clear Event Counter | @(Addr)CE6 | 011, 6012 |
| Disable Alarm | @(Addr)DA | 6011, 6012 |
| Read Digital I/O and Alarm Status | @(Addr)DI | 6011, 6012 |
| Set Digital Output | @(Addr)DO(OutData) | 6011, 6012 |
| Enable Alarm | @(Addr)EA(Mode) | 6011, 6012 |
| Set High Alarm | @(Addr)HI(Data) | 6011, 6012 |
| Set Low Alarm | @(Addr)LO(Data) | 6011, 6012 |
| Read Event Counter | @(Addr)RE | 6011, 6012 |
| Read High Alarm | @(Addr)RH | 6011, 6012 |
| Read Low Alarm | @(Addr)RL | 6011, 6012 |
| Special Commands | ||
| Read Command Leading Code Setting | ~(Addr)0 | ALL |
| Change Command Leading Code Setting | ~(Addr)10(C1)(C2)(C3) (C4)(C5)(C6) |
ALL |
| Set Host Watchdog / Safety Value | ~(Addr)2(Flag)(TimeOut) (SafeValue) | ALL |
| Read Host WatchDog / Safe Value | ~(Addr)3 | ALL |
| Host is OK | ~** | ALL |
@Description
Configure the basic setting of NuDAM, including the address ID, input range, baud rate, and data format. The new
configuration will be available after executing the command.
@Syntax
%(OldAddr)(NewAddr)(InputRange)(BaudRate)(DataFormat)<CR>
% Command leading code. (1-character)
(OldAddr) NuDAM module original address ID. The default address ID of a brand new module is 01. The value range of address ID is 00 to FF in hexadecimal. (2-character)
(NewAddr) New address ID, if you don't want to change address ID, let new address ID equals to the old one. (2-character)
(InputRange) Define analog input range, refers to Table 3-1 for details. (2-character)
(BaudRate) Define communication baud rate, refers to Table 3-2 for details. (2-character)
(DataFormat) Define checksum, integration time and output data format, refers to Figure 3-1 for details. (2-character)
@Response
!(Addr)<CR>
or
?(Addr)<CR>
(Addr) Address ID.
! Command is valid.
? Command is invalid, parameter values are invalid,
or change the setting without grounding the DEFAULT* pin.
Note : 1. When you want to change the checksum or baud rate, the DEFAULT* pin must be grounded at first.
2. Waiting a maximum of 7 seconds to perform auto calibration and ranging after the analog input module is reconfigured. Please don't execute any other command during this time period.
@Example
User command: %0130050600<CR>
Response: !30<CR>
| Item | Meaning | Description |
| % | (Leading Code) | Command leading code. |
| 01 | (OldAddr) | Original address ID is 01(Hex). |
| 30 | (NewAddr) | New address ID is 30(Hex). |
| 05 | (InputRange) | Analog input range is ±2.5V |
| 06 | (BaudRate) | Baud rate is 9600. |
| 00 | (DataFormat) | 00 means data format is engineering units, checksum is disable and integration time is 50 ms (60Hz). |
| <CR> | Carriage return | 0x0D. |
| Code (Hex) | Input Range | Modules |
| 00 | ±15 mV | 6011 |
| 01 | ±50 mV | 6011 |
| 02 | ±100 mV | 6011 |
| 03 | ±500 mV | 6011 |
| 04 | ±1 V | 6011 |
| 05 | ±2.5 V | 6011 |
| 06 | ±20 mA (Required 125W current conversion resistor.) |
6011 |
| 08 | ±10 V | 6012 |
| 09 | ±5 V | 6012 |
| 0A | ±1 V | 6012 |
| 0B | ±500 mV | 6012 |
| 0C | ±150 mV | 6012 |
| 0D | ±20 mA (Required 125W current conversion resistor.) |
6012 |
| 0E | Type J Thermocouple 0° to 760°C | 6011 |
| 0F | Type K Thermocouple 0° to 1000°C | 6011 |
| 10 | Type T Thermocouple -100° to 400°C | 6011 |
| 11 | Type E Thermocouple 0° to 1000°C | 6011 |
| 12 | Type R Thermocouple 500° to 1750°C | 6011 |
| 13 | Type S Thermocouple 500° to 1750°C | 6011 |
| 14 | Type B Thermocouple 500° to 1800°C | 6011 |
| 15 | Type N Thermocouple -270° to 1300°C | 6011 |
| 16 | Type C Thermocouple 0° to 2320°C | 6011 |
Table 3. -1 AD Input Range Setting
| Code | Baudrate |
| 03 | 1200 bps |
| 04 | 2400 bps |
| 05 | 4800 bps |
| 06 | 9600 bps |
| 07 | 19200 bps |
| 08 | 38400 bps |
Table 3-2 Baud rate setting code
Figure 3-1 Data Format Setting of Analog Input Modules
3. 4. Read Configuration
@Description
Read the configuration of module on a specified address ID.
@Syntax
$(Addr)2<CR>
$ Command leading code
(Addr) Address ID.
2 Command code for reading configuration
@Response
!(Addr)(InputRange)(BaudRate)(DataFormat)<CR>
or
?(Addr)<CR>
! Command is valid.
? Command is invalid.
(Addr) Address ID.
(InputRange) Current setting of analog voltage input, refers to Table 3-1 for details.
(BaudRate) Current setting of communication baud rate, refers to Table 3-2 for details.
(DataFormat) Current settings of checksum, integration time and output data format,
refers to Figure 3-1 for details.
@Example
User command: $302<CR>
Response: !30050600<CR>
! Command is valid.
30 Address ID.
05 Analog input range is ±2.5 V, NuDAM-6011
06 Baud rate is 9600 bps.
00 checksum is disable.
@Description
Read module name of NuDAM at specified address.
@Syntax
$(Addr)M<CR>
$ Command leading code.
(Addr) Address ID
M Read module name
@Response
!(Addr)(ModuleName) <CR>
or
?(Addr)<CR>
! Command is valid.
? Command is invalid.
(Addr) Address ID.
(ModuleName) NuDAM module`s name could be '6011`, '6012`.
4 characters
@Example
User command: $30M<CR>
Response: !306011<CR>
! Command is valid.
30 Address
6011 ND-6011 (Analog Input Module)
@Description
Read firmware version of NuDAM at specified address.
@Syntax
$(Addr)F<CR>
$ Command leading code.
(Addr) Address ID
F Read module firmware version.
@Response
!(Addr)(FirmRev) <CR>
or
?(Addr)<CR>
! Command is valid.
? Command is invalid.
(Addr) Address ID.
(FirmRev) NuDAM module`s firmware version.
@Example
User command: $30F<CR>
Response: !30A2.10<CR>
! Command is valid.
30 Address
A2.10 Firmware Version
@Description
Synchronized all modules to sample analog input values and stored the values in the module's register at the same time. The sampled data can be read by "Read Synchronized Data" command. This command is only available on NuDAM-6011 and NuDAM-6012.
@Syntax #**<CR>
# Command leading code.
** Synchronized sampling command
@Response
Note : Synchronized sampling command has NO response.
@Example
User command: #**<CR>
3. 8. Read Synchronized Data
@Description
After a synchronized sampling command #** was issued, you can read the sampled value that was stored in the register of the module at specified address.
@Syntax
$(Addr)4<CR>
$ Command leading code.
(Addr) Address ID
4 Read synchronized data.
@Response
>(Addr)(Status)(Data)<CR>
or
?(Addr)<CR>
> Command is valid.
? Command is invalid or no synchronized sampling command was issued.
(Addr) Address ID.
(Status) 0 : Data has been sent at least once before.
1 : Data has been sent for the first time since a synchronized sampling
command was issued. (1-character)
(Data) There are four types of Data format, refers to Chapter 4 for details.
@Examples
User command: $064<CR>
Response: >060+1.6888<CR>
Read synchronized data at address 06H, analog input module send its analog input data +1.6888 (units). Status is 0 means it has sent the same data at least once. The current units is set by the data format.
User command: $064<CR>
Response: >061+1.6888<CR>
Read synchronized data at address 06H, analog input module send its analog input data +1.6888 (units). Status is 1 means it is
the first time that the data has been sent. The current units is set by the data format
3. 9. Read Analog Data
@Description
Read the analog input value from an analog input module at spicified address in a NuDAM network. This command is only available for ND-6011 & 6012.
@Syntax
#(Addr)<CR>
# Command leading code
(Addr) Address ID
@Response
>(InputData)<CR>
> Delimiter character
(InputData) The input data represents the analog signal.
The unit of the digits depends on the data format used. There
are four types of data format. The format is set by the set
configuration command.
@Example
User command: #06<CR>
Response: >+1.6888<CR>
Read the analog input module data at address 06 (Hex). The analog input module response data is +1.6888 units. The
unit depends on the data format.
3. 10. Span Calibration
@Description
To correct the gain errors of AD converter by using the span calibration.
@Syntax
$(Addr)0<CR>
$ Command leading code (1 character)
(Addr) Address ID (2 character)
0 Span calibration (1 character)
@Response
!(Addr)<CR>
or
?(Addr)<CR>
! Command is valid.
? Command is invalid.
(Addr) Address ID.
@Example
User command: $060<CR>
Response: !06<CR>
To perform the span calibration for analog input module, address ID is 06H.
Note : To perform the calibration, a proper input signal should be connected to the analog input module. Different input range
have different input voltage, detail refer chapter 5
"Calibration" .
3. 11. Offset Calibration
@Description
To correct the offset errors of AD converter by using the offset calibration.
@Syntax
$(Addr)1<CR>
$ Command leading code
(Addr) Address ID
1 Offset calibration.
@Response
!(Addr)<CR>
or
?(Addr)<CR>
! Command is valid.
? Command is invalid.
(Addr) Address ID.
@Example
User command: $061<CR>
Response: !06<CR>
To perform the offset calibration for analog input module at specified address 06 (Hex).
Note : To perform the calibration, a proper input signal should be connected to the analog input module. Different input range
have different input voltage, detail refer chapter 5
"Calibration" .
3. 12. Read Analog Data From Channel N
@Description
Read the analog input value of a spicified AD achannel from an analog input module at specified address in a NuDAM network. This command is only available for ND-6017 which is a multi-chnnels AD module.
@Syntax
#(Addr)(ChannelNo)<CR>
# Command leading code. (1-character)
(Addr) Address ID. (2-character)
(ChannelNo)Channel number, range(0 - 7). (1-character)
@Response
>(InputData)<CR>
> Delimiter character
(InputData) Input value from a specified channel number,
the data format is a + or - sign with five decimal
digits and a fixed decimal point.
@Example
User command: #061<CR>
Response: >+1.6888<CR>
Read the analog input channel 1 of AD module at address 06 (Hexadecimal) in the network. The analog input data is +1.6888
Volts (Data format is engineering unit)
3. 13. Enable/Disable channels for Multiplexing
@Description
Enable/Disable multiplexing simultaneously for individual channel. This command is only available for ND-6017.
@Syntax
$(Addr)5(ChannelVal)<CR>
$ Command leading code. (1-character)
(Addr) Address ID (2-character)
5 Enable/Disable channel. (1-character)
(ChannelVal) bit 3~0 of 1st character: control channel 7 - 4.
bit 3~0 of 2nd character: control channel 3 - 0.
bit value 0 : Disable channel
bit value 1 : Enable channel (2-character)
@Response
!(Addr)<CR>
or
?(Addr)<CR>
! Command is valid.
? Command is invalid.
(Addr) Address ID.
@Example
User command: $06548<CR>
Response: !06<CR>
$ Command leading code.
06 Address ID.
5 Disable/Enable channel.
48 Channel Value is 0x48.
`4' is 0100 that means enable channel 6 and disable channel 7, 5, 4.
`8' is 1000 that means enable channel 3 and disable channel 2, 1, 0.
@Description
Read the enable/disable status of the 8 channels of ND-6017. This command is only available for ND-6017.
@Syntax
$(Addr)6<CR>
$ Command leading code. (1-character)
(Addr) Address ID (2-character)
6 Read channel status. (1-character)
@Response
!(Addr)(ChannelVal)<CR>
or
?(Addr)<CR>
! Command is valid.
? Command is invalid.
(Addr) Address ID.
(ChannelVal)bit 3~0 of 1st character: controlt channel 7 - 4.
bit 3~0 of 2nd character: control channel 3 - 0.
bit value 0 : Disable channel
bit value 1 : Enable channel (2-character)
@Example
User command: $066<CR>
Response: !0648<CR>
4 is equals binary 0100 that means enable channel 6 and disable channel 7, 5, 4.
8 is equals binary 1000 that means enable channel 3 and disable channel 2, 1, 0.
@Description
Read the CJC (Cold Junction Compensation) sensors data. This command is only available for ND-6011.
@Syntax
$(Addr)3<CR>
$ Command leading code.
(Addr) Address ID
3 Read CJC status.
@Response
>(Data)<CR>
or
?(Addr)<CR>
> Command is valid.
(Data) CJC sensor's data.
Data format is engineering units. (an + or - sign
with five decimal digits and a decimal fixed point.
The resolution is 0.1°C
? Command is invalid.
(Addr) Address ID.
@Example
User command: $063<CR>
Response: >+0037.9<CR>
This command is to read analog input module CJC status at address 06H, return data is 37.9°C.
@Description
To correct the CJC offset errors use CJC (Cold Junction Compensation) offset calibration. This command is only available for ND-6011.
@Syntax
$(Addr)9(Counts)<CR>
$ Command leading code.
(Addr) Address ID
9 CJC offset calibration.
(Counts) It is a 4-characters (Hexadecimal) with a sign +
or -, range is 0000 to FFFF, each count equals
approximately 0.0153°C.
Example : +0042 = 4x16 + 2 = 66
66 * 0.0153°C = 1.009°C
@Response
!(Addr)<CR>
or
?(Addr)<CR>
! Command is valid.
? Command is invalid.
(Addr) Address ID.
@Example
User command: $089+0042<CR>
Response: !08<CR>
CJC offset calibration at address 08H. The calibrated offset temperature is +0042(Hex) = 66, 66 x
0.0153°C = 1.009°C
@Description
Clear the High/Low alarm state at specified analog input module. This command is only available for ND-6011 & ND-6012.
@Syntax
@(Addr)CA<CR>
@ Command leading code.
(Addr) Address ID
CA Clear latched alarm.
@Response
!(Addr)<CR>
! Command is valid.
(Addr) Address ID.
@Example
User command: @06CA<CR>
Response: !06<CR>
Clear the both High/Low latch alarm state at address 06H.
@Description
Reset the event counter to zero at specified analog input module. This command is only available for ND-6011 & ND-6012.
@Syntax
@(Addr)CE<CR>
@ Command leading code.
(Addr) Address ID
CE Clear event counter.
@Response
!(Addr)<CR>
! Command is valid.
(Addr) Address ID.
@Example
User command: @06CE<CR>
Response: !06<CR>
Set the event counter to zero at address 06H, response data means its event counter has been reset.
@Description
Disable High/Low alarm functions at specified analog input module. This command is only available for ND-6011 & ND-6012.
@Syntax
@(Addr)DA<CR>
@ Command leading code.
(Addr) Address ID
DA Disable Alarm.
@Response
!(Addr)<CR>
! Command is valid.
(Addr) Address ID.
@Example
User command: @06DA<CR>
Response: !06<CR>
Disable all alarm functions at address 06H.
3. 20. Read Digital I/O and Alarm Status
@Description
Read the digital input channel, digital output channel and the alarm state at specified analog input module. This command is only available for ND-6011 & ND-6012.
@Syntax
@(Addr)DI<CR>
@ Command leading code.
(Addr) Address ID
DI Read digital I/O and alarm state.
@Response
!(Addr)(Alarm)(DigitalO)(DigitalI)<CR>
! Command is valid.
(Addr) Address ID.
(Alarm) 0 : alarm is disable
1 : MOMENTARY mode enable.
2 : LATCH mode enable.
(1-character)
(DigitalO) Digital output channel, port 0 and 1 status.
00 : channel 0 is OFF, channel 1 is OFF
01 : channel 0 is ON , channel 1 is OFF
02 : channel 0 is OFF, channel 1 is ON
03 : channel 0 is ON , channel 1 is ON
(2-character)
(DigitalI) Digital input channel, port status.
00 : channel is LOW.
01 : channel is HIGH.
(2-character)
@Example
User command: @06DI<CR>
Response: !0620301<CR>
| Item | Meaning | Description |
| ! | (Leading Code) | Command leading code. |
| 06 | (Addr) | Analog module's address ID is 06H. |
| 2 | (Alarm) | 2 means alarm state is LATCH. |
| 03 | (DigitalO) | Digital output channel status. 03 : channel 0 is ON channel 1 is ON |
| 01 | (DigitalI) | Digital input channel status 01 : digital input is HIGH. |
Read digital I/O and alarm at address 06H. alarm state is LATCH, digital output channel port 0 and 1 are ON and digital
input channel is HIGH.
3. 21. Set Digital Output
@Description
Set digital output channel at specified module. This command is only available for ND-6011 & ND-6012.
@Syntax
@(Addr)DO(OutData)<CR>
@ Command leading code.
(Addr) Address ID
DO Set digital output
(OutData) Digital output data .
00 : bit 1 is OFF, bit 0 is OFF.
01 : bit 1 is OFF, bit 0 is ON.
02 : bit 1 is ON , bit 0 is OFF
03 : bit 1 is ON , bit 0 is ON.
@Response
!(Addr)<CR>
or
?(Addr)<CR>
! Command is valid.
? Command is invalid.
(Addr) Address ID.
@Example
User command: /B>@06DO02<CR>
Response: !06<CR>
Set the digital output channel state at address 06H, digital output channel port 0 is OFF, port 1 is ON.
3. 22. Enable Alarm
@Description
Enable alarm to Latch mode or Momentary mode at specified analog input module. This command is only available for ND-6011 & ND-6012.
@Syntax
@(Addr)EA(Mode)<CR>
@ Command leading code.
(Addr) Address ID
EA Enable alarm command code
(Mode) M : enable alarm to MOMENTARY mode.
L : enable alarm to LATCH mode.
@Response
!(Addr)<CR>
! Command is valid.
(Addr) Address ID.
@Example
User command: @06EAL<CR>
Response: !06<CR>
Enable alarm to LATCH mode at address 06H.
User command: @06EAM<CR>
Response: !06<CR>
Enable alarm to MOMENTARY mode at address 06H.
3. 23. Set High Alarm
@Description
Set high alarm limit value at specified analog input module.
@Syntax
@(Addr)HI(Data)<CR>
@ Command leading code.
(Addr) Address ID
HI Set high alarm limit value.
(Data) Alarm high limit value.
Data format is engineering units. (an + or - sign
with five decimal digits and a decimal fixed point.
@Response
!(Addr)<CR>
! Command is valid.
(Addr) Address ID.
@Example
User command: @06HI+300.00<CR>
Response: !06<CR>
Set high alarm limit value to 300°C for type J thermocouple to input at address 06H.
3. 24. Set Low Alarm
@Description
Set low alarm limit value at specified analog input module.
@Syntax
@(Addr)LO(Data)<CR>
@ Command leading code.
(Addr) Address ID
LO Set low alarm limit value.
(Data) Alarm low limit value.
Data format is engineering units. (an + or - sign
with five decimal digits and a decimal fixed point.
@Response
!(Addr)<CR>
! Command is valid.
(Addr) Address ID.
@Example
User command: @06LO+100.00<CR>
Response: !06<CR>
Set low alarm limit value to +100°C to accept J-type thermocouple input at address 06H.
3. 25. Read Event Counter
@Description
Read the event counter value at specified analog input module.
@Syntax
@(Addr)RE<CR>
@ Command leading code.
(Addr) Address ID
RE Read event counter.
@Response
!(Addr)(Data)<CR>
! Command is valid.
(Addr) Address ID.
(Data) 5-character (Decimal), range 00000 to 65535,
if the event counter exceed 65535 then event
counter value is 65535 (No changed).
(5-character)
@Example
User command: @06RE<CR>
Response: !0612345<CR>
Read event counter, its value is 12345 (Decimal) at address 06H.
3. 26. Read High Alarm Limit
@Description
Read the high alarm limit at specified analog input module.
@Syntax
@(Addr)RH<CR>
@ Command leading code.
(Addr) Address ID
RH Read high alarm limit.
@Response
!(Addr)(Data)<CR>
! Command is valid.
(Addr) Address ID.
(Data) High alarm limit value.
Data format is engineering units. (an + or - sign
with five decimal digits and a decimal fixed point.
@Example
User command: @06RH<CR>
Response: !06+01.500<CR>
Read the high alarm limit value at address 06H, its value is 1.500 Volts, presume this module is configured to accept
±2.5 Volts input.
3. 27. Read Low Alarm Limit
@Description
Read the low alarm limit at specified analog input module.
@Syntax
@(Addr)RL<CR>
@ Command leading code.
(Addr) Address ID, range (00 - FF).
RL Read low alarm limit.
@Response
!(Addr)(Data)<CR>
! Command is valid.
(Addr) Address ID.
(Data) Alarm low limit value.
Data format is engineering units. (an + or - sign with five decimal digits and a decimal fixed point.
@Example
User command: @06RL<CR>
Response: !06-0.3850<CR>
Read the low alarm limit value at address 06H, its value is
-0.3850 Volts, presume this module is configured to accept
1 Volts input.
3. 28. Read Leading Code Setting
@Description
Read command leading code setting and host watchdog status.
@Syntax
~(Addr)0<CR>
~ Command leading code.
(Addr) Address ID
0 Read command leading code setting.
@Response
!(Addr)(Status)(C1)(C2)(C3)(C4)(C5)(C6)<CR>
or
?(Addr)<CR>
! Command is valid.
? Command is invalid.
(Addr) Address ID
(Status) (2-character)
Bit 0 : Reserved
Bit 1 : Power failure or watchdog failure
Bit 2 : Host watchdog is enable
Bit 3 : Host failure
(C1) Leading code 1, for read configuration status,
firmware version, etc. default is $. (1-character)
(C2) Leading code 2, for read synchronize sampling,
digital output ,default is #. (1-character)
(C3) Leading code 3, for change configuration.
default is %. (1-character)
(C4) Leading code 4, for read alarm status, enable
alarm, etc. default is @. (1-character)
(C5) Leading code 5, for read command leading
code, change command leading code, etc.
default is ~.
(1-character)
(C6) Leading code 6, this leading code is reserved.
default is *. (1-character)
@Example
User command: ~060<CR>
Response: !0600$#%@~*<CR>
Command leading code setting is $#%@~* for module address ID is 06, current status is factory default setting.
3. 29. Change Leading Code Setting
@Description
User can use this command to change command leading code setting as he desired.
@Syntax
~(Addr)10(C1)(C2)(C3)(C4)(C5)(C6)<CR>
~ Command leading code.
(Addr) Address ID, range (00 - FF).
10 Change command leading code setting.
(C1) Leading code 1, for read configuration status,
firmware version, etc. default is $.
(1-character)
(C2) Leading code 2, for read synchronize sampling,
digital output ,default is #.(1-character)
(C3) Leading code 3, for change configuration.
default is %. (1-character)
(C4) Leading code 4, for read alarm status, enable
alarm, etc. default is @. (1-character)
(C5) Leading code 5, for read command leading
code, change leading code, etc. default is ~.
(1-character)
(C6) Leading code 6, this leading code is reserved.
default is *. (1-character)
@Response
!(Addr)< CR>
or
?(Addr)<CR>
! Command is valid.
? Command is invalid.
(Addr) Address ID.
@Examples
User command: ~060<CR>
Response: !0600$#%@~*<CR>
User command: ~0610A#%@~*<CR>
Response: !06<CR>
User command: A06F
Response: !06A1.8<CR>
Read leading code setting is $#%@~* for module address 06 and change leading code $ to A, then use A06F to read firmware version of module on address 06.
*** WARNING ***
@Description
Set host watchdog timer, module will change to safety state when host is failure. Define the output value in this command.
@Syntax
~(Addr)2(Flag)(TimeOut)(SafeValue)<CR>
~ Command leading code.
(Addr) Address ID, range (00 - FF).
2 Set host watchdog timer and safe state value.
(Flag) 0 : Disable host watchdog timer
1 : Enable host watchdog timer (1-character)
(TimeOut) Host timeout value, between this time period
host must send (Host is OK) command to
module, otherwise module will change to safety
state.
Range 01 - FF. (2-character)
One unit is 53.3 ms (Firmware version 1.x)
01 = 1 * 53.3 = 53.3 ms
FF = 255 * 53.3 = 13.6 sec
One unit is 100 ms (Firmware version 2.x)
01 = 1 * 100 = 100 ms
FF = 255 * 100 = 25.5 sec
(SafeValue)2 channels safety value of digital output
channels when host is failure. (2-character)
@Response
!(Addr)<CR>
or
?(Addr)<CR>
! Command is valid.
? Command is invalid.
(Addr) Address ID
@Example
User command: ~06211203<CR>
Response: !06<CR>
06 Address ID
2 Set host watchdog timer and safe state value.
1 Enable host watchdog timer.
12 Timeout value. 0x12 = 18
18 * 53.3 = 959 ms (Firmware Version 1.x)
18 * 100 = 1800 ms (Firmware Version 2.x)
03 03 (00000011) The two digital output channels are high as failure or reset.
@Description
Read host watchdog timer setting and the safety value.
@Syntax
~(Addr)3<CR>
~ Command leading code.
(Addr) Address ID
3 Read host watchdog setting and module safety state value.
@Response
!(Addr) (Flag)(TimeOut)(SafeValue)<CR>
or
?(Addr)<CR>
! Command is valid.
? Command is invalid.
(Addr) Address ID, range (00 - FF).
(Flag) 0 : Host watchdog timer is disable
1 : Host watchdog timer is enable(1-character)
(TimeOut) Host timeout value.
Range 01 - FF. (2-character)
One unit is 53.3 ms (Firmware version 1.x)
01 = 1 * 53.3 = 53.3 ms
FF = 255 * 53.3 = 13.6 sec
One unit is 100 ms (Firmware version 2.x)
01 = 1 * 100 = 100 ms
FF = 255 * 100 = 25.5 sec
(SafeValue)2 channels safety state digital output value when
host is failure. (2-character)
@Example
User command: ~063<CR>
Response: !0611203<CR>
06 Address ID
1 Host watchdog timer is enable.
12 Timeout value. 0x12 = 18
18 * 53.3 = 959 ms (Firmware Version 1.x)
18 * 100 = 1800 ms (Firmware Version 2.x)
03 03 (00000011) The safty status of the two igital output channels are high.
@Description
When host watchdog timer is enable, host computer must send this command to every module before timeout otherwise "host watchdog timer enable" module`s output value will go to safety state output value.
Timeout value and safety state output value is defined in 3.30. "Set Host Watchdog Timer & Safety Value"
@Syntax
~**<CR>
~ Command leading code.
** Host is OK.
@Response
Note : Host is OK command has NO response.
@Example
User command: ~**<CR>
4. Data Format and Input Range
There are four typed of data format used in analog input modules.
Engineering Units
The different analog input ranges have different resolutions or number of decimal places. Refer to Table 4-1 for details.
| Input Range | Resolution |
| ±15 mV, ±50 mV | 1mV three decimal places |
| ±100 mV, ±150 mV, ±500 mV | 10mV two decimal places |
| ±1 V, ±2.50 V, ±5 V | 100mV four decimal places |
| ±10 V | 1mV three decimal places |
| ±20 mA | 1mA three decimal places |
| Type J and T thermocouple | 0.01°C two decimal places |
| Type K, E, R, S, B, N and C thermocouple | 0.1°C one decimal places |
Table 4-1 Data format and resolution
Example 1 :
engineering units : -1.3700<CR>
Example 2 :
engineering units : +03.653<CR>
Example 3 :
engineering units : +0406.5<CR>
Example 4 :
engineering units : -050.50<CR>
Percent of FSR (Full Scale Range)
Example 1 :
% of FSR : +020.00<CR>
(+(20/100) x 5 V) = +1 V
Example 2 :
% of FSR: +040.00<CR>
(+(40/100) x 10 V) = +4 V
Example 3 :
% of FSR: +040.65<CR>
(+(40.65/100) x 1000°C ) = 406.5°C
Two's Complement Hexadecimal
Example 1 :
Two's complement hexadecimal : 1999<CR>
((1/5) x 32768) = 6553.6 = 1999H
Example 2 :
Two's complement hexadecimal : CD27<CR>
((-2/5) x 32768) = -13107.2 = CD27H
Example 3 :
Two's complement hexadecimal : 3333<CR>
((4/10) x 32768) = 13107.2 = 3333H
Example 4 :
Two's complement hexadecimal : 3408<CR>
((406.5/1000) x 32768 ) = 13320.2 = 3408H
4. 2. Analog Input Range
The following table shows the relation between the input range setting with the data format and the resolution.
Engineering Units Table :
| Code | Input Range | Data Format | +Full Scale | Zero | - Full Scale | Displayed Resolution |
| 00 | ±15mV | Eng. Units | +15.000 | ±00.000 | -15.000 | 1mV |
| 01 | ±50mV | Eng. Units | +50.000 | ±00.000 | -50.000 | 1mV |
| 02 | ±100mV | Eng. Units | +100.00 | ±000.00 | -100.00 | 10mV |
| 03 | ±500mV | Eng. Units | +500.00 | ±000.00 | -500.00 | 10mV |
| 04 | ±1V | Eng. Units | +1.0000 | ±0.0000 | -1.0000 | 100.00mV |
| 05 | ±2.5V | Eng. Units | +2.5000 | ±0.0000 | -2.5000 | 100.00mV |
| 06 | ±20mA | Eng. Units | +20.000 | ±00.000 | -20.000 | 1mA |
| 07 | Reserved | |||||
| 08 | ±10V | Eng. Units | +10.000 | ±00.000 | -10.000 | 1mV |
| 09 | ±5V | Eng. Units | +5.0000 | ±0.0000 | -5.0000 | 100.00mV |
| 0A | ±1V | Eng. Units | +1.0000 | ±0.0000 | -1.0000 | 100.00mV |
| 0B | ±500mV | Eng. Units | +500.00 | ±000.00 | -500.00 | 10mV |
| 0C | ±150mV | Eng. Units | +150.00 | ±000.00 | -150.00 | 10mV |
| 0D | ±20mA | Eng. Units | +20.000 | ±00.000 | -20.000 | 1mA |
Percent of Full Scale Range Table :
| Code | Input Range | Data Format | +Full Scale | Zero | - Full Scale | Displayed Resolution |
| 00 | ±15mV | % of FSR | +100.00 | ±000.00 | -100.00 | 0.01% |
| 01 | ±50mV | % of FSR | +100.00 | ±000.00 | -100.00 | 0.01% |
| 02 | ±100mV | % of FSR | +100.00 | ±000.00 | -100.00 | 0.01% |
| 03 | ±500mV | % of FSR | +100.00 | ±000.00 | -100.00 | 0.01% |
| 04 | ±1V | % of FSR | +100.00 | ±000.00 | -100.00 | 0.01% |
| 05 | ±2.5V | % of FSR | +100.00 | ±000.00 | -100.00 | 0.01% |
| 06 | ±20mA | % of FSR | +100.00 | ±000.00 | -100.00 | 0.01% |
| 07 | Reserved | |||||
| 08 | ±10V | % of FSR | +100.00 | ±000.00 | -100.00 | 0.01% |
| 09 | ±5V | % of FSR | +100.00 | ±000.00 | -100.00 | 0.01% |
| 0A | ±1V | % of FSR | +100.00 | ±000.00 | -100.00 | 0.01% |
| 0B | ±500mV | % of FSR | +100.00 | ±000.00 | -100.00 | 0.01% |
| 0C | ±150mV | % of FSR | +100.00 | ±000.00 | -100.00 | 0.01% |
| 0D | ±20mA | % of FSR | +100.00 | ±000.00 | -100.00 | 0.01% |
Tow`s Complement Table :
| Code | Input Range | Data Format | +Full Scale | Zero | - Full Scale | Displayed Resolution |
| 00 | ±15mV | 2's Comp. | 7FFF | 0000 | 8000 | 1 LSB |
| 01 | ±50mV | 2's Comp. | 7FFF | 0000 | 8000 | 1 LSB |
| 02 | ±100mV | 2's Comp. | 7FFF | 0000 | 8000 | 1 LSB |
| 03 | ±500mV | 2's Comp. | 7FFF | 0000 | 8000 | 1 LSB |
| 04 | ±1V | 2's Comp. | 7FFF | 0000 | 8000 | 1 LSB |
| 05 | ±2.5V | 2's Comp. | 7FFF | 0000 | 8000 | 1 LSB |
| 06 | ±20mA | 2's Comp. | 7FFF | 0000 | 8000 | 1 LSB |
| 07 | Reserved | |||||
| 08 | ±10V | 2's Comp. | 7FFF | 0000 | 8000 | 1 LSB |
| 09 | ±5V | 2's Comp. | 7FFF | 0000 | 8000 | 1 LSB |
| 0A | ±1V | 2's Comp. | 7FFF | 0000 | 8000 | 1 LSB |
| 0B | ±500mV | 2's Comp. | 7FFF | 0000 | 8000 | 1 LSB |
| 0C | ±150mV | 2's Comp. | 7FFF | 0000 | 8000 | 1 LSB |
| 0D | ±20mA | 2's Comp. | 7FFF | 0000 | 8000 | 1 LSB |
The following table shows the relation between the input range setting with the data format and the resolution when using ND-6011 to measure temperature by thermocouple.
| Code | Input Range Thermocouple |
Data Format | Maximum | Minimum | Displayed Resolution |
| 0E | J (0°C to 760°C) | Eng. Units | +760.00 | +000.00 | 0.01°C |
| 0F | K (0°C to 1000°C) | Eng. Units | +1000.0 | +0000.0 | 0.1°C |
| 10 | T (-100°Cto400°C) | Eng. Units | +400.00 | -100.00 | 0.01°C |
| 11 | E (0°C to 1000°C) | Eng. Units | +1000.0 | +0000.0 | 0.1°C |
| 12 | R (500°C to 1750°C) | Eng. Units | +1750.0 | +0500.0 | 0.1°C |
| 13 | S (500°C to 1750°C) | Eng. Units | +1750.0 | +0500.0 | 0.1°C |
| 14 | B (500°C to 1800°C) | Eng. Units | +1800.0 | +0500.0 | 0.1°C |
| 15 | N (-270°C to 1300°C) | Eng. Units | +1300.0 | -0270.0 | 0.1°C |
| 16 | C (0°C to 2320°C) | Eng. Units | +2320.0 | +0000.0 | 0.1°C |
| Code | Input Range Thermocouple |
Data Format | Maximum | Minimum | Displayed Resolution |
| 0E | J (0°C to 760°C) | % of FSR | +100.00 | +000.00 | 0.01% |
| 0F | K (0°C to 1000°C) | % of FSR | +100.00 | +000.00 | 0.01% |
| 10 | T (-100°Cto400°C) | % of FSR | +100.00 | -025.00 | 0.01% |
| 11 | E (0°C to 1000°C) | % of FSR | +100.00 | +000.00 | 0.01% |
| 12 | R (500°C to 1750°C) | % of FSR | +100.00 | +028.57 | 0.01% |
| 13 | S (500°C to 1750°C) | % of FSR | +100.00 | +028.57 | 0.01% |
| 14 | B (500°C to 1800°C) | % of FSR | +100.00 | +027.27 | 0.01% |
| 15 | N (-270°C to 1300°C) | % of FSR | +100.00 | -020.76 | 0.01% |
| 16 | C (0°C to 2320°C) | % of FSR | +100.00 | +000.00 | 0.01% |
| Code | Input Range Thermocouple |
Data Format | Maximum | Minimum | Displayed Resolution |
| 0E | J (0°C to 760°C) | 2's Comp. | 7FFF /td> | 0000 | 1 LSB |
| 0F | K (0°C to 1000°C) | 2's Comp. | 7FFF | 0000 | 1 LSB |
| 10 | T (-100°Cto400°C) | 2's Comp. | 7FFF | E000 | 1 LSB |
| 11 | E (0°C to 1000°C) | 2's Comp. | 7FFF | 0000 | 1 LSB |
| 12 | R (500°C to 1750°C) | 2's Comp. | 7FFF | 2492 | 1 LSB |
| 13 | S (500°C to 1750°C) | 2's Comp. | 7FFF | 2492 | 1 LSB |
| 14 | B (500°C to 1800°C) | 2's Comp. | 7FFF | 238E | 1 LSB |
| 15 | N (-270°C to 1300°C) | 2's Comp. | 7FFF | E56B | 1 LSB |
| 16 | C (0°C to 2320°C) | 2's Comp. | 7FFF | 0000 | 1 LSB |
What do you need to do calibration ?
Calibration Procedure
Table 5-1 Analog Input Module`s Calibration Voltages
ND-6011 Calibration voltages
| Code | Input Range | Offset Calibration voltage |
Span Calibration voltage |
| 00 | ±15mV | 0 mV | +15 mV |
| 01 | ±50mV | 0 mV | +50 mV |
| 02 | ±100mV | 0 mV | +100 mV |
| 03 | ±500mV | 0 mV | +500 mV |
| 04 | ±1V | 0 V | +1 V |
| 05 | ±2.5V | 0 V | +2.5 V |
| 06 | ±20mA | 0 mA | +20 mA |
| 0E | J (0°C to 760°C) | 0 mV | +42.922 mV |
| 0F | K (0°C to 1000°C) | 0 mV | +54.875 mV |
| 10 | T (-100°Cto400°C) | -6.258 mV | +20.900 mV |
| 11 | E (0°C to 1000°C) | 0 mV | +76.358 mV |
| 12 | R (500°C to 1750°C) | 0 mV | +21.108 mV |
| 13 | S (500°C to 1750°C) | 0 mV | +18.698 mV |
| 14 | B (500°C to 1800°C) | 0 mV | +13.814 mV |
| 15 | N (-270°C to 1300°C) | -4.345 mV | +47.502 mV |
| 16 | C (0°C to 2320°C) | 0 mV | +37.107 mV |
ND-6012 Calibration voltages
| Code | Input Range | Offset Calibration voltage |
Span Calibration voltage |
| 08 | ±10 V | 0 mV | +10 V |
| 09 | ±5 V | 0 mV | +5 V |
| 0A | ±1 V | 0 mV | +1 V |
| 0B | ±500 mV | 0 mV | +500 mV |
| 0C | ±150 mV | 0 mV | +150 mV |
| 0D | ±20 mA | 0 mA | +20 mA |
1 "ALL" means for ND-6011 and ND-6012.


©1995 Circuit Specialists, Inc.