StateWORKS Newsletter 3/05


  1. Welcome
  2. StateWORKS Studio version 6.0
  3. From PLC markers to state machines

1. Welcome

The most interesting news today is the announcement of the new version of the StateWORKS Studio. It contains a lot of improvements and additional features: the details are described below.

Thirty years ago I used to program Programmable Logic Controllers (PLC). In those days we did it by using ladder diagrams to replace control systems which had been built with logical circuits using relays. Time goes by and PLC programmers have not progressed too far beyond the ladder diagram, even when using the standard IEC 61131-3. I converse sometimes with people who program PLCs and I ask them why they avoid state machines which would make their designs easier and more comprehensible so that they would be more effective. They answer that there are some possibilities to use state machines now for designing PLC systems (at least with some tools) but they do not see any advantages over other design tools (effectively without any method). So, I have decided to have a look at why the state machines as used in PLC programming are not attractive for programmers.

F. Wagner

2. StateWORKS Studio version 6.0

We have a new version of the StateWORKS Studio. The version 6.0 contains several additions and improvements; the most "visible" or interesting ones are:

  • The state transition table got a new form which corresponds to the one which we have been using already in the XML presentation for some time. The change is not revolutionary but we believe that the new form makes it more readable. The tooltip describing the field under the cursor is mostly for newcomers and should make the entry easier.
  • Some input objects like: DI, DAT, PAR, NI, SWIP has an additional control value: UNKNOWN which covers handling of problems in I/O-Handlers. Of course all cooperating programs like SWLab and Monitors display and handle the new control value.
  • The XML representation was given additional tags and links which makes the documentation complete.
  • The automatic generation of names in I/O object, Input Name and Output Names dictionaries is now complete.
  • Studio has another editor to prepare and generate string resources for applications which do not use Windows string resources (an important factor for the internationalisation of Alarms).
  • The SWLab was given a Help feature as it contains now a lot of features which cannot be considered to be obvious.
  • Note that, as usually, the new version is downwards compatible but old versions cannot read projects saved with the new version (the version 5.3 can still read fsm files created with the new version).

Note also that the LE version which you can now download from our web site can be used only for 30 days after installation. Afterwards it has to be registered, after purchase for a very small fee.

3. From PLC markers to state machines

I took an example from the IEC 61131-3 specification. I analysed that example and implemented it using StateWORKS exactly as it is done in the IEC document. That experiment allows me to understand the ideas behind the notation used. I then wrote down some reflections about the problem. You may read them in the Technical Note "Going beyond the limitations of IEC 61131-3".

In general, it is encouraging that PLC world tries to replace the old-fashioned ladder diagrams based design by a sort of state machine model, although the techniques recommended in IEC-11631-3 leave much to be desired.

The other problem is the development environment. Designing a state machine by typing lines of code is not a very effective way of designing control systems. Thus, tools like StateWORKS are necessary to make the modelling concept attractive for PLC programmers. Probably the most important issue is the question of building any complex system requiring several cooperating state machines. To do it with the means offered by the SFC notation is theoretically and practically just impossible.