Lean MES Open Source Manufacturing Execution System
Flexible Manufacturing Solutions through Open Standards and Free Software....
MES 16-bit Communication Interface Module for integration with Programmable Automation Controllers.  Abstract.

Peter Tiagunov. Agile Automation Technology (C) 2011


Purpose: Provide scalable, configurable, self-describing(-META), consistent and dependable communication interface
                 between applications and/or programmable automation controllers and indicated series of controllers.

Areas of application:  Distributed Digital I/O sub-systems,
                                     Pick Light/Pick Curtain operations,
                                     Process Value(s) Tracking,

                                     Interlocking,

                                     ASCII data communication.

Buffer Data Type:  Integers 16-bit (N type files)
Buffer capacity:    Inputs: max 32 x 16-bit words
                               Outputs: max 32 x 16-bit words
                               Status word (META) 1 x 16-bit word

Type of operations: Read, Write or Read/Write(registers).

    Status Word (META-data), determining the current configuration of the driver's I/Os (Fig.1)

Fig.1

KA       - Keep Alive, 0/1 flashing bit with configurable interval 1-5 seconds.

I-Type  - Type of all input word(s) to MES, in the input scope:
00 (0)   - all bits in input word(s) are current copy of the physical input(s) or other input word(s).
01 (1)   - all bits in odd input word(s) are current copy of the physical input(s) or other input word(s).
               All bits in even input word(s) are current ON-Latch states of their paired bits in odd word(s).
10 (2)   - all bits in odd input word(s) are current copy of the physical input(s) or other input word(s).
               All bits in even input word(s) are current OFF-Latch states of their paired bits in odd word(s).
11 (3)   - all bits in even input word(s) are current ON-Latch states of their corresponding physical input(s).
              all bits in odd input word(s) are current OFF-Latch states of their corresponding physical input(s).

Important! Types 1-3 are require 2 bits for each physical input. Therefore capacity for types 1-3 is 2 times smaller.

Input Scope - Number of words in the input scope (0-32), 0 – no input(s).

Important! For types 1-3 number of words is always even number.
                 For type 0 number of words could be any, -odd or even number between 1 and 32.

O-Type - Type of all output word(s) from MES, in the output scope:
00 (0)   - all bits in output word(s) are copied to the physical outputs or to the other output word(s).
01 (1)   - all odd words are controlled copies to the physical outputs or other output words.
              All bits in even word(s) control flashing of their corresponding bits in odd words, 1 -flash, 0- no flash.
10 (2)   - reserved
11 (3)   - reserved

RST     -Communication driver reset/disable:
              0 - disabled, on transition 1>0: resets all output words to 0,
                   resets all ON of OFF-Latch input words if any.While 0, keepalive KA  timer disabled.
              1 - enabled, communication driver enabled, all input and output words are handled according configuration
                   mapping, keepalive timer active.

Example of configurations:

Simple configuration with inputs and outputs containing only current values (Fig.2)
Fig.2

Example of a complex configuration with inputs and outputs containing current values and status/control values (Fig.3)
Fig.3

Example of complex configurations, mapping and change(s) - response(s):

Example 1. One word of physical inputs is mapped to communication driver input word with ON- Latch functionality enabled (Fig.4). “*” - indicating the source of change.
Fig.4

Example 2. One word of physical inputs is mapped to communication driver's input word with OFF- Latch functionality enabled (Fig.5). “*” - indicating the source of change.
Fig.5

Note! Actual implementation of the logic is responsibility of the developer. All of the above describes the expected behavior of the communication driver relative to input change(s).


Typical objective the provided requirements is to have consistent reusable mechanism for integration with higher level(s)

(2 and 3) of MES application. The described method effectively tackle "classical" spaghetti integration, using the "design to interface" approach vs. "design to process". In other words, the above represents a "connector".

In most cases, control logic developers (control engineer(s)) have lack of comprehending the concept due to limited or no exposure to UML practices. This happened to be a persistent pattern, spreader over different industries.


Provided material, is sufficient to justify "connector" approach integration over "spaghetti" integration approach.


With some minimal effort, interface may be expanded to handle 32-bit format.