APPENDIX D

Adding Data Field Comfirmation

With serial communications in a laboratory environment, the possibility of a communication error occurring is minimal. However, in a harsh or an industrial environment the possibility increases. A communication error occurs when a bit transmitted as a “1” is received as a “0” or vice versa. If the 485SDD16 receives a error in one or more of the first four command characters (“!0xx”), the unit will not execute the command. However, if the 485SDD16 receives an communication error on a data byte (I/O byte for Read Digital command or state byte for Set Output State command), the command will be executed since the unit has no way of knowing that there was an error.

To provide the 485SDD16 with a way of detecting errors in the data fields, an additional set of commands can be used. This set of commands begins with the “#” (23h) character, instead of the “!” (21h) character. Refer to Table D-1. With these commands every data byte that is transmitted or received is followed by its complement. For example: To read I/O lines:

Command syntax:

#{addr}RD

Response syntax:

{I/O msb}{~ I/O msb}{I/O lsb} {~ I/O lsb}

Where “~” is used to indicate the “complement of.” If I/O has a reading of 1, the following would be received:

{00}{FF}{01}{FE}

Where FFh is the complement of 0 and FEh is the complement of

1.The complement of number “x” can be calculated in QuickBasic as follows:

comp = (NOT x) AND &HFF

485SDD16-1005 Manual

Appendix D

D-1

D-2

Appendix D

485SDD16-1005 Manual

B&B Electronics -- 707 Dayton Road -- Ottawa, IL 61350

B&B Electronics -- 707 Dayton Road -- Ottawa, IL 61350

PH (815) 433-5100 -- FAX (815) 433-5104

PH (815) 433-5100 -- FAX (815) 433-5104

Page 27
Image 27
B&B Electronics 485SDD16 manual #addrRD, Msb~ I/O msbI/O lsb ~ I/O lsb, 00FF01FE, Comp = not x and &HFF