StateWORKS Newsletter 2/2008


  1. Welcome
  2. Tcp/ip for i/o handling

1. Welcome

We modernized our web site at the beginning of 2008. In the course of that modernization we have added a blog. In addition to newsletters the communication between ourselves and the users of StateWORKS will take place also in that blog. There are already a few topics presented there.

I hope that a blog will be a good platform for discussing VFSM method and StateWORKS problems. By submitting an RSS you will not miss discussions in the blog.

F. Wagner

2. Tcp/ip for i/o handling

The RTDB is a tcp/ip server that had been originally intended to provide the User Interface for RTDB based applications. This interface is used for instance in StateWORKS monitors allowing access to all RTDB objects.

Recently, we extended the use of the tcp/ip interface for i/o communication. There are two major challenges encountered by such projects. The first one is the reliability of the communication, as it is usual to deal with data errors in a higher level (transport) protocol . The second one is the raw data to be transferred over the tcp/ip channels.

The reliability problem is a fairly complex undertaking considering that a socket used in tcp/ip is used normally for a single or small number of exchanges. A protocol like HTTP uses a socket for only one transfer: a client sends a request, reads a reply – which might contain a great deal of data in multiple files - and closes the socket. The basic requirement of an i/o communication is a steady and reliable connection allowing transfer of larger amounts of data, perhaps at a high transfer rate. This i/o communication must work reliably over long time periods: from several hours up to many months or years with a zero error rate and without any breaks. Even though tcp is an I.S.O. Level 4 connection-based protocol with data checking, it does not give a guarantee of a transparent, error-free data channel and a little more software has to be added to deal with fragmented messages, lost messages, lost connection and other issues at the tcp/ip interface: we spent a lot of time for understanding these issues and working on solutions, including a huge amount of testing. We discovered that several other companies have also devoted much time and effort to dealing with this problem in their own specific software environments.

Although this facility can be used with any input/output system having tcp/ip capability, we wish to point out that it will be an excellent way of constructing large systems in which lower level control functions are handled by Programmable Logic Controllers, and very complex supervisory functions are implemented using StateWORKS.

The raw data transferred over the i/o channels has required some extension to object interfaces. This topic is described in detail in the technical note "Using tcp/ip channels as an I/O interface" available on our web site.

The use of tcp/ip communication for i/o handling in RTDB base applications is possible in StateWORKS run-time versions 7.2 and later.