
Write your own C program, test it against the provided criteria and a PBS specification, and iterate until it works. Embrace hacking and reverse engineering, but don't skip ahead.
This section warms you up for level two by introducing a few new instructions, offering bonus theory, and highlighting the updated Rs links version needed for project nine.
Learn how the retentive timer preserves accumulated time and supports reset, illustrating with a sample program, a time base of one second, and a comparison to a normal timer.
Explore negate and absolute value in a simple test program, storing results from register 7:0 to 7:1 starting with 25, and observe magnitude and sign changes.
Explain how return and temporary end govern ladder logic execution, using GSR and subroutines to move values through 7:0, 7:1, and 7:2 with one-shot triggers.
Explore bitwise instructions and, or, not, and clear at the word and bit level with hands-on testing on two data words.
Master string search and string extract by locating a dash in a sample string, computing the index, and extracting a three-character substring like PLCC using ASC and AEX.
Explore string handling by converting strings to integers and back in the HCI AIC program. Test A and B verify 747 and 130 conversions and that the final strings match.
Learn to work with ASCII strings by performing an ASCII string compare and a string concatenate, testing equality between strings and building a combined string, preparing for upcoming projects.
Engage in a hands-on level 2 course that trains you to be a capable PLC programmer through ten real-world projects, emphasizing struggle, independent problem solving, and testing against clear criteria.
Solve assignment one by building a PLC program that maintains pressure between 90 and 110 psi, turning the pump on below 90 and off at 110, with run indicator lamp.
Watch a real-world, error-tolerant programming session that shows mistakes while building a four io project with two inputs and two outputs, including IO setup, bits, GSR, and basic control logic.
Explore building pump and indicator control with two rungs, one-shots, and timers, using start and stop delays tied to pressure thresholds such as below 90 psi and 110 psi.
Build semi complex ladder logic to control an indicator bit using start and stop triggers, timers, and open/closed pressure switches, then test in emulate.
Test the first project in the emulator by verifying pump and light behavior across low and high pressure switch states, including five-second delays and energize/de-energize sequences.
Drive motorized conveyor to feed boxes into a filling station, using proximity and color-detection sensors to choose pecans or walnuts from hoppers, with a sonar level sensor stopping the fill.
Develop a RS logic 500 program mapping inputs from proximity switch, level sensor, read photo, blue photo to outputs conveyor, walnut hopper, pecan hopper, using always, interrupts, and one-shot timing.
Learn to implement a three-stage cycle for box handling using an integer counter, tracking bring, fill, and unload, with proximity switch, photo eyes, level switch, and one-shot actions.
Design and tune a conveyor motor and walnut and pecan hopper control using a cycle with mode checks, one-shot triggers, blue photo matching, and level switch interrupts to operate devices.
Test and debug a PLC based conveyor system in an emulator, fix a one shot issue, and introduce an intermediate mode to stop the conveyor when the proximity switch closes.
Test and debug an automated conveyor system by running emulations, saving, reloading, and iterating mode logic to ensure hoppers and conveyors respond correctly to proximity, photo eyes, and level sensors.
Detect when a new value arrives at esti 9:0, parse the string into part number, quantity, and direction, and update inventory counters for parts 1-3, 4-6, and 7-9.
Learn to handle barcode scans and string-based data in an APRC programming context by managing stock quantities and extracting part numbers, quantities, and directions via ASCII string comparisons.
Implement inventory logic for a scan-based system. Use string comparisons to map widget, doodad, and walkie part numbers and adjust quantities from incoming and outgoing values converted to ascii strings.
Practice debugging and iterative testing by running the emulator, diagnosing and fixing a string index bug, and validating that values update correctly across test cases.
Control an automatic multi-position valve with a servo-driven cam and microswitches to detect home, fill, drain, and flush, driven by a host cycle with timing and a home reset.
Learn to build a one-servo control program using bit addressing and io mapping, defining inputs and outputs, a position register 7 0, and microswitch-driven home, fill, drain, and travel states.
Define home, drain, and flush positions and travel state, using XIC conditions to drive destination logic, then implement cycle running, triggers, interrupts, and resets for controlled cycling.
Develop a servo control logic using trigger bits, cycle timers, and position checks to automate fill, drain, and flush sequences, with home and interrupt-driven cycle management.
Perform an ops check to validate servo energization, IO handling, and microswitch state transitions, confirming position values and a pass on all test criteria.
Measure oil flow in a pipe using a rotor meter, count pulses to compute gallons per minute, and validate against Attash PTF test criteria.
Develop a simple k-factor flow meter using timers and counters to pulse a flow sensor every 12 seconds, then convert pulses into gallons per minute.
Perform an ops check by testing a control system in an emulator, adjust F-8 registers to set the K factor and GBM flow, and verify pulse timing yields target counts.
Store runtime in four registers, with seconds in 7:0, minutes in 7:1, and hours across 7:2 and 7:3, enabling up to a million hours and a reset option.
Builds an hour meter by accumulating time with a retentive timer at a millisecond base, converting cycles into seconds, minutes, and hours, with reset and run signals.
Perform an ops check by running the program, verifying zeroed accumulators, enabling input to watch seconds, minutes, and hours counters increment, hold, reset to zero, and resume accurately.
As a PLC programmer, you will usually find yourself working alone, unsupported and with nobody to help you but Google. Your boss or client will tell you what they need, and the only thing they want to hear from you is, "Here it is." And when you deliver, it goes without saying that the expectation is - that it WORKS!
This is the course (always cheaper on PLC Dojo) the acclimates you to the real world. This isn't the classroom anymore; this is war! You vs the PLC.
In this course, we hit the ground RUNNING. I designed this course to build upon the theoretical training students received in "PLC Programming from Scratch" by taking that knowledge (plus a few new pieces) and constructing original ladder logic applications to solve everyday, industrial problems.
Using the Rockwell software RSLogix 500, RSLinx and RSLogix 500 Emulate, you will be given various descriptions / specifications for programs and then expected to write each one from scratch. After, I will walk everybody through my own approach to each problem step-by-step. Lastly, we'll run each project on the emulator and debug as required before moving on to the next section.
This course is 100% practical! It is expected and assumed that you got the theoretical in my previous PLC course, and as such, this course contains NO REFRESHERS. This is all new material! There ARE a few new instructions used in this course, and those will be properly introduced, but you should already know how to use blocks like XIC, XIO, OTE, ONS, SCP, JSR and etc.. Again - this is an INTERMEDIATE course. It has a PREREQUISITE course before it. Don't try to walk before you crawl and then get all sour and mad about it when you fall down.
Let me be clear: you WILL struggle in this course. That's the whole point. My first PLC course has a lot of group hugs, hand-holding, warm bottles of milk and hippie drum circles all in a safe, friendly, positive learning environment. This course is NOT like that. This is boot camp. This is you being thrown into the deep end of the swimming pool... with a shark. If you want to get frustrated, wrack your brain trying to solve hard problems and learn what it's like being a PLC programmer - this is your course! You'll come out of it better, faster and smarter. If you're not ready for that yet, take my first course.
What's covered in each of the five PLC courses I teach here and on my own PLC Dojo site?
PLC Fundamentals (Level 1) teaches you how to program with the focus on ladder logic, which is the most popular PLC programming language. The goal is to teach you everything you need to know to make a PLC do what you want it to do. You are also given all the software necessary to both CREATE and RUN your own programs live - right on your own computer.
Applied Logic (Level 2) forces you to take what you've learned and solve problem after progressively harder problem unassisted. You get a spec and are told simply: "Make it work, and don't progress until you have." After, you get to watch me solve each one as well. By the end, you don't just know how to program - you are a PROGRAMMER.
Process Visualization (Level 3) gives you both knowledge and experience in FIVE different HMI / SCADA development environments. By the end, you've created several COMPLETE visualization (screen) projects that you can actually run on your own computer (and SHOW PEOPLE in an interview) with no additional hardware.
IEC Paradigms (Level 4) is only for the heavyweights. This course teaches you how to program using all five IEC programming languages (plus one more) in multiple environments. There are projects as well, so by the end, you have seen it all and DONE it all as well. There won't be anything anybody can show you that you won't already be familiar with.
TIA Portal Master Project (Level 5) is the culmination of everything. In that course, you'll program an entire power plant using all five PLC programming languages (in PARALLEL!) with a full HMI. It's a massive and complex project that really showcases your talents in an interview!