Applies To:
  • CitectSCADA x.xx

Using the SIEMENS protocol (CP525/CP524 3964R Procedure RK512 Interpreter) often results in poor communication performance. What do you have to do to get the best performance? 

Every protocol has a certain fixed overhead on each read operation performed. Depending on the size of this over head it is normally more desirable to read as many registers as possible in one read operation. See "Performance Considerations" in the online help for general information on this. The problem that may arise with the SIEMENS and some other protocols is: The Siemens PLC allows you to define lots of data blocks for grouping registers. This may be very nice for organising your PLC resources, however it may have a severe impact on your communications. The protocol does not allow registers from one block to be read in the same operation as registers in another block. eg if you have blocks D10, D11, D12, D13, D14. Then you configured a graphics page that required a few registers from each of these blocks. Most of the read operation is typically overhead, say 700 msec total. This would mean to update this page it would take 700 msec * 5 = 3.5 seconds. If all the data had been in one block then the page update would be approximately 700 msec, a considerable improvement. OK so you may decide to create a data block for all graphics pages, another for all alarms and another for all trends. This is an improvement but it may still hinder some of the dynamic optimisation in the Citect I/O Server. For example the I/O server could block a request from the Alarm server and the Display system into one request, but only if they are in the same block. This knowledge should help you plan your use of data blocks in the PLC.