Each application focused on monitoring and control technological processes will probably need to get or to save data from(to) external sources. The source of such values can be for example database, PLC device, file on the disk, input/output PC card, etc. This chapter describes the cases that are practically eligible and shows how to solve such cases in the PROMOTIC system.
1. Communication with PLC devices or similar devices
By this communication the PROMOTIC application gets data from external devices - PLC devices, intelligent inputs/outputs, etc. The device is the most often connected via Ethernet or via the computer's serial port (on the computer for example over the port COM1, COM2
, etc.). It can be also connected by special card, for example for PROFIBUS DP Siemens
Over the serial line
interface) or via Ethernet
the PLC device can "talk" by its special language, which means by the communication protocol
. For example SAIA
PLC is using the S-BUS
(and others) is using Modbus
The PROMOTIC system has ready the set of so-called communication drivers
that can transfer data by the most used protocols. The usage of these PROMOTIC drivers is cheap and very common.
Let' handle the case when a PROMOTIC driver does not exist for the external device or the device communicates over another interface than a serial link or Ethernet:
The most standard solution now is to use the OPC server
, which is 3rd party software (mostly supplied directly from the producer of such device). The software can communicate with the device and it provides data (that it can interchange with the device) over the OPC standard interface. Then the PROMOTIC application as the OPC client co-operates with this OPC server and it can read/write data from/to the device. For the description of the incorporation into the PROMOTIC application see the Communication by OPC DA interface
Now the DDE server
, the already obsolete but still used solution, is used for communication with devices. The principle is practically the same as for the OPC server. But the DDE interface is not so quick for the data packets transfer and it doesn't allow such general configuration of the transfer as the OPC server. The DDE interface is rather the interface for the data transfer determined for office needs and not for the real-time communication. For the description of the incorporation into the PROMOTIC application see Communication by standard interface DDE
Another practically applied solution is the usage of the ActiveX
technology. Another company in this solution provides the software that can communicate with the specified device. This software doesn't provide the data over the standard interface (as the OPC or DDE) but the software represents an ActiveX object that can be included into the PROMOTIC application by the PmaActiveX
object. Over this ActiveX object it is possible to call methods (according to the documentation of this object) and thus to get data from/to the device. An example of such communication can be the communication with PLC devices of the Johnson Controls
2. Communication between application by computer networks
The simplest way how to share data in the networks is to share them in the PROMOTIC system by the XML data
. This way is also very general because it communicates by the HTTP
protocol and thus the data can be transferred even in the Internet. The offered data (from the PROMOTIC application) can be very simply used either in another application (e.g. again PROMOTIC), to show them on HTML pages or to browse them directly in the Web browser. For the description of the incorporation into the PROMOTIC application see: XML data sharing
or Overview of the Web technology in the PROMOTIC system
Another standard option is to use Communication drivers
. Some drivers are able to communicate via Ethernet. It is possible to communicate with PLC devices, through the installed networks, that have only the serial link communication available - this can be done by using the serial link/Ethernet converter on the PLC side.
communication driver seems to be interesting, it can be used to transfer the designer predefined data
The obsolete method how to quickly share the data between the PROMOTIC applications in the local networks is the data transfer over Sockets
. But this way of the transfer isn't so transparent as the transfer over the XML and it serves only for the communication between the PROMOTIC applications. For the description of the incorporation into the PROMOTIC application see Data transfer in network over Sockets
For data sharing in the local networks the above mentioned standard interface OPC
can be used. These interfaces enable the data transfer even in the networks and the following extensions must be installed - for the DDE
it is the NetDDE
and for the OPC
it is the DCOM
. The data transfer in these cases is otherwise transparent but demanding more configuration.
3. Communication with input/output cards plugged in the PC where PROMOTIC application runs
In this case the input/output card is plugged in the PC (e.g. in ISA
slot) and it scans for example analog or digital inputs/outputs. This information must be shared in the PROMOTIC application.
The normal practice is the usage of DLL libraries
. Practically every producer of such cards (e.g. AXIOM, MOXA, PCLab, Tedia, Advantech, Neovision, Elcom, National-Instruments
cards, etc.) supplies a driver for this card in the form of the DLL library. The DLL library is simply a file where functions that can be called in the PROMOTIC system, are "packed". The DLL functions can be called in the PROMOTIC system by the PmaDll
object. By calling appropriate functions (according to the documentation of the driver) it is possible to share the data between the card and the PROMOTIC application.
For some cards (e.g. Neovision, National-Instruments, Advantech
) the OPC servers
are available. It makes the communication solutions very standard, in fact the same as communication with PLC devices.
4. Data transfer by file or database access
The data sharing in the file on the disk
can be considered as perhaps the "most elemental" communication between applications. Two applications that share data in such way must know the specific file format. The PROMOTIC system allows reading and writing into binary and text files. For the list of the file functions see Data sharing by files
. But the data sharing in this way is relatively slow and it needs an access to disk. Thus it isn't suitable for real-time data sharing but it is suitable for storing a large volume of data for the later use.
The more standard way of data sharing is an database access
. In the PROMOTIC system the access into databases is handled by the PmaAdo
objects that accesses databases by the general way over the standard ADO
interface. These interfaces allow an access into any database that supports this interface (these are practically all common databases). To have an access into the database the PROMOTIC application must only have the appropriate database driver. The PROMOTIC system already includes the drivers for common databases like Access