Yamaha provides pre-built Add-On Instructions (AOIs) for Rockwell Automation platforms, eliminating the need to write custom complex robot communication routines.
Start your hands-on training: Industrial Robotics & IO-Link Trainer
To download these tools:
Log into yrginc.com and go to the software downloads section.
Download the Allen Bradley YRG Yamaha AOIs library for RCX3 controllers.
Extract the downloaded package to access the importable .L5X files, reference manuals, and error code lookup documentation.
Network Architecture & Dual Ethernet Ports
The Yamaha RCX 340 controller features two independent Ethernet interfaces:
Programming Port (Lower Port): Factory default IP 192.168.1.17, used for direct connections with RCX Studio software.
EtherNet/IP Option Port: Factory default IP 192.168.1.8, used for PLC communication with Logix Designer / Studio 5000.
Ensure that the EtherNet/IP option board parameter is set to Valid under Parameters -> Options -> Board Enable inside RCX Studio.
Real-Time Outputs (RTO) Configuration
Real-Time Outputs allow the robot controller to stream spatial position, motor current, and status data directly into the PLC input assembly without requiring explicit messaging polling routines.
In RCX Studio, navigate to Parameters -> Options -> Board Parameter and enable SIO Extension.
Go to Parameters -> IO and set Real Time Output (RTO) to Valid.
Under Parameters -> Real Time Output, map the parameters to pass to the PLC:
Map Cartesian coordinates for Axes 1 through 4 (Lower and Upper position words).
Save parameters and cycle power to the trainer unit.
Studio 5000 Module Configuration & RTO Tag Parsing
To bring the robot hardware into the Studio 5000 I/O tree:
Add a Generic Ethernet Module to the network card or copy the pre-configured module from Yamaha’s sample project.
Set the Assembly Instances: Input = 100 (Size 128 integers), Output = 150 (Size 128 integers), Configuration = 1.
Set the communication format to DATA - INT.
Parse the 16-bit integer pairs coming from RTO data into 32-bit REAL positions using a CPS (Synchronous Copy) instruction combined with a DIV (Divide by 1000) math instruction.
Essential Control Rungs & Move/Teach AOIs
Before executing movement routines, specific control and status bits must be maintained in the PLC program:
Emergency Stop / Door Interlock: Verify door interlocks are satisfied (Data[16].0 = 0) and maintain E-stop output commands.
Servo Power Enable: Condition the Servo On output (Data[16].1) based on safety status and alarm feedback.
Alarm Reset: Trigger alarm reset bits (Data[16].14) when alarm status flags (Data[16].3) are high.
Move Point AOI (Yam_3_MoveP): Accepts serial number, target point number, speed percentage, and input/output array mapping to trigger point-to-point positioning.
Teach Point AOI (Yam_3_TeachP): Stores current mechanical coordinates into specified point registers directly from PLC logic.
Knowledge Check Quiz
-
What are the default IP addresses for the two Ethernet ports on the Yamaha RCX 340 controller?
Click to reveal answer
The programming port defaults to 192.168.1.17, while the EtherNet/IP option port defaults to 192.168.1.8.
-
What is the primary advantage of enabling Real-Time Outputs (RTO) in the RCX 340 controller settings?
Click to reveal answer
It continuously streams axis position coordinates and motor feedback data directly into the PLC input assembly without requiring custom explicit messaging.
-
Why is a CPS (Synchronous Copy) instruction used instead of a standard COP instruction when handling RTO position data?
Click to reveal answer
CPS ensures asynchronous Ethernet network updates do not overwrite the split integer position values while the PLC logic is mid-execution, preventing data corruption.
-
Why must position coordinates coming from the RTO buffer be divided by 1,000 in Studio 5000?
Click to reveal answer
The raw integer values sent by the controller are scaled by 1,000 to preserve millimeter decimal precision across 16-bit integer registers.
-
What common mistake causes a "Data Error" (Group 5, Error CA) when attempting to execute the Move Point AOI?
Click to reveal answer
Leaving the speed parameter tag set to 0%, which prevents the controller from calculating a valid trajectory.