warning! ... philosophy ahead ...
Paul,
you’ve used one of my favorite magic words in your initial post: “desperate” ... desperation can enable us to do great things ...
think for a few seconds about what you’re asking ... using a “literary” analogy, you don’t want to learn how to READ a best selling novel ... you want to learn how to WRITE one ... this is a pretty tall order ... so how would you actually go about learning how to write a best selling novel? ... one of the first items on your plan of attack would certainly be to READ some existing best sellers ... the rest of this post focuses on following that same strategy as it pertains to writing PLC programs for process control applications ...
anyway ... here is my carefully considered advice based on the few details you’ve given so far:
try to get your hands on a “model” PLC program ... ideally this would be a program which controls some local plant ... having the program on disk is much better than having a hardcopy printout ... you’ll also need a copy of the P&ID (Process and Instrumentation Diagram) of the same plant ... even an out-of-date version would probably be adequate for your needs ... make sure that you’re not violating anyone’s trade secrets or proprietary restrictions by having this material ... you’ll also want a copy of the PLC’s programming software ... don’t steal ... but maybe you can borrow ... and in the worst case scenario, maybe you’ll have to pay full price ...
now... will obtaining all of this material be difficult? ... possibly ... possibly not ... that all depends upon your personal contacts ... where do you work? ... whom do you know? ... but if (as you’ve already said) you’re truly “desperate” then you’ll find a way to make it happen ... and you just might make the acquaintance of some influential people along the way ... this might come in helpful down the road ... frankly, it seldom hurts to impress people in positions of authority with the fact that you’re putting forth a lot of personal effort toward improving your knowledge ...
continuing on ... once you have the sample program in hand, start picking it apart piece-by-piece ... ask yourself questions such as “where does this input signal originate in the field? ... what does it represent? (example: temperature, flow rate, pressure) ... how is this signal brought into the PLC? ... what range of values does the PLC use to mathematically represent this input signal? ... how does the PLC make use of this input signal to control the plant’s processes? (example: as an input for PID control) ... how does the input signal affect the value of a PLC output signal? ... how is the output signal wired to a field device? ... don’t ever forget: the PLC’s program is only ONE PART of a complete system ... to become a successful programmer, you’ll have to understand all of the other facets of the complete system ... including (among many other things) the wiring for the inputs and outputs ...
trust me, you’ll learn a lot from the exercise I’ve outlined ... in the grand scheme of things, the PLC programs which control most industrial processes resemble a tangled ball of yarn ... find one end of the yarn (the input signal) and start untangling the ball until you’ve tracked all the way through to the other end (the output signal) ... here’s a quick sample of my favorite way of diagramming this “signal tracking” exercise on paper:
[attachment]
since you didn’t tell us what platform you want to concentrate on first, I took the liberty of using an Allen-Bradley PLC-5 system for my example ... there’s no magic here ... and the symbols I’ve used are my own personal favorites ... you’re welcome to use anything else that makes more sense to you ... let’s walk through it quickly ...
a temperature transmitter in the field provides a 4 to 20 milliamp signal which is wired to terminal number 1 on a 1771-IFE analog input module ... a BTR (Block Transfer Read) instruction located in ladder file 12, on rung 22 transfers the signal into the integer location N7:54 ... the value of the integer should range from 0 to 4095 ... the actual value at the time the program was saved was 2011 ... an MUL (Multiplication) instruction located in ladder file 4, on rung 33 multiplies the value from N7:54 by 1.5 and places the result into the floating point location F8:16 ... the value in this location should range from 0.0 to 6142.5 ... the actual value at the time the program was saved was 3016.5 ... using RSLogix5’s “Find All” search feature will help immensely with tracking down the signal flow ...
important survival tip: use a BIG piece of paper and write SMALL ... use a pencil (not a pen) and keep an eraser handy ...
the basic ideas behind this approach are: where does the signal come from? ... where does it go to? ... and what programming mechanism makes it move from one location to another? ... in other words, here is a SYSTEMATIC approach toward analyzing the PLC’s program and understanding how it actually controls the plant’s processes ... I’ve been able to help many students over the years by teaching these same techniques ... I know that they work ...
now... is this “signal tracking” going to be a tedious tiresome job? ... certainly ... absolutely ... but if (as you’ve already said) you’re truly “desperate” then you’ll work through it anyway ... and you’ll get better at it as you go ... each successive signal will be easier to unravel ... eventually you’ll get pretty good at it ... and at some point along the road, you’ll start to get the “big picture” of how all the pieces of the puzzle fit together ... in short, you will begin to “understand” ...
once you’ve got several signals traced all the way through the PLC, you’ll be ready for the next step ... start asking yourself questions such as “why did the programmer do this?” ... and “why is this particular step necessary to control the plant?” ...
think about it this way ... you have before you a working program which controls a functioning plant ... you eventually want to be able to write a program such as this yourself ... look at the advantages you’ll gain from being able to systematically analyze and interpret your sample program ... the techniques you’ll learn will be invaluable when you actually start writing programs yourself ... and don’t just assume that the original programmer did everything “right” ... be alert for places where another technique or a different programming approach might have been better in some way ...
of course you’re likely to run into some features that you won’t be able to understand by yourself ... is there the possibility that someone who already works at your “sample” plant could act as a mentor? ... or ... suppose that you post the program on this excellent forum and ask specific questions about the rungs and techniques that have you stumped ... again, make sure that you’re working with non-proprietary information ... you’ll usually find that if you’ll put forth the effort, then there will be others around who will be willing to help you ...
golden nugget of truth: hard working people are invariably willing to help other hard working people get ahead ...
now back to your original question ...
I am chemical engineer and desperately wanting to bridge to automation. Is there a course that anyone can recommend which focusses a lot on PLC and SCADA programming?
There is one called process instrumentation but it focuses on field work and not the programming side.
as I said earlier, (again using our literary analogy) you’re basically asking for a course which will teach you how to write a best-selling novel ... now ask yourself: “if such a course DID exist, how much of an investment (in both time and in money) would I be willing to spend to take that course?” ... the degree of your “desperation” is likely to be a significant factor in determining your answer ... but ... REGARDLESS of your answer, don’t you honestly think that it would be a good idea to BEGIN your education by undertaking some systematic study of the topic on your own? ... look at it this way: how much would the plan of attack I have outlined above cost? ... in time ... and in money ... how much could it hurt your prospects for eventual success? ... how much might it potentially help? ... weigh the pros and the cons ... choose a course of action ... and then make it happen ...
even if you do eventually decide to take a formal course in these subjects, think of how much more benefit you’ll be able to get out of it with a little bit of advance preparation ...
finally ... once you’ve worked your way through the PLC end of the puzzle, the SCADA part will make a lot more sense ... still a lot more to learn ... but once again, hard work and desperation can make anything possible ...