How do you optimize performance when connecting a controller of the Allen-Bradley "SLC 5/05" or "MicroLogix" type to a SIMATIC Comfort Panel or the WinCC (TIA Portal) Advanced Runtime?
The measures given below reduce the overhead in communication between the operator panels and the Allen-Bradley controllers, through which you achieve a maximum effective data rate.
Refer here also to the TIA Portal and RSLogix500 projects available for downloading, in which examples are given for the relevant configurations.
- Bit messages:
Configure the bit messages (Errors and Warnings) continuously as far as possible with a minimum of arrays. The same holds for the HMI acknowledge tag of bit messages (Errors).
An example is given in the attached TIA project under "HMI Messages" and "HMI Tags" in the "Alarms" folder.
The communication load is reduced in that the Runtime groups the tasks to the controllers in as few messages as possible.
Configure the controller memory addresses of separate words (B and N files) as close together as possible and in the same data file.
Example: Screen "Word Tags" "HMI Tags" in the "Word Tags" folder in the attached TIA project
- Float (double-words):
Configure the controller memory addresses of separate elements in F files as close together as possible and in the same data file.
Example: Screen "Float Tags" and "HMI Tags" in the "Float Tags" folder in the attached TIA project
Configure as few single bits as possible (BOOL data type). Instead, configure words and double-words so that they are close together in the controller data file.
The functions "InvertBitInTag", "ResetBitInTag" and "SetBitInTag" are to be used in preference to the functions "InvertBit", "ResetBit" and "SetBit".
Example: Screens "Bits" and "ChangeBitInTag" and "HMI Tags" in the folders "BitInTags" and "TagsForBits" in the attached TIA project
If the controller memory addresses used are processed by both the operator panel and the controller, make sure that the functions "InvertBitInTag", "ResetBitInTag" and "SetBitInTag" work by ReadModifyWrite.
This means that the word or double-word is first read into the operator panel, then changed and finally written to the controller. If the controller changes its value in the meantime, this change is overwritten. This might lead to errors.
- Reading tags continuously:
If possible, avoid configuring tags with the acquisition type "Cyclic-continuous", because this permanently impairs performance.
- Array elements:
The use of individual array elements as process tags in IO fields is not supported with the "Allen-Bradley Ethernet/IP" communication driver when you select the CPU types "SLC, MicroLogix". Therefore you cannot improve performance in this way. Arrays are supported in the case of bit messages (Errors and Warnings) and bit-triggered trends.
- Scripts in screens:
Process tags used in scripts are updated with their acquisition cycle as soon as a screen is opened in which the script concerned is incorporated (via a button, for example). These updates might generate a high data load under circumstances.
- Scripts in tasks:
Process tags used in tasks in scripts are updated continuously with their acquisition cycle. They behave as if configured with the acquisition type "Cyclic-continuous".
Recommendation: Place as many calculations and other tasks as possible in the controller and only read out the results on the operator panel.
- As far as possible configure the archives with the "segmental circular log" archiving method and avoid the "circular log" archiving method.
- The controller types SLC 5/05 and MicroLogix support the command "SVC" [Service Communications]. In this way the "Communication" service is executed in addition during the unfinished controller cycle. This speeds up the processing of requests and tasks of the operator panel by the controller.
It is imperative to refer here to the descriptions and notes of the controller manufacturer.
Example: In the attached Allen-Bradley controller program the command has been integrated for better understanding. The "SVC" command is effective in particular when the controller program used has a high cycle time. The cycle time in the attached controller program is still too short to recognize the effects of the "SVC" command.
109475773_ExampleProject_SLC5_05_V15.zip (7,0 MB)
SHA256 checksum: 8F49E2482F4D7FA15E8CA6F141B00FA76AFF5E40C814D00AF195016EAD43D1AB
109475773_AB_Communication_RS_Logix.zip (18,7 KB)
SHA256 checksum: C8D1C706CCB8B8B4F9BFC71D04C5E2BCFA98E20354FB5505B275F710687D07BA