Productivity Network (ProNET)

The ability to share data w/P Series CPU’s 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 of the 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 does limit 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.

The ProNET configuration works with an 1D array tag(s) that can contain up to 65535 elements, however you are 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 input logic to the ProNET configuration is Enabled, at a fixed rate of 10 times per second (100 msec.), the instruction will publish all of the elements of the array that it is configured to publish, and will process any ProNET nodes that it receives. When the input logic is OFF, (the device is disabled), it DOES NOT publish any of its tags and DOES NOT process any ProNET nodes that it receives.

Publishing & Subscribing

ProNET uses the verbs ‘publishing’ and ‘subscribing’ to describe how the controller’s data is exchanged with other P Series controller 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 storing 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.

Publish Configuration

  1. Global ID: Enter a constant unique value between 1-32 to identify on the ProNET network.
  2. Enable: Enter a Boolean tag into this field in order to programmatically enable the configured publisher.
  3. 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 in order to match the publisher configuration.
  4. 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.

Data Type

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 in order to match the Adapter 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: You are limited to a total of 32 publisher or subscribers per project.

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.

Note: If this option is selected, any subscribers on the network must have the same option selected and datatype, or you will get a datatype mismatch.

Subscribe Configuration

  1. Listen for Global ID: Enter a constant unique value between 1-32 to identify on the ProNET network.
  2. Enable: Enter a Boolean tag into this field in order to programmatically enable the configured subscriber
  3. 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 in order to match the subscriber configuration.
  4. 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.

Note: Ensure the data type of the array assigned matches the publisher you are requesting.

Data Type

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 in order 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: You are limited to a total of 32 publisher or subscribers per project.

Note: If there are duplicate subscriber’s, meaning two publishers have the same global ID, that the subscriber will receive the data from both publishers as long as 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.