Posted by: Harold Ennulat | September 6, 2010

Solutions for Small Specialty Chemical Sites

I ran across a white paper from Honeywell with the same title as this post.

I’ve just been working on the programming for exactly this type of project so this articles title caught my attention. Having just spent some time learning about how to apply S88 in practice, it seemed quite natural to apply some of the principles to my current project assignment. The client wanted a low cost solution in their early foray into automation. The PLC used was selected for me, so this meant I had the opportunity to build a batch engine inside of a relatively small PLC, (an Allen Bradley MicroLogix1400).

I used the S88 principle of mapping out the operations in SFC (Sequential Function Chart) format. However, the PLC chosen did not support implementing the model in SFC. Instead it was implemented in RLL (Relay Ladder Logic) but with definite states and transitions like in SFC applications.

SFC as the basis for the the "batch engine" example. Click To Enlarge

The “batch engine” processed all the steps one at a time and called the appropriate action step (subroutine) to run for the current step. For the recipe engine tables, indirect addressing was used to select the “active recipe” from a list of recipes that resided in data tables inside the PLC. Each recipe consisted of 2 tables actually: one for long integers and one for floating point values. Once loaded, the “active recipe” was run one step at a time. The main types of steps were to “add ingredient”, “prompt for operator action/acknowledgement”, “Mixer Actions”, and “Empty the Mixer”.

The “add ingredient” step allowed adding of any of the available ingredients. The recipe included the ingredient ID and the quantity to be added, so the “add ingredient” routine just looked up the ingredient ID and indirectly addressed all the I/O for that ingredient. This allowed all the ingredients to be processed with just a single “add ingredient” routine. The limitation of this approach is that only one ingredient can be added at a time. However this was what the client requested so it streamlined the programming effort.

Some Learnings:

AB MicroLogix1400

  • It takes lots of data space to store recipes in a small PLC: For a 20 item step with 25 steps per recipe, only about 6 recipes could be loaded in the chosen PLC (An AB MicroLogix1400 with 10,000 16 bit data words). Each recipe took about 1000 data words, the active recipe took 1000, the batch report took 2000 data words. The bottom line is you use up the data space quite quickly.
  • It is possible to build a dedicated purpose batch engine inside of a PLC with not a huge investment in time. It took me about 60 hours to build the batch engine and test it. I would expect that it would take less than half of that time if I had to do this again. To just replicate the recipe/batch engine would likely only take a day or so.
  • There are many ways a batch engine can be built depending on the requirements, approach, and hardware used. I was reviewing my own notes on applying S88 and I see I would have written this differently had the requirements and hardware been different.
  • Current Batch best practice seems to be saying that the batch engine should be a PC or dedicated batch engine where the PLC just executes the recipe actions or steps, such as the “add ingredient” step. It would seem that clients could save money if this is done in the PLC for many smaller applications, including this one.
  • Implementing batch control inside of the PLC is certainly more cost-effective for cost sensitive projects with a well-defined scope, but reduced flexibility is the price that must be paid. A programmer is likely needed to make changes into how an ingredient is added for example.
  • I think I’d like to do this with some kind of a ControlLogix type processor (rather than an SLC based processor) next time.
  • The AB MicroLogix1400 has a lot of capabilities: Ethernet port and 2 serial ports including the ability to talk Modbus out of these ports, indirect addressing, 10K of data table space and 12K of user logic, Long (32 bit) integers and pretty much full floating point support, easy conversions from one data format to another by just moving the data to a point of the other type, CPT (solve a full math equation in one) instruction, Copy data file instructions, PID control, fast processing like in larger PLC’s; at a reasonable cost: $800.

Updated: September 8, 2010 12:51 pm | Published September 8, 2010

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s


%d bloggers like this: