i/o boards


Curt Wuollet

Hi Harry

I have a more or less complete package worked out and will be glad to
The next few days I may be slow to reply because we are going live with
the cell I designed it for:^) The LPLC supports this card also.

My wideopen address is the best bet off-list as I have more time at


LinuxPLC mailing list
[email protected]

Mario de Sousa

Hi Harry,

As Curt said, the linuxPLC also suports the dio48 board.

Unfortunately our code is currently not available on the web. We have
been changing cvs servers, and it seems to be taking longer than we

Nevertherless, I believe Jiri is going to put up a temporary directory
with our most up to date code as a stop gap if this situation continues
for any longer.

If you wish I can email you our most up to date code. Warning: this is
a 3MByte gziped file, so I will only email it if anybody explicitly
requests it. Note that the above includes code and drivers for cif io
cards, io on the parallel port, etc... It also include some demos which
you can use as a starting point.

We were hoping to put out a binary and source code release soon, but
soon is a relative term. This will be at least another three weeks!

Let me briefly explain the general architecture. The plc is organized
into modules. The most simple setup would have two running modules: a
logic engine, running the plc logic, and an io module doing the io.
These modules run as linux processes, so for the above setup the plc
would really be two linux processes.

We have code that implements the most sought after modules:
- io on the parallel port;
- io on cif cards (these support DeviceNET, ASI, etc..., etc...);
- modbus master on the PC serial port (RTU and ASCII versions);
- io on the dio48 card;
- a simple IL (instruction language) compiler (for the logic engines);
- a dsp modules (includes PID loop);
- curses (text) based interface;
- tcl (graphical) based interface;

To use any of the above modules, you simply create a configuration file
and start up the module. Note that you can have multiple modules of the
same category running simultaneously. For ex., if you have two dio48
cards you can have two linux processes running the dio48 module
simultaneoustly. Each process would use a different configuration file.

Before starting up any of the above modules, you must first initialise
the the common resources used by the plc (semaphores, shared memory,
etc...). To do this, you simply run the 'linuxplc' command line utility.
This utility will also read a configuration file to know what it is you
require of the plc.

In short, for your situation, you will probably be writing
configuration files for the plc and the dio48 modules. If your logic is
not too complex, it probably can be written using the simple IL we
currently support. If not, you will have to write your own custom module
to do the logic (c code). This is not at all complex. You can probably
start off by using some code in the demos and adjust it to your needs.

The syntax of the configuration files is explained in the demos, but
user manuals are still lacking. I sugest you browse through the demos
and then just fire away any questions you might have...



Mario J. R. de Sousa
[email protected]

The box said it requires Windows 95 or better, so I installed Linux

LinuxPLC mailing list
[email protected]