In industrial automation, process control, and data acquisition systems, remote distributed I/O modules undertake key tasks such as sensor signal acquisition, actuator driving, and status monitoring. The ADLINK NuDAM series (covering models 6050, 6052, 6053, 6054, 6056, 6058, 6060, 6063, etc.) is a classic RS-485 distributed digital I/O product that has been widely used in fields such as power, transportation, and building automation due to its flexible input-output combination, optoelectronic isolation, relay output, and hardware watchdog protection. This article is based on the official technical manual, which systematically outlines the entire process of operation from initialization configuration, communication parameter setting, watchdog security mechanism to typical fault troubleshooting, providing on-site engineers with a maintenance guide that can be used immediately.
Product Family Overview and Selection Points
The NuDAM series digital I/O modules all use a two-wire RS-485 interface, supporting baud rates of 1200bps~115.2bps (115.2K only for firmware A4.00 and above), wide voltage power supply (10-30V DC), built-in 150ms hardware watchdog and 4.65V power monitoring threshold, which can effectively deal with abnormal situations such as host crashes or power outages. The differences among different models are as follows:
ND-6050: 7-channel digital input (TTL/wet contact)+8-channel open collector electrode output (50mA), suitable for universal IO control.
ND-6052:8 isolated inputs (6 differential+2 single ended), isolation voltage 5000Vrms, suitable for high-voltage hazardous environments.
ND-6053:16 digital inputs (supporting dry and wet contacts), with an effective distance of 500 meters for dry contacts.
ND-6054:15 isolated input (common power type), 5000Vrms isolated, 15th pin multiplexed with default pin (jumper selection).
ND-6056:15 isolated open collector electrode output (common ground type), 5000Vrms isolated, 15th multiplexed default pin.
ND-6058:28 programmable I/O (24 analog 8255 PPI mode 0+4 dedicated inputs), TTL level, equipped with 50 pin SCSI interface.
ND-6060: 4 relay outputs (2 Form C+2 Form A)+4 isolated inputs, directly driving AC/DC loads.
ND-6063: 8-way Form A relay output, pure output module.
On site selection should be determined based on the signal type (dry/wet contacts, isolation requirements, driving current), load properties (relays/transistors), and the number of channels.
Initialization configuration: from factory default to network ready
1. Factory default state and key pins
All new modules have the same parameters when they leave the factory:
Address ID=01 (hexadecimal)
Baud rate=9600 bps
Checksum=disabled
Host watchdog=disabled
To avoid address conflicts, a unique ID must be assigned to each module. The module provides a special pin "DEFAULT *" (pin 6 or internal jumper), which will enter the "default state" when short circuited to ground when powered on:
Address ID is forced to be 00
The baud rate is fixed at 9600 bps
Verify and disable
This mechanism allows users to re-establish communication with unified parameters through RS-485 regardless of the current configuration of the module.
Note: For ND-6053, 6054, and 6056, pin 6 serves as either DI15/DO15 or DEFAULT function and needs to be selected through internal jumper JP2; Pin 6 of ND-6063 also reuses RL8 COM and DEFAULT. Before initialization, please confirm that the jumper is in the "DEFAULT" position, and restore the original function after the operation is completed.
2. Initialize hardware connections and steps
Required equipment:
Upper computer (with RS-232 serial port)
RS-232 to RS-485 converter (such as NuDAM-6520) with baud rate set to 9600
To initialize NuDAM module
10-30V DC power supply
NuDAM Administration "management software
Operation process:
Disconnect the power supply of the upper computer and converter.
Short circuit the DEFILT * pin of the module to GND (using jumper caps or wires).
Connect the RS-485 signal line (DATA+to Y, DATA - to G), power line (+Vs and GND).
Open the upper computer, run the management software, set the communication parameters to 9600, no verification, and address 00.
Power on the module (at this point, the module is in its default state).
Use software to send the "Set Configuration" command (% (OldAddr) (NewAddr) 40 (BaudRate) (ChecksumFlag)<CR>), such as changing the address to 30, keeping the baud rate at 9600, and disabling the checksum:% 0130400600<CR>(old address 01, new address 30, type code 40 represents digital I/O, 06 represents 9600, 00 represents disabled checksum).
Received! 30<CR>indicates success. Remove the DEFAULT * short circuit, power on again, and the module will run according to the new configuration.
Common error: If attempting to modify the configuration without short circuiting DEFAULT *, will the module return? And refuse to make changes. Be sure to operate according to the regulations.

Command system and common operations
1. Command format and verification calculation
The structure of all NuDAM commands is:
(LeadingCode)(Addr)(Command)[Data][Checksum]<CR>
Guidebook: such as $(read configuration), # (output),% (set configuration),~(watchdog related)
Address: Two digit hexadecimal (00~FF)
Command code: such as 2-read configuration, 6-read input, M-read module name
Checksum (optional): When enabled, accumulates and takes the lower byte of the ASCII code for all characters (including boot code, address, command, data), represented in two hexadecimal digits
Example (verification disabled): $302<CR>configuration for reading address 30.
Response:! 30400600<CR> —— ! Indicates validity, 30 is the address, 40 is the digital I/O type, 06=9600, 00=check off.
2. Digital output control
ND-6050/6060/6063 single module output:
All channels: # (Addr) 00 (OutData)<CR>, such as # 300003<CR>, set channel 0 and 1 at address 30 to 1 (the rest to 0).
Single channel: # (Addr) 1X (0/1)<CR>, such as # 301201<CR>, set channel 2 to 1 (address 30).
ND-6056 (high and low byte separated):
All: # (Addr) T (OutDataH) (OutDataL)<CR>, high bytes correspond to 14~8, low bytes correspond to 7~0.
Single port: # (Addr) H (Data)<CR>or L (Data) respectively controls high/low bytes.
Single channel: # (Addr) H (ChNo) (Bit)<CR>, for example, # 30H31 sets channel 11 (H=high byte, 3 represents channel 11) to 1.
ND-6058 (three ports A/B/C):
Similar to the above, port identifiers are 0A, 0B, 0C, and single channel commands are # (Addr) A (ChNo) (Bit), etc.
Note: If a port of ND-6058 is set to input mode, the output command will be ignored.
3. Digital input reading
General command: $(Addr) 6<CR>. The response formats of each module are different:
6050:! (DataOut) (DataIn) 00- Simultaneously read back the output status and input value.
6052:! (DataIn) 0000- Input value (8-bit).
6053:! (DataInH) (DataInL) 00-16 bit input.
6054: Same as 6053.
6056:! (DataOutH) (DataOutL) 00- Read back the output status (actual output value).
6058:! (IOFlag) (DIn) (DataA) (DataB) (DataC) - Contains pattern flags, 4-bit dedicated inputs, and three port data.
6060:! (DataOut)(DataIn)00。
6063:! (DataOutH)0000。
4. Synchronous sampling function (multi module synchronization)
For scenarios where multiple module input values need to be read simultaneously, the synchronous sampling command # * *<CR>(unresponsive) can be used. This command will trigger all synchronized modules on the network to simultaneously latch the current input value. Subsequently, send $(Addr) 4<CR>to read the latch data one by one, and the status bit (first digit) in the response indicates whether the data is being read for the first time (1 indicates first time, 0 indicates read already). This mechanism effectively avoids the time difference caused by polling and is suitable for time alignment of analog or high-speed digital events.
Watchdog timer - the core guarantee for system self-healing
The NuDAM module has two levels of watchdogs:
Internal hardware watchdog (fixed for 150ms): monitors the MCU operation of the monitoring module itself. If timeout occurs due to interference or software runaway, the module will automatically reset and the output will return to the safe value (default power on state).
Host programmable watchdog: The timeout period (100ms~25.5s, step size 100ms) is set by the user. When the host does not send the "Host is OK" command (~* *<CR>) within the timeout period, the module automatically switches all digital outputs to the preset "safe value" to prevent actuator misoperation after the host crashes.
Set host watchdog and security values (taking ND-6050 as an example)
Command format:~(Addr) 2 (Flag) (TimeOut) (SafeValue)<CR>
Flag: 0=disabled, 1=enabled
TimeOut: hexadecimal 01~FF, multiplied by 100ms for actual timeout
SafeValue: Two hexadecimal digits, each corresponding to an output channel, with 1 indicating that the channel outputs a high level (or a relay is engaged)
Example:~0621121C<CR>
Address 06, enable watchdog, timeout=0x12=18 × 100ms=1800ms, safety value 0x1C (binary 00011100, where channels 2, 3, and 4 are high and the rest are low).
For multi byte output modules (6056/6058), the security values are specified by high and low bytes or three ports respectively, and the corresponding command format is~ .. (SafeH) (SafeL) or~ ... (SafeA) (SafeB) (SafeC).
Host "feeding dog" operation
After the watchdog is enabled, the host must periodically send~* *<CR>(no response) within the timeout period. This command takes effect simultaneously for all modules, so the host only needs to broadcast once to reset the watchdog timer for all modules. If the host stops sending due to a malfunction, each module will independently switch to its own safe value to ensure that the on-site equipment is in a controllable state.
View current watchdog settings
Use~(Addr) 3<CR>to read the current enabled status, timeout value, and security value for verifying the configuration.
Key points of wiring and anti-interference
1. RS-485 network topology
Using shielded twisted pair cables, it is recommended to match the terminal resistance (120 Ω).
All modules' DATA+(Y) and DATA - (G) are connected in parallel, and the power supply (+Vs, GND) can be supplied separately or shared, but attention should be paid to voltage drop.
The GND of the module must be connected to the power ground and cannot be suspended.
2. Input signal type matching
Dry contacts (such as buttons and switches): ND-6053 requires one end to be connected to DI and the other end to GND (logic 0 is closed); Wet contacts (active) need to meet voltage logic (0V~2V is 0,+4V~30V is 1).
Differential input (ND-6052): DI+and DI - are connected to the positive and negative signals respectively, and the floating or common mode voltage should be within the allowable range.
Isolated input (ND-6054/6060): An external 24V common source voltage (Ext24V) is required, and the input channel is source type (Source), which means high level is effective.
3. Relay output wiring (ND-6060/6063)
Form C relays (R3, R4) have three terminals: COM (common), NO (normally open), and NC (normally closed). When output bit=1, COM and NO are conductive, and when output bit=0, COM and NC are conductive.
Form A relay (all channels R1, R2, and ND-6063) only has NO and COM, and conducts when output bit=1.
Attention to contact capacity: AC 0.6A/125V (ND-6060) or 0.5A/125V (ND-6063), DC 2A/30V, etc. Overloading is strictly prohibited.
Troubleshooting and Common Problems
Possible causes investigation and resolution of the phenomenon
After power on, the module does not respond (does not send any data), the power supply is not connected or the polarity is reversed; Reverse the RS-485 A/B line connection; Incorrect address check+Vs and GND voltage (10~30V), confirm correct wiring. Power on again using the default state (DEFAULT * grounded) and attempt communication at addresses 00 and 9600.
The format of the '?' command returned after sending the command is incorrect; Verification and enable, but calculation error; Address does not exist. Check command syntax and confirm if checksum is enabled (required for configuration commands). If the configuration is lost, restore the default state and reconfigure.
The output channel does not follow the required action and the output command format is incorrect; ND-6058 port is set to input mode; The safety value was mistakenly set and read back to the output status confirmation using $Addr6. Check the I/O mode settings (ND-6058 using $AddrS (IOFlag)).
The host watchdog frequently triggers the feeding interval timeout; The host program did not send in a timely manner~* * Shorten the feeding cycle or extend the timeout value. Use~Addr3 to read the current configuration.
Install a power filter to reset the power supply fluctuation or poor grounding of the module under strong interference, ensure reliable connection between GND and ground, use shielded twisted pair and single ended grounding.
After replacing the module, there is an address conflict. The new module still defaults to 01. Follow the initialization steps to reassign a unique address and record the address tables for each module.
Firmware and software tools
The "NuDAM Administration" software provides graphical configuration, network scanning, debugging command sending, and other functions, recommended for initial setup and on-site diagnosis. Advanced users can also send ASCII commands directly through serial port terminals. The firmware version can be queried through $AddrF, and if needed, it supports 115.2K
