|
|
Topic: P281 |
Productivity Network (ProNET) |
|
The ability to share data between P-Series CPUs can easily be accomplished using the Productivity Network (PNET) setup in the hardware configuration window that is used to join a data sharing network that consists of other P-Series Controllers.
Each member of the data sharing network receives data from all other P-Series controllers on that data sharing network. Each node can optionally send data to the other nodes of the data sharing network by electing to "publish" data.
The ProNET configuration uses UDP broadcast packets to publish the blocks of data to the network. One caveat with the use of broadcast packets is that it limits the scope of the shared data network to the local broadcast domain.
Note: Even though the ProNET configuration uses broadcast packets, the on-board Ethernet port still needs to be configured with a TCP/IP address and Subnet Mask that is unique on the local network.
ProNET works with 1D array tag(s) that can contain up to 65535 elements, but is limited to 32 total 32-bit elements, 64 total 16-bit elements, or 128 total 8-bit or Boolean elements of data per publisher array data type. These tags provide the local storage for the data that is sent and received over the data-sharing network.
When the Publish Enable or Subscribe Enable bits in the ProNET configuration are ON, the instruction will publish all elements of the configured array or will process any ProNET nodes that it receives, at a fixed rate of 10 times per second (100 msec). When the Enable bits are OFF (disabled), the instruction DOES NOT publish any of its tags and DOES NOT process any ProNET nodes that it receives.”
ProNET uses the terms 'publish' and 'subscribe' to describe how the controller's data is exchanged with other P-Series controllers on the data sharing network.
Publishing is analogous to sending data, and is done only if ProNET is configured to 'publish' one or more of its assigned tags. If so configured, the P Series controller will broadcast a packet that contains the data from the selected tags. ProNET uses 1D arrays for sharing data. There can be a maximum of 32 publishers and/or subscribers defined (32 unique global identifiers available) per project on the data sharing network. A P-Series controller can be configured to publish 32 32-bit elements, 64 16-bit elements, or 128 8-bit or Boolean elements per array data type.
Note: The message size for each data type is limited to 128 bytes regardless of the array size defined.
|
Datatype |
Number of Elements |
|
Boolean |
128 |
|
Integer 8-bit |
128 |
|
Integer 16-bit |
64 |
|
Integer 32-bit |
32 |
|
Float |
32 |
Note: A maximum of 32 publishers or subscribers is allowed per project.
Note: Zeroes will be filled into tags between the defined array size and the 128 byte limit per data type. Example: A user defines a 10 element, 32-bit array (40 bytes), the other remaining 54 elements (41-128 bytes) will be set to zeroes.
Note: If this option is selected, any subscribers on the network must have the same option selected and data type, or you will get a data type mismatch.
Ethernet Port: By default the ProNET Subcriber will use the CPU External Ethernet port (CPU-ETH-Ext). If the CPU has a second Ethernet port that is user configurable, the Remote Ethernet port (CPU-ETH-Remote) can be selected as port the ProNET Subscriber uses.
Note: Ensure the data type of the array assigned matches the publisher you are requesting.
|
Datatype |
Number of Elements |
|
Boolean |
128 |
|
Integer 8-bit |
128 |
|
Integer 16-bit |
64 |
|
Integer 32-bit |
32 |
|
Float |
32 |
Note: If this option is selected for a publisher on the network, then the subscriber must have the same option selected and datatype, or you will get a datatype mismatch.
Note: A maximum of 32 publishers or subscribers is allowed per project.
Note: If there are duplicate publishers, (two publishers with the same global ID), the subscriber will receive data from both publishers if the data type is the same.
Note: Zeroes will be filled into tags between the defined array size and the 128 byte limit per datatype. Example: A user defines a 10 element, 32 bit array (40 bytes), the other remaining 54 elements (41-128 bytes) will be set to zeroes.