Setting up communicaton link compact 800
Voted best answer
Access variables allow data exchange between controllers, that is, access variables can be accessed by other controllers.
Access variables are needed when the system works as a server. Allowed protocols are MMS, COMLI, MODBUS TCP and SattBus. MMS and SattBus variables are declared in the Access Variable Editor under the corresponding tab, COMLI and MODBUS TCP variables under the Address tab. The variable name must be unique within the physical control system.
Open the Access Variable Editor by right-clicking the ‘Access Variables’ icon under the respective Controller and select Editor.
The communication variables are used for cyclic communication between diagrams,programs, and top level single control modules in the system network that uses MMS communication protocol.
Two applications may communicate with each other via variables, but these variables must be declared as access variables. Variables for communication between applications must always be declared as access variables.
In the above referenced manual there is also a description of another way of communication, that was released in v5.1 of the Control Builder. It's called Inter Application Communication (IAC).
It's a more automized way to setup communication. There is a new folder in the declaration pane of the Control Builder where communication Variables are possible to declare. This is a new type of variable. The variable must be declared with a unique name in the "system", and an update time, and a reference to a task cycle time is given. The update of the variable on the network will be deterministic, which MMS can't provide. MMS is running with a lower priority in the controller, and hence the update time can't be guaranteed. With IAC the update time can be decided, and if 3 updates are missed the value specified in the parameter Input Set As Predefined will be activated.
Within a Control Builder project referencing by name is possible, between different Control Builder projects IP address and name is needed.
With IAC there is no need for Access Variables setup, and no need for any comunication blocks to be added into the application. This gives obviously higher efficiency while programming, since less declarations, and less Functionblocks to be added.
This new way of communication, is described in the above referenced manual on p69 (Compact Control Builder Configuration 3BES040935-510).