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.
$Date: 2004/12/28 05:32:10 $