V+ Programming with Sysmac Global Variables
V+ Programming with Sysmac Global Variables
Integrating robot control with PLC systems is a key requirement in modern automation. When using Omron robotics with the Sysmac platform, Global Variables provide an efficient way to exchange data between the PLC and robot programs. This article outlines how V+ programming can leverage Sysmac Global Variables for seamless communication and control.
Overview
V+ is the programming language used for Omron industrial robots, enabling precise control of motion, I/O, and task execution. Sysmac, on the other hand, is Omron’s unified automation platform that manages PLC logic, motion control, and device integration.
By linking V+ programs with Sysmac Global Variables, users can:
- Share data between the PLC and robot controller
- Trigger robot actions from PLC logic
- Monitor robot status within the Sysmac environment
- Simplify system integration and reduce custom communication code
What Are Sysmac Global Variables?
Sysmac Global Variables are memory locations defined within the Sysmac project that can be accessed across different parts of the system, including:
- PLC logic
- HMI systems
- Robot controllers (via configured interfaces)
These variables act as a common interface for data exchange.
Linking V+ Programs to Global Variables
To use Sysmac Global Variables within the same project with a V+ program, a communication link must first be established between the robot controller and the Sysmac controller. This is typically done using EtherNet/IP or EtherCAT.
Once communication is configured:
-
Define Global Variables in Sysmac Studio
Create variables with appropriate data types
Referenced from Page 46/161 of https://www.omron.com.au/data_pdf/mnu/i671-e-01_v%2B.pdf.
-
Access Variables in V+
In V+ the prefix EXTERNAL must be used with the global variable to access the global variable. This must be defined prior to calling or writing to the variable. These can then be read or written during program execution.
For example,
The global variable cup number has been defined in Sysmac as an unsigned integer UINT:

In the V+ program, Line 10 shows the cupnumber global variable being defined with the prefix EXTERNAL.
Later in line 26, cupnumber a value of 1 written to it.

That's all there is to it, PLC and HMI will also be able to read the value of the EXTERNAL variable.