Software solution of the task based on WebSocket Server technology
1. PLC controllers from different manufacturers are often used in an industrial facility.
For example, the author of these lines was the head of the creation of the control system
cold rolling mills for pipes at industrial facilities in India and Ukraine.
On these objects, the OMRON - CJ2-CPU64-EIP controller was used as the central controller,
and the Yaskawa MP2300 controller was used as the Motion controller.
The
operation of these controllers was related to each other-from the parameters set by
on one controller, the choice of parameters on the other controller depended. Therefore, it was
important to read the corresponding parameters from one controller and pass
the corresponding values are added to the memory zone of the other controller.
During the pre-commissioning work, this took a long time.
It was necessary to find a means by which it would be possible to easily and quickly
pass variables from one controller to another, and these controllers could
be of different manufacturers and use different interfaces for transmitting information.
2. On the Internet, I came across a description of freeware
WEB socket (Author: WiNDDRiVER(soulawing@gmail.com)), which was intended for
information exchange between a WEB server implemented on a computer connected to
directly to the Internet or WI-FI and the WEB client implemented on the browser
another computer. The client and server could exchange common information with each other.
I redid this WEB socket program by adding information exchange drivers to the server
with OMRON and Yaskawa controllers - WEBSocketServer_controllers_OMRON_Yaskawa.exe
(hereinafter referred to as WebSocketServer for short).
Thus, a program was developed that made it easy and fast to exchange information between
controllers from different manufacturers, using different interfaces for exchange.
3. Thus, the user is offered a new development of WebSocketServer for
information exchange between PLC controllers and WEB clients,
implemented on Internet browsers.
WEB clients exchange information with controllers by
forming appropriate control commands on Internet browsers.
Clients can form read and write modes of words and bits
the corresponding memory zones of the controllers.
WebSocketServer is implemented on a computer connected to the Internet.
The specified computer is connected to the controllers via the corresponding interface.
The basic WebSocketServer block includes, for now, the exchange of information with
controllers of the OMRON family (CS1, CJ1,CJ2,CPL, NJ...) and with
controllers of the Yaskawa family (MP2300, MP3300...), while it is possible to expand
nomenclature of system controllers, by connecting to the specified program
the corresponding new modules.
The computer on which WebSocketServer is implemented can exchange information
with controllers on the following interfaces:
- with OMRON controllers :
- Ethernet;
- Ethernet/IP;
- RS-232;
- RS-485/422;
- with Yaskawa controllers :
- Modbus/TCP;
For this program to work, you must use Ethernets.dll, developed by the author
these lines, for the exchange of information over Ethernet, Ethernet/IP. In addition, for the exchange of
according to the Modbus/TCP protocol, a special software module was developed that allows for the exchange of
information about this interface.
The entire program is written in Delphi XE 10
An important feature of the program is that the WebSocketServer connected to the computer
controllers can send information from
by a set of appropriate WEB client commands.
one controller connected to the computer, another controller also connected to the computer
WEBSocketServer.The number of clients connected to the server computer is unlimited.
The number of PLC controllers connected to the server is also unlimited.
Moreover, it is possible to transfer information between
controllers from different manufacturers and different interfaces for connecting to the computer.
So in the basic version of the program,
the real-time information exchange mode is implemented between the OMRON and Yaskawa controllers.
Another important feature is that WEB clients can form commands from browsers located on both computers and smartphones.
Above was a description of the basic functions of this program, which also has additional functions:
- tracking variables;
- formation of Alarms signals;
- formation of graphs of changes in variables over time;
- generating Log files, etc.
The program was tested on different operating systems (Windows 7,Windows 10)
and different browsers (Mozilla Firefox, Chrome, Microsoft Edge...). The program works clearly and without failures.
It should be noted that the checks were conducted in the "same zone" of the Internet addresses
of the server computer and browsers, < BR>
because this program uses a static Internet address.
Obviously, with the help of an IT specialist, you can check the operation of this program on the entire space
The Internet.
4. Below are the images of the operating modes of this program:
- Fig.1-General view of the main server screen of the WebSocketServer program;
- Fig.2-General view of the WEB client browser;
- Fig.3 - The server screen, after the WEB client has connected to it;
- Fig.4-Set the OMRON controller memory read command;
- Fig.5 - Response on the WEB client screen after executing the previous command;
- Fig.6-The screen of offline operation of the server with the Yaskawa controller;
- Fig. 7-Set of the Holding register read command of the Yaskawa controller;
- Fig.8 - Response on the WEB client screen after executing the previous command;
- Fig.9-The screen of autonomous operation with the OMRON controller;
- Fig. 10-Screen of offline operation with the OMRON controller after connecting to the controller;
- Fig. 11-Command set for transmitting information from the OMRON controller to the Yaskawa controller;
- Fig. 12-Response on the WEB client screen after executing the previous command;
- Fig. 13 - Example of autonomous operation with the Yaskawa controller;
- Fig. 14 - Example of autonomous operation with the OMRON controller;
- Fig. 15-Command set for transmitting information from the Yaskawa controller to the OMRON controller;
- Fig. 16-Response on the WEB client screen after executing the previous command;
- Fig. 17-Checking the correctness of the transmitted information;
- Fig. 18-The WEB server screen after executing the previous commands;