Good afternoon!
My first post here so bear with me. A recent career change has made me become very interested in PLC/Automation Engineering. My former career (shipboard marine engineer) gave me a very strong mechanical and electrical troubleshooting background. My exposure to PLCs and automation aboard ships was extensive but almost entirely in troubleshooting/maintenance/repair. My new career has the potential to expose me to the design/development side of PLCs and automation and, as such, I'm trying to learn all I can!
On a recent job, I was asked to troubleshoot and repair a large hydraulically operated door. The door controls are relay based and the operational issues were traced to a failed mechanical relay, an incorrectly set limit switch, and another failed limit switch.
Anyway, after completing the job I decided I'd design a PLC based control system as a learning exercise. I've attached pictures of the original system schematic and the program I designed to replace it. The program tests fine in simulation and I'm confident it would work in practice so I'm happy with that. The problem is, getting to that point took a long time and lots of trial-and-error.
I intentionally made it more challenging by only using the original schematic for an input/output reference list. Though, the program would never work properly anyway had I straight "copied" the relay logic into the PLC ladder logic due to the scan sequence, multiple rungs leading to common outputs, etc.
I've spent a lot of time in the past several weeks reading all I can about design techniques/methodologies. I've touched on state machine, k-diagrams, SFC and Grafcet, truth tables, etc, etc. I've bought probably a dozen books in the past month! The problem is I am still missing "something". I can't quite link the theoretical to the practical.
Example, after fudging my way though the program design I figured there had to be a better way. With what I had learned so far about SFC and Grafcet, I thought, this seemed like a good technique for the door application. Sitting down with that, I immediately run into the issue of clearly defining the "states" the door can be in. With 11 inputs and 13 outputs there's a lot of them. Plus, several inputs have a "transition" period where neither is true for a period of time in operation (door locks, and door "open"/"closed" positions for example) that seem to be throwing me for a loop. Also, the door is manual operation only which doesn't necessarily seem to "fit" with SFC, but my lack of knowledge could be fooling me!
Next, I learned a bit about truth tables, using them, and boolean algebra to develop ladder logic. Again, with 11/13 I/Os, even excluding the (nearly) impossible and "easy" (indicator lamp outputs) combinations you still end up with 100+ truth tables.
I'm stuck. What kind of techniques would you guys use for something like this? I'm sure practice would make my trial-and-error process faster but what about a control project far more complicated than this one? There's got to be a more methodical approach to this. I know these are some pretty broad questions and my knowledge is limited but any advice, insight, or suggestions are welcome.
Thanks!
Kyle
My first post here so bear with me. A recent career change has made me become very interested in PLC/Automation Engineering. My former career (shipboard marine engineer) gave me a very strong mechanical and electrical troubleshooting background. My exposure to PLCs and automation aboard ships was extensive but almost entirely in troubleshooting/maintenance/repair. My new career has the potential to expose me to the design/development side of PLCs and automation and, as such, I'm trying to learn all I can!
On a recent job, I was asked to troubleshoot and repair a large hydraulically operated door. The door controls are relay based and the operational issues were traced to a failed mechanical relay, an incorrectly set limit switch, and another failed limit switch.
Anyway, after completing the job I decided I'd design a PLC based control system as a learning exercise. I've attached pictures of the original system schematic and the program I designed to replace it. The program tests fine in simulation and I'm confident it would work in practice so I'm happy with that. The problem is, getting to that point took a long time and lots of trial-and-error.
I intentionally made it more challenging by only using the original schematic for an input/output reference list. Though, the program would never work properly anyway had I straight "copied" the relay logic into the PLC ladder logic due to the scan sequence, multiple rungs leading to common outputs, etc.
I've spent a lot of time in the past several weeks reading all I can about design techniques/methodologies. I've touched on state machine, k-diagrams, SFC and Grafcet, truth tables, etc, etc. I've bought probably a dozen books in the past month! The problem is I am still missing "something". I can't quite link the theoretical to the practical.
Example, after fudging my way though the program design I figured there had to be a better way. With what I had learned so far about SFC and Grafcet, I thought, this seemed like a good technique for the door application. Sitting down with that, I immediately run into the issue of clearly defining the "states" the door can be in. With 11 inputs and 13 outputs there's a lot of them. Plus, several inputs have a "transition" period where neither is true for a period of time in operation (door locks, and door "open"/"closed" positions for example) that seem to be throwing me for a loop. Also, the door is manual operation only which doesn't necessarily seem to "fit" with SFC, but my lack of knowledge could be fooling me!
Next, I learned a bit about truth tables, using them, and boolean algebra to develop ladder logic. Again, with 11/13 I/Os, even excluding the (nearly) impossible and "easy" (indicator lamp outputs) combinations you still end up with 100+ truth tables.
I'm stuck. What kind of techniques would you guys use for something like this? I'm sure practice would make my trial-and-error process faster but what about a control project far more complicated than this one? There's got to be a more methodical approach to this. I know these are some pretty broad questions and my knowledge is limited but any advice, insight, or suggestions are welcome.
Thanks!
Kyle