
Master motion control programming with the PLCopen standard, blending theory and hands-on practice in a simulated environment using the structured text language and the Soft Motion library.
Explore motion control concepts, the PSC open standard with the PSC open function block, and learn to set up the soft motion library, encoder system, and basic motion blocks.
Explore motion control fundamentals with PLCopen: motion controllers, electric drives, and position sensors enable precise, synchronized motor movement. Learn how controllers generate motion profiles and setpoints to drive torque.
Explore the core motion control variables—positions, velocities, accelerations, torque, and currents. Learn how forces, friction, and moment of inertia shape motion, measurement units, and motor torque generation.
Explore motion control technologies and applications, from variable speed drives for ventilation and pumping to CNC machining, and compare motor types like induction, permanent magnet, and brushless.
Discover the PLCopen standard for motion control, including the open motion control specification, software interfaces, and axis control state diagrams used by motion libraries.
Install the soft motion package by downloading it from Code CS dot com, using the demo version in simulation mode, and completing a typical setup with the package manager.
Adopt Hungarian notation to reveal type and scope in PLC programming by prefixing variable names, showing inputs, outputs, locals, globals, and constants with consistent prefixes, plus practical examples.
Create a motion control project in CoDeSys, add a virtual axis, and configure modulo vs finite axis, software limits, emergency stop, and velocity ramp profiles with the soft motion package.
Explore the sm3 basic library for motion control, using the library manager to access the prc open standard function blocks, visualize blocks, and test with fbd and structured text.
Learn to use PLCopen motion control function blocks to read axis position, velocity, and errors, diagnose status, and apply the PRC open state diagram.
Power on axis with the MC_Power function block in PLCopen motion control. Enable inputs (enable, power state, quick stop disable) and read the status to move from standstill to motion.
Discover how to use the mc reset function block to clear axis alarms and reset the drive from error stop to standstill, using execute on the rising edge.
Learn how a homing procedure initializes an axis using a reference sensor to determine its actual position. Understand when incremental versus absolute encoders affect the need for homing at startup.
Learn how to implement a homing procedure with MC_Home and MC_Homing blocks in PLCopen, configuring execute inputs, reference handling, and drive versus PRC reference options.
Explore how the AMC set position function block shifts an axis reference by adjusting its coordinate system, using absolute or relative modes to set a zero without moving.
Set up three generic axis variables for position, velocity, and acceleration, link them to the main task, and organize function blocks into administrative, motion, and diagnostic blocks.
Explore continuous motion in PLCopen, moving an axis with a rising trigger of the function block and progressing through standstill, continuous motion, stop, hold, and discrete motion states.
Compare the AMC stop and AMC hold function blocks to stop an axis safely, highlighting their differences, stopping states, and why AMC stop provides a safer, locked stop.
Learn to move an axis using the amc move velocity function block in the prc open standard, configuring velocity, acceleration, and deceleration to create a trapezoidal continuous motion profile.
Compare finite and modulo axes for continuous motion, noting how soft limits trigger emergency stops on finite axes and how modulo axes rollover positions to a 0-360 range.
Learn how the AMC jog function block enables manual axis movement at velocity via push‑and‑hold buttons, with forward/backward inputs, and how it differs from move velocity for automatic motion.
Explore project 1: fan motion control using PLCopen function blocks with manual jog and automatic velocity modes, rpm to deg/s conversion, safety interlocks, visualization, and a state machine approach.
Build a fan motion project by configuring a state machine and motion control blocks, including power, reset, diagnostics, axis control, jog and velocity, with transitions for manual and automatic modes.
Switch a fan motion axis between manual and auto modes, manage a state machine, read position and velocity, convert to rpm, and enforce velocity limits.
Auto mode uses the move velocity function to ramp the fan, transitioning through states 25, 30, 40, and 50 via a start button and stop requests.
This project demonstrates managing an emergency stop for fan motion using PLCopen function blocks, outside the state machine, with transitions, resets, and auto and manual modes.
Explore discrete motion in PLCopen motion control, including position movement and PRC open state diagram. Start a motion block, wait for done, and note how AMC stop returns to standstill.
Explore the PLCopen move absolute function block to move an axis to an absolute position using a trapezoidal profile for a target position with acceleration, velocity, and deceleration.
Explore absolute position profiles for modulo axes in PLCopen motion control, comparing forward and backward moves, shortest and fastest directions, and how modulo behavior affects target positions.
Explore how MC_MoveRelative uses a distance input to create a relative target from the current axis position, and observe its behavior and how move additive follows in the next video.
The lecturer explains move additive versus move relative. Move additive samples the target position from the current target position, so a 100-unit move ends at the target plus 100.
Explore the discreet motion project using a carrier axis, featuring manual jog control and automatic zero-to-target positioning with discrete motion blocks.
Explore the project structure, interface elements, and main program code for carrier motion, noting manual mode is implemented and guiding automatic mode via move absolute and absolute/relative blocks.
Drive auto mode for carrier motion using move absolute to zero with a start/stop control, monitoring position reached to switch between auto and manual modes.
Explain move relative versus move absolute in carrier motion, showing state 30 and 40 adjustments and why move absolute is preferred when the target position is known.
Explore independent motion for multiple axes in a PLCopen project with two conveyors and a pusher axis, using simulation, global variables, and sensors for automatic operation.
Declare and call motion control function blocks to power axes, read errors, reset faults, and monitor position, using move velocity, move relative, and move absolute blocks in a motion control action.
Explore implementing a PLCopen motion control final project by building a state machine with rising-edge sensors and buttons, managing power on axis and access, and handling enable and emergency logic.
Start an automatic motion control cycle for conveyor and pusher using PLCopen, initialize pusher to zero, run conveyor in velocity until capture, and propose a capture queue to improve precision.
Implement a five-entry fifo to manage first-sensor captures, enqueueing and dequeuing values, and compute a fast sensor difference with rollover handling to improve motion control.
Finish the automatic cycle by coordinating the conveyor and pusher using move absolute and move relative commands in auto mode, while updating counters and preparing for stop and emergency checks.
Master stop and emergency stop procedures in a PLCopen motion control final project, including clearing cue lists, disabling executes, and state-driven transitions for safe axis sequencing.
Program and manage motion control systems using AMC function blocks, create continuous and discrete motion, and build a multi-axis independent application.
Ready to move beyond basic PLC programming and specialize in the dynamic field of Motion Control? Want to design and implement sophisticated automation sequences for robotics, CNC machines, packaging lines, and more?
This course is your deep dive into controlling automated motion using the industry-standard PLCopen Motion Control framework. You'll leverage the powerful CoDeSys SoftMotion library – all within a simulated environment, requiring no physical hardware!
Why PLCopen? It's the global standard that ensures reusable, hardware-independent motion control solutions, saving development time and making your skills highly valuable across different platforms and industries.
Building on your existing PLC knowledge, this course will teach you to:
Grasp Motion Control Fundamentals: Understand the core concepts, terminology, and technologies driving modern automated movement.
Master the PLCopen Standard: Learn the structure, state machines, and essential function blocks defined by PLCopen for single-axis control.
Implement Key Motion Functions: Gain hands-on experience configuring axes and using critical PLCopen function blocks within CoDeSys, including:
Axis Administration (MC_Power, MC_Reset)
Homing Procedures (MC_Home, SMC_Homing)
Continuous Movement (MC_Jog, MC_MoveVelocity)
Discrete Motion (MC_SetPosition, MC_MoveAbsolute, MC_MoveRelative
Utilize CoDeSys SoftMotion: Become proficient in using this powerful library to simulate and test complex motion sequences effectively.
Apply Practical Techniques: Work through real-world scenarios and exercises to solidify your understanding and build confidence.
Prerequisites:
Solid understanding of basic PLC programming concepts.
Familiarity with the CoDeSys (V3) development environment.
We strongly recommend completing the "PLC Programming - Learn the Basics with CoDeSys" course or having equivalent foundational knowledge before starting.
This course is designed for:
PLC Programmers seeking to specialize in motion control applications.
Automation Engineers and Technicians working with servo drives, robotics, or automated machinery.
Control Systems Engineers needing to implement standardized motion solutions.
Anyone who has mastered PLC basics and wants to tackle advanced automation challenges.
Elevate your automation expertise and become proficient in one of the most in-demand PLC skill sets. Enroll now and take control of motion!