The goal of the proposed PLC programming environment is to provide an intuitive PLC programming and verification environment by connecting the plant model to the PLC program. It is essential to develop an efficient construction procedure of a plant model to achieve this objective. The three models are a plant model, an I/O mapping model, and a PLC program. The plant model is controlled by the PLC program through the model of I/O mapping.
The construction method of a virtual device is described before explaining the construction method of a plant model given that a plant model consists of virtual devices. As explained earlier, a virtual device consists of a core part and a shell part.
The shell part, enclosing the core part (the inherent properties of a device, such as kinematics, the execution of device-level commands and the geometric shape), should allow a virtual device model to adapt to different plant configurations. This part is modeled as an atomic model of the formalism of DEVS, which is a timed-FSA (finite state automata). First it is necessary to identify the set of tasks that are assigned to the device to define the shell part of a virtual device. The each task activation is normally triggered by an external signal from either the PLC program or other virtual devices.
It is then possible to extract the state transition diagram, which defines an atomic model of the DEVS formalism once the set of tasks is identified for a virtual device. An AGV (Automatic Guided Vehicle) with two tasks, T1 (movement from p1 to p2) and T2 (movement from p2 to p1) are the two tasks should be triggered by external events, the shell part of the AGV must have two input ports, termed here as Signal_1 and Signal_2. From the set of tasks, it is possible to instantiate the state transition diagram automatically. There are four states, P1, DoT1, P2 and DoT2. While P1 and P2 take external events from the input ports (Signal_1, Signal_2) for state transitions, DoT1 and DoT2 take internal events that are the end events of the two tasks (T1 and T2).