Moto Plus

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

Supports development of your own robot application

New Language for MOTOMAN


MotoPlus

February 27th, 2023

Robotics Division, Robotics Planning Department

© 2016 YASKAWA Electric Corporation


Contents

1. Function Outline of MotoPlus


1.1 What Is MotoPlus?
1.2 Features of MotoPlus
1.3 MotoPlus Development Language – C-language
1.4 Outline of MotoPlus API
1.5 Application Development Flow
2. Development Environment of MotoPlus
2.1 MotoPlusIDE
2.2 Development support tools
3. Application example of MotoPlus
3.1 Picking by vision camera
3.2 Tracking a moving object with vision camera
3.3 Real-time trajectory correction
3.4 Data logging
4. Precautions when using the MotoPlus function

© 2016 YASKAWA Electric Corporation PE-110 Rev.4 1


2023/2/27
1. Function Outline of MotoPlus
1.1 What Is MotoPlus? (Motoman Professional Programming LangUage Environment for Superior use)
MotoPlus is a function for developing application software that runs inside the robot controller.
Users can utilize the MotoPlus API library to develop more advanced and flexible robot control
applications.
(Function example 2)
Send operation (Function example 3)
(Function example 1) commands from PC via Get work position by communicating
Get status such as Ethernet communication with sensor (Ethernet, RS232C)
robot position and
speed via Ethernet Work position data
communication Ethernet transmission
communication

Robot Controller
Motion command
Condition monitoring
MotoPlus
Ethernet Application
communication

MotoPlus API

I/O command
Motion command

Application example of MotoPlus (Function example 4)


Control the motion of robots
and tools in real time

Users can develop their own robot applications!

© 2016 YASKAWA Electric Corporation PE-110 Rev.4 2


2023/2/27
1. Function Outline of MotoPlus
1.2 Features of MotoPlus

(1) Increase customer competitiveness


By incorporating the customer's own know-how as a robot controller function, it is possible to
demonstrate its strengths, differentiate itself, and enhance competitiveness. Users can develop
functions without disclosing their know-how, thus protecting their technology.
(2) High-speed execution
Since it runs in native code on the robot controller main CPU, it can perform arithmetic operations
faster than jobs. This makes it possible to support real-time control of robots.
(3) High cost-performance
Since no special hardware is required, it is cost-effective.
(4) Improved flexibility in selecting peripheral devices
Peripheral devices (various sensors, tools, etc.) that can be connected via Ethernet or RS232C
communication can be freely selected and used.
(5) Support various applications
By combining MotoPlus, jobs, and concurrent I/O, various applications can be supported.

© 2016 YASKAWA Electric Corporation PE-110 Rev.4 3


2023/2/27
1. Function Outline of MotoPlus
1.3 MotoPlus Development Language – C-language It features high flexibility
and high-speed execution
MotoPlus uses C-language to develop applications. by C language.
In contrast to INFORM, which excels in teaching and playback,
MotoPlus is highly flexible and capable of high-speed execution.
By combining MotoPlus and INFORM, various applications can be supported.

Programming Robot language provided by MOTOMAN


Pendant
INFORM C-language MotoPlus PC
(Instruction FOR MOTOMAN)
Optimal for arc and spot Optimal for handling
welding application application
・Interpreted language ・Compiled language
(high-speed execution is possible)
・Optimal language for teaching ・ Abundant C-language library
Language
and playback system is available
for teaching Off-line
and playback ・ Programming by the ・Programming by the PC
Programming pendant programming
Interface (Pendant is used for JOG operation)
(Easy to check the teaching position) (Programming style) language

(Programming style) main()


{
MOVJ VJ= 100.0 mpMOVJ();
MOVL V= 250.0 mpMOVL();
MOVJ VJ= 100.0 mpMOVJ();
}

© 2016 YASKAWA Electric Corporation PE-110 Rev.4 4


2023/2/27
1. Function Outline of MotoPlus
1.4 Outline of MotoPlus API
MotoPlus provides the following services through APIs.
Classification Outline
Application task control Application task start/stop, data transmission, exclusive control by the semaphore
User watchdog Monitor whether the application operates normally
Communication control Ethernet(TCP/IP) communication, RS232C (serial) communication*1
EVENT Event notification at every control cycle (I/O control cycle and interpolation cycle) of the robot controller
Robot system control Get the status and control the robot controller
Robot motion control Robot motion control (Step movement and movement*2 that connects multiple steps are possible.)
JOB control JOB switching, start/stop and execution synchronization
IO control Read/write of the I/O signal and the register
Sensor control Transfer data to and from a job and change operating conditions such as path correction and speed change
File control*2 SAVE, LOAD, and edit user defined files and controller setting files
Servo control Servo control (Feedback speed/torque acquisition, external axis torque limit, external axis torque control)
Coordinate conversion*2 Calculation of the manipulator order or inverse kinematics, coordinate conversion, or linear algebra calculation
*1 YRC1000micro is not supported.
*2 DX100 is not supported.

Abundant MotoPlus API library


enables various applications.

© 2016 YASKAWA Electric Corporation PE-110 Rev.4 5


2023/2/27
1. Function Outline of MotoPlus
1.5 Application Development Flow
Create applications on a PC (MotoPlusIDE).
Execute the created application by loading it to the robot controller.
Application creation Application execution
Compile, build and generate application Execute the created application by loading it to the robot
controller

PC 2. Load the application to


(Win7/Win10) the controller
1. Create an application Robot Controller
(pendant operation)
on PC (MotoPlusIDE)

External storage
memory
2. Load the application to the
controller via Ethernet (online
download*1)

Ethernet
(4) Debug via Ethernet
connection (3) Run the application at the same
(1) Console display time as restarting the controller
(2) Port debug*1
(3) Application property display*1

*1 Only YRC1000 and YRC1000micro are supported.

Since no additional hardware is


required, it is cost-effective.

© 2016 YASKAWA Electric Corporation PE-110 Rev.4 6


2023/2/27
2. Development Environment of MotoPlus
2.1 MotoPlusIDE (Integrated Development Environment)
MotoPlus application development is done in MotoPlusIDE.
MotoPlusIDE is a development environment that integrates a C-language editor and
compiler/builder.
[ Main Functions ]
- Editor supports C-language grammar
- Project management function (Related C source codes and libraries can be managed by grouping.)
- Compile and build with one click
- Direct jump to the line (source code) with a compilation error

Integrated development
environment of MotoPlus.

© 2016 YASKAWA Electric Corporation PE-110 Rev.4 7


2023/2/27
2. Development Environment of MotoPlus
2.2 Development support tools (Only for YRC1000, YRC1000micro)
Application Monitoring Function
Users can debug while checking
●Port Debug application operation status.
MotoPlusIDE measures the execution cycle of tasks.
The port status operated by the application using the API is logged and can be checked in the IDE.
MotoPlus ●Application property display
Application
Running application and tasks can be checked in
MotoPlusIDE.

MotoPlusIDE
© 2016 YASKAWA Electric Corporation PE-110 Rev.4 8
2023/2/27
2. Development Environment of MotoPlus
2.2 Development support tools (Only for YRC1000, YRC1000micro)
Online Download Function Efficient application
development is possible.
Download the app file via Ethernet from MotoPlusIDE.
Rebooting the controller power can also be executed from the IDE.

IDE Screen

Conventional method With Online Download Function


Time Process Time Process
0 min. Start up the MotoPlus 0 min. Start up the MotoPlus
*Previously, data
1 min. Store MotoPlus app on USB memory 1 min. Install MotoPlus app on the robot controller via EtherNet
transfer was
possible only by 1 min. Insert the USB memory into the USB port of the pendant 2 min. Reboot the robot controller
external storage 2 min. Reboot the robot controller in maintenance mode
memory.
3 min. Install the MotoPlus app on the robot controller Shorter time than conventional
4 min. Reboot the robot controller in normal mode methods!
© 2016 YASKAWA Electric Corporation PE-110 Rev.4 9
2023/2/27
3. Application Example of MotoPlus
3.1 Picking by vision camera
Various devices can be used
An application that detects the position of with Ethernet and RS232C
a workpiece with a vision camera and communication
picks it up
(1) Measure the workpiece <MotoPlus Application>
position with a vision camera
// Communication program
mpSocket();
Ethernet mpBind();
(2) Acquire the workpiece
Vision position from the camera via
(5) The robot moves to the Camera mpSendTo(); Ethernet communication
workpiece position. mpRecvFrom();

mpPutPosVarData();

(3) Write work position


Robot Controller data to P-variable

<JOB>
MOVL P100
MOVL P101
(4) Execute the robot
MOVL P102
motion command of the job

Robot Programming
Pendant
© 2016 YASKAWA Electric Corporation PE-110 Rev.4 10
2023/2/27
3. Application Example of MotoPlus
3.2 Tracking a moving object with vision camera
The workpiece position recognized by
An application that sequentially the vision camera is sequentially
recognizes and follows the position of a received, and the robot follows it.
moving workpiece with a vision camera
<MotoPlus Application>
(1) Sequentially recognize // Communication program
the workpiece position with a
mpSocket();
vision camera
mpBind();
While 1{ (2) Sequentially receive the
Ethernet mpSendTo(); workpiece position from the camera
mpRecvFrom(); via Ethernet communication
Vision
Camera :
(5) The robot follows the
workpiece position. }
// Guide the robot
While 1{
mpClkAnnounce() // Wait for interpolation cycle
: // Calculation of robot move amount
mpExRcsIncrementMov(…) // Tracking motion

Robot Controller (3) Send an operation instruction to
the robot for each interpolation cycle

(4) Start and end of tracking


operation
<JOB>
DOUT OT#1 ON // Start tracking
WAIT UNTIL IN#1=ON // Wait for operation completion
(following operation)
Robot Programming DOUT OT#1 OFF // End of tracking
Pendant
© 2016 YASKAWA Electric Corporation PE-110 Rev.4 11
2023/2/27
3. Application Example of MotoPlus
MotoPlus and jobs can work together to
3.3 Real-time trajectory correction correct the motion trajectory in real time.
An application that detects workpiece misalignment with a laser
sensor and corrects the trajectory of the path taught in the job with
MotoPlus. Linear trajectory
taught to the job
Ethernet

Laser Sensor (3) Detect the workpiece


position with a laser sensor
(6) Correct the (7) The trajectory that the robot
trajectory actually moved by the trajectory
correction of MotoPlus

(2) Receive notification from job


(1) Notice the trajectory correction and start trajectory correction
Robot start from Job to MotoPlus

<MotoPlus Application>
<JOB>
SKILLSEND“START” mpReceiveSkillCommand(MP_SL_ID1, &msg);
MOVL
SKILLSEND“END” (4) Receive workpiece
mpRecvFrom(); position from laser sensor

mpMeiPutCorrPath(MP_SL_ID1, &corr);

(5) Output trajectory


Programming correction command based
Robot Controller on workpiece position
Pendant
© 2016 YASKAWA Electric Corporation PE-110 Rev.4 12
2023/2/27
3. Application Example of MotoPlus
3.4 Data logging
An application that transfers robot controller data (robot position,
speed, torque, etc.) to a PC via Ethernet communication

Robot position/speed/torque
Servo ON state
Alarm generated state

Ethernet communication

PC
Robot Controller Robot

Various data of the robot controller can


be transferred by communication.

© 2016 YASKAWA Electric Corporation PE-110 Rev.4 13


2023/2/27
4. Precautions when using the MotoPlus function

◼ To create MotoPlus applications, users need to purchase MotoPlus IDE. MotoPlus IDE package includes
MotoPlus IDE installer and hardware key and manual.
◼ To use MotoPlus IDE, users need to insert the above hardware key into the USB port of PC.
◼ MotoPlus IDE must be purchased for each controller (DX100/DX200/FS100/YRC1000/YRC1000micro).
◼ To use the MotoPlus function, the robot controller must be MotoPlus enabled.
◼ For the DX100 controller, "MotoPlus Function" is required as an optional function.
◼ The following skills are required to create a MotoPlus application program.

- Have programming experience in C-language.


- Knowledge of multi-task programming and understanding of task priorities.
- Knowledge of basic operating system functions such as memory operations, file operations, etc.
- When using the communication function of MotoPlus, have basic knowledge of network communication and
experience in developing communication applications in C language. Or have equivalent knowledge.
- Have completed our robot operation training and are able to master the various functions of the robot.

Notes: Explanation materials from our company are based on these conditions. Please note that we do not provide
technical support for basic knowledge of creating applications, such as C-language programming techniques.

© 2016 YASKAWA Electric Corporation PE-110 Rev.4 14


2023/2/27

You might also like