The query of a counter value is shown here as an example. The higher-level MES or PDA system (client) sends a request for the WS data point "WS_Good_Products" (tag number 50257) to the machine (server) with the command "Read Single Value". The command is padded by means of dummy to the same length of four data words, which is mandatory for all commands. The machine processes the request and returns the value 10,000 in the associated response.
WS Protocol
The WS communication interface WS Protocol was developed for data exchange between machines and higher-level IT systems in food and beverage production. The interface is based on Ethernet TCP/IP and through proprietary communication commands a simple, hardware, software and platform independent implementation is achieved.
How it works
The OSI reference model (Open Systems Interconnection) describes the structure of the communication on seven layers. By implementing an XML device description file (PDACONFIG.XML) on the PLC (Programmable Logic Controller) of the respective machine, the data points can be provided via a corresponding port. Mandatory and optional data points as well as communication commands are defined in the WS. The device description file contains the documentation about the physical connection and the definitions of all data points provided for data acquisition and can be generated using the WS Modeler and WS Edit tools. Automatic evaluation of this interface definition by the higher-level IT system (client) enables data acquisition according to the "plug & play" principle. The communication by means of the command sets works according to the client-server principle. Here, the client makes a request to a server (the machine), which fulfills this request.
The following commands have been specified:
Mandatory commands
- NOOP
No function (sign of life) - READ_SVALUE
Read a value - WRITE_SVALUE
Write a value
Optional commands
- READ_LIST
Read a list of values - WRITE_LIST
Write a list of values - READ_MVALUE
Read multiple values - WRITE_MVALUE
Write several values - READ_STRING
Reading a string - WRITE_STRING
Writing a character string - READ_CONFIG
Read the device description file - READ_MIXED_LIST
Read a mixed list of values - WRITE_MIXED_LIST
Write a mixed list of values
Do you have questions about the implementation or do you need advice?
Please feel free to contact us!