In the process of upgrading automation systems or renovating production lines, engineers often face issues such as incompatible protocols between new and old equipment, and chaotic fieldbus. The ADLINK NuDAM-6100 series modules are an ideal choice for replacing outdated distributed I/O modules due to their support for both ASCII and Modbus RTU protocols, as well as hardware compatibility with ADAM-4000 and ICP I-7000 series. This article is based on the official technical manual and systematically reviews the installation, initialization, protocol switching, parameter configuration, and watchdog protection operations of four core modules: ND-6150 (digital I/O), ND-6160 (relay output), ND-6117 (analog input), and ND-6124 (analog output+digital input). It helps engineers complete the deployment from unboxing to stable operation within 30 minutes.
Product Family Overview and Selection Points
The NuDAM-6100 series adopts RS-485 two-wire communication, supports baud rates of 1200~115200 bps, wide voltage power supply (10~30V DC), built-in dual watchdog (module hardware watchdog+host programmable watchdog), working temperature of -10~70 ℃. The main module functions are as follows:
Model Number Input Digital Output Analog Input Analog Output Features
ND-6150 8-way isolated input (common source/common ground optional) 8-way isolated P-MOSFET output (650mA/channel) -3750Vrms isolated, LED status indicator
ND-6160 4-channel isolated input (common source) 4-channel relay (2-channel Form A+2-channel Form C) - contact capacity 0.6A@125VAC / 2A@30VDC
ND-6117-8-channel differential input (6 differential+2 single ended) -16 bit resolution, range ± 150mV~± 10V and ± 20mA
ND-6124 4-channel isolated input (emergency stop function) -4-channel analog output (mA/V, 14 bit) supports output slope control, safety value, Modbus default
When selecting, the number of digital points, driving current, isolation requirements, and analog accuracy are the main considerations.
Hardware installation and power wiring
2.1 Power Supply and Communication Wiring
Power supply: Use a+10~+30V DC regulated power supply, recommended 24V. Pay attention to polarity: pin 9 (+Vs) is connected to positive, pin 10 (GND) is connected to negative. The power is reserved based on the total power consumption of the modules (approximately 0.8W for ND-6150, 1.2W for ND-6160, 1.2W for ND-6117, and 2.4W for ND-6124).
RS-485 bus: Shielded twisted pair cable is used, with DATA+(pin 7) connected to Y and DATA - (pin 8) connected to G. A 120 Ω terminal resistor needs to be connected in parallel at both ends of the bus. The maximum communication distance is 4000 feet (1.2km), exceeding which a repeater (ND-6510) is required.
2.2 Example of Input/Output Wiring
ND-6150 digital input: dry contact (switch) connected to DI pin and DI-GND (pin 5); The wet contact (active signal) needs to disconnect the DI-GND, with the DI pin connected to the positive signal and the negative signal connected to the power ground. Input logic: High level 10-30V is ON, low level ≤ 1V is OFF.
ND-6150 digital output: P-MOSFET source output, with one end of the load connected to the output pin, the other end connected to the positive pole of the load power supply, and the negative pole of the load power supply connected to the module GND. The maximum load current is 650mA, with short-circuit protection.
ND-6117 analog input: channels 0-5 differential, channels 6-7 can be jumper selected differential or single ended. Current measurement requires an external 125 Ω precision resistor (1% accuracy) with a range of ± 20mA.
ND-6124 analog output: voltage output directly connected to Vout and AGND; The current output is connected to Iout and AGND, requiring an external 24V power supply (through a load) or internal pull-up (see wiring diagram in the manual).
Initialization configuration (Initiat mode)
The new module has a default address of 01, baud rate of 9600, no checksum, and Modbus RTU protocol (note: the manual states that Modbus is the factory default, not ASCII). When modifying the address, baud rate, or protocol, the module must be put into the Initiat state (short circuit the Initiat pin to GND, or slide the subsequent Initiat switch to the ON position). After entering Initialize, the module temporarily runs at address 00 and baud rate 9600.
3.1 Modify Address and Baud Rate (ASCII Command Method)
If maintaining the ASCII protocol, use the command% AANNTTCFFF, where:
AA=Current Address (00 under Initiate)
NN=New Address (e.g. 03)
TT=type code, fixed at 40 (digital I/O) or specific analog type code (see configuration table)
CC=baud rate code: 03=1200, 04=2400, 05=4800, 06=9600, 07=19200, 08=38400, 09=57600, 0A=115200
FF=data format, Bit6 controls checksum (1 enabled, 0 disabled), other bits are reserved
Example: Change ND-6150 address from 01 to 03, maintain 9600, disable checksum:
%0103400600 (assuming the current address is 01 and the initial is short circuited). Response! 03 indicates success.
After modification, power off, disconnect the Initiat, and power it back on to take effect.
3.2 Soft Initialization Mode (No Physical Short Circuit Required)
Firmware D02.01 and above support soft Initiate: First, use~AATnn to set a timeout (such as~01T20 set to 20 seconds), then send~AAI to enable software Initiate, and then send configuration commands (such as% AANNTTCFFF) within the timeout without short circuiting the Initiate pin. This feature is convenient for remote configuration.
Protocol switching (ASCII) ↔ Modbus RTU)
ND-6124 defaults to Modbus RTU, while ND-6150/6160/6117 may be ASCII or Modbus, which needs to be confirmed first.
4.1 Switching from ASCII to Modbus RTU
Enter the Initiat mode (physical or software).
Send the command $AAPN, where N=1 represents Modbus RTU and N=0 represents ASCII.
Example: $01P1 sets address 01 to Modbus.
Response! After 01, power off and restart (disconnect Initiat), and the protocol switch is completed.
4.2 Switching from Modbus RTU to ASCII
In Modbus mode, use function code 0x06 to write the value of hold register 00257 (address 0x0100) to 0x0000, or switch through NuDAM-6100 Utility software.
Note: After protocol switching, communication parameters (baud rate, data format) remain unchanged, but in Modbus mode they are fixed at 8 data bits, 1 stop bit, and no checksum.

Common commands for digital I/O modules (ND-6150/6160)
5.1 Read all I/O statuses
ASCII: $AA6 or @ AA, response is a 4-digit hexadecimal number (first two digits DO, last two digits DI).
Modbus: Read coils (00001~00032 read DO, 00033~00064 read DI).
5.2 Setting Digital Output
ASCII: # AA0ADD (low 8 bits), # AA0BDD (high 8 bits), # AA1CDD (single channel).
Modbus: Write to a single coil (0x05) or write to multiple coils (0x0F).
5.3 Input Lock Function
AALS reads the high/low status of the latch, while AAC clears the latch. Used to capture brief pulse signals.
5.4 Output polarity reversal
~AACPSS can change the polarity of DI/DO (such as changing from high level to low level), and read the current polarity through~AACR.
Analog input module (ND-6117) configuration
6.1 Setting Input Range
Use the ASCII command% AANNTTCFFF, where TT is the range code (08=± 10V, 09=± 5V, 0A=± 1V, 0B=± 500mV, 0C=± 150mV, 0D=± 20mA). Each channel can also be set separately: $AA7CiRrr (i=channel number, rr=range code).
6.2 Reading Analog Values
#AA reads all channels, # AAN reads a single channel, and the response format is determined by the data format (FF): engineering unit (such as+1.2345),% FSR, or binary complement.
6.3 Enable/Disable Channels
$AA5VV, VV are two hexadecimal numbers that control the high 4 and low 4 channels respectively (1 enabled, 0 disabled).
6.4 Calibration
Calibration needs to first send~AAE1 to enable calibration, and then apply offset (0V) and full scale (corresponding to the range voltage) to channel 0, executing $AA1 (offset) and $AA0 (full scale) respectively. Refer to the manual table for specific calibration voltage.
Modbus access: Simulate input values mapped to input registers (30001~30008), and range codes can be read and written through hold registers (40201~40208).
Analog output module (ND-6124) configuration
ND-6124 supports voltage (0~5V, 0~10V, ± 10V) and current (0~20mA, 4~20mA) outputs, with a 14 bit resolution and programmable output slope (0.0625~1024 V/s or 0.125~2048 mA/s).
7.1 Setting Output Type and Slope
ASCII: $AA9NTTSS, N is the channel number, TT is the type code (30=0-20mA, 31=4-20mA, 32=0-10V, 33=± 10V, 34=0-5V, 35=± 5V), SS is the slope code (see manual table).
Modbus: Write hold registers 40257~40260 (type code) and 40289~40292 (slope).
7.2 Output Analog Values
ASCII engineering unit: # AAN+01.234 (voltage) or # AAN+12.345 (current).
ASCII hexadecimal: # AAN7FFF (corresponding to maximum range).
Modbus: Write hold registers 40001-40004.
7.3 Power on value and safety value
Use $AA4N to save the current output as the power on default value; Use~AA5N to save the current output as a safe value (called when the host watchdog timeout occurs).
Read the security value using~AA4N.
7.4 Emergency Stop Function (Emergency DI)
The four DIs of ND-6124 can be configured as emergency inputs (enabled through~AA8NE). When the corresponding DI becomes low, the channel AO immediately switches to the safe value and ignores subsequent output commands until the emergency flag (~AA8N or~AA1) is cleared. This function can meet the requirements of safety interlocking.
Host Watchdog Configuration
All modules support host watchdog. After activation, the host needs to send~* * (or specific commands under Modbus) to all modules within timeout (0.1~25.5 seconds), otherwise the module output will switch to a safe value.
8.1 ASCII Settings
Enable and set timeout:~AA3EVV (E=1 enabled, VV is hexadecimal timeout x 0.1 seconds).
Read status:~AA0,~AA2.
Clear timeout flag:~AA1.
Set safety value:~AA5S (safe) or~AA5P (power on value).
8.2 Modbus Settings
Timeout value: Keep register 40489 (unit 0.1 seconds).
Enable/Disable: Coil 00261 (1 enabled).
Timeout flag: coil 00270 (read/clear).
Safe value: Keep registers 43001~43004 (per channel).
Modbus Address Mapping Quick Check
Address range (decimal) function access type
00001~00032 DO0~DO31 read-write coil
00033~00064 DI0~DI31 Read only discrete input
00129~00160 Safety Value (DO) Reading and Writing Coil
00161~00192 Power on value (DO) read/write coil
00257 protocol selection (0=ASCII, 1=Modbus) read-write hold register
00261 Host watchdog enables read-write coil
00270 watchdog timeout flag read-write coil
00272 Loading Factory Calibration Writing Coil
02208 CRC check enable read-write hold register
40481~40482 firmware version read-only hold register
40483~40484 module name read-only hold register
40485 module address (1-247) read/write hold register
40486 baud rate (3-10) read/write hold register
40489 watchdog timeout value (unit: 0.1s) read/write hold register
Attention: ND-6117 analog input uses 30001~30008 (input register), range code uses 40201~40208 (hold register). ND-6124 analog output uses 40001~40004, type code uses 40257~40260, and slope uses 40289~40292.
Common troubleshooting
Possible causes and solutions for the fault phenomenon
Module communication unresponsive, baud rate mismatch; Address error; Reverse polarity of the bus; Enter the Initiat mode (address 00, baud rate 9600) without adding terminal resistance and search again; Check the DATA+/- wiring; Add 120 Ω resistors at both ends
Failed to modify configuration without entering the Initiat mode, or physically short circuited the Initiat pin and restarted due to soft Initiat timeout, or set enough timeout using soft Initiat
Simulate input reading jump and input source noise; Not using shielded wires; Improper range setting enables internal filtering of the module (60Hz/50Hz suppression); Switch to differential mode (channel 6/7 jumper)
Simulate no change in output, watchdog timeout enters safe value; Emergency DI activation reads the status of the watchdog and clears it; Check the emergency DI input level
Unable to communicate after protocol switch and module not restarted; Power off and restart using ASCII command under Modbus; Switch to Modbus command or switch again
The firmware version is too low and does not support certain functions. Some commands are only D02.01 and above. Please check the version through $AAF. If you need to upgrade, please contact technical support
