Network Variables List (NVL) Rules
Due to some performance limitations, respect the following rules:
Number |
Rule |
---|---|
1 |
Data transmission from one NVL (sender) to one NVL (receiver) should not exceed 200 bytes. |
2 |
Data exchange between several NVL (sender) of one controller and their associated NVL (receiver) should not exceed 1000 bytes of variables. |
Rules on the Number of Datagrams
To limit the maximum cycle time of NVL tasks, respect the following rules:
Number |
Rule |
Description |
---|---|---|
1 |
Limit the number of received datagrams per cycle to 20. |
When the limit is exceeded, the remaining datagrams are treated in the next cycle. A notification Received overflow is raised in the diagnostics data when the limit is reached. One datagram can contain up to 256 bytes. That means that you should not exceed the limit of 5120 bytes of data transmitted to one receiver. |
2 |
Limit the number of transmitted datagrams per cycle to 20. |
When the limit is exceeded, the remaining datagrams are treated in the next cycle. A notification Transmit overflow is raised in the diagnostics data when the limit is reached. One datagram can contain up to 256 bytes. That means that you should not exceed the limit of 5120 bytes of data transmitted by one sender controller. |
If the number of received / transmitted datagrams per cycle exceeds the limit several times, the following may happen:
oLoss of UDP (user datagram protocol) datagrams
oIncoherent or inconsistent exchange of variables
Adapt the following parameters according to your needs:
oCycle time of sender controller
oCycle time of receiver controller
oNumber of senders in the network
NOTICE |
LOSS OF DATA |
Thoroughly test your application for proper transmission and reception of UDP datagrams prior to placing your system into service. |
Failure to follow these instructions can result in equipment damage. |
Maximum Number of NVL (Sender)
Define a maximum of seven NVL (sender) per controller (sender) to help maintain performance transparency.
Rules on Task Cycle Times of NVL (Sender) and NVL (Receiver)
To help avoid reception overflow, you must define a cycle time for the task that manages the NVL (sender) transmission that is at least two times greater than the cycle time of the task that manages the NVL (receiver) reception.
Rules on the List Identifier Protection
The NVL function includes a list identifier checking:
The list identifier helps to avoid that an NVL (sender) from two separate controllers with the same list identifier (see dialog box GVL > Properties > List identifier:) sends datagrams to the same NVL (receiver) of any controller. If the List Identifier is not unique, this can cause an interruption in the exchange of variables.
NOTICE |
LOSS OF COMMUNICATION |
Ensure that the list identifier in the network is only used by one IP address. |
Failure to follow these instructions can result in equipment damage. |
The list identifier checking function is implemented in the receiver controller.
If an NVL (receiver) detects that two different IP addresses are using the same list identifier, the receiver immediately stops to receive datagrams.
Furthermore, a notification is issued in the NETVARGETDIAGINFO function block. The IP addresses of the two senders are provided in the output parameters dwDuplicateListIdIp1 and dwDuplicateListIdIp2 of this function block.
With the function block NETVARRESETERROR, the detected NVL errors are reset and the communication is restarted.
Consistency in the Type of Network Variables
NOTE: The type of the network variable is not shared between different controllers. You have to ensure that the used types have the same definition on all devices; otherwise NVL communication is not possible.
This applies, for example, to the types SEC.ETH_R_STRUCT or SEC.PLC_R_STRUCT. They are available by default in various controllers with different size or fields.