Applies To:
  • CitectSCADA 5.00

Question: How does the Comx driver detects the end of an incoming stream of characters? 

When operating the Comx driver in interrupt mode, the Comx driver should only call back to the protocol driver when it detects the end of a incoming frame. It should not call the protocol driver on every character received. The Comx driver call back to the protocol drivers when there is a pause of [Comx]CharTimeOut number of character time in the incoming stream. One character time is the time it takes to sent one character.

Setting a low value will cause too many call backs to the protocol driver. Setting a value too high may cause the protocol driver to be delayed in responding to the incoming characters.

The default value for CharTimeOut is 5 character time. Which should work satisfactorily for a receive FIFO buffer size of 4 bytes. For receive FIFO buffer size of 8 and 14 bytes the CharTimeOut should be set to 8 and 10 respectively.

A receive FIFO buffer size of 1 will cause comms errors even on a Pentium 100 MHz machine.

For Window 95 the FIFO buffer size can be modified via Control Panel / System / Device Manager / Ports Communication Ports/ Port Settings / Advanced.