MP2000 Series Motion Programming User'Smanual
MP2000 Series Motion Programming User'Smanual
USER’S MANUAL
for Motion Programming
                                              Overview      1
                                          Specifications    2
                              Program Development Flow      3
                                       Motion Programs      4
                                    Sequence Programs       5
                                   Variables (Registers)    6
                                          Programming       7
                                   Command Reference        8
                               Engineering Tool MPE720      9
                                        Troubleshooting    10
                                            Appendices     App
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.
 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
 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.
iv
        Visual Aids
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
IMPORTANT       avoid damaging the devices.
                Indicates definitions of difficult terms or terms that have not been previously explained in this manual.
TERMS
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:
                                   Indicates precautions that, if not heeded, could possibly result in loss of life or serious in-
            WARNING                jury.
                                   Indicates precautions that, if not heeded, could result in relatively serious or minor injury,
                                   or property damage.
            CAUTION
                                   If not heeded, even precautions classified under           CAUTION          can lead to serious
                                   results depending on circumstances.
                                                                                                                                     v
     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)
EXAMPLE axis 3
                                                                                        Positioning
                                                                     axis 3
                                                                                                               axis 1
                                                                                       axis 1
                                                                        Current position
                                                         axis 2
                                       axis 2
vi
                                                       CAUTION
    • If the following coordinate commands are designated incorrectly, the subsequent move operations will
      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)
                                                                                               axis 1
                                                             (0, 0)   Workpiece coordinate system
                                                                                              axis 1
 General Precautions
                                                                                                                              vii
          Warranty
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.
                                                                                                                          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
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
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
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
                                                                                                                                                   xi
      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
      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
      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.1.11 Set Interpolation Acceleration/Deceleration Mode (ACCMODE) - - - - - - - - - - - - - - - - - - - - 8-46
xii
8.2 Axis Move Commands - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-60
    8.2.1 Positioning (MOV) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-60
    8.2.2 Linear Interpolation (MVS) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-64
    8.2.3 Clockwise/Counterclockwise Circular Interpolation with Center Position Designation
          (MCW, MCC) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-69
    8.2.4 Clockwise/Counterclockwise Circular Interpolation with Radius Designation (MCW, MCC) - - 8-75
    8.2.5 Clockwise/Counterclockwise Helical Interpolation with Center Position Designation
          (MCW, MCC) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-79
    8.2.6 Clockwise/Counterclockwise Helical Interpolation with Radius Designation (MCW, MCC) - - 8-82
    8.2.7 Zero Point Return (ZRN) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-84
    8.2.8 Linear Interpolation with Skip Function (SKP)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-86
    8.2.9 Set Time Positioning (MVT) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-88
    8.2.10 External Positioning (EXM) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-90
                                                                                                                                                      xiii
         8.6 Logic Operation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-137
             8.6.1 OR (|) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-137
             8.6.2 AND (&) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-139
             8.6.3 XOR (^) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-140
             8.6.4 NOT (!) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-141
xiv
   9.4 Debug Function - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-15
       9.4.1 Overview - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-15
       9.4.2 Motion Editor Window during Debugging - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-16
10 Troubleshooting
   10.1 Troubleshooting - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 10-2
       10.1.1 Basic Flow of Troubleshooting - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 10-2
Appendices
                                                                                                                                                   xv
         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-25
Index
Revision History
xvi
                                                                                                                             1
                                                                                                      Overview
      This chapter introduces motion programs and describes their features for those who are unfa-
      miliar with them.
                                                                                                                                     Overview
    1.2.9 Program Online Editing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -     1-6
    1.2.10 Enriched Easy Programming Functions (MPE720 Ver.6.04 or later) - - - - - - - - - - - - -                            1-7
                                                                                                                                     1-1
      1 Overview
                   Note: The M-EXECUTOR Module can not be used with the following modules and Machine Controllers:
                         MP2300, CPU-01, CPU-02
The features of motion programs are described starting from the next page.
1-2
                                                                                                             1.2 Motion Program Features
END
                                                                                                                                                        Overview
       ladder program, without any time lag to start the motion program.
                                                                             MPM001
                                                                                                                                          Speed
                                                                     VEL [X]2000 [Y]2000;                                                 control
                                         Starts the motion           ACC [X]100 [Y]100;
                                                                                                    Set motion
                                         program                     DCC [X]100 [Y]100;             parameters
                                                                     MOV [X]0 [Y]0;
                                                                     MVS [X]100.0 [Y]200.0;                                               Torque
                                                                                                                                          control
                                                                                                                                                        1-3
      1 Overview
      1.2.3 Easy to Realize High-level Motion Control
                                                                                                   Helical
                                                                                                   interpolation
                                                 Positioning
                                                                          Circular
                                                                          interpolation
                                                                  Linear
                                                                  interpolation
                                                          Set Velocity
                                                                             VEL    [A1]1000 [B1]500;
                                                          Positioning
                                                                            MOV     [A1]100 [B1]200;
1-4
                                                                                                   1.2 Motion Program Features
                                                          Data register
                                          Read Update                        Read Update
                                                          (M register)                            MOV [A1] ML00000;
                                                                                                                                 Overview
                                  MPM001                   MPM002                      MPM003
                                                                     Write common
                                           MPS010                    processing in a
                                                                     subprogram.
Subprogram
                                                                                                                                 1-5
      1 Overview
      1.2.8 Parallel Program Execution
                                              Simultaneous
                                              execution of
                                              up to 16 tasks
Task
                                         Task 1
                                                                                Processing 1
                                                                                                     Processing 2   Processing 3   Processing 4
Subprogram
                    MP2000-              Task 2
                    series
                    Machine
                    Controller                                               Processing Processing
                                                                                1-1        1-2
                                                        Up to two subprograms
                                                        can be executed in
                                                        parallel.
Task 16
Offline editing
                                                                                                      Debugging
                                                                             Programming
Online editing
1-6
                                                                                              1.2 Motion Program Features
                                                                                                                            Overview
      Operation Control Panel Function                             Debug Function
    Start motion programs from the Motion                       Debug a motion program.
    Editor window.                                              The debug commands, including step-by-step execution
                                                                and break point setting, are provided.
                                                                                                                            1-7
      1 Overview
                                                                                      Motion programs
                                   Ladder program
                                  H01.02                                                                                                              Built-in
                                                                                                                                                      SVB
                            H02
                                                                                                                                  Motion parameters
                                       M-EXECUTOR
                                       Program Definition tab
                                                                                                      MPM002                                          SVB-01
                                                                                            ABS;
                                                                            Calling         FMX T100000;
                                                                                            MVS [C1]300 [D1]400 F1000;
                                                                                            END;
SVA-01
                                                                                                      Capable of storing
                                                                                                      up to 256 programs                              PO-01
1-8
                                                                                         1.4 Motion Program Execution Registration
DWG.H MPM001
                                                                   Calls
                                                                            INC;
                                                Status                      END;
                                             Control signal
Interpolation override
INFO In this manual, the high-speed processing drawing of a ladder program is referred to as H drawing.
                                                                                                                                       Overview
                                          M-EXECUTOR                                                              Motion program
                                                                                                    Calls
                                                                                                              INC;
                                                                                                              VEL [A1]100 [B1]200;
INFO M-EXECUTOR is a software module to execute motion programs and sequence programs.
                                                                                                                                       1-9
       1 Overview
                         MP2000-series
                          CPU Module                       External device
                                                 Batch
                           Input (I)
                                                 input
                           register
                           Output (O)
                           register
                                                 Batch
                                                 output
                                                                             Motion program
                                        M-EXECUTOR                              MPM001           Subprogram
                                                                 Reports                           MPS101
                                           Status                              MSEE
                                        Control signal
                                                                 Requests                          RET;
                                                                 to execute     END;
DWG.H
                                                                                                                            Motion program
                                                                                                                               MPM002            Subprogram
                                                                                                                                                     MPS102
                                                                                                               Reports
                                                                                              Status                          MSEE
1-10
                                                                                                         1.6 Grouping
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.
                                     MP2000 series
                                     Machine Controller
                                 SGDS
SGDS
SGDS
SGDS
                                                                          SGDS
                                                          
A1 B1 C1 F1 G1
Group1
                                 MP2000 series
                                 Machine Controller
                              SGDS
SGDS
SGDS
SGDS
SGDS
                                                                                                                         Overview
                              A1        B1         A2              D2            A3
                                                                                                                        1-11
       1 Overview
       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
                                                                        Pallet                      a virtual axis.
                                                                                  Pallet          • Realizes smooth movements by using interpola-
                                                                                                    tion.
                                                                                                  • Palletizes by calculating the position data with the
                                                                                                    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.
                          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.
                                                        Robot 2
                                                                                   Robot 1
                                                    -
                                             -+                     -
                                                                -
                                                            +
                                              +
                                                                +                                 Control points
                      +
                              -
                          2
                                                                                                  • Two groups of axes are organized, and programs
                                                                                                    are created for each group, so that each robot is
                                  Printed
                                  board     Stand
                                                        -
                                                                +                                   independently controlled.
                                                                                                  • The tact time can be shortened by using two-axes
                                                                                 Parts tray
                                                                                                    or three-axes linear interpolation.
1-12
                                                                                                                               1.7 Application Examples
                 Outline
                 • To draw waveforms on a flat panel made of construction mate-
                   rial.
                 • More than ten cutters are mounted in series on the X axis, and
                   the width of the pattern can be easily changed.
                                                  Flat panel
                                                                                                         Control points
                                                               z                                         • Moves X and Y axes in circular interpolation
                                                          Y                                                to draw waveforms.
                                                                                                         • Moves Y1 and Y2 axes in synchronization
                                                                                     Cutter
                                                                                                           using a vertical axis.
Wave forms
                 Outline
                 • To bend a metal sheet
                 • A metal sheet can be bent into various shapes by changing the
                                                                                                                                                           Overview
                   adjusting axis while feeding a sheet using the rolling axis.
                                              Workpiece
                                              platform
                                                               Adjusting roller
                                                                                                         Control points
                                                                                       Workpiece         • Controls two axes, a linear axis and rota-
                                                                                       (metal sheet)
                                                                                                           tional axis, in linear interpolation.
                                                                                                         • Switches the motion program to be called
   Motor for                                                                                               according to the process.
   adjusting roller
                                                                                  Motor for
                                                                                  inserting workpieces
                                                                                                                                                          1-13
       1 Overview
                    Note: The M-EXECUTOR Module can not be used with the following modules and Machine Controllers:
                          MP2300, CPU-01, CPU-02
The features of sequence programs are described, starting from the next page.
1-14
                                                                                                       1.9 Sequence Program Features
END;
END
                                                                                                                                         Overview
       The use of sequence programs allows you to create an application for sequence control without using a ladder
       program.
                                                                                                                                        1-15
       1 Overview
       1.9.4 Memory Usage Reduced by Use of Subprograms
                                                                                     Write a repeated
                                                                  SPS010             or regular task in
                                                                                     a subprogram
Subprogram
1-16
                                                                                                                     2
                                                                                      Specifications
     This chapter describes the relevant specifications of motion program and engineering tool
     MPE720.
Specifications
                                                                                                                               2-1
      2 Specifications
      2.1.1 Applicable Machine Controller Models
       INFO          With the exception of MP2300, CPU-01 and CPU-02, both motion programs and sequence programs can be used.
                     If using the M-EXECUTOR module or sequence programs with MP2100 or MP2100M, the programming tools with fol-
                     lowing versions are required.
2-2
                                                                                           2.1 MP2000 Series Machine Controller Specifications
                 Interrupt
                                  64 drawings max.                                                                     −
                 Processing
                 High-speed
                                  200 drawings max.                                                                    −
                 Processing
                 Low-speed
                                  500 drawings max.                                                                    −
                 Processing
                 User function    500 drawings max.                                                                    −
                                  Applicable                                                                           −
                                                                                                                       Up to a total of 256
                 Number of
                                  256 programs max.                                                                    motion programs and
                 Programs
                                                                                                                       sequence program.
                 Number of                                                                                             Up to 16 axes can be
                                  Eight groups
                 Groups                                                                                                set for one group.
                                                                                                                       Number of motion
                 Number of                                                                                             programs that can be
                                  16 tasks
                 Tasks                                                                                                 executed simulta-
                                                                                                                       neously.
                                                                                                                                                 Specifications
                 Number of                                                                                             Parallel execution of
                 Parallel                                                                                              four main programs ×
                                  Eight parallel processes
                 Processes                                                                                             parallel execution of
                 (Per Task)                                                                                            two subprograms.
                 Execution         • By writing an MSEE instruction in the ladder program
                                                                                                                       −
                 Method            • By using an M-EXECUTOR Module (Excluding MP2300, CPU-01 and CPU-02)
Motion Program
                 Starting         The program starts running at the rising edge of control signal bit 0
                                                                                                                       −
                 Method           (Program start request).
                 Override         Can be set in the range from 0.01% to 327.67%.                                       −
                                                                                                                       Mode switching by
                 Operation
                                  ABS (absolute) and INC (incremental) mode                                            use of the exclusive
                 Mode
                                                                                                                       command (ABS/INC).
                                  • Built-in SVB, SVB-01, and SVR Module:
                                    pulse, mm, deg, inch, μm
                 Reference Unit                                                                                        −
                                  • SVA-01 and PO-01 Module:
                                    pulse, mm, deg, inch
                                  • E pulse
                 Min.               1
                                                                                                                       −
                 Reference Unit   • mm, deg, inch, μm
                                    1, 0.1, 0.01, 0.001, 0.0001, 0.00001
                 Reference
                                -2147483648 to +2147483647 (32-bit with sign)                                          −
                 Range
                 Number of
                 Simultaneously
                 Controlled     16 axes max.                                                                           −
                 Axes
                 (Per Task)
                                                                                                                                                 2-3
      2 Specifications
      2.1.3 List of Machine Controller Specifications
                                                                                                       MP2200
                                                                                                      /CPU-03,
                                            MP2100,                          MP2200           MP2200
                                                       MP2300 MP2300S MP2400         MP2310            MP2200                             Remarks
                                            MP2100M                          /CPU-01          /CPU-02
                                                                                                      /CPU-04,
                                                                                                       MPU-01
                                                                                     Applica-          Applica-
                                            Applicable N/A    Applicable      N/A              N/A              −
                                                                                     ble               ble
                                            256 programs max.                                                                        Up to a total of 256
                             Number of
                                            (The execution timing can be selected from the start drawing, high-speed scan drawing,   motion programs and
                             Programs
                                            or low-speed scan drawing.)                                                              sequence.
                                                                                                                                     Number of sequence
                             Number of                                                                                               programs that can be
      Sequence Program
                                            16 tasks max.
                             Tasks                                                                                                   executed simulta-
                                                                                                                                     neously.
                             Number of
                             Parallel
                                            None                                                                                     −
                             Processes
                             (Per Task)
                             Execution
                                            By using the M-EXECUTOR Module                                                           −
                             Method
                                                                                                                                     Started by the system
                                                                                                                                     by registering pro-
                             Start Method   Started by the system.
                                                                                                                                     grams in the M-
                                                                                                                                     EXECUTOR module.
                                                                                                                                     Memory backed up by
                             M Register     Accessible (65535 words)
                                                                                                                                     battery.
                                                                                                                                     Memory backed up by
                             S Register     Accessible (8192 word)
                                                                                                                                     battery.
      Accessible Registers
2-4
                                                                                                              2.2 Engineering Tool MPE720 Specifications
INFO The above engineering tool software can be installed on one personal computer.
                                                                                                                                                           Specifications
                                  MPU-01                      Compatible                            Not compatible               −
                                  Ladder Program              Supported                             Not supported                −
       Programs
                                                                                                                                                           2-5
      2 Specifications
                                                                                                        Operation
                                                                                                        Arithmetic
                                                 ACC         Acceleration Time Change                                            -       Subtract
                   Axis Set Commands
                                                                                                        Operation
                                                 IFP         Interpolation Feed Speed Ratio Setting                              &       AND (Logical AND)
                                                                                                         Logical
                                                                                                                                         XOR (Logical exclusive
                                                  IAC        Interpolation Acceleration Time Change                              ^
                                                                                                                                         OR)
                                                 IDC         Interpolation Deceleration Time Change                               !      NOT (Inversion)
                                                 MOV         Positioning                                                         ==      Match
                                                 MVS         Linear Interpolation                                                <>      Mismatch
                   Axis Move Commands
                                                                                                        Comparison
                                                 MCW         Clockwise Circular/Helical Interpolation                            >       Greater than
                                                                                                          Data
                                                             Counterclockwise Circular/Helical
                                                 MCC                                                                             <       Less than
                                                             Interpolation
                                                 ZRN         Zero Point Return                                                   >=      Greater than or equal to
                                                 SKP         Linear Interpolation with SKIP Function                             <=      Less than or equal to
                                                 MVT         Set Time Positioning                                              SFR       Right Shift
                                                                                                            Data Operation
                                                                                                                                         C Language Task
                                                 END         Program End                                                       CTSK
                                                                                                                                         Control
                                                                                                           C Language
2-6
                                                                                                                           3
                                                 Program Development Flow
     This chapter describes the procedures from system setup to operation start using the program-
     ming tool MPE720 version 6.
                                                                                                                                     3-1
      3 Program Development Flow
                     2. System Setup
                     Execute the self-configuration function to set up the
                                                                                           7. Transferring the Program
                     system.
                     Refer to the following section:
                     3.2.4 System Setup                                                    Transfer the created program to the MP2000-series
                                                                                           Machine Controller.
                Note: 1. The development procedure for sequence programs is basically the same as that for motion programs.
                         For this reason, descriptions of the sequence program development flow are omitted.
                      2. The above flowchart shows an example of program development. To use programs for the actual system,
                         settings for the external devices are required.
3-2
                                                                                                                                                3.2 Program Development Procedure
                    Power
                                                    MECHATROLINK cable
                    supply
                                                                                                  SERVOPACK                                            SERVOPACK
                                                                                                         YASKAWA SERVOPACK   200V                            YASKAWA SERVOPACK   200V
                                         MP2300                      218IF-01                           SGDS-01A12A                                         SGDS-01A12A
                                          YASKAWA   RDY        RUN   RUN           ERR
                                                                                                                                        MECHATROLINK
                                                                                                    SW1                                                 SW1
                                                                                                                                                                                            Terminator
                                                     TX        BAT    TX           RX
                                                                                                                               C                                                   C
                                                                                                                               N                                                   N
                                                  STOP
                                                   SUP
                                                    INT
                                                                     INIT
                                                                     TEST
                                                                                                        CHARGE                 6
                                                                                                                               A/B      cable               CHARGE                 6
                                                                                                                                                                                   A/B
                                                  CNFG                  OFF    ON
                                                   MON
                                                               SW1
                                                  TEST
                                                                            PORT
                                                                                                    L1                                                  L1
                                                     OFF ON
                                                                                                    L2                                                  L2
                                                          M-I/II                                    L1C                         C                       L1C                         C
                                                                                                                                N                                                   N
                                                                                                    L2C                         3                       L2C                         3
                                                          CPU I/O                                                               C                                                   C
                                                                                                    U                           N                       U                           N
                                 DC24V                                 10Base-T                                                 1                                                   1
                                                                                                    V                                                   V
                                 DC 0V
                                                                                                    W                                                   W
                                                                                                                                    C                                                   C
                                                                                                                                    N                                                   N
                                                                                                                                    2                                                   2
                                                                                                                                    C                                                   C
                                                                                                                                    N                                                   N
                                                                                                                                    4                                                   4
Machine Controller
Power supply
Note: In the system configuration above, set the station numbers of the two SERVOPACKs to 1 and 2.
                                                                                                                                                                                                         3-3
      3 Program Development Flow
      3.2.5 Creating Project Files
                       3. Specify the file name, file saving destination folder, and Machine Controller model. Then click the Create
                          button.
3-4
                                                                                     3.2 Program Development Procedure
                                             Motion program
                                             appears here.
2. Right-click Motion program in the subwindow. Select Group Definition from the drop-down menu.
                                                 Right-
                                                 click
                                                                                                                         3-5
      3 Program Development Flow
      3.2.7 Creating a Motion Program
                      1. Programs are displayed under Motion program in the subwindow. Right-click Main program. Select
                         New from the drop-down menu.
                                                    Click to
                                                     open      Right-
                                                   the tree.   click
2. Click OK.
3. Enter the sample motion program provided in 3.1 Program Development Flow.
                      4. Click the Save icon (     ) on the toolbar of the Motion Editor window to start compiling. The motion
                         program will be automatically saved after compiling is completed.
         IMPORTANT              Note that the motion program will not be automatically saved if the Error List dialog box appears during com-
                                piling.
3-6
                                                                                 3.2 Program Development Procedure
                                     Ladder program is
                                     displayed here.
          2. Right-click High-speed under Ladder program in the subwindow. Select New from the drop-down
             menu.
3. Click OK.
                                                                                                                     3-7
      3 Program Development Flow
      3.2.8 Registering the Program Execution
                      4. Create the ladder program shown below. After the ladder program has been created, compile the program
                         by pressing the F8 key on the keyboard or clicking the           icon on the toolbar.
       INFO           • Make sure that bit 0 of motion monitoring parameter IW00 (Operation Ready) is ON before turning ON the Servo
                        ON command MB000000.
                      • The Servo ON command will not be accepted if the Operation Ready bit is OFF.
3-8
                                                                                       3.2 Program Development Procedure
INFO   The motion programs can be registered to run by registering the programs in the M-EXECUTOR program execution defi-
       nition, without creating the ladder program described on the previous page.
       The procedure to register motion programs to the program definition of M-EXECUTOR is described below. Before using
       this procedure, be sure to carry out the operation described in 3.2.9 Transferring the Motion Program.
1. Click the icon on the toolbar in the Motion Editor window where the motion program is created.
2. The Program execution registry screen dialog box will open. Click OK to register the program.
                                                                                                                            3-9
       3 Program Development Flow
       3.2.9 Transferring the Motion Program
                       2. Select the communication port selected in 3.2.3 Communication Settings, and click the Connection but-
                          ton.
3-10
                                                                                           3.2 Program Development Procedure
4. Click the Individual button, and then select the Program check box. Click the Start button.
       • When Individual transfer is selected, the same file in the Machine Controller will be overwritten with the selected proj-
INFO     ect file data.
       • When Batch transfer is selected, the MP2000-series Machine Controller’s RAM will be cleared before transfer, and all
         project file data will be written in the RAM.
                                                                                                                                     3-11
       3 Program Development Flow
       3.2.10 Debugging the Program
        INFO         When using the M-EXECUTOR as described in 3.2.8 Registering the Program Execution, directly set the motion setting
                     parameter to turn the servo ON.
                      4. Click the Step In icon (    ) to execute the program line by line, and check the programmed movements.
                         For details on debugging, refer to 9.4 Debug Function.
                      5. Debug the program until the END command. When the debugging operation is completed, turn the servo
                         OFF.
3-12
                                                                                    3.2 Program Development Procedure
4. Click the Yes button in the following dialog box to restart the Machine Controller.
                                                                                                                        3-13
       3 Program Development Flow
       3.2.12 Executing the Programs
                       1. Click the Register List 1 tab to display the register list. Specify register MB000000. Set MB000000 to
                          ON to turn the servo ON.
                                                     Set MB00000 to ON
                                                     to turn the servo ON.
3-14
                                                                                                                           4
                                                                                Motion Programs
This chapter describes motion program types and how to run them.
Motion Programs
                                                                                                                                     4-1
      4 Motion Programs
       INFO       The program numbers of motion programs are managed in the same manner as the sequence program num-
                   bers. Assign a unique number for each program number.
                    • Program number of Motion program MPM, MPS
                    • Program number of Sequence program SPM, SPS
                  The MP2000-series Machine Controllers can execute up to 16 motion programs simultaneously. An alarm (no
                   system work error) will occur if 17 or more programs are executed simultaneously.
                    • No system work error: Bit E of the leading word in the MSEE work registers
SGDS
SGDS
SGDS
                                                                                                                              SGDS
                          SGDS
SGDS
SGDS
SGDS
SGDS
A1 B1 C1 F1 G1 A1 B1 A2 D2 A3
4-2
                                                                                                      4.3 Running a Motion Program
                                                                                        MPM002
                                                                      Grandchild
                                        MSEE
                                       MPM002
DEND END
Subprogram
                                                                                                                                     Motion Programs
                                                                                        MPM003
              MSEE                                                                                                  MPS101
             MPM003
                                                                                         MSEE
                                                                                        MPS101
      H drawing ladder commands are executed in hierarchical order i.e., parent drawings, child drawings, then grand-
      child drawings in each high-speed scan cycle.
      To start up the motion program, after the MSEE command is incorporated, use a control signal to turn ON the
      request for the program operation startup.
      Motion programs are also called in each scan cycle, but unlike ladder programs, all motion programs cannot be
      executed in one scan. For this reason, motion programs are executed and controlled by special system’s motion
      management function.
                                                                                                                                     4-3
      4 Motion Programs
      4.3.1 How to Run a Motion Program
                                                                                                 Motion program
                                                                                                     MPM001
MPM002
END
                                                                                                                            Subprogram
                                                                                                     MPM003
                                                                                                                             MPS101
                                                                                                      MSEE
                                                                                                     MPS101
END RET
                     To start up the motion program, after the motion program registration, use a control signal to turn ON the
                     request for the program operation startup.
                     The motion program registered in M-EXECUTOR is executed at a scan cycle, but similar to a ladder, the
                     whole program cannot be executed at a single scan. In case of the motion program, a motion management
                     function in the system carries out an execution control exclusive for the motion programs.
         IMPORTANT             When registering a motion program to M-EXECUTOR, pay attention to the followings:
                                • Multiple motion programs with the same number cannot be registered.
                                • Multiple motion programs with the same number cannot be referenced using an indirect designation.
4-4
                                                                                   4.3 Running a Motion Program
MPM number
Motion Programs
                                                                                                                  4-5
      4 Motion Programs
      4.3.3 Work Registers
             (1) For a Motion Program Called from the Ladder Program Using an MSEE Command
                 Four words of the register (MA or DA) that are specified for Data of the MSEE command are
                 used as the work register.
                                                                                         Register No.
                                                                  Work Register         in the Example         Contents                     I/O
                                                                     1st word            DW00000         Status flag                       Output
                                                                     2nd word            DW00001         Control signal                     Input
                                                                     3rd word            DW00002         Override for interpolation         Input
                                                                     4th word            DW00003         System work number                 Input
                                                                       Work Registers
                                                                      㧔M-EXECUTORޓޓޓޓ       Register No.               Contents                   I/O
                                                                     ޓޓControl Registers) in the Example
                                                                           Status               IW0C00        Status flag                     Output
                                                                       Control signal          OW0C01         Control signal                  Input
                                                                           Override            OW0C02         Override for interpolation      Input
The details of the work registers are described from the next page.
4-6
                                                                                            4.3 Running a Motion Program
                                                                                                                               Motion Programs
         Bit C   Program type               0: Motion program
                                            1: Sequence program
                                          This bit turns ON when the Program Operation Start Request is ON.
                 Start request signal
         Bit D                              0: Program Operation Start Request OFF
                 history
                                            1: Program Operation Start Request ON
                                          This bit turns ON when the system work required to execute the motion pro-
C to F                                    gram is not assigned, or when an MSEE command is embedded in a drawing
                 No system work error
         Bit E                            other than the H drawing.
                 Scanning error
                                            0: No system work error is not occurring.
                                            1: No system work error is occurring.
                                          This bit turns ON when the specified motion program number is outside the
                                          range.
                 Main program number
         Bit F                            Motion program number range: 1 to 256
                 exceeded error
                                            0: Within the range
                                            1: Outside the range
                                                                                                                               4-7
      4 Motion Programs
      4.3.3 Work Registers
4-8
                                                                                     4.3 Running a Motion Program
Note: 1. When using the M-EXECUTOR, the system work number cannot be set. A system work number that is
         same as the definition number is used.
      2. Do not specify the system work number for the M-EXECUTOR by the MSEE command when using both
         the MSEE command and the M-EXECUTER. Doing so will cause a no system work error.
         System work number for the M-EXECUTOR: 0 to the number set in Program definition number.
Motion Programs
                                                                                                                    4-9
       4 Motion Programs
       4.3.3 Work Registers
                                  Control signal:
                                   Operation start request
                                          Status: Operating
Distribution
Pause Request
                                   Control signal:
                                    Operation start request
                              Control signal: Pause request
Status: Paused
Distribution
Stop Request
                                 Control signal:
                                  Operation start request
                              Control signal: Stop request
Status: Operating
                                          Status: Stopped
                                                                         One scan
                                             Status: Alarm
                                                                                              One scan
                       Distribution
                       (Interpolation related commands)
                         Distribution
                         (Positioning related commands)
          IMPORTANT                • Turning ON the Stop Request while the axis is being moved by a motion command will cause an alarm.
                                   • Turning ON the Stop Request while the axis is being moved by an interpolation related command will
                                     immediately stop the axis.
                                     Use the Pause Request to decelerate the axis to a stop.
                                   • During execution of the Zero Point Return (ZRN) command, Pause Requests will not be accepted.
                                     Use the Stop Request to stop the zero point return operation.
                  A program example for motion program control is given in B.1 Programs for Controlling Motion Program Exe-
                  cution.
4-10
                                                                                                 4.4 Advanced Programming
MPM003
                                                                                          MOV[X] _ [Y] _
            Store 3 in the
            register                                                                      MVS[X] _ [Y] _ F
            MW00200.
                                                                                          IOW MB0001
            MW00200 = 3
                                                                                          MOV[X] _ [Y] _
                                                                                                     .
                                                                                                     .
                                                 Register number                                     .
                                      Ladder program                                         Motion program
    (2) For a Motion Program Registered in the M-EXECUTOR Program Execution Definition
       Select Indirect under Setting. The register to be used for indirect designation will be assigned automatically by
       the system.
MPM003
                                                                                                                             Motion Programs
                                                                                                    ABS;
MOV[X] _ [Y] _
                                                                                                    MVS[X] _ [Y] _ F
       Stores 3 in the
       register
       OW0C00                                                                                       IOW MB0001
                                                                                                                            4-11
       4 Motion Programs
       4.4.2 Controlling the Motion Program Directly from an External Device
                                                                                                                                     Execution control by
                                                                                                                                 motion management function
                                                                                                      Program number                       MPM001
                                                                                                            Status
                                                                                     Allocated                                       VEL [a1] 5000 [b1]..
                                                                                                        Control signal               FMX T10000000;
                                                                                     interlock      Override for interpolation       IAC T25;
                         External devices               Allocated registers          contacts
                                                     Signals from external device                                                    IDC T30;
                         Host PLC
                                                                                                                                     MOV [a1] 300. [b1]..
                         Touch panel                   Program number                                References the                MVS [a1] 200. [b1]..
                         Switch                        Program operation start                       M-EXECUTOR                              .
                                                                                                       control registers                       .
                         LED, etc                      Program pause
                                                                                                                                               .
                                                        Program stop, etc.                                                                    .
                                                                                    Data will be                                     END
                                                                                    exchanged
                                                                                    in high-speed                                      Motion program
                                                                                    scan cycle.
                    The allocated interlock contact is used as an interlock for motion program execution. Always allocate an inter-
        INFO         lock contact in Allocation Contact interlock when allocating a register in Allocation register.
                      The following processes are executed according to the ON/OFF status of the allocated interlock contact.
                       • When the allocated interlock contact is ON, the allocated register exchanges data with the M-EXECUTOR control reg-
                         ister in a high-speed scan cycle, and motion program execution is enabled during the data exchange.
                       • When the allocated interlock contact is OFF, the allocated register does not exchange data with the M-EXECUTOR
                         control register, and motion program execution is disabled.
                       • When the Allocation Contact interlock is changed from ON to OFF while the motion program is running, the motion
                         program will stop running and the axes will stop moving. At this moment, the motion program alarm “1Bh: Emergency
                         Stop Command in Execution” will occur, and bit 8 (Program alarm occurring) of the status flag will turn ON.
                      Use the following procedure to restart the motion program.
                         1. Set the interlock contact from OFF to ON.
                         2. Set bit 5 (Program reset and alarm reset request) of the control signal to ON.
                         3. Confirm that bit 8 (Program alarm) of the status flag turns OFF.
                         4. Set bit 5 (Program reset and alarm reset request) of the control signal to OFF.
                         5. Set bit 0 (Program operation start request) of the control signal to ON.
4-12
                                                                                            4.4 Advanced Programming
      (b) The motion program control signal “Bit D, System Work Number Setting” = OFF
         The used system work is automatically decided by system. Thus, to check which work is used, refer to “Run-
         ning Program Number” (= SW03200 to SW03215). For example, when you want to monitor the motion pro-
         gram MPM001 and SW03202 = 1, as used the work number = 3, the execution information for the motion
         program MPM001 can be monitored in “Program Information Using Work 3” (= SW03380 to SW03437).
      For more information on the register area of the motion program execution information, refer to the subsequent
      pages.
Motion Programs
                                                                                                                       4-13
       4 Motion Programs
       4.4.3 Monitor the Motion Program Execution Information Using S Register
4-14
                                                                                                        4.4 Advanced Programming
                   +8
                                     Parallel 2 information         3W
                   +11                                              3W
                                     Parallel 3 information
                   +14
                                     Parallel 4 information         3W
                   +17
                                     Parallel 5 information         3W
                   +20
                                     Parallel 6 information         3W
                   +23
                                     Parallel 7 information         3W
                   +26
                         Logical axis #1 program current position   2W
                   +28   Logical axis #2 program current position   2W
                   +30
                         Logical axis #3 program current position   2W
                   +32
                         Logical axis #4 program current position   2W
                   +34
                         Logical axis #5 program current position   2W
                   +36   Logical axis #6 program current position   2W
                   +38   Logical axis #7 program current position   2W
                   +40   Logical axis #8 program current position   2W
                   +42   Logical axis #9 program current position   2W
                   +44
                         Logical axis #10 program current position 2W
                   +46
                         Logical axis #11 program current position 2W
                                                                                                                                    Motion Programs
                   +48
                         Logical axis #12 program current position 2W
                   +50
                         Logical axis #13 program current position 2W
                   +52
                         Logical axis #14 program current position 2W
                   +54
                         Logical axis #15 program current position 2W
                   +56
                         Logical axis #16 program current position 2W
INFO For a list of S registers, refer (2) Using S Register in 10.2.3 Confirming the Alarm Code.
                                                                                                                                   4-15
                                                                                                                            5
                                                                       Sequence Programs
This chapter describes sequence program types and how to run them.
Sequence Programs
                                                                                                                                      5-1
      5 Sequence Programs
       INFO      The program numbers of sequence programs are managed in the same manner as the motion program num-
                  bers. Assign a different number for each program number.
                    • Motion program MPM: Program number of MPS
                    • Sequence program SPM: Program number of SPS
5-2
                                                                                     5.2 How to Run a Sequence Program
                                                                               IF MW000<32767;
                                                                               MW000=MW000+1;
                                                                               ELSE;
                                                                               MW000;
                                                                               IEND;
SPM002
END
                                                                                                   Sequence subprogram
                                                                                 SPM003
                                                                                                         SPS101
                                                                               SSEE
                                                                               SPS101
END RET
      When the execution type is set to Sequence Program (H scan) or Sequence Program (L scan), the program is
      executed at the time the definition is saved. When the execution type is set to Sequence Program (Start), the
      program is executed when the power supply is turned ON again next time.
      An operation example of running a sequence program is shown below.
Sequence Programs
                                                                                                                         5-3
      5 Sequence Programs
      5.2.2 Registering Program Execution
High-speed scan SPM003 MPM004 SPM005 DWG.H SPM003 MPM004 SPM005 DWG.H
INFO Only the direct designation is available for sequence programs. The indirect designation cannot be used.
5-4
                                                                                            5.2 How to Run a Sequence Program
                                                                                                                                Sequence Programs
                                           • The called program is not registered.
                   Program alarm is        • The called program is not a sequence program.
           Bit 8
                   occurring               • The called program is not a subprogram. (The main program is called.)
                                           • The called program number exceeded the set range.
  8 to B                                   • Over nested
                                            0: No program alarm (Normal), 1: Program alarm occurring
                   Stopping at            This bit is ON when the program is stopped at a break point during debugging.
           Bit 9
                   break point              0: Not stopped at break point, 1: Stopped at break point
           Bit A (Reserved)               −
                                          This bit is ON while the program is running in debug mode.
           Bit B In debug mode
                                            0: Normal operation mode, 1: Debug mode
                                          Reports the running program type: Motion program or sequence program
           Bit C Program type
                                            0: Motion program, 1: Sequence program
                                          This bit is ON while the sequence program is running.
  C to F Bit D Start request history
                                            0: Sequence program stopped, 1: Sequence program running
           Bit E (Reserved)               −
           Bit F (Reserved)               −
                                                                                                                                5-5
                                                                                                                           6
                                                                     Variables (Registers)
      This chapter describes the details of variables that can be used in both motion programs and
      sequence programs.
Variables (Registers)
                                                                                                                                     6-1
      6 Variables (Registers)
      6.1.1 Variable Types
      6.1 Overview
                  This section summarizes the variables used in motion programs.
                                                                                                                                  Character-
           Type          Name           Designation Method           Range                        Description
                                                                                                                                    istic
                                                                                   Registers that can be referenced by the sys-
                                                                  SW00000          tem.
             S    System Registers     SB,SW,SL,SFnnnnn
                                                                  to SW08191       Register number nnnn is a decimal expres-
                                                                                   sion.
                                                                                   Registers common to all programs.
                                                                  MW00000          Used as interfaces between programs.
            M     Data Registers       MB,MW,ML,MFnnnnn
                                                                  to MW65534       Register number nnnn is a decimal expres-
                                                                                   sion.
                                                                                   Registers used for input data.
                                                                                   Register number hhhh is a hexadecimal
                                                                  IW0000
             I    Input Registers      IB,IW,IL,IFhhhh                             expression.                                    Common to
                                                                  to IW7FFF
                                                                                   The register numbers 8000 and onward are        programs
                                                                                   used as motion monitoring parameters.
                                                                                   Registers used for output data.
                                                                                   Register number hhhh is a hexadecimal
                                                                  OW0000
            O     Output Registers     OB,OW,OL,OFhhhh                             expression.
                                                                  to OW7FFF
                                                                                   The register numbers 8000 and onward are
                                                                                   used as motion setting parameters.
                                                                                   Registers that can be referenced only by a
                  Constant                                        CW00000          program.
             C                         CB,CW,CL,CFnnnnn
                  Registers                                       to CW16383       Register number nnnn is a decimal expres-
                                                                                   sion.
                                                                                   Internal registers unique to each program.
                                                                                   Can only be used by the corresponding pro-
                                                                                   gram.
                                                                  DW00000                                                      Unique to a
             D    D Registers          DB,DW,DL,DFnnnnn                            The actual range to be used is specified by
                                                                  to DW16383                                                    program
                                                                                   the user on the MPE720.
                                                                                   Register number nnnn is a decimal expres-
                                                                                   sion.
        IMPORTANT               The # registers cannot be used in motion programs or sequence programs. If a # register is used in a motion
                                program or sequence program, a syntax error will occur when saving the program.
6-2
                                                                                                                               6.1 Overview
            [ MW00102 ]
                                                                                                      [ ML00102 ]
                                                                                                      [ MF00102 ]
            [ MW00103 ]
            One word for each                     One digit to indicate bit A is           One word for the next register number is
            register number                       added to the register number             included in the coded register number 00102.
                                                  00103.                                   Therefore, the register number is increased by two.
Variables (Registers)
                                                                                                                                                 6-3
      6 Variables (Registers)
      6.1.2 Global Variables and Local Variables
Global variables
                                8192 words           65535 words                 32768 words                32768 words                 16384 words
                                                                                    +                           +
                                                                                 Monitoring                   Setting
                                                                                 parameters                 parameters
                                                            Subprogram                                                          Subprogram
                                                             (MPS002)                                                            (SPS004)
6-4
                                                                                                            6.1 Overview
       The number of local variables (D registers) to be used in each program can be specified in the Program Prop-
       erty window or Motion Program Configuration Definition window. Up to 16384 words can be used for one
       drawing.
                                                                                  Program Property window
Right-click
Click
Variables (Registers)
                                                                                                                           6-5
      6 Variables (Registers)
      6.1.2 Global Variables and Local Variables
6-6
                                                                                                                6.2 Using Variables
    (2) Description
       S registers are designated as follows:
          SB000000 to SB08191F
          SW00000 to SW08191
          SL00000 to SL08190
          SF00000 to SF08190
       The variable number is expressed as a decimal. When bits are specified, the bit number is expressed in hexadeci-
       mal.
            • Integer Designation
                 MW00100 = SW00041;
 IMPORTANT          The system registers (S) are used exclusively for reading. If they are written to, system operations cannot be
                    guaranteed.
Variables (Registers)
                                                                                                                                      6-7
      6 Variables (Registers)
      6.2.2 Data Variables (M Registers)
             (2) Description
                  M registers are designated as follows:
                     MB000000 to MB65534F
                     MW00000 to MW65534
                     ML00000 to ML65533
                     MF00000 to MF65533
                  The M register can be used as a variable for each type of operation and substituted for the operation result, or
                  specified as the variable for the positioning coordinate value or the speed. The variable number is expressed as a
                  decimal.
                       • Integer Designation
                           MW00101=(MW00101 | MW00102) & FF0CH;
         IMPORTANT               When the travel distance coordinate values or speed is designated as a variable in the following motion com-
                                 mands, double integer data must be used.
                                 MOV, MVS, MCW/MCC, ZRN, SKP, MVT, EXM, POS, ACC, SCC, IAC, IDC, IFP, FMX, INP, VEL
6-8
                                                                                                                                    6.2 Using Variables
   (2) Description
      I registers are designated as follows:
         IW0000 to IW7FFF: Input data
         IW8000 to IWFFFF: Motion monitoring parameters
                                                                                                                                           MP2500MD
                                                                                                                     MP2500(D)
                                                             MP2100M
                                                                                                                                 MP2500M
                                                                                         MP2300S
          Motion Module         Controlled by One
                                                    MP2100
MP2200
MP2300
MP2310
                                                                                                            MP2400
                                     Module
       MP2000 Series
                                    16 max. *1        1        1         −        1        1         1        1         1          1         1
       Built-in SVB
       MP2100M/MP2500M
                                    16 max. *1        −        1         −        −        −         −        −         −          1         1
       SVB-01
       Optional Module
                                    16 max. *1
       SVB-01
       Optional Module                                       14                                                                             14
                                                                       16
                                         2            −       *2                  2        1         3        −         −          −        *2
       SVA-01                                                 *3
                                                                        *3
                                                                                                                                            *3
       Optional Module
                                         4
       PO-01
      * 1. The number of axes controlled by one built-in SVB or SVB-01 depends on the MECHATROLINK definitions.
                                                                                                                                                          Variables (Registers)
      * 2. With MP2100M and MP2500MD, an expansion rack is required to use optional modules (SVB-01, SVA-01,
           and PO-01).
      * 3. The maximum number of optional modules (SVB-01, SVA-01, and PO-01) that can be mounted on MP2100M,
           MP2200, or MP2500MD with an expansion rack.
                                                                                                                                                          6-9
       6 Variables (Registers)
       6.2.3 Input Variables (I Registers)
              Axis No.
                                  Axis 1           Axis 2           Axis 3            Axis 4            Axis 5         ••         Axis 16
             Circuit No.
                 1           8000 to 807F     8080 to 80FF      8100 to 817F     8180 to 81FF      8200 to 827F        ••     8780 to 87FF
                   2         8800 to 887F     8880 to 88FF      8900 to 897F     8980 to 89FF      8A00 to 8A7F        ••     8F80 to 8FFF
                   3         9000 to 907F     9080 to 90FF      9100 to 917F     9180 to 91FF      9200 to 9A7F        ••     9780 to 97FF
                   4         9800 to 987F     9880 to 98FF      9900 to 997F     9980 to 99FF      9A00 to 997F        ••     9F80 to 9FFF
                   5         A000 to A07F     A080 to A0FF      A100 to A17F     A180 to A1FF      A200 to A27F        ••     A780 to A7FF
                   6         A800 to A87F     A880 to A8FF      A800 to A87F     A980 to A9FF      AA00 to AA7F        ••     AF80 to AFFF
                   7         B000 to B07F     B080 to B0FF      B100 to B17F     B180 to B1FF      B200 to B27F        ••     B780 to B7FF
                   8         B800 to B87F     B880 to B8FF      B900 to B97F     B980 to B9FF      BA00 to BA7F        ••     BF80 to BFFF
                   9         C000 to C07F     C080 to C0FF      C100 to C17F     C180 to C1FF      C200 to C27F        ••     C780 to C7FF
                  10         C800 to C87F     C880 to C8FF      C900 to C97F     C980 to C9FF      CA00 to CA7F        ••     CF80 to CFFF
                  11         D000 to D07F     D080 to D0FF      D100 to D17F     D180 to D1FF      D200 to D27F        ••     D780 to D7FF
                  12         D800 to D87F     D880 to D8FF      D900 to D97F     D980 to D9FF      DA00 to DA7F        ••     DF80 to DFFF
                  13         E000 to E07F     E080 to E0FF      E100 to E17F     E180 to E1FF      E200 to E27F        ••     E780 to E7FF
                  14         E800 to E87F     E880 to E8FF      E900 to E97F     E980 to E9FF      EA00 to A97F        ••     EF80 to EFFF
                  15         F000 to F07F     F080 to F0FF      F100 to F17F     F180 to F1FF      F200 to F27F        ••     F780 to EFFF
                  16        F800 to F87F   F880 to F8FF         F900 to F97F     F980 to F9FF      F900 to F97F        ••     FF80 to FFFF
                                 ↑
                            Module number offset
         INFO          The register numbers for each axis of the motion monitor parameters can be obtained by the following equation.
                         The register start number of the motion monitor parameter = IW8000 + (Circuit No. -1) × 800h + (Axis No. -1)
                         × 80h
                             • Integer Designation
                                 MW0100 = IW8008;
6-10
                                                                                                                                    6.2 Using Variables
   (2) Description
      O registers are designated as follows:
         OW0000 to OW7FFF: Output data
         OW8000 to OWFFFF: Motion setting parameter
                                                                                                                                           MP2500MD
                                                                                                                     MP2500(D)
                                                             MP2100M
                                                                                                                                 MP2500M
                                                                                         MP2300S
          Motion Module        Controlled by One
                                                    MP2100
MP2200
MP2300
MP2310
                                                                                                            MP2400
                                    Module
       MP2000 Series
                                   16 max. *1         1        1         −        1        1         1        1         1          1         1
       Built-in SVB
       MP2100M/MP2500M
                                   16 max. *1         −        1         −        −        −         −        −         −          1         1
       SVB-01
       Optional Module
                                   16 max. *1
       SVB-01
                                                             14                                                                             14
       Optional Module                                                 16                                                                    *2
                                        2             −       *2                  2        1         3        −         −          −
       SVA-01                                                 *3
                                                                        *3
                                                                                                                                             *3
       Optional Module
                                        4
       PO-01
      * 1. The number of axes controlled by one built-in SVB or SVB-01 depends on the MECHATROLINK definitions.
      * 2. With MP2100M and MP2500MD, an expansion rack is required to use optional modules (SVB-01, SVA-01,
                                                                                                                                                           Variables (Registers)
           and PO-01).
      * 3. The maximum number of optional modules (SVB-01, SVA-01, and PO-01) that can be mounted on MP2100M,
           MP2200, or MP2500MD with an expansion rack.
                                                                                                                                                          6-11
       6 Variables (Registers)
       6.2.4 Output Variables (O Registers)
              Axis No.
                                  Axis 1          Axis 2           Axis 3            Axis 4             Axis 5         ••          Axis 16
             Circuit No.
                 1          8000 to 807F      8080 to 80FF      8100 to 817F     8180 to 81FF      8200 to 827F        ••     8780 to 87FF
                  2         8800 to 887F      8880 to 88FF      8900 to 897F     8980 to 89FF      8A00 to 8A7F        ••     8F80 to 8FFF
                  3         9000 to 907F      9080 to 90FF      9100 to 917F     9180 to 91FF      9200 to 9A7F        ••     9780 to 97FF
                  4         9800 to 987F      9880 to 98FF      9900 to 997F     9980 to 99FF      9A00 to 997F        ••     9F80 to 9FFF
                  5         A000 to A07F      A080 to A0FF      A100 to A17F     A180 to A1FF      A200 to A27F        ••     A780 to A7FF
                  6         A800 to A87F      A880 to A8FF      A800 to A87F     A980 to A9FF      AA00 to AA7F        ••     AF80 to AFFF
                  7         B000 to B07F      B080 to B0FF      B100 to B17F     B180 to B1FF      B200 to B27F        ••     B780 to B7FF
                  8         B800 to B87F      B880 to B8FF      B900 to B97F     B980 to B9FF      BA00 to BA7F        ••     BF80 to BFFF
                  9         C000 to C07F      C080 to C0FF      C100 to C17F     C180 to C1FF      C200 to C27F        ••     C780 to C7FF
                 10         C800 to C87F      C880 to C8FF      C900 to C97F     C980 to C9FF      CA00 to CA7F        ••     CF80 to CFFF
                 11         D000 to D07F      D080 to D0FF      D100 to D17F     D180 to D1FF      D200 to D27F        ••     D780 to D7FF
                 12         D800 to D87F      D880 to D8FF      D900 to D97F     D980 to D9FF      DA00 to DA7F        ••     DF80 to DFFF
                 13         E000 to E07F      E080 to E0FF      E100 to E17F     E180 to E1FF      E200 to E27F        ••     E780 to E7FF
                 14         E800 to E87F      E880 to E8FF      E900 to E97F     E980 to E9FF      EA00 to A97F        ••     EF80 to EFFF
                 15         F000 to F07F      F080 to F0FF      F100 to F17F     F180 to F1FF      F200 to F27F        ••     F780 to EFFF
                 16        F800 to F87F   F880 to F8FF          F900 to F97F     F980 to F9FF      F900 to F97F        ••     FF80 to FFFF
                               ↑
                           Module number offset
        INFO          The register numbers for each axis of motion setting parameters can be obtained by the following equation.
                        The register start number of the motion setting parameter
                        = OW8000 + (Circuit No. -1) × 800h + (Axis No. -1) × 80h
                        • Integer Designation
                                 OW8008=MW00100;
6-12
                                                                                                6.2 Using Variables
   (2) Description
      C registers are designated as follows:
         CW00000 to CW16383
           • Integer Designation
                MW00100=CW00100;
Variables (Registers)
                                                                                                                      6-13
       6 Variables (Registers)
       6.2.6 D Variables (D Registers)
              (2) Description
                   D registers are designated as follows:
                       DW00000 to DW16383 (Maximum)
                   The D register can be used as a variable for each type of operation and substituted for the operation result, or
                   specified as the variable for the positioning coordinate value or the speed. The variable number is expressed as a
                   decimal.
                   The size is specified in the program configuration definition (Motion Properties), and the default is 32words max.
                            • Integer Designation
                                 DW00102= (CW00103 | DW00104) & DW00105;
                                   When the travel distance coordinate value or speed is designated as a variable in the following motion com-
         IMPORTANT
                                   mands, double integer data must be used.
                                   MOV, MVS, MCW/MCC, ZRN, SKP, MVT, EXM, POS, ACC, DCC, SCC, IAC, IDC, IFP, FMX, INP, VEL
6-14
                                                                                                     6.3 How to Use Subscripts i, j
 EXAMPLE
                      :                                               The left program uses a subscript j and calculates the
                      :                                               total amount of 50 registers from ML00100 to
                   ML00200 = 0 ;                                      ML00198, and stores the total amount in ML00200.
                   J=0;
                   WHILE J < 100 ;
                      ML00200 = ML00200 + ML00100j ;
                      J=J+2;
                   WEND ;
                      :
                    :
                                                                                                                                       6-15
       6 Variables (Registers)
INFO • The following versions of system software and programming tool MPE720 are required to use subscripts i and j.
                                  MP2000 Series
                                                              Required Version                   MPE720           Required Version
                                 Machine Controller
                                                                                            MPE720 Ver.5    Ver.5.41 or later
                                     All models                Ver.2.63 or later                            Ver.6.06 or later
                                                                                            MPE720 Ver.6
                                                                                                            Ver.6.06 Lite or later
• Both upper and lower case letters can be used for subscripts i and j.
                                  i = 0;
                                  I = 0;
                                  DW00000 = MW00000i ;
                                  DW00000 = MW00000I ;
6-16
                                                                                                                           7
                                                                                           Programming
This chapter describes the rules for creating motion programs and sequence programs.
                                                                                                                                     7-1
      7 Programming
      7.1.1 Motion Program Structure
Program body
7-2
                                                                                             7.1 Motion Program Format
 (1) Label
    A label consists of a character string containing from one to eight alphanumeric characters or symbols, a colon
    [:], and a space or TAB.
    A label is required when using a Parallel Fork command (PFORK) or Selective Fork command (SFORK) com-
    mand. If a PFORK or SFORK command is not used, the label description is not required.
EXAMPLE
          Label Coding Example
                                                             Numbers          0 to 9
                          (A character string
                          containing from one
                          to eight characters)
                                                                                                                         7-3
      7 Programming
      7.1.2 Block Format
                                ML00000 = 1000;
                                MVS [A1]ML00000;         → 1.000 mm
       INFO         The coordinate word unit depends on the command and motion module settings. Refer to 7.2.2 Reference Unit for informa-
                    tion on the coordinate word unit.
7-4
                                                                                                     7.1 Motion Program Format
             feed speed        IFP P50;                                             8.1.8 Interpolation Feed Speed Ratio Set-
   P
             specified by      IFP PML00000;                                        ting (IFP)
             percentage
             Skip signal       SKP [A1]1000 [B1]2000 F3000000 SS1;                  8.2.8 Linear Interpolation with Skip Func-
   SS
             selection         SKP [A1]1000 [B1]2000 F3000000 SS2;                  tion (SKP)
             Movement
             amount for        EXM [A1]1000 D1000;
   D                                                                                8.2.10 External Positioning (EXM)
             external          EXM [A1]1000 DML00000;
             positioning
             Number of         SFR MB001000 N5 W10;                                 8.8.1 Bit Right Shift (SFR)
   N
             shifts            SFR MB001000 NMW00000 W10;                           8.8.2 Bit Left Shift (SFL)
                                                                                   8.8.1 Bit Right Shift (SFR)
                               BLK MW00100 DW00100 W10;                            8.8.2 Bit Left Shift (SFL)
   W         Bit width
                               BLK MW00100 DW00100 WMW00000;                       8.8.3 Block Move (BLK)
                                                                                   8.8.4 Clear (CLR)
                                                                                                                                 7-5
      7 Programming
      7.1.2 Block Format
                                                                       Line Feed
                            MOV [A1]1000;            ̌Moves Axis A1”
                                           Block end code
                                                                       Line Feed
                             MOV [A1]1000             ̌Moves Axis A1̍
                                 [B1]2000             ̌Moves Axis B1̍
                                 [C1]3000;            ̌Moves Axis C1̍
                                           Block end code
            (7) Comments
                   Either of the following two formats can be used.
                    • Code a Character String Enclosed in Double Quotation Marks
                           A character string enclosed in double quotation marks is interpret as a comment.
“ Character string ”
Line Feed
“ Character string
7-6
                                                                                                          7.1 Motion Program Format
INFO      • The − (minus) sign cannot be omitted, but the + (plus) sign can.
                  [A1]+123      ⇒     [A1]123
                  [A1]-123      ⇒     [A1]-123
          • A decimal integer value is multiplied by 1000 by adding K to the value. For a value such as position reference, adding a K
            in place of three zeros makes it easy to read.
                   [A1]123k      ⇒     [A1]123000
                   [A1]123K      ⇒      [A1]123000
   (2) Variables
       The variables that can be used in motion programs are listed below.
                                                                                 Data Type
          Classification       Variable Type
                                                        Bit               Word           Long       Floating point
                                  S register            SB                SW              SL              SF
                                  M register            MB                MW              ML             MF
         Global Variables         I register            IB                 IW             IL              IF
                                  O register            OB                OW              OL             OF
                                  C register            CB                CW              CL              CF
         Local Variables          D register            DB                DW              DL             DF
 EXAMPLE
       A variable coding example is shown below.
          M B 12345 F
                                                                                                                                         Programming
                                                                                                                                         7-7
      7 Programming
      7.1.3 Using Constants and Variables
7-8
                                                                                                         7.2 Motion Module Parameters
* When “pulse” is selected, the motion fixed parameter 5 (number of digits below decimal point) is invalid.
                                                                                                                                         7-9
       7 Programming
       7.2.3 Electronic Gear
        INFO          The range of reference positions for an axis move command are as follows:
                               Motion Fixed                 Motion Fixed Parameter 4: Reference Unit Selection
                           Parameter 5: Num-
                           ber of Digits below                   0: pulse                      1: mm, 2: deg, 3: inch, 4μm
                              Decimal Point
                           0: 0 digit               -2147483648 to 2147483647               -2147483648 to 2147483647
                           1: 1 digit               -2147483648 to 2147483647               -214748364.8 to 214748364.7
                           2: 2 digits              -2147483648 to 2147483647               -21474836.48 to 21474836.47
                           3: 3 digits              -2147483648 to 2147483647               -2147483.648 to 2147483.647
                           4: 4 digits              -2147483648 to 2147483647               -214748.3648 to 214748.3647
                           5: 5 digits              -2147483648 to 2147483647               -21474.83648 to 21474.83647
Workpiece
Ball screw
                                                                                        P (pitch) = 6 mm/rotation
                                                                             n = 5 rotations
                   To move the workpiece 0.001 mm for 1 reference unit input under the conditions outlined above, i.e., 1 reference
                   unit = 1 output unit, set the fixed parameters 6, 8, and 9 as follows:
                        • Fixed Parameter 6: Travel Distance per Machine Rotation = 6 mm/0.001 mm = 6000 (reference units)
                        • Fixed Parameter 8: Servo Motor Gear Ratio = m = 7
                        • Fixed Parameter 9: Machine Gear Ratio = n = 5
                           Note: Set the SERVOPACK gear ratio to 1:1.
7-10
                                                                                                 7.2 Motion Module Parameters
n = 10 rotations
m = 30 rotations
Motor
   To rotate the table 0.1° for 1 reference unit input under the conditions outlined above, i.e., 1 reference unit = 1
   output unit, set the fixed parameters 6, 8, and 9 as follows:
        • Fixed Parameter 6: Travel Distance per Machine Rotation = 360×/0.1× = 3600 (reference units)
        • Fixed Parameter 8: Servo Motor Gear Ratio = m = 30
        • Fixed Parameter 9: Machine Gear Ratio = n = 10
          Note: 1. The gear ratio for fixed parameters 8 and 9 (m/n) may be constant, e.g., m = 3 and n = 1.
                2. Set the SERVOPACK gear ratio to 1:1.
Programming
                                                                                                                                7-11
       7 Programming
       7.2.4 Speed Reference
7-12
                                                                                      7.3 Group Definition
1 2 3
4 5 6
       1   No. of Group
             Set a number for operation as a group.
             Set it to 1 for operation as one group.
             Set it to the number of groups for operation with multiple groups.
       2   Group Name
             Define a group name.
       4   Circuit
             Set a line number for the motion module used.
                                                                                                              Programming
Line number
                                                                                                             7-13
       7 Programming
                   5   Axis No.
                         Set an axis number for the axis used.
                         The axis number can be checked in the detailed screen of the used motion module.
Axis number
Double-click
7-14
                                                                                                         7.4 Priority Levels of Operations
High Low
                                                        Priority Level
                Operator
                                          1             2           3              4
              Parentheses                 ()
                 NOT                                    !
                 AND                                                 &
                  OR                                                               |
                 XOR                                                               ^
                                                                                   +
                                                                                   -
           Arithmetic operation
                                                                                   *
                                                                                   /
• Operation example
                           
                        MW00100 = 1 + 2;
                           
                        MW00100 = 1 + (2 ∗ 3);
                       With this operation, 2 * 3 is calculated first, and 1 is added to the result of 6. The final result of 7 is then
                       stored in MW00100.
                       Therefore, MW00100 = 7
                                                                                                                                              Programming
MW00100 = 1 + 2 ∗ 3;
          1 + 2 is calculated first according to the priority level shown above, and then the result of 3 is multiplied by 3. The final
          result of 9 is then stored in MW00100. Therefore, MW00100 = 9.
                                                                                                                                             7-15
       7 Programming
• Operation example
                                    
                                 MW00100 = 0001H | 0002H;
With this operation, OR operation of 0001H and 0002H are executed, and the result is stored in MW00100.
                                    
                                 MW00100 = (1111H | 2222H) & 00FFH;
                                With this operation, OR operation of 1111H and 2222H are executed first, and the AND operation of the OR
                                result and 00FFH is calculated. The AND result is then stored in MW00100.
                                Therefore, MW00100 = 0033H
                          With this operation, the AND operation of 2222H and 00FFH is executed first. Then, the OR operation of the AND
                          result and 1111H is executed. The OR result is then stored in MW00100.
                          Therefore, MW00100 = 1133H
7-16
                                                                                        7.5 Commands and Execution Scans
       • M Type Commands
         M type commands, including axis move commands, are executed in more than one scan.
         One scan is required to switch from the S type command to the M type command.
       • T Type Commands
         T type commands, including timer related commands, are executed in more than one scan.
The following diagram shows the number of scans required to execute each command type.
                         S type command
                         S type command          Executed in one scan
                         S type command
                                                  Waits for one scan
                         M type command
                                                 Executed in more
                         M type command          than one scan
T type command
                                                 Executed in more
                                                 than one scan
END;
                                                                                                                           7-17
       7 Programming
       7.5.2 List of Command Types
7-18
                                                                                     7.6 Sequence Program Format
Programming
                                                                                                                   7-19
                                                                                                                              8
                                                                    Command Reference
                                                                                                                                     8-1
      8 Command Reference
8-2
                                                                                                      8.1 Axis Setting Commands
                                                            CAUTION
         • The movement of a coordinate word designated in ABS mode is entirely different from that of the same coor-
           dinate word designated in INC mode. Before starting operations, be sure to check that the ABS or INC com-
           mand is specified correctly.
           Failure to carry out this check may result in damage to equipment, serious personal injury, or even death.
   (1) Overview
        The Absolute Mode (ABS) command causes the coordinate words that control axis movement to be treated as a
        target position.
        Once ABS mode has been executed, it remains in effect until Incremental Mode (INC) is next executed. ABS
        mode is the default mode when the program operation is started.
                               ABS;
                               MOV [Logical axis 2? Reference position 1 [Logical axis 2] Reference position 2;
                               Program
                               current position
                                                                               Logical axis 1
                                                  Reference position 1
        In this manual, the coordinate word that follows the logical axis name for the axis move command is expressed as
                                                                                                                                  Command Reference
                                                                                                                                  8-3
      8 Command Reference
      8.1.1 Absolute Mode (ABS)
(2) Format
                     • To code an ABS command in the same block with an axis move command
                         ABS MOV [Logical axis name 1] ⎯ [Logical axis name 2] ⎯ ;
B1
                                                         (50000, 20000)
                   20000
                                                                              A1
                       0        10000                50000
                     • Note that the movement mode (ABS mode/INC mode) for axis move commands is totally different from the position
       INFO            reference type specified by the motion setting parameter OW09, bit 5.
                     • When executing a motion program, set bit 5 (position reference type) of motion setting parameter OW09 to 0
                       (incremental addition mode) regardless of the movement mode setting.
8-4
                                                                                                          8.1 Axis Setting Commands
          • Use bit 0 (Axis selection) of motion fixed parameter 1 (Function selection flag 1) to select a finite-length axis or
INFO        infinite-length axis.
            Select a finite-length axis or infinite-length axis according to the machine configuration. For details on how to set
            motion parameters, refer to the manual for the motion module to be used.
          • Use the motion fixed parameter 10 (Infinite length axis reset position) to set POSMAX.
          The motions of the finite-length axis and infinite-length axis in ABS mode are shown below.
          For the motions in INC mode, refer to 8.1.2 Incremental Mode (INC).
             ABS;
             MOV [A1]2000;
                                                        Current        Positioning
                                                        position       end position
                                                                                                     A1
                      -2000                    0          1000        2000                                                             Command Reference
             ABS;
             MOV [A1] - 2000;
                      Positioning                       Current
                      end position                      position
                                                                                                    A1
                      -2000                    0         1000        2000
                                                                                                                                       8-5
      8 Command Reference
      8.1.1 Absolute Mode (ABS)
                        ABS;
                        MOV [A1]2700;
                                            0
                                                    Current                                                      A1
                                                    position
                                                     450                                                              3600
                                                                                                                      (POSMAX)
                       Positioning
                       end position                                                                                   2700
                         2700                              900                   Positioning
                                                                                 end position
                                                                                                                      1800
                                                                                                                       900
                                                                                         Current position
                                                                                                                        0
                                          1800                        The axis moves in the positive direction
                                                                      for positioning to 2700.
                        ABS;
                        MOV [A1] - 2700;
                                            0
                                                    Current                                                       A1
                                                    position
                                                      450                                                              3600
                                                                                                                       (POSMAX)
                                                                         Positioning                                   2700
                         2700                              900           end position
                        Positioning                                                                                    1800
                        end position
                                                                                                                        900
                                                                                           Current position
                                                                                                                            0
                                          1800                       The axis moves in the negative direction
                                                                     for positioning to 2700.
                     • When the position reference value +0 is specified for an infinite-length axis in ABS mode, the axis moves in the nega-
       INFO
                       tive direction.
                       Specify the POSMAX value for the position reference value to move the axis in the positive direction.
                     • If the target position (the absolute value of the position reference value) exceeds the POSMAX value for an infinite-
                       length axis in ABS mode, an alarm will occur in the motion program.
8-6
                                                                                                       8.1 Axis Setting Commands
                                                               CAUTION
         • The movement of a coordinate word designated in ABS mode is entirely different from that of the same coor-
           dinate word designated in INC mode. Before starting operations, be sure to check that the ABS or INC com-
           mand is specified correctly.
           Failure to carry out this check may result in damage to equipment, serious personal injury, or even death.
   (1) Overview
        The Incremental Mode (INC) command causes the coordinate words that control axis movement to be treated as a relative
        movement amount.
        Once INC mode has been executed, it remains in effect until the next time the Absolute Mode (ABS) is executed.
        ABS mode is the default mode when the program operation starts.
                             INC;
                             MOV [Logical axis 1] Reference position 1 [Logical axis 2] Reference position 2;
Target position
                                   Reference
                                   position 2
                               Program
                               current position
                                                  Reference
                                                  position 1                     Logical axis 1
        In this manual, the coordinate word that follows the logical axis name for the axis move command is expressed as
        “reference position” or “position reference value.”
          The position on the work coordinate system when an axis is started moving by execution of an axis move command. And,
          the work coordinate system is the coordinate system used in motion programs.
          For information on the work coordinate system, refer to 8.3.1 Current Position Set (POS).
                                                                                                                                   8-7
      8 Command Reference
      8.1.2 Incremental Mode (INC)
(2) Format
                     • To code an INC command in the same block with an axis move command
                         INC MOV [Logical axis name 1 ] ⎯ | [Logical axis name 2 ] ⎯ ;
B1
10000
20000
30000
                        Program
                                         20000
                        current position
                                                                            A1
                           0
8-8
                                                                                                            8.1 Axis Setting Commands
          • Use bit 0 (Axis selection) of motion fixed parameter 1 (Function selection flag 1) to select a finite-length axis or
INFO        infinite-length axis.
            Select a finite-length axis or infinite-length axis according to the machine configuration. For details on how to set
            motion parameters, refer to the manual for the motion module to be used.
          • Use the motion fixed parameter 10 (Infinite length axis reset position) to set POSMAX.
          The motions of the finite-length axis and infinite-length axis in INC mode are shown below.
          For the motions in ABS mode, refer to 8.1.1 Absolute Mode (ABS).
              INC;
              MOV [A1]2000;
                                                         Current            Positioning
                                                         Position           end position
                                                                                                       A1
                       -2000                    0          1000        2000        3000
                                                                                                                                        Command Reference
              INC;
              MOV [A1] - 2000;
                              Positioning               Current
                              end position              Position
                                                                                                      A1
                                 -1000         0          1000        2000         3000
                                                                                                                                        8-9
       8 Command Reference
       8.1.2 Incremental Mode (INC)
                          INC;
                          MOV [A1]2700;
                                               0
                            Positioning                   Current                                                      A1
                            end position                  position
                              3150                          450                                                             3600
                                                                                                                            (POSMAX)
                                                                                       Positioning                          2700
                          2700                                   900                   end position
                                                                                                                            1800
                                                                                                                             900
                                                                                               Current position
                                                                                                                                 0
                                              1800
                          INC;
                          MOV [A1] - 2700;
                                               0
                                                          Current                                                       A1
                                                          position
                                                            450                                                                  3600
                                                                                                                                 (POSMAX)
                                                                                                                                 2700
                           2700                                  900
                                                                           Positioning                                           1800
                                                                           end position
                                                             1350                                                                900
                                                          Positioning                              Current position
                                                          end position                                                               0
                                              1800
                      • If the absolute value of the position reference value (coordinate word) exceeds the POSMAX value, the position refer-
        INFO
                        ence value (coordinate word) is used for the relative movement amount to move the axis in INC mode.
                            INC;
                            MOV [A1]6300;                "|6300|>3600(POSMAX)
                                                     0
                               Positioning                   Current                                                        A1
                               end position                  position
                                  3150                         450                                                                3600
                                                                                                                                 (POSMAX)
                                                                                            Positioning end position
                                                                                                                                  2700
                             2700                                    900
                                                                                                                                  1800
                                                                                                                                     900
                                                                                Current position
                                                                                                                                         0
                                                1800
8-10
                                                                                                8.1 Axis Setting Commands
   (1) Overview
       The Acceleration Time Change command (ACC) changes the acceleration time or acceleration rate of the axis
       for which one of the following axis move commands is executed.
           • Positioning (MOV)
           • Set Time Positioning (MVT)
           • External Positioning (EXM)
       The acceleration time for up to 16 axes can be changed at once. The acceleration time of any axis unspecified in
       the command block is not changed.
       The acceleration time changed by the ACC command remains until it is reset by the next ACC command.
                           Speed (V)
                                                                                              Time (t)
                                                     Before acceleration time change
Speed (V)
                                                                                              Time (t)
                                                     After acceleration time change
          • The Acceleration Time Change command (ACC) changes the acceleration time for positioning related commands
INFO
            MOV, EXM, and MVT. Use an IAC command to set the acceleration time for interpolation related commands, MVS,
            MCW, MCC, and SKP.
          • All motion modules, except the PO-01 module, support ACC, DCC, and SCC commands.
            Use of these commands with the PO-01 module requires the following combination of MP2000-series Machine Con-
            troller and PO-01 module versions.
                                                                                                                             Command Reference
                                                                                                                            8-11
       8 Command Reference
       8.1.3 Acceleration Time Change (ACC)
(2) Format
ACC [Logical axis name 1] Acceleration time [Logical axis name 2] Acceleration time [Logical axis name 3] Acceleration time . . . ;
Speed (V)
b) Rated speed
                                c) Positioning speed
                                   (VEL)
Time (t)
                      b) Rated speed
                          Set the rated speed of each axis using the motion fixed parameter 34 (Rated motor speed).
                          For details, refer to the manual for the motion module to be used.
8-12
                                                                                                8.1 Axis Setting Commands
        c) Positioning speed
           The speed for positioning related commands MOV, MVT, or EXM.
           Set the positioning speed of each axis using the Set Velocity command (VEL).
       For the Set Time Positioning command (MVT), the positioning speed is not the reference value of the VEL command.
INFO
       The Set Time Positioning command (MVT) changes the positioning speed according to the set positioning time and the
       amount of movement.
Speed (V)
              b) Positioning speed
                 (VEL)
                                                                                                         Time (t)
                                                         a) Linear acceleration rate
                                                            (ACC)
        b) Positioning speed
           The speed of positioning related commands, MOV, MVT, or EXM.
           Set the positioning speed of each axis using the Set Velocity command (VEL).
                                                                                                                             Command Reference
       For the Set Time Positioning command (MVT), the positioning speed is not the reference value of the VEL command.
INFO
       The Set Time Positioning command (MVT) changes the positioning speed according to the set positioning time and the
       amount of movement.
                                                                                                                            8-13
       8 Command Reference
       8.1.3 Acceleration Time Change (ACC)
                                      Speed (V)
                                [10 n reference units/min]
                               20000
                         Rated speed ∗
                                10000
                        Positioning speed
                                               ACC                                        ACC
                                                                                                                                Time (t)
                                                4s                                         8s                                     [s]
                         * The unit of rated speed (min-1) must be converted to the same unit used for positioning speed (10n refer-
                           ence units/min).
                                    Fig. 8.6 Acceleration Time Change (ACC) Command Programming Example 1:
                                         When Acceleration/Deceleration Degree Unit Selection is Set to 1 (ms)
8-14
                                                                                          8.1 Axis Setting Commands
EXAMPLE
     • When bits 4 to 7 of OW03 (Acceleration/deceleration degree unit selection) are set to
       0 (reference unit/s2)
      The following example shows when the MOV command is executed to accelerate the axis A1 at the rate of
      60.000 (mm/s2), and when the MOV command is executed to accelerate axis A1 at the rate of 100.000
      (mm/s2). In this example, one reference unit is set to 0.001 mm.
            Speed (V)
          [0.001 mm/s]
      300000                                                                                VEL
                                                                                            18000 (mm/min)
                                                                                             = 300000 (0.001 mm/s)
                              ACC                                  ACC
                              60.000 mm/s 2                        100.000 mm/s 2
                                                                                              Time (t)
                                                                                                [s]
Command Reference
                                                                                                                      8-15
       8 Command Reference
       8.1.3 Acceleration Time Change (ACC)
                      The acceleration time can be changed by directly changing the setting of the motion setting parameter
                      OL36 (Straight line acceleration time constant) instead of executing an ACC command. Refer to the fol-
                      lowing table for details on how to directly change the acceleration time setting.
                      Motion and setting procedure of acceleration time for positioning related commands are as follows.
                      Motion
                                                     Motion                                          Setting Procedure
                      Module
                                  The axis moves according to the accelera-
                   SVA-01,
                                  tion time of motion setting parameter        Set an acceleration time to motion setting parameter OL36
                   PO-01,
                                  OL36 (Straight line acceleration/          (Straight line acceleration/acceleration time constant).
                   SVR
                                  acceleration time constant).
                                                                               Set an acceleration time using motion setting parameter
                   SVB-01,                                                     OL36. Then, use bit 10 (ACC: Change acceleration time)
                                  The axis moves at the acceleration rate of
                   Built-in                                                    of motion setting parameter OW08 (Motion command) to
                                  the SERVOPACK parameter.
                   SVB
                                                                               write the new acceleration time into the SERVOPACK. *
                  * The built-in SVB and SVB-01 modules have a function that can automatically write the setting of motion setting
                    parameter OL36 (Straight line acceleration/acceleration time constant) into the SERVOPACK parameters.
                    When this automatic writing function is enabled, you do not need to use bit 10 (ACC: Change acceleration time)
                    of motion setting parameter OW08.
                    For the automatic writing function, refer to 11.6 Parameters That Are Automatically Updated in Machine Controller
                    MP2000 Series Built-in SVB/SVB-01 Motion Module User’s Manual (manual number: SIEPC88070033).
8-16
                                                                                                8.1 Axis Setting Commands
   (1) Overview
       The Deceleration Time Change command (DCC) changes the deceleration time or deceleration rate of the axis
       for which one of the following axis move commands is executed.
           • Positioning (MOV)
           • Set Time Positioning (MVT)
           • External Positioning (EXM)
       The deceleration time for up to 16 axes can be changed at once. The deceleration time of any axis unspecified in
       the command block is not changed.
       The deceleration time changed by the DCC command remains until it is reset by the next DCC command.
                           Speed (V)
                                                                                              Time (t)
                                               Before deceleration time change
Speed (V)
                                                                                              Time (t)
                                                  After deceleration time change
          • The Deceleration Time Change command (DCC) changes the deceleration time for positioning related commands
INFO
            MOV, EXM, and MVT. Use the IDC command to set the interpolation related commands MVS, MCW, MCC, and SKP.
          • All motion modules, except the PO-01 module, support ACC, DCC, and SCC commands.
            Use of these commands with the PO-01 module requires the following combination of MP2000-series Machine Con-
            troller and PO-01 module versions.
                                                                                                                            8-17
       8 Command Reference
       8.1.4 Deceleration Time Change (DCC)
(2) Format
DCC [Logical axis name 1] Deceleration time [Logical axis name 2] Deceleration time [Logical axis name 3] Deceleration time . . . ;
Speed (V)
b) Rated speed
                                 c) Positioning speed
                                    (VEL)
Time (t)
                      b) Rated speed
                          Set the rated speed of each axis using motion fixed parameter 34 (Rated motor speed).
                          For details, refer to the manual for the motion module to be used.
8-18
                                                                                                8.1 Axis Setting Commands
        c) Positioning speed
           The speed for positioning related commands MOV, MVT, or EXM.
           Set the positioning speed of each axis using the Set Velocity command (VEL).
       For the Set Time Positioning command (MVT), the positioning speed is not the reference value of the VEL command.
INFO
       The Set Time Positioning command (MVT) changes the positioning speed according to the set positioning time and the
       amount of movement.
Speed (V)
             b) Positioning speed
                (VEL)
                                                                                                          Time (t)
                                                                  a) Linear deceleration rate
                                                                    (DCC)
        b) Positioning speed
           The speed of positioning related value commands MOV, MVT, or EXM.
           Set the positioning speed of each axis using the Set Velocity command (VEL).
                                                                                                                             Command Reference
       For the Set Time Positioning command (MVT), the positioning speed is not the reference value of the VEL command.
INFO
       The Set Time Positioning command (MVT) changes the positioning speed according to the set positioning time and the
       amount of movement.
                                                                                                                            8-19
       8 Command Reference
       8.1.4 Deceleration Time Change (DCC)
          EXAMPLE
                    • When bits 4 to 7 (Acceleration/deceleration degree unit selection) of OW03 are set to
                      1 (ms).
                      The following example shows when the MOV command is executed to decelerate axis A1 from the rated
                      speed to 0 in four seconds, and when the MOV command is executed to decelerate the axis from the rated
                      speed to 0 in eight seconds.
                                      Speed (V)
                                 [10 n reference units/min]
                                20000
                         Rated speed *
                                10000
                        Positioning speed
                         * The unit of rated speed (min-1) must be converted to the same unit used for positioning speed (10n refer-
                           ence units/min).
                                   Fig. 8.9 Deceleration Time Change (DCC) Command Programming Example 1:
                                        When Acceleration/Deceleration Degree Unit Selection is Set to 1 (ms).
8-20
                                                                                           8.1 Axis Setting Commands
EXAMPLE
     • When bits 4 to 7 (Acceleration/deceleration degree unit selection) of OW03 are set to
       0 (reference unit/s2)
       The following example shows when the MOV command is executed to decelerate axis A1 at the rate of
       60.000 (mm/s2) and when the MOV command is executed to decelerate the axis A1 at the rate of 100.000
       (mm/s2). In this example, one reference unit is 0.001 mm.
            Speed (V)
          [0.001 mm/s]
      300000                                                                                VEL
                                                                                            18000 (mm/min)
                                                                                            = 300000 (0.001 mm/s)
                            DCC                                  DCC
                            60.000 mm/s 2                        100.000 mm/s 2
                                                                                                     Time (t)
                                                                                                       [s]
Command Reference
                                                                                                                       8-21
       8 Command Reference
       8.1.4 Deceleration Time Change (DCC)
                      The deceleration time can be changed by directly changing the setting of the motion setting parameter
                      OL38 (Straight line deceleration/deceleration time constant) instead of executing an DCC command.
                      Refer to the following table for details on how to directly change the deceleration time setting.
                      Motion and setting procedure of acceleration time for positioning related commands are as follows.
                     Motion
                                                     Motion                                          Setting Procedure
                     Module
                                  The axis moves according to the decelera-
                   SVA-01,
                                  tion time of motion setting parameter     Set a deceleration time to motion setting parameter OL38
                   PO-01,
                                  OL38 (Straight line deceleration/       (Straight line deceleration/deceleration time constant).
                   SVR
                                  deceleration time constant).
                                                                               Set a deceleration time using motion setting parameter
                   SVB-01,                                                     OL38. Then, use bit 11 (ACC: Change deceleration time)
                                  The axis moves at the deceleration rate of
                   Built-in                                                    of motion setting parameter OW08 (Motion command) to
                                  the SERVOPACK parameter.
                   SVB
                                                                               write the new acceleration time into the SERVOPACK. *
                  * The built-in SVB and SVB-01 modules have a function that can automatically write the setting of motion setting
                    parameter OL38 (Straight line deceleration/deceleration time constant) into the SERVOPACK parameters.
                    When this automatic writing function is enabled, you do not need to use bit 11 (ACC: Change deceleration time)
                    of motion setting parameter OW08.
                    For the automatic writing function, refer to 11.6 Parameters That Are Automatically Updated in Machine Controller
                    MP2000 Series Built-in SVB/SVB-01 Motion Module User’s Manual (manual number: SIEPC88070033).
8-22
                                                                                                          8.1 Axis Setting Commands
   (1) Overview
       The S-curve Time Constant Change command (SCC) changes the S-curve time constant of each axis for which
       an axis move command is executed.
       The S-curve time constant is the parameter for the S-curve acceleration/deceleration function that suppresses
       mechanical vibration during acceleration/deceleration.
       The S-curve time constant for up to 16 axes can be changed at once. The S-curve time constant of any axis
       unspecified in the command block is not changed.
       The S-curve time constant changed by the SCC command remains until it is reset by the next SCC command.
                         Speed (V)
Time (t)
Speed (V)
Time (t)
         All motion modules, except the PO-01 module, support ACC, DCC, and SCC commands.
INFO
         Use of these commands with PO-01 module requires the following combination of Machine Controller and PO-01 module
         version numbers.
(2) Format
SCC [Logical axis name 1] S-curve time constant [Logical axis name 2] S-curve time constant . . . ;
                                                                                                                                      8-23
       8 Command Reference
       8.1.5 S-curve Time Constant Change (SCC)
                              Speed (V)
                                           When the acceleration/deceleration filter is disabled
Time (t)
                  Specify a numerical value or register for the S-curve time constant of each axis using an SCC command.
                  The reference range of the S-curve time constant depends on the motion module to be used:
                       • For SVA-01, PO-01, and SVR modules, the reference range is specified by motion setting parameter
                         OW3A (Filter time constant).
                       • For built-in SVB and SVB-01 modules, the reference range is specified by the SERVOPACK parameter
                         Average Movement Time.
                  The following table shows the reference range of S-curve time constants for each motion module model.
                                          SCC Command
                    Motion Module                                                                  Remarks
                                       Reference Range (ms)
                        SVA-01               0 to 6553              −
                                                                    With the SGD-N, SGDB-N, SGDH+NS110/NS115, SGDS, SGDX, or
                                                0 to 510
                                                                    SGDV SERVOPACK
                      SVB-01,
                     Built-in SVB                                   With the SGDJ SERVOPACK, the S-curve acceleration/deceleration can-
                                                   −                not be used since the SERVOPACK does not have a parameter for Aver-
                                                                    age Movement Time.
                        PO-01                  0 to 6553            −
                         SVR                   0 to 6553            −
                      • If a reference value of more than 6553 ms is input, a motion program alarm will occur regardless of the motion module
        INFO
                        model.
                      • If a reference value exceeds the upper limit (511 to 6553 ms) when using a built-in SVB or SVB-01 module, bit 1 of
                        motion monitoring parameter IL02 is set to 1 (Set parameter error), and the upper limit (510 ms) is set for the Aver-
                        age Movement Time of the SERVOPACK parameter.
8-24
                                                                                            8.1 Axis Setting Commands
Speed (V)
                                                                                            Time (t)
                    250 ms              250 ms             500 ms                  500 ms    [ms]
                    (SCC)               (SCC)              (SCC)                   (SCC)
Command Reference
                                                                                                                        8-25
       8 Command Reference
       8.1.5 S-curve Time Constant Change (SCC)
                      The S-curve time constant can be changed by directly changing the motion setting parameter OW3A
                      (filter time constant) instead of executing an SCC command. Refer to the following table for information on
                      how to directly change the S-curve time constant.
                  * The built-in SVB and SVB-01 modules can automatically write the setting of motion setting parameter
                    OW3A into Average Movement Filter Time Constant of the SERVOPACK parameter.
                    When this automatic writing function is enabled, you do not need to execute 12 of motion setting parameter
                    OW08.
                    For the automatic writing function, refer to 11.6 Parameters That Are Automatically Updated in Machine Controller
                    MP2000 Series Built-in SVB/SVB-01 Motion Module User’s Manual (manual number: SIEPC88070033).
8-26
                                                                                                      8.1 Axis Setting Commands
           Y1                                   Y1                                         Y1                     End position
                                 End position                          End position
X1 X1 X1
Y1 Y1 Y1
X1 X1 X1
                                                                                                                                     8-27
       8 Command Reference
       8.1.5 S-curve Time Constant Change (SCC)
                      When a built-in SVB or SVB-01 module is used and the function for automatically writing the parameters
                      into the SERVOPACK is disabled, execute 13 (change filter type) of the motion setting parameter OW08
                      (Motion commands) to write the set filter type into the SERVOPACK.
                      An example of programming to change the filter type using a motion program is shown below.
                         Note: When using an SVA-01, PO-01, or SVR module, the following program is not necessary.
                               When using an SVB or SVB-01 module, the following program can be omitted by enabling the func-
                               tion to write parameters into the SERVOPACK.
                             :
                             :
                             " Write the filter type from the built-in SVB/SVB-01 module into the SERVOPACK
                             OW8008 = 13;                          " Request to change filter type
                             IOW IW8008 == 13;                      " Wait for response Processing SCC
                             IOW IB80098 == 1;                      " Wait for response Command execution completed
                             OW8008 = 0;                           " Clears the request
                             IOW IW8008 == 0;                       " Wait for response No motion command in execution
                             :
                             :
                     Refer to 11.6 Parameters That Are Automatically Updated in Machine Controller MP2000 Series Built-in SVB/SVB-01
        INFO
                     Motion Module User’s Manual (manual number: SIEPC88070033) for information on the built-in SVB/SVB-01 module
                     function for automatically writing parameters into the SERVOPACK.
8-28
                                                                                                               8.1 Axis Setting Commands
   (1) Overview
       The Set Velocity command (VEL) changes the feed speed of each axis for the following axis move commands.
           • Positioning (MOV)
           • External positioning (EXM)
       In this manual, the above axis move commands and the Set Time Positioning command (MVT) are referred to as
       positioning related commands, and the feed speed of positioning related commands is referred to as positioning
       speed.
       The positioning speed for up to 16 axes can be changed at once. The positioning speed of an axis unspecified in
       the VEL command block is not changed.
       The axis positioning speed changed by a VEL command remains until it is reset by the next VEL command or it
       is changed by executing the Set Time Positioning command.
Speed (V)
Speed (V)
         The Set Velocity command (VEL) sets the positioning speed for positioning related commands (MOV and EXM). Use F
INFO
         designation or IFP command to set the feed speed for interpolation related commands (MVS, MCW, MCC, and SKP).
                                                                                                                                            Command Reference
(2) Format
VEL [Logical axis name 1] Positioning speed [Logical axis name 2] Positioning speed  ;
                                                                                                                                           8-29
       8 Command Reference
       8.1.6 Set Velocity (VEL)
                                             Speed (V)
                                            [ c) Speed unit ]
a) Rated speed
                            d) Positioning speed
                               (VEL)
                                                                                                                             Time (t)
                                                                b) Acceleration time                 b) Deceleration time
                                                                   (ACC)                                (DCC)
                   a) Rated speed
                       Use motion fixed parameter 34 (Rated motor speed) to set the rated speed of each axis.
                       For details, refer to the manual for the motion module to be used.
                   c) Speed unit
                       Use bits 0 to 3 (Speed unit selection) of motion setting parameter OW03 to set the speed unit for each
                       axis. The default is 10n reference units/min.
                             Parameter Name                     Register No.              Speed Unit                        Reference Range
                                                                                   0: Reference units/s           0 to 231-1 (reference units/s)
                                                                                   1:10n reference units/min      0 to 231-1 (10n reference units/min)
                            Function setting 1,                 OW03,            2: 0.01% (percentage of
                            Speed unit selection                 bit 0 to 3                                       0 to 32767 (0.01%)
                                                                                      rated speed)
                                                                                   3: 0.0001% (percentage of
                                                                                                                  0 to 3276700 (0.0001%)
                                                                                      rated speed)
                      The setting unit for VEL command when 10n reference units/min is selected for the speed unit is determined by the
        INFO
                      motion fixed parameter 4: Reference unit selection.
                   d) Positioning speed
                       Specify a numerical value or register using a VEL command.
8-30
                                                                                           8.1 Axis Setting Commands
Time (t)
       The positioning speed can be changed by directly changing the setting of motion setting parameter OL10
       (Speed reference setting) instead of executing the VEL command.
                                                                                                                       8-31
       8 Command Reference
       8.1.6 Set Velocity (VEL)
                   (b) Override
                       Motion setting parameter OW18 (Override) can be used to specify a percentage of positioning speed
                       specified by a VEL command to be output (output ratio).
                       The default setting of motion setting parameter OW18 is 10000 (100.00%).
                      VEL command
                      reference value                Override (OW18)                     Positioning speed
        TERMS       Override
                      Override often means “to invalidate.” In this manual, however, it should be taken to mean “changing” the set value.
                       Motion setting parameter OW18 (Override) can be changed while an axis is moving.
                                                   Speed (V)
150% of VEL
Time (t)
                                                  Override
                                                 OW18
                                                                                                    150.00%
                                                                  100.00%
                                                                                  50.00%
Time (t)
                       • The SVR module does not have motion setting parameter OW18 (Override).
        INFO
                       • For the Set Time Positioning command (MVT), the positioning speed used for override is not the VEL command refer-
                         ence value. The positioning speed changed by executing the Set Time Positioning command (MVT) is used for over-
                         ride.
                       • When using an override for the Set Time Positioning command (MVT), the positioning will not complete within the
                         specified time.
                         The MP2000 system calculates the positioning speed at execution of the Set Time Positioning command (MVT) assum-
                         ing the override to be 100%.
                       • The speed unit of the rated speed specified by the motion fixed parameter is different from the speed unit used for VEL
                         command coded in a motion program.
                         Refer to (c) Motor Speed Specifications to calculate the rated speed according to the speed unit for the Set Velocity
                         command (VEL).
8-32
                                                                                                          8.1 Axis Setting Commands
         For rotational motors, the speed specifications are expressed in unit of rotations per specified time of period.
INFO
         The rated speed when the speed unit is 10n reference units/min is calculated according to the motion fixed parameter set-
         tings.
          • Parameter Setting Example: When Electronic Gear is Enabled
             Note: When motion fixed parameter 4 (Reference unit selection) is set to a unit other than pulse, the elec-
                   tronic gear is valid.
Workpiece
Ball screw
         When the electronic gear is enabled, n of the speed unit 10n reference units/min is the number of digits below the decimal
         point. Therefore, the speed unit is:
             10n reference units/min = 103 • 0.001mm/min = [mm/min]                                                                    Command Reference
         The machine shaft rotation speed when the motor rotates at the rated speed:
             Rated speed [rotations/min] × Gear ratio
             = 3000 × (2/3) = 2000 [rotations/min]
         To convert the number of rotations of the machine shaft into a reference unit (0.001 mm),
             Travel distance per machine rotation [0.001 mm/rotation] × 2000 [rotation/min]
             = 10000 × 2000 = 20000000 [0.001mm/min]
                                                                                                                                      8-33
       8 Command Reference
       8.1.6 Set Velocity (VEL)
                       • Parameter Setting Example: When the Electronic Gear is Disabled and an SVA-01 Module is Used
                         Note: When motion fixed parameter 4 (Reference unit selection) is set to pulse, the electronic gear is
                               invalid.
                      When the electronic gear is disabled, n of the speed unit 10n reference units/min is 3. Therefore, the speed unit is:
                           [10n reference units/min] = [103 pulse/min] = [1000 pulses/min]
                       • Parameter Setting Example: When the Electronic Gear is Disabled and a Built-in SVB, SVB-01, PO-01, or
                         SVR Module is Used
                          Note: When motion fixed parameter 4 (Reference unit selection) is set to pulse, the electronic gear is
                                invalid.
                      When the electronic gear is disabled, n of the speed unit 10n reference units/min is 3. Therefore, the speed unit is:
                           [10n reference units/min] = [103 pulses/min] = [1000 pulses/min]
                      Motion fixed parameters other than those mentioned in the examples may be required to be correctly set for the correct
                      axis motions.
                      For details on each parameter and information on how to set them in accordance with the connected machine, refer to the
                      relevant motion module manual.
8-34
                                                                                                            8.1 Axis Setting Commands
   (1) Overview
       The Maximum Interpolation Feed Speed Setting command (FMX) sets the maximum feed speed for interpolation
       related commands MVS, MCW, MCC, and SKP. The maximum speed set by FMX command execution remains
       in effect until it is reset by the next FMX command.
       The maximum feed speed for interpolation is not yet set at the moment the program operation starts. It is neces-
       sary to execute an FMX command before executing any of the following interpolation related commands.
           •   Linear Interpolation command (MVS)
           •   Circular Interpolation command (MCW, MCC)
           •   Helical Interpolation command (MCW, MCC)
           •   SKP command (Linear interpolation with skip function) (SKP)
           •   Interpolation Feed Speed Ratio Setting command (IFP)
           •   Interpolation Acceleration Time Change command (IAC)
           •   Interpolation Deceleration Time Change command (IDC)
Speed (V)
                            Feed speed
                            for interpolation
                                                                                                             Time (t)
                                                  Interpolation                   Interpolation
                                                acceleration time               deceleration time
          • Execution of any interpolation related command is subject to the preset maximum feed speed for interpolation. For
INFO
            example, the Interpolation Acceleration Time Change command (IAC) and the Interpolation Deceleration Time Change
            (IDC) set the time required to reach the maximum feed speed for interpolation from the speed of 0.
          • Executing an interpolation related command MVS, MCW, MCC, SKP, IFP, IAC, or IDC without first having executed
            an FMX command will cause an alarm in the motion program.                                                                    Command Reference
(2) Format
                                                                                                                                        8-35
       8 Command Reference
       8.1.7 Maximum Interpolation Feed Speed Setting (FMX)
Speed (V)
                           Feed speed
                           for interpolation
                           (F designation or IFP)
                           (Composite speed)
                                                                                                         Time (t)
                                                         Interpolation              Interpolation
                                                       acceleration time          deceleration time
                                                             (IAC)                      (IDC)
                      The maximum feed speed for interpolation is the control data used for all interpolation related commands.
                      Therefore, an FMX command must be coded at the beginning of the motion program when using an interpo-
                      lation command MVS, MCW, MCC, or SKP.
                     300000                                                                                 FMX
                      (100%)
                     225000                                                                                 IFP
                      (75%)
                     150000                                                                                 F command
                      (50%)                                                                                 of MVS
                                        4s                                                                    Time (t)
                                                             4s
                                        IAC                 IDC                                                 [s]
                                       Fig. 8.17 Maximum Interpolation Feed Speed Command Programming Example
8-36
                                                                                                       8.1 Axis Setting Commands
   (1) Overview
       The Interpolation Feed Speed Ratio Setting command (IFP) sets the feed speed for the following axis move com-
       mands as a percentage of the maximum feed speed for interpolation.
            •   Linear Interpolation command (MVS)
            •   Circular Interpolation command (MCW, MCC)
            •   Helical Interpolation command (MCW, MCC)
            •   SKP command (Linear interpolation with skip function) (SKP)
       In this manual, the above axis move commands are referred to as Interpolation Related Commands, and the feed
       speed of Interpolation Related Commands is referred to as the Interpolation Feed Speed. The interpolation feed
       speed set by IFP command execution remains in effect until it is reset by the next IFP command.
       The interpolation feed speed is not set when the program operation starts. It is necessary to set an interpolation
       feed speed by executing the Interpolation Feed Speed Ratio Setting (IFP) or F designation before executing any
       interpolation related commands.
                             Speed (V)
                                [%]                    100% = Max. interpolation feed speed
                                     100
                            Interpolation
                             feed speed
                                ratio
Time (t)
          • Specify the maximum feed speed for interpolation by executing the Maximum Interpolation Feed Speed Setting com-
INFO        mand (FMX) before executing the IFP command. Executing the IFP command without first having specified the maxi-
            mum feed speed will cause an alarm in the motion program.
          • F designations can be used to specify the interpolation feed speed by writing a numerical value or register following to
            a character F for interpolation related commands. Specify the interpolation feed speed in reference units/min.
          • If an IFP command is executed after F designation, the interpolation feed speed specified by the F designation will be
            cancelled. If an F designation is executed after IFP command execution, the interpolation feed speed specified by the
            IFP command will be cancelled as well.
                                                                                                                                        Command Reference
          • Executing an interpolation related command without first having specified the interpolation feed speed will cause an
            alarm in the motion program.
          • The Interpolation Feed Speed Ratio Setting command (IFP) sets the feed speed for interpolation related commands
            MVS, MCW, MCC, and SKP. Use the VEL command to set the feed speed for positioning related commands MOV and
            EXM.
                                                                                                                                       8-37
       8 Command Reference
       8.1.8 Interpolation Feed Speed Ratio Setting (IFP)
(2) Format
INFO IFP command cannot be coded in the same block used for an interpolation command MVS, MCW, MCC, or SKP.
                                       Speed (V)
                                          [%]
                      a) Interpolation feed
                         speed ratio
                        (IFP)
                                                                                                                                          Time (t)
                                                        Interpolation                                    Interpolation
                                                      acceleration time                                deceleration time
                                                            (IAC)                                            (IDC)
                       You can select whether or not to apply an interpolation override to the interpolation feed speed.
                       Refer to 4.3.3 Work Registers for information on how to use the interpolation override.
8-38
                                                                                                         8.1 Axis Setting Commands
            FMX reference value ×       IFP reference value × Interpolation override = Interpolation feed speed
                                           1 to 100%               0 to 327.67%
                FMX                       IFP                      Interpolation                 Interpolation
                reference value           reference value          override                      feed speed
          • The interpolation feed speed can be specified by using either an IFP command or F designation.
INFO
            Refer to b) Interpolation feed speed in (3) Setting Items for MVS Command in 8.2.2 Linear Interpolation (MVS) for
            details.
          • If a value higher than 100 (%) is specified for the IFP reference value (%), an alarm will occur in the motion program.
          • If an interpolation override applied interpolation feed speed exceeds the FMX reference value, the actual output value
            of the interpolation feed speed will be reset to the FMX reference value.
Time (t)
                                                                                                                                      8-39
       8 Command Reference
       8.1.9 Interpolation Acceleration Time Change (IAC)
              (1) Overview
                   The Interpolation Acceleration Time Change command (IAC) changes the acceleration time for the following
                   axis move commands.
                        •   Linear Interpolation command (MVS)
                        •   Circular Interpolation command (MCW, MCC)
                        •   Helical Interpolation command (MCW, MCC)
                        •   SKP command (Linear interpolation with skip function) (SKP)
                   In this manual, the above axis move commands are referred to as interpolation related commands.
                   The Maximum Interpolation Feed Speed Setting command (FMX) must be executed before executing the IAC
                   command. The acceleration time changed by the IAC command remains until it is reset by the next IAC com-
                   mand.
                   The interpolation acceleration time is 0 ms when the program starts running.
                                                    Speed (V)
                                                    Speed (V)
                                              Max. feed speed
                                              for interpolation
                                               Feed speed
                                               for interpolation
                      The Interpolation Acceleration Time Change command (IAC) changes the acceleration time for interpolation related com-
        INFO
                      mands MVS, MCW, MCC, and SKP.
                      Use ACC command to set the acceleration time for positioning related commands MOV, EXM, and MVT.
(2) Format
8-40
                                                                                                   8.1 Axis Setting Commands
Speed (V)
                                                                                                                 Time (t)
                                              a) Interpolation
                                                 acceleration time (IAC)
300000 FMX
      150000                                                                           F command of
                                                                                       MVS
                                                                                                                               8-41
       8 Command Reference
       8.1.9 Interpolation Acceleration Time Change (IAC)
8-42
                                                                                                     8.1 Axis Setting Commands
   (1) Overview
       The Interpolation Deceleration Time Change command (IDC) changes the deceleration time for the following
       axis move commands.
           •   Linear Interpolation command (MVS)
           •   Circular Interpolation command (MCW, MCC)
           •   Helical Interpolation command (MCW, MCC)
           •   SKP command (Linear interpolation with skip function) (SKP)
       In this manual, the above axis move commands are referred to as interpolation related commands.
       The Maximum Interpolation Feed Speed Setting command (FMX) must be executed before executing the IDC
       command. The deceleration time changed by the IDC command remains until it is reset by the next IDC com-
       mand.
       The interpolation deceleration time is 0 ms when the program starts running.
                                   Speed (V)
                             Max. feed speed
                             for interpolation
                               Feed speed for
                               interpolation
                                                                                                  Time (t)
                                                                                         IDC
                                                  Before interpolation deceleration time change
                                   Speed (V)
                              Max. feed speed
                              for interpolation
         The Interpolation Deceleration Time Change command (IDC) sets the deceleration time for interpolation related com-
INFO
         mands MVS, MCW, MCC, and SKP.
                                                                                                                                  Command Reference
Use the DCC command to set the deceleration time for positioning related commands MOV, EXM, and MVT.
                                                                                                                                 8-43
       8 Command Reference
       8.1.10 Interpolation Deceleration Time Change (IDC)
(2) Format
Speed (V)
                                                                                                                  Time (t)
                                                                               a) Interpolation deceleration
                                                                                  time (IDC)
8-44
                                                                                             8.1 Axis Setting Commands
300000 FMX
       150000                                                                          F command of
                                                                                       MVS
Command Reference
                                                                                                                         8-45
       8 Command Reference
       8.1.11 Set Interpolation Acceleration/Deceleration Mode (ACCMODE)
              (1) Overview
                  The Set Interpolation Acceleration/Deceleration Mode (ACCMODE) command sets the acceleration/decelera-
                  tion mode for the following interpolation commands. You can use the Set Interpolation Acceleration/Decelera-
                  tion Mode (ACCMODE) command to connect the speeds between continuous interpolation commands.
                        •   Linear Interpolation command (MVS)
                        •   Circular Interpolation command (MCW, MCC)
                        •   Helical Interpolation command (MCW, MCC)
                        •   SKP command (Linear interpolation with skip function) (SKP)
                  The interpolation acceleration/deceleration mode set by the ACCMODE command remains in effect until it is
                  changed by another ACCMODE command.
                  The interpolation acceleration/deceleration mode is set to the default mode (interpolation acceleration/decelera-
                  tion mode 0) when program operation starts.
                     1. The interpolation acceleration/deceleration mode cannot be changed between continuous interpolation blocks.
        INFO
                        Change the interpolation acceleration/deceleration mode only after the axes decelerate to a stop.
                     2. If the interpolation acceleration/deceleration mode is set out of range, the operation depends on the version of the CPU
                        Module.
                            Software Version          MPE720 Version 6.36 or Later               MPE720 Version 6.35 or Earlier
                                                   A motion program alarm (31 hex:             A motion program alarm (31 hex: Not
                            CPU Module Ver-
                                                   Address M out of range) will occur when registered) will occur when an interpola-
                            sion 2.86 or Later
                                                   an interpolation command is executed.       tion command is executed.
                            CPU Module Ver-        An alarm will not occur even when an interpolation command is executed.
                            sion 2.85 or Earlier   The current interpolation acceleration/deceleration mode will be retained.
                     3. When the PFORK command is used, the interpolation acceleration/deceleration mode setting before branching to the
                        forks is inherited by all of the forks. After branching, you can set the interpolation acceleration/deceleration mode for
                        each fork independently.
8-46
                                                                                                   8.1 Axis Setting Commands
Speed (V)
                                                                                                            Time (t)
                                  Before the Interpolation Acceleration/Deceleration Mode Is Set
Speed (V)
                                                                                                            Time (t)
                                  After the Interpolation Acceleration/Deceleration Mode Is Set
(2) Format
   The format of the ACCMODE command is as follows:
   ACCMODE Minterpolation_acceleration_deceleration_mode;
                                                                                                                               8-47
       8 Command Reference
       8.1.11 Set Interpolation Acceleration/Deceleration Mode (ACCMODE)
Time (t)
                  ■ Format
                      Use the following code format to select interpolation acceleration/deceleration mode 0.
                      ACCMODE M0;
                                                                                                                           Time (t)
                                                     Condition satisfied.                                   Condition not satisfied.
                         Continuous process
                         control signal
8-48
                                                                                                          8.1 Axis Setting Commands
       ■ Format
          Use the following format to select interpolation acceleration/deceleration mode 1.
          ACCMODE M1;
          MVS [Logical_axis_name_1] Reference_position Finterpolation_feed_speed TWcontinuous_process_con-
          trol_signal;
          Or
          ACCMODE M1;
          MVS [Logical_axis_name_1] Reference_position Finterpolation_feed_speed FWcontinuous_process_con-
          trol_signal;
Note: The format is the same for the MCC, MCW, and SKP commands.
       If the characters “TW” or “FW” are added to the interpolation command, continuous process control signal mon-
       itoring is performed. The bit data register specified with the characters “TW” or “FW” is used as the continuous
       process control signal.
       If the characters “TW” or “FW” are not added to the interpolation command, or if the conditions are not satisfied,
       the continuous process control signal is not monitored and acceleration/deceleration is performed according to
       the acceleration/deceleration times set with the IAC and IDC commands.
         The characters “TW” and “FW” are valid only for interpolation acceleration/deceleration modes 1 and 3 (acceleration/
INFO
         deceleration modes with continuous process control signal monitoring). In other modes, the operation depends on the soft-
         ware version of the CPU Module.
             Software Version          MPE720 Version 6.36 or Later                MPE720 Version 6.35 or Earlier
                                    A motion program alarm (32 hex: Speci- A motion program alarm (32 hex: Not
             CPU Module Ver-
                                    fied address error) will occur when an     registered) will occur when an interpola-
             sion 2.86 or Later
                                    interpolation command is executed.         tion command is executed.
             CPU Module Ver-        An alarm will not occur even when an interpolation command is executed.
             sion 2.85 or Earlier   The TW or FW address is ignored and the interpolation command is executed.
The characters “TW” designate monitoring the continuous process control signal with positive logic.
        Continuous Process
                                                                    Operation Summary
          Control Signal
                                    The deceleration time specified with the IDC command is ignored. The current speed is
        ON
                                    maintained and pulse distribution is completed with a deceleration time of 0 ms.
                                                                                                                                       Command Reference
                                    The axis decelerates to a stop according to the deceleration time specified with the IDC
        OFF
                                    command.
The characters “FW” designate monitoring the continuous process control signal with negative logic.
        Continuous Process
                                                                    Operation Summary
          Control Signal
                                    The axis decelerates to a stop according to the deceleration time specified with the IDC
        ON
                                    command.
                                    The deceleration time specified with the IDC command is ignored. The current speed is
        OFF
                                    maintained and distribution is completed with a deceleration time of 0 ms.
IMPORTANT             If you specify a travel distance that is insufficient to perform continuous processing with the set
                      deceleration time, unexpected operation may occur. Also specify a sufficient travel distance.
                                                                                                                                      8-49
       8 Command Reference
       8.1.11 Set Interpolation Acceleration/Deceleration Mode (ACCMODE)
                  ■ Programming Examples
                      The following example programming uses interpolation acceleration/deceleration mode 1 (acceleration/
                      deceleration mode with continuous process control signal monitoring).
                       FMX T30000000;
                       ABS;
                       IAC T1000;
                       IDC T1000;
ACCMODE M1;
END;
                  The following examples show how to combine the MVS command and interpolation acceleration/deceleration
                  mode 1.
                    • When the Continuous Process Control Signal Turns ON after Distribution for MVS Com-
                      mand  Is Completed
                      The next block is executed after the axis decelerates to a stop for the MVS command .
                      For the MVS command , acceleration begins when the speed is 0 (reference units/min).
                                       Speed (V)
                                                                              IOW 
                                                                                                     
Time (t)
MB000001
                    • When the Continuous Process Control Signal Turns ON during Distribution for MVS 
                      (before Deceleration)
                      MVS  is executed at the same speed from MVS  without decelerating.
                                       Speed (V)
                                                                           IOW 
                                                                           (Do not wait if the conditions are already satisfied.)
Time (t)
MB000001
8-50
                                                                                                           8.1 Axis Setting Commands
        • When the Continuous Process Control Signal Turns ON during Distribution for MVS 
          (during Deceleration)
          MVS  is executed with the same speed as when the continuous process signal turned ON.
                           Speed (V)
                                                               IOW 
                                                               (Do not wait if the conditions are already satisfied.)
Time (t)
MB000001
         1. If the reference speed for MVS  is higher than for MVS , the end speed of  is used for the start speed of . The
INFO
            axis then accelerates to the specified speed.
         2. If the reference speed for MVS  is lower than for MVS , the end speed of  is used for the start speed of . The
            axis then decelerates to the specified speed.
         3. If the travel distance for MVS  is shorter than the deceleration distance, distribution is finished during the decelera-
            tion of .
       ■ Additional Information
       Refer to the following additional information for details on operation in the acceleration/deceleration mode with
       continuous process control signal monitoring.
        • Request Temporary Stop Operation
          Temporary Stop Request before the Interpolation Distribution for the Next Block Begins
          The axis decelerates according to the interpolation deceleration time specified with the IDC command.
          No continuous processing to the next interpolation block is performed.
          Temporary Stop Request after the Interpolation Distribution for the Next Block Begins
          The axis decelerates according to interpolation deceleration time specified with the IDC command for both
          the previous block and the next block.
          After the temporary stop request is removed, distribution of the remaining distance is performed for both the
          previous block and the next block.
        • Request Stop Operation
          The interpolation block for the axis in motion stops immediately.
        • Program Single-block Mode Operation
                                                                                                                                         Command Reference
                                                                                                                                        8-51
       8 Command Reference
       8.1.11 Set Interpolation Acceleration/Deceleration Mode (ACCMODE)
Time (t)
                  ■ Format
                      ACCMODE M2;
                      MVS [Logical_axis_name_1] Reference_position Finterpolation_feed_speed Dinterpolation_overlap_dis-
                      tance;
                  In this mode, you can add the character “D” to an interpolation command to specify the maximum distance for
                  the interpolation distribution to overlap.
                  When the character “D” is added to an interpolation command in this mode, distribution for the next interpolation
                  block begins when the remaining travel distance for the current interpolation block falls below the interpolation
                  overlap distance. If 0 (reference units) is specified for the interpolation overlap distance, distribution for the next
                  interpolation block begins when the current interpolation block begins deceleration.
                  If the character “D” is not specified for the interpolation command, the last interpolation overlap distance speci-
                  fied in the motion program is used.
                  The interpolation overlap distance is set to 0 (reference units) when program operation starts.
         IMPORTANT               A compiling error will occur if the character “D” is used with MPE720 version 6. MPE720 version 6 does not
                                 support character “D.”
                     2. The valid range for the interpolation overlap distance is 0 to 2,147,483,647 (reference units).
                        If a negative value is specified, the absolute value is used.
                     3. Interpolation acceleration/deceleration mode 2 can be used only with the following versions.
                         • CPU Module version: Version 2.84 or later
                         • MPE720 version: Version 7.10 or later
8-52
                                                                                                   8.1 Axis Setting Commands
 No.                                                         Condition
  1       Not in Program Single-block Mode.
  2       Control signal bit 1 (Request Temporary Stop) is OFF.
  3       No PFN commands have been added to the interpolation commands.
   4      The interpolation block must have started deceleration. (Refer to the timing of  in the following figure.)
          The remaining distance for the interpolation block is less than the interpolation overlap distance that was specified
   5
          after the character “D.” (Refer to the timing of  in the following figure.)
          The remaining deceleration time of the current interpolation block is less than the acceleration time of the next
   6
          interpolation block. (Refer to the timing of  in the following figure.)
  Current Interpolation
 Block Speed Waveform
Time
Speed
   Composite Speed
      Waveform
Time
■ Programming Examples
A programming example for the acceleration/deceleration mode with interpolation overlapping is given below.
       FMX T300000;
       INC;
       IAC T1000;
                                                                                                                                    Command Reference
IDC T2000;
ACCMODE M2;
       MW00010 = 30;
       MVS[A1]20000 [B1]10000 F200000;                  “Linear interpolation ”
       MW00010 = 20;
       MVS[A1]10000 [B1]-20000 D100;                    “Linear interpolation ”
       MW00010 = 10;
       MVS[A1]20000 [B1]10000;                          “Linear interpolation ”
       MW00010 = 0;
END;
                                                                                                                                   8-53
       8 Command Reference
       8.1.11 Set Interpolation Acceleration/Deceleration Mode (ACCMODE)
                  In processing for ACCMODE2, execution moves to the next execution block in the program when deceleration
                  occurs for the interpolation block or when the interpolation overlap distance becomes equal to or less than the
                  specified interpolation overlap distance.
                  S-type commands (e.g., operation commands) that occur during continuous processing for interpolation blocks
                  are executed when program execution moves to the next block.
                  The speed waveform for the programming example is given below.
300000
200000
                                                                                                                                            Time (t)[s]
                                     Interpolation distribution for linear           Interpolation distribution for linear interpolation
                                      interpolation  starts during the               starts when the remaining distance for linear
                                   deceleration of linear interpolation .             interpolation  falls below the interpolation
                                                                                                     overlap distance.
                                  30
                                  20
                    MW00010
                                  10
                                   0
                  The interpolated path for the above programming example is given below.
                  As shown in the figure below, some interpolation block end points (i.e., the start point for the next interpolation
                  block) do not pass through the movement path because the distribution for the next interpolation block starts
                  during deceleration of the current interpolation block.
                             Axis B1
                                       Linear interpolation                 Linear interpolation 
Linear interpolation
Axis A1
8-54
                                                                                                          8.1 Axis Setting Commands
       ■ Additional Information
       Refer to the following additional information for details on operation in the acceleration/deceleration mode with
       interpolation overlapping.
        • Request Temporary Stop Operation
          Before distribution for the next interpolation block begins, the interpolation block for axes currently in
          motion decelerates in the deceleration time specified with the IDC command.
          However, no continuous processing to the next interpolation block is performed.
          After distribution for the next interpolation block begins, each interpolation block decelerates in the deceler-
          ation time specified with the IDC command.
        • Request Stop Operation
          Each interpolation block stops immediately.
        • Program Single-block Mode Operation
          No continuous processing to the next interpolation block is performed.
        • Debug Mode Operation
          No continuous processing to the next interpolation block is performed.
        • Operation When the Next Block Is Not an Interpolation Command Block
          No continuous processing to the next block is performed.
          Acceleration begins from a speed of 0 for the next block.
        • Continuous Operation during Parallel Execution (PFORK)
          This mode cannot be used across a PFORK command.
          Adjust the timing of pulse distribution for the interpolation block with the PFN command so that processing
          (i.e., pulse distribution) for this mode is completed within each fork.
        • Operation for Execution of T-type Commands
          If a T-type command (e.g., a timer command) is executed in continuous processing for an interpolation block,
          the distribution timing in the next interpolation block will be changed.
       tinuous process control signal monitoring), when continuous processing is performed for a minute block with a
       minute travel distance, deceleration is performed as much as possible to the specified speed in continuous pro-
       cessing between consecutive interpolation blocks.
         A minute block is an interpolation bock with a travel distance that is too small for the distance required to decelerate to a
INFO
         stop at the specified deceleration rate from the speed for continuous processing operation.
                                                                                                                                         8-55
       8 Command Reference
       8.1.11 Set Interpolation Acceleration/Deceleration Mode (ACCMODE)
                  ■ Format
                  Use the following format when interpolation acceleration/deceleration mode 3 (acceleration/deceleration mode
                  with continuous process control signal monitoring) is set. Refer to (b) Interpolation Acceleration/Deceleration
                  Mode 1 (Acceleration/Deceleration Mode with Continuous Process Control Signal Monitoring) Details for
                  details on continuous processing control signals.
                         ACCMODE M3
                         MVS [Logical_axis_name_1] Reference_position ... Finterpolation_feed_speed TWcontinuous_process_-
                         control_signal;
Or
                         ACCMODE M3
                         MVS [Logical_axis_name_1] Reference_position ... Finterpolation_feed_speed FWcontinuous_process_-
                         control_signal;
Note: The format is the same for the MCC, MCW, and SKP commands.
                     The characters “TW” and “FW” are valid only for this mode and for interpolation acceleration/deceleration mode 1 (accel-
        INFO
                     eration/deceleration mode with continuous process control signal monitoring). In other modes, the operation when the
                     characters “TW” or “FW” are specified depends on the software version of the CPU Module.
                              Software Version               MPE720 Version 6.36 or Later            MPE720 Version 6.35 or Earlier
                                                         An alarm (32 hex: Specified address       An alarm (32 hex: No registered) will
                       CPU Module Version 2.86
                                                         error) will occur when an interpolation   occur when an interpolation command is
                       or Later
                                                         command is executed.                      executed.
                       CPU Module Version 2.85           An alarm will not occur even when an interpolation command is executed.
                       or Earlier                        The TW or FW address is ignored and the interpolation command is executed.
                  ■ Programming Examples
                  The difference between interpolation acceleration/deceleration modes 1 and 2 for the MVS command is
                  described below.
                         INC;
                         FMX T1000000;
                         IAC T5000;
                         IDC T5000;
                         MB1000=1;           // Continuous control signal bit
                         //Interpolation acceleration/deceleration mode (ACCMODE M1 or ACCMODE M3 executed.)
                         ACCMODE M1; // ACCMODE M1 or ACCMODE M3
                         MVS [A1]100000 F600000 TWMB1000; // Linear interpolation 
                         MVS [A1]5000 F300000 TWMB1000;               // Linear interpolation (minute block) 
                         MVS [A1]100000 F300000 FWMB1000; // Linear interpolation 
END;
8-56
                                                                                                8.1 Axis Setting Commands
                                                                                         Time t (s)
     • Operation in Interpolation Acceleration/Deceleration Mode
          600000
                                  Linear
                                  interpolation 
          300000
                                                        Linear interpolation 
Time t (s)
■ Additional Information
Additional information on interpolation acceleration/deceleration mode 3 (acceleration/deceleration mode with
continuous process control signal monitoring) is the same as the additional information for interpolation acceler-
ation/deceleration mode 1.
FE
Time
■ Format
Use the following format to select interpolation acceleration/deceleration mode 4.
      ACCMODE M4
      MVS [Logical_axis_name_1] Reference_position ... Finterpolation_feed_speed FEfinal_interpolation_-
      feed_speed;
                                                                                                                               8-57
       8 Command Reference
       8.1.11 Set Interpolation Acceleration/Deceleration Mode (ACCMODE)
                  Note: The final interpolation feed speed can be omitted. The format is the same for the MCC, MCW, and SKP com-
                        mands.
                  In this mode, you can add the characters “FE” to an interpolation command to specify the final speed for the
                  interpolation block.
                  If you add the characters “FE” to an interpolation command, pulse distribution is adjusted so that the interpola-
                  tion block ends at the specified final interpolation feed speed.
                  If the specified final interpolation feed speed is 0 (speed units), continuous processing is not performed and the
                  axes decelerate to a stop.
                  If the characters “FE” are not specified for the interpolation command, the final interpolation feed speed that was
                  last specified in the motion program is used.
                  The final interpolation feed speed is 0 (speed units) when program operation starts.
         IMPORTANT                1. The characters “FE” are valid only for this mode. In other interpolation acceleration/deceleration modes, a
                                     motion program alarm will occur.
                                  2. The valid range for the final interpolation feed speed is 0 to 2,147,483,647 (speed units). A compiler error
                                     will occur if a negative number is specified.
■ Programming Example
                         FMX T6000000;
                         IAC T1000;
                         IDC T1000;
                         INC;
                         ACCMODE M4;
                         MVS [A1]300000 F6000000 FE4000000; “Linear interpolation ”
                         MVS [A1]300000 F3000000 FE6000000; “Linear interpolation ”
                         MVS [A1]300000 F6000000 FE0;                    “Linear interpolation ”
END;
                                                                    Linear Interpolation 
                                                                    The block is ended at a final interpolation feed
                                                                    speed of 4,000,000 (reference units/min) and
                                                                    continuous processing is performed.
                        6000000
                                                                                                            Linear Interpolation 
                        4000000                                                                             The block is ended at a final
                                                                                                            interpolation feed speed of 0
                        3000000                                                                             (reference units/min).
                                          Linear             Linear                Linear
                                          interpolation     interpolation        interpolation 
Time t (s)
8-58
                                                                                            8.1 Axis Setting Commands
■ Additional Information
Refer to the following additional information for details on operation in the acceleration/deceleration mode with
next block speed specification.
 • Request Temporary Stop Operation
   If a temporary stop is requested, the axes decelerate to a stop at the set deceleration rates. If the travel dis-
   tance is insufficient, a quick stop is performed at the target position.
 • Request Stop Operation
   The interpolation block stops immediately.
 • Operation When Final Interpolation Feed Speed Is Not Reached
   Acceleration or deceleration to the final interpolation feed speed is continued and an immediate stop is per-
   formed when the travel distance is reached.
   If the next block is an interpolation command, continuous processing is performed when the immediate stop
   occurs.
 • Program Single-block Mode Operation
   No continuous processing to the next interpolation block is performed.
 • Debug Mode Operation
   No continuous processing to the next interpolation block is performed.
 • Operation When the Next Block Is Not an Interpolation Command Block
   No continuous processing to the next block is performed.
   Acceleration begins from a speed of 0 for the next block.
 • Continuous Operation during Parallel Execution (PFORK)
   Continuous processing is not performed across a PFORK command.
   Set the commands so that processing for this mode ends during each fork.
Command Reference
                                                                                                                        8-59
       8 Command Reference
       8.2.1 Positioning (MOV)
              (1) Overview
                  The Positioning (MOV) command independently moves each axis from the current position to the end position at
                  positioning speed.
                  Up to16 axes can be moved simultaneously. Any axis not specified in the command will not be moved.
                  The path of movement with the MOV command is different from the linear travel.
                                                             Logical axis 3
Positioning
Logical axis 1
                                                                              Program
                                                                              current position
Logical axis 2
                                                                                CAUTION
                    • The path of movement with the Positioning (MOV) command is not always a straight line. When program-
                      ming, be sure to check the path to make sure that there are no tools or other obstacles in the way of the
                      workpiece.
                      Failure to carry out this check may result in damage to equipment, serious personal injury, or even death.
(2) Format
MOV [Logical axis name 1] Reference position [Logical axis name 2] Reference position [Logical axis name 3] Reference position ... ;
8-60
                                                                                                      8.2 Axis Move Commands
Speed (V)
b) Rated speed
                                                                                              c) Acceleration/
                   Positioning                                                                   deceleration type
                   speed
                   (VEL)
                                                           a) Moving
                                                              amount
                                                                                                       Time (t)
                                       Acceleration time                      Deceleration time
                                           (ACC)                                    (DCC)
       a) Moving amount
          The moving amount of each axis differs depending on the movement mode, ABS mode or INC mode.
           • Moving amount in ABS mode
              The difference between the program current position and the reference position.
INFO Refer to 7.2.2 Reference Unit for information on the moving amount unit.
       b) Rated speed
          Use motion fixed parameter 34 (Rated motor speed) to set the rated speed of each axis.
          For details, refer to the relevant motion module manual.
       c) Acceleration/deceleration type
          The acceleration/deceleration for a MOV command can be selected from the following three types.
          It can be selected according to the combination of the following settings:
          Motion setting parameter OW03, bit 4 to 7: Acceleration/deceleration degree unit selection
                                                                                                                                Command Reference
                                                                                                                               8-61
       8 Command Reference
       8.2.1 Positioning (MOV)
                  (a) No acceleration/deceleration
                       Movement with both the acceleration time and deceleration time set to 0
                                                      Setting Method                                              Movement Path
                        • OW03, bit 4 to 7: Acceleration/deceleration degree unit selection = 1
                          (ms)
                        • OW03, bit 8 to B: Filter type selection = 0 (No filter)
                        • Set the ACC command to 0.
                        • Set the DCC command to 0.
                     For axis movement with a MOV command, an in-position check is executed to verify that the axis enters the positioning
        INFO
                     completion range. After the in-position check, the next move command block will be executed.
                     The following diagram illustrates the in-position execution.
                                                                                                    The feedback position is within
                                                                    Distribution completed          the positioning completion width.
                                 Speed (V)
                                                Positioning command block
8-62
                                                                                 8.2 Axis Move Commands
          ABS;
          ACC [A1]1000 [B1]1000 [C1]1000;
          DCC [A1]1000 [B1]1000 [C1]1000;
          VEL [A1]2000 [B1]2000 [C1]2000;
          MOV [A1]4000 [B1]3000 [C1]2000;
          END;
C1
2000
                                                      End
                                                      position
              Program
              current                                                   A1
              position                                           4000
3000
B1
Command Reference
                                                                                                          8-63
       8 Command Reference
       8.2.2 Linear Interpolation (MVS)
              (1) Overview
                   The Linear Interpolation command (MVS) moves each axis on a straight line from the program current position
                   to the end position at the specified interpolation feed speed. Up to 16 axes can be moved simultaneously. Any
                   axis not specified in the command will not be moved.
Logical axis 3
                                                                                                      End position
                                                                         Interpolation
                                                                         feed speed
                                                                         (Composite
                                                                         speed)
                                                                                                                                 Logical axis 1
                                                                                                        [Logical axis 3]
                                                                                   [Logical axis 1]
                                                                                  CAUTION
                     • Linear Interpolation (MVS) can be executed for either linear axes or rotary axes. If rotary axes are included,
                       however, the linear interpolation path will not be in straight line. When programming, be sure to check the
                       path to make sure that there are no tools or other obstacles in the way of the workpiece.
                       Failure to carry out this check may result in damage to equipment, serious personal injury, or even death.
                      For axis movement with the MVS command, an in-position check is not automatically executed. Use the PFN command to
        INFO
                      execute an in-position check if required.
(2) Format
MVS [Logical axis name 1] Reference position [Logical axis name 2] Reference position [Logical axis name 3] Reference position ...
8-64
                                                                                                                8.2 Axis Move Commands
Speed (V)
                                                                                                                    Time (t)
                                                 Acceleration time                        Deceleration time
                                                      (IAC)                                   (IDC)
B1
                                                                                                      A1
                                                                                                                                          Command Reference
INFO Refer to 7.2.2 Reference Unit for information on the moving amount unit.
                                                                                                                                         8-65
       8 Command Reference
       8.2.2 Linear Interpolation (MVS)
                                                                                                                    A1
                                                                        1200 reference units
                      The feed speed of each axis is calculated using the following formula.
        INFO
                      The feed speed of each axis [reference units/min]
                              moving amount of each axis [reference units]
                          =                                                × interpolation feed speed [reference units/min]
                              composite moving amount [reference units]
                      For example, the feed speed of each axis in above condition is calculated as following.
                      Interpolation feed speed (the value of F) = 500 [reference units/min]
                      Composite moving amount = 12002+9002 = 1500 [reference units]
                                                       1200
                       • The feed speed of A1 axis =        × 500 = 400 [reference units/min]
                                                       1500
                                                        900
                       • The feed speed of B1 axis =        × 500 = 300 [reference units/min]
                                                       1500
                       You can select whether or not to apply an interpolation override to the F designation.
                       Refer to 4.3.3 Work Registers for information on how to use an interpolation override.
                         • When not using an interpolation override
                              F designation     =       Interpolation feed speed
                              F designation                  Interpolation
                                                             feed speed
                         • When using an interpolation override
                              F designation        Interpolation override =   Interpolation feed speed
                                                         0 to 327.67%
                       The interpolation feed speed can also be specified as a percentage of the maximum feed speed for interpola-
                       tion (FMX).
                       Refer to 8.1.8 Interpolation Feed Speed Ratio Setting (IFP) for information how to specify an interpolation
                       feed speed as a percentage of the maximum feed speed for interpolation.
                       • If a value higher than the FMX reference value (reference units/min) is specified for an F designation (reference units/
        INFO
                         min), a motion alarm will occur.
                       • If the interpolation override applied interpolation feed speed exceeds the FMX value, the output value of the interpola-
                         tion feed speed will be reset to the FMX reference value.
                       • When the interpolation feed speed is not specified in the command block, the interpolation feed speed specified in the
                         previous command block will be applied.
8-66
                                                                                                  8.2 Axis Move Commands
Speed (V)
                                                                            150% of
                                                                            interpolation
                                                                            feed speed
                                          100% of
                                          interpolation
          Interpolation feed              feed speed
          speed                                            50% of
          (F designation or                                interpolation
           IFP)                                            feed speed
                                             One block of an interpolation related command
Time (t)
                          Interpolation
                            override
                                                                             150.00%
                                             100.00%
                                                            50.00%
Time (t)
c) Acceleration/deceleration type
   The acceleration/deceleration for an MVS command can be selected from the following three types.
   It can be selected according to the combination of settings of IAC, IDC, and SCC commands and motion
   parameter OW03, bit 8 to B: Filter type selection.
(a) No acceleration/deceleration
   Movement with both the acceleration time and deceleration time set to 0
                                   Setting Method                                             Movement Path
                                                                                                                           8-67
       8 Command Reference
       8.2.2 Linear Interpolation (MVS)
                       • Code a FMX command to specify the maximum feed speed for interpolation at the beginning of motion program.
        INFO
                         Otherwise, a motion program alarm will occur at execution of the MVS command.
                       • If the acceleration/deceleration time is not specified, the default time of 0 ms is applied.
                       • For axis movement with the MVS command, an in-position check is not automatically executed. Use the PFN com-
                         mand to execute an in-position check if required.
                          FMX T30000000;
                          ABS;
                          IAC T1000;
                          IDC T1000;
                          MVS [A1]4000 [B1]3000 [C1]2000 F50000;
                          END;
C1
2000
                                                                         End
                                                                         position
                              Program
                              current                                                       A1
                              position                                              4000
3000
B1
8-68
                                                                                                         8.2 Axis Move Commands
   (1) Overview
       The Clockwise/Counterclockwise Circular Interpolation with Center Position Designation command (MCW,
       MCC) moves two axes simultaneously from the program current position to the end position on the designated
       plane at the interpolation feed speed on the circle determined by the center position.
           • MCW: Circular Interpolation command for Clockwise (CW)
           • MCC: Circular Interpolation command for Counterclockwise (CCW)
Logical axis 2
Command Reference
         For axis movement with the MCW or MCC command, an in-position check is not automatically executed. Use the PFN
INFO
         command to execute an in-position check if required.
                                                                                                                                       8-69
       8 Command Reference
       8.2.3 Clockwise/Counterclockwise Circular Interpolation with Center Position Designation (MCW, MCC)
(2) Format
MCW [Logical axis name 1] End position [Logical axis name 2] End position U Center position V Center position
Note: The number of turns and interpolation feed speed can be omitted.
Logical axis 2
a) End position
                                                  MCW               a) Center
                                                                       position
                                                                                                  b) Number of turns
8-70
                                                                                                    8.2 Axis Move Commands
• In ABS Mode
 The center position and end position are treated as absolute positions.
                           FMX T30000000;
                           ABS;
                           PLN[A1][B1];
                           MCC [A1]    [B1]4000 U2500 V1000 F50000;
                                  1500ࠉ
                                                                                Center position
                                                         End position
                            B1 End                                        Counterclockwise
                               position
                         4000                                             circular interpolation
                                                                          (MCC)
                                                                                     Program
                         2000                                                        current position
                                           Center
                                           position
                         1000
                                                                                               A1
                                      1500       2500                           5500
• In INC Mode
 The center position and end position are treated as relative positions from the program current position.
                 FMX T30000000;
                 INC;
                 PLN[A1][B1];
                                                      -4000
                    B1
                                                                   Counterclockwise
                                                                   circular interpolation
                4000                                               (MCC)
                         End
                                                                                                                              Command Reference
position
2000
                                                                  Program
                                                                  current
                                                                  position
                2000
                                                                                   -1000
                                     Center
                                     position
                1000
                                                                -3000
                                                                                              A1
                              1500        2500                              5500
                                                                                                                             8-71
       8 Command Reference
       8.2.3 Clockwise/Counterclockwise Circular Interpolation with Center Position Designation (MCW, MCC)
                                 Special care must be taken with regard to the start point radius, and end point radius, because the circular inter-
          IMPORTANT              polation path will become as shown below if the start point radius is not equal to the end point radius.
                                                                                                  End position
                                                                                                  s
                                                                                              diu
                                                                                             ra
                                                              Program
                                                                                            int
                                                           current position
                                                                                        po
                                                                     St
                                                                                       d
                                                                                     En
                                                                        a
                                                                     ra rt po
                                                                        di in
                                                                          us t
                                                                                 Center
                                                                                 position
Fig. 8.31 Circular Interpolation Path When Start Point Radius ≠ End Point Radius
                   b) Number of turns
                       Specify a numerical value or register following to character T in the MCW or MCC command block.
                       Specifying the number of turns will implement multiple circular movements. Specifying a negative value for
                       the number of turns will cause a motion program alarm. The number of circular movements determined by
                       the specified number of turns will differ depending on the relationship between the program current position
                       and end position as shown below.
          EXAMPLE
                        • When the number of turns is set to 2
When Program current position ≠ End position Program current position = End position
B1 B1
                                             Program
                                             current position
                                                                        A1                                                                   A1
                               Two circles + 1/4 circle                                                          Three circles
8-72
                                                                                              8.2 Axis Move Commands
B1
                                                End position
                                                                200 reference units/min
Vy (reference units/min)
Vx (reference units/min)
A1
Command Reference
                                                                                                                       8-73
       8 Command Reference
       8.2.3 Clockwise/Counterclockwise Circular Interpolation with Center Position Designation (MCW, MCC)
B1
                     Clockwise
                      (MCW)                                         (0,0)
                                             End position                                                    A1
                                                                                    Center position
                                                                                    (1000,0)
                                      ABS;
                                      FMX T30000000;
                                      PLN [A1][B1];
                                      MCC [A1]0 [B1]0 U1000 V0 F2000;                 “MCC (Counterclockwise)”
                                      END;
B1
                                                                                                Counterclockwise
                                                                                                circular interpolation
                                                                                                (MCC)
                      Counter-
                      clockwise
                        (MCC)                               (0,0)
                                        End position                                                   A1
                                                                               Center
                                                                               position
                                                                               (1000,0)
8-74
                                                                                                         8.2 Axis Move Commands
   (1) Overview
       The Clockwise/Counterclockwise Circular Interpolation with Radius Designation command (MCW, MCC)
       moves two axes simultaneously from the program current position to the end position on the designated plane at
       the interpolation speed on the circle determined by the radius.
           • MCW: Circular Interpolation command for Clockwise (CW)
           • MCC: Circular Interpolation command for Counterclockwise (CCW)
                   Logical axis 2
                                                               Radius
End position
MCW
Command Reference
         For axis movement with the MCW or MCC command, an in-position check is not automatically executed. Use the PFN
INFO
         command to execute an in-position check if required.
                                                                                                                                       8-75
       8 Command Reference
       8.2.4 Clockwise/Counterclockwise Circular Interpolation with Radius Designation (MCW, MCC)
(2) Format
MCW [Logical axis name 1] End position [Logical axis name 2] End position R Radius F Interpolation speed ;
Logical axis 2
End position
a) Radius
MCW
Logical axis 1
                   a) Radius
                       Specify a numerical value or register following to character R in the MCW or MCC command block.
                       The circular interpolation path will differ depending on the radius reference value as follows.
R R 180° max.
                                                                                                     Center point
                                                              Center                                 when R is a
                                                              point when                             positive value
                                                              R is a negative
                                                              value
INFO With the radius designating circular interpolation, the number of turns cannot be specified.
8-76
                                                                                                          8.2 Axis Move Commands
         Turning
                          Arc Angle                                     Programming Example
         Direction
                                             ABS;
                                             FMX T30000000;
                                             PLN [A1][B1];
                                             MCW [A1]1000 [B1]1000 R1000 F2000; “MCW (Clockwise)”
                                             END;
B1
                                                                  Arc angle
                                                                  180° or less
                                                                                                           A1
                                              Program current                         Center point
                                              position (0,0)     Radius = 1000        (1000,0)
         Clockwise                           ABS;
          (MCW)                              FMX T30000000;
                                             PLN [A1][B1];
                                             MCW [A1]1000 [B1]1000 R-1000 F2000; “MCW (Clockwise)”
                                             END;
B1
Radius = 1000
                                                                                                                A1
                                                                       Program current position
                                                                       (0,0)
                                                                                                                                   8-77
       8 Command Reference
       8.2.4 Clockwise/Counterclockwise Circular Interpolation with Radius Designation (MCW, MCC)
                       Turning
                                           Arc Angle                                      Programming Example
                       Direction
                                                                ABS;
                                                                FMX T30000000;
                                                                PLN [A1][B1];
                                                                MCC [A1]1000 [B1]1000 R1000 F2000; “MCC (Counterclockwise)”
                                                                END;
B1
                                                                      Center point
                                                                         (0,1000)
                                         180° or less                                                  End position
                                       (Radius reference                                               (1000,1000)
                                                                                     Arc angle
                                          value > 0)                                 180°or less
                                                                 Radius = 1000
                                                                                                      Counterclockwise
                                                                                                      circular interpolation
                                                                                                      (MCC)
                                                                                                                            A1
                                                                        Program
                                                                        current
                                                                        position
                                                                        (0,0)
B1
                                                                                               End position
                                                                                               (1000,1000)
                                                                                                               Counterclockwise
                                         180° or more                                                          circular interpolation
                                       (Radius reference                                                       (MCC)
                                                                                Center point
                                          value < 0)                               (1000,0)
                                                                 Program                                                 A1
                                                                 current       Radius = 1000 Arc angle
                                                                 position
                                                                 (0,0)                       180° or more
8-78
                                                                                                           8.2 Axis Move Commands
   (1) Overview
       The Clockwise/Counterclockwise Helical Interpolation with Center Position Designation command (MCW,
       MCC) simultaneously executes a linear interpolation movement while moving on the circle (circular interpola-
       tion) determined by the designated center point position.
       The helical interpolation feed speed is calculated by using the tangential speed for circular interpolation and com-
       posite speed for linear interpolation.
            • MCW: Helical Interpolation command for Clockwise (CW)
            • MCC: Helical Interpolation command for Counterclockwise (CCW)
                                                            CAUTION
        • The linear interpolation axis specified for a Clockwise/Counterclockwise Helical Interpolation (MCW, MCC)
          command can be either a linear axis or a rotary axis. Depending on the axis movement in the linear interpo-
          lation portion, the helical interpolation path may not be a helical shape. When programming, be sure to
          check the path to make sure that there are no tools or other obstacles in the way of the workpiece.
          Failure to carry out this check may result in damage to equipment, serious personal injury, or even death.
                     • Be sure to specify the plane for circular interpolation by using the Coordinate Plane Setting command
IMPORTANT              (PLN) before executing the Helical Interpolation command (MCW or MCC).
                       Use logical axis 1 and logical axis 2 to specify the end positions and center points of circle of the horizontal
                       and vertical axes of the designated plane.
                     • Specify the axes for the end position and center position in the same order as the axes are specified in the
                       PLN command.
                     • Any axis that has not been specified in the plane designation can be specified as a linear interpolation axis.
                       The axis does not need to be at right angles to the interpolation plane.
         For an axis movement initiated by execution of the helical interpolation command MCW or MCC, an in-position check to
INFO
         check whether the axis enters the positioning completion range will not be executed.
         Use the PFN command to execute an in-position check if required.                                                                  Command Reference
                                                                                                                                          8-79
       8 Command Reference
       8.2.5 Clockwise/Counterclockwise Helical Interpolation with Center Position Designation (MCW, MCC)
(2) Format
MCW [Logical axis name 1] End position [Logical axis name 2] End position U Center point position V Center point position
[Logical axis name 3] End position for linear interpolation T Number of turns F Interpolation feed speed ;
Note: The number of turns and interpolation feed speed can be omitted.
Logical axis 3
                                                                                               End position
                                                                                         (Same as for circular interpolation)
                                                                             Program
                                                                             current position
                                                                                                                       Circular interpolation portion
Y Vz (reference units/min)
Vy (reference units/min)
Vx (reference units//min)
8-80
                                                                                                    8.2 Axis Move Commands
             ABS;
             FMX T30000000;
             PLN [A1][B1];
             MCC [A1]1000 [B1]0 U0 V0 [C1]500 F2000;
             END;
C1
                                                               Linear interpolation
                                                               portion
Command Reference
                                                                                                                             8-81
       8 Command Reference
       8.2.6 Clockwise/Counterclockwise Helical Interpolation with Radius Designation (MCW, MCC)
              (1) Overview
                   The Clockwise/Counterclockwise Helical Interpolation with Radius Designation command (MCW, MCC) simul-
                   taneously executes a linear interpolation movement while moving on the circle (circular interpolation) deter-
                   mined by the designated radius.
                   The helical interpolation feed speed is calculated by using the tangential speed for circular interpolation and the
                   composite speed for linear interpolation.
                        • MCW: Helical Interpolation command for Clockwise (CW)
                        • MCC: Helical Interpolation command for Counterclockwise (CCW)
                                                                                CAUTION
                     • The linear interpolation axis specified for a Clockwise/Counterclockwise Helical Interpolation (MCW, MCC)
                       command can be either a linear axis or a rotary axis. Depending on the axis movement in the linear interpo-
                       lation portion, the helical interpolation path may not be a helical shape. When programming, be sure to
                       check the path to make sure that there are no tools or other obstacles in the way of the workpiece.
                       Failure to carry out this check may result in damage to equipment, serious personal injury, or even death.
                                    • Be sure to specify the plane for circular interpolation by using the Coordinate Plane Setting command
          IMPORTANT                   (PLN) before executing the Helical Interpolation command (MCW or MCC).
                                      Use logical axis 1 and logical axis 2 to specify the end positions and center points of circle of the horizontal
                                      and vertical axes of the designated plane.
                                    • Specify the axes for the end position and center position in the same order as the axes are specified in the
                                      PLN command.
                                    • Any axis that has not been specified in the plane designation can be specified as a linear interpolation axis.
                                      The axis does not need to be at right angles to the interpolation plane.
                      For an axis movement initiated by execution of the helical interpolation command MCW or MCC, an in-position check to
        INFO
                      check whether the axis enters the positioning completion range will not be executed.
                      Use the PFN command to execute an in-position check if required.
(2) Format
MCW [Logical axis name 1] End position [Logical axis name 2] End position R Radius
[Logical axis name 3] End position for linear interpolation F Interpolation feed speed ;
8-82
                                                                                                                 8.2 Axis Move Commands
Logical axis 3
                                                                              End position
                                                                    (Same as for circular interpolation)
                                                           Program
                                                           current position
                                                                                             Circular interpolation portion
          The designation methods of the radius and end position for the radius designating helical interpolation command are the
INFO
          same as for the radius designating circular interpolation command.
          Additionally, the designation method of the interpolation feed speed is the same as for the center position designating heli-
          cal interpolation command.
             ABS;
             FMX T30000000;
             PLN [A1][B1];
             MCC [A1]1000 [B1]0 R1000 [C1]500 F2000;
             END;
C1
                                                                          Linear interpolation
                                                                          portion
                 Radius 1000
                                                                   1000
                                                                                      A1
                                                    F
                                                                   Circular interpolation
                                                                   end position
        B1      Program
                current position                Circular interpolation portion
                                                                                                                                          8-83
       8 Command Reference
       8.2.7 Zero Point Return (ZRN)
              (1) Overview
                   The Zero Point Return (ZRN) command executes the zero point return operation. Up to 16 axes can be desig-
                   nated simultaneously. An axis unspecified in the command block will not move. The resulting stop position is set
                   as the machine coordinate origin.
Logical axis 3
                                                                                        Program
                                                                                        current position
Logical axis 2
                   When the ZRN command is executed, the returned position is set as the machine coordinate origin. At the same
                   time, the work coordinate system previously set by Current Position Set (POS) is cancelled.
                   After the ZRN command has been executed, the machine coordinate system will be the same as the work coordi-
                   nate system. Until the next time that Current Position Set (POS) is executed, Move ON Machine Coordinates
                   (MVM) will be ineffective, even if it is designated.
                   Refer to 8.3.1 Current Position Set (POS) for details of the machine coordinate system and work coordinate sys-
                   tem.
                                 Request for temporary stop of program is disabled during ZRN command execution. To stop the operation on
          IMPORTANT              the way, execute request for stop of program.
                                 Refer to 4.3.3 Work Registers for information on Program Pause Request and Program Stop Request signals.
(2) Format
ZRN [Logical axis name 1] 0 [Logical axis name 2] 0 [Logical axis name 3] 0 ... ;
8-84
                                                                                                         8.2 Axis Move Commands
B1
                                                                  Program
                                                                  current position
The stop position is set to the machine coordinate origin (0, 0).
                                                                                                                                  8-85
       8 Command Reference
       8.2.8 Linear Interpolation with Skip Function (SKP)
              (1) Overview
                   The Linear Interpolation with Skip Function command (SKP) is an extended command of the Linear Interpola-
                   tion command (MVS). When the skip input signal is turned ON during axis movement by a SKP command, the
                   moving axis is decelerated to a stop and the remaining travel distance is cancelled.
                   A use of a SKP command enables the programming of motion control that can respond to external conditions.
                   The skip signal is input to the control signal for the MSEE command or the control register of M-EXECUTOR.
Speed (V)
Time (t)
                           Skip Input Signal Selection         Skip Input Signal                            The position where the axis is stopped by
                                                                                                            skip input signal (ON)
                             Skip input signal 1 (SS1)       Bit 8 of control signal
                             Skip input signal 2 (SS2)       Bit 9 of control signal
                                   The moving axis decelerates to a stop when the skip input signal is turned ON. The SKP command, however,
          IMPORTANT                remains in effect until the positioning completion signal is turned ON.
(2) Format
SKP [Logical axis name 1] Reference position [Logical axis name 2] Reference position [Logical axis name 3] Reference position ...
8-86
                                                                                    8.2 Axis Move Commands
            FMX T30000000;
            ABS;
            IAC T1000;
            IDC T1000;
            SKP [A1]4000 [B1]3000 [C1]2000 F50000 SS1;
            END;
2000
Target position
             Program
             current position                                               A1
                                                                   4000
3000
B1
Command Reference
                                                                                                             8-87
       8 Command Reference
       8.2.9 Set Time Positioning (MVT)
              (1) Overview
                   The Set Time Positioning command (MVT) is an extended Positioning command (MOV).
                   The MVT command can simultaneously move up to 16 axes. An axis unspecified in the MVT command block
                   will not move.
                   With the MVT command, the feed speed of each axis is adjusted to complete positioning in the specified time.
                   The MVT command does not use an interpolation operation, and there is no restriction on completing the posi-
                   tioning for all the specified axes simultaneously.
                   There is a time lag caused by the acceleration/deceleration setting.
Speed (V)
Feed speed
Time
Positioning time
                                    • If the positioning time is set to 0, an alarm will occur in the motion program.
          IMPORTANT                 • If the moving amount of any of the specified axes is set to 0, an alarm will occur in the motion program.
(2) Format
MVT [Logical axis name 1] Reference position [Logical axis name 2] Reference position [Logical axis name 3] Reference position ...
T Positioning time ;
8-88
                                                                                                8.2 Axis Move Commands
Time (t)
Positioning time T
       The actual operation when the acceleration time T1 is less than the deceleration time T2 will be as shown below.
                   Speed (V)
Time (t)
Positioning time T
       The feed speed set by VEL command will be changed accordingly. After executing the MVT command, reset the
       feed speed by using VEL command.
          An in-position check is executed for axis movement by MVT command execution, as well as for MOV command execu-
INFO
          tion, to verify that the axis enters the positioning completed range.
           ABS;
           ACC [A1]1000;
           DCC [A1]1000;
           MVT [A1]4000 T1000;
           END;
                                             Positioning in
                                             one second
        Program                                  4000
        current
        position                                                            A1
                                               End position
                                                                                                                           8-89
       8 Command Reference
       8.2.10 External Positioning (EXM)
              (1) Overview
                   The External Positioning command (EXM) is an extended Positioning command (MOV).
                   The EXM command executes positioning by using an incremental value to move the axis the specified moving
                   amount when the external positioning signal is turned ON. If the external positioning signal is not turned ON, the
                   axis completes positioning at the reference position specified in the EXM command block.
                   Only one axis can be specified in an EXM command block.
Time (t)
                   When a negative value is specified for the moving amount, the axis decelerates to a stop and then moves in the
                   negative direction.
          IMPORTANT                 • For the external positioning signal, refer to the relevant motion module manual.
                                    • The External Positioning command (EXM) cannot be used with a PO-01 module.
                                      If used, an alarm will occur in the motion program.
                                    • Special care must be taken to use the external latch input signal, because it is also used for the zero point
                                      return operation.
(2) Format
EXM [Logical axis name 1] Reference position D Moving amount from when the external positioning signal is input ;
8-90
                                                                                                        8.2 Axis Move Commands
                     Speed (V)
                                                                      a) Moving amount from when
                                                                         the external positioning signal is input
            Rated speed
                                                                                                  Acceleration/deceleration type
                                                                                                  (Same as for MOV command)
        Positioning speed
              (VEL)
                                         Moving amount
                                   (Same as for MOV command)
                                                                                                         Time (t)
                                 Acceleration time                            Deceleration time
                                     (ACC)                                       (DCC)
INFO The PO-01 module does not have the external positioning function.
           ABS;
           ACC [A1]1000;
           DCC [A1]1000;
           VEL [A1]2000;
           DL00000 = 1000;
           EXM [A1]4000 DDL00000;
           END;
                                                                                                                                   8-91
       8 Command Reference
       8.3.1 Current Position Set (POS)
                                                                               CAUTION
                     • Care is required with the Current Position Set (POS) command.
                       The Current Position Set (POS) command is used to create new work coordinate system values. If POS is specified
                       incorrectly, subsequent move operations will be entirely different. Before starting operations, be sure to check that the
                       work coordinate system is specified correctly.
                       Failure to carry out this check may result in damage to equipment, serious personal injury, or even death.
              (1) Overview
                   The Current Position Set command (POS) changes the current position to a desired coordinate value to create a
                   new coordinate system. In this manual, the newly set coordinate system is referred to as the “work coordinate
                   system” while the original coordinate system of machine is referred to as the “machine coordinate system.”
                   Move commands coded after a POS command will be executed to move axes in the work coordinate system.
                    Coordinate System                  Description                                                           Remarks
                     Machine Coordi-                                                                      The position for zero point return is the ori-
                                      Original coordinate system of machine
                      nate System                                                                         gin (0).
                     Work Coordinate         Coordinate system constructed by the user                    A new coordinate system constructed by
                         System              defined position                                             POS command execution
                                                                Logical axis 2
                                                                             Logical axis 2
                                                                                              (Logical axis 1)
                                                                                                                 Current position
                                                                                                                       Logical axis 1
                                   Zero point return position                  (0,0) Work coordinate system
                                   (Origin of machine
                                    coordinate system)
                                                                                                                           Logical axis 1
                                                                   (0,0)        Machine coordinate system
                   The work coordinate system can be changed as often as desired by using the POS command. The machine coor-
                   dinate system must be set in advance. The machine coordinate system is not affected by the POS command.
                   Up to 16 axes can be designated in a POS command block. The work coordinate system for an axis not designated
                   in the POS command block will not be constructed or updated.
                   Move commands in a work coordinate system cannot exceed the maximum programmable value when converted
                   to coordinates in the machine coordinate system.
8-92
                                                                                                         8.3 Axis Control Commands
      The following table shows the setting status of the machine coordinate system and the work coordinate system.
                                           Table 8.1 Coordinate System Setting Timing
             * 1. Default setting: The current position is set as the machine coordinate origin when the power is turned
                  ON. If the Zero Point Return operation is then not executed, the software limit switch function will not
                  be effective.
             * 2. Yes: The machine coordinate origin is set using the position information in the absolute position detec-
                  tion encoder.
             * 3. Cancelled: The previously set work coordinate system is cancelled, and the work coordinate system is
                  the same as the machine coordinate system.
(2) Format
POS [Logical axis name 1] Coordinate axis [Logical axis name 2] Coordinate axis ... ;
          DL00000 = IL8010;            " Get Machine Coordinate System Calculated Position (CPOS) of Axis A1
          DL00002 = IL8090;            " Get Machine Coordinate System Calculated Position (CPOS of Axis B1
          POS [A1]DL00000 [B1]DL00002; " Cancel work coordinate system
END;
                                                                                                                                          8-93
       8 Command Reference
       8.3.2 Move On Machine Coordinates (MVM)
                                                                               CAUTION
                   • The Move ON Machine Coordinates (MVM) command is used to position the coordinate positions in a
                     machine coordinate system. If the machine coordinate origin is designated without being verified, unex-
                     pected move operations will result. Before starting operations, be sure to check that the position designated
                     in the machine coordinate system is correct.
                     Failure to carry out this check may result in damage to equipment, serious personal injury, or even death.
             (1) Overview
                  The Move ON Machine Coordinates (MVM) command is used to move axes in a machine coordinate system
                  after a work coordinate system that is different from the machine coordinate system has been set by Current Posi-
                  tion Set (POS).
                  Specifying an MVM command for an axis move command temporarily moves the axis to the absolute coordinate
                  position in the machine coordinate system. During execution of an MVM command, the axis moves in ABS
                  mode regardless of the movement mode setting.
                  The MVM command is valid only in the MVM command coded block. For example, the axis moves in the work
                  coordinate system in the linear interpolation (MVS) in the next block or following blocks.
(2) Format
150
                                                                    A1
                     100      Program current position
                                               (0,0)      Work coordinate system
                                                                               A1
                      (0,0)      50         100          150   Machine coordinate system
8-94
                                                                                               8.3 Axis Control Commands
   (1) Overview
       The Program Current Position Update command (PLD) updates a program current position that has been shifted
       by a manual intervention, etc.
       If an axis movement is executed outside a motion program while the motion program is running (such as when an
       axis is moved by JOG, STEP, or a user function), the program current position will not be updated. If the motion
       program is executed in this status, the axis will move to the position shifted for the moving amount by manual
       intervention. To solve this problem, a PLD command is used to update the program current position.
(2) Format
PLD [Logical axis name 1] [Logical axis name 2] [Logical axis name 3] ... ;
           MOV [A1]1000;
                            " Axis [A1] is moved by JOG during this command block is being executed.
           PLD [A1];     " Updates the program current position.
           MOV [A1]2000;
           MOV [A1]1000;
           UFC FNC10 MB000000 IW0100 MB000020;             " Axis [A1] is moved by a user function
           PLD [A1];                                       " Updates the program current position.
           MOV [A1]2000;
                                                                                                                            Command Reference
INFO     The PLD command can be executed by the user in some applications. The PLD command cannot be used in some of the
         applications where manual intervention is required while the motion program is running.
                                                                                                                           8-95
       8 Command Reference
       8.3.4 In-Position Check (PFN)
              (1) Overview
                   The In-Position Check command (PFN) verifies whether the axis being moved by an interpolation related com-
                   mand enters the NEAR position range (NEAR signal output width).
                   For an axis that is being moved by interpolation related command MVS, MCW, MCC, or SKP, an in-position
                   check is normally not executed. Use a PFN command to verify that the axis enters the NEAR position range.
                                                                            In-position check
                                                                        executed by PFN command
                   Bit 3 (NEAR position) of motion monitoring parameter IW0C turns ON when the following condition is sat-
                   isfied.
                   Use INP command to set the NEAR signal output width.
                        MPOS           : Motion monitoring parameter IL12 (Machine coordinate system reference position)
                        APOS           : Motion monitoring parameter IL16 (Machine coordinate system feedback position)
        INFO          If the NEAR signal output width is set to 0, bit 3 of motion monitoring parameter IW0C turns ON when the distribu-
                      tion of the reference value, including the filter, is completed.
(2) Format
8-96
                                                                                         8.3 Axis Control Commands
Speed (V)
Time (t)
Command Reference
                                                                                                                     8-97
       8 Command Reference
       8.3.5 Set In-Position Range (INP)
              (1) Overview
                   The Set In-Position Range command (INP) is used to set the NEAR signal output width (in-position check
                   width). Up to 16 axes can be designated in an INP command block. Motion setting parameter OL20 (NEAR
                   signal output width) for each designated axis is updated.
                   The reference range is between 1 and 65535 (reference unit).
                            Speed (V)
                                           Motion monitoring parameter
                                                                                      In-position check starts.
                                           IL16: Machine coordinate system
                                           feedback position (APOS)
Time (t)
        INFO          The SVR module does not have motion setting parameter OL20 (NEAR signal output width).
                      With the SVR module, the NEAR signal output width is treated as 0 (zero).
(2) Format
INP [Logical axis name 1] NEAR signal output width [Logical axis name 2] NEAR signal output width ... ;
8-98
                                                                                                8.3 Axis Control Commands
                                                                                    B1
                                                                                         1000
                                                                                                                        200
        ABS;
        MOV [A1]0 [B1]0;       “ Positioning to the zero point
        INP [A1]100 [B1]200;   “ Sets the in-position check width
        MVS [A1]1000 PFN;
        MVS [B1]1000 PFN;
                                                                                                                       A1
        MVS [A1]-1000 ;                                             -1000                (0, 0)                 1000
        END;
                                                                                                          100
Command Reference
                                                                                                                              8-99
    8 Command Reference
    8.3.6 Coordinate Plane Setting (PLN)
           (1) Overview
                The Coordinate Plane Setting command (PLN) defines two logical axes set in the parameters to designate a coor-
                dinate plane. Always execute a PLN command before executing a Circular Interpolation command (MCW,
                MCC) and Helical Interpolation command (MCW, MCC).
                The designated coordinate plane remains in effect until it is reset by another PLN command or until the END
                command.
(2) Format
B1
                                                                             End position
                                               50
                           Program
                           current position                                            A1
                                       (0,0)                                50
        INFO       Designate an end position and a center position for circular interpolation and helical interpolation in the same order used to
                   specify the axes in the PLN command block.
8-100
                                                                                                8.4 Program Control Commands
   (1) Overview
      The branching commands IF ELSE IEND execute the block between IF and ELSE when a conditional expres-
      sion is satisfied. If the conditional expression is not satisfied, the block between ELSE and IEND is executed.
      ELSE can be omitted. If it is omitted and the conditional expression is not satisfied, execution will continue from
      the block after IEND.
         Conditional
                         Not satisfied
         expression
Satisfied
Process 1 Process 2
IMPORTANT Nesting of the branching commands IF ELSE IEND is restricted to a maximum of eight levels.
(2) Format
         IF (conditional_expression);
          ··· (Process_1)
         ELSE;
          ··· (Process_2)
         IEND;
                                                                                                                               Command Reference
                                                                                                                           8-101
    8 Command Reference
    8.4.1 Branching Commands (IF ELSE IEND)
               The conditional expressions that can be used for the branching commands are as follows.
               (a) Bit Data Comparison
                                    • Use == (MATCH) command for data comparison.
                                    • Specify a register on the left, and 0 or 1 on the right.
                Format
                                         IF MB000000 == 0; "MB000000 = 0
                                         IF MB000000 == 1; "MB000000 = 1
                                    • &, ⏐, and ! (AND, OR, and NOT) can be used.
                Operations in            IF (MB000000 & MB000001) == 1; "MB000000=1 AND MB000001=1
                Conditional              IF (MB000000 & !MB000001) == 1; "MB000000=1 AND MB000001=0
                Expression               IF (MB000000 | MB000001) == 1; "MB000000=1 OR MB000001=1
                                         IF (MB000000 | !MB000001) == 1;       "MB000000=1 OR MB000001=0
                                    • When a <> (MISMATCH) is used:
                                         IF MB000000 <> 0;               => Syntax error
                                    • When a numerical value is specified on the left, or a register is specified on the right:
                                         IF 1 == MB000000;              => Syntax error
                Syntax Error             IF MB000000 == MB000001; => Syntax error
                Examples            • No data comparison command:
                                         IF MB000000; => Syntax error
                                         IF (0);          => Syntax error
                                    • When more than one data comparison command is used:
                                         IF (MB000000 == 0) & (MB000001 == 1); => Syntax error
                   IF MB000000== 1;
                      MOV [A1] 10000;     " If MB000000 is ON, A1 starts positioning.
                   ELSE;
                      MOV [B1] 10000;     " If MB000000 is OFF, B1 starts positioning.
                   IEND;
8-102
                                                                                                8.4 Program Control Commands
  (1) Overview
     The Repeat commands (WHILE WEND) repeatedly execute the blocks from WHILE and WEND as long as the
     conditional expression is satisfied. When the conditional expression is no longer satisfied, program execution
     will jump to the block after WEND.
Satisfied
Process
                      • Nesting of the repeat commands (WHILE WEND) is restricted to a maximum of eight levels.
IMPORTANT             • If the repeated program section is created using only commands for which processing is completed in one
                        scan, the Machine Controller may be overloaded by the scan processing, resulting in scan time over or
                        watchdog timer error.
                        When using a command for which processing is completed in one scan, be sure to enter EOX (SCAN
                        WAIT) or TIM (DWELL TIME).
                         Refer to 7.5 Commands and Execution Scans for information on the commands for which processing is
                         completed in one scan.
(2) Format
        WHILE (conditional_expression) ;
         ··· ;
        (Process) ;
                                                                                                                                    Command Reference
         ··· ;
        WEND ;        " End of Repeat
                                                                                                                                  8-103
    8 Command Reference
    8.4.2 Repeat (WHILE WEND)
              The conditional expressions that can be used for repeat commands are as follows.
              (a) Bit Data Comparison
                                  • Use == (MATCH) command for data comparison.
                                  • Specify a register on the left, and 0 or 1 on the right.
               Format
                                       WHILE MB000000 == 0; "MB000000 = 0
                                       WHILE MB000000 == 1; "MB000000 = 1
                                  • &, ⏐, and ! (AND, OR, and NOT) can be used.
               Operations in           WHILE (MB000000 & MB000001) == 1; "MB000000=1 AND MB000001=1
               Conditional             WHILE (MB000000 & !MB000001) == 1; "MB000000=1 AND MB000001=0
               Expression              WHILE (MB000000 | MB000001) == 1; "MB000000=1 OR MB000001=1
                                       WHILE (MB000000 | !MB000001) == 1;       "MB000000=1 OR MB000001=0
                                  • When a <> (MISMATCH) is used:
                                       WHILE MB000000 <> 0;                  => Syntax error
                                  • When a numerical value is specified on the left, or a register is specified on the right:
                                       WHILE 1 == MB000000;                 => Syntax error
               Syntax Error            WHILE MB000000 == MB000001; => Syntax error
               Examples           • No data comparison command:
                                       WHILE MB000000; => Syntax error
                                       WHILE (0);             => Syntax error
                                  • When more than one data comparison command is used:
                                       WHILE (MB000000 == 0) & (MB000001 == 1); => Syntax error
8-104
                                                                                   8.4 Program Control Commands
B1 Circle 10
Circle 9
                          Circle 3
                       Circle 2
Circle 1
             50
                                                                       A1
             (0,0)
                          50
Command Reference
                                                                                                             8-105
    8 Command Reference
    8.4.3 Parallel Execution (PFORK, JOINTO, PJOINT)
          (1) Overview
               The Parallel Fork (PFORK) command performs parallel execution for blocks with the designated labels. After
               each parallel process has been executed, execution is merged at the label designated by the JOINTO command. A
               maximum of four parallel processes can be designated.
               For further in formation on the labels, refer to 7.1.2 (1) Label.
PFORK
                  Label X
                       PJOINT
8-106
                                                                                                8.4 Program Control Commands
PFORK
0001 0002
0003
                  • If the same label is used more than once in a program, an error will result (“Duplicate labels are defined”).
IMPORTANT         • If the number of PFORK branches and the number of labels are different, an error will result.
(2) Format
          Label 1: Process 1
                     JOINTO Label X;
          Label 2: Process 2
                     JOINTO Label X;
          Label 3: Process 3
                     JOINTO Label X;
          Label X: PJOINT
                                                                                                                                    Command Reference
                                                                                                                                8-107
    8 Command Reference
    8.4.3 Parallel Execution (PFORK, JOINTO, PJOINT)
                   MOV[A1]100.[B1]150.
                   MVS[A1]200.[B1]250.
                        PFORK
                                                            0002                   0003
                       0001
IOW MB120001==1
                       0004
                         PJOINT
MOV[A1]500.[B1]500.[C1]500.
Fig. 8.57 Parallel Execution Command (PFORK, JOINTO, PJOINT) Programming Example
8-108
                                                                                                   8.4 Program Control Commands
   (1) Overview
       The Selective Execution commands (SFORK, JOINTO, SJOINT) execute labelled blocks following question
       marks (?) when the designated conditional expressions are satisfied. After each parallel process has been exe-
       cuted, execution is merged at the block with the label designated by the JOINTO commands. Up to 16 condi-
       tional expressions including DEFAULT can be designated.
       If not all the designated conditional expressions are satisfied, the labelled block following DEFAULT? is exe-
       cuted.
       DEFAULT can be designated only in the last conditional expression.
       DEFAULT designation can be omitted in motion programs, but not in sequence programs.
          • With MP2000 series Machine Controller, the system version number must be Ver.2.66 or later to use the SFORK com-
INFO        mand in sequence programs. There is no limitation in the system version number for using the SFORK command in
            motion programs.
          • The following versions of programming tool MPE720 are required to designate DEFAULT.
                       MP2000 Series
                                                  Required Version               MPE720                 Required Version
                      Machine Controller
                                                                             MPE720 Ver.5          MPE720 Ver.5.41 or later
                         All models              Any version number                                MPE720 Ver.6.06 or later
                                                                             MPE720 Ver.6
                                                                                                   MPE720 Ver.6.06 Lite or later
JOINTO Label X JOINTO Label X JOINTO Label X JOINTO Label X JOINTO Label X
Label X
               SJOINT
                                                                                                                                     Command Reference
INFO      • The conditional expressions are examined in order from conditional expression 1. Even when more than one condi-
            tional expression is satisfied, processing is executed from the label that first satisfies the conditional expression.
          • When using an SFORK command in motion programs, be sure to code conditions that will be satisfied. If a condition is
            not satisfied, processing will remain in wait status at the SFORK command block until the condition is satisfied.
                                                                                                                                   8-109
    8 Command Reference
    8.4.4 Selective Execution (SFORK, JOINTO, SJOINT)
(2) Format
                    
                  SFORK Conditional expression 1 ? Label1, Conditional expression 2 ? Label 2, Conditional expression 3 ?
                  Label 3, Conditional expression 4 ? Label 4,
                  ....., DEFAULT? Label n ;
                      Label 1: Process 1
                                 JOINTO        Label X
                      Label 2: Process 2
                                 JOINTO        Label X
                      Label 3: Process 3
                                 JOINTO        Label X
                      Label 4: Process 4
                                 JOINTO        Label X
                                  •
                                  •
                      Label n: Process n
                                 JOINTO Label X
                      Label X: SJOINT
               The conditional expressions that can be used for selective execution command (SFORK) are as follows.
               (a) Bit Type Data Comparison
                                      • Use == (MATCH) command for data comparison.
                                      • Specify a register on the left, and 0 or 1 on the right.
                Format
                                            MB000000 == 0? Label "MB000000 = 0
                                            MB000000 == 1? Label "MB000000 = 1
                                      • &, ⏐, and ! (AND, OR, and NOT) can be used.
                Operations in               (MB000000 & MB000001) == 1? Label "MB000000 =1 AND MB000001 = 1
                Conditional                 (MB000000 & !MB000001) == 1? Label "MB000000 =1 AND MB000001 = 0
                Expressions                 (MB000000 | MB000001) == 1? Label "MB000000 =1 OR MB000001 = 1
                                            (MB000000 | !MB000001) == 1? Label "MB000000 =1 OR MB000001 = 0
                                      • When <> (MISMATCH) is used:
                                            MB000000 <> 0? Label            => Syntax error
                                      • When a numerical value is specified on the left, or a register is specified on the right:
                                            1 == MB000000? Label                => Syntax error
                Syntax Error                MB000000 == MB000001? Label => Syntax error
                Examples              • No data comparison command:
                                            MB000000? Label => Syntax error
                                            (0)? Label          => Syntax error
                                      • When more than one data comparison command is used:
                                            (MB000000 == 0) & (MB000001 == 1)? Label => Syntax error
8-110
                                                                                     8.4 Program Control Commands
Command Reference
                                                                                                               8-111
    8 Command Reference
    8.4.4 Selective Execution (SFORK, JOINTO, SJOINT)
                      MOV [A1]100.[B1]150.;
                      MVS [A1]200.[B1]250.F1000;
                      SFORK MW00100==1 ? 0001,MW00100==2 ? 0002,MW00100==3 ? 0003,DEFAULT ? 0004;
                    0001:MVS [A1]300.[B1]100.F3000;
                      JOINTO 0005
                    0002:MVS [A1]300.[C1]100.F3000;
                      JOINTO 0005
                    0003:MVS [C1]300.[S]100.F3000;
                      JOINTO 0005
                    0004:JOINTO 0005;
                    0005:SJOINT;
                    MOV[A1]500.[B1]500.[C1]500.
                  MOV[A1]100.[B1]150.
                  MVS[A1]200.[B1]250. F1000;
SFORK
SJOINT
MOV[A1]500.[B1]500.
Fig. 8.59 Selective Execution Command (SFORK, JOINT, SJOINT) Programming Example
8-112
                                                                                             8.4 Program Control Commands
  (1) Overview
     The Motion Subprogram Call command (MSEE) can call a subprogram that has been stored in the motion pro-
     gram memory from the motion program.
     Nesting of the subprogram call command (MSEE) is restricted to a maximum of eight levels.
MPM001
        MOV [A1]1000;
                                    MPS002 (1st level nesting)
        MSEE MPS002;
A subprogram return command (RET) must be coded at the end of the subprogram.
                  Restrictions on Subprograms
IMPORTANT
                   The following restrictions apply to motion program coding within a subprogram.
                    • A maximum of two parallel executions with a PFORK command
                    • If the program number of a main program is called by an MSEE command, the program will not be exe-
                      cuted.
(2) Format
       MSEE MPS101;
            Subprogram number designation
                                                                                                                           8-113
    8 Command Reference
    8.4.6 Sequence Subprogram Call (SSEE)
          (1) Overview
               The Sequence Subprogram Call command (SSEE) calls a subprogram that has been stored in the sequence pro-
               gram memory from the sequence program.
               Nesting of the subprogram call command is restricted to a maximum of eight levels.
                                   SPM001
                                  MW00000=1;
                                                             SPS002 (1st level nesting)
                                  SSEE SPS002;
                                  ....                       MW00000=2;
                                                                                          SPS003 (2nd level nesting)
                                   ....                      SSEE SPS003;
                                                             ....                         MW00000=3;
                                  END;
                                                             ....                         ....
                                                             RET;                         ....
                                                                                          RET;
                           Restrictions on Subprograms
        IMPORTANT
                            The following restriction applies to sequence program coding within a subprogram.
                             • If a main program is called by the SSEE command, the program will not be executed.
(2) Format
                  SSEE SPS101;
                       Subprogram number designation
8-114
                                                                                                  8.4 Program Control Commands
  (1) Overview
     The User Function Call From Motion Program command (UFC) calls a user function (ladder program) from a
     motion program.
     When execution of the called user function is completed, the block after the UFC command block will be exe-
     cuted.
                  For the user function called from the motion program, output bit YB000000 is used for completion judgement
IMPORTANT         (Complete Bit).
                   • When YB000000 = OFF at the completion of execution of user function:
                   • Execution of the user function is recognized as incomplete, and the user function will be called again during
                     the next scan.
                   • When YB000000 = ON at the completion of execution of user function:
                   • Execution of the user function is recognized as complete, and the block after the UFC command block will
                     be executed.
(2) Format
           * The input address can be omitted. [UFC Input data, Output data;] is used if there is no input
             address. The minimum requirement is one input data item and one output data item.
Command Reference
                                                                                                                                 8-115
    8 Command Reference
    8.4.7 User Function Call From Motion Program (UFC)
                                                           Function name
                                        MB000000                                       MB000001
                                                         INPUT-1 OUTPUT-1
                                                             INPUT-4
                                                             MA00100
                Create the user functions (ladder pro-    Create the user functions in the same way as for the
                gram).                                    drawings, except for the register type to be used.
8-116
                                                                                                       8.4 Program Control Commands
                                              X registers                         Y registers
              Bit data input               (Input registers)                   (Output registers)                Bit data output
              B-VAL                    XB000000 to XB00000F              YB000000 to YB00000F                            B-VAL
              (16 bits max.)
                                               XW0001                              YW0001
                                               XW0002                              YW0002
                                               XW0003                              YW0003
                                               XW0004                              YW0004
                                                                                       
                                                                                       
                                                                                                                      I-REG,
             I-REG,                                                                                                     L-REG output
             L-REG input                                                               
              (16 words max.)                                                          
                                                                                       
                                                                                       
                                                                                       
                                               XW00014                             YW00014
                                               XW00016                             YW00016
Command Reference
                                                                                                                                   8-117
    8 Command Reference
    8.4.7 User Function Call From Motion Program (UFC)
8-118
                                                                                8.4 Program Control Commands
                                         X register
              DB000000
                                                                 Y register              DB000002
MW00030
Command Reference
                                                                                                          8-119
    8 Command Reference
    8.4.7 User Function Call From Motion Program (UFC)
                1.   Open the Ladder subwindow. Right-click Function under Ladder program. Click New in the pop-up
                     menu that will appear.
                2.   Enter FUNC-T1 in the Program Name input field in the Create New Program dialog box, and then
                     click OK.
8-120
                                                                                8.4 Program Control Commands
3.   A blank ladder program field will appear in the Ladder subwindow. Right-click FUNC-T1 to select Prop-
     erty from the pop-up menu.
4.   In the Program Property window, click Function input definition under I/O definition to set the num-
     ber of function inputs and data type, and click Function output definition to set the number of function
     outputs and data type.
       Example: For the UFC command block UFC FUNC-T1 MW00030 ML00032,,DB000001;,
                the settings in the Program Property window are as shown below.
Command Reference
                                                                                                           8-121
    8 Command Reference
    8.4.7 User Function Call From Motion Program (UFC)
                5.   Close the DWG Configuration Definition window, and edit the user function program in the ladder
                     program edit window.
7. In the Motion Editor window, create a program to call user function FUNC-T1.
               The user function that is called from the motion program is created.
               Execute the motion program to check the operation.
8-122
                                                                                                   8.4 Program Control Commands
   (1) Overview
       The User Function Call from Sequence Program command (FUNC) calls user functions (ladder programs) from
       the sequence program.
(2) Format
UFC Function name Input data 1 Input data 2 Input data 3 ....., Input address,
              Note: 1. More than one item for input data and output data can be described.
                       (At least one item each for input data and output data must be described.) The input address
                       can be omitted.
                       When the input address is omitted, describe only the comma (,).
                    2. The FUNC command calls a user function. The execution proceeds to the next block after
                       the FUNC command whether or not the user function execution has been completed.
                                     Function name
                  MB000000                                       MB000001
                                 INPUT-1 OUTPUT-1
                                       INPUT-4
                                       MA00100
                                                                                                                              8-123
    8 Command Reference
    8.4.9 Program End (END)
          (1) Overview
               The Program End command (END) ends program operation.
               No other commands can be coded in the same block as the END command.
               Program operation ends after execution of the END command block.
               If there is a move command in the previous block, the program operation ends after the in-position check is com-
               pleted.
(2) Format
                  END;
                  Program end
8-124
                                                                                     8.4 Program Control Commands
  (1) Overview
     The Subprogram End command (RET) ends subprogram operation.
     After operation of the called subprogram is ended by the RET command, execution proceeds to the block after
     the Motion Subprogram Call command (MSEE) or Sequence Subprogram Call command (SSEE) in the main
     program or subprogram that called the subprogram.
MPM001
       MOV [A1]1000;
                                MPS002
       MSEE MPS002;
                                   MOV [B1]1000;
                                  MOV [C1]1000;
                                   RET;
(2) Format
        RET;
        Subprogram end
Command Reference
                                                                                                                   8-125
    8 Command Reference
    8.4.11 Dwell Time (TIM)
           (1) Overview
                The Dwell Time command (TIM) causes execution to pause for a specified period of time before the start of exe-
                cution of the next command block.
                A period of time between 0.00 to 600.00 seconds can be specified.
(2) Format
                    MOV [A1]100;
                    TIM T250 ;
                         2.5 seconds
Speed (V)
                                                                                     Time (t)
                                                      2.5 s
8-126
                                                                                                   8.4 Program Control Commands
   (1) Overview
      The I/O Variable Wait command (IOW) causes execution to wait until the status specified by the conditional
      expression is satisfied. When the condition is satisfied, execution proceeds to the next block.
(2) Format
IOW IB00001&IB00002 == 1;
      The conditional expressions that can be used in the IOW command block are as follows.
      (a) Bit Data Comparison
                               • Use = = (MATCH) command for data comparison.
                               • Specify a register on the left, and 0 or 1 on the right.
       Formant
                                    IOW MB000000 == 0; "MB000000 = 0
                                    IOW MB000000 == 1; "MB000000 = 1
                               • &, , and ! (AND, OR, NOT) can be used.
       Operations in                IOW (MB000000 & MB000001) == 1; "MB000000 =1 AND MB000001 = 1
       Conditional                  IOW (MB000000 & !MB000001) == 1; "MB000000 =1 AND MB000001 = 0
       Expression                   IOW (MB000000 | MB000001) == 1; "MB000000 = 1 OR MB000001 = 1
                                    IOW (MB000000 | !MB000001) == 1;     "MB000000 = 1 OR MB000001 = 0
                               • When <> (MISMATCH) is used:
                                    IOW MB000000 <> 0;          => Syntax error
                               • When a numerical value is specified on the left, or a register is specified on the right:
                                    IOW 1 == MB000000;                => Syntax error
                                                                                                                                  Command Reference
                                                                                                                               8-127
    8 Command Reference
    8.4.12 I/O Variable Wait (IOW)
                     IOW (MB001001&MB001002)== 1;
                     MOV [A1]1000;
                                     Speed
                                                            Positioning for the axis A1
Time
MB001001
MB001002
8-128
                                                                                 8.4 Program Control Commands
  (1) Overview
     The One Scan Wait command (EOX) causes program execution to be suspended for one scan.
     The block after EOX command will be executed in the next scan.
(2) Format
EOX;
       WHILE OB00010==1;
       EOX;
       WEND;
Command Reference
                                                                                                           8-129
    8 Command Reference
    8.4.14 Single-block Signal Disabled (SNGD)/Single-block Signal Enabled (SNGE)
           (1) Overview
                The Single-block Signal Disabled command (SNGD) and the Single-block Signal Enabled command (SNGE) are
                used to specify whether to disable or enable the single step operation when debugging a program.
                Regardless of the single-block operation mode setting, the blocks enclosed between SNGD and SGNE com-
                mands are executed continuously without single-block stops.
(2) Format
                      SNGD;
                    Blocks to be continuously executed
SNGE;
                    In the above example, the blocks 1 to 3 enclosed between SNGD and SNGE commands are executed contin-
                    uously without single-block stops regardless of the single-block operation mode setting.
8-130
                                                                                                             8.5 Arithmetic Operations
    (1) Overview
        The operation result on the right side of the expression is substituted in the register on the left side.
(2) Format
A B
           B         MB001000=1;
                                                                                                                                         Command Reference
W MW00100=12345;
L ML00100=1234567;
F MF00100=1.2345;
                                                                                                                                    8-131
    8 Command Reference
    8.5.2 Add (+)
           (1) Overview
                ADD (+) performs integer and real number addition on the right side and stores the result in the register on the
                left side. With mixed integers and real numbers, the data type on the left side is also stored.
(2) Format
W MW00101=MW00100+12345;
L ML00106=ML00102+ML00104;
F MF00202=MF00200+1.23456;
        IMPORTANT                 With an operation where the variables are of different data types, the result will be stored according to the data
                                  type on the left side.
                                  For details, refer to 6.1.2 Global Variables and Local Variables.
8-132
                                                                                                        8.5 Arithmetic Operations
   (1) Overview
       Subtract (-) performs integer and real number subtraction on the right side and stores the result in the register on
       the left side. With mixed integers and real numbers, the data type on the left side is stored.
(2) Format
A B C
W MW00101=MW00100-12345;
          L     ML00106=ML00102-ML00104;
                                                                                                                                    Command Reference
F MF00202=MF00200-1.23456;
                                                                                                                               8-133
    8 Command Reference
    8.5.4 Multiply (*)
            (1) Overview
                 Multiply (*) performs integer and real number multiplication on the right side and stores the result in the register
                 on the left side. With mixed integers and real numbers, the data type on the left side is stored.
(2) Format
W MW00102=MW00100∗MW00101
L ML00106=ML00102∗ML00104;
F MF00202=MF00200∗1.23456;
8-134
                                                                                                        8.5 Arithmetic Operations
   (1) Overview
       Divide (/) performs integer and real number division on the right side and stores the result in the register on the
       left side. With mixed integers and real numbers, the data type on the left side is stored.
(2) Format
A B C
W MW00102=MW00100/MW00101;
          L     ML00106=ML00102/ML00104;
                                                                                                                                    Command Reference
F MF00202=MF00200/1.23456;
                                                                                                                               8-135
    8 Command Reference
    8.5.6 Remainder (MOD)
          (1) Overview
              When specified in the next block after Divide, MOD stores the remainder of the division in the specified vari-
              able. The remainder is stored as the data type on the left side.
(2) Format
                        MW00101=MW00100/3;
                 W
                        MW00102=MOD;
                        ML00106=ML00102/ML00104;
                 L
                        ML00108=MOD;
                 F                      −                                                          −
              Example: Double integers
                     ML00106=ML00100*ML00102/ML00104;
                     (173575) (100000) (60000) (34567)
                     ML00108=MOD;
                     (32975)
                              The MOD command must be specified in the next block after Divide. If it is not executed in the next block
        IMPORTANT             after Divide, the operation result cannot be guaranteed.
8-136
                                                                                                                8.6 Logic Operation
 8.6.1 OR (|)
                                                                                Motion Programs            Sequence Programs
                                                                                  Applicable                   Applicable
    (1) Overview
       OR performs a logical OR for the immediately preceding operation result and the specified registers, and returns
       the operation result. Real number registers cannot be used.
       Table 8.3 Logical OR Truth Table (A=B|C)
             B              C              A
             0              0              0
             0              1              1
             1              0              1
             1              1              1
(2) Format
                                                                                                                                 8-137
    8 Command Reference
    8.6.1 OR (|)
B MB001000=MB001010|MB001011;
W MW00100=MW00101|MW00102
L ML00106=ML00102|ML00104;
F − −
8-138
                                                                                                              8.6 Logic Operation
  (1) Overview
      AND (&) performs a logical AND for the immediately preceding operation result and the specified registers, and
      then returns the operation result. Real number registers cannot be used.
          Table 8.4 Logical AND Truth Table
                      (A=B&C)
              B             C             A
              0             0             0
              0             1             0
              1             0             0
              1             1             1
(2) Format
A B C
B MB001000=MB001010&MB001011;
W MW00101=MW00100&00FFH;
L ML00106=ML00102&ML00104;
F − −
                                                                                                                               8-139
    8 Command Reference
    8.6.3 XOR (^)
          (1) Overview
               XOR (^) performs an exclusive logical OR for the immediately preceding operation result and the specified reg-
               isters, and then returns the operation result. Real number registers cannot be used.
                    Table 8.5 Exclusive Logical OR Truth Table
                                    (A= B ^ C)
                        B               C                 A
                        0               0                 0
                        0               1                 1
                        1               0                 1
                        1               1                 0
(2) Format
A B C
W MW00101=MW00100 ^ 00FFH;
L ML00106=ML00102 ^ ML00104;
F − −
8-140
                                                                                                                   8.6 Logic Operation
   (1) Overview
       NOT inverts the data in the specified register and returns the operation result. Real number registers cannot be
       used.
(2) Format
MB001000 = ! MB001010;
A B
B MB001000=!MB001010;
         W      MW00100=!MW00101;
                                                                                                                                         Command Reference
L ML00100=!ML00102
         F                      −                                                            −
       Example: MW00100=!MW00101;
                 MW00101
                 0001 0010         0011   0100
                           1234H
                 MW00100
                 1110 1101         1100   1011
                           EDCBH
                                                                                                                                    8-141
    8 Command Reference
    8.7.1 Data Comparison Commands (==, <>, >, <, >=, <=)
        8.7.1 Data Comparison Commands (==, <>, >, <, >=, <=)
                                                                                            Motion Programs            Sequence Programs
                                                                                              Applicable                   Applicable
          (1) Overview
               These commands are used to determine conditional expressions for commands such as branching commands
               (IF), repeat commands (WHILE), and I/O WAIT (IOW).
               The following six comparison commands are provided.
                 Comparison Command                         Meaning
                         ==                      Match
                         <>                      Mismatch
                          >                      Greater than
                          <                      Less than
                         >=                      Greater than or equal to
                         <=                      Less than or equal to
(2) Format
IF MB001000 == 1;
B IF MB001000==1;
W IF MW00100<>10;
L IF ML00100>10000;
F IF MF00100>=3.0;
8-142
                                                                                                      8.7 Data Comparisons
The conditional expressions that can be used with data comparison commands are as shown below.
(a) Bit Data Comparison
                    • Use == (MATCH) command for data comparison.
                    • Specify a register on the left, and 0 or 1 on the right.
 Format
                         IF MB000000 == 0; "MB000000 = 0
                         IF MB000000 == 1; "MB000000 = 1
                    • &, |, ! (AND, OR, NOT) can be used.
 Operations in            IF (MB000000 & MB000001) == 1;            "MB000000=1 AND MB000001=1
 Conditional              IF (MB000000 & !MB000001) == 1;           "MB000000=1 AND MB000001=0
 Expression               IF (MB000000 | MB000001) == 1;            "MB000000=1 OR MB000001=1
                          IF (MB000000 | !MB000001) == 1;            "MB000000=1 OR MB000001=0
                    • When <> (MISMATCH) is used:
                         IF MB000000 <> 0;                => Syntax error
                    • When a numerical value is specified on the left, and a register on the right:
                         IF 1 == MB000000;                => Syntax error
 Syntax                  IF MB000000 == MB000001; => Syntax error
 Error
 Examples           • No data comparison command:
                         IF MB000000; => Syntax error
                         IF (0);         => Syntax error
                    • When more than one data comparison command is used:
                         IF (MB000000 == 0) & (MB000001 == 1); => Syntax error
                                                                                                                        8-143
    8 Command Reference
    8.8.1 Bit Right Shift (SFR)
           (1) Overview
                 The SFR command shifts a bit string designated by the leading bit number and bit width the specified number of
                 shifts to the right.
(2) Format
                    L                            −                                                             −
                    F                            −                                                             −
Example: Five bits with MB001005 (bit 5 of MW00100) as the leading bit are shifted three bits to the right.
SFR MB001005 N3 W5 ;
                                                              9       5                0
                          MW00100                             1 1 1 1 1                    Before
                                                                                           execution
MW00100 0 0 0 1 1
0 entered.
        INFO        With the SFR command, if the number of shifts is greater than the bit width, all data with the specified bit width will be set
                    to 0.
8-144
                                                                                                                    8.8 Data Operations
   (1) Overview
       The SFL command shifts a bit string designated by the leading bit number and bit width the specified number of
       shifts to the left.
(2) Format
          L                        −                                                            −
          F                        −                                                            −
       Examples: Ten bits with MB00100A (bit A of MW00100) as the leading bit are shifted five bits to the left.
                                                                                                                                          Command Reference
                        F         A
                MW00100 1 1 0 0 0 1
                                                                 3     0
                MW00101                                          0 1 0 1
                        F         A
                MW00100 1 0 0 0 0 0                                         0 is placed in the lower five bits
                                 0 entered.                      3     0
                MW00101                                          1 0 0 0    The upper five bits are deleted.
INFO     With the SFL command, if the number of shifts is greater than the bit width, all data with the specified bit width will be set
         to 0.
                                                                                                                                      8-145
    8 Command Reference
    8.8.3 Block Move (BLK)
           (1) Overview
               The BLK command moves the specified number of words from the beginning of the source register to the begin-
               ning of the destination register.
(2) Format
                  L                         −                                                            −
                  F                         −                                                            −
               Example: MW00100 to MW00109 are moved to MW00200 to MW00209.
                                           Source                                     Destination
                         MW00100           1234H                      MW00200           1234H
                         MW00101           1235H                      MW00201           1235H
                         MW00102           1236H                      MW00202           1236H
        INFO      As long as the source registers and destination registers are not overlapped, the source data is moved to the destination reg-
                  isters as it is. If overlapped, the source data may not be moved to the destination registers as it is.
8-146
                                                                                                             8.8 Data Operations
  (1) Overview
      The CLR command clears the specified number of blocks from the leading data clear register, i.e., sets it to 0.
(2) Format
         L                       −                                                       −
         F                       −                                                       −
                                            0000         MW00100
                     0
                                            0000         MW00101
                                            0000         MW00102
                                            0000         MW00118
                                            0000         MW00119
                                                                                                                              8-147
    8 Command Reference
    8.8.5 ASCII Conversion 1 (ASCII)
           (1) Overview
                The ASCII command converts the character string specified during command execution into ASCII code and
                stores it in the specified register (integer register). Upper and lower case letters can be distinguished from each
                other.
                The first character and the second character are stored respectively in the lower byte and upper byte of the first
                word in order. If the number of characters in the string is odd, the upper byte of the last word in the storage desti-
                nation register becomes 0. The number of input characters is up to 32.
                       Note: The following versions of system software and programming tool MPE720 are required to use an
                             ASCII command.
(2) Format
                The following tables show the characters that can be used in the ASCII command.
                (a) Usable Characters
                              Item                                           ASCII Characters
                      Alphanumeric Characters       a to z, A to Z, 0 to 9
                                                    Space,
                                Symbols
                                                    ! # $ % & ( ) * + , - . / : ; < = > ? @ [ ] // ] ^ _ ` { | } ˜
8-148
                                                                       8.8 Data Operations
Command Reference
                                                                                        8-149
    8 Command Reference
    8.9.1 Sine (SIN)
           (1) Overview
                The Sine command (SIN) returns the sine of integer or real number data as the operation result. Double integer
                data cannot be used.
(2) Format
                * The input units and output results are different for integer and real number data.
                        • Integer Data
                           Integer data can be used within a range of -327.68 to 327.67 degrees. The immediately preceding opera-
                           tion result (integer data) is used as the input, and the operation result is returned in an integer register
                           (input unit1 = 0.01 degrees). The operation result is multiplied by 10000 before being output.
                        • Real Number Data
                           The command will uses the immediately preceding operation result (real number data) as input, and
                           return the sine in a real number register (unit = degrees).
                       Example:
                                                 Integer Data                                               Real Number Data
                                                                  Equivalent
                         MW00102 = SIN ( MW00100 ) ;                 => 0.5=SIN30°              MF00102 = SIN ( MF00100 ) ;
                          (05000)           (03000)                                                (0.5)             (30.0)
IMPORTANT If integer data is input outside the range of -327.68 to 327.67 degrees, a correct result cannot be obtained.
8-150
                                                                          8.9 Basic Functions
W MW00102=SIN(MW00100);
L − −
F DF00202=SIN(DF00200);
Command Reference
                                                                                           8-151
    8 Command Reference
    8.9.2 Cosine (COS)
          (1) Overview
               The cosine command (COS) returns the cosine of integer or real number data as the operation result.
               Double integer data cannot be used.
(2) Format
A B
               * The input units and output results are different for integer and real number data.
                       • Integer Data
                          Integer data can be used within a range of -327.68 to 327.67 degrees. The immediately preceding opera-
                          tion result (integer data) is used as input, and the operation result is returned in an integer register (input
                          unit 1 = 0.01 degrees). The operation result is multiplied by 10000 before being output.
                       • Real Number Data
                          The command uses the immediately preceding operation result (real number data) as input, and returns
                         the cosine in a real number register (unit = degrees).
                   Example:
                                                  Integer Data                                               Real Number Data
                                                                   Equivalent
                       MW00102 = COS ( MW00100 ) ;                   =>     0.5=COS60°           MF00102 = COS ( MF00100 ) ;
                         (05000)           (06000)                                                  (0.5)             (60.0)
IMPORTANT If integer data is input outside the range of -327.68 to 327.67 degrees, a correct result cannot be obtained.
W MW00102=COS(MW00100);
L − −
F DF00202=COS(DF00200);
8-152
                                                                                                                8.9 Basic Functions
  (1) Overview
      The TAN command uses the specified variable or constant (unit = degrees) as input and returns the tangent in a
      real number register.
(2) Format
* Example: Calculates the tangent of the input value (θ = 45.0°): TAN (θ) = 1.0
                  DF00102=TAN(DF00100);
                    (1.0)           (45.0)
                     The TAN command can use only real number data. If bits, integers, or double integers are specified, an error
IMPORTANT            will result at compilation.
        B                     −                                                          −
        W                     −                                                          −
        L                     −                                                          −
F DF00202=TAN(DF00200);
                                                                                                                                    8-153
    8 Command Reference
    8.9.4 Arc Sine (ASN)
           (1) Overview
               The ASN command uses the specified variable or constant as input and returns the arc sine (unit = degrees) in a
               real number register.
(2) Format
A B
* Example: Calculates the arc sine of the input value (0.5): ASN (0.5) = 30.0 degrees.
                               MF00202=ASN(MF00200);
                                (30.0)            (0.5)
                                  The ASN command can use only real number data. If bits, integers, or double integers are specified, an error
        IMPORTANT                 will result at compilation.
F DF00202=ASN(DF00200);
8-154
                                                                                                                 8.9 Basic Functions
  (1) Overview
      The ACS command uses the specified variable or constant as input and returns the arc cosine (unit = degrees) in
      a real number register.
(2) Format
A B
* Example: Calculates the arc cosine of the input value (0.5): ACS (0.5) = 60.0 degrees.
                     The ACS command can use only real number data. If bits, integers, or double integers are specified, an error
IMPORTANT            will result at compilation.
        W                    −                                                            −
        L                    −                                                            −
F DF00202=ACS(DF00200);
                                                                                                                                    8-155
    8 Command Reference
    8.9.6 Arc Tangent (ATN)
           (1) Overview
               The ATN command returns the arc tangent of integer or real number data as the operation result. Double integer
               data cannot be used.
(2) Format
A B
               * The input units and output results are different for integer and real number data.
                       • Integer Data
                          Integer data can be used within a range of -327.68 to 327.67 degrees. The immediately preceding opera-
                          tion result (integer data) is used as the input, and the operation result is returned in an integer register
                          (input unit 1 = 0.01 degrees). The operation result is multiplied by 100 before being output.
                       • Real Number Data
                          The command uses the immediately preceding operation result (real number data) as input, and returns
                         the arc tangent in a real number register.
                    Example:
                                                   Integer Data                                            Real Number Data
                                                                  Equivalent
                        MW00100 = ATN ( MW00102 ) ;                  =>        45=ATN(1.0)     MF00100 = ATN ( MF00102 ) ;
                         (04500)             (00100)                                             (45.0)             (1.0)
W MW00102=ATN(MW00100);
L − −
F DF00202=ATN(DF00200);
8-156
                                                                                                                         8.9 Basic Functions
  (1) Overview
     The SQT command returns the square root of an integer or real number as the operation result. Double integer
     data cannot be used.
(2) Format
A B
     Note: The input units and output results are different for integer and real number data.
             • Integer Data
                The result is different from that obtained for the mathematical square root, and is calculated using the
                following formula:
             Example:
              Input Value                             Integer Data                                             Real Number Data
                                                                                                                                               Command Reference
                                                                                                                                          8-157
    8 Command Reference
    8.9.7 Square Root (SQT)
W MW00102=SQT(MW00100);
L − −
F DF00202=SQT(DF00200);
8-158
                                                                                                                     8.9 Basic Functions
   (1) Overview
       The BCD to Binary (BIN) command converts BCD data to binary data.
       Only integer data can be used. If a non-BCD data is specified, a correct result cannot be obtained.
(2) Format
A B
       Note: Example 1
                                                               Converted to
               MW00101       1            2       3       4             MW00100       0       4       D       2
                                          (1234H)                                            1234 (decimal)
               Example 2
                                                              Converted to
               MW00101       1           2        3      F              MW00100       0       4       D       D
                                          (123FH)                                            1245 (decimal)
 EXAMPLE
                     Motion Programs/
        Type                                                                          Ladder Programs
                    Sequence Programs
         B                   −                                                                 −
W MW00101=BIN(MW00100);
L ML00102=BIN(ML00100);
F − −
                                                                                                                                      8-159
    8 Command Reference
    8.9.9 Binary to BCD (BCD)
           (1) Overview
               The Binary to BCD (BCD) command converts binary data to BCD data.
               Only integer data can be used. If the binary data is 9999 or higher or is a negative value, a correct result cannot be
               obtained.
(2) Format
               Note: Example 1
                                                                       Converted to
                         MW00101        0         4       D        2            MW00100       1       2        3      4
                                                  1234 (decimal)                                          (1234H)
Example 2
                                                                       Converted to
                         MW00101        3         0       3        9            MW00100       C       3        4      5
                                                12345 (decimal)                                           (C345H)
INFO If the binary data is greater than 9999, a correct result cannot be obtained.
W MW00101=BCD(MW00100);
L ML00102=BCD(ML00100);
F − −
8-160
                                                                                                                     8.9 Basic Functions
   (1) Overview
       This command turns ON the specified bit if the logical operation result is true. It does not turn OFF the specified
       bit, even if the logical operation result is false.
(2) Format
                     S{MB001000}=MB001010&
          B
                                       MB001011;
          W                                −                                                            −
          L                                −                                                            −
          F                                −                                                            −
Command Reference
                                                                                                                                      8-161
    8 Command Reference
    8.9.11 Reset Bit (R{ })
           (1) Overview
                 This command turns OFF the specified bit if the logical operation result is true. It does not turn ON the specified
                 bit, even if the logical operation result is false.
(2) Format
A B
                              R{MB001000}=MB001010&
                    B
                                                MB001011;
                    W                             −                                                            −
                    L                             −                                                            −
                    F                             −                                                            −
8-162
                                                                                                                 8.9 Basic Functions
  (1) Overview
     The PON command is ON during one scan of bit output when the bit input status changes from OFF to ON.
     The register that stores the previous bit output value is used as a work of PON processing. Set the registers that
     are not used for other processes.
            Note: The following versions of system software and programming tool MPE720 are required to use PON
                  commands.
                     MP2000 Series
                                                Required Version                  MPE720                  Required Version
                    Machine Controller
                                                                               MPE720 Ver.5         MPE720 Ver.5.38 or later
                       All models                 Ver.2.60 or later                                 MPE720 Ver.6.04 or later
                                                                               MPE720 Ver.6
                                                                                                    MPE720 Ver.6.04 Lite or later
(2) Format
A B C
Command Reference
                                                                                                                                    8-163
    8 Command Reference
    8.9.12 Rising Pulse (PON)
• Timing chart
DB000000
DB000001
DB000002
• Timing chart
DB000000
DB000001
                      Processing
                      in IF command
Executed only for one scan Executed only for one scan
8-164
                                                                                                                  8.9 Basic Functions
   (1) Overview
      Falling Pulse (NON) is ON during one scan of bit output when the bit input status changes from ON to OFF.
      The register that stores the previous bit output value is used as a work of NON processing. Set the registers that
      are not used for other processes.
             Note: The following versions of system software and programming tool MPE720 are required to use NON
                   commands.
                      MP2000 Series
                                                 Required Version                  MPE720                  Required Version
                     Machine Controller
                                                                                MPE720 Ver.5         MPE720 Ver.5.38 or later
                        All models                 Ver.2.60 or later                                 MPE720 Ver.6.04 or later
                                                                                MPE720 Ver.6
                                                                                                     MPE720 Ver.6.04 Lite or later
(2) Format
Command Reference
                                                                                                                                     8-165
    8 Command Reference
    8.9.13 Falling Pulse (NON)
• Timing chart
DB000000
DB000001
DB000002
8-166
                                                                                       8.9 Basic Functions
• Timing chart
DB000000
DB000001
          Processing
          in IF command
Executed only for one scan Executed only for one scan
Command Reference
                                                                                                        8-167
    8 Command Reference
    8.9.14 ON-Delay Timer (TON): Counting unit: 0.01 second
           (1) Overview
                The TON command counts the milliseconds (in units of 10 ms) when the bit input is ON. When the counted
                value is equal to the set value, the bit output will turn ON. If the bit input turns OFF during counting, the timer
                operation will stop. After the bit input turns ON again, counting starts again from the beginning (0). In the regis-
                ters for counting, the actual count (in units of 10 ms) is stored.
                       Note: The following versions of system software and programming tool MPE720 are required to use TON
                             commands.
                                MP2000 Series
                                                           Required Version                     MPE720                  Required Version
                               Machine Controller
                                                                                             MPE720 Ver.5         MPE720 Ver.5.38 or later
                                  All models                   Ver.2.60 or later                                  MPE720 Ver.6.04 or later
                                                                                             MPE720 Ver.6
                                                                                                                  MPE720 Ver.6.04Lite or later
(2) Format
        IMPORTANT               • Milliseconds are not counted while the debugging operation is stopped.
                                  Counting starts again from the current counted value after the debugging operation restarts.
                                • Be sure to designate bit input “DBxxxxxx&.”
8-168
                                                          8.9 Basic Functions
• Timing chart
DB000000
          DB000001
                     500
Command Reference
                                                                           8-169
    8 Command Reference
    8.9.15 OFF-Delay Timer (TOF): Counting unit: 0.01 second
           (1) Overview
                The TOF command counts the milliseconds (in units of 10 ms) when the bit input is OFF. When the counted
                value is equal to the set value, the bit output will turn OFF. If the bit input turns ON during counting, the timer
                operation will stop. After the bit input turns OFF again, counting starts again from the beginning (0). In the regis-
                ters for counting, the actual count (in units of 10 ms) is stored.
                       Note: The following versions of system software and programming tool MPE720 are required to use TOF
                             commands.
                                MP2000 Series
                                                               Required Version                MPE720                  Required Version
                               Machine Controller
                                                                                            MPE720 Ver.5         MPE720 Ver.5.38 or later
                                  All models                   Ver. 2.60 or later                                MPE720 Ver.6.04 or later
                                                                                            MPE720 Ver.6
                                                                                                                 MPE720 Ver.6.04Lite or later
(2) Format
A B C D
        IMPORTANT               • Milliseconds are not counted while the debugging operation is stopped.
                                  Counting starts again from the current counted value after the debugging operation restarts.
                                • Be sure to designate bit input “DBxxxxxx&.”
8-170
                                                                       8.9 Basic Functions
• Timing chart
DB000000
           DB000001
                 500
           DW00001 0                                 5.00 s  Ts
                                               㧔Ts = Scan set value㧕
Command Reference
                                                                                        8-171
    8 Command Reference
    8.10.1 C-Language Task Control (CTSK)
           (1) Overview
               The C-Language Task Control command (CTSK) is used to control operations, including start and stop, of user
               C-language tasks.
                                 Motion program/Sequence program                                    User C language tasks
Main program
Subprogram
                      Note: The following versions of system software and programming tool MPE720 are required to use CTSK
                            commands.
                  The Machine Controller MP2000 series embedded C-language package is required to use user C-language tasks.
        INFO
                  For details, refer to Machine Controller MP2000 Series Embedded C-Language Programming Package Development
                  Guide (manual no.: SIEP C880700 25).
(2) Format
8-172
                                                                                                  8.10 C-Language Control Commands
  I/O                                I/O
Defini-    No.       Name          Desig-                                           Description
 tion                              nation
            1      EXECUTE         B-VAL      Designates of execution of CTSK function.
                                              Designates the task control type.
                                              1: WAKEUP Wakes up the task from the WAIT status.
                                                              Valid only for sequence programs (low scan)
            2        TYPE          I-REG      2: RESET        Exits and deletes the task once, and then creates and starts a task.
Input
                                                              The started task then enters the WAIT status.
                                              3: SUSPEND Interrupts the task and moves the task to the SUSPEND status.
                                              4: RESUME Moves the task from the SUSPEND status to the READY status.
                                  Address     Designates the leading register number (MW/DW address) of the registers where the
            3      C_NAME
                                   input      user C-language task name (project name) is stored.
            1     COMPLETE         B-VAL      Completes execution of CTSK function
            2      ERROR           B-VAL      Error occurrence (The contents of error is reported to ERR_CODE.)
                                              Error code
                                              0x00000000 No error
                                                              DWG (drawing) type error
                                              0x0000006F
                                                               • CTSK function was executed by a sequence program (start drawing)
                                                               • TYPE setting error
                                                               • TYPE set value is out of the range.
                                              0x00000091       • The task was neither in the WAIT nor WAIT-SUSPEND status when
                                                                 the task control type WAKEUP was executed.
                                                               • The task was neither in the WAIT nor READY status when the task
Output                                                           control type SUSPEND was executed.
            3     ERR_CODE         L-REG      0x00000094 The task designated in C_NAME does not exist.
                                                              C_NAME register over the upper/lower limit
                                              0x00000096
                                                              Note: This can be detected also when EXECUTE input is OFF.
                                             0xFFFFFFDD μITRON detection error (Invalid ID number)∗
                                             0xFFFFFFCC μITRON detection error (Task not registered)∗
                                                              μITRON detection error (Illegal object status)∗
                                             0xFFFFFFC1 • The task is in DORMANT status.
                                                               • RESUME was commanded to a task that was not in SUSPEND status.
                                                              μITRON detection error (Context error)∗
                                             0xFFFFFFBB
                                                               • Cannot issue from the task independent context.
                                             0xFFFFFFB7 μITRON detection error (Queue overflow)∗
          * The μITRON detection errors will not occur normally because the system manages them.
          Note: 1. The EXECUTE input is not used for the signal rising edge, but treated as level. This is to implement task
                   control in every scan cycle.
                                                                                                                                     Command Reference
                2. The task controls except for RESET can be executed by motion programs, sequence programs for high-
                   speed scan drawing, and sequence programs for low-speed scan drawing. They cannot be executed by
                   sequence programs for start drawing.
                3. The task control type RESET can be executed only by sequence programs for low-speed scan drawing.
                                                                                                                                 8-173
    8 Command Reference
    8.10.2 C-Language Function Call (CFUNC)
Main program
                                                                             Call
                                 CFUNC
                                 command
                                                                                                   User C-language
                                                Subprogram                                         function #1
                                                                             Call
                                                   CFUNC
                                                   command
                                                                                                   User C-language
                                                                                                   function #2
                      Note: The following versions of system software and programming tool MPE720 are required to use
                            CFUNC commands.
                            MP2000 Series
                                                       Required Version               MPE720                  Required Version
                           Machine Controller
                                                                                    MPE720 Ver.5        MPE720 Ver.5.38 or later
                                All models              Ver.2.60 or later                               MPE720 Ver.6.04 or later
                                                                                    MPE720 Ver.6
                                                                                                        MPE720 Ver.6.04Lite or later
                  The Machine Controller MP2000 series embedded C-language package is required to use user C-language tasks.
        INFO
                  For details, refer to Machine Controller MP2000 Series Embedded C-Language Programming Package Development
                  Guide (manual no.: SIEP C880700 25).
8-174
                                                                                   8.10 C-Language Control Commands
(2) Format
         I/O
                                      I/O
       Defini-   No.     Name                                                 Description
                                  Designation
        tion
                 1     EXECUTE    B-VAL           Designates execution of CFUNC function
                 2     OPTION1    I-REG           Option designation 1 (For future use)
                 3     OPTION2    I-REG           Option designation 2 (For future use)
                                                  Designates the leading register No. (MW/DW address) of the registers
        Input    4     C_NAME     Address input
                                                  where the user c-language function name is stored.
                                                  Designates the leading register No. (MW/DW address) to be set for the
                 5     C_ARG.1    Address input
                                                  user C-language function 1st argument.
                                                  Designates the leading register No. (MW/DW address) to be set for the
                 6     C_ARG.2    Address input
                                                  user C-language function 2nd argument.
                 1     COMPLETE   B-VAL           Completes execution of the CFUNC function
                                                  Error occurrence
                                                   • C_NAME, C_ARG.1, C_ARG.2 register over the upper/lower limit
                                                     (The sizes of C_ARG.1 and C_ARG.2 are not taken into consider-
       Output    2     ERROR      B-VAL
                                                     ation.)
                                                  Note: Detected also when the EXECUTE input is OFF.
                                                   • The function designated in C_NAME does not exist.
                 3     C_RETURN   L-REG           Stores the return value of user C-language function as it is.
                                                                                                                      8-175
                                                                                                                             9
                                                       Engineering Tool MPE720
      This chapter describes the engineering tool MP720, for creating and editing motion programs
      and sequence programs.
                                                                                                                                       9-1
      9 Engineering Tool MPE720
      9.1.1 Overview
        9.1.1 Overview
                 The Motion Editor is a programming tool that is required to create and edit motion programs and sequence pro-
                 grams.
                 It has the full range of functions required to create and edit these programs, including text editing, compiling
                 (saving), debugging, and monitoring.
9-2
                                                                                9.1 Motion Editor
                                                                                                    9-3
      9 Engineering Tool MPE720
      9.1.2 Names and Descriptions of Motion Editor Window Components
e) f)
a)
b)
c) d)
                 c) Line
                     Displays program text lines.
                 d) Block
                     Displays program blocks.
                     When an alarm is generated in the motion program, the block where the alarm is generated is reported.
9-4
                                                                                                            9.1 Motion Editor
e) Tool icons
   The following table shows the icons used to edit programs.
                                         Key
          Function           Icon                                                  Description
                                       Operation
                                                       Deletes the selected range and stores the deleted range in the Clip-
 Cut                                   Ctrl + X
                                                       board.
 Copy                                   Ctrl + C       Reproduces the selected range in the Clipboard.
 New File
                                           −           Opens a new motion program file.
 (Motion programs)
 New File
                                           −           Opens a new sequence program file.
 (Sequence programs)
 Open                                      −           Displays the File List dialog box.
                                                       Saves the editing program to the hard disk of the computer.
                                        Ctrl + S       During online editing, the editing program will be not only be
 Save
                                                       saved to the hard disk but also downloaded (transferred) to the
                                                       Machine Controller.
                                                       Consecutively executes the following operations.
                                                        • Saves the editing program to the hard disk of the computer.
                                                        • Downloads the editing program to the Machine Controller.
 Save & Save to Flash                      −
                                                        • Saves the downloaded program to the flash memory.
                                                       All programs downloaded to the Machine Controller will be saved
                                                       to the flash memory.
 Print                                  Ctrl + P       Prints out the editing program.
 Motion Command Assist                    F12          Displays the Motion Command Assist dialog box.
                                                       Displays the Position Teach dialog box.
                                           −           The work coordinate system current position of the axis desig-
 Position Teach
                                                       nated in the Position Teach dialog box will be inserted on the
                                                       Motion Editor.
 Add/Not Add a                                         Used to select whether or not to allow use of the ENT key to add a
                                           −
 Semicolon                                             semicolon (;).
 Open Error List Dialog
                                           −           Displays the list of save errors (compile errors).
 Box
                                                       Used to select whether or not to scroll the screen in line with the
 Automatic Scroll                          −
                                                       executing line of the program during program execution.
                                                                                                                                Engineering Tool MPE720
                                                                                                                                9-5
      9 Engineering Tool MPE720
      9.2.1 Overview
        9.2.1 Overview
                 The command input assistant function helps a programmer to create a required motion program.
                 The motion commands are written in a textual language called motion language, and each command needs to be
                 written in the specified format. The Motion command assist dialog box is provided to make it easy to correctly
                 select and code the commands.
                 The following versions of MPE720 support the command input assistant function.
                         MPE720                 Supported Version
                       MPE720 Ver.5         Not supported
                                            Ver.6.04 or later
                       MPE720 Ver.6
                                            Ver.6.04 Lite or later
Note: The command input assistant function can be used for all models of MP2000-series Machine Controllers.
                 The Motion command assist dialog box can be opened from the Motion Editor window. There are two ways to
                 open the Motion command assist dialog box, as described on the next page.
9-6
                                                                     9.2 Command Input Assistant Function
• Select Motion command assist from the pop-up menu when you right-click the Motion Editor window,
  or press the function key F12.
• From the right-click menu, select Insert motion command, then select the command you want to insert.
                                                                                                            9-7
      9 Engineering Tool MPE720
      9.2.2 Motion Command Assist Dialog Box Details
                         a)
                         b)
                         c)                                               f)
d)
e)
                                                g)     h)   i)
                 a) Select command (Command options)
                     Click the arrow to open the drop-down menu that contains the commands that can be inserted.
                 b) Command format
                     Displays the programming format of the selected command.
EXAMPLE
MOV: Positioning
+: Add
9-8
                                                                                        9.2 Command Input Assistant Function
           The logical axis names displayed in the Axis column are defined in the Group Definition dialog box.
           The setting units in the Unit column are displayed according to the motion parameter settings of each axis. If
           a setting unit has not been specified, the corresponding Unit cell is displayed in yellow. Place the mouse
           pointer on the Unit cell and click the mouse. The help balloon will pop up. Follow the help balloon messages
           to set the motion parameters.
           When the selected command requires neither the settings of number of axes to be controlled nor parameters,
           the program input field will appear as shown below. Enter the command block referring to the command for-
           mat displayed above.
                                                                                                                               Engineering Tool MPE720
                                                                                                                               9-9
       9 Engineering Tool MPE720
       9.2.2 Motion Command Assist Dialog Box Details
                  f) Update button
                      Click the Update button to refresh the display in the Motion command assist dialog box.
INFO After changing the setting of a unit related motion parameter, click the Update button to refresh the display.
                  g) Insert button
                      Click the Insert button to insert the command edited in the Motion command assist dialog box at the
                      pointer position in the Motion Editor window.
                  h) Close button
                      Click the Close button to close the Motion command assist dialog box.
9-10
                                                                             9.2 Command Input Assistant Function
i) Help button
   Click the Help button to display a description of the selected command.
                                                                                                                    9-11
       9 Engineering Tool MPE720
       9.3.1 Overview
         9.3.1 Overview
                  The created motion programs and sequence programs need to be registered in the MP2000 system to run. The
                  Program execution registry screen dialog box is provided to make it easy to register the created motion pro-
                  grams and sequence programs in the MP2000 system.
                  The following versions of MPE720 support the program execution registration function.
                          MPE720               Supported Version
                        MPE720 Ver.5       Ver5.38 or later
                                           Ver6.04 or later
                        MPE720 Ver.6
                                           Ver6.04 Lite or later
There are two ways to open the Program execution registry screen dialog box:
                        • Open the M-EXECUTOR details window from the Module Configuration Definition window, and then click
                          the              icon.
9-12
                                                                               9.3 Program Execution Registration Function
a) b)
c) d)
e)
                                   h)         i) f) g)
      a) Program execution registry number
         Select the program execution registration number.
         Programs will be executed in order, from the smallest program execution registration number.
      b) Program number
         Set the program number.
      c) Execution type
         Select a program execution type from the drop-down menu:
                                                 Program to be
                      Execution Type                                                  Execution Conditions
                                                   Executed
                 Sequence program                                    At power ON
                      (Start)                                        (Executed once at power ON.)
                 Sequence program                                    Cyclic start
                                             Sequence programs
                     (L scan)                                        (Executed in low-speed scan cycle.)
                 Sequence program                                    Cyclic start
                     (H scan)                                        (Executed in high-speed scan cycle.)
                                                                     When the Program operation start request bit of con-
                                                                     trol signal turns ON.
                      Motion program         Motion programs
                                                                                                                              Engineering Tool MPE720
      d) Specification
         Select the program designation method: Direct or Indirect
         The applicable designation methods differ depending on whether the program is a motion program or a
         sequence program.
            Designa-
                           Motion       Sequence
              tion                                                               Description
                          Programs      Programs
            Method
                                                     Designate the program number.
             Direct       Applicable    Applicable
                                                     Example: MPM001, SPM002
                                                     Designate the register number that stores the program number.
            Indirect      Applicable       N/A       Example: OW0C0C (When 1 is stored in OW0C0C, MPM001 is exe-
                                                     cuted.)
                                                                                                                             9-13
       9 Engineering Tool MPE720
       9.3.2 Program Execution Registry Screen Dialog Box Details
                   e) Register allocation
                       Allocate the registers. The allocated registers exchange data in real time with the M-EXECUTOR control
                       registers. I, O, and M registers can be allocated.
                   g) Allocation DISABLE
                       Click to select or clear the corresponding check box to enable or disable the allocated register. When the
                       check box is cleared, the allocated register is enabled.
                   h) List button
                       Click the List button to display the M-EXECUTOR (list) window.
                   i) Delete button
                       Delete the definition.
9-14
                                                                                                          9.4 Debug Function
 9.4.1 Overview
       The debug function debugs motion programs and sequence programs.
       Various functions including program pause, break point setting, and step-by-step execution (single block execu-
       tion) are provided to check the created program operation.
       During debugging, the executing program line is highlighted on the screen as shown below.
Note: The debug function can be used with all MP2000-series Machine Controller models.
       To start debugging, connect the MPE720 online with the Machine Controller, and click the              icon on the
       Motion Editor window.
       During debugging, the executing program line is highlighted on the screen as shown below.
                                                                                      During debugging
                       Normal run status
Highlighted
INFO     Before debugging, the programs must be registered in the Program execution registry screen dialog box.
                                                                                                                                Engineering Tool MPE720
                                                                                                                               9-15
       9 Engineering Tool MPE720
       9.4.2 Motion Editor Window during Debugging
b)
Break F10 Pauses motion program execution in debug mode. Available Available
            Update current
                                                 −      Updates the current position coordinates.                           Available     N/A
            position
            Setting the
                                                        Sets the parallel number, nesting level, and task of the
            execute task                         −                                                                          Available   Available
                                                        selected subprogram.
            MSEE Call Stack
                                                        Enables or disables the break point.
            Set/Delete
                                      −          −      This command can be selected from the Debug menu or                 Available   Available
            Breakpoint
                                                        the drop-down menu that will appear when right clicking.
                                                        Adds the selected register to the Watch Page of Quick
                                                        Reference.
            Add Register              −          −                                                                          Available   Available
                                                        This command can be selected from the drop-down menu
                                                        that will appear when right clicking.
9-16
                                                                                                                9.4 Debug Function
       • Debug mode
        Click this icon to switch the operation mode to the debug mode and start debugging from the first line of the
        program.
INFO   The debug start line when the operation mode is switched to the debug mode differs, depending on whether you are using
       the motion program or the sequence program:
        Motion Programs
           • When debug mode is selected for a motion program that is not running
             Debugging starts from the first line of the program, as shown in the above example.
           • When debug mode is selected for a running motion program
             When the mode is switched to the debug mode while an axis is moving, debugging will start from the next command
             block after the axis movement completes.
        Sequence Programs
           • When debug mode is selected for a sequence program that is not running.
             Debugging is not possible in this case.
           • When debug mode is selected for a running sequence program.
             Debugging starts from the first line of the program, as shown in the above example.
                                                                                                                                     9-17
       9 Engineering Tool MPE720
       9.4.2 Motion Editor Window during Debugging
                    • Step in
                      Click this icon to execute one program line.
                      When this icon is clicked while an MSEE or SSEE command block is being executed, execution will jump to
                      the first line of the called subprogram.
                                      MPM001
                                                                                   MPS002
                    • Step over
                      Click this icon to execute one program line.
                      When this icon is clicked while an MSEE or SSEE command block is being executed, the called subprogram
                      will be executed and then execution will proceed to the next block of the MSEE or SSEE command block.
                                      MPM001
                                                                                    MPS002
        INFO         More than one process can be specified as the processing unit for execution of the Step in and Step over by using SNGD
                     and SNGE commands.
9-18
                                                                                                   9.4 Debug Function
• Execute
 Click this icon to continuously execute program lines. When the break point is reached, the execution will
 stop.
• Break
 Click this icon to pause a program in debug mode. To restart the program, click the Execute icon.
• Forced end
 Click this icon to forcibly end the execution of a program in debug mode.
                                                                                                                        9-19
       9 Engineering Tool MPE720
       9.4.2 Motion Editor Window during Debugging
                                   Item                                                 Description
                               Main program
                                                     Set the main program number that calls the subprogram.
                                 number
                                                     Set the parallel number of the main program that calls the subprogram.
                                                     Example: Set 3 when monitoring and debugging subprogram MPS004.
                                                          MPM001
                                                         MW0000=1;                   MPS002 (Nest 1)
                                                         MSEE MPS002;
                                Nest number                                          MW0000=2;                   MPS003 (Nest 2)
                                                         㨯㨯㨯㨯
                                                                                     MSEE MPS003;                MW0000=3;
                                                         㨯㨯㨯㨯
                                                                                     㨯㨯㨯㨯
                                                         END;                                                    㨯㨯㨯㨯
                                                                                     㨯㨯㨯㨯                        㨯㨯㨯㨯
                                                                                     RET;                        RET;
9-20
                                                                                                     9.4 Debug Function
• Set/Delete Breakpoint
 Enables or disables the break point.
• Add Register
 The register displayed on the Motion Editor can be registered to the Watch Page of Quick Reference.
 The values of the registered registers can be monitored on the Watch Page.
1. Right-click on the register to be monitored. Select Add Register from the pop-up menu.
                                                                                                                          9-21
       9 Engineering Tool MPE720
       9.5.1 Overview
         9.5.1 Overview
                  The Motion Task Manager is used to view the list of motion tasks, and to monitor task execution status.
                  The running tasks and idle tasks are displayed in a tree structure in the Motion Task Manager window.
Note: The Motion Task Manager can be used with all MP2000-series Machine Controller models.
To start the Motion Task Manager, select View - Motion Task Manager in the Motion Editor window.
9-22
                                                                                                 9.5 Motion Task Manager
Alarm generated
                                                                                                                           9-23
       9 Engineering Tool MPE720
       9.6.1 Overview
         9.6.1 Overview
                  To execute the created motion program, the program needs to be registered in the MP2000 system and the pro-
                  gram start request must be issued using the user application.
                  If you want to run the created motion program before creating the user application, use the Drive control panel
                  to carry out the program trial run.
                  Commands such as program start request, stop request, and alarm reset request can be issued from the Drive con-
                  trol panel.
                  The following versions of MPE720 support the Drive control panel.
                          MPE720                  Supported Version
                        MPE720 Ver.5         Ver. 5.38 or later
                                             Ver. 6.04 or later
                        MPE720 Ver.6
                                             Ver. 6.04 Lite or later
                         Note: The Drive control panel does not have the break point setting or step-by-step execution (single block
                               execution) functions that the debug function has.
                                                                     CAUTION
                    • Be sure the area is safe before starting a motion program by using the Drive control panel.
                      The axes will start moving as the motion program runs.
                    • Do not overwrite the motion program control register by using a sequence program or ladder program.
                      Doing so may disable the control from the Drive control panel.
                    • Do not simultaneously execute axes move commands for one axis from more than one program.
                      Doing so may result in an adverse movement of the axis.
9-24
                                                                                 9.6 Drive Control Panel
Click the icon in the Motion Editor window to start the Drive control panel.
                                                                                                           9-25
       9 Engineering Tool MPE720
       9.6.2 Drive Control Panel Details
                                                                   a)
                                                                   b)
                                                                   c)
                                                                   d)
                                                                   e)
                                                                   f)
g)
h)
                   b) Program number
                        The program number for trial run is displayed.
                        The program number must be set in the Program execution registry screen dialog box of M-EXECUTOR
                        in advance.
                   c) START button
                        Click the START button to start the trial run.
                   d) PAUSE button
                        Click the PAUSE button to pause the trial run.
                   e) STOP button
                        Click the STOP button to stop the trial run.
                   f) ALMRST button
                        Click the ALMRST button to reset the alarm after an alarm has been generated.
9-26
                                                                                      9.6 Drive Control Panel
h) Display button
   Click the Display button to open the Error information screen window. Refer to 10.2.4 Motion Program
   Alarm Codes for details on the errors and the Error information screen window. An example of an error
   information window is shown below.
                                                                                                                9-27
       9 Engineering Tool MPE720
       9.7.1 Overview
         9.7.1 Overview
                  The Test Run function is used to perform a test run of axes that are connected to the MP2000-series Machine
                  Controller from the Test Run window. The servo ON, servo OFF, JOG operation, and STEP commands can be
                  executed without using programs.
                  The following versions of MPE720 support the Test Run function.
                          MPE720                Supported Version
                        MPE720 Ver.5        Not supported
                                            Ver6.04 or later
                        MPE720 Ver.6
                                            Ver6.04 Lite or later
Note: The Test Run function can be used with all MP2000-series Machine Controller models.
                                                                    CAUTION
                    • Make sure the area is safe before moving the axes by using the Test Run function.
                    • Before starting operation, be sure to prepare emergency stop measures to stop axis movement whenever
                      necessary.
                    • Before moving the axes by using the Test Run function, stop all ladder programs and motion programs
                      that are being executed.
Double-click Test run in the System subwindow to open the Test Run window.
9-28
                                                                                                9.7 Test Run Function
a)
           b)
           c)
d)
g)
a)
b)
c)
               d)
               e)
               f)
     a) Axis
        Select the axis for the test run.
                                                                                                                        9-29
       9 Engineering Tool MPE720
       9.7.2 Test Run Window Details
                  d) Speed reference
                      Set the speed reference value. Special care must be taken for this operation because it will change the motion
                      setting parameter.
                  g) Forward and Reverse buttons (In the Jog tab page) for JOG operation
                      Click the Forward or Reverse button to start JOG operation.
                      The specified axis keeps moving in the corresponding direction as long as the button is being pressed.
                      The axis will stop when the button is released.
                  h) Run and Stop buttons (In the Step tab page) for STEP operation
                      Click the Run button to start one step operation of the specified axis. Unlike with the jog operation, the but-
                      ton does not need to be continuously pressed.
                      When the Repetitive running check box is selected in the Direction Setting dialog box, the step operation is
                      repeated for the specified number of times, and then the axis will stop. During a repetitive run, the axis can be
                      stopped by clicking the Stop button.
9-30
                                                                                           9.8 Axis Status and Alarm Monitor
 9.8.1 Overview
      The Axis Monitor displays the operation status of the axes connected to the MP2000-series Machine Controller.
      The axis status (Ready/Servo Enable [Servo ON], Alarm/Warning, Prof. Comp [Distribution Completed]/In
      Position [Positioning Completed], and Motion Command) and the user selected monitoring parameter status
      are displayed onscreen.
      The Alarm Monitor displays the alarm information of the axes connected to the MP2000-series Machine Controller.
      The following MPE720 versions support the Axis Monitor and Alarm Monitor.
             MPE720                  Supported Version
           MPE720 Ver.5         Not supported
                                Ver. 6.04 or later
           MPE720 Ver.6
                                Ver. 6.04 Lite or later
      Note: The Axis Monitor and Alarm Monitor functions can be used with all MP2000-series Machine Controller
            models.
                                                                                                                               9-31
       9 Engineering Tool MPE720
       9.8.1 Overview
                  Double-click Axis monitor or Alarm monitor in the System subwindow to start the axis monitor or alarm mon-
                  itor.
9-32
                                                                                     9.8 Axis Status and Alarm Monitor
a) b) c) d) e)
f)
g) h)
     a) Circuit
        Select the circuit whose motion monitoring parameters are to be displayed.
     c) Pausing/Starting monitoring
        Click this button to start or pause monitoring.
                                                                                                                          Engineering Tool MPE720
     e) Refresh
        Click this icon to refresh the display to the latest axis status.
     f) Axis status
        Ready/Servo Enable (Servo ON), Alarm/Warning, Prof. Comp (Distribution Completed)/In Position
        (Positioning Completed), Motion Command status are displayed. The display will change according to the
        status.
                                                                                                                         9-33
       9 Engineering Tool MPE720
       9.8.2 Monitor Window Details
        INFO         If you want to set a monitoring parameter not included in the Monitor pull-down list, directly enter the register number
                     (IW8000 for example) in the dialog box.
9-34
                                                                      9.8 Axis Status and Alarm Monitor
c)
   a) Manually refresh
      Click this icon to refresh the alarm and warning information.
   b) Pausing/Starting monitoring
      Click this button to start or pause monitoring.
                                                                                                          9-35
                                                                                                                10
                                                                                 Troubleshooting
     This chapter describes the causes of errors in motion programs and sequence programs, and
     suggests corrective actions.
Troubleshooting
                                                                                                                                 10-1
       10 Troubleshooting
       10.1.1 Basic Flow of Troubleshooting
       10.1 Troubleshooting
                   This section describes troubleshooting methods, and provides a list of motion program and sequence program
                   errors.
10-2
                                                                                   10.2 Troubleshooting for Motion Programs
START
NO
NO
                                                                                                                              10-3
       10 Troubleshooting
       10.2.2 Problem Starting a Motion Program
10-4
                                                                                                     10.2 Troubleshooting for Motion Programs
(2) Program Start Request Bit of Control Signal and Program Running Status Bit of Status
    Flag
    When the MP2000 system detects a status change in motion program control signal bit 0 (Program start request)
    from OFF to ON, the motion program will start running. When the motion program successfully starts running,
    status flag signal bit 0 (Program running) will turn ON. Status flag signal bit 0 (Program running) will turn OFF
    when the END command in the motion program is executed.
    To start the motion program again, turn motion program control signal bit 0 (Program start request) OFF, and
    then turn it ON again.
    Check the ON/OFF status of these signal by using the data trace function.
                                                                                                                                                    10-5
       10 Troubleshooting
       10.2.2 Problem Starting a Motion Program
                                                      The motion program will not start while                                    The motion program starts
                                                      an alarm is occurring even when the                                        running when the program start
                                                      program start request bit is turned ON.                                    request bit is turned ON.
                                                                                                        Alarm reset
                        Status flag, bit 0:
                          Program running
10-6
                                                                                            10.2 Troubleshooting for Motion Programs
(4) “No System Work” Error/Execution Scan Error Bit of Status Flag
   If running status flag bit E (“No system work” error/execution scan error) is ON, the motion program will be dis-
   abled from running because of error occurrence. In this case, confirm the following items:
       • The number of tasks being executed is less than 16.
       • The task that the system work number designates is not being executed.
       • The MSEE command is embedded in a high-speed scan drawing (DWG.H).
Troubleshooting
                                                                                                                                            10-7
       10 Troubleshooting
       10.2.2 Problem Starting a Motion Program
              (5) Main Program Number Over the Range Status Flag Bit
                  When status flag bit F (Main program number outside the range) is ON, the motion program will be disabled
                  from running because of an error. In this case, confirm the following:
                          • The motion program number designated in the MSEE command is within the range of 1 to 256.
10-8
                                                                              10.2 Troubleshooting for Motion Programs
     (b) Opening from the Pop-up Menu when Right-clicking on the Motion Editor Window
        Right-click with the cursor on the Motion Editor window. Select Motion alarm analyzer from the menu
        that pops up.
Troubleshooting
                                                                                                                         10-9
    10 Troubleshooting
    10.2.3 Confirming the Alarm Code
               The components of the Error information screen window are described below.
                                       c)   d)              e)                f)          g)
                      a)
                      b)
h)
i)
               a) Registry number
                   When an alarm occurs in the motion program registered in the Program Definition window of the M-EXEC-
                   UTOR, the registry number of the M-EXECUTOR defined in the Program Definition window is displayed.
                   When an alarm occurs in the motion program called from the ladder program by an MSEE command, “---”
                   is displayed.
               b) Registry program
                   When an alarm occurs in the motion program registered in the Program Definition window of the M-EXEC-
                   UTOR, the motion program name defined in the Program Definition window is displayed.
                   When an alarm occurs in the motion program called from the ladder program by an MSEE command, “---”
                   is displayed.
               c) Parallel
                   When parallel execution commands (PFORK) are used in a motion program, more than one alarm may occur
                   at once. Refer to 8.4.3 Parallel Execution (PFORK, JOINTO, PJOINT) for details on parallel execution com-
                   mands.
               d) Alarm code
                   Alarm code is displayed.
               e) Alarm name
                   The alarm name is displayed.
               f) Program number
                   The program number where an error occurs is displayed.
10-10
                                                                                       10.2 Troubleshooting for Motion Programs
       g) Block number
          The block number where an error occurs is displayed.
          Double-click the block number to jump to the corresponding program.
          The block numbers are displayed on the Motion Editor window.
Block number
       h) Alarm Contents
          The contents of the alarm are displayed.
       i) Corrective Action
          The corrective actions for the alarm are displayed.
INFO     Use the following procedure to open the register list of MPE720 Ver.6.
           1. Open the Register List 1 subwindow from the MPE720 Ver.6 window.
              The Register List 1 tab is provided on the bottom of the MPE720 Ver.6 window by default.
           2. Enter the start number SW of system registers to view in the Register input field. The
              contents of system registers starting from the entered number will be displayed.
                                                                                                                                  Troubleshooting
             Note: The default data type setting is decimal. The data type can be changed to hexadecimal: Right-click
                   with the cursor on the list. Select Hexadecimal from the menu that pops up.
                                                                                                                             10-11
    10 Troubleshooting
    10.2.3 Confirming the Alarm Code
10-12
                                                                         10.2 Troubleshooting for Motion Programs
Logical axis #3
                             SL03758   SL03816   SL03874   SL03932   SL03990   SL04048    SL04106     SL04164
Program Current Position
Logical axis #4
                             SL03760   SL03818   SL03876   SL03934   SL03992   SL04050    SL04108     SL04166
Program Current Position
Logical axis #5
                             SL03762   SL03820   SL03878   SL03936   SL03994   SL04052     SL04110    SL04168
Program Current Position
Logical axis #6
                             SL03764   SL03822   SL03880   SL03938   SL03996   SL04054     SL04112    SL04170
Program Current Position
Logical axis #7
                             SL03766   SL03824   SL03882   SL03940   SL03998   SL04056     SL04114    SL04172
Program Current Position
                                                                                                                10-13
    10 Troubleshooting
    10.2.3 Confirming the Alarm Code
10-14
                                                                                                10.2 Troubleshooting for Motion Programs
                                                                                                                                             10-15
    10 Troubleshooting
    10.2.4 Motion Program Alarm Codes
               Alarm
                                 Name                             Description                             Corrective Actions
               Code
                                                   Designation exceeded the valid range in the
                1Fh      Address P out of range                                                  Review the setting in the IFP command.
                                                   IFP command.
                                                   A motion command was instructed simulta-
                         PFORK execution           neously at the second line in the PFORK of Review the source motion program or
                21h
                         error                     both a source motion program and a subpro- subprogram.
                                                   gram.
                         Indirect register range   Specified register address exceeds the regis-
                22h                                                                              Review the motion program.
                         error                     ter size range.
                                                   Axis moving amount with decimal point for
                         Moving amount out of
                23h                                an axis move command exceeded the possi- Review the axis moving amount.
                         range
                                                   ble range.
                         Use of logical axis       Multiple motion commands instructed
                80h                                                                          Review the motion program.
                         prohibited                against the same axis at the same time.
                         Designation exceeded                                                    • Modify the fixed parameter “Maxi-
                                                   Moving distance designation exceeded
                81h      POSMAX in the infi-                                                       mum infinite length axis counter”
                                                   POSMAX in the infinite length axis.
                         nite length axis                                                        • Review the motion program.
                         Axis moving distance
                                                   Axis moving distance designation exceeded
                82h      exceeded                                                                Review the motion program.
                                                   the valid range.
                         LONG_MAX
                                                                                                 Check to see whether another program
                         Duplicated motion         Multiple commands ware executed against
                84h                                                                              gave a command to the same axis at the
                         command                   a single axis.
                                                                                                 same time. If so, review the program.
                                                                                                 • Remove the alarm cause from the des-
                                                                                                   tination axis.
                                                                                                 • If the servo is not turned ON, turn ON
                                                   A motion command response different from
                         Motion command                                                            the servo.
                85h                                that instructed by the motion command is
                         response error                                                          • Check to see whether another program
                                                   reported from a motion module.
                                                                                                   gave a command to the same axis at
                                                                                                   the same time. If so, review the pro-
                                                                                                   gram.
                         VEL setting data out      An instruction in the VEL command
                87h                                                                              Review the VEL command.
                         of range                  exceeded the valid range.
                         INP setting data out of   An instruction in the INP command
                88h                                                                              Review the INP command.
                         range                     exceeded the valid range.
                         ACC/SCC/DCC set-          An instruction in the ACC/SCC/DCC com-
                89h                                                                              Review the ACC/SCC/DCC command.
                         ting data out of range    mand exceeded the valid range.
                         No time specified in      T designation in the MVT command was
                8Ah                                                                              Review the MVT command.
                         the MVT command           zero.
                                                   A motion command which cannot be exe-
                         Command execution
                8Bh                                cuted by the destination motion module was    Review the motion program.
                         disabled
                                                   instructed.
                                                   A motion command was executed when a          Review the motion program so that the
                         Distribution
               8Ch                                 motion module was not in the Distribution     motion command is executed in the Dis-
                         incomplete
                                                   Completed state.                              tribution Completed state.
                         Motion command            Motion module fell into the “Motion com-       • Release the destination axis error.
               8Dh
                         abnormally aborted        mand abnormally aborted” state.                • Review the motion program.
10-16
                                                                                10.3 Troubleshooting for Sequence Programs
START
NO
Troubleshooting
                                                                                                                        10-17
    10 Troubleshooting
    10.3.2 Problem Starting a Sequence Program
                                       If the check box ( ) is selected, the                Confirm that the designated se-
                                       sequence program will not start running.             quence program number is correct.
10-18
                                                             Appendices
D Precautions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -A-24
    D.1 General Precautions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A-24
    D.2 Precautions on Motion Parameter Settings - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A-25
                                                                                                                                    A-1
      Appendices
      A.1 Axis Setting Commands
                                                                                                                                            Sequence
                                                                                                                                 Programs
                                                                                                                                            Programs
                                                                                                                                  Motion
         Command             Name                  Programming Format                             Description
                                            ABS;
                                            or                                      Treats all subsequent coordinate words
        ABS             Absolute Mode                                                                                                         −
                                            ABS MOV [Logical axis name 1] -         as absolute values.
                                            [Logical axis name 2] - ;
                                            INC;
                        Incremental         or                                      Treats all subsequent coordinate words
        INC                                                                                                                                   −
                        Mode                INC MOV [Logical axis name 1] -         as incremental values.
                                            [Logical axis name 2] - ;
                                            ACC [Logical axis name 1]Accelera-
                                                                                  Sets the acceleration time for linear
                        Acceleration        tion time [Logical axis name 2] Ac-
        ACC                                                                       acceleration/deceleration for up to 16                      −
                        Time Change         celeration time [Logical axis name 3]
                                                                                  axes simultaneously.
                                            Acceleration time  ;
                                            DCC [Logical axis name 1] Deceler-      Sets the deceleration time for a position-
                        Deceleration        ation time [Logical axis name 2] De-    ing related command.
        DCC                                                                                                                                   −
                        Time Change         celeration time [Logical axis name 3]   A maximum of 16 axes can be desig-
                                            Deceleration time  ;                 nated in one command block.
                        S-curve Time        SCC [Logical axis name 1] S-curve       Sets the time constant for moving aver-
        SCC             Constant            time constant [Logical axis name 2]     age acceleration/deceleration for up to                   −
                        Change              S-curve time constant  ;             16 axes simultaneously.
                                            VEL [Logical axis name 1] Feed          Sets the speed for a positioning related
                                            speed [Logical axis name 2] Feed        command.
        VEL             Set Velocity                                                                                                          −
                                            speed [Logical axis name 3] Feed        A maximum of 16 axes can be desig-
                                            speed  ;                             nated in one command block.
                                                                                    Sets the maximum speed during an inter-
                        Maximum Inter-                                              polation feed.
                                            FMX T Maximum interpolation feed
        FMX             polation Feed                                               The interpolation acceleration time is the                −
                                            speed ;
                        Speed Setting                                               time taken from “0” until this speed is
                                                                                    reached.
                                                                                    Sets the speed for an interpolation
                        Interpolation                                               related command.
                                            IFP P Interpolation feed speed ratio
        IFP             Feed Speed Ra-                                              Designate a percentage of the maximum                     −
                                            ;
                        tio Setting                                                 speed as the interpolation feed speed
                                                                                    ratio.
                                                                                    Sets the acceleration time for an interpo-
                        Interpolation Ac-
                                            IAC T Interpolation acceleration        lation related command.
        IAC             celeration Time                                                                                                       −
                                            time ;                                  Designate the time required to reach the
                        Change
                                                                                    maximum speed from the speed 0 (zero).
                                                                                    Sets the deceleration time for an interpo-
                        Interpolation De-                                           lation related command.
                                            IDC T Interpolation deceleration
        IDC             celeration Time                                             Designate the time required to decelerate                 −
                                            time ;
                        Change                                                      to the speed 0 (zero) from the maximum
                                                                                    speed.
                                                                                    Sets the acceleration/deceleration mode
                        Set Interpolation                                           for interpolation commands.
        ACCMODE         Acceleration/De-    ACCMODE M mode_number;                  This allows you to specify processing                     −
                        celeration Mode                                             multiple interpolation commands in suc-
                                                                                    cession.
A-2
                                                                                                 A Motion Language Commands
                                                                                                                                        Sequence Programs
                                                                                                                      Motion Programs
 Com-
            Name                    Programming Format                                   Description
 mand
                                                                                                                                                            A-3
      Appendices
      A.2 Axis Move Commands
(cont’d)
                                                                                                                                                    Sequence Programs
                                                                                                                               Motion Programs
        Com-
                     Name                     Programming Format                                   Description
        mand
A-4
                                                                                               A Motion Language Commands
                                                                                                                                      Sequence Programs
                                                                                                                    Motion Programs
Com-
          Name                      Programming Format                                 Description
mand
                                                                                                                                                          A-5
      Appendices
      A.4 Program Control Commands
                                                                                                                                                  Sequence Programs
                                                                                                                                Motion Programs
         Com-
                       Name                     Programming Format                                Description
         mand
                                     IF (Conditional expression) ;
          IF                                                                         Executes process 1 if the conditional
                                     (Process 1) ;
                   Branching                                                         expression is satisfied, and executes
        ELSE                         ELSE;                                                                                                           
                   Commands                                                          process 2 if the conditional expres-
        IEND                         (Process 2) ;
                                                                                     sion is not satisfied.
                                     IEND;
                                     WHILE (Conditional expression) ;                Repeatedly executes WHILE to
        WHILE      Repeat
                                       ;                                          WEND processing for as long as the                              
        WEND       Commands
                                     WEND;                                           conditional expression is satisfied.
                                     PFORK Label 1, Label 2, Label 3,  ;
                                      Label 1: Process 1 ;                           Executes the blocks designated by the
                                     JOINTO Label X ;                                labels in parallel. With a subroutine, a
       PFORK       Parallel
                                     Label 2: Process 2 ;                            maximum of two labels can be desig-
       JOINTO      Execution                                                                                                                          −
                                     JOINTO Label X ;                                nated.
       PJOINT      Commands
                                     Label 3: Process 3 ;                            END and RET cannot be used during
                                     JOINTO Label X ;                                parallel execution processing.
                                     Label X: PJOINT ;
                                     SFORK Conditional expression 1? Label 1,
                                     Conditional expression 2? Label 2, Condi-
                                     tional expression 3? Label 3, Conditional ex-
                                     pression 4? Label 4 ;
                                     Label 1: Process 1 ;
       SFORK                         JOINTO Label X ;                                Executes process 1 if conditional
                   Selective
                                     Label 2: Process 2 ;                            expression 1 is satisfied, and executes
       JOINTO      Execution                                                                                                                        
                                     JOINTO Label X ;                                process 2 if the conditional expres-
       SJOINT      Commands
                                     Label 3: Process 3 ;                            sion 2 is satisfied.
                                     JOINTO Label X ;
                                     Label 4: Process 4 ;
                                     JOINTO Label X ;
                                                  ;
                                      Label X: SJOINT;
                   Motion
        MSEE       Subprogram        MSEE MPS ;                                   Executes subprogram MPS.                                      −
                   Call
                   Sequence
        SSEE       Subprogram        SSEE SPS ;                                   Executes subprogram SPS.                     −               
                   Call
                   User Function
                                     UFC User function name Input data, Input        Calls the user defined function from a
         UFC       Call From                                                                                                                          −
                                     address, Output data ;                          motion program.
                   Motion Program
                   User Function
                   Call From         FUNC User function name, Input data, Input      Calls the user defined function from a
        FUNC                                                                                                                         −                
                   Sequence          address, Output data ;                          sequence program.
                   Program
         END       Program End       END;                                            Ends the motion program.                                        
                   Subroutine
         RET                         RET;                                            Ends the subroutine.                                            
                   Return
A-6
                                                                             A Motion Language Commands
(cont’d)
                                                                                                                      Sequence Programs
                                                                                                 Motion Programs
Com-
             Name                  Programming Format               Description
mand
                                                                                                                                          A-7
      Appendices
      A.5 Arithmetic Operations
                                                                                                                                                  Sequence Programs
                                                                                                                                Motion Programs
               Com-
                              Name              Programming Format                           Description
               mand
                                                                                                                                                  Sequence Programs
            Com-                                                                                                               Motion Programs
                             Name                 Programming Format                           Description
            mand
                                            MB − = MB − | MB − ;
                                            MB − = MB − | 1;
               |       OR (logical OR)                                          Performs bit/integer logical OR.                                    
                                            MW − = MW − | MW − ;
                                            MW − = MW − | 00FFH;
                                            MB − = MB − & MB − ;
                       AND                  MB − = MB − & 1;
              &                                                                 Performs bit/integer logical AND.                                   
                       (logical AND)        MW − = MW − & MW − ;
                                            MW − = MW − & 00FFH;
                       XOR
                                            MW − = MW − ^ MW − ;
              ^        (logical exclusive                                       Performs integer logical exclusive OR.                              
                                            MW − = MW − ^ 00FFH;
                       OR)
                                            MB − = !MB − ;
                       NOT (logical         MB − = !1;                          Performs bit/integer logical complement
               !                                                                                                                                    
                       complement)          MW − = !MW − ;                      (inverts bits).
                                            MW − = !00FFH;
A-8
                                                                                          A Motion Language Commands
                                                                                                                                        Sequence Programs
                                                                                                                     Motion Programs
   Com-
              Name              Programming Format                            Description
   mand
                                                                                                                                       Sequence Programs
                                                                                                                Motion Programs
   Com-
            Name              Programming Format                            Description
   mand
                                                                                                                                                            A-9
       Appendices
       A.9 Basic Functions
                                                                                                                                               Sequence Programs
                                                                                                                             Motion Programs
             Com-
                             Name           Programming Format                            Description
             mand
A-10
                                                                           A Motion Language Commands
                                                                                                                Sequence Programs
                                                                                              Motion Programs
  Com-
            Name           Programming Format                     Description
  mand
                                                                                                                                    A-11
       Appendices
B Sample Programs
A-12
                                                                                              B Sample Programs
                                                                                                                  A-13
       Appendices
       B.1 Programs for Controlling Motion Program Execution
                            "---------------------------------------
                            " Stops the motion program operation
                            "---------------------------------------
                            IF NON(DB000000 MB000001) == 1;                      " Program operation OFF? "
                            ;                                                    " Process when the program
                            IEND;                                                  operation stops "
END;
A-14
                                                                                                                              B Sample Programs
The following diagram illustrates the operations executed by the above sample program.
005
                                                                                                                                                  A-15
       Appendices
       B.3 Motion Program for Speed Control
The following diagram illustrates the moving pattern implemented by the above sample program.
Speed [%]
50
0 Time (s)
10000
5000
                                               0                                                    Time (s)
                                                     3U          4U              6U
A-16
                                                                                                    B Sample Programs
                                                                             SVB
                                                                                      Axis 1
Axis 2
• Motion Program
                                                                                                                        A-17
       Appendices
       B.4 Simple Synchronized Operation Using a Virtual Axis
A-18
                                                                                                              B Sample Programs
       "---------------------------------------
       " Motion command 0 (No command) detection
       "---------------------------------------
       IF IW8008 == 0;
                    MB300010 = 1;
       ELSE;
                    MB300010 = 0;
       IEND;
                                                The Servo turns ON when
       "---------------------------------------  MB300000 turns ON.
       " Servo ON command
       "---------------------------------------
       OB80000 = MB300000 & (IB80000 | IB80002);                    "Servo ON
       "---------------------------------------
       " Alarm reset
       "---------------------------------------
       OB8000F = MB300001;                                                  "Alarm reset
       "---------------------------------------------------------------------------
       " Speed unit & Acceleration/deceleration unit selection
       "
       " Bit 0 to 3: Speed unit selection (0: reference unit/s, 1: Reference unit/min., 2: Designated in %)
       " Bit 4 to 7: Acceleration/deceleration unit selection (0: Reference unit /s2, 1: ms)
       "---------------------------------------------------------------------------
       DW00010 = OW8003 & FF00H;                                                   "Function setting 1 work
       OW8003 = DW00010 | 0011H;                                                   "Function setting 1
       "---------------------------------------
       " Linear acceleration/deceleration setting
       "---------------------------------------
       IF MB300020 == 1;
              OL8036 = 100;                                           "Linear acceleration rate/Acceleration time constant
              OL8038 = 100;                                           "Linear deceleration rate/Deceleration time constant
       IEND;
RET;
                                                                                                                                  A-19
       Appendices
       B.5 Sequence Programs
                          "---------------------------------------
                          " JOG operation
                          "---------------------------------------
                          IF IB80001 & ( (DB000010 & !DB000011) | (!DB000010 & DB000011) ) == 1;
                                 DB000000 = 1;
                          ELSE;
                                 DB000000 = 0;               Starts JOG operation    Starts JOG operation
                          IEND;                              (forward rotation) when (reverse rotation) when
                                                             DB000010 turns ON.      DB000011 turns ON.
                          DB000001 = PON( DB000000 DB000050 ) & MB300010; "JOG operation starts
                          DB000002 = NON( DB000000 DB000051 );            "JOG operation stops
                          IF DB000001 == 1;
                               OL8010 = 1000;
                               OW8008 = 7;                                      " Motion command FEED
                          IEND;
                          IF DB000002 == 1;
                               OW8008 = 0;                                      " Motion command NOP
                          IEND;
                          "---------------------------------------
                          " STEP operation
                          "---------------------------------------
                          IF IB80001 & ( (DB000012 & !DB000013) | (!DB000012 & DB000013) ) == 1;
                                 DB000008 = 1;
                          ELSE;
                                 DB000008 = 0;                Starts STEP operation   Starts STEP operation
                                                              (forward rotation) when (reverse rotation) when
                          IEND;                                                       DB000013 turns ON.
                                                              DB000012 turns ON.
                          DB000009 = PON( DB000008 DB000058 ) & MB300010; "STEP operation starts
                          DB00000A = NON( DB000008 DB000059 );            "STEP operation stops
                          IF DB000009 == 1;
                               OL8010 = 1000;                                " STEP speed setting
                               OW8044 = 1000;                                "STEP moving amount setting (1000 pulses)
                               OW8008 = 8;                                   " Motion command STEP
                          IEND;
                          IF DB00000A == 1;
                               OW8008 = 0;                                    " Motion command NOP
                          IEND;
                          "---------------------------------------
                          " Reverse rotation selection
                          "---------------------------------------
                          OB80092 = ( DB000000 & DB000011 ) | ( DB000008 & DB000013 ); "Reverse rotation selection
RET;
A-20
                                                       C Differences between MP900 Series and MP2000 Series Machine Controllers
                                                                                                                                    A-21
       Appendices
       C.3 Motion Programming Commands
A-22
                                                    C Differences between MP900 Series and MP2000 Series Machine Controllers
                                                                                                                               A-23
       Appendices
       D.1 General Precautions
       D Precautions
         D.1 General Precautions
             (1) Saving the Changes in Programs to the Flash Memory
                    After changing an application such as a motion program or sequence program, always save the changed applica-
                    tion to the flash memory. If the changed application is not saved to the flash memory and the power to the
                    Machine Controller is turned OFF, the changed application will be lost.
             (3) Differences in Axis Operation When an Alarm Occurs for One or More Axes Specified
                 in an Axis Move Command
                    If an alarm occurs in one or more axes specified in an axis motion command in an MP2000-series motion pro-
                    gram, the axes for which alarms do not occur may not stop. Create the required interlocks in the application.
                    Motion program operation when an alarm occurs for one or more axes specified in an axis move command is
                    described in the following table.
                                                                     Axes for Which
                         Axis Move           Axes for Which
                                                                     Alarms Do Not                 Motion Program Operation
                         Command              Alarms Occur
                                                                         Occur
                     Positioning (MOV)
                                                                 Move to target posi-   References continue to axes without alarms and they
                     or Set-time Posi-      Stop.
                                                                 tions.                 move to the target positions.
                     tioning (MVT)
                     External Position-                                                 References continue until bit 8 (Command Execution
                                            Stop.                −                      Completed) in IW09 (Motion Command Status)
                     ing (EXM)∗                                                         turns ON.
                     Zero Point Return                                                  References continue until bit 5 (Zero Point Return
                                            Stop.                Move to zero point.    (Setting) Completed) in IW0C (Position Man-
                     (ZRN)∗                                                             agement Status) turns ON for all specified axes.
                     Linear Interpolation                                               A motion program alarm (84h: Duplicated Motion
                     (MVS), Circular In-                         Stop.                  Command) occurs and references to all specified
                     terpolation/Helical                                                axes are stopped.
                     Interpolation
                                            Stop.
                     (MCW and MCC),
                     or Linear Interpola-                        Move to target posi-   References continue to axes without alarms and they
                     tion with Skip                              tions.                 move to the target positions.
                     Function (SKP)
                    * An alarm does not occur and the motion program execution block does not change to the next block. Therefore,
                      you must execute a program reset or alarm reset request after a program stop request is executed.
A-24
                                                                                                                                       D Precautions
     With a motion program, an ABS or INC command is used to set the absolute mode or incremental mode:
     Code an ABS command to set the absolute mode (ABS).
     Code an INC command to set the incremental mode (INC).
        The reference position is treated as the target position.           The reference position is treated as the relative moving amount from
                                                                            program current position.
                                                              Coordinate                                                               Coordinate
                                                              words                                                                    words
          ABS;                                                                 INC;
          MOV [Logical axis 1] Reference position 1                            MOV [Logical axis 1] Reference position 1
                                  [Logical axis 2] Reference position 2 ;                                   [Logical axis 2] Reference position 2 ;
                Logical axis 2                                                 Logical axis 2
Target position
                                      Target position
         Reference
         position 2                                                             Reference
                                                                                position 2
             Program                                                        Program
             current position                                               current position   Reference
                                                                                               position 1
                                                    Logical axis 1                                                  Logical axis 1
                                 Reference
                                 position 1
                                                                                                                                                       A-25
       Appendices
       D.2 Precautions on Motion Parameter Settings
              (2) Do not access a motion register from the I/O register by using a subscript
                    I/O registers and motion registers are not assigned to consecutive memory locations.
                    Therefore, when using a subscript, access is limited within the respective register range of I/O register and
                    motion register.
IW0000/OW0000
                                                                Can access
                                          I/O registers
                     IW7FFF/OW7FFF
                                                                Cannot access
                                                                   Example:
                                                                   ޓޓI = 1;
                      IW8000/OW8000                                ޓޓOW7FFFi = 0;
Motion registers
Can access
IWFFFF/OWFFFF
A-26
                                                                                                         D Precautions
                                                                                   Cannot access
                                                                                   Example:
                              Axis 1 (IW8800 to IW887F,OW8800 to OW887F)          ޓޓI = 1;
                              Axis 2 (IW8880 to IW88FF, OW8880 to OW88FF)          ޓޓOW87FFi = 0;
                                                 
                    Circuit                      
                       2                         
                                                 
                              Axis 16 (IW8F80 to IW8FFF,OW8F80 to OW8FFF)
                                                                                                                         A-27
       Appendices
       D.2 Precautions on Motion Parameter Settings
              (4) Do not change the motion setting parameter OL1C “Position reference setting”
                  while axis motion is in progress in a motion program.
                    If OL1C “Position reference setting” is changed in another program (e.g. a ladder program) while axis
                    motion is in progress in a motion program, the axes will move in accordance with the change. This will result in
                    a discrepancy between the actual position and the position specified in the motion program.
                    Example:
                    If the travel distance of the A1 axis specified by OL1C “Position reference setting” in the motion program
                    below is changed from +1000 to +1500 while executing (a) in the motion program, the A1 axis moves to the
                    position +1500. At this point a discrepancy arises in relation to the reference position in the motion program
                    (+1000). Then (b) in the motion program will be executed. As a result, the actual final position of the A1 axis will
                    be at a different position from that specified in the motion program.
                        INC;
                        ZRN [A1]0;
END;
A-28
                                                                                                                                                                                         Index
                                                                                                                                                                                           Index-1
    Index
    Clockwise/Counterclockwise Helical Interpolation with Radius                                     executing program number - - - - - - - - - - - - - - - - - - - - - - 4-14, 4-15
    Designation (MCW, MCC) - - - - - - - - - - - - - - - - - - - - - - - - - - 8-82                  executing the programs- - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-14
    CLR- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-6, 8-147        execution method - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-3, 2-4
    command format - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-8           execution registry screen- - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-8
    command input assistant - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-6            execution scans - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7-17
    Command Input Assistant function - - - - - - - - - - - - - - - - - -1-7, 1-16                    Execution type - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-13
    command input assistant function - - - - - - - - - - - - - - - - - - - - - - - 2-5               EXM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-6, 8-90
    command types - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7-17           external function register - - - - - - - - - - - - - - - - - - - - - - - - - - 8-118
    comment check box and comment input field - - - - - - - - - - - - - - 9-10                       External Positioning (EXM) - - - - - - - - - - - - - - - - - - - - - - - - - 8-90
    comments - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7-2, 7-6          external positioning signal- - - - - - - - - - - - - - - - - - - - - - - - - - - 8-91
    communication settings- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-3
    compiling - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-6                                                    F
    composite moving amount - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-65               F designation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-37, 8-66
    configuration of motion program alarms - - - - - - - - - - - - - - - - 10-15                     Falling Pulse (NON) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-165
    confirming the alarm code - - - - - - - - - - - - - - - - - - - - - - - - - - - 10-9             filter time constant - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-24
    constant registers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6-2, 8-118          filter type selection - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-28
    constants- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7-7     finite length axis - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7-9, 8-5
    control signal- - - - - - - - - - - - - - - - - - - - - - - - - - - -4-8, 9-14, 10-12            FMX - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-6, 8-35
    Coordinate Plane Setting (PLN) - - - - - - - - - - - - - - - - - - - - - - 8-100                 Forced end - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-19
    coordinate words - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7-2, 7-4            Fork number - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-20
    COS- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-6, 8-152        FUNC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-6, 8-123
    Cosine (COS) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-152           function input register - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-118
    creating a motion program - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-6            function keys - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-16
    creating project files - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-4       function output register- - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-118
    CTSK- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-6, 8-172         Function selection flag 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-5
    Current Position Set (POS) - - - - - - - - - - - - - - - - - - - - - - - - - - 8-92
                                                                                                                                                   G
                                                  D                                                  global variables - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6-4, 7-7
    D registers- - - - - - - - - - - - - - - - - - - - - - - - - - 2-4, 6-2, 6-14, 8-118             grandchild drawing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-9
    D variables (D registers) - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6-14           group definitions - - - - - - - - - - - - - - - - - - - - - - - - - -1-11, 3-5, 7-13
    data comparison commands - - - - - - - - - - - - - - - - - - - - - - - - - 8-142                 Group Name - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7-13
    data operations- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-144         group selection - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-4
    data registers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6-2, 8-118        groups - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-11
    data types - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6-3, 8-116
    data variables (M registers) - - - - - - - - - - - - - - - - - - - - - - - - - - - 6-8
                                                                                                                                                   H
    DCC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -2-6, 8-17         H drawing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-9
    Debug function - - - - - - - - - - - - - - - - - - - - - - - 1-7, 1-16, 2-5, 9-15                handling system- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-12
    debug mode- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-12, 9-17           Help button- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-11
    debugging the program - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-12             hexadecimal integers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7-7
    Deceleration Time Change (DCC) - - - - - - - - - - - - - - - - - - - - - 8-17                    high-speed processing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-3
    decimal integers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7-7       high-speed processing drawing - - - - - - - - - - - - - - - - - - - - - - - - 1-9
    DEFAULT - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-109            how to directly change the acceleration time setting - - - - - - - - - 8-16
    deg- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7-9   how to directly change the deceleration time setting - - - - - - - - - 8-22
    degree - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-150                                                      I
    direct designation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -5-4, 9-13
                                                                                                     I registers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-4, 6-9
    divide (/)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-135
                                                                                                     I/O services - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-10
    double integer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6-3
                                                                                                     I/O Variable Wait (IOW) - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-127
    Drive control panel- - - - - - - - - - - - - - - - - - - - - - - - - - - - -2-5, 9-24
                                                                                                     IAC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-6, 8-40
    Drive control panel function- - - - - - - - - - - - - - - - - - - - - - - - - - - 1-7
                                                                                                     IDC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-6, 8-43
    Dwell Time (TIM) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-126
                                                                                                     IF ELSE IEND - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-6, 8-101
                                                  E                                                  IFP - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-6, 8-37
    easy programming functions - - - - - - - - - - - - - - - - - - - - - -1-7, 1-16                  in debug mode- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4-7, 5-5
    electronic gear - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7-10, 8-33         in-position check - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-62, 8-64
    encoder cable- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-3       In-Position Check (PFN)- - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-96
    END - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-6, 8-124         in-position check width- - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-98
    end of block - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7-2, 7-6          INC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-6, 8-7
    end position- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-70       inch - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7-9
    EOX - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-6, 8-129         incremental mode (INC) - - - - - - - - - - - - - - - - - - - - - - - - - - 8-3, 8-7
    error code - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4-15      indirect designation - - - - - - - - - - - - - - - - - - - - - - - -4-11, 5-4, 9-13
    Error List dialog box- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-6         indirect designation of a program number using a register - - - - - 4-11
    Execute - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-19       Individual transfer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3-11
    executing block number - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4-15              infinite length axis - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7-9, 8-5
    executing main program No. - - - - - - - - - - - - - - - - - - - - - - - - 10-12                 Infinite Length Axis Reset Position - - - - - - - - - - - - - - - - - - - - - 7-9
    executing program line - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-16            infinite length axis reset position (POSMAX)- - - - - - - - - - - - - - - 8-5
                                                                                                     INP - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-6, 8-98
Index-2
                                                                                                                                                                                       Index
                                                                                                                                                                                         Index-3
    Index
Index-4
                                                                                                                                                                                     Index
                                                                                                                                                                                       Index-5
    Index
                                                  U
    UFC- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-6, 8-115
    Update current position - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-19
    user function call - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-115, 8-123
    User Function Call From Motion Program (UFC) - - - - - - - - - - 8-115
    User Function Call from Sequence Program (FUNC) - - - - - - - - 8-123
    user functions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-3, 8-116
                                                  V
    variable - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6-2
         using variables- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6-7
    variables and data types- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7-7
    VEL- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -2-6, 8-29
    virtual axis - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-12
                                                  W
    warning display - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9-35
    what is a motion program?- - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-2
    what is a sequence program? - - - - - - - - - - - - - - - - - - - - - - - - - 1-14
    WHILE WEND - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-6, 8-103
    work coordinate system- - - - - - - - - - - - - - - - - - - - - 8-3, 8-84, 8-92
    work register - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5-5
    work registers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4-6
                                                  X
    XOR (^) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-140
                                                  Z
    Zero Point Return (ZRN)- - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-84
    zero point return methods - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-85
    zero point return speed - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8-85
    ZRN- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -2-6, 8-84
Index-6
Revision History
The revision dates and numbers of the revised manuals are given on the bottom of the back cover.
                               WEB
                        Rev.
  Date of Publication          Rev.            Section                                          Revised Contents
                        No.
                               No.
 May 2017               <3>     1     8.1.11                    Revision: Descriptions on setting interpolation acceleration/deceleration mode
                                      8.4.2 (3)                 Revision: Programming example of a repeat command
                                      Back cover                Revision: Address
 May 2015                       0     Front cover               Revision: Format
                                      –                         Printed version of the user’s manual that is available on the web (web version: SIEP
                                                                C880700 38D<2>-1)
                                      4.3.3 (2)                 Revision: Information on program continuous operation start request
                                      7.5.2, 8.1.11, Appen-     Addition: Information on the ACCMODE command
                                      dices A.1
                                      Appendices D.1 (3)        Addition: Precaution on motion program operation when an alarm occurs for one or
                                                                more axes specified in an axis move command
                                      Back cover                Revision: Format and address
 July 2014              <2>     1     1.1, 1.8, 2.1.1, 2.1.3,   Addition: Description of CPU-03, CPU-04 and MPU-01
                                      2.2.2, C.1, C.2
 May 2014                       0     –                         Printed version of the user’s manual that is available on the web (web version:
                                                                SIEP C880700 38B<1>-5)
                                      Back cover                Revision: Address
 July 2012              <1>     5     8.2.3 (3)                 Revision: Figure and INFO on interpolation feed speed
                                      Back cover                Revision: Address
 November 2011                  4     6.2.2 (3), 6.2.6 (3)      Addition: VEL command in the column of important
 June 2011                      3     8.2.4                     Revision: Descriptions on setting items for MCW and MCC commands.
 April 2011                     2     7.1.2 (5)                 Revision: Application example “TIM TML00000” → “TIM TMW00000”
 November 2010                  1     Front cover               Revision: Format
                                      8.4.11 (2)                Revision: Usable data
                                      Back cover                Revision: Address, format
 September 2010                 0     –                         Printed version of the user’s manual, SIEP C880700 38<0>-2, available on the web.
                                      All chapters              Based on Japanese user’s manual, SIJP C880700 38B<2>, printed in December
                                                                2009.
                                      Preface                   Addition: Warranty
                                      D.2 (4)                   Addition: Precautions on the motion parameter
                                      Back cover                Revision: Address
 September 2009         <0>     2     Preface                   Addition: Warranty
                                      Back cover                Revision: Address
 July 2009                      1     Appendices A.4            Revision: Descriptions in columns of sequence program for Branching command
                                                                          and Repeat command
                                      Back cover                Revision: Address
 September 2008          –      –     –                         First edition
Machine Controller MP2000 Series
USER’S MANUAL
for Motion Programming
                                                               In the event that the end user of this product is to be the military and said product is to
                                                               be employed in any weapons systems or the manufacture thereof, the export will fall
                                                               under the relevant regulations as stipulated in the Foreign Exchange and Foreign
                                                               Trade Regulations. Therefore, be sure to follow all procedures and submit all relevant
                                                               documentation according to any and all rules, regulations and laws that may apply.
                                                               Specifications are subject to change without notice for ongoing product modifications
                                                               and improvements.
                                                               © 2008 YASKAWA ELECTRIC CORPORATION