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. |