Simulation without hardware-in-the-loop using MotoSimEG-VRC and the optional MotoLogix feature.
How it works
The built-in virtual robot controller (VRC) of MotoSimEG-VRC is connected with the MotoLogix program running in the (virtual) PLC. Yaskawa Modbus TCP is used as communication protocol between the two applications.
Yaskawa Modbus TCP is an extended version of Modbus TCP, able to handle the large MotoLogix data packet.

MotoSimEG-VRC acts as server and the (simulated) PLC as client.
The PLC has to take care of setting up the connection and handling the
reading/writing of data.
The client and server can be installed on either the same PC or on separate PC’s.
Even though the PLC will usually be simulated, it is also possible to use a real PLC to communicate with the virtual robot. This can be useful in situations where the required simulation software for the PLC is currently not available, but a real PLC is.
As Yaskawa Modbus TCP cannot be handled by a standard Modbus TCP library,
we have created a function block (MceYaskawaModbusTcp) for each of the PLC platforms.
It uses regular TCP library functions and is easy to add to your existing
MotoLogix projects.
The new MotoLogix Examples projects come with this function already built-in. Switching between real- and simulated robot controller is as easy as flipping a switch in the HMI.
Benefits:
- TCP communication is an industy standard (supported by many PLC’s).
- No additional gateway software (e.g. Siemens SIMIT) required.
- Maximum flexibility for deployment in your company. (e.g. MotoSimEG-VRC installation per user or on a central server).
For setting up the TCP connection an IP address and port number are used.
We recommend to use unreserved port numbers. These are defined as the so
called “dynamic range” (49152 - 65535 by
iana.org
).
Security software on your PC might block the network traffic of the MotoLogix feature in MotoSimEG-VRC. Please consult your IT department in case of problems.
Software/licenses
The following software and licenses are required:
- MotoSimEG-VRC version
2025SP1or newer. - Licenses:
- Regular MotoSimEG-VRC license.
- Additional license for MotoLogix in MotoSimEG-VRC.
Yaskawa Europe also offers a trial license for MotoSimEG-VRC .
System requirements
There are no additional system requirements for the MotoLogix feature. Please consult the MotoSimEG-VRC documentation for the system hardware requirements.
The use of virtual environments (e.g. VMware) is not prohibited but please understand that we cannot provide technical assistance/support for such installations.
Installation
The MotoLogix feature is included in the regular installation of MotoSimEG-VRC and does not require any additional steps.
If the system detects the additional license for MotoLogix in MotoSim, a new button
for the MotoLogix feature will appear in the Online Function menu:
Firewall settings
Depending on your system security policies, some changes to the firewall settings might be required, like allowing:
- TCP communication over the specified ports.
- Applications/processes in the MotoSimEG-VRC installation folder:
- common:
MotoSimEG-VRC.exe - YRC1000:
yas.exe,yppmain.exe - YRC1000micro:
ybs.exe,yppmain.exe
- common:
Limitations
- Only supports YRC1000, YRC1000micro and newer controllers.
- Some functions cannot be simulated as they require the feedback data or
sensors of a physical robot, for example:
- Servo float.
- Collision detection.
- Search function.
- Collaborative robot functionality.
- As the communication between the simulated PLC and MotoSimEG-VRC is not real-time and runs on a Windows operation system, the signal timing can vary and the resulting cycle times might not be constant and can differ slightly from the real system.
MotoLogix in MotoSimEG-VRC is perfect suitable for testing your trajectories. However, it shall not be used for measuring/verifying exact cycle times of your machine.
Usage
Please follow below steps to create your new project and connect it to your MotoLogix PLC.
Pre-requisites
Make sure you have:
- Installed MotoSimEG-VRC and added the license for MotoLogix in MotoSim.
- Prepared your PLC project for using Yaskawa Modbus TCP communication.
Create new project
Use menu New » New cell project to create a new cell.

Create new cell project After setting a name and path, the new empty cell opens.

Empty cell Add a new controller using menu Controller » New and select the “no file” option.

Create controller Select the controller (pick the latest) and adjust the name to your needs.

Choose controller type Adjust the manipulator selection and other settings to your needs and proceed with Standard Setting Execute

Select manipulator NoteAdvanced configurations like multiple robots (
R1R2) or a robot on a linear track (base axis,R1B1) can be setup using Maintenance Mode ExecutePlease consult the MotoSimEG-VRC documentation for more details.
Proceed with the default settings.

Keep default settings Save the project.
Setup connection
Open the MotoLogix connection settings in menu Online Function » MotoLogix Management

MotoLogix connection settings Click on the empty port entry, set the port number to e.g.
50012and proceed.
Set port number Now activate the checkboxes MotoLogix valid and Start with REMOTE mode and click Accept

Activate the checkboxes Confirm the restart.

Confirm controller restart The
readystatus indicates that the Yaskawa Modbus TCP server is running and ready for a connection by a (virtual) PLC.
MotoLogix connection ready NoteThe Set Realtime Playback mode is active by default. This is recommended as it results in the most time realistic behavior of the robot controller.
NoteThis setting interacts with menu Home » Heart Beat » More » » Enable Realtime Playback
Adjust parameters
After creating a project from scratch, some parameter changes might be needed. This is done using the virtual pendant.
Read more...
Changing a parameter:
- Open the virtual pendant in menu Controller » Show
- Make sure the
TEACHmode is active. - Open the S2C parameters using left menu » PARAMETER » S2C
- Jump to the desired parameter by double-clicking on S2C0001 » enter the parameter number » enter
- The parameter can now be edited by double-clicking on the value.

Editing parameter S2C1147 - Use enter to store the value.
- Reboot the controller using Controller » Reboot
- Save the project.
Endianness
By default, the controller uses little endian byte order, which fits
most PLC platforms. But for example Siemens PLC’s require big endian byte order.
The endianness setting is defined by the following S2C robot parameter:
S2C1147 0 // little endian
1 // big endian
The required value for your setup can be checked in the robot setup docs, like here for the YRC1000 + Siemens S7-1500.
Read TCP speed
The following S2C robot parameter needs to be set to get the current TCP
speed by MotoLogix.
S2C1702 1 // TCP speed in MLX[].HMIFeedbackData.CurrentRobotTCPPosition[7]
Collision detection
S2C1703 1 // allow on-the-fly switching of collision detection levels
S2C1704 1 // allow on-the-fly resetting of measured collision detection torques
Prepare for operation
- Open the virtual pendant in menu Controller » Show
- Make sure the
REMOTEmode is active.
Remote mode on the virtual pendant - Make sure the E-stop button is not pressed.
Now the PLC can connect to MotoSimEG and control the virtual robot using MotoLogix.