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

Who should read this manual?

The MatPLC project has three or four faces it presents to the world, with corresponding roles that people play. We call these roles Operator, Application Builder, Module Builder and Core Builder.

At present, the bulk of this manual is aimed at the Application Builder, with some information for the Module Builder. There's not much of interest to the Operator at present, except perhaps out of curiosity.

Operator
Interacts with the top level of the MatPLC, the HMI. This should be accessible to the average person on the factory floor.

Application Builder
This can be an external integrator, or an in-house engineer, who does the end-user programming in languages such as stepladder, GRAFCET and perhaps python, or merely sets up things like PID loops. This requires some skill, but it is largely also on the top level; it should be accessible, for instance, to an electrician with some experience of PLCs and PCs.

The Application Builder should read or skim all of this manual with the exception of the Custom modules chapter.

For advanced applications with special requirements, the Application Builder will also have to be a bit of a Module Builder. The python scripting language is somewhat on the borderline between the two levels.

Module Builder
At the middle level is the API and programming interface, where modules are written. This should be accessible to the average programmer with fairly low effort.

This is the level is where the bulk of the code of the MatPLC resides. This is the code that provides most of the functionality to support the Application Builders and End Users and generally makes the MatPLC a useful project.

The Custom modules chapter is specifically aimed at the Module Builder.

Core Builder
Finally, there is the low level, where the somewhat cryptic core of the project is written.
Each of these roles also corresponds to a different way of contributing to the project - see the Contributing chapter if you're interested in more.

Note: the phrasing "should be accessible" above reflects design, not always reality. If there's some aspect of the level that is not accessible to the designated audience, it's a bug; please report it using the buglist.

[Prev][Up][Next]

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