Creating Links between Controllers

Links between controllers enable the transfer of values between producer and consumer variables defined in bindings. Before defining variable bindings, create links between controllers with producer variables and consumer variables to use in these bindings.
To use bindings, define at least one Ethernet port to be used by SNCP bindings. When multiple ports are defined, each IP address is pinged to locate accessible links. Communication occurs on the first Ethernet port (slice) selected in the list of ports; the other addresses continue to be pinged. If a timeout occurs on the active link, communications switch to another IP address. To use bindings, configure the SNCP link properties.
TIP: To correct the port configuration when reopening a project after changing the port selection:
  1. Export the variables used in bindings between both controllers.
  2. Delete the incorrect binding link and save changes.
  3. Recreate the binding link and save changes.
  4. Import the exported variables.
cmv_clc
Binding contains these SNCP link properties:
Property
Description
Consume Status Variable
The wired variable used to report the health status of the link. The data type of the variable must be DINT. A healthy binding link returns a value of 0, while a link containing a fault returns a non-zero value.
TIP: To obtain the correct status, ensure the first mapped variable in the Bindings list does not use the LINT, ULINT, LWORD, or LREAL data type.
Bind Request Timeout
The time period the producer waits to receive a binding data request from the consumer, in milliseconds. In the event of a timeout, the consumer is disconnected. Subsequent requests from the consumer are ignored until the consumer establishes a new connection.
TIP: The network binding parameters, for example timeout values, of the consumer are found in the producing controller.
The network binding parameters, for example timeout values, of the consumer are found in the producing controller.
Possible values range from 0 to 65535 milliseconds. The default value is 10000 milliseconds.
Bind Response Timeout
The time period during which the consumer awaits binding values from the producer, in milliseconds. In the event of a timeout, the consumer can send another request (dependent on the value of Max Age) or disconnects from the producer.
The number of requests sent is calculated as:
Max Age/Bind Response Timeout
Once disconnected, the consumer attempts to reestablish the connection by sending a
Connect
request at Connect Timeout intervals.
Possible values range from 0 to 65535 milliseconds. The default value is 1200 milliseconds.
Connect Timeout
The time period during which a consumer awaits a connection response from a producer, in milliseconds. In the event of a timeout, the consumer sends another
Connect
request. The consumer continues to send requests until a connection is established.
Possible values range from 0 to 65535 milliseconds. The default value is 10000 milliseconds.
Max Age
The total time, in milliseconds, during which the consumer awaits a valid response from the producer before considering the physical network unhealthy. Stale, corrupt, and out of sequence responses are considered invalid. Continuing to receive these types of responses can indicate underlying network issues, demonstrated by the unhealthy network status. The unhealthy status is reported by the KvbConsNetStatus and KvbProdNetStatus function blocks.
The number of requests is calculated as:
Max Age/Bind Response Timeout
The
Max Age
is also used to verify the age of the binding response received by the consumer. If a response contains data older than
Max Age
, the response is discarded. Discrepancies may occur when a response is delayed due to network issues.
Possible values range from 0 to 65535 milliseconds. The default value is 2500 milliseconds.
Update Timeout
The timeout period during which a consumer and producer must reconnect after an update has modified the binding information, in milliseconds.
IMPORTANT: Perform updates as quickly as possible to avoid timeouts.
During the
Update Timeout
period, the configured consume status variable continues to indicate a healthy status even though no connection exists between the consumer and producer. In the event of a timeout, the consume status variable becomes unhealthy.
Possible values range from 0 to 65535 milliseconds. The default value is 60000 milliseconds.
Comment
Plain text
IMPORTANT: Linked controllers must have the same SNCP Link Properties.
Timeout Example
This example displays the timeout behavior when
Max Age
is set to 2500 ms and
Bind Response Timeout
is set to 1000 ms:
cmv_te
To create a link between controllers
  1. In the
    Communication View
    , expand the required controller to link, then right-click
    Bindings
    , point to
    Add Controller Link
    , and then click the controller with which to link.
  2. Double-click the
    Bindings
    link.
    cmv_mvb
    The
    Communication
    property page is displayed with the
    Allow Communication
    and
    SNCP Link Properties
    sections.
  3. From the
    Communication
    property page, in the
    Allow Communication
    section, select the required Ethernet ports. The available Ethernet ports are those defined for the individual controllers.
  4. In the SNCP Link Properties section, enter the required values for the following properties:
    • Bind Request Timeout (ms)
    • Bind Response Timeout (ms)
    • Connect Timeout (ms)
    • Max Age (ms)
    • Update Timeout (ms)
  5. If required, click eqv_spv to wire a
    Consume Status Variable
    .
    The Variable
    Selector
    is displayed.
  6. In the
    Variable Selector
    , select the required variable of type DINT, and then click
    OK
    .
  7. (optional) To delete a link between controllers, do the following:
    1. In the
      Communication View
      , expand the required controller, and then expand
      Bindings
      .
    2. Right-click the controller link to remove, and then click
      Delete
      .
Provide Feedback
Have questions or feedback about this documentation? Please submit your feedback here.
Normal