Mce projects available

featured image
Screenshot of the included HMI for Codesys.
  3 minutes   Bertus de Groot  

We are pleased to present the next generation of MotoLogix example projects, based on the Mce functions. These projects are designed to be user-friendly and come with an HMI included (where possible).

Highlights

  • Easy setup.
  • Scalable and reusable.
  • Simulation ready.
  • Built-in HMI.
Note

Check here to see if the new example project is already available for your PLC platform.

Easy setup

Definitions

The projects are created with scalability in mind. Using global constants, the project can be easily adjusted to your needs.

In the default configuration, the project is set up for:

  • Two robots (MOTION_DEVICES_UBOUND), controlled by two robot controllers (MLX_UBOUND) with each one robot arm.
  • McePosTable motion paths of up to 20 motion segments (ENTRIES_UBOUND).
  • McePosTable using three command instances (POSTABLE_CMDS_UBOUND), which allows perfect motion blending (having three motions in the robot motion queue) while being very efficient (low memory/cpu usage).
VAR_GLOBAL CONSTANT
  POSTABLE_CMDS_UBOUND: USINT := 2; // Command instances used by McePosTable (<this value> + 1).
  CONDITIONS_UBOUND: USINT := 7; // Start condition signals used by McePosTable (<this value> + 1).
  MLX_UBOUND: USINT := 1; // Robot controllers (<this value> + 1).
  ALARMS_UBOUND: USINT := 9; // Alarms used by MceAlarms (<this value> + 1).
  WARNINGS_UBOUND: USINT := 9; // Robot warnings used by MceWarnings (<this value> + 1).
  MOTION_DEVICES_UBOUND: USINT := 1; // Robot arms (<this value> + 1).
  USERFRAMES_UBOUND: USINT := 9; // User frames (<this value> + 1)
  ENTRIES_UBOUND: INT := 19; // Entries in a McePosTable trajectory (<this value> + 1).
  TOOLS_UBOUND: INT := 9; // Tools (<this value> + 1).
END_VAR

Fieldbus setup

Each robot controller appears as a slave in the fieldbus setup. For example, in the Codesys project (using EtherCAT) they are setup as:

  • Robot 1, using the new YRCP-MP4P fieldbus board, with addressing starting at 1000 for in- and outputs.
  • Robot 2, using the Inpact fieldbus board, with addressing starting at 2000 for in- and outputs.

robot-slaves
Fieldbus slaves in the Codesys project.

robot-slave1-address
Robot 1 addressing in the Codesys project.

IO mapping

The IO of the fieldbus slaves is mapped to global variables:

  aDataFromRobot1 AT %IB1000: ARRAY[0..435] OF USINT; // fieldbus data from robot 1
  aDataToRobot1 AT %QB1000: ARRAY[0..435] OF USINT; // fieldbus data to robot 1
  aDataFromRobot2 AT %IB2000: ARRAY[0..435] OF USINT; // fieldbus data from robot 2
  aDataToRobot2 AT %QB2000: ARRAY[0..435] OF USINT; // fieldbus data to robot 2

Simulation ready

We recently added MotoLogix simulation to our MotoSimEG-VRC simulation software.

These new example projects already have the required function block (MceYaskawaModbusTcp) and IO mapping implemented. This means that if you have that new MotoSimEG-VRC release (and the optional MotoLogix license), you can switch between the real- and simulated robot controller easily, using the HMI.

HMI

For reusability and scalability, we created HMI templates (or faceplates) for the relevant Mce functions. Most templates require you to connect just a single variable (the corresponding Mce...Io variable).

Tip

This HMI is intended for testing/demo. We encourage you to implement MotoLogix using your own HMI design language.

Note

Although the project is set up for two robots, the HMI is currently only connected to robot 1.

Impression of the HMI templates from the Codesys project:

hmi-MceActualPositions
HMI template: Reading actual positions.

hmi-MceStartStop
HMI template: Starting/stopping the system.

hmi-MceManualMotion
HMI template: Manual motion (jog).

hmi-MceAlarms
HMI template: Reading alarms.

hmi-MceWarnings
HMI template: Reading warnings.

hmi-MceYaskawaModbusTcp
HMI template: Communication with MotoSimEG-VRC.

hmi-McePosTable
HMI template: Running a PosTable trajectory.

hmi-PosTable-explorer
HMI template: Viewing/editing PosTable entries.

Next steps

Up next, we plan to add a quick start guide which guides you through the process of implementing MotoLogix in your project. Also, we plan to port the example project to more PLC platforms, so stay tuned.

Pages built with Hugo - 17 Dec 2025 17:26 CET