Applies To:
  • CitectSCADA x.x

When choosing or designing a protocol, what are the relative merits of Polling based versus exception based methods of data retrieval. 

There are a number of issues to consider when evaluating the relative merits of each:
  • Citect optimizations
  • Communication media speed
  • Startup initialization methods

These will be considered in the following discussion.

Polling involves the master requesting information it requires, but it has no method of determining whether data has changed since the last poll. So, the communications channel may be busy servicing data that has not changed since the last poll. Polling however has typically well defined response times so that the master knows immediately when the device goes offline. It also has the advantage that the initial startup sequence to find the state of all variables is not any different to the normal polling.

Exception based reporting involves the slave sending any changed information to the master without the master having to request it. This means that the communication channel is not tied up repeatedly handling data that has not changed, but if the master does not need to know this information a similar scenario exists as for the polling method in that needless information is transmitted. There is usually no mechanism to determine online status should nothing change in the slave. Also, the master has no method of knowing what the status of the combined data is on startup.

Due to the limitations in both methods, hybrid systems are sometimes employed including update lists, startup polls, heartbeats etc.

With the Citect optimizations which mean Citect only polls for data that is currently needed, and the high speed communication links (like Ethernet) now employed, there is little to recommend one method versus another. It may be that the polling method is quicker in some cases due to the reduced complexity of the device driver.