Yaskawa MP2000 User Manual

Machine Controller MP2000 Series
USER’S MANUAL
for Motion Programming
MANUAL NO. SIEP C880700 38C
Overview
Specifications
Motion Programs
Sequence Programs
Variables (Registers)
Programming
Command Reference
Engineering Tool MPE720
Troubleshooting
Appendices
1
2
3
4
5
6
7
8
9
10
App
Copyright © 2008 YASKAWA ELECTRIC CORPORATION
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form, or by any means, mechanical, electronic, photocopying, recording, or otherwise, without the prior written permission of Yaskawa. No patent liability is assumed with respect to the use of the information contained herein. Moreover, because Yaskawa is con­stantly striving to improve its high-quality products, the information contained in this manual is subject to change without notice. Every precaution has been taken in the preparation of this manual. Nevertheless, Yaskawa assumes no responsibility for errors or omissions. Neither is any liability assumed for damages resulting from the use of the information contained in this publication.

About This Manual

This manual provides information on motion commands for the MP2000 series Machine Control-
lers.
• Motion program overview
• Specifications
• Program development flow
• Motion programs and sequence programs
• Variables
• Programming
• Command reference
• Engineering tool MPE720
• Troubleshooting, etc.
Read this manual carefully to ensure the proper use of the MP2000 series Machine Controller.
Also, keep this manual in a safe place so that it can be referred to whenever necessary.

Using This Manual

Intended Audience
This manual is intended for the following users.
• Those responsible for designing the MP2000 series Machine Controller system
• Those responsible for writing MP2000 series Machine Controller motion programs and sequence pro­grams
Engineering Tool MPE720 Version Number
In this manual, the operation of MPE720 is described using screenshots of MPE720 version 6.
For this reason, the screenshots and some descriptions may differ from those for MPE720 version 5.
Description of Abbreviation
In this manual, the following abbreviation is used.
• MP2000: Machine controller model including MP2100, MP2100M, MP2200, MP2300, MP2300S, MP2310, MP2400, MP2500, MP2500M, MP2500D, and MP2500MD

Manuals for MP2000 Series

The user’s manuals are prepared by classifying MP2000 series Machine Controller models into
MP2100, MP2100M, MP2200, MP2300, MP2300S, MP2310, MP2400, MP2500, MP2500M, MP2500D, and MP2500MD. Refer to Related Manuals on the next page as required.
iii

Related Manuals

The following table lists the related manuals. Refer to these manuals as required.
Before using, be sure you understand the product conditions, including specifications and usage
restrictions.
Manual Name Manual Number Contents
Machine Controller MP2100/MP2100M User’s Manual SIEPC88070001
Machine Controller MP2200 User’s Manual SIEPC88070014
Machine Controller MP2300 Basic Module User’s Manual SIEPC88070003
Machine Controller MP2300S Basic Module User’s Manual SIEPC88073200
Machine Controller MP2310 Basic Module User’s Manual
Machine Controller MP2400 User’s Manual SIJPC88074200
Machine Controller MP2500/MP2500M/MP2500D/ MP2500MD User’s Manual
Machine Controller MP2000 series SVB/SVB-01 Motion Module User's Manual
Machine Controller MP2000 Series Motion Module SVA-01 User’s Manual
Machine Controller MP2000 Series Pulse Output Motion Module PO-01 User’s Manual
Machine Controller MP2000 Series Communication Module User’s Manual
Engineering Tool for Machine Controller MP2000 Series MPE720 Version 6 User’s Manual
Machine Controller MP900/MP2000 Series MPE720 Software for Programming Device User’s Manual
Machine Controller MP900/MP2000 Series User’s Manual, Ladder Programming
Machine Controller MP900/MP2000 Series New Ladder Editor User’s Manual Programming Manual
Machine Controller MP900/MP2000 Series New Ladder Editor User’s Manual Operation
SIEPC88073201
SIEPC88075200
SIEPC88070033
SIEPC88070032
SIEPC88070028
SIEPC88070004
SIEPC88070030
SIEPC88070005
SIEZ-C887-1.2
SIEZ-C887-13.1
SIEZ-C887-13.2
Describes the functions, specifications, setup procedures, and operating methods of the MP2100/MP2100M. Describes the functions, specifications, setup procedures, and operating methods of the MP2200. Describes the functions, specifications, setup procedures, and operating methods of the MP2300. Describes the functions, specifications, setup procedures, and operating methods of the MP2300S. Describes the functions, specifications, setup
procedures, and operating methods of the MP2310.
Describes the functions, specifications, setup procedures, and operating methods of the MP2400.
Describes the functions, specifications, setup procedures, and operating methods of the MP2500/MP2500M/MP2500D/MP2500MD. Describes the functions, specifications, and
application methods of the MP2000-series Motion Module that is built into the SVB and SVB-01 Module.
Describes the functions, specifications, and operating methods of MP2000-series Motion Module SVA-01.
Describes the functions, specifications, and operating methods of MP2000-series Motion Module PO-01.
Describes the functions, specifications, and application methods of the MP2000 series
Communication Modules. Describes the installation and operation of
the programming software MPE720 for MP2000 series.
Describes the installation and operation of the programming software MPE720 for MP900/MP2000 series.
Describes the processing instructions used in MP900/MP2000 series Machine Controller ladder programs.
Describes the New Ladder Editor, whic MP900/MP2000-series design and mainte­nance.
Describes the operating methods of the New Ladder Editor, which assists MP900/ MP2000-series design and maintenance.
the programming instructions of
h assists
iv

Visual Aids

IMPORTANT
EXAMPLE
INFO
TERMS
CAUTION
PROHIBITED
MANDATORY
The following aids are used to indicate certain types of information for easier reference.
Indicates important information that should be memorized, including precautions such as alarm displays to avoid damaging the devices.
Indicates supplemental information.
Indicates application examples.
Indicates definitions of difficult terms or terms that have not been previously explained in this manual.

Safety Information

The following conventions are used to indicate precautions in this manual. Information marked as shown below is important for the safety of the user. Always read this information and heed the precautions that are provided. The conventions are as follows:
WARNING
Indicates precautions that, if not heeded, could possibly result in loss of life or serious in­jury.
Indicates precautions that, if not heeded, could result in relatively serious or minor injury, or property damage.
If not heeded, even precautions classified under can lead to serious
results depending on circumstances.
Indicates prohibited actions. Specific prohibitions are indicated inside .
For example, indicates no fire or open flame.
Indicates mandatory actions. Specific actions are indicated inside .
For example, indicates that grounding is required.
CAUTION
v
EXAMPLE

Safety Precautions

This section describes important precautions that apply to motion programming. Before programming, always read this manual and all other attached documents to ensure correct programming. Before using the equipment, familiarize yourself with equipment details, safety information, and all other precautions.
Application Precautions
CAUTION
• When programming the following axis move commands, check the path to make sure that there are no tools or other obstacles in the way of the workpiece.
The axis move commands that must be checked are as follows:
• Positioning (MOV)
• Linear Interpolation (MVS)
• Circular Interpolation (MCC, MCW)
• Helical Interpolation (MCC, MCW)
• Set Time Positioning (MVT)
• Linear Interpolation with Skip Function (SKP)
• Zero Point Return (ZRN)
• External Positioning (EXM)
axis 3
Each axis is moved independently at rapid traverse speed.
axis 3
Current position
axis 2
Failure to carry out the above checks may result in damage to equipment, serious personal injury, or even death.
axis 2
Example of Basic Path for Positioning (MOV)
Positioning
axis 1
End position
axis 1
vi
• If the following coordinate commands are designated incorrectly, the subsequent move operations will
CAUTION
be entirely different than those expected. Before starting operations, be sure to check that the settings are designated correctly.
The coordinate commands that must be checked are as follows:
• Absolute Programming Mode (ABS)
• Incremental Programming Mode (INC)
• Current Position Set (POS)
• Move ON Machine Coordinates (MVM)
EXAMPLE
axis 2
axis 2
(axis 1)
Current position
(axis 2)
Failure to carry out the above checks may result in damage to equipment, serious personal injury, or even death.
General Precautions
• MP2000-series Machine Controller was not designed or manufactured for use in devices or systems directly related to human life. Users who intend to use the product described in this manual for special purposes such as devices or systems relating to transportation, medical, space aviation, atomic power control, or underwater use must contact Yaskawa Electric Corporation beforehand.
• MP2000-series Machine Controller has been manufactured under strict quality control guidelines. However, if this product is to be installed in any location in which a failure of MP2000-series Machine Control­ler involves a life and death situation or in a facility where failure may cause a serious accident, safety devices MUST be installed to minimize the likelihood of any accident.
• Drawings and photos in this manual show typical product examples that may differ somewhat from the product delivered.
• We will update the data sheet number for the manual and issue revisions when changes are made. The edition number of the revised manual appears on the back of the manual.
• Contact your Yaskawa representative and quote the data sheet number on the front page of the manual if you need to replace a manual that was lost or destroyed.
• Contact your Yaskawa representative to order new nameplates whenever a nameplate becomes worn or dam­aged.
(0, 0)
(0, 0)
Example of Work Coordinate System Created with
Machine coordinate system
Workpiece coordinate system
Current Position Set (POS)
Observe the following general precautions
to ensure safe application.
axis 1
axis 1
vii

Warranty

(1) Details of Warranty
Warranty Period
The warranty period for a product that was purchased (hereinafter called “delivered product”) is one year from the time of delivery to the location specified by the customer or 18 months from the time of shipment from the Yaskawa factory, whichever is sooner.
Warranty Scope
Yaskawa shall replace or repair a defective product free of charge if a defect attributable to Yaskawa occurs during the warranty period above. This warranty does not cover defects caused by the delivered product reaching the end of its service life and replacement of parts that require replacement or that have a limited service life.
This warranty does not cover failures that result from any of the following causes.
1. Improper handling, abuse, or use in unsuitable conditions or in environments not described in product cat­alogs or manuals, or in any separately agreed-upon specifications
2. Causes not attributable to the delivered product itself
3. Modifications or repairs not performed by Yaskawa
4. Abuse of the delivered product in a manner in which it was not originally intended
5. Causes that were not foreseeable with the scientific and technological understanding at the time of ship­ment from Yaskawa
6. Events for which Yaskawa is not responsible, such as natural or human-made disasters
(2) Limitations of Liability
1. Yaskawa shall in no event be responsible for any damage or loss of opportunity to the customer that arises due to failure of the delivered product.
2. Yaskawa shall not be responsible for any programs (including parameter settings) or the results of pro­gram execution of the programs provided by the user or by a third party for use with programmable Yaskawa products.
3. The information described in product catalogs or manuals is provided for the purpose of the customer pur­chasing the appropriate product for the intended application. The use thereof does not guarantee that there are no infringements of intellectual property rights or other proprietary rights of Yaskawa or third parties, nor does it construe a license.
4. Yaskawa shall not be responsible for any damage arising from infringements of intellectual property rights or other proprietary rights of third parties as a result of using the information described in catalogs or manuals.
viii
(3) Suitability for Use
1. It is the customer’s responsibility to confirm conformity with any standards, codes, or regulations that apply if the Yaskawa product is used in combination with any other products.
2. The customer must confirm that the Yaskawa product is suitable for the systems, machines, and equip­ment used by the customer.
3. Consult with Yaskawa to determine whether use in the following applications is acceptable. If use in the application is acceptable, use the product with extra allowance in ratings and specifications, and provide safety measures to minimize hazards in the event of failure.
• Outdoor use, use involving potential chemical contamination or electrical interference, or use in condi­tions or environments not described in product catalogs or manuals
• Nuclear energy control systems, combustion systems, railroad systems, aviation systems, vehicle sys­tems, medical equipment, amusement machines, and installations subject to separate industry or gov­ernment regulations
• Systems, machines, and equipment that may present a risk to life or property
• Systems that require a high degree of reliability, such as systems that supply gas, water, or electricity, or systems that operate continuously 24 hours a day
• Other systems that require a similar high degree of safety
4. Never use the product for an application involving serious risk to life or property without first ensuring that the system is designed to secure the required level of safety with risk warnings and redundancy, and that the Yaskawa product is properly rated and installed.
5. The circuit examples and other application examples described in product catalogs and manuals are for reference. Check the functionality and safety of the actual devices and equipment to be used before using the product.
6. Read and understand all use prohibitions and precautions, and operate the Yaskawa product correctly to prevent accidental harm to third parties.
(4) Specifications Change
The names, specifications, appearance, and accessories of products in product catalogs and manuals may be changed at any time based on improvements and other reasons. The next editions of the revised catalogs or manuals will be published with updated code numbers. Consult with your Yaskawa representative to confirm the actual specifications before purchasing a product.
ix

Contents

About This Manual - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - iii Using This Manual - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - iii Manuals for MP2000 Series - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - iii Related Manuals - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - iv Visual Aids- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - v Safety Information - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - v Safety Precautions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - vi Warranty - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - viii
1 Overview
1.1 What is a Motion Program? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-2
1.2 Motion Program Features - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-3
1.2.1 Execution Method- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1-3
1.2.2 Motion Control in Full Synchronization with Sequence Control - - - - - - - - - - - - - - - - - - - - - - -1-3
1.2.3 Easy to Realize High-level Motion Control- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1-4
1.2.4 Easy-to-Understand Motion Language - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1-4
1.2.5 Arithmetic Operations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1-4
1.2.6 Data Transfer from/to Ladder Program - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1-5
1.2.7 Memory Usage Reduced by Use of Subprograms - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1-5
1.2.8 Parallel Program Execution - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1-6
1.2.9 Program Online Editing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1-6
1.2.10 Enriched Easy Programming Functions (MPE720 Ver.6.04 or later) - - - - - - - - - - - - - - - - - - -1-7
1.3 Motion Program Execution Sequence- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-8
1.4 Motion Program Execution Registration - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-9
1.5 Motion Program Execution Timing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-10
1.6 Grouping - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-11
1.7 Application Examples - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-12
1.7.1 Example 1: Handling System- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1-12
1.7.2 Example 2: Mechanical Parts Inserting Machine - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1-12
1.7.3 Example 3: Panel Processing Machine - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1-13
1.7.4 Example 4: Metal Sheet Bending Equipment- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1-13
1.8 What is a Sequence Program? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-14
1.9 Sequence Program Features- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-15
1.9.1 Execution Method- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1-15
1.9.2 Programming Language Commonly Used in Motion Programs - - - - - - - - - - - - - - - - - - - - - - 1-15
1.9.3 Data Transfer from/to Motion Program - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1-15
1.9.4 Memory Usage Reduced by Use of Subprograms - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1-16
1.9.5 Easy Programming Functions (MPE720 Ver.6.04 or later) - - - - - - - - - - - - - - - - - - - - - - - - -1-16
x
2 Specifications
2.1 MP2000 Series Machine Controller Specifications - - - - - - - - - - - - - - - - - - - - - - 2-2
2.1.1 Applicable Machine Controller Models- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-2
2.1.2 Applicable Motion Modules- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-2
2.1.3 List of Machine Controller Specifications - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-3
2.2 Engineering Tool MPE720 Specifications - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-5
2.2.1 Applicable Version Numbers of the Engineering Tool MPE720- - - - - - - - - - - - - - - - - - - - - - - 2-5
2.2.2 List of Engineering Tool MPE720 Specifications - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-5
2.3 List of Motion Language Commands - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-6
3 Program Development Flow
3.1 Program Development Flow - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-2
3.2 Program Development Procedure - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-3
3.2.1 Hardware Configuration - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-3
3.2.2 Installing MPE720 Version 6- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-3
3.2.3 Communication Settings - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-3
3.2.4 System Setup - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-3
3.2.5 Creating Project Files - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-4
3.2.6 Group Definitions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-5
3.2.7 Creating a Motion Program - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-6
3.2.8 Registering the Program Execution - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-7
3.2.9 Transferring the Motion Program- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-10
3.2.10 Debugging the Program - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-12
3.2.11 Saving the Programs in Flash Memory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-13
3.2.12 Executing the Programs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-14
4 Motion Programs
4.1 Types of Motion Programs- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4-2
4.2 Motion Programs For Each Axis Group- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4-2
4.3 Running a Motion Program - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4-3
4.3.1 How to Run a Motion Program - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4-3
4.3.2 Registering the Program Execution - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4-5
4.3.3 Work Registers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4-6
4.4 Advanced Programming - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4-11
4.4.1 Indirect Designation of a Program Number Using a Register - - - - - - - - - - - - - - - - - - - - - - - 4-11
4.4.2 Controlling the Motion Program Directly from an External Device- - - - - - - - - - - - - - - - - - - - 4-12
4.4.3 Monitor the Motion Program Execution Information Using S Register - - - - - - - - - - - - - - - - - 4-13
xi
5 Sequence Programs
5.1 Sequence Program Types - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5-2
5.2 How to Run a Sequence Program - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5-3
5.2.1 How to Run a Sequence Program - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -5-3
5.2.2 Registering Program Execution - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -5-4
5.2.3 Work Register - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -5-5
6 Variables (Registers)
6.1 Overview - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6-2
6.1.1 Variable Types - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -6-2
6.1.2 Global Variables and Local Variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -6-4
6.2 Using Variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6-7
6.2.1 System Variables (S Registers) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -6-7
6.2.2 Data Variables (M Registers) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -6-8
6.2.3 Input Variables (I Registers)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -6-9
6.2.4 Output Variables (O Registers) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6-11
6.2.5 C Variables (C Registers) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -6-13
6.2.6 D Variables (D Registers) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -6-14
6.3 How to Use Subscripts i, j - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6-15
7 Programming
7.1 Motion Program Format - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7-2
7.1.1 Motion Program Structure - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -7-2
7.1.2 Block Format - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -7-2
7.1.3 Using Constants and Variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -7-7
7.2 Motion Module Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7-9
7.2.1 Axis Type Selection - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -7-9
7.2.2 Reference Unit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -7-9
7.2.3 Electronic Gear - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -7-10
7.2.4 Speed Reference - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -7-12
7.2.5 Acceleration/Deceleration Setting- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -7-12
7.3 Group Definition - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7-13
7.4 Priority Levels of Operations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7-15
7.5 Commands and Execution Scans - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7-17
7.5.1 Command Types - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -7-17
7.5.2 List of Command Types- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -7-18
xii
7.6 Sequence Program Format - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7-19
8 Command Reference
8.1 Axis Setting Commands - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-3
8.1.1 Absolute Mode (ABS) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-3
8.1.2 Incremental Mode (INC)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-7
8.1.3 Acceleration Time Change (ACC) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-11
8.1.4 Deceleration Time Change (DCC)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-17
8.1.5 S-curve Time Constant Change (SCC) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-23
8.1.6 Set Velocity (VEL) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-29
8.1.7 Maximum Interpolation Feed Speed Setting (FMX)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-35
8.1.8 Interpolation Feed Speed Ratio Setting (IFP) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-37
8.1.9 Interpolation Acceleration Time Change (IAC) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-40
8.1.10 Interpolation Deceleration Time Change (IDC) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-43
8.2 Axis Move Commands - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-46
8.2.1 Positioning (MOV) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-46
8.2.2 Linear Interpolation (MVS) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-50
8.2.3 Clockwise/Counterclockwise Circular Interpolation with Center Position Designation (MCW, MCC) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-55
8.2.4 Clockwise/Counterclockwise Circular Interpolation with Radius Designation (MCW, MCC) - - 8-61
8.2.5 Clockwise/Counterclockwise Helical Interpolation with Center Position Designation (MCW, MCC) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-65
8.2.6 Clockwise/Counterclockwise Helical Interpolation with Radius Designation (MCW, MCC) - - 8-68
8.2.7 Zero Point Return (ZRN) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-70
8.2.8 Linear Interpolation with Skip Function (SKP)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-72
8.2.9 Set Time Positioning (MVT) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-74
8.2.10 External Positioning (EXM)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-76
8.3 Axis Control Commands - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-78
8.3.1 Current Position Set (POS) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-78
8.3.2 Move On Machine Coordinates (MVM) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-80
8.3.3 Program Current Position Update (PLD) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-81
8.3.4 In-Position Check (PFN) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-82
8.3.5 Set In-Position Range (INP) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-84
8.3.6 Coordinate Plane Setting (PLN) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-86
8.4 Program Control Commands - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-87
8.4.1 Branching Commands (IF ELSE IEND) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-87
8.4.2 Repeat (WHILE WEND) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-89
8.4.3 Parallel Execution (PFORK, JOINTO, PJOINT) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-92
8.4.4 Selective Execution (SFORK, JOINTO, SJOINT) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-95
8.4.5 Motion Subprogram Call (MSEE) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-99
8.4.6 Sequence Subprogram Call (SSEE) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-100
8.4.7 User Function Call From Motion Program (UFC) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-101
8.4.8 User Function Call from Sequence Program (FUNC) - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-109
8.4.9 Program End (END) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -8-110
8.4.10 Subprogram End (RET) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -8-111
8.4.11 Dwell Time (TIM) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -8-112
8.4.12 I/O Variable Wait (IOW) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -8-113
8.4.13 One Scan Wait (EOX) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -8-115
xiii
8.4.14 Single-block Signal Disabled (SNGD)/Single-block Signal Enabled (SNGE) - - - - - - - - - - - 8-116
8.5 Arithmetic Operations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-117
8.5.1 Substitute (=) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-117
8.5.2 Add (+) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-118
8.5.3 Subtract (-)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-119
8.5.4 Multiply (*) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-120
8.5.5 Divide (/) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-121
8.5.6 Remainder (MOD) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -8-122
8.6 Logic Operation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-123
8.6.1 OR (|) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-123
8.6.2 AND (&)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-125
8.6.3 XOR (^) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-126
8.6.4 NOT (!) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-127
8.7 Data Comparisons - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-128
8.7.1 Data Comparison Commands (==, <>, >, <, >=, <=)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-128
8.8 Data Operations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-130
8.8.1 Bit Right Shift (SFR) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -8-130
8.8.2 Bit Left Shift (SFL) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-131
8.8.3 Block Move (BLK)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -8-132
8.8.4 Clear (CLR) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-133
8.8.5 ASCII Conversion 1 (ASCII)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-134
8.9 Basic Functions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-136
8.9.1 Sine (SIN) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -8-136
8.9.2 Cosine (COS)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -8-138
8.9.3 Tangent (TAN) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-139
8.9.4 Arc Sine (ASN)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-140
8.9.5 Arc Cosine (ACS) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -8-141
8.9.6 Arc Tangent (ATN) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -8-142
8.9.7 Square Root (SQT)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-143
8.9.8 BCD to Binary (BIN) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -8-145
8.9.9 Binary to BCD (BCD) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-146
8.9.10 Set Bit (S{ }) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-147
8.9.11 Reset Bit (R{ }) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-148
8.9.12 Rising Pulse (PON)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-149
8.9.13 Falling Pulse (NON) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-151
8.9.14 ON-Delay Timer (TON): Counting unit: 0.01 second - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-154
8.9.15 OFF-Delay Timer (TOF):Counting unit: 0.01 second- - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-156
xiv
8.10 C-Language Control Commands - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-158
8.10.1 C-Language Task Control (CTSK) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -8-158
8.10.2 C-Language Function Call (CFUNC)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-160
9 Engineering Tool MPE720
9.1 Motion Editor - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-2
9.1.1 Overview - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-2
9.1.2 Names and Descriptions of Motion Editor Window Components - - - - - - - - - - - - - - - - - - - - - 9-4
9.2 Command Input Assistant Function - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-6
9.2.1 Overview - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-6
9.2.2 Motion Command Assist Dialog Box Details- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-8
9.3 Program Execution Registration Function - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-12
9.3.1 Overview - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-12
9.3.2 Program Execution Registry Screen Dialog Box Details - - - - - - - - - - - - - - - - - - - - - - - - - - 9-13
9.4 Debug Function - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-15
9.4.1 Overview - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-15
9.4.2 Motion Editor Window during Debugging - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-16
9.5 Motion Task Manager - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-22
9.5.1 Overview - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-22
9.5.2 Motion Task Manager Window Details - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-23
9.6 Drive Control Panel- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-24
9.6.1 Overview - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-24
9.6.2 Drive Control Panel Details- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-26
9.7 Test Run Function- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-28
9.7.1 Overview - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-28
9.7.2 Test Run Window Details - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-29
9.8 Axis Status and Alarm Monitor - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-31
9.8.1 Overview - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-31
9.8.2 Monitor Window Details - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-33
10 Troubleshooting
10.1 Troubleshooting - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 10-2
10.1.1 Basic Flow of Troubleshooting - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 10-2
10.2 Troubleshooting for Motion Programs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 10-3
10.2.1 Error Investigation Flow - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 10-3
10.2.2 Problem Starting a Motion Program- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 10-4
10.2.3 Confirming the Alarm Code - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 10-9
10.2.4 Motion Program Alarm Codes- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 10-15
10.3 Troubleshooting for Sequence Programs - - - - - - - - - - - - - - - - - - - - - - - - - 10-17
10.3.1 Error Investigation Flow - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 10-17
10.3.2 Problem Starting a Sequence Program - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 10-18
xv
Appendices
A Motion Language Commands - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A-2
A.1 Axis Setting Commands - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A-2 A.2 Axis Move Commands- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A-3 A.3 Control Commands - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A-5 A.4 Program Control Commands - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A-6 A.5 Arithmetic Operations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A-8 A.6 Logical Operations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A-8 A.7 Data Comparison - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A-9 A.8 Data Operations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A-9 A.9 Basic Functions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -A-10 A.10 C-Language Control Commands - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -A-11
B Sample Programs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A-12
B.1 Programs for Controlling Motion Program Execution - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -A-13 B.2 Parallel Processing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -A-15 B.3 Motion Program for Speed Control - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -A-16 B.4 Simple Synchronized Operation Using a Virtual Axis - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -A-17 B.5 Sequence Programs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -A-19
C Differences between MP900 Series and MP2000 Series
Machine Controllers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A-21
C.1 Motion Programs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -A-21 C.2 Sequence Programs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -A-21 C.3 Motion Programming Commands - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -A-22 C.4 Group Definitions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -A-22 C.5 Debug Function - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -A-23 C.6 Motion Program Alarms- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -A-23
D Precautions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A-24
D.1 General Precautions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -A-24 D.2 Precautions on Motion Parameter Settings - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -A-24
Index
Revision History
xvi

1
Overview

1
Overview
This chapter introduces motion programs and describes their features for those who are unfamilier with them.
1.1 What is a Motion Program? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-2
1.2 Motion Program Features - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-3
1.2.1 Execution Method - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-3
1.2.2 Motion Control in Full Synchronization with Sequence Control - - - - - - - - - - - - - - - - - - 1-3
1.2.3 Easy to Realize High-level Motion Control - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-4
1.2.4 Easy-to-Understand Motion Language - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-4
1.2.5 Arithmetic Operations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-4
1.2.6 Data Transfer from/to Ladder Program - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-5
1.2.7 Memory Usage Reduced by Use of Subprograms - - - - - - - - - - - - - - - - - - - - - - - - - - 1-5
1.2.8 Parallel Program Execution - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-6
1.2.9 Program Online Editing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-6
1.2.10 Enriched Easy Programming Functions (MPE720 Ver.6.04 or later) - - - - - - - - - - - - - 1-7
1.3 Motion Program Execution Sequence - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-8
1.4 Motion Program Execution Registration - - - - - - - - - - - - - - - - - - - - - - - - - 1-9
1.5 Motion Program Execution Timing - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-10
1.6 Grouping - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-11
1.7 Application Examples - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-12
1.7.1 Example 1: Handling System - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-12
1.7.2 Example 2: Mechanical Parts Inserting Machine - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-12
1.7.3 Example 3: Panel Processing Machine - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-13
1.7.4 Example 4: Metal Sheet Bending Equipment - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-13
1.8 What is a Sequence Program? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-14
1.9 Sequence Program Features - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-15
1.9.1 Execution Method - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-15
1.9.2 Programming Language Commonly Used in Motion Programs - - - - - - - - - - - - - - - - 1-15
1.9.3 Data Transfer from/to Motion Program - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-15
1.9.4 Memory Usage Reduced by Use of Subprograms - - - - - - - - - - - - - - - - - - - - - - - - - 1-16
1.9.5 Easy Programming Functions (MPE720 Ver.6.04 or later) - - - - - - - - - - - - - - - - - - - - 1-16
1-1
1 Overview

1.1 What is a Motion Program?

The motion program is a program written in motion language, Yaskawa’s unique textual language. A motion program can be executed either by coding an MSEE command in a ladder program or by registering the motion program in the program execution registry screen dialog box for the M-EXECUTOR Module.
Note: The M-EXECUTOR Module can not be used with the following modules and Machine Controllers:
MP2300, CPU-01, CPU-02
Apart from ladder programs, up to 256 motion programs can be created. An example of a motion program is shown below.
The features of motion programs are described starting from the next page.
1-2
1
Overview

1.2 Motion Program Features

Ladder program
(Scan execution)
Motion program
(Sequential execution)
One program is executed in a fixed cycle.
IB00000 IB00001 OB00000
IB00002
IB00003
DB000005
IB00004 DB000006 OB00001
END
MOV [X]1000 [Y]2000;
MOV [X]-1000 [Y]-2000;
MVS [X]2000 [Y]1000 F30000;
END;
At the completion of execution of one move command, the next command will be executed.
Sequence Control Motion Control
(Motion Module)
Ladder program (High-speed scan)
MPM001
Motion program
Starts the motion program
VEL [X]2000 [Y]2000; ACC [X]100 [Y]100; DCC [X]100 [Y]100; MOV [X]0 [Y]0; MVS [X]100.0 [Y]200.0;
Motion control in full synchronization with high-speed scans
Motion parameters
Set motion parameters
Fully synchronized control
Position control
Speed control
Torque control

1.2.1 Execution Method

A motion program employs an execution method that differs from the ladder program. With a ladder program, processing from the program start to an END command is completed within one scan. With a motion program, the processing requested by one command normally requires more than one scan. Also, the commands are executed sequentially, in the order they are coded. In this manual, the execution method of ladder program is referred to as Scan Execution, and that of a motion program as Sequential Execution.
1.2 Motion Program Features

1.2.2 Motion Control in Full Synchronization with Sequence Control

The process written in a motion program is executed in full synchronization with high-speed scans of the MP2000-series Machine Controller. The axis movement will start within one scan after the start request from the ladder program, without any time lag to start the motion program.
1-3
1 Overview

1.2.3 Easy to Realize High-level Motion Control

1.2.3 Easy to Realize High-level Motion Control
In addition to basic motion control, motion control that involves complicated movements can be easily realized by using motion programs.
Positioning
Circular
interpolation Linear interpolation
Helical interpolation

1.2.4 Easy-to-Understand Motion Language

A motion program employs intuitive motion language commands such as VEL to set a velocity and MOV for positioning.
Set Velocity
Positioning
VEL [A1]1000 [B1]500;
MOV [A1]100 [B1]200;

1.2.5 Arithmetic Operations

The motion language includes commands for arithmetic operations and logical operations. These commands allow you to include various calculations, such as calculation of target position in a motion pro­gram.
DL00000 = DL00002+DW00004;
DL00000 = DW00002
MW00000 = MW00000 & 00FFH;
MF00000 =
SIN(30.0);
DL00004;
*
1-4
1
Overview

1.2.6 Data Transfer from/to Ladder Program

Data register
(M register)
MOV [A1] ML00000;
Ladder program
Motion program
Read Update
Read Update
Main program
MPM001
Main program
MPM002
Main program
MPM003
Subprogram
MPS010
Calling
(MSEE)
Write common processing in a subprogram.
Calling
(MSEE)
Calling
(MSEE)
Data can be transferred between a ladder program and motion program. Data registers (M registers) are used to transfer the data. In this way, a value updated in a ladder program can be used in a motion program, and vice versa
1.2 Motion Program Features

1.2.7 Memory Usage Reduced by Use of Subprograms

Subroutines (subprograms) can be created within a motion program. The number of program steps can be minimized by creating a subprogram that includes a set of commands to perform a repeated or regular task, thus reducing memory usage.
1-5
1 Overview
MP2000­series Machine Controller
Task 1
Task 2
Task 16
Processing 1
Subprogram
Processing
1-1
Processing
1-2
Processing 2
Processing 3
Processing 4
Task
Simultaneous execution of up to 16 tasks
Up to four main programs can be executed in parallel.
Up to two subprograms can be executed in parallel.
Offline editing
Online editing
Programming
Operation to transfer a program to the Machine Controller
Debugging
INFO

1.2.8 Parallel Program Execution

1.2.8 Parallel Program Execution
With a single MP2000-series Machine Controller, up to 16 tasks can be simultaneously executed using motion programs. With one motion program, up to four main programs can be simultaneously executed. Additionally, up to two subprograms can be simultaneously executed by calling subprograms from the main program. Multiple different movements can be simultaneously controlled by using such the parallel program execution function.

1.2.9 Program Online Editing

Motion programs can be edited online in the same way as ladder programs. Online editing refers to editing programs with the programming device logged on to the Machine Controller. In online editing mode, the operation to save the edited program automatically transfers the saved program to the Machine Controller. Thus, an operation to transfer to the Machine Controller is not required and program devel­opment efficiency is improved.
Online editing is disabled while a motion program is running.
1-6
1.2 Motion Program Features
1
Overview
Test Run Function
Control the axes onscreen.
Program Execution Registration Function
Easily register programs to be executed in the system.
Operation Control Panel Function
Start motion programs from the Motion Editor window.
Debug Function
Debug a motion program. The debug commands, including step-by-step execution
and break point setting, are provided.
Axis Operation Monitor Function
View the motion status of each axis onscreen.
Command Input Assistant Function
Simply select a command and set data in the Motion Command Assist dialog box to insert the command in the editor.
Inserts the command

1.2.10 Enriched Easy Programming Functions (MPE720 Ver.6.04 or later)

The engineering tool MPE720 Ver.6 for MP2000-series Machine Controllers is provided with the following easy programming functions.
1-7
1 Overview
H
H01
H02
H01.01
H01.02
Ladder program
MP2000-series Machine Controller
M-EXECUTOR
Program Definition tab
Calling
Calling
Motion programs
SVR
Built-in SVB
SVB-01
SVA-01
PO-01
Transfer the created programs
MSEE command
Motion Editor Window
Can call motion programs without using ladder program
Capable of storing up to 256 programs
Motion parameters
MPE720
VEL [X]2000 [Y]2000; ACC [X]100 [Y]100; DCC [X]100 [Y]100; MOV [X]0 [Y]0; MVS [X]100.0 [Y]200.0;
ABS;
FMX T100000; MVS [C1]300 [D1]400
F1000;
END;
MPM002
MPM001
Can call up to 16 programs at once

1.3 Motion Program Execution Sequence

The motion programs created on the MPE720 Motion Editor window are transferred to the MP2000-series Machine Controller. The transferred motion programs can be called by MSEE commands coded in the ladder program, or from the execution registry screen dialog box of the M-EXECUTOR Module. Motion commands are sent to the motion module via the motion parameters to move axes. The following diagram illustrates how motion programs created using the MPE720 are executed.
1-8
1
Overview

1.4 Motion Program Execution Registration

INFO
M-EXECUTOR
Program definition
MPM001
INC;
VEL [A1]100 [B1]200;
MOV [A1]1000 [B1]2000;
END;
Motion program
Control registers
Calls
INFO
Execution of motion programs can be registered in two ways.
Calling a Motion Program from the Ladder Program
Code an MSEE command in an H drawing to call the motion program to run. An MSEE work register is used to start/stop the called motion program. Motion programs can be called from any H drawing: parent drawing, child drawing, or grandchild drawing.
DWG.H
Calls
INC;
VEL [A1]100 [B1]200;
1.4 Motion Program Execution Registration
Motion program
MPM001
Work register
Status
Control signal
Interpolation override
System work number
MOV [A1]1000 [B1]2000;
END;
In this manual, the high-speed processing drawing of a ladder program is referred to as H drawing.
Registering Motion Programs in M-EXECUTOR
Register motion programs in the M-EXECUTOR program execution definition. A control register (I/O regis­ter) is used to start or stop the registered motion program.
M-EXECUTOR is a software module to execute motion programs and sequence programs.
1-9
1 Overview
Empty
I/O service
(Output)
H drawing
M-EXECUTOR
External device
Batch output
Batch input
MP2000-series CPU
Requests to execute
Reports
Motion program
Status
Control signal
Subprogram
M-EXECUTOR
Requests to execute
Reports
Status
Control signal
High-speed scan
High-speed scan
High-speed scan
I/O service
(Input)
Empty Empty
MSEE
END;
MPM001
RET;
MPS101
DWG.H
Motion program
Subprogram
MSEE
END;
MPM002
RET;
MPS102
System processing
Output (O) register
Input (I) register

1.5 Motion Program Execution Timing

Motion programs are executed in full synchronization with MP2000 high-speed scans. In every high-speed scan cycle, I/O services are performed first, and the motion program registered in M-EXECUTOR is executed. Next, the motion program initiated in the MSEE command coded in the DWG.H is executed at the timing of the MSEE command execution. The following diagram illustrates motion program execution timing.
1-10
1
Overview

1.6 Grouping

The axes involved in related operations are organized into individual groups. Motion programs can be created for each group. This allows one MP2000-series Machine Controller to independently control multiple machines using group operation. Group operation can be single group operation or multiple group operation.
Definitions for axes to be grouped together are made under Group Definitions.
Single Group Operation
1.6 Grouping
MP2000 series Machine Controller
Multiple Group Operation
A1 B1 A2 D2 A3
SGDS
SGDS
A1 B1 C1 F1 G1
Group1

SGDS
SGDS
SGDS
MP2000 series Machine Controller

SGDS
SGDS
G
roup1Group2Group3
SGDS
SGDS
SGDS
Groups are organized in a tree structure.
1-11
1 Overview
Pallet
Pallet
+
+
-
+
-
+
-
+
-
+
-
-
2
Printed board
Stand
Parts tray
Robot 2
Robot 1

1.7.1 Example 1: Handling System

1.7 Application Examples

Motion programs can be used for operations of various systems. Some application examples are shown below.
1.7.1 Example 1: Handling System
Outline
• To stack a specified number of cardboard boxes on a pallet and transport them to the next process
• The system operation includes three axes motion control for the palletizing process and an automatic pallet feeding sequence.
Control points
• Moves X1 and X2 axes in synchronization using
• Realizes smooth movements by using interpola-
• Palletizes by calculating the position data with the

1.7.2 Example 2: Mechanical Parts Inserting Machine

Outline
• To insert parts, such as connectors, in a printed board.
• The handling robot takes out the parts and brings them to the stand. The inserting robot inserts the parts in the specified posi­tion and angle on the board.
a virtual axis.
tion.
motion program according to predefined condi­tions (box dimensions, the number of boxes in a horizontal row, the number of boxes in a vertical row, and the number of boxes in a stack.
1-12
Control points
• Two groups of axes are organized, and programs are created for each group, so that each robot is independently controlled.
• The tact time can be shortened by using two-axes or three-axes linear interpolation.
1
Overview

1.7.3 Example 3: Panel Processing Machine

z
Y
Wave forms
Cutter
Flat panel
Outline
• To draw waveforms on a flat panel made of construction material.
• More than ten cutters are mounted in series on the X axis, and the width of the pattern can be easily changed.
1.7 Application Examples
Control points
• Moves X and Y axes in circular interpolation to draw waveforms.
• Moves Y1 and Y2 axes in synchronization using a vertical axis.

1.7.4 Example 4: Metal Sheet Bending Equipment

Outline
• To bend a metal sheet
• A metal sheet can be bent into various shapes by changing the adjusting axis while feeding a sheet using the rolling axis.
Workpiece
Motor for adjusting roller
platform
Gear
Motor for feeding roller
Feeding roller (urethane)
Adjusting roller
Workpiece (metal sheet)
Motor for inserting workpieces
Control points
• Controls two axes, a linear axis and rota­tional axis, in linear interpolation.
• Switches the motion program to be called according to the process.
1-13
1 Overview

1.8 What is a Sequence Program?

The sequence program is a scan execution type program written in the language commonly used for the motion program. An application to cyclically check a status, such as an interlock, can be created by using a sequence program. A sequence program can be executed by calling from the program execution registry screen dialog box of M­EXECUTOR Module.
Note: The M-EXECUTOR Module can not be used with the following modules and Machine Controllers:
MP2300, CPU-01, CPU-02
A total of up to 256 sequence and motion programs can be created. An example of a sequence program is shown below.
The features of sequence programs are described, starting from the next page.
1-14
Loading...
+ 326 hidden pages