Applies To:
  • CitectSCADA 5.xx

The general operational sequence for connection to PLCs via the PSTN is shown below for Citect V5.2x & V5.3x. 


In Citect V5.3x Citect will only use modems in the database.

At least one modem must be configured as per each unique I/0 device attributes, that is speed/parity/start/stop bits. Must first add Modem in windows control panel then set-up modems profile.

Redundancy will not work in V5.2x.

Dial out:

1. All units waiting to dial go into a dial queue.

2. In Citect V5.3x, Citect searches its modem database for compatible modem to suit port configuration.

3. If no modem available, unit stays in queue until available, in V5.3x, until [dial]maxqueuetime is exceeded. The tag values go into # wait condition if the unit cache has timed out.

While a compatible modem is available then dial. If it can not connect then retry [dial]retries= amount of times. If it can not get through then put unit "off line", remove it from queue and tags go into #com.

4. Connect and initialise the unit and put it on line, service all pending write requests and then all read requests, unit cache is refreshed.

Stay connected until all driver requests are satisfied or [dial] MaxConnectionTime is reached then remove unit from dial queue. Hang up modem.

If there is a communication error then #com and unit put unit offline. Modem should disconnect when device is put off line.

Stand-by unit:

Only dials when stand-by is activated. There is no periodic polling of stand-by devices. If the stand-by I/O server becomes the active server, then subequent dial outs will be performed by the primary server on next schedule.

Dial In:

1. Modem must not be an AutoAnswer modem.

2. Citect reads ring signal, Telephone API answers and makes a connection.

3. Citect waits on port for caller ID ( ASCII text, "cit<callerID>" );

If no call ID within [dial] MaxConnectionTime, call is dropped or in V5.3x, until [dial]calleridtimeout. If correct ID - correct unit is put on-line and proceeds as per dial-out sequence step 4 above.

#wait = when requests are unanswered or cache times out.

cache timeout = schedule period (mSec) * number of [Dial] ConnectionRetries.

Caller ID = any ASCII text that is in the I/O devices form Caller ID field.

Is received by the I/O server in the form "cit<callerid>".