Introduction: Why is the DX200 software package the core of robot systems?
The YASKAWA DX200 controller is a backbone force in the field of industrial robots, and its openness and modular software design enable it to adapt to various complex applications from arc welding, handling, spraying to precision assembly. However, many engineers only use the basic motion commands of the controller, ignoring its built-in powerful single functions and packages. These feature packages - from multitasking independent control to sensor based real-time path correction - can significantly improve production efficiency, simplify programming, and reduce downtime risks.
This article will take the perspective of engineering practice to systematically review the key software functions of the DX200 controller, and provide troubleshooting and optimization suggestions based on typical application scenarios. Whether you are a system integrator, production line maintenance engineer, or robot programmer, you can find ways to improve equipment utilization.
Communication and Data Management: Connecting Robots with the External World
2.1 Standard Interface and Protocol Selection
DX200 comes standard with Ethernet (RJ-45, 10/100 Mbps) and RS-232C interface. When communicating with external devices (PLC, vision system, upper computer), it is necessary to choose the appropriate protocol based on real-time performance and data volume:
High Speed Ethernet Server (SAP 164062): Based on UDP, it is currently recommended as a "general-purpose" protocol that can read robot position, alarm status, servo status, control start/stop/servo power on, read and write variables, I/O, and files. Compared to traditional BSC or EServer, it is faster and supports multiple clients.
Ethernet Server (164063): Based on TCP/IP, similar in functionality to BSC, supports multiple clients, and is suitable for use with MotoCom SDK.
FTP Server/Client (164060): Used for batch uploading/downloading of job files, parameters, and system files, and can achieve single file backup. Note that client and server modes cannot be used simultaneously.
MotoLogix (176052): Revolutionary PLC controlled robot interface. Simplify the robot into a motion actuator, with all logic written in functional blocks in the PLC, without the need to learn INFORM language. Supports up to 4 robots.
Troubleshooting prompt: If communication with the High Speed Ethernet Server is interrupted, first check the network cable connection and IP address settings (DX200 can be set through the teaching pendant by default). Use Wireshark to capture packets and confirm if the UDP port (default 10040) is blocked by the firewall. Additionally, running multiple communication tasks simultaneously may consume CPU resources, resulting in response delays.
2.2 Data Backup and Recovery: Avoiding Catastrophic Loss
DX200 provides a multi-layer backup mechanism:
Automatic Backup (163928): It can set periodic backup, backup during mode switching, backup during controller startup, or backup triggered by external signals. The backup targets include the teaching pendant CF card, controller internal CF card, or internal RAM area (accessible through High Speed EServer). Multiple backup files can be retained.
CMOS Save with FTP (163947): Enhanced feature for automatic backup, allowing any FTP client to access the generated CMOS backup file and send notification messages when a new backup is available.
Logging Function (163937): Record 200 data editing histories (job, ladder diagram, parameter, variable modification) and 200 teaching pendant operation histories (start, hold, emergency stop, external memory loading, etc.). It is extremely useful for investigating the question of 'who changed which position at what time'.
Typical scenario: A robot suddenly collides on a car parts welding line. By using the log function to retrieve the operation records of the previous 10 minutes, it was found that the operator manually modified the tool coordinate system file without exiting the automatic mode. By utilizing automatic backup, normal parameters were restored within 3 minutes.
Multi task and multi robot control: maximizing the utilization of a single controller
3.1 Independent Control (163902/163903)
The DX200 single controller can control up to 8 robots and multiple workstations (external axes). The independent control function allows multiple robots or robots to execute different programs simultaneously with the workstation.
The standard version supports decoding and executing 8 tasks simultaneously, while the advanced version can be extended to 16 tasks.
The button layout of the teaching pendant can be switched according to the main application (arc welding, handling, etc.) without interfering with each other.
The external shaft must use a YASKAWA motor.
Application case: A dual robot welding unit, where robot A welds workpieces and robot B simultaneously transports both unwelded and welded workpieces. Two tasks are completely parallel and do not wait for each other.
Attention: When controlling independently, it is necessary to pay attention to the interference of each robot's workspace. It is recommended to cooperate with the "Cube Region Interference Check" (163945) function to predefine prohibited entry areas to prevent collisions.
3.2 Coordinated Motion (163904)
Coordinated motion is divided into two modes:
Workstation coordination: The workstation (positioner) holds the workpiece, and the robot holds the tool. The two move in coordination to maintain the ideal posture of the tool relative to the workpiece.
Jigless system: The first robot holds the workpiece, and the second robot holds the welding gun, coordinating the two. The essence is the same as workstation coordination.
Coordinated Jobs require specialized teaching and support for coordinated interpolation (master-slave relative interpolation) and individual interpolation (independent operation).
Debugging suggestion: When enabling coordinated motion for the first time, it is necessary to manually verify whether the "master-slave tracking" direction is correct at low speed. Wrong coordination direction may result in collision between the workpiece and the welding gun. The "Master Tool User Frame" (163932) function can be used to define a user coordinate system based on the main tool, simplifying offset calculations.

Precise Motion and Path Correction: From Search to Servo Float
4.1 Search Function (163905&163927)
Standard search function: The robot moves in a straight line while monitoring sensor input signals. Stop immediately when the signal arrives and record the current position. Suitable for aligning the edges of workpieces, detecting in place, etc.
Continuous motion search (163927): Without stopping the robot, up to 50 sensor trigger positions can be detected in one motion (such as detecting the spacing between a row of workpieces on a conveyor belt). The NSRCHON instruction is used in the program to greatly simplify programming and shorten the pace.
Typical application: On a conveyor belt, the spacing between workpieces is inconsistent. The robot moves along the direction of the conveyor belt once, sequentially records the position of each workpiece and stores it in a position variable, and then processes them one by one.
4.2 Servo Float (163911/163912/167527/163913)
Under conventional position control, the robot will strive to maintain its position unchanged when external force is applied. The servo floating function allows the robot to adapt to external forces and achieve force control.
Link Servo Float: Independently control each axis of the robot. Suitable for situations where external force acts on a specific axis or the direction of the external force cannot be determined.
Linear Servo Float: Control in the direction of the coordinate axis of the coordinate system (base, user, tool). Suitable for known external force directions (such as pushing along the X direction).
Multi robot version: can be independently enabled for each robot.
Typical applications: precision assembly (bearing pressing), polishing (maintaining constant contact force), deburring.
Safety warning: When servo floating is enabled, the robot may move accidentally due to external forces. Be sure to set safety zone restrictions in the program and keep emergency stops available.
4.3 Real time path correction of sensors (Sensor Function, 163991/163992)
Real time correction of robot path and speed during playback operation using analog displacement sensors, torque sensors, etc. Up to 3 directions can be corrected.
Path correction: Sensors detect deformation or positional deviation of the workpiece, and the robot adjusts the trajectory in real time.
Speed correction: Automatically adjust the operating speed based on the processing progress (such as the amount of weld filling).
Offset value generation: calculates the distance to the target workpiece, which is used by subsequent instructions in the job.
Wiring reminder: In a multi robot system, sensor functions cannot be used for all robots simultaneously; It is necessary to determine in advance which robots will use sensors and configure universal files during the debugging phase.
Welding specific function package: from arc tracking to laser positioning
5.1 COMARC Arc Sensor (163982/163983)
Utilizing the constant voltage characteristics of gas metal arc welding (GMAW) - changes in welding current caused by changes in dry elongation. When the robot swings the welding gun, it compares the current difference on both sides of the swing and automatically corrects the horizontal deviation; Simultaneously correct the vertical deviation based on the preset current value.
Limitations: Only applicable for simple swing welding, does not support CMT or aluminum welding. In multi pass welding, the first weld seam can be compensated using arc sensing, and the corrected path can be recorded through "Memo Play" (163920), and subsequent weld seams can be directly reproduced.
5.2 MotoEye LT Laser Tracking (178267)
Connect the laser camera (located in front of the welding gun) via Fast Ethernet for real-time weld seam tracking and process parameter optimization. The software processes camera images and adaptively adjusts robot paths, speeds, and wire feeding speeds.
Pre configured macros make programming extremely simple.
Provide 40 files for individually adjusting tracking parameters.
Support starting point search, target point search, and adaptive welding.
The calibration of sensors and TCP is very simple.
Standard CIO program (digital/analog power control) is required. If process parameters need to be adjusted online, an analog output card (YEW) is needed.
Common problem: Communication interruption of laser camera. Firstly, check if the Ethernet cable is well shielded (strong interference from welding environment), confirm that the camera IP is on the same network segment as the controller, and use the PING command to test the connection. If the image quality is poor, clean the camera lens and protective lenses.
5.3 Welding Condition Guidelines and Monitoring
Welding Condition Guide (168316): Automatically calculates estimated values of current and voltage based on welding position and joint form, assisting beginners in quickly setting parameters. Note that actual welding adjustments are still required.
Graphical Arc Monitoring (163946): Samples welding data and displays it in graphics and numerical form on the teaching pendant. Trigger conditions can be set to automatically save the data to external storage. Only supports analog power supply and YASKAWA Weldcom interface.
Tools and Homework Management: Improving Programming Efficiency
6.1 Relative Job (163897)
The standard homework stores pulse data for each axis; Relative homework stores X, Y, and Z position data based on coordinate systems (base, user). By using the 'Relative Homework Offset' function, the same motion mode can be translated as a whole to different coordinate systems.
Practical scenario: A set of sealing and gluing trajectories was taught in the user coordinate system. When the workpiece position moves, only the user coordinate system needs to be redefined, and there is no need to re teach the trajectory.
6.2 Structured Language (163934)
The INFORM language extension of DX200 supports advanced programming structures:
IF-THEN-ELSEIF-ELSE-ENDIF
WHILE-ENDWHILE, FOR-NEXT
SWITCH-CASE-ENDSWITCH
These structures make the program more compact and easy to read, especially suitable for complex logic such as multi branch selection, loop waiting for multiple signals.
Example: Check the status of three sensors and execute different subroutines based on their combinations. Using SWITCH instead of multi-layer IF reduces code volume by 40%.
6.3 Macro Commands and Long Names (163926&176009)
Macro instructions allow users to encapsulate multiple INFORM instructions into a custom instruction, which can take parameters (obtained through GETARG). Support interrupt macros (perform cleanup tasks when a macro is paused).
The additional feature "Macro Name Extension to 16 Characters" (176009) solves the problem of standard macro names being up to 8 characters long and difficult to recognize, such as WeldPartA_In being much clearer than WPA-IN.
6.4 Online Editing Does Not Stop Production (Job Editing during Play, 163938)
While the robot is performing production tasks, it can simultaneously edit other tasks. Suitable for adjusting signal signals, working conditions, and other modifications without stopping the machine. Significantly reduce beat loss.
Risk warning: When editing online, be careful not to modify the currently executing job line, otherwise it may cause pointer confusion. Suggest editing on the copy first, testing for accuracy before covering.

Safety and Monitoring: The 'Second Eye' for Preventing Accidents
7.1 Arm Interference Check (163951&163945)
Cube area interference (163945): Define up to 8 cube areas, and when TCP or an arm enters these areas, trigger the system output signal "CUBE INTERFERENCE" or directly alarm and stop the machine. The tool shape (TOOL INTERFERE file) must be registered.
Cylinder approximation interference (163951): Approximate each axis arm and tool as a cylinder+two end spheres, and check if they intersect with each other. In a multi robot system, collisions between robots, robots and tools, and tools can be prevented. The cylindrical parameters of the arm are set at the factory, and users only need to set the tool shape (up to 5 cylinders/spheres).
Debugging technique: Use the "Pendant Oscilloscope" (163952) on the teaching pendant to monitor the speed and torque of each axis, while simulating the boundaries of the interference area. The oscilloscope function does not require external hardware and supports channel triggering, cursor measurement, scaling, and CSV data saving.
7.2 Password Protection (163941)
System administrators can register up to 100 user accounts, assign security levels and timeout settings. Account information can be stored as a USRINFO.DAT file. The alarm history will record the username logged in at that time, making it easier to trace responsibility.
Best practice: Set at least three permission levels - administrator (full access), programmer (can modify jobs and parameters), and operator (only start/stop and switch programs). In the production line, it is recommended to enable automatic cancellation to prevent unauthorized modifications.
7.3 STO (Servo Torque Off) (Integrated Function)
The independent control function of the servo power supply allows the servo power to be turned off by the control group unit without stopping the entire system. For example, in a multi robot unit, one robot's servo is turned off for maintenance, while the other robots continue production. This function achieves Performance Level d (PLd) and uses redundant safety signals.
Collection of common troubleshooting cases
Case 1: High Speed Ethernet Server connection frequently drops
Phenomenon: The upper computer reads the robot's position through UDP and updates it once per second, but there is no response after a few minutes.
Troubleshooting: Check if the network switch supports full duplex and try a direct connection test. Use Netstat - s to view UDP packet loss statistics. The packet loss rate was found to be as high as 5%.
Solution: Replace with an industrial grade switch, place the robot controller and upper computer in the same VLAN, and turn off unnecessary broadcast traffic. At the same time, add a heartbeat mechanism in the program to automatically resend the connection request if no response is received within 3 seconds.
Case 2: Occasional collision between two robots during independent control
Phenomenon: Robots A and B are running simultaneously, but occasionally collide in the common working area.
Troubleshooting: Check if the interference detection function is enabled. Although cube area interference was enabled, only TCP was checked and the upper arm was ignored.
Solution: Use the "Arm Interference Check" function to set cylindrical models for the upper and lower arms of two robots, and define the overlapping area as the interlock zone. Meanwhile, use the WAIT instruction in the homework to implement software interlocking based on shared registers.
Case 3: Arc tracking COMARC not corrected
Phenomenon: During the welding process, the robot swings but fails to correct the weld deviation.
Troubleshooting: Check if the welding power supply has constant voltage characteristics and if the current feedback signal is correctly connected to the controller input port. Confirm that the sensor parameters (such as swing amplitude, frequency, and correction gain) in the ARCSON instruction are set appropriately.
Solution: Adjust the "correction gain" from 0.5 to 1.2 and confirm that there is no fluctuation in the welding current baseline. If pulse welding is used, it may be necessary to reduce the pulse frequency to ensure stable current signal.
Case 4: Automatic backup files cannot be accessed through FTP
Phenomenon: The CMOS Save with FTP function is enabled, but the directory is empty after the FTP client connects.
Troubleshooting: Confirm that the Ethernet FTP function (164060) has been installed simultaneously and that the FTP server mode is activated (the controller can only be in either Client or Server mode). Check FTP user permissions.
Solution: Switch the FTP mode to Server in the controller settings and set the username and password (default is anonymous readable). Use FileZilla client to connect in active mode, with the path/CAMOSBACK UP.
Case 5: MotoLogix controls robot to remain stationary
Phenomenon: The PLC sends motion commands, but the robot does not respond, but the communication diagnosis shows normal.
Troubleshooting: Check if DX200 is in "remote mode" (with the teaching pendant key in the REMOTE position). Confirm that the MotoLogix Runtime has started (can be viewed in the system information). Monitor the Enable and Busy signals in the PLC function block.
Solution: The usual reason is that the robot is not in servo mode. In the PLC program, first call the MC-Power function block to enable the servo, and then send MC_SoveAbsolute. In addition, ensure that the fieldbus (ProfiNet/DeviceNet) mapping is correct and the I/O data length is consistent with the MotoLogix definition.
Performance optimization and programming best practices
Use System Job (163901) to handle background loop tasks. For example, continuously monitoring the collision detection status, and immediately alerting when in PLAY mode and collision detection is unexpectedly turned off. The system job runs automatically after the controller is started, independent of the operating mode and servo state.
Utilize Interrupt Job (163908) to quickly respond to external events. For example, when the safety light barrier is triggered, the current movement is interrupted and the evacuation procedure is immediately executed. Interrupting tasks can occur during motion and timer commands, minimizing response latency. Each robot can define up to 8 interrupt tasks.
Combining relative homework with user coordinate system: Write the welding trajectory as a relative homework and attach the origin of the user coordinate system to the reference point of the workpiece. When changing the workpiece type, only the new reference point is measured and the user coordinate system is redefined, and the original trajectory does not need to be re taught.
TCP function (163910) reduces duplicate teaching: If multiple tools (such as primer gun and topcoat gun) need to follow the same trajectory, first use tool A to teach the trajectory, and then insert the TCPON command in the job to switch to tool B. The trajectory will automatically switch without the need for re teaching.
Regular backup and version management: Use the automatic backup function to backup the entire system data to the FTP server every morning. At the same time, manually save a dated. cmos file after each major modification. It is recommended to keep a backup history of at least 30 days.
