New DTM Interface Simplifies PLC Programming
New DTM Interface Simplifies PLC Programming
Programming
ProcessImage fieldbus master
Jan 24th, 2016
Figure 1
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.
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.
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