background image

TECHNICAL NOTE 

MOTION APPLICATION ENGINEERING GROUP

 

Yaskawa Electric America - 2121 Norman Drive South – Waukegan IL 60085 

(800) YASKAWA  -  Fax (847) 887-7280 

 

11/23/2005 

1 of 1 

eng/05.055/MCD 

Subject:  

MP2000 Best Practices Guideline 

 

Product:  

MP2000 Controllers

 

Status: 

Rev 1.1

 

 

Format of Information: 

The information provided in the topics discussed here are intentionally concise.  The appendixes 
for the related topics provide information and examples for the user to reference if more detail is 
preferred.  This document discusses the MP2000 Best Practices in the sequence of normal 
application development.  The main sections are: 

 

Machine Information Gathering 

 

Selecting a Programming Method 

 Program 

Architecture 

 

Memory Allocation  

 

Symbol and Commenting Naming Conventions 

 Code 

Development 

 

While it is possible to control up to 256 axes, this document is based on  
up to 64 axes being utilized.  For applications using more than 64 axes 
contact Yaskawa for technical support.

 

 

 

 

 

 

 

 

 

 

Summary:  

This document is a guide for use to implement Best Practices for programming design 

and architecture for an MP2000 controller system.  The main topics discussed in this document are 
an overview of the design process, followed by three detailed topics of memory allocation, drawing 
use, and developing code for motion control. 

Summary of Contents for MP2000 Series

Page 1: ...in the sequence of normal application development The main sections are Machine Information Gathering Selecting a Programming Method Program Architecture Memory Allocation Symbol and Commenting Namin...

Page 2: ...DEFINITION 15 DRAWING FAMILY EXECUTION 15 DRAWING FAMILY HIERARCHY AND PROGRAM FLOW 17 BEST PRACTICE DRAWING USAGE 18 MP2000 BEST PRACTICE DRAWING ARCHITECTURE 19 Drawing Architecture for A H and L 2...

Page 3: ...f documents used or referenced to in MP Best Practices eng MCD 05 055 MP2000 Best Practices Guideline pdf eng MCD 05 096 MP2000 Best Practices Information Gathering pdf eng MCD 05 097 MP2000 Best Prac...

Page 4: ...s with machine sequence logic and provides the foundation and scalability necessary to achieve performance in a changing environment True machine control tightly integrates the following high and low...

Page 5: ...d reducing the possibility of missing important steps along the way This guideline provides a step by step flowchart of machine development features o Risk Reduction A higher percentage of completing...

Page 6: ...Using best practices across multiple machine designs reduces risk by taking advantage of architecture knowledge acquired on previous designs o Common Look and Feel Using commonly defined standardized...

Page 7: ...ing recommendations as well as actual code examples and pre defined templates to get jump started It also provides experienced controls engineers with a benchmark to compare against allowing them to m...

Page 8: ...f the steps are located in eng MCD 05 096 MP2000 Best Practices Information Gathering Basic Design template example is also referenced in eng MCD 05 031 Basic Design Template START Machine Block Diagr...

Page 9: ...and the motion required Machine Complexities versus Programming Methods MACHINE COMPLEXITIES Point to Point Motion All co ordinated scan based profile generation Interpolation Function Blocks Motion...

Page 10: ...dium high Maximum axes Only Limited by Hardware 16 group 16 Scan time most efficient Motion programs synchronize with H Ladder additional scan time over head Troubleshooting Register based Register ba...

Page 11: ...ible not possible Homing possible possible possible Basic Camming possible not possible possible Advanced Camming including master slave shift or offset on the fly possible not possible possible Basic...

Page 12: ...mance of the segregated network layer module is not affected This is a key point for performance The Network Layer can be broken down into scalable scan rates and scalable data packet size Scan rates...

Page 13: ...ormance note for all layers in a system The data being transferred to the network devices is based on the motion and I O registers All registers are updated at the end of the Program Layer scan at the...

Page 14: ...on system via Monitoring Parameters for feedback and Setup Parameters for commanding motion Each axis has registers associated with it The user application manipulates these registers either directly...

Page 15: ...ational hierarchy and denoted in the following chart Family A Family I Family H Family L Parent A I H L Child Axx Ixx Hxx Lxx Grand child Axx xx Ixx xx Hxx xx Lxx xx Valid drawing names must adhere to...

Page 16: ...he high speed scan set time as illustrated above In the remaining time of the high speed scan the low scan drawings execute in time slices until they complete execution within the low speed scan set t...

Page 17: ...ing the SEE instruction Calls to a descendent drawing must be contained with the generational hierarchy so only a linear descendent can be called The figure below shows the execution flow of a drawing...

Page 18: ...Function Block programming environment It is recommended to set the registers to zero in the H drawing using s system bit that comes on only for the first scan Best practice is to set constant values...

Page 19: ...ed Constant value setting Auxiliary equipment control Low speed I O processing MP2000 Best Practice Drawing Architecture A key advantage of Best Practices drawing architecture is organization Programm...

Page 20: ...h speed process 1 ex cam master H10 02 Machine common high speed process 2 ex PLS master H15 Reference output calculations Axis trajectory H15 01 Axis 1 Cam target position H15 02 Axis 2 Gear target p...

Page 21: ...is Normal Servo On Jog Jog Low Speed motion control etc L20 02 Axis 2 individual sequencing Axis Normal Servo On Jog Jog Low Speed motion control etc L25 Motion Program sequencing and interlocking for...

Page 22: ...Ease and speed of transfer HMI 2 Cam tables 3 Recipe tables Troubleshooting time is reduced when a consistent memory map is followed errors are easily diagnosed since the range of registers to be moni...

Page 23: ...e 1 Global memory registers a Data M 64k M registers are shared by all drawings Used as interfaces between drawings Register number nnnnn is expressed as a decimal number b System S 8k S registers pro...

Page 24: ...Users enter tag names and define the register range and scope global or local to a specific drawing for each tag name in the automatic address allocation section of Symbol Manager Fig 2 Using Automat...

Page 25: ...red addresses as recommended by the MP best practices A solution is available to this problem as blocks of memory can be assigned within the auto allocation function to certain data types A block of a...

Page 26: ...robustness of the program e g Symbol Comment Axis X_Velocity counts sec X would be replaced by the first letter of the register type for that symbol B bit type W word type L long type F float type A...

Page 27: ...n rates high and low As discussed in the program architecture section this allows the application to be optimized Low speed drawings typically contain non speed critical machine sequences such as I O...

Page 28: ...is 1 MB00101D Axis 1 Breakout the main power on bit IB802C4 Axis 1 In the above code Axis Normal is one of the conditions required to enable the servo An alarm loss of ServoPack power or communication...

Page 29: ...bled the machine is in manual mode and the over travel for the selected direction Then if the jog interlocks are OK the user input is allowed to reference the axis to jog in the corresponding directio...

Page 30: ...e to zero point return The third rung is the home completed latch Conditions that break the latch would be the axis is on and in automatic mode These conditions depend on machine operation and change...

Page 31: ...such as auto manual and homing L10 and its subsequent grandchild drawings L10 xx include common machine sequences where the status of dependant axes are summarized in for interlocking purposes Logic i...

Page 32: ...ENGINEERING GROUP Yaskawa Electric America 2121 Norman Drive South Waukegan IL 60085 800 YASKAWA Fax 847 887 7280 11 23 2005 32 of 32 eng 05 055 MCD Auto Manual Mode Selection DWG L10 01 System Homing...

Page 33: ...bits from an HMI to the controller should be programmed as latched momentary signals This provides added safety for any type of E stop or power off conditions that may occur In the example below the H...

Page 34: ...or heater controls upstream and downstream systems interlocks as well as safety system interlocks Axis Enable Interlocks To prevent alarms or warnings the machine safety circuit and amplifier power sh...

Page 35: ...a 2121 Norman Drive South Waukegan IL 60085 800 YASKAWA Fax 847 887 7280 11 23 2005 35 of 35 eng 05 055 MCD Before the machine starts cycling in automatic production mode there must exist no faults on...

Page 36: ...5 36 of 36 eng 05 055 MCD A system homing sequence may have to account for physical interference and require other components in a certain state for the sequence to advance It is critical to include i...

Page 37: ...ade at each step of the calculation at the rate of the program scan thereby allowing the user to change the ratio on the fly The resulting scaled segments are accumulated in a register that is fed to...

Page 38: ...21 Norman Drive South Waukegan IL 60085 800 YASKAWA Fax 847 887 7280 11 23 2005 38 of 38 eng 05 055 MCD 2 Multiply the result by B and add the remainder from the last scan 3 Divide the result of step...

Page 39: ...lectric America 2121 Norman Drive South Waukegan IL 60085 800 YASKAWA Fax 847 887 7280 11 23 2005 39 of 39 eng 05 055 MCD 4 Accumulate the calculated slave position in an accumulator register 5 Map th...

Page 40: ...default value if no conditions explicitly call for another value This coding technique is accomplished in three sections 1 A default initialization or last scan value is stored to the accumulator regi...

Page 41: ...technique illustrates the suggested use of local registers in particular the accumulators Best Practices recommends the use of the following specific local registers when implementing the waterfall t...

Page 42: ...ortant to modulate it to create a repeating saw tooth value for a machine cycle or cam profile A start location and condition may need to be determined also Typically most applications start at zero i...

Page 43: ...43 of 43 eng 05 055 MCD 2 Increment the virtual master by the scan differential amount 3 Test the virtual master to see if the cycle modulus has been exceeded If so reset the value of the virtual mast...

Page 44: ...a saw tooth waveform is generated to represent the change of position versus time This technique is also useful in calculating speed compensation that may be used to account for time delay due to net...

Page 45: ...32 bit registers the maximum and minimum decimal values are 2 147 488 647 and 2 147 488 648 which correspond to 7FFF FFFF and 8000 0000 in Hex respectively For example if IL8016 has rolled over from...

Page 46: ...efined by actions that take place Transition conditions determine the sequence and the state is determined by an integer that is updated when a new state is entered Both methods are useful below is a...

Page 47: ...ce technique uses a step complete bit DB000011 to reset the sequence bit that first initiated the step DB000010 Note in the second rung the entire sequence complete resets the done bit DB00001F DWG L1...

Page 48: ...always the user is free to program as desired but experience has shown that following a few simple guidelines as illustrated in this section will help the programmer produce a motion program and rela...

Page 49: ...7280 11 23 2005 49 of 49 eng 05 055 MCD Best Practice Rules For Using Motion Programs Initiating Motion Program Before starting a motion program ladder code should include interlocks that ensure the...

Page 50: ...1 Norman Drive South Waukegan IL 60085 800 YASKAWA Fax 847 887 7280 11 23 2005 50 of 50 eng 05 055 MCD No motion program is running halted or in alarm for the specified group MB300018 In H25 In H25 01...

Page 51: ...e M O and any group axis output registers Use the ladder s waterfall technique hold the register value Example OW8008 and OW8088 in drawings H20 01 and H20 02 respectively When a Motion Program is exe...

Page 52: ...ram that is executing Expect to issue an alarm clear after halting stopping a motion program that was running Expect an Alarm if the motion program running continuously was stopped This means the prog...

Page 53: ...bit handshaking or setting any global bit with Motion programs Understand that the instruction to turn a bit ON or OFF in a motion program is equivalent to a SET COIL and RESET COIL respectively in t...

Page 54: ...the loop condition is satisfied Code that takes more than one scan to execute may cause a watchdog alarm Avoid this alarm by including the EOX instruction in the loop Rules for using parallel process...

Page 55: ...peatable process Example writing to Servopack Parameters Register Ranges to use and Why When using motion programs the programmer should not use Function blocks Therefore the function block s Reserved...

Reviews: