Hi Guys,
I hope You're all fine ....
When you have to program a PLC to control a large amount of IOS (+200), You have to find a way to design your software prior into writing your code, So I have some questions about that :
- How to design and Layout the whole system ?
- Is there any approaches to design and organize your software (IOS Mapping, layout subroutines, Handling Faults and alarms, sequence control, and data flow between all of that)?
- What is the best PLC software architecture ?
The Problem appears with the relatively big systems with more IOS ...
The initial design for our mill was to use 1 massive PLC, with 30 racks (13 slot racks) of ControlLogix IO, with room to expand to 60 racks. It was all on a single controlnet. There was one gateway to the DeltaV.
This was not a flexible solution. Adding racks, mapping new data from other automation systems, etc required the whole mill to be down.
Design and layout:
The present organization is around the process - 2 different main product classes (Red and White) to start with, Loadout split into it's own PLC, the Steamplant and the Electrical Substation also in their own PLCs
Each PLC .. it was not designed this way .. sort of handles all of the equipment in an area. We don't have very many interlocks between PLCs. Most of the time the process has a tank or a bin that buffers product flow between
areas, so one PLC is in charge of filling the tank and the next PLC is in charge of pulling product out of the tank. That seems to work pretty well
Within each PLC we are quite simple. All of the code gets executed every scan. There are subroutines for each process area, and they are in order of asset number. Communications to the other PLCs is handled by separate subroutines.
Each PLC communicates to each of the other PLCs. And each ControlLogix communicates to a DeltaV controller using a VIM card.
The sequencing is done in SFC for the steps, but the step number drives actions in ladder logic (not ST within the SFC itself). If there is a lot of operational interaction with a sequence, it is done in the DeltaV.
If setpoints, bypasses, or pauses are not required, the sequences are handled by the PLCs
Our IO is now grouped by the MCC Room it is in, and the PLC that it connects to. We have cabinets within a specific MCC room that have Red IO, others that have White IO and Loadout IO. The racks and IO have to be well labelled
to avoid having new equipment terminated to the wrong locations.
We have many VFDs (about 1 in 5 motors are driven by VFD) so organizing their location, getting their communication and status straight, and allowing for size upgrades turned out to be a big issue for us. We have Devicenet
now and are moving to Ethernet. Ethernet is problematic since our IT guys are not on call. So any problems need to be repairable/be changed out by an electrician on site with assistance from a tech over the phone or on teams
Our VFDs are organized the same way as the rack IO (Red white, loadout, steamplant, etc), and in Motor Control Center sized groups.
I'm not sure I understand 'best PLC software architecture'. Can you give me an example?