Layer 8 – P-NET Channel Structure
Typically, a P-NET Fieldbus device is a sensor, an actuator or an interface module. It can relate to one or more process signals, i.e. a digital output or an analog input. Each process signal is associated with additional information, apart from just the state or the value of the signal.
These variables, which are related to the process signal, deal with specific functions for configuration, conversion, scaling, filtering, error messages etc.
In P-NET, this collection of related variables and functions for a single process signal is regarded as a Process Object, and is called a Channel.
A Channel contains all the necessary data to support the required control functions for the process object. It also includes support for maintenance and technical management of the plant equipment.
A Channel is structured as 16 registers, each having their own relative logical addresses, called SOFTWIRE numbers (SWNo).
These 16 variables or constants within a Channel, can be of any type, including complex, and can be located in different memory technologies.
In order to give a specific example of a standard interface Channel, a Digital I/O channel is illustrated.
Such a Channel can be configured for various functionality, including automatic functions. These functions are input, output, one shot output, timer output etc.
The function is selected by setting a code in the ChConfig register. When the output is configured for timer functions, the preset registers SWNo x7 & x8 are used.
While the input/output pin is active, the OperatingTime register measures the time, and a transition on the pin will increment the Counter, to record input or output activations.
The current in the output load is measured, and can be read in SWNo x3.
MinCurrent and MaxCurrent can be used as a kind of feedback signal to see if the load is connected, and to protect the output and the load.
The Maintenance register can hold information about when and how the last maintenance was performed for the connected valve. The register called ChType must be present in all channels. It is a Record, consisting of a unique number, which defines the channel type, plus an array of boolean, indicating which registers are implemented.
The registers marked ‘*’ are not mandatory, and may be declared as unused.
One of the important features of P-NET, is error message handling. Therefore, each Channel has an Error Code register called ChError. This register contains error information related to the Channel and the values in its registers.
Examples of errors include Overload, Signal disconnected etc.Figure 6: The channel structure of a Digital I/O.
A channel need not only deal with process signals, but can also apply to other kinds of data, such as internal function-blocks with corresponding parameters.
An example of such a Channel is a PID regulator, where the output values are the result of a calculation. Other standardised channel type examples include a printer channel, a Communication channel, a program channel etc.
This means that nodes can have different I/O structures. For example, one node might have 16 Digital I/O + 2 analog I/O channels, and another node, 8 Digital I/O + 4 Analog I/O channels, but each single I/O of equal type will be seen as the same by the master, no matter what kind of node it is part of.
The Service channel is an important standardised channel type, which must be included in all nodes, whether this is a complex collection of different channels, or just a simple sensor.
This channel holds information about the node address, serial number, manufacturers identity, overall node error data, and any other data associated with the node. This channel always has a SWNo of 0, and access to the service channel is therefore the same for all nodes. This channel is also used when identifying an unknown node.
The resultant advance of this channel standardisation philosophy, is that from a P-NET master point of view, each channel can be seen and treated in the same way, no matter who manufactured the device, or in which node it is located.
The standardisation also makes it possible to write general programs, which can beused to configure such channel types or to read or write into the registers, independent of the channel’s location.