Building applications with RTDB or VFSM library
A real-time-database (RTDB) is used to coordinate all interactions with I/O systems and all communications between the various finite state machines. This database is also used for communications between the StateWORKS software and other processes running in the system. Although we employ the term “database” this has nothing to do with formal, relational databases such as SQL: it is a collection of objects required by the project, together with software which manages them. For more information, refer to StateWORKS Run-time System (Executor).
The following diagram illustrates what components are needed for writing a RTDB based application. The heart of the system is the RTDB library that also contains the VFSM executor. The IO Handler is an application specific library which realizes the data flow between the Controlled Devices and the Application. The Ofun library is a set of application specific functions required by the control. Both I/O Handler and Ofun communicate with the RTDB which offers corresponding methods used for programming these modules. The application is completed by a VFSM specification file prepared by StateWORKS Studio. Alternatively, the specification results can be loaded from a disk which is especially recommended during the development phase.
RTDB Build Environment
Communication with the real world happens through the I/O Handler. The I/O Handler delivers all inputs to the RTDB. On the other side the RTDB generates outputs which are converted by the I/O Handler to real signals understood by the Controlled Devices.
The User Interface as well as monitoring and maintenance is done by clients connected to the TCP/IP maintenance interface.
The thinStates compiler translates the StateWORKS specification results into C code. This work is aimed primarily at those embedded systems which are unsuitable for running the entire RTDB library. Of course it can be used on any platform if required.