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 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.

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!

Contact us