ND-6050 Digital Input/Output
ND-6052 Isolation Digital Input
ND-6060 Relay Output & Digital Input




@Copyright 1995
All Rights Reserved.
Manual first edition
3 November 1995

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.

Trademarks
ND-6050, ND-6052 and ND-6060 are registered trademarks of ADLink Technology Inc., IBM PC is a registered trademark of International Business Machines Corporation. Intel is a registered trademark of Intel Corporation. Other product names mentioned herein are used for identification purposes only and may be trademarks and/or registered trademarks of their respective companies.



Contents





1. Introduction
1. 1. About the NuDAM DIO Modules
1. 2. Overview of NuDAM-6050
1. 3. Overview of NuDAM-6052
1. 4. Overview of NuDAM-6060
2. Initialization & Installation
2. 1. Software Installation
2. 2. Initializing a Brand-New Module
2. 3. Install a New NuDAM to a Existing Network
2. 4. Application Wiring for NuDAM-6050
2. 5. Application Wiring for NuDAM-6052
2. 6. Application Wiring for NuDAM-6060
3. Command Set
3. 1. Command and Response
3. 2. Summary of Command Set
3. 3. Set Configuration
3. 4. Read Configuration
3. 5. Read Module Name
3. 6. Read Firmware Version
3. 7. Reset Status
3. 8. Digital Output
3. 9. Synchronized Sampling
3. 10. Read Synchronized Data
3. 11. Digital Input
3. 12. Read Leading Code Setting
3. 13. Change Leading Code Setting
3. 14. Set Host Watchdog Timer & Safety Value
3. 15. Read Host Watchdog Timer & Safety Value
3. 16. Host is OK




1. Introduction



1. 1. About the NuDAM DIO Modules

The NuDAM provides a series of digital input or output (DIO) modules to sense the digital signal or to control the remote devices.

The specified features of each module are shown here.




1. 2. Overview of NuDAM-6050

What is NuDAM-6050 ?

NuDAM-6050 is a digital input and output module. The digital input channels can monitor active TTL signals, and sense passive switch on/off signal because of the internal pull high resistors. The convenient open collector output channels can sink up to 30 mA current. Combining with the relay devices, it is possible to control the high power devices by programming output channel of the NuDAM-6050.

Features of NuDAM-6050

Specifications of NuDAM-6050



A Look at ND-6050 & Pin Assignment

Pin Definitions of NuDAM-6050

Pin # Signal Name Description
1 DO 7 Digital output channel 7
2 DO 6 Digital output channel 6
3 DO 5 Digital output channel 5
4 DO 4 Digital output channel 4
5 DO 3 Digital output channel 3
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 DO 2 Digital output channel 2
12 DO 1 Digital output channel 1
13 DO 0 Digital output channel 0
14 DI 0 Digital input channel 0
15 DI 1 Digital input channel 1
16 DI 2 Digital input channel 2
17 DI 3 Digital input channel 3
18 DI 4 Digital input channel 4
19 DI 5 Digital input channel 5
20 DI 6 Digital input channel 6

ND-6050 Functional Block Diagram




1. 3. Overview of NuDAM-6052

What is NuDAM-6052 ?

NuDAM-6052 provides 8 isolated digital input channels. Six of the input channels are differential type and two of them are single-ended with common ground. The isolation voltage is up to 500 Vrms. It is suitable to use NuDAM-6052 in industrial environment with the dangerous of high voltage electric shock.

Features of NuDAM-6052

Specifications of NuDAM-6052

A Look at ND-6052 & Pin Assignment

Pin Definitions of NuDAM-6052

ND-6052 Functional Block Diagram




1. 4. Overview of NuDAM-6060

What is NuDAM-6060 ?

NuDAM-6060 provides four relay output channels, two are form A and two are form C. It can control high power devices without external circuits. The isolation guarantees the industrial safety.

Features of NuDAM-6060

Specifications of NuDAM-6060

Using Relay Output

The ND-6060 contains two types of relay : Form C and Form A. The relay R3 and R4 are form C relays, and R1 and R2 are plain form A type. The difference between these two types of relay are :

1. Form C Relay : ( R3, R4)

Form C relay has three contacts : NC ( Normal Close), NO ( Normal Open), and COM( Common). The CM post, located at the middle, can make contact either NO post or NC post. When the control bit is high (1), the COM post and NO post are contacted. If the control bit is low (0), the COM post and NC post make contact.

In normal power-up and reset, the relay is in low status.

2. Form A Relay : ( R1, R2)

Form A relay only has two contacts : NC ( Normal Close) and COM( Common). The COM post can make contact either NO post or not contact NO post. When the control bit is high (1), the COM post and NO post are contacted. If the control bit is low (0), the COM post and NO post does not make contact.

In normal power-up and reset, the relay is in low status.

A Look at ND-6060 & Pin Assignment

Pin Definitions of NuDAM-6060

Pin # Signal Name Description
1 DI5+ Digital Input Channel 5+
2 DI5 - Digital Input Channel 5 -
3 DI6+ Digital Input Channel 6+
4 D.GND Digital Input Ground
5 DI7+ Digital Input Channel 7+
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 DI0+ Digital Input Channel 0+
12 DI0 - Digital Input Channel 0 -
13 DI1+ Digital Input Channel 1+
14 DI1 - Digital Input Channel 1 -
15 DI2+ Digital Input Channel 2+
16 DI2 - Digital Input Channel 2 -
17 DI3+ Digital Input Channel 3+
18 DI3 - Digital Input Channel 3 -
19 DI4+ Digital Input Channel 4+
20 DI4 - Digital Input Channel 4 -
Pin # Signal Name Description
1 DI3 Digital Input Channel 3
2 DI2 Digital Input Channel 2
3 DI1 Digital Input Channel 1
4 DI0 Digital Input Channel 0
5 Ext24 External Common +24V
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 RL1 NO Relay 1, normal open
12 RL1 COM Relay 1, common ground
13 RL2 NO Relay 2, normal open
14 RL2 COM Relay 2, common ground
15 RL3 NO Relay 3, normal open
16 RL3 NC Relay 3, normal close
17 RL3 COM Relay 3, common ground
18 RL4 NO Relay 4, normal open
19 RL4 NC Relay 4, normal close
20 RL4 COM Relay 4, common ground

ND-6060 Functional Block Diagram





2. Initialization & Installation





2. 1. Software Installation

  1. If you had installed "NuDAM Administration" then skip other steps.
  2. Backup your software diskette
  3. Insert "NuDAM Administration" diskette into floppy drive A:
  4. Change drive to A:
  5. Installation command syntax

    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:

  6. NuDAM Administration Utility will be installed in the directory C:\NUDAM



2. 2. Initializing a Brand-New Module

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, however, every brand-new NuDAM has a factory default setting as following:

Therefore, to configure the brand-new NuDAM before using is necessary, otherwise the address ID will be conflict with others modules because the ID of new modules are identity . The baud rate may also be changed according to user`s requirements.

The following sections show how to initialize a brand-new module, which is applicable for initializing NuDAM-6050, NuDAM-6052, and NuDAM-6060.

Default State
The NuDAM I/O modules must be set at Default State when you want to change the default settings, such as the ID address, baud rate, check-sum status etc. All NuDAM I/O 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 communication between host and the module will can be easily set as the same configuration, the initialization of a module will be possible no matter what configuration is set under operating state.

Initialization Equipments

Initialization Procedure

  1. Power off the host computer and the installed NuDAM-6520. Be sure of the baud rate of the NuDAM-6520 is 9600 bps.
  2. Connect a brand new NuDAM module with the RS-485. Set the module in Default State by shorting the DEFAULT* pin. Refer to Figure 2.1 for detailed wiring.
  3. Power on the host computer.
  4. Power on the power supply for NuDAM modules.
  5. Use the NuDAM Administrating utility to configure the address ID, Baud rate and check-sum status of the module.

Initialization Wiring

Figure 2-1 Layout for Configuring the NuDAM module


2. 3. Install a New NuDAM to a Existing Network

Equipments for Install a New Module

Installing Procedures

  1. Configure the new NuDAM module according to the initialization procedure in section 2.2.
  2. The baud rate and check-sum status of the new module must be identity with the existing RS-485 network. The address ID must not be conflict with other NuDAM modules on the network.
  3. Power off the NuDAM power supply of the existing RS-485 network.
  4. Power off the host computer.
  5. Wire the power lines for the new NuDAM with the existing network. Be careful about the signal polarity as wiring.
  6. Wire the RS-485 data lines for the new NuDAM with the existing network. Be careful about the signal polarity as wiring.
  7. Wire to the input or output devices. Refer to section 2.4 for illustrations.
  8. Power on the host computer.
  9. Power on the NuDAM local power supply.
  10. Use the NuDAM administration utility to check entire network.



2. 4. Application Wiring for NuDAM-6050

Digital Input Connect with TTL Signal

Digital Input Connect with Switch or Push Button

Digital Output Connect with Power Loading




2. 5. Application Wiring for NuDAM-6052

Isolated Differential Input

Isolated Single Ended Input




2. 6. Application Wiring for NuDAM-6060

Form A Relay Output

Form C Relay Output

Digital Input : Contact Mode

Digital Input : Transistor Mode





3. Command Set





3. 1. Command and Response

Introduction

The NuDAM command is composed by numbers of characteristics, including the leading code, address ID, the variables, the optional check-sum byte, 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 are used to describe 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 (Hexadecimal) if no specified in the following.
2- character
(Command Variable) Items indicate command codes or value of variables.
Variable length
[Data] Some output command need 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.

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' = 0x30

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 characters.
2. At end of command need a <CR> carriage return 0x0D.
3. Checksum is optional parameter.

Response of NuDAM Commands

The response message depends on NuDAM command. The response is also composed with several characteristics, including leading code, variables, and carriage return for ending. There are two kinds 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 invalid.

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. One 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 category is the functional commands, which depends on functions of each module, not every module can execute all functions.

The third category is the special commands, including functions about the programmable watchdog timer, safe values, and the programmable leading code.

Command Set of Digital I/O Modules
Command Syntax Module
General Commands
Set Configuration %(OldAddr)(NewAddr)
(TypeCode)(BaudRate)
(CheckSumFlag)
ALL
Read Configuration $(Addr)2 ALL
Read Module Name $(Addr)M ALL
Read Firmware Version $(Addr)F ALL
Reset Status $(Addr)5 ALL
Functional Commands
Synchronized Sampling #** 6050,6060
Read Synchronized Data $(Addr)4 6050,6060
Digital Output #(Addr)(ChannelNo)
(OutData)
6050, 6060, 6052
Digital Input $(Addr)6 6050, 6060
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



3. 3. Set Configuration

@Description

Configure the basic setting about address ID, baud rate, and checksum.

@Syntax %(OldAddr)(NewAddr)(TypeCode)(BaudRate)(CheckSumFlag)<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)     
     (TypeCode)    Type Code is fixed 40H for Digital 
	                      I/O modules. (2-character)     
     (BaudRate)    Communication baud rate, refer to Table 3-1 for 
                          details. (2-character)     
     (CheckSumFlag)Define check-sum status, refer to Table 3-2 for 
	                      details. (2-character)  

@Response

!(Addr)<CR>
        or
?(Addr)<CR>
     
(Addr)     Address ID.     
!          Command is valid.
     
?          Command is invalid. Invalid parameter values,
                  When you wanted to change the setting without 
				  grounding the DEFAULT* pin.     

Note : When you want to change the checksum or baud rate then the DEFAULT* pin should be grounded at first.

@Example

User command: %0130400600<CR>
Response: !30<CR>

Item Meaning Description
% (Leading Code) Command leading code.
01 (OldAddr) Original address ID is 01H.
30 (NewAddr) New address ID is 30H (Hexadecimal).
40 (TypeCode) Digital I/O module.
06 (BaudRate) Baud rate is 9600.
00 (CheckSumFlag) 00 means checksum is disable.
<CR> Carriage return 0x0D.

Code Baudrate
03 1200 bps
04 2400 bps
05 4800 bps
06 9600 bps
07 19200 bps
08 38400 bps

Table 3. -1 Baud rate setting code

Table 3. -2 Check sum flag setting


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)(TypeCode)(BaudRate)(CheckSumFlag)<CR>
  or 
?(Addr)<CR>

     !             Command is valid.     
     ?             Command is invalid.     
       (Addr)         Address ID.     
       (TypeCode)     It always be 40 (Hex)  for digital I/O modules.     
    (BaudRate)     Current setting of communication baud rate, refer to Table 3-1 for details.      
    (CheckSumFlag) Current setting of check-sum flag, refer to Table 3-3. for details.     
           

Table 3. -3 Response of check sum flag

@Example
User command: $302<CR>
Response: !30400600<CR>

!      Command is valid.     
30     Address ID.     
40     Digital I/O module.     
06     Baud rate is 9600 bps.     
00     checksum is disable.



3. 5. Read Module Name

@Description

Read NuDAM module`s name.

@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.     

@Example
User command: $30M<CR> Response: !306050<CR>

     !        Command is valid.     
     30       Address     
     6050     ND-6050 (Digital I/O module)     



3. 6. Read Firmware Version

@Description

Read NuDAM module`s firmware version.

@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: !30A1.50<CR>

     !        Command is valid.     
     30        Address     
     A1.50     Firmware Version 



3. 7. Reset Status

@Description

Checks the reset status of module at specified address to see whether it has been reset since the last reset status command was issued to the module.

@Syntax

$(Addr)5<CR>

     $          Command leading code.     
     (Addr)     Address ID     
     5          Reset Status Command 

@Response

!(Addr)(Status)<CR>
  or
?(Addr)<CR>

     !          Command is valid.     
     ?          Command is invalid.     
        (Addr)     Address ID.     
     (Status)   0 : It has not been reset since the last reset
                       status command was issued.
					   1 : It has been reset since the last reset
					   status command was issued     

@Example
User command: $305<CR>
Response: !300<CR>

Status is 0 means this digital I/O module has not been reset,
since the last reset status command was issued.


3. 8. Digital Output

@Description

Set digital output channel value at specified address. This command is only available to modules involving the digital output function, such as NuDAM-6050 and NuDAM-6060.

@Syntax

#(Addr)(ChannelNo)(OutData)<CR>

     #           Command leading code. (1-character)     
     (Addr)      Address ID (2-character)     
        (ChannelNo) 00 : Set value to all channels   
		                1X : Set value to single channel  
						First character is 1, Second character is 
						channel number.  (2-character)     
     (OutData)   Set value to all channels     : 
                        Each bit is mapping to each channel number
                        Set value to single channel : 
						First character is 0, second character is set  
						to value 0 or 1. (2-character)     

@Response

><CR>
or
?(Addr)<CR>

     >     Command is valid     
     ?        Command is invalid.     
     (Addr)   Address ID.     

@Example
User command: #300003<CR>
Response: ><CR>

     30     Address ID     
     00     Set output to all channels     
     03     03 (00000011), Channel 0 and 1 are set ON other channels are set to OFF     


     User command:     #2F1201<CR>     
     Response:         ><CR>     

     2F     Address ID     
     12         1 : Set output to single channel
                2 : Output single channel is channel 2      
     01     Set single channel to ON     



3. 9. Synchronized Sampling

@Description

Synchronized all modules to sample input values and stored the values in the module's register at the same time and use "Read Synchronized Data" command to read the data and process it one by one.

For digital I/O module, this command is only available to modules involving the digital input function, such as NuDAM-6050 and NuDAM-6052.

@Syntax

#**<CR>

     #     Command leading code.     
     **    Synchronized sampling command     

@Response
Note : Synchronized sampling command has NO response.

@Example
User command: #**<CR>

Synchronized sampling command has no response.


3. 10. Read Synchronized Data

@Description

After a synchronized sampling command #** was issued, you can read the input value that was stored in the addressed module's register and use same method to process other module`s data one by one.

@Syntax

$(Addr)4<CR>

     $          Command leading code.     
     (Addr)     Address ID     
     4          Read synchronized data.

@Response

ND-6050 module response :
	>(Status)(DataOut)(DataIn)00<CR>             
ND-6060 module response :
	>(Status)(DataOut)( DataIn)00<CR>             
ND-6052 module response :
	>(Status)(DataIn)0000<CR>             
   or
?(Addr)<CR>
     >         Command is valid.     
     ?            Command is invalid.     
        (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)     
     (DataOut)    Value of digital output channel. (2-character)     
     (DataIn)     Value of digital input. (2-character)     

@Examples

Example for NuDAM-6050 :

User command: $304<CR>
Response: >1065200<CR>

>     Command is valid.     
1     Data has not been sent before.     
06     06 (00000110) means digital output channel 1,2 are ON, channel 0,3,4,5,6,7 are OFF.     
52     52(01010010) means digital input channel 1,4, 6 are HIGH, channel 0,2,3,5,7 are LOW..     



3. 11. Digital Input

@Description

Read the digital input channel value and readback the digital output channel value.

@Syntax

$(Addr)6<CR>

     $          Command leading code.     
     (Addr)     Address ID     
     6          Digital data input command. 

@Response

ND-6050 module response :
	!(DataOut)(DataIn)00<CR>             
ND-6060 module response :
	!(DataOut)(DataIn)00<CR>             
ND-6052 module response :
	!(DataIn)0000<CR>             
  or
?(Addr)<CR>

     !            Command is valid.     
     ?            Command is invalid.     
       (DataOut)     Value of digital output channel. (2-character)     
     (DataIn)     Value of digital input. (2-character)

@Example
User command: $306<CR> Response: !321100<CR>

!     Command is valid.     
32     32  (00110010) means digital output channel 1, 4, 5 are ON, channel 0, 2, 3, 6, 7 are OFF.
11     11 (00000011) means digital input channel 0, 1 are HIGH and channel 2, 3, 4, 5, 6, 7 are LOW.     
00     No used



3. 12. 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. 13. 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 ***




3. 14. Set Host Watchdog Timer & Safety Value

@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)8 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: ~0621121C<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)     
1C     1C (00011100) Digital output channel DO3, DO4 and DO5 are high, the others are low.     



3. 15. Read Host Watchdog Timer & Safety Value

@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)8 channels safety state digital output value
	                   when host is failure. (2-character)     

@Example
User command: ~063<CR>
Response: !061121C<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)
1C 1C (00011100) Digital output channel DO3, DO4 and DO5 are high, the others are low.

Between 959 ms (Fireware Version 1.x) or 1800 ms (Fireware Version 2.x) time period, if host does not send (Host is OK) then digital output will change to safety state 1C ( 00011100) means digital output DO3 , DO4 and DO5 is high, others are low.


3. 16. Host is OK

@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.14. "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>






©1995 Circuit Specialists, Inc.