The Device Type Managers (DTMs) used to configure control systems can be generic (see related article) but those used for PLC programming need to be closely linked to the process data description. PLC programming tools, which use the "ProcessData" interface of a DTM, must be familiar with the structure of the process data for each of the fieldbuses that is supported by the PLC. Integrating a new fieldbus requires significant effort for software development, which led to the creation of a "ProcessImage" fieldbus master DTM interface that reduces the complexity of PLC programming tools.
Logical process image
During runtime, the process data that is transferred across the fieldbus is stored by the master in a storage area of the PLC (input data) or it is read by the master (output data). This data is marked as a process image (figure 1). Once this is accomplished, it’s important to have a description of the process image in a fieldbus-independent form for the PLC programming tool. That makes it easy to map this image to program variables.
A two-stage procedure is used to achieve this. First, the fieldbus master DTM uses the "ProcessData" interface to determine the process data for its slaves. Since the fieldbus master DTM knows its own fieldbus, it also knows what the fieldbus-specific description looks like. If it has determined all of the data descriptions for its slaves, it can also describe the associated process image. The fieldbus master DTM now creates a fieldbus-independent description of its process image. Figure 2 shows this process using a small configuration example with the device DTMs and the fieldbus master DTM where the description of the process image is available at the end.
The fieldbus master DTM provides this description to the PLC programming tool via the "ProcessImage" interface. Using this description, the tool can create the necessary data that is required for processing the processing data during runtime without knowing which fieldbus type is being used. The process data can be assigned to the relevant PLC memory by the user or fully automatically. This is implementation-specific and is defined by the manufacturer of the PLC programming tool. In the semi-automatic assignment, the user can use drag & drop to assign the data to the process variables. In the automatic version, the PLC variables are created by the tool without any user intervention. Thanks to this procedure, a PLC programmer can now work directly with the variables, processing them in their program.
Description of the process image
Figure 3 shows a simplified version of the structure of the process image description. The device name, device status and the process data (IO data) are described for each device. The device status contains two sections which permit simple diagnostics in the PLC program.
The first section (StatusRun) is a signal, which displays whether or not the device is working during runtime. The second section (Diagnostic) contains the diagnostic information for the device. The structure of the diagnostic data corresponds to the NAMUR recommendation NE 107.
For both elements, there is a name and the logical address (StartAddress, AddressOffset), at which the data is stored during runtime in the process image, along with the data length (DataLength). This information allows the PLC programmers to do a uniform check of the device's status and send a corresponding message to a higher-level system. Further device diagnostics can be carried out there.
The description of the process data (IO Data) means that structures can be created by combining several elements (Signals). An attribute (SignalsType) specifies whether we are dealing with input or output data. In addition to the name, address and data length attributes that are present for each element in the process image, the data types from the IEC 61131 are also provided for the process data.
A status is also provided for the connected network (NetworkStatus). This status allows for a simple evaluation in the PLC program. In order to form hierarchical structures, devices may contain other devices; even process data may be interlinked. However, this is omitted in figure 3 in order to simplify the figure.
Summary and outlook
FDT is a tried-and-tested software interface for integrating automation components into software tools. With the fieldbus-independent description of the process image, a PLC programming tool can integrate fieldbus systems using a standardized mechanism. This standardization reduces the development effort that is required for integrating fieldbuses. The data that has been provided means that process data can be automatically created to be used in the PLC programming, whereby the engineering effort for the user is reduced. Standardized diagnostics information enables easy processing in the PLC program, as well as an initial rough fault analysis.