|
|
|
[ Grand Valley State University ] [PSE Home Page ] [ The Team ] [ Pictures ] [ Current Progress ] [ Home ] [ Details ]
Work has been ongoing for the last 3 years on a Linux based PLC project. This has been a collaborative effort between several Linux experts who have grown sick of the current closed source architecture found in the modern PLC's. They felt that an open source Linux based PLC would offer the flexibility desired by many manufacturing engineers. Specific features of the Linux based PLC include the ability to write driver files, modify the operating software, and write programs in multiple languages to be compiled for use in the PLC.
The goal of our project is to use this PLC software that has been created to control a simple manufacturing work cell. The hardware setup for the work cell was created as part of a project for an undergraduate course, (EGR 450), and was previously controlled using a Mitsubishi brand PLC. The program will need to have some minimal tweaking done to it, but beyond that we hope to be able to compile this code for the Linux PLC. The software will be housed in a standard x86 type PC. The control communication will be done using a DAQ card installed in the PC and an external relay board for amplification of outputs. It is our final goal to make this a stand-alone system, with will not require user input except in the form of start, stop, and reset buttons.
The creation of the software for the Linux PLC is ongoing so our project
will be run in parallel with this group. The project name for the software
development is " The Linux PLC
Project
" aka " Machine Automation Tools,
MAT
". Their goal is to create a "PLC like" program that will run in the Linux
operating system. The software actually contains several different programs
that emulate different types of PLC's and their I/O devices, i.e. PLC5, or
a PID loop. This software is modular, and because there is an underlying
OS, it can be compiled to run on many different Linux based systems. The
project is still active so the software releases that they have made are
still under development. This means that the software runs but it still has
a few bugs in it. To view the home page for this project, or to download
the latest tar ball, follow this link to
http://mat.sourceforge.net/
.
The work cell that we will be controlling was originally designed and built as part of an undergraduate PLC controls class. The purpose of this project was to build a cell that would retrieve, open, and pour hazardous liquids and then dispose of the container. The project was officially titled Automated Limited Containment of Hazardous Organic Liquids or A.L.C.O.H.O.L for short. As the project progressed it was affectionately termed "The Beer-B-Gone". The operation of the system is as follows. The main arm resets to soft stop, then indexes via a stepper motor to the bottle supply point. Via an air cylinder the hand opens and the arm reaches out to the bottle. Pressure is cut to the hand and it closes gripping the bottle. The arm then indexes over to the opening station. The bottle opener comes down over the bottle via air pressure and the cap is spun off by a geared up 24v motor. The opener retracts and the arm indexes to the pouring station. If a cup is present, the hand rotates, via a stepper motor, and pours the contents of the bottle into the cup. The bottle is then rotated back to the upright position and the arm indexes over to the bottle collection station. If the bottle collector is not full, the bottle is deposited at the station and the arm returns to the hard stop. More on this project, such as source code and the original report can be viewed at
http://claymore.engineer.gvsu.edu/~karabelb/EGR450/Project/webreport.htm
The Final Wrap
This project was completed on August 5, 2002. The final control program was written in ANSI C, and controlled all of the required inputs and outputs needed to control the system. The team has put together a
web-based report, which can be viewed by clicking HERE, or using the “details” link contained in the header and footer of each page. Details include wiring diagrams for the relay and input boards, a system state diagram,
flowcharts, commented ANSI C code, and some explanation of what it all means.
[Home ]