Click&Move Automated Software Solution

Click&Move® (C&M) is an automation solution designed for OEMs and systems integrators. It can include motion control, PLC logic, local I/O, and networked I/O. Applications can be simple, single-axis with minimal I/O to complex, multi-axes running in real time.

A Click&Move system will consist of both a software component used to create the logic, HMI, and motion profiles and hardware components such as a controller, servo drives, and I/O devices.

Interested in getting Click&Move? Go to the product download page!


Click&Move Quick Facts

  • Combines Motion, PLC, and HMI control
  • Based on PLCopen, the global standard for industrial control programming
  • Supports CANopen, EtherCAT, and POWERLINK network protocols
  • Fully IEC 61131-3 compliant using graphical Function Block Diagrams (FBDs) (pre-configured or user-defined)
  • Multiple platforms supported: PC (Win OS and Linux), stand-alone controller (MACC), and ADVANCED Motion Controls’ drives

Integrated Development Environment

The C&M Integrated Development Environment (IDE) provides the user with a programming environment for a range of applications:

  • Motion control
  • PLC machine control
  • G-code file handling for CNC apps
  • Process control
  • Robotics

The IDE consists of applications to graphically create/edit Function Block Diagram (FBD) based logic schematics and HMI screens, debug application code, organize and archive application code, merge and compare code as well as automating the build/compile status.

Where do we start?

HMI Requirements: The HMI represents the User Interface Controls. This is what the user will use to interact with the system once it's live.

FBD Requirements: The FBD (Function Block Diagram) represents the motion and logic behavior.

Depending on their project or their work style, users may want to start with either end. It's ultimately up to them!


Click&Move's Integrated Development Environment gives the user control over everything from the function block logic to the visual Human Machine Interface.

Basic HMI

A simple HMI with toggles and text input can be a starting point for more intricate interfaces.

HMI (Human Machine Interface)

Anything that helps a user to operate a machine or monitor it's status is part of the HMI. Lights, switches, knobs, buttons, buzzers, screens, touch screens and more can all be components of an HMI. An HMI screen can be as simple as a start/stop button with a drive status read-out, or as complicated as a full graphical representation of the working machine along with real-time displays of computed values, charts, dials and graphics.

Getting Started with the Auto-generated HMI (Basic HMI)

Click&Move auto-generates a basic HMI that displays the C&M variables as inputs and outputs. Input variables can be manipulated via toggles or entered as values depending on the variable type. Output values are updated live. The basic HMI is useful during development to verify that the program functions as intended. It can be used in both the virtual and physical environments.

The underlying code for the basic HMI is accessible within the project file structure and is available in the following programming languages: C++ (in the Qt framework), Python and MS C# (C-Sharp).

HMI developers can use this auto-generated code as a starting point to develop their own fully functioning and visually sophisticated HMI project.

HMI Development Using the Qt Framework

Qt is a 3rd party framework for developing HMIs. The framework gives developers access to a cross-platform IDE with a large variety of tools and extensions, as well as a visual 2D/3D UI editor with ready-made UI components. The Qt Framework facilitates rapid development from design to production.

Click&Move's integration with the Qt Framework makes it possible to create beautiful interfaces that are functional, informative and users love to work with. Through Qt, live visualizations can display any variable within the Click&Move project including sensor readings, calculations, internal servo drive states and more. Additionally user inputs can be configured to write directly to the shared memory in order to operate the machine's functions.

C code cropped

Click&Move makes the underlying code for simple HMIs available in various programming languages.

A recommended starting point when developing in Qt is to start with the auto-generated basic HMI. The code for the basic HMI can be found within the file structure of the C&M project and can be used as a reference for how to read and write to the variables used in the program.

CandM Screenshots translated combined

The Qt editor is used to create advanced HMIs with real-time measurements, path visualization, custom control schemes, and more!

HMI and Logic 1 or single computer CandM

The Click&Move application and the Qt HMI share memory but are run independently on the same or separate systems.

The Click&Move logic project and the HMI project are executed as two independent processes that have access to a shared memory.

This allows them to optionally run on the same or separate computers.

The UDP server in the Click&Move logic project opens the specified UDP port so that the HMI project can access the service via the specific port.

After the C&M project is compiled , Function Blocks (FBs) are automatically added and these make up the UDP server communication in the Logic side of the project.

Interested in getting Click&Move? Go to the product download page!

MC Blocks and G-Code

  • Efforts toward keeping within the evolving motion control standards allows for a built-in knowledge base
  • This layer of abstraction relieves some of the programming design issues
  • PLCopen manuals are distributed within C&M
  • Coordinated motion feature follows PLCopen standards
  • G-Code handling
  • Also allows for User-Defined Function Blocks for full customization

Industry-standard motion control function blocks and knowledge base included to make programming easier.


Visual debugging at the function block level with virtual motion axes.


  • Application programming using PLCopen FBD language (IEC 61131-3)
  • The development process can take place entirely within the user’s PC
  • Virtual axes for motion simulation
  • Virtual axis projects can be packaged and exchanged with tech support
  • Entirely digital development system helps the support process;– virtual axes are more portable than real ones
  • Debugging tools: graphical and text-based
    • Integrated HMI
    • Extensive built-in Help - Tutorials, Demos, White Papers, etc.
    • Extensive example applications

Solution Architectures

A Click&Move® system can be put together in thousands of ways, but most architectures follow one of three main structures. The preferred method depends on the application.


In the PC-based solution below, the C&M development software is used to create motion code, PLC logic, and user interface screens (HMI). The code is compiled for the targeted PC platform and then downloaded. Servo drives and I/O are connected to the PC platform via the network.

The PC-based architecture is obviously best-suited for applications where having a PC connected to the system during operation is feasible, such as industrial machines, gantries, and other devices that remain largely stationary. It's also the preferred architecture for any system that has more than 8 motion axes.


Click&Move with PC-based control. The Click&Move program and HMI are both run from the PC.

Motion Automation Control Card

The Motion Automation Control Card (MACC) is a general purpose motion/automation controller with embedded Click&Move® capability. In this scenario, the code is compiled for the MACC platform and then downloaded. The servo drives and I/O are connected to the MACC platform via the network. Optionally, a separate HMI screen can be incorporated via the HDMI connector onboard.

The MACC solution is great for mobile applications such as AGV's, but also can be a more cost-effective alternative to the PC-based architecture for applications with 8 axes or fewer. The MACCs also are best suited for applications with a combination of both digital and analog servo drives.


Click&Move with a MACC as a controller. The Click&Move program is installed on the MACC, with a separate HMI display optional.

Servo Drive-Embedded

ADVANCED Motion Controls offers digital drives that are designed to store and run an embedded C&M program. The C&M development software is used to create motion code and PLC logic. The code is compiled for the targeted drive platform and then downloaded. I/O is local to the drive(s).

The servo drive takes over the computational work that would otherwise be left to a PC or stand alone controller, saving both space and money.

This is a simple, powerful solution for small applications. It is, however, best used primarily for single-axis applications that don't require an HMI display.


Click&Move with the servo drive as a controller. The Click&Move program is embedded into the servo drive itself.

Interested in getting Click&Move? Go to the product download page!

Industries, Technologies, and Products related to Click&Move...

FlexPro Info Box
DigiFlex Performance info box
DigiFlex® Performance™
Motion Automation Control Cards
Servo Drives for 3D Printers
Servo Drives for 3D Printers
DriveLibrary Info Box
DriveLibrary™ Motion Control API