Embedded Computers Allied Data Systems

Embedded Computers * Military and Avionic Data Bus Interfaces * Industrial Interfaces * PC/104

The above links will provide more information about us and our products

Programmable Logic Controllers (PLC's)

PLC's are used in industrial controls and our experience in programming them has been primarily to do with water treatment and the control of Reverse Osmosis systems. However we have done and have the ability to program PLC's to perform many industrial functions. Our first involvement with them was as a consultant looking at the process control required for an altitude test system for aircraft personnel.

Sigma Pharmaceuticals

We supplied two system to Sigma to not only control the Reverse Osmosis Water Treatment in two separate systems but each system was required to interface into the factory PLC control network. The tricky part of these two systems was that the primary sterilization process was to run the systems at 85 degrees C periodically. The primary reason for this was to kill any bugs without the use of chemicals. The systems were built into two skids, one a pretreatment and the second the RO skid where the filters, high pressure pumps, water heaters etc were mounted. Each system was built using GAMP4, and the software was designed for testability. Documentation including test plans and test reports were a major component in the development.

System Design

The system design incorporated an Allen Bradley PLC, Temperature and conductivity meters (using MODBUS Communications), a High Pressure Pump (controlled via the MODBUS), various low pressure pumps, UV and Carbon filters, break and holding tanks, valves and the Reverse Osmosis Filters. Additionally a Human Machine Interface (HMI) running SCADA software was used to control and display the process.


The HMI run's on a Panel PC and interfaces to the PLC via the factory Ethernet. A hand shaking system was developed both for the PLC/Panel PC and the PLC/Factory Backbone PLC to ensure that the process was stopped if any faults in communications became apparent. This system was rather like a watchdog timer. Additionally the software running in the Panel PC collected all the data from the temperature and humidity sensors and passed this to the PLC. The PLC passed the control requirements to the HMI to control the high pressure pump via MODBUS commands.


The software running in the PLC was designed as a state machine. While this was written using the ladder logic software provided by Rockwell, the process was control was not done in the normal way. The primary reason for this was to make the software testable. GAMP (Good Automation Manufacturing Process) is much like many of the military projects we have worked on. Testing to ensure that the software is doing what it is supposed to do, and not what it is supposed not to do and major components of GAMP. GAMP is used widely by the Pharmaceutical Industry. Programs written in ladder logic provide large "IF" statements that compound the problem of testing each and every option. A State Machine however a much simpler way of dividing these if statements up into states which dramatically simplify testing. To test a state it is not necessarily needed to progress through each and every preceding condition, simply changing to the next state enables the start of the testing for that state. The testing of the water system could be completed in under a day. To do this same testing with a PLC programmed without using a state machine would take upwards of a week and even then one would never be sure that every convergence had been tested.