Applies To:
  • CitectSCADA 5.xx

In some cases driver writers who would like their driver to run on top of the CCSARC low level driver, may need to use ARCNET hardware standard with the proprietary board from Contemporary Control Systems, but not use the ARCNET protocol standard. This is usually because the device was developed before the ARCNET standard was fully complete. 

This extension will change the behaviour of the CCSARC driver when the flag -R is set in options field of board form. The new behaviour will be as follows:

1) The SID, DID, msbcount and lsbcount fields in the ARCNET packet will no longer be transmitted as part of the default processing of the CCSARC driver. It is up to the higher level driver to add custom header information.

2) The arcnet driver will not strip off header information on incoming packets. The higher level driver must handle this function. Also, as it is not possible for the Contemporary Control Systems card to tell the CCSARC driver how long an incoming packet is, then all incoming packets are assumed to be 512 bytes and it is up to the higher level driver to determine the end of the packet, and ignore garbage bytes after the end.

To facilliate the writing of higher level drivers using this option, two parameters, SourceID and DestID, were made available to the driver writer through the COMGetParam and COMSetParam functions (described in the driver development kit documentation). The two functions are specified below:

COMGetParam(SHORT port, UCHAR * Name, UCHAR * Value)
COMSetParam(SHORT port, UCHAR * Name, UCHAR * Value)

To set the Name field for use with the two parameters use respectively "SOURCE_ID", and "DEST_ID".