TECHNICAL NOTEMOTION APPLICATION ENGINEERING GROUPYaskawa Electric America - 2121 Norman Drive South – Waukegan IL 60085(800) YASKAWA - Fax (847) 887-728011/23/2005 27 of 27 eng/05.055/MCDDEVELOPING CODEWith the memory allocated and symbol naming conventions completed, code is ready to bedeveloped as decided by the user’s evaluation of the programming methods.The application is ready to be translated to executable code using Ladder, Motion Programs orFunction Blocks. When translating the application to executable code, there are many keytechniques used in developing a reliable, efficient application program. Key techniques for thethree programming methods are examined in this section.Ladder TechniquesWhen programming in ladder, the user must consider the scan based I/O and Parameter update.This is a key difference to understand for programmers familiar with structured text basedlanguages where the application directly controls the flow of instruction execution. In addition,high and low speed scan drawings require special consideration when developing logic to assureintended results.Low Scan InterlocksThe MP Controllers have two user settable scan rates: high and low. As discussed in theprogram architecture section, this allows the application to be optimized. Low speed drawingstypically contain non-speed critical machine sequences, such as I/O interfacing sequences andHMI interface logic.Axis Specific Low Scan InterlocksEnabling an axis is typically performed in a low scan drawing as described in the drawingarchitecture section. The goal here in Axis Interlocking is to check status of critical axis andsystem alarms, and to create an ‘axis normal’ signal. The axis normal signal will be used to allowthe ‘servo enable’ signal to turn on, and remain on. If an error occurs during any mode ofoperation (such as manual mode or automatic production mode) then the servo on signal will turnoff, and the axis will stop motion.In DWG L20.01, the first rung of code checks the entire status register IL8004 loads its status intothe Axis001_NoAlarms catch all bit for axis #1. Even though the IL8004 register catches allalarms, it is helpful to summarize all the alarms with one bit to aid in visually troubleshooting if analarm occurs (see user manual for bit breakout). IL8004 catches alarms such asIL8004 (Alarm Status for Axis #1)- Servo Driver Errors- POT/NOT (positive and negative over travels)- Positioning Timeout, Excessive Error, excessive speed- Servopack Parameter setting error, comm. error, encoder disconnect, etc