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.”


Publish & Subscribe

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.

Publisher Configuration

  1. Global ID: Select an identification number for this device on the ProNET network.
  2. Ethernet Port: By default the ProNET Publisher 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 Publisher uses.
  3. Enable: Enter a Boolean tag into this field to programmatically enable the configured publisher.
  4. DataType: Field that displays the data type of the selected Data Array. This helps to determine the size of the output data that needs to be configured to match the publisher configuration.
  5. Data Array: The array specified in this field will hold the output data being sent to any listening device.

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


  1. Use Second Data Block: Check this selection if another array of data will be sent to any listeners.
  2. Data Type: This is a read-only field that displays the data type of the selected Data Array. This helps to determine the size of the input data that needs to be configured to match the publisher configuration.
  3. Data Array: The array specified in this field will hold the output data being sent to any listening device. The size of the array must be sufficient to support the specified Number of Elements being requested.
  4. Duplicate Publisher: Enter a Boolean tag to indicate when a duplicate publisher's global ID is found on the ProNet network.

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.


Subscriber Configuration

  1. Listen for Global ID: Select an identification number for this device on the ProNET network.
  2. 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.

  3. Enable: Enter a Boolean tag into this field to programmatically enable the configured subscriber
  4. Data Type: This is a read-only field that displays the data type of the selected Data Array. This helps to determine the size of the input data that needs to be configured to match the subscriber configuration.
  5. Data Array: The array specified in this field will hold received data from a publishing device. The size of the array must be sufficient to support the specified Number of Elements being requested.

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

  1. Use Second Data Block: Check this selection if another array of data will be received from any publishers.

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.

  1. Data Type: This is a read-only field that displays the data type of the selected Data Array. This helps to determine the size of the input data that needs to be configured to match the subscriber configuration.
  2. Data Array: The array specified in this field will hold the input data being received from any publishing device. The size of the array must be sufficient to support the specified Number of Elements being requested.
  3. Activity: Boolean tag used to indicate if any data activity is being received from the publisher.
  4. Datatype Mismatch: Enter a Boolean tag to monitor if a data type mismatch is detected between the Publisher and the data type configured in the Subscriber.

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.