Albert LaFrance
Lifetime Supporting Member
As someone who's learning about PLCs (just for fun at this point), I follow the various threads posted by other beginners, and have been wondering how someone's prior knowledge affects their learning approach, and what challenges and advantages it brings to their effort.
Specifically, I'm thinking of the differences between people who have a hard-wired controls background, versus those who come from the computer programming field.
For example, many of the practices taught to beginning programmers in languages like C++ and Java apply directly to PLC work; things like understanding and documenting the requirements thoroughly before starting to code, using comments to explain your program, giving your variables meaningful names. And a programmer will readily understand the concept of the PLC scan as a "DO loop" control structure and perhaps, more abstractly, see a ladder rung with PLC input contacts as an "event handler".
On the other hand, the hard-wired controls designer/technician has major advantages in reading ladder diagrams, understanding the characteristics of the real-world equipment and processes being controlled, and having an awareness that any input can change at any time.
Specifically, I'm thinking of the differences between people who have a hard-wired controls background, versus those who come from the computer programming field.
For example, many of the practices taught to beginning programmers in languages like C++ and Java apply directly to PLC work; things like understanding and documenting the requirements thoroughly before starting to code, using comments to explain your program, giving your variables meaningful names. And a programmer will readily understand the concept of the PLC scan as a "DO loop" control structure and perhaps, more abstractly, see a ladder rung with PLC input contacts as an "event handler".
On the other hand, the hard-wired controls designer/technician has major advantages in reading ladder diagrams, understanding the characteristics of the real-world equipment and processes being controlled, and having an awareness that any input can change at any time.