check Adds

Friday, October 8, 2010

PLC PROGRAMMING COURSE

PLC Programming courses
Training Beyond the Boot Camp 
When it comes to PLC programming courses, "one size" definitely does not "fit all" needs. We recognize that there are as many different types of PLC programs as there are different types of machines to control. So in order to provide effective training, we custom-design each PLC programming course to target the job skills which the student will require once the class is over. Naturally this approach requires a considerable amount of "up front" effort – but it yields much better results than the generic "stop light" and "garage door" type exercises which students encounter in most PLC programming classes. As detailed below, our "custom-designed" approach to teaching PLC programming considers the customer's needs and expectations throughout the entire process of developing and delivering the training product.
Step 1 – Define the course objectives
The first step in developing one of our programming courses is defining the course objectives. This is usually done by working with the customer to identify the type of program to be covered in the class. Often the student's immediate supervisor will be able to provide an existing program as a sample. In ideal situations this sample program will incorporate the same types of programming techniques which the student needs to learn. The following is an example of a typical course objective statement:
  • cover the skills required to design and write ladder logic programs for Allen-Bradley PLC-5 controllers consistent with the layout and complexity of the existing LOWSIDE.RSP program currently in use at the Acme plant in Anytown, AS
Having the course objectives clearly defined from the very beginning provides a specific target for the programming course to achieve. Involving the customer in the development of these objectives is essential in satisfying the customer's needs and expectations.
Step 2 – List specific topics
Once the course objectives have been fully defined, we begin listing the specific topics which will be covered during the course. These topics typically include subjects such as:
  • Designing, organizing, and programming the PLC ladder logic project
  • Main Control Programs, Selectable Timed Interrupts, Processor Input Interrupts, Subroutines, Jumps, etc. and their effects on the program scan
  • Passing input and return parameters to and from subroutine ladder file
  • Using indirect and indexed addressing
Each of the listed topics will be incorporated into the course's hands-on projects. Working through these assignments will be the primary method by which the student will master the course material – and meet the objectives of the course.
Step 3 – Approve a programming project
The next stage in designing the training course is to specify a realistic programming project for the student's classroom exercises. We closely coordinate with the customer in developing a hands-on project which focuses on the specific programming skills to be covered. The student also becomes involved in this phase of the course design – by actually collecting and organizing the same types of critical information necessary for any successful programming project. Depending on the complexity of the project, this particular step may require several days to accomplish. The student is expected to become highly familiar with the field equipment which will be covered during the class. Frequent "work in progress" reports to the instructor are usually required. When necessary, the instructor will discuss the student's progress with the customer. Upon completion of this design step, the student's supervisor "signs off" with a final approval of the training project's scope. The following is an example of a typical project design requirement:
  • In order to optimize the use of classroom time and to insure the effectiveness of this course, students are required to submit a “programming project” to the instructor a minimum of two weeks before the class meets. Subject to approval by both the instructor and the students’ immediate supervisor, the application specified by this project will serve as the primary focus of the students’ programming exercises. The application may consist of any reasonable type of machinery (real, imaginary, existing, or proposed) which incorporates the programming techniques and objectives of this course. Students may use text, pseudo-code, outlines, flowcharts, or any combination of these or other methods in detailing the specifications of the application. The project must include detailed sketches of the machinery layout to be used in the HMI/SCADA development phase of the class. A detailed I/O listing is also required. Students are invited to contact the instructor for guidance during this stage of the training.
This custom-design approach keeps the training directly focused on the customer's specific training needs and expectations. Also, the student begins learning valuable documentation and project organization skills even before the class initially meets. No valuable classroom time will need to be wasted in familiarizing the student with the project to be programmed.
Step 4 – Conduct the class
In most cases, the first hands-on project at the beginning of the class requires the student to develop a simple HMI/SCADA simulation of the machinery to be programmed. The I/O list and layout sketches that the student collected during Step 3 will provide the information necessary for this assignment. Once the simulation is complete, it will be run on an extra lab computer to represent the equipment's field devices. Using this handy simulation approach allows the student to monitor and interact with the PLC program as it is being written. The student's exposure to HMI/SCADA concepts is a valuable benefit - but simulating the field equipment during the actual PLC programming exercises is the main objective. Common techniques such as this will prove useful throughout the student's programming career.
With the "simulated machinery" in place, the instructor begins assigning one hands-on programming project after another. The various topics listed in Step 2 are incorporated within these projects. By presenting the course material in this way, the instructor is able to closely monitor the student's progress and provide any coaching necessary. Concepts which the student easily masters take very little time to cover. This keeps the majority of the classroom time available for concepts which the student finds more difficult. Students invariably prefer this challenging "learn-by-doing" teaching method over the lecture-based approach used in traditional programming classes.
Throughout each project the instructor coaches the student to develop a systematic approach to programming. Purposeful experimentation is allowed – but random "hit or miss" guesses are strongly discouraged. The instructor makes certain that the student recognizes any recurring patterns in the material. Similarities - and differences - are continuously pointed out. This helps the student mentally connect the interrelated concepts which form the foundation of good PLC programming practices.
As the class proceeds, the student plans, designs, develops, and writes a cohesive program which satisfies the objectives of the training course. Throughout the process the instructor doesn't simply assign a project and then wait for the student to "figure it out" alone. Instead the instructor maintains a constant two-way dialog with the student. Misconceptions are exposed and corrected. Correct ideas are reinforced. These continuous coaching techniques are exactly the same as those used to improve the performance of athletes in sports: point out and encourage good practices – point out and discourage bad practices.

No comments:

Post a Comment