[MAT logo][Prev][Up][Next]


Modules are individual pieces of the MatPLC. Much like a real PLC, a particular MatPLC installation consists of several modules, plugged into a core (virtual backplane), working together to provide a useful application. There are I/O modules, logic modules, user interface modules etc. Most of this manual concerns the detailed instructions for one or another particular kind of module.

What modules are run is usually configured in the PLC section of the config. It's also possible to start modules as separate programs, even when they aren't listed in the config; the plctest tool is usually started this way.

Due to the high modularity of the MatPLC, most systems will consist of several modules - perhaps between three and a dozen. Even the simplest of demos typically have three or four modules.

Module groups

Modules are organized according to their function. This organization is purely to simplify orientation; once modules are running, there is no particular distinction between them (except that they do different jobs, of course).
Logic engines
do the actual logic, decision making and calculation of the MatPLC.

connect to the real world, or sometimes to a slave PLC over a bus or other connection.

HMI (or MMI)
interact with the operator.

Module types

Modules come in three basic types.
These modules come with the MatPLC and are used without modification. An example is the DSP module - you specify in the matplc.conf file that you wish to use it and specify the inputs, outputs and tuning parameters for the PID loop (for instance).

Most I/O modules also fall into this category.

These modules do not directly come with the MatPLC. Instead, they are created for a particular project using the tools provided. An example is the IL language. You write a PLC program in a file with the extension .il, which is converted into a module before starting.

The up-coming IEC 61131 translator will work the same way.

This is the ultimate in specific modules; if none of the existing modules is suitable for the job at hand, a completely new module can be written in the C language. Such a module can do anything, but it is much more difficult to write. It is essentially an extension of MAT itself.


$Date: 2004/12/28 05:32:10 $