Omron NX701-1 User Manual

Omron NX701-1 User Manual

Machine automation controller nj/nx-series cpu unit
Hide thumbs Also See for NX701-1:
Table of Contents

Advertisement

Quick Links

Machine Automation Controller
NJ/NX-series
CPU Unit
Motion Control
User's Manual
NX701-1
NX102-1
NX102-90
NX1P2-1
NX1P2-90
NJ501-
NJ301-1
NJ101-10
CPU Unit
W507-E1-18

Advertisement

Table of Contents
loading

Summary of Contents for Omron NX701-1

  • Page 1 Machine Automation Controller NJ/NX-series CPU Unit Motion Control User’s Manual NX701-1 NX102-1 NX102-90 NX1P2-1 NX1P2-90 NJ501- NJ301-1 NJ101-10 CPU Unit W507-E1-18...
  • Page 2: Nx701

    No patent liability is assumed with respect to the use of the information contained herein. Moreover, because OMRON is constantly 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. Neverthe- less, OMRON assumes no responsibility for errors or omissions.
  • Page 3: Introduction

    Introduction Introduction Thank you for purchasing an NJ/NX-series CPU Unit. This manual contains information that is necessary to use the Motion Control Function Module of an NJ/NX-series CPU Unit. Please read this manual and make sure you understand the functionality and performance of the NJ/NX-series CPU Unit before you attempt to use it in a control system.
  • Page 4: Relevant Manuals

    Relevant Manuals Relevant Manuals he following provides the relevant manuals for the NJ/NX-series CPU Units. Read all of the manuals that are relevant to your system configuration and application before you use the NJ/NX-series CPU Unit. Most operations are performed from the Sysmac Studio Automation Software. Refer to the Sysmac Stu- dio Version 1 Operation Manual (Cat.
  • Page 5: Nx1P2

    Relevant Manuals Manual Basic information Purpose of use Writing the user program   Using motion control   Using EtherCAT  Using EtherNet/IP  Using OPC UA  Using FINS  Using the database connection service  Using the GEM Services ...
  • Page 6: Manual Structure

    Manual Structure Manual Structure Page Structure The following page structure is used in this manual. Level 1 heading 4 Installation and Wiring Level 2 heading Mounting Units Level 3 heading Level 2 heading Gives the current headings. Level 3 heading 4-3-1 Connecting Controller Components The Units that make up an NJ-series Controller can be connected simply by pressing the Units together...
  • Page 7 Manual Structure Special Information Special information in this manual is classified as follows: Precautions for Safe Use Precautions on what to do and what not to do to ensure safe usage of the product. Precautions for Correct Use Precautions on what to do and what not to do to ensure proper operation and performance. Additional Information Additional information to read as required.
  • Page 8 Manual Structure NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 9: Sections In This Manual

    Sections in this Manual Sections in this Manual Introduction to the Motion Control Sample Programming Function Module Motion Control Configuration and Troubleshooting Principles Configuring Axes Appendices and Axes Groups Checking Wiring from Index the Sysmac Studio Motion Control Parameters Motion Control Programming Manual Operation Homing Motion Control Functions...
  • Page 10: Table Of Contents

    CONTENTS CONTENTS Introduction ....................... 1 Relevant Manuals ...................... 2 Manual Structure ....................... 4 Sections in this Manual .................... 7 Terms and Conditions Agreement ................. 14 Safety Precautions ....................16 Precautions for Safe Use..................17 Precautions for Correct Use................... 18 Regulations and Standards..................19 Versions ........................
  • Page 11 CONTENTS 3-1-2 Introduction to Axis Parameters....................3-3 3-1-3 Introduction to Axis Variables...................... 3-7 3-1-4 Synchronizing Axis Variables...................... 3-9 3-1-5 Specifying an Axis in the User Program ..................3-9 Axis Setting Procedure ......................3-10 3-2-1 Axis Configuration Procedure ....................3-10 3-2-2 Setting Procedure ........................
  • Page 12 CONTENTS 6-2-2 Motion Control Instructions of the MC Function Module ............. 6-5 State Transitions........................6-6 6-3-1 Status of the Motion Control Function Module ................6-6 6-3-2 Axis States ..........................6-7 6-3-3 Axes Group States ........................6-9 Execution and Status of Motion Control Instructions............6-11 6-4-1 Basic Rules for Execution of Instructions..................
  • Page 13 CONTENTS 9-1-5 Cyclic Synchronous Positioning....................9-6 9-1-6 Stopping ............................. 9-7 9-1-7 Override Factors ........................9-12 Single-axis Synchronized Control ..................9-13 9-2-1 Overview of Synchronized Control ................... 9-13 9-2-2 Gear Operation ......................... 9-13 9-2-3 Positioning Gear Operation ...................... 9-14 9-2-4 Cam Operation ......................... 9-15 9-2-5 Cam Tables..........................
  • Page 14 CONTENTS 10-1-3 Setup............................10-2 10-2 Basic Programming Samples ....................10-3 10-2-1 Monitoring EtherCAT Communications and Turning ON Servos ..........10-3 10-2-2 Interlocking Axis Operation with Master Control Instructions ............ 10-5 10-2-3 Error Monitoring and Error Resetting for Single-axis Operation and Synchronized Operation . 10-7 10-2-4 Error Monitoring and Error Resetting for Multi-axes Coordinated Operation ......
  • Page 15 CONTENTS NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 16: Terms And Conditions Agreement

    Omron’s exclusive warranty is that the Products will be free from defects in materials and workman- ship for a period of twelve months from the date of sale by Omron (or such other period expressed in writing by Omron). Omron disclaims all other warranties, express or implied.
  • Page 17 Disclaimers Performance Data Data presented in Omron Company websites, catalogs and other materials is provided as a guide for the user in determining suitability and does not constitute a warranty. It may represent the result of Omron’s test conditions, and the user must correlate it to actual application requirements. Actual perfor- mance is subject to the Omron’s Warranty and Limitations of Liability.
  • Page 18: Safety Precautions

    Safety Precautions Safety Precautions Definition of Precautionary Information Refer to the following manuals for safety precautions. • NX-series CPU Unit Hardware User’s Manual (Cat. No. W535) • NX-series NX102 CPU Unit Hardware User’s Manual (Cat. No. W593) • NX-series NX1P2 CPU Unit Hardware User’s Manual (Cat. No. W578) •...
  • Page 19: Precautions For Safe Use

    Precautions for Safe Use Precautions for Safe Use Refer to the following manuals for precautions for safe use. • NX-series CPU Unit Hardware User’s Manual (Cat. No. W535) • NX-series NX102 CPU Unit Hardware User’s Manual (Cat. No. W593) • NX-series NX1P2 CPU Unit Hardware User’s Manual (Cat. No. W578) •...
  • Page 20: Precautions For Correct Use

    Precautions for Correct Use Precautions for Correct Use Refer to the following manuals for precautions for correct use. • NX-series CPU Unit Hardware User’s Manual (Cat. No. W535) • NX-series NX102 CPU Unit Hardware User’s Manual (Cat. No. W593) • NX-series NX1P2 CPU Unit Hardware User’s Manual (Cat. No. W578) •...
  • Page 21: Regulations And Standards

    Concepts  EMC Directive OMRON devices that comply with EU Directives also conform to the related EMC standards so that they can be more easily built into other devices or the overall machine. The actual products have been checked for conformity to EMC standards.* Whether the products conform to the standards in the system used by the customer, however, must be checked by the customer.
  • Page 22 The NJ/NX-series Controllers comply with the following shipbuilding standards. Applicability to the shipbuilding standards is based on certain usage conditions. It may not be possible to use the prod- uct in some locations. Contact your OMRON representative before attempting to use a Controller on a ship.
  • Page 23: Versions

    Versions Versions Hardware revisions and unit versions are used to manage the hardware and software in NJ/NX-series Units and EtherCAT slaves. The hardware revision or unit version is updated each time there is a change in hardware or software specifications. Even when two Units or EtherCAT slaves have the same model number, they will have functional or performance differences if they have different hard- ware revisions or unit versions.
  • Page 24 Versions The ID information on an NX-series NX1P2- CPU Unit is shown below. MAC address PORT1 : PORT2 : Ver.1. HW Rev. Unit version Hardware revision LOT No. DDMYY xxxx ID information indication Lot number Serial number Note The hardware revision is not displayed for the Unit that the hardware revision is in blank. The ID information on an NJ-series NJ501-...
  • Page 25 Versions Right-click CPU Rack under Configurations and Setup − CPU/Expansion Racks in the Multi- view Explorer and select Production Information. The Production Information Dialog Box is displayed.  Checking the Unit Version of an NJ-series CPU Unit You can use the Production Information while the Sysmac Studio is online to check the unit version of a Unit.
  • Page 26 Versions The EtherCAT Tab Page is displayed. Right-click the master on the EtherCAT Tab Page and select Display Production Information. The Production Information Dialog Box is displayed. The unit version is displayed after “Rev.”  Changing Information Displayed in Production Information Dialog Box Click the Show Detail or Show Outline Button at the lower right of the Production Information Dia- log Box.
  • Page 27: Related Manuals

    Related Manuals Related Manuals The following are the manuals related to this manual. Use these manuals for reference. Manual name Cat. No. Model numbers Application Description NX-series CPU Unit W535 NX701- Learning the basic specifi- An introduction to the entire NX701 system is pro- Hardware User’s Manual cations of the NX701 CPU vided along with the following information on the...
  • Page 28 The motion control instructions are described. Control Instructions Ref- NX102- cations of the motion control erence Manual NX1P2- instructions that are pro- NJ501- vided by OMRON. NJ301- NJ101- NJ/NX-series CPU Unit W505 NX701- Using the built-in EtherCAT Information on the built-in EtherCAT port is pro- Built-in EtherCAT®...
  • Page 29 Related Manuals Manual name Cat. No. Model numbers Application Description NX-series EtherCAT® W519 NX-ECC Learning how to use an NX- The system and configuration of EtherCAT Slave Coupler Unit User’s Man- series EtherCAT Coupler Terminals, which consist of an NX-series EtherCAT Unit and EtherCAT Slave Coupler Unit and NX Units, are described along Terminals...
  • Page 30: Revision History

    Revision History Revision History A manual revision code appears as a suffix to the catalog number on the front and back covers of the manual. W507-E1-18 Cat. No. Revision code Revision code Date Revised content July 2011 Original production March 2012 Added information on the NJ301-.
  • Page 31: Introduction To The Motion Control Function Module

    Introduction to the Motion Control Function Module This section describes the features, system configuration, and application flow for the Motion Control Function Module. 1-1 Features ........... . . 1-2 1-2 System Configuration .
  • Page 32: Features

    S-curve for acceleration and deceleration. Data Transmission Using EtherCAT Communications The MC Function Module can be combined with OMRON 1S-series Servo Drives with built-in EtherCAT communications or G5-series Servo Drives with built-in EtherCAT communications to enable exchange of all control information with high-speed data communications.
  • Page 33: System Configuration

    1 Introduction to the Motion Control Function Module System Configuration The MC Function Module receives sensor signal status from devices and control panels. It receives commands from the motion control instructions that are executed in the user program. It uses both of these to perform motion control with the Servo Drives, Encoder Input Terminals, and NX-series Position Interface Units.
  • Page 34 1 Introduction to the Motion Control Function Module Version Information A CPU Unit with unit version 1.05 or later and Sysmac Studio version 1.06 or higher are required to use the NX-series Position Interface Units. Motion Control Configuration on CPU Unit The Position Interface Unit and Sysmac Studio are used for the MC Function Module.
  • Page 35: Basic Flow Of Operation

    1 Introduction to the Motion Control Function Module Basic Flow of Operation This section provides the basic procedure to perform motion control with the MC Function Module. START Sysmac Studio Version 1 Operation Manual (Cat. No. W504) Setup Create a project. NJ/NX-series CPU Unit Software User’s Create the EtherCAT Network Configuration.
  • Page 36 1 Introduction to the Motion Control Function Module Section 6 Motion Control Pro- Programming Write a program to perform jogging. gramming Section 7 Manual Operation Jog the axes with the user program. Manual operation Section 8 Homing Define the homes of the Servomotor axes to Homing control.
  • Page 37: Specifications

    1 Introduction to the Motion Control Function Module Specifications This section gives the specifications of the MC Function Module. Precautions for Correct Use Precautions for Correct Use The NX102-90 Units and NJ101-90 Units do not provide the Motion Control Function Module.
  • Page 38 1 Introduction to the Motion Control Function Module NX102- Item 12 11 10 90 Number of 15 axes 4 axes Maximum number of controlled axes controlled 11 axes Motion control axes axes Single-axis position control 4 axes axes 12 axes 8 axes 6 axes 4 axes...
  • Page 39 1 Introduction to the Motion Control Function Module NX1P2- Item 11 10 90 Cams Number of Maximum points per cam 65,535 points cam data table points Maximum points for all cam 262,140 points tables Maximum number of cam tables 80 tables *1 This is the total for all axis types.
  • Page 40 1 Introduction to the Motion Control Function Module NJ301- NJ101- Item 12 11 10 Number of *2 *3 *2 *4 6 axes Maximum number of controlled axes 15 axes 15 axes controlled 6 axes *2 *3 *2 *4 Motion control axes 15 axes 15 axes axes...
  • Page 41: Function Specifications

    1 Introduction to the Motion Control Function Module 1-4-3 Function Specifications The following table describes the functions that are supported for connections to OMRON control devices. Item Description Controllable Servo Drives OMRON 1S-series Servo Drives with built-in EtherCAT communications or G5-series Servo Drives with built-in...
  • Page 42 1 Introduction to the Motion Control Function Module Item Description Single axes Single-axis posi- Absolute positioning Positioning is performed for a target position that is speci- tion control fied with an absolute value. Relative positioning Positioning is performed for a specified travel distance from the command current position.
  • Page 43 1 Introduction to the Motion Control Function Module Item Description Single axes Auxiliary functions Resetting axis errors Axes errors are cleared. for single-axis con- Homing A motor is operated and the limit signals, home proximity trol signal, and home signal are used to define home. Homing with parameters The parameters are specified, the motor is operated, and the limit signals, home proximity signal, and home signal...
  • Page 44 Absolute encoder support You can use an OMRON 1S-series Servomotor or G5- series Servomotor with an Absolute Encoder to eliminate the need to perform homing at startup. Input signal logic inversion (*) You can inverse the logic of immediate stop input signal, positive limit input signal, negative limit input signal, or home proximity input signal.
  • Page 45 Cam data can be overwritten from the user program. *6 Application is possible when you use an absolute external scale for an OMRON G5-series Linear Motor Type Servo Drive with built-in EtherCAT communications.
  • Page 46 1 Introduction to the Motion Control Function Module 1-16 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 47: Motion Control Configuration And Principles

    Motion Control Configuration and Principles This section outlines the internal structure of the CPU Unit and describes the configura- tion and principles of the MC Function Module. 2-1 Internal Configuration of the CPU Unit ......2-2 2-2 Motion Control Configuration .
  • Page 48: Internal Configuration Of The Cpu Unit

    2 Motion Control Configuration and Principles Internal Configuration of the CPU Unit This section provides an overview of the internal mechanisms of the NJ/NX-series CPU Unit. The CPU Unit has the following software configuration. The Motion Control Function Module is a software module that performs motion control.
  • Page 49: Motion Control Configuration

    2 Motion Control Configuration and Principles Motion Control Configuration A control system built with Servo Drives generally controls motor operation with a semi-closed loop. The semi-closed loop uses an encoder attached to the motor to detect the amount of rotation that has been performed by the motor in response to the command value.
  • Page 50 2 Motion Control Configuration and Principles  Configuration on CPU Unit Position Interface NX102 CPU Unit or NX1P2 CPU Unit Unit Servo Drive User MC Function NX bus function program Module module Motion Command control interpretation Position instructions Data processing control Pulse trains Velocity...
  • Page 51: Motion Control Principles

    2 Motion Control Configuration and Principles Motion Control Principles This section provides information on the CPU Unit tasks and how they relate to motion control. 2-3-1 CPU Unit Tasks Tasks are attributes of programs that determine the execution conditions and sequence of the pro- grams.
  • Page 52 2 Motion Control Configuration and Principles Number of Type of task Priority Operation tasks Periodic tasks 0 or 1 These tasks execute I/O refreshing, programs, and motion control in the specified task period. The priority-5 periodic task has the second highest execution priority after the primary periodic task and can be executed quickly and precisely.
  • Page 53 2 Motion Control Configuration and Principles Task Assignment • Axes and axes groups can be assigned to either of the primary periodic task and the priority-5 periodic task. The I/O device task that is assigned to an axis must be the same type of task that is assigned to the axis.
  • Page 54 2 Motion Control Configuration and Principles Basic Operation of Tasks  Overall Task Operation The primary periodic task and periodic tasks operate based on the task period of the primary peri- odic task (also known as the primary period). The primary periodic task and priority-5 periodic task include operations such as system common processing and motion control in addition to I/O refresh- ing and user program execution.
  • Page 55 2 Motion Control Configuration and Principles  Operation of the Primary Periodic Task Task period (= primary period) Task execution time I/O refresh Control processing User program Refresh execution executed. Processing Processing Contents Output data processing • Output refresh data is created for Output Units that execute I/O refreshing. •...
  • Page 56 2 Motion Control Configuration and Principles  Operation of a Priority-5 Periodic Task Task period Task execution time I/O refresh Control processing User program Refresh executed. execution Processing Processing contents Output data processing • Output refresh data is created for Output Units that execute I/O refreshing. •...
  • Page 57 2 Motion Control Configuration and Principles  Operation of a Priority-16 Periodic Task You can refresh I/O in the priority-16 periodic task. Task period Task execution time Task processing time Task processing time I/O refresh Control Control processing processing * The CPU Unit will temporarily interrupt the execution of a task in order to execute a task with a higher execution priority.
  • Page 58 2 Motion Control Configuration and Principles  Valid Task Periods for NX701 CPU Unit For the NX701 CPU Unit, valid task periods depend on the type of task as shown below. Task Valid task periods Primary periodic task 125 μs, 250 μs to 8 ms (specify in increments of 250 μs) Priority-5 periodic task 125 μs, 250 μs to 100 ms (specify in increments of 250 μs) Priority-16 periodic task...
  • Page 59: Example Of Task Operations For Motion Control

    2 Motion Control Configuration and Principles 2-3-2 Example of Task Operations for Motion Control Motion control instructions can be used in the primary periodic task, in a priority-5 periodic task, or in a priority-16 periodic task. This section provides examples of task operations. Using Motion Control Instructions in the Primary Periodic Task If high-speed motion control is required, place the motion control instructions (FB) in the primary peri- odic task.
  • Page 60 2 Motion Control Configuration and Principles Using Motion Control Instructions in a Priority-5 Periodic Task If second high-speed motion control after the primary periodic task is required, place the motion control instructions (FB) in a priority-5 periodic task. The basic operation is the same as that of the primary periodic task. ...
  • Page 61 2 Motion Control Configuration and Principles  Axis Variable Update Timing in Multi-motion The multi-motion refers to execution of parallel control using the primary periodic task and the priority-5 periodic task. In the multi-motion, the user program for the priority-5 periodic task can access the values of an Axis Variable of an axis that is controlled in the primary periodic task.
  • Page 62 2 Motion Control Configuration and Principles The update timing is similar if two task periods are the same. Servo Primary period (t) Execution command Primary IO UPG IO UPG IO UPG IO UPG IO UPG periodic task Task period (t) Priority-5 IO UPG IO UPG...
  • Page 63 2 Motion Control Configuration and Principles Using Motion Control Instructions in a Priority-16 Periodic Task If high speed motion control is not required and/or your user program is too large, place motion control instructions in a priority-16 periodic task.  Timing of Processing Motion control processing (MC) for the motion control instructions (FB) that are executed in the same task period as the priority-16 periodic task are performed at the same time.
  • Page 64 2 Motion Control Configuration and Principles  Axis Variable Update Timing Axis Variables are system-defined variables for some of the axis parameters and for the monitor information, such as the actual position and error information for the axes controlled by the MC Function Module.
  • Page 65 2 Motion Control Configuration and Principles Using Motion Control Instructions in Two Different Types of Tasks If you have processes that require high-speed motion control and processes that do not require high- speed motion control for the same axis, you can place the motion control instructions (FB) both in the primary periodic task and in a priority-16 periodic task.
  • Page 66: Ethercat Communications And Motion Control

    2 Motion Control Configuration and Principles EtherCAT Communications and Motion Control The MC Function Module controls Servo Drives, counters, and NX-series Position Interface Units through the PDO communications of the EtherCAT Master Function Module in the CPU Unit. This sec- tion describes EtherCAT communications and other items related to the MC Function Module.
  • Page 67: Relationship Between Ethercat Master Function Module And Mc Function Module

    Position Interface Units that are assigned to axes variables. However, do not use SDO communications to write objects that are mapped to PDO communications. If you do, the oper- ation of the slaves will depend on slave specifications. For OMRON slaves, SDO communica- tions will result in errors.
  • Page 68 2 Motion Control Configuration and Principles  NX701 CPU Unit CPU Unit User program in PLC Function Module EtherCAT Instructions Executed. EtherCAT other than Sequence slaves motion control control instructions EtherCAT Master Function EtherCAT Task period EtherCAT Motion control MC Function Module Module slaves, instructions...
  • Page 69 2 Motion Control Configuration and Principles  NX1P2 CPU Unit CPU Unit User program in PLC Function Module Instructions Executed. Built-in I/O other than motion control Option Boards instructions NX Bus Sequence NX Units Function control Module EtherCAT EtherCAT slaves EtherCAT NX Units, MC Function Module...
  • Page 70: Relationship Between Process Data Communications Cycle And Motion Control Period

    2 Motion Control Configuration and Principles 2-4-3 Relationship between Process Data Communications Cycle and Motion Control Period The PLC Function Module sends motion control commands to the MC Function Module when motion control instructions are executed in the user program. The MC Function Module then performs motion control processing based on those commands and sends the results of processing as commands to the EtherCAT’s Servo Drive or other device.
  • Page 71 2 Motion Control Configuration and Principles  NX102 CPU Unit, NX1P2 CPU Unit, and NJ-series CPU Unit • Primary period = Motion control period = Process data communications cycle for EtherCAT com- munications Sequence control period CPU Unit (primary periodic task period or Basic I/O Units and periodic task period) Special Units...
  • Page 72 2 Motion Control Configuration and Principles 2-26 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 73: Configuring Axes And Axes Groups

    Configuring Axes and Axes Groups This section describes the concept of axes and axes groups, the settings for axes that are required for the MC test run function to operate on the Sysmac Studio, and the instructions for creating and configuring axes and axes groups using the Sysmac Stu- dio.
  • Page 74: Axes

    3 Configuring Axes and Axes Groups Axes This section describes the axes that are used in a MC Function Module. 3-1-1 Introduction to Axes In a motion control system, the targets of motion control are called axes. An axis can be an actual Servo Drive, encoder, or other device connected via EtherCAT communications or it can be a virtual Servo Drive or encoder within the MC Function Module.
  • Page 75: Nj/Nx-Series Cpu Unit Motion Control User's Manual (W507)

    3 Configuring Axes and Axes Groups The following elements are related to the axes of the MC Function Module. The number of elements provided is the same as the maximum number of controlled axes for each model. The maximum number of controlled axes varies depending on the model. Refer to 1-4-2 Perfor- mance Specifications for details.
  • Page 76 3 Configuring Axes and Axes Groups Classification Parameter name Operation Set- Maximum Velocity tings Start Velocity Maximum Jog Velocity Maximum Acceleration Maximum Deceleration Acceleration/Deceleration Over Operation Selection at Reversing Velocity Warning Value Acceleration Warning Value Deceleration Warning Value Positive Torque Warning Value Negative Torque Warning Value Actual Velocity Filter Time Constant In-position Range...
  • Page 77 3 Configuring Axes and Axes Groups Classification Parameter name Homing Settings Homing Method Home Input Signal Homing Start Direction Home Input Detection Direction Operation Selection at Positive Limit Input Operation Selection at Negative Limit Input Homing Velocity Homing Approach Velocity Homing Acceleration Homing Deceleration Homing Jerk...
  • Page 78 • OMRON 1S-series Servo Drives and G5-series Servo Drives can be set to specific node addresses by using the rotary switches on the front panels. If the rotary switches are set to 00, the node address will be determined by the settings made in the EtherCAT Editor of the Sys- mac Studio.
  • Page 79: Introduction To Axis Variables

    3 Configuring Axes and Axes Groups 3-1-3 Introduction to Axis Variables Axis Variables are system-defined variables for some of the axis parameters and for the monitor infor- mation, such as the actual position and error information, for the axes controlled by the MC Function Module.
  • Page 80 3 Configuring Axes and Axes Groups Examples of Axis Variable Levels and Changing Axis Variable Names In the descriptions below, _MC_AX[0] is used as an example. The same information applies to the other variables. _MC_AX[0] Axis Variable _MC_AX[0].Status Level that indicates the axis status _MC_AX[0].Status.Ready Variable that indicates that the axis is ready for operation _MC_AX[0].Status.Disabled...
  • Page 81: Synchronizing Axis Variables

    3 Configuring Axes and Axes Groups 3-1-4 Synchronizing Axis Variables The user program for the priority-5 periodic task can access the values of an Axis Variable of an axis that is controlled in the primary periodic task. The reverse is possible: the user program for the primary periodic task can access the values of an Axis Variable of an axis that is controlled in the priority-5 peri- odic task.
  • Page 82: Axis Setting Procedure

    3 Configuring Axes and Axes Groups Axis Setting Procedure This section gives the procedures to set servo axes that are newly created with the Sysmac Studio. 3-2-1 Axis Configuration Procedure START Create a project. Create the EtherCAT Network Configuration. Add axes. Assign the axes.
  • Page 83 3 Configuring Axes and Axes Groups A new project is displayed. Creating the EtherCAT Network Configuration There are two methods to create an EtherCAT Network Configuration: online and offline.  Online Method Double-click EtherCAT in the Multiview Explorer. The EtherCAT Tab Page is displayed. Select Online from the Controller Menu.
  • Page 84 3 Configuring Axes and Axes Groups  Offline Method Double-click EtherCAT in the Multiview Explorer. The EtherCAT Tab Page is displayed. Right-click the slave to connect and select Insert from the menu. 3-12 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 85 3 Configuring Axes and Axes Groups The slave is inserted on the display. Insert the remaining slaves. 3-13 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 86 3 Configuring Axes and Axes Groups Adding Axes Right-click Axis Settings in the Multiview Explorer and select Motion Control Axis or Single- axis Position Control Axis from the Add Menu. Additional Information Single-axis Position Control Axis is displayed for the NX102 CPU Unit and NX1P2 CPU Unit. An axis is added to the Multiview Explorer.
  • Page 87 3 Configuring Axes and Axes Groups Assigning an Axis Right-click an axis in the Multiview Explorer and select Edit from the menu. The Axis Basic Settings are displayed in the Axis Parameter Settings Tab Page. Additional Information Control Function is displayed for the NX102 CPU Unit and NX1P2 CPU Unit. Select Primary periodic task or Priority-5 periodic task from Motion control.
  • Page 88 3 Configuring Axes and Axes Groups Select Servo axis in the Axis type. Select All in the Control Function. Additional Information • You can select this parameter for the NX102 CPU Unit and NX1P2 CPU Unit. • To use the axis as a motion control axis, select All. To use the axis as a single-axis position control axis, select Single-axis position control only.
  • Page 89 3 Configuring Axes and Axes Groups Setting Axis Parameters Click each of the icons in the Axis Parameter Settings Tab Page. The settings for each icon are displayed on the Axis Parameter Settings Tab Page. Right-click Axis Settings in the Multiview Explorer and select Axis Setting Table to enable setting the axes parameters for all axes at the same time.
  • Page 90 3 Configuring Axes and Axes Groups Additional Information Changing Axis Variable Names in the User Program Perform the following two procedures to change Axis Variable names that are already used. • Change the Axis Variable name in the variable table in the variable declarations. •...
  • Page 91 3 Configuring Axes and Axes Groups Additional Information Introduction to Servo Drive Settings The MC Function Module connects to OMRON 1S-series Servo Drives with built-in EtherCAT communications, G5-series Servo Drives with built-in EtherCAT communications, or NX-series Pulse Output Units. Connectable Servo Drive Models You can connect the R88D-1SN-ECT, R88D-KN-ECT and R88D-KN-...
  • Page 92: Axes Groups

    3 Configuring Axes and Axes Groups Axes Groups This section describes the axes groups of the MC Function Module. 3-3-1 Introduction to Axes Groups Use axes groups to perform complex operations on multiple axes, such as linear or circular interpola- tion.
  • Page 93: Introduction To Axes Group Parameters

    3 Configuring Axes and Axes Groups 3-3-2 Introduction to Axes Group Parameters  Axes Group Parameters Classification Parameter name Axes Group Basic Set- Axes Group Number tings Motion Control Axes Group Use Composition Composition Axes Axes Group Operation Maximum Interpolation Velocity Settings Maximum Interpolation Acceleration Maximum Interpolation Deceleration...
  • Page 94: Introduction To Axes Group Variables

    3 Configuring Axes and Axes Groups 3-3-3 Introduction to Axes Group Variables Axes Group Variables are system-defined variables for the setting information and the monitoring infor- mation, such as the actual position and error information, for the axes groups controlled by the MC Function Module.
  • Page 95 3 Configuring Axes and Axes Groups Examples of Axes Group Variable Levels and Changing Axes Group Variable Names In the descriptions below, _MC_GRP[0] is used as an example. The same information applies to the other axes group variables. _MC_GRP[0] Axes Group Variables _MC_GRP[0].Status Level that indicates the axes group status _MC_GRP[0].Cmd...
  • Page 96: Specifying An Axes Group In The User Program

    3 Configuring Axes and Axes Groups 3-3-4 Specifying an Axes Group in the User Program In the user program, an axes group variable name is specified for the in-out variable AxesGroup in motion control instructions. In the following example, the Axes Group Variable name for the axes group that was added for the system-defined Axes Group Variable name of _MC_GRP[0] has been changed to MyGroup1 in the Sysmac Studio.
  • Page 97: Setting Procedures For Axes Groups

    3 Configuring Axes and Axes Groups Setting Procedures for Axes Groups This section gives the procedures to use the Sysmac Studio to set up an axes group. No configuration is required if you are not going to use any axes group command instructions, such as linear interpola- tion or circular interpolation.
  • Page 98 3 Configuring Axes and Axes Groups Adding an Axes Group Right-click Axes Group Settings in the Multiview Explorer and select Axes Group Settings from the Add Menu. An axes group is added to the Multiview Explorer. The default name for the new axes group is MC_Group000.
  • Page 99 3 Configuring Axes and Axes Groups Setting Axes Group Parameters Right-click an axes group in the Multiview Explorer and select Edit from the menu. The Axes Group Basic Settings are displayed in the Axes Group Parameter Settings Tab Page. Select from Primary periodic task or Priority-5 periodic task from Motion Control. Additional Information The setting is available for the NX701 CPU Unit.
  • Page 100 3 Configuring Axes and Axes Groups Select Used axes group in the Axes group use Box. Select the composition of the axes group in the Composition Box. A 2-axis composition is selected in the following example. Assign the axis to use in the Logical axes Box. 3-28 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 101 3 Configuring Axes and Axes Groups Click the bottom icon. The Axes Group Operation Settings Display is displayed. Set appropriate values for the settings based on the operating conditions of the device. Additional Information Changing Axes Group Variable Names in the User Program Perform the following two procedures to change Axes Group Variable names that are already used.
  • Page 102 3 Configuring Axes and Axes Groups Downloading to the CPU Unit Use the Synchronization menu command of the Sysmac Studio to download the project to the CPU Unit. Select Online from the Controller Menu. The Sysmac Studio goes online with the Controller. Select Synchronization from the Controller Menu and then click the Transfer to Controller Button.
  • Page 103 Checking Wiring from the Sysmac Studio This section describes the MC Test Run operations of the Sysmac Studio. You can use the MC Test Run to monitor sensor signals, check motor wiring, and more, all without any programming. 4-1 Functions of the Sysmac Studio ....... . . 4-2 4-1-1 MC Test Run Function .
  • Page 104: Functions Of The Sysmac Studio

    4 Checking Wiring from the Sysmac Studio Functions of the Sysmac Studio This section describes how to use the MC test run function to check wiring and basic settings. You can use the MC test run function in the Sysmac Studio to check wiring without any programming. 4-1-1 MC Test Run Function The MC test run operation supports the following functions.
  • Page 105 Motion Control Instructions Reference Manual (Cat. No. W508). Note You can use MC Test Runs for OMRON 1S-series Servo Drives, G5-series Servo Drives, or NX-series Pulse Output Units. Do not use it with servo drives from any other manufacturer.
  • Page 106: Application Procedure

    4 Checking Wiring from the Sysmac Studio 4-1-2 Application Procedure Before you perform an MC Test Run, check the following two items. • Are the Sysmac Studio and Controller connected and are they online? • Is the MC Test Run Mode currently in use from any other copy of the Sysmac Studio? After you have confirmed these two items, perform the following operations as instructed.
  • Page 107: Axis Parameter Setting Example

    4 Checking Wiring from the Sysmac Studio 4-1-3 Axis Parameter Setting Example Set the following axis parameters before you execute the MC Test Run Mode in the Sysmac Studio. The following setting example is for a one-axis device. Servomotor Encoder resolution: 20 bits/rotation 1 rotation 10 mm Ball screw...
  • Page 108: Starting The Mc Test Run Function

    4 Checking Wiring from the Sysmac Studio 4-1-4 Starting the MC Test Run Function The MC Test Run Mode is started from the Sysmac Studio. Start the Sysmac Studio and open a project in which the axis settings are completed. Select Online from the Controller Menu.
  • Page 109: Monitoring Sensor Signals

    4 Checking Wiring from the Sysmac Studio Monitoring Sensor Signals You can use the input signal display to check sensor signal wiring. Select the axis to check on the MC Test Run Tab Page. Check to see if the signals turn ON and OFF properly on the monitor screen by turning ON and OFF the sensor connected to each input signal.
  • Page 110: Checking Motor Operation

    4 Checking Wiring from the Sysmac Studio Checking Motor Operation Use the functions of the MC Test Run to check motor operation. 4-3-1 Turning ON the Servo You can use the Servo ON Button to turn the Servo ON and OFF. Select the axis for which to turn ON the Servo.
  • Page 111: Homing

    4 Checking Wiring from the Sysmac Studio Click the Button. The motor will operate in either the positive or negative direction while one of these buttons is clicked. Check to see if the motor operates in the set direction. 4-3-3 Homing Set the homing parameters in the Homing Settings on the Axis Parameter Settings Tab Page.
  • Page 112: Absolute Positioning

    4 Checking Wiring from the Sysmac Studio 4-3-4 Absolute Positioning Click the Absolute positioning Tab on the MC Test Run Tab Page. The following dialog box will appear. Select the axis to perform absolute positioning. Click the Servo ON Button to turn ON the Servo. Enter the target position, target velocity, acceleration rate, deceleration rate, and jerk, and then click the Apply Button.
  • Page 113: Relative Positioning

    4 Checking Wiring from the Sysmac Studio 4-3-5 Relative Positioning Click the Relative positioning Tab on the MC Test Run Tab Page. The following dialog box will appear. Select the axis to perform relative positioning. Click the Servo ON Button to turn ON the Servo. Enter the target travel distance, target velocity, acceleration rate, deceleration rate, and jerk, and then click the Apply Button.
  • Page 114 4 Checking Wiring from the Sysmac Studio 4-12 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 115: Motion Control Parameters

    Motion Control Parameters This section explains about axis parameters and axes group parameters used for motion control. 5-1 Introduction ..........5-2 5-2 Axis Parameters .
  • Page 116: Introduction

    5 Motion Control Parameters Introduction You can use motion control instructions to perform single-axis operations and multi-axes operations on axes groups with the NJ/NX-series CPU Unit’s MC Function Module. Axis and axes group parameters are used to set these operations. Axis parameters must be set, but axes group parameters are not required if you do not use multi-axes operations for axes groups.
  • Page 117 5 Motion Control Parameters Version Information If a CPU Unit with unit version 1.13 or later and Sysmac Studio version 1.17 or higher are com- bined, commands to the I/O devices can continuously be sent even when the download process is in progress.
  • Page 118 5 Motion Control Parameters Precautions for Correct Use Precautions for Correct Use • Changes to the MC Parameter Settings that are made with the MC_Write (Write MC Setting) instruction are saved in the main memory in the CPU Unit. They are not saved in the built-in non-volatile memory in the CPU Unit.
  • Page 119: Axis Parameters

    5 Motion Control Parameters Axis Parameters The axis parameters set the maximum velocity, jerk, homing, and other items for the axes controlled by the MC Function Module. The number of axis parameters provided is the same as the maximum number of controlled axes for each model.
  • Page 120 5 Motion Control Parameters Temporary changes Reading Classification Parameter name Page Applicable variables Support instruction Operation Set- Actual Velocity Filter Time Constant MC_WriteAx- P. 5-20 tings isParameter Zero Position Range Other Opera- Immediate Stop Input Stop Method MC_WriteAx- P. 5-24 tion Settings isParameter Limit Input Stop Method...
  • Page 121: Axis Basic Settings

    5 Motion Control Parameters *3 Set this parameter when using the NX701 CPU Unit. *4 A CPU Unit with unit version 1.10 or later and Sysmac Studio version 1.12 or higher are required to use this parameter. *5 A CPU Unit with unit version 1.04 or later and Sysmac Studio version 1.05 or higher are required for temporary changes.
  • Page 122 5 Motion Control Parameters Parameter name Function Setting range Default Input Device/Output Specify the node address of the EtherCAT slave 0 to 65535 Device device that is assigned to the axis. The Node Address parameter cannot be selected if the Axis Type parameter is set to a virtual axis. *1 Set this parameter when using the NX701 CPU Unit.
  • Page 123 5 Motion Control Parameters Item NX1P2-11 NX1P2-10 NX1P2-90 Settable axis numbers 0 to 11 0 to 9 0 to 3 Maximum number of used real axes 8 axes 6 axes 4 axes Used motion control servo 4 axes 2 axes axes Used single-axis position con- 4 axes...
  • Page 124 5 Motion Control Parameters *1 Refer to 1-4-3 Function Specifications for the controllable devices. *2 Refer to 1-4-3 Function Specifications for the controllable devices. *3 Virtual encoder axes are used in combination with motion control instructions that update the actual position of the virtual encoder axis.
  • Page 125 Precautions for Correct Use Precautions for Correct Use • OMRON 1S-series Servo Drives and G5-series Servo Drives can be set to specific node addresses by using the node address switches on the front panels. If the node address switches are set to 00, the node address will be determined by the settings made in the Ether- CAT Editor of the Sysmac Studio.
  • Page 126 01 to 99 Node address switch setting *1 The value set from the Sysmac Studio will be used for all non-OMRON slaves, regardless of any setting at the slave. *2 For the NJ-series CPU Unit, the set value is 1 to 192. However, only for the NJ101 CPU Unit, the maxi- mum number of slaves which can be connected is 64 slaves.
  • Page 127: Unit Conversion Settings

    5 Motion Control Parameters 5-2-3 Unit Conversion Settings These parameters set position units. Parameter name Function Setting range Default Unit of Display Set the unit for command positions. 0 to 5 pulse μm degree inch Command Pulse Set the number of pulses per motor rotation 1 to 4,294,967,295 10,000 Count Per Motor...
  • Page 128 5 Motion Control Parameters Precautions for Correct Use Precautions for Correct Use • Set to use the reducer if you use the Count Mode to Rotary Mode. When you set not to use the reducer, the number of pulses for one cycle of the ring counter may not be an expected integer because of a calculation error for one cycle of the ring counter when converted to pulses.
  • Page 129 5 Motion Control Parameters • The result of the following calculation must be equal to or between 0.000000001 and 4,294,967,295: Work travel distance per rotation × Work gear ratio ÷ Motor gear ratio. When the Count Mode is Rotary Mode, the following condition must also be met. •...
  • Page 130 5 Motion Control Parameters In this example, an OMRON 1S-series Servomotor with a 23-bit absolute encoder is used. Mechanically, the reduction ratio of the reducer is 1/5 and the workpiece moves 10 mm for every rotation of the ball screw.
  • Page 131 5 Motion Control Parameters In this example, an OMRON 1S-series Servomotor with a 23-bit absolute encoder is used. Mechanically, the reduction ratio of the reducer is 3/5 and the workpiece moves 10 mm for every rotation of the ball screw.
  • Page 132 5 Motion Control Parameters In this example 1, an OMRON 1S-series Servomotor with a 23-bit absolute encoder is used. Mechanically, the reduction ratio of the reducer is 3/5 and the workpiece moves 360 degree for every rotation of the turntable.
  • Page 133 5 Motion Control Parameters In this example 2, an OMRON 1S-series Servomotor with a 23-bit absolute encoder is used. Mechanically, the reduction ratio of the reducer is 3/5 and the conveyor moves 80 mm for every rota- tion of the pulley. The travel distance per conveyor rotation is 360 mm.
  • Page 134: Operation Settings

    5 Motion Control Parameters 5-2-4 Operation Settings These parameters set items for axis operation, such as the maximum velocity and maximum accelera- tion/deceleration rate. Set them according to the specifications of the device you are controlling. Parameter name Function Setting range Default Maximum Velocity Positive long reals...
  • Page 135 5 Motion Control Parameters Parameter name Function Setting range Default Negative Torque Set the torque command value at which to 0 to 1,000 output a negative torque warning. No negative Warning Value torque warning is output if 0 is set. (Unit: %) Actual Velocity Fil- Set the time period to calculate the average 0 to 100...
  • Page 136 5 Motion Control Parameters Workpiece Servomotor encoder resolution: 23 bits/rotation Reduction ratio: 1/5 (8,388,608 pulses per rotation) Ball screw pitch: 10 mm The Maximum Velocity is set to 200 based on a calculation for the conditions (maximum speed: 6,000 r/min, reduction ratio: 1/5, ball screw pitch: 10 mm; 6,000 r/min × 1/5 × 10 mm = 12,000 mm/min = 200 mm/s).
  • Page 137 5 Motion Control Parameters If the target velocity changes as the result of re-executing the motion control command or as the result of performing multi-execution of instructions for it during motion, the initial velocity is used. If the target velocity is greater than the start velocity, acceleration/deceleration are performed at the specified accel- eration/deceleration rates.
  • Page 138: Other Operation Settings

    NX-series Digital Input Units, for which the logic of the input signals cannot be set. For devices, such as OMRON 1S-series Servo Drives, for which you can set the input signal logic, set this param- eter to not reverse the signal.
  • Page 139: Limit Settings

    *2 The settings are as follows when you use an OMRON G5-series Servomotor/Servo Drive with an absolute external scale for fully-closed control, or when you use an OMRON G5-series Linear Motor Type Servomo- tor/Servo Drive with built-in EtherCAT communications.
  • Page 140 5 Motion Control Parameters Count Modes The Count Mode is the feed mode for the axis. Select the count mode for the command positions for each axis. There are two Count Modes: Linear Mode, which has a finite axis feed range and Rotary Mode, which has an infinite axis feed range.
  • Page 141: Servo Drive Settings

    0: Switched on by Servo OFF 1: Ready to switched on by Servo OFF *1 The default range is all DINT integers. You can use the default range with OMRON 1S-series Servo Drives or G5-series Servo Drives. Refer to the NX-series Position Interface Units User’s Manual (Cat. No. W524) for information on using the NX- series Position Interface Units.
  • Page 142: Homing Settings

    *4 If you set this parameter to 1, the Servo Ready (Switched on) status of OMRON G5-series Servo Drives can- not be used. To use the Servo Ready (Switched on) status, set this parameter to 0. Refer to A-5 PDS State Transition for details on the PDS state transition.
  • Page 143: 5-2-10 Axis Parameter Setting Example

    *3 This setting can be used for an OMRON 1S-series Servo Drive or G5-series Servo Drive. The input allocated to latch 1 for the Servo Drive is used as the external home input. In the default setting of the OMRON 1S-series Servo Drives or G5-series Servo Drives, the external latch input 1 is allocated to latch 1.
  • Page 144 5 Motion Control Parameters Settings Parameter name Axis 1 Axis 2 Axis Variable Names Axis1 Axis2 Axis Number Enabled Axes Used axis Used axis Axis Type Servo axis Servo axis Input Device/Output Device μm Unit of Display μm Command Pulse Count Per Motor 1,048,576 1,048,576 Rotation...
  • Page 145 5 Motion Control Parameters Settings Parameter name Axis 1 Axis 2 Axis Variable Name Axis1 Axis2 Axis Number Enabled Axes Used axis Used axis Axis Type Servo axis Encoder axis Input Device/Output Device Unit of Display μm μm Command Pulse Count Per Motor Rota- 1,048,576 1,048,576 tion...
  • Page 146: Axes Group Parameters

    5 Motion Control Parameters Axes Group Parameters Use the axes group parameters to set axes group operations related to axes groups that the MC Func- tion Module controls, such as the axis configuration, maximum interpolation velocity, and axes group stopping method. The axes group parameters are provided for each axes group. The number of axes groups depends on the model.
  • Page 147: Axes Group Basic Settings

    5 Motion Control Parameters 5-3-2 Axes Group Basic Settings Set whether to use the axes group. If you are going to use the axes group, set the axis configuration and the axes to use. Parameter name Function Setting range Default Axes Group Number Set the logical number of the axes group.
  • Page 148 5 Motion Control Parameters Composition Axes The axes that are in an axes group are called composition axes. To make it easier to reuse program- ming with interpolation instructions for axes groups commands, logical axes (axis A0 to axis A3) are used instead of axis numbers (axis 0 to axis 255).
  • Page 149: Axes Group Operation Settings

    5 Motion Control Parameters 5-3-3 Axes Group Operation Settings These parameters set items for axes group operation, such as the maximum interpolation velocity and axes group stopping method. Set them according to the specifications of the device you are controlling. Refer to the NX-series Position Interface Units User’s Manual (Cat.
  • Page 150 5 Motion Control Parameters Parameter name Function Setting range Default Interpolation Decel- Set the percentage of the maximum interpo- 0 to 100 eration Warning lation deceleration rate at which to output an Value interpolation deceleration warning. No inter- polation deceleration warning is output if 0 is set.
  • Page 151: Enabling An Axes Group

    5 Motion Control Parameters 5-3-4 Enabling an Axes Group Specify the number of the axes group to enable in the MC_GroupEnable (Enable Axes Group) instruc- tion to enable operation instructions for an axes group in the user program. An instruction error occurs if you execute a motion control instruction for an axes group that is not enabled.
  • Page 152 5 Motion Control Parameters 5-38 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 153: Motion Control Programming

    Motion Control Programming This section provides the specifications of a motion control program and the operation procedures that are required up through actual program development. 6-1 Introduction ..........6-2 6-2 Motion Control Instructions .
  • Page 154: Introduction

    6 Motion Control Programming Introduction The NJ/NX-series CPU Unit can perform both sequence control and motion control. Write motion control instructions into the user program to perform motion control with EtherCAT slave Servo Drives, NX-series Position Interface Units, and other devices. Programs that contain motion control instructions are called motion control programs.
  • Page 155: Motion Control Instructions

    6 Motion Control Programming  NX102 CPU Unit CPU Unit User program in PLC Function Module Executed. Instructions other than NX Units NX Bus motion control Function Sequence instructions Module control EtherCAT EtherCAT slaves EtherCAT NX Units, MC Function Module Master Position Function...
  • Page 156 6 Motion Control Programming  NJ-series CPU Unit CPU Unit User program in PLC Function Module CJ-series Units Instructions Executed. other than Basic I/O Units, motion control Special Units instructions Sequence control EtherCAT EtherCAT slaves EtherCAT EtherCAT Motion control Task period EtherCAT MC Function Module Master...
  • Page 157: Motion Control Instructions

    6 Motion Control Programming Motion Control Instructions Motion control instructions are used in the user program to execute motion controls for an NJ/NX-series Controller. These instructions are defined as function blocks (FBs). The motion control instructions of ® the MC Function Module are based on the technical specifications of function blocks for PLCopen ®...
  • Page 158: State Transitions

    6 Motion Control Programming State Transitions The states of axes and axes groups and state transitions caused by the execution of instructions are ® based on the technical specifications of function blocks for PLCopen motion control. This section pro- vides an overall description of the MC Function Module, states, and state transitions. 6-3-1 Status of the Motion Control Function Module The overall states of the MC Function Module are described in the following table.
  • Page 159: Axis States

    6 Motion Control Programming 6-3-2 Axis States The operation of an axis when motion control instructions are executed for it is shown in the following figure. Motion control instructions are executed in sequence and axes enter one of the states listed in the following table.
  • Page 160 6 Motion Control Programming State name Definition Stopped In this state, the Servo is ON for the axis and the axis is stopped. Discrete Motion In this state, positioning is performed for the specified target position. This includes when waiting the in-position status and when the velocity is 0 because the override factor was set to 0 during a discrete motion.
  • Page 161: Axes Group States

    6 Motion Control Programming 6-3-3 Axes Group States The operation of an axes group when motion control instructions are executed for it is shown in the fol- lowing figure. Moving Moving MC_GroupStop Deceleration Stopping Stopping MC_GroupImmediateStop Error Deceleration Stopping ErrorStop MC_GroupEnable Standby Axes Group Disabled...
  • Page 162 6 Motion Control Programming State name Definition Standby In this state, no instructions for axes group commands are executing. (This is independent of the Servo ON/OFF status of the composition axes in the axes group) Moving In this state, positioning is performed for the specified target position due to a motion instruction for an axes group command.
  • Page 163: Execution And Status Of Motion Control Instructions

    6 Motion Control Programming Execution and Status of Motion Control Instructions Variables that represent the execution status of instructions and variables that are used to execute motion control instructions are defined in the MC Function Module. There are two input variables that you use to execute motion control instruction functions: Execute and Enable.
  • Page 164 6 Motion Control Programming Item Rule There are two output variables that represent an error when a problem occurs during the Error processing execution of an instruction instance. These outputs are defined as follows: • Error: The output variable Error changes to TRUE to indicate that an error occurred during the execution of the instruction instance.
  • Page 165: Execution Timing Charts

    6 Motion Control Programming *3 If the condition expressions or set values for ST Structure instructions do not match, the instructions in that statement are not executed. For details, refer to the NJ/NX-series Motion Control Instructions Reference Man- ual (Cat. No. W508). *4 Refer to the NJ/NX-series Motion Control Instructions Reference Manual (Cat.
  • Page 166 6 Motion Control Programming Timing Charts for Execute-type Instructions • The following timing chart shows the operation of the instruction when it is completed while the input variable Execute is TRUE. The following timing chart is for when an error does not occur through when Execute changes to FALSE.
  • Page 167 6 Motion Control Programming • The following timing chart is for when the input variable Execute is TRUE for only one period and an error occurs for the instruction. The output variable Error will remain TRUE. Execute Busy Done CommandAborted Error Timing Charts for Enable-type Instructions •...
  • Page 168: Timing Chart For Re-Execution Of Motion Control Instructions

    6 Motion Control Programming 6-4-3 Timing Chart for Re-execution of Motion Control Instructions If the values of the input variables to the same instance are changed while the motion control instruction is under execution and Execute is changed to TRUE, FALSE, and then back to TRUE again, operation will follow the new values.
  • Page 169: Timing Chart For Multi-Execution Of Motion Control Instructions

    6 Motion Control Programming 6-4-4 Timing Chart for Multi-execution of Motion Control Instructions Another instance can be executed for an axis during axis motion. Set the input variable BufferMode to specify when to start operation. The following figure shows an example in which BufferMode (Buffer Mode Selection) is set to aborting when MC_MoveAbsolute (Absolute Positioning) instructions are executed with multi-execution of instructions.
  • Page 170: Positions

    6 Motion Control Programming Positions This section describes the positions that are used in motion control programming. 6-5-1 Types of Positions The MC Function Modules uses the following two types of positions. Type of position Definition Command position This is the position that the MC Function Module outputs to control an axis. Actual position The actual position as input from the Servo Drive or encoder input.
  • Page 171: Valid Positions For Each Axis Type

    6 Motion Control Programming 6-5-2 Valid Positions for Each Axis Type The following table lists the valid positions for each axis type. Types of positions Axis type Command position Actual position Servo axis Applicable Applicable Virtual servo axis Applicable Applicable Encoder axis Cannot be used.
  • Page 172: System-Defined Variables For Motion Control

    6 Motion Control Programming System-defined Variables for Motion Control This section describes the variables of the MC Function Module. 6-6-1 Overview of System-defined Variables for Motion Control The NJ/NX-series Controller is compliant with the IEC 61131-3 standard. Parameter settings, status information, and other data are handled as variables in the user program in the NJ/NX-series Con- troller.
  • Page 173 6 Motion Control Programming  Axes Group Variables Use these variables to handle multiple axes as a single group. You can use either the system-defined variables or the variables that are set on the Sysmac Studio to specify the Axes Group Variables in the user program. You can change any of the Axes Group Variables that you create on the Sysmac Studio.
  • Page 174 6 Motion Control Programming Data Types Used for System-defined Variables for Motion Control System-defined variables for motion control use both basic data types and derivative data types.  Basic Data Types Category Data type Size Range of values Notation Boolean BOOL TRUE or FALSE TRUE or FALSE...
  • Page 175: System For System-Defined Variables For Motion Control

    6 Motion Control Programming  Derivative Data Types Type Description Enumerated data types This data type uses one item from a prepared name list as its value. Variables with this data type start with “_e.” Structure data type This data type consists of multiple data types placed together into a single layered structure.
  • Page 176 6 Motion Control Programming Update Timing of System-defined Variables for Motion Control The update timings of the system-defined variables for motion control are different in the NX701 CPU Unit, NX102 CPU Unit, NX1P2 CPU Unit, and NJ-series CPU Unit as follows. ...
  • Page 177: Tables Of System-Defined Variables For Motion Control

    6 Motion Control Programming 6-6-3 Tables of System-defined Variables for Motion Control This section provides tables that describe the system-defined variables for motion control. MC Common Variable The variable name _MC_COM is used for the MC Common Variable. The data type is _sCOM- MON_REF, which is a structure variable.
  • Page 178 6 Motion Control Programming Axis Variables _MC_AX[0-255], _MC1_AX[0-255], and _MC2_AX[0-255] are the Axis Variables in the system-defined variables. The data type is _sAXIS_REF, which is a structure variable. This section describes the con- figuration of the Axis Variables and provides details on the members using _MC_AX[0-255] as an example.
  • Page 179 6 Motion Control Programming Variable name Data type Meaning Function Details _sAXIS_REF_DET Axis Control Status Gives the control status of the command. Idle BOOL Idle TRUE when processing is not currently performed for the command value, except when waiting for in-position state.
  • Page 180 6 Motion Control Programming Variable name Data type Meaning Function _sAXIS_REF_CM- Axis Command Values D_DATA LREAL Command Current Contains the current value of the command posi- Position tion. (Unit: command units) When the Servo is OFF and the mode is not posi- tion control mode, this variable contains the actual current position.
  • Page 181 6 Motion Control Programming Variable name Data type Meaning Function MFaultLvl _sMC_REF_EVENT Axis Minor Fault Active BOOL Axis Minor Fault TRUE while there is an axis minor fault. Occurrence Code WORD Axis Minor Fault Code Contains the code for an axis minor fault. The upper four digits of the event code have the same value.
  • Page 182 Z-phase detection digital input. You may not be able to map a PDO to this signal for servo drives from other man- ufacturers. Refer to the manual for the connected servo drive for details. *6 You cannot map this signal to a PDO for an OMRON G5-series Linear Motor Type Servo Drive with built-in EtherCAT communications.
  • Page 183 6 Motion Control Programming  Relationship between Axis Variables and Axis Types Axis Variables are enabled or disabled according to the axis type. Disabled members are FALSE or 0. In the descriptions, _MC_AX[0-255] is used as an example. The same information applies to _MC1_AX[0-255] and _MC2_AX[0-255].
  • Page 184 6 Motion Control Programming Virtual Virtual Servo Encoder Variable name Data type Meaning servo encoder axis axis axis axis _sAXIS_REF_CMD_DATA Axis Command Values LREAL Command Current Enabled Enabled Position LREAL Command Current Enabled Enabled Velocity AccDec LREAL Command Current Enabled Enabled Acceleration/Decelera- tion...
  • Page 185 6 Motion Control Programming Axes Group Variables _MC_GRP[0-63], _MC1_GRP[0-63], and _MC2_GRP[0-63] are the system-defined Axes Group Vari- ables. The data type is _sGROUP_REF, which is a structure. This section describes the configuration of the Axes Group Variables and provides details on the members using _MC_GRP[0-63] as an exam- ple.
  • Page 186 6 Motion Control Programming Variable name Data type Meaning Function _sGROUP_REF_CMD_ Axes Group Command DATA Values LREAL Command Contains the current value of the command Interpolation Velocity interpolation velocity. The interpolation veloc- ity is calculated from the difference with the interpolation command current position.
  • Page 187 6 Motion Control Programming Variable name Data type Meaning Function Kinematics _sGROUP_REF_KIM Kinematics Contains the definition of the kinematic con- Transformation versions for the axes group. Settings GrpType _eMC_TYPE Composition Gives the axis composition of multi-axes coor- dinated control. 0: _mcXY (two axes) 1: _mcXYZ (three axes) 2: _mcXYZU (four axes) Axis[0]...
  • Page 188: Cam Tables And Cam Data Variables

    6 Motion Control Programming Cam Tables and Cam Data Variables The MC Function Module uses the cam profile curves that you create on the Cam Editor of the Sysmac Studio as cam tables. The cam table data is handled as cam data variables in the user program in the NJ/NX-series Controller.
  • Page 189 6 Motion Control Programming • You can upload the cam definition variable that were created in the Cam Data Settings of the Sys- mac Studio even after the variable is changed in the user program. If the cam definition variable was created as a user-defined variable, you cannot upload it after it is changed in the user pro- gram.
  • Page 190 6 Motion Control Programming Editing a Cam Data Variable on the Computer after Editing It from the User Program If you edit or overwrite a cam data variable from the user program and then use the MC_SaveCam- Table instruction to save the cam table to non-volatile memory, you cannot edit the data with the Cam Editor of the Sysmac Studio.
  • Page 191 6 Motion Control Programming You can also export the Cam Data Settings that were entered from the Cam Editor to a CSV file. Refer to the Sysmac Studio Version 1 Operation Manual (Cat. No. W504) for information on the Cam Data Settings and the export procedure.
  • Page 192: Programming Motion Controls

    6 Motion Control Programming Programming Motion Controls Place motion control instructions in the user program of the NJ/NX-series Controller to perform motion control. Programs that contain motion control instructions are called motion control programs. Precautions for Correct Use Precautions for Correct Use •...
  • Page 193 6 Motion Control Programming Editing the Program Right-click a section in the new program and select Edit from the menu. The Program Edit Tab Page is displayed. Select the required instructions from the Toolbox and enter the program. Refer to the NJ/NX-series CPU Unit Software User’s Manual (Cat. No. W501) for details on program- ming.
  • Page 194: Creating Cam Tables

    6 Motion Control Programming Creating Cam Tables This section will explain how to use the Cam Editor of the Sysmac Studio to create a cam table. Refer to the Sysmac Studio Version 1 Operation Manual (Cat. No. W504) for details on the Cam Editor. Adding a Cam Profile Right-click Cam Data Settings in the Multiview Explorer and select CamProfile from the Add Menu.
  • Page 195 6 Motion Control Programming Editing the Cam Profile Right-click the cam profile in the Multiview Explorer and select Edit from the menu. The Cam Profile Edit Tab Page is displayed. Make the settings and enter the cam profile. Refer to the Sysmac Studio Version 1 Operation Manual (Cat. No. W504) for specific proce- dures.
  • Page 196 6 Motion Control Programming 6-44 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 197: Manual Operation

    This section describes manual operation when the MC Function Module is used together with an OMRON 1S-series Servo Drive. 7-1 Outline ............7-2 7-2 Turning ON the Servo .
  • Page 198: Outline

    7 Manual Operation Outline This section describes how to combine the MC Function Module and OMRON 1S-series Servo Drives together and use motion control instructions from the user program to perform manual operations. The motion control instructions for manual operation are MC_Power and MC_MoveJog. MC_Power changes the Servo Drive to the Servo ON state and MC_MoveJog performs jogging.
  • Page 199: Turning On The Servo

    MC_Power instruction changes to TRUE. Version Information For a CPU Unit with unit version 1.10 or later, if an OMRON 1S-series Servomotor or G5-series Servomotor with an absolute encoder is used, or if an OMRON G5-series Linear Motor Type...
  • Page 200: Setting Axis Parameters

    7 Manual Operation Set the axis parameters from the Sysmac Studio. For details, refer to 3-2-2 Setting Procedure. Writing the User Program Create the user program from the Sysmac Studio. For details, refer to 6-8 Programming Motion Controls. Downloading Axis Parameters and the User Program Download the axis parameters and user program to the CPU Unit.
  • Page 201: Jogging

    7 Manual Operation Jogging Use the motion control instruction MC_MoveJog for jogging. Instance name Body name MC_MoveJog_instance In-out variable MC_MoveJog Axis1 Axis Axis Axis1 PositiveEnable Busy NegativeEnable CommandAborted Velocity Error Acceleration ErrorID Deceleration Input variables Output variables Specify the axis to jog with the Axis in-out variable. Change the PositiveEnable input variable to TRUE to start the axis with the specified positive Velocity (Target Velocity) and Acceleration (Acceleration Rate).
  • Page 202: Setting Axis Parameters

    7 Manual Operation 7-3-2 Setting Axis Parameters Set the following axis parameters if you want to jog when home is not defined. The following setting example is for a one-axis device. Servomotor Encoder resolution: 23 bits/rotation 1 rotation 10 mm Ball screw Ball screw pitch: 10 mm Encoder output pulses per motor rotation...
  • Page 203: Programming Example

    7 Manual Operation 7-3-4 Programming Example The following programming example jogs an axis named Axis1 in the positive direction for the value of bit A and in the negative direction for the value of bit B. MC_MoveJog_instance MC_MoveJog Axis1 Axis Axis PositiveEnable Busy...
  • Page 204 7 Manual Operation NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 205: Homing

    Homing This section describes homing. 8-1 Outline ............8-2 8-2 Homing Procedure .
  • Page 206: Outline

    NX-series Position Interface Units User’s Manual (Cat. No. W524) for details. Additional Information If an OMRON 1S-series Servomotor or G5-series Servomotor with an absolute encoder is used, or if an OMRON G5-series Linear Motor Type Servomotor/Servo Drive with built-in EtherCAT communications is used with an absolute external scale, home is defined when the Enable input variable to the MC_Power instruction changes to TRUE.
  • Page 207 8 Homing Version Information For a CPU Unit with unit version 1.10 or later, if an OMRON 1S-series Servomotor or G5-series Servomotor with an absolute encoder is used, or if an OMRON G5-series Linear Motor Type Servomotor/Servo Drive with built-in EtherCAT communications is used with an absolute exter-...
  • Page 208 8 Homing Precautions for Correct Use Precautions for Correct Use • For a virtual axis, home is always defined with a zero position preset. The setting of the Hom- ing Method axis parameter is ignored. • The positive drive prohibit input (POT), negative drive prohibit input (NOT), and home proxim- ity input (DEC) of the Servo Drive are used by the MC Function Module as the positive limit input, negative limit input, and home proximity input.
  • Page 209: Homing Procedure

    8 Homing Homing Procedure This section describes the procedure to perform homing. Adding and Setting an Axis Add and set an axis from the Sysmac Studio. Setting Axis Parameters Set the homing method with the homing parameters. Writing the User Program Create the user program from the Sysmac Studio.
  • Page 210 8 Homing Parameter name Description Home Offset Preset the actual position for the value that is set after homing. (Unit: command units) Homing Holding Time Set the holding time when you set the Homing Operation Mode to the proximity reverse turn/holding time. (Unit: ms) Homing Compensation Value Set the homing compensation value that is applied after the home is defined.
  • Page 211 Manual (Cat. No. W508). Additional Information You cannot map the Z-phase input to a PDO for an OMRON G5-series Linear Motor Type Servo Drive with built-in EtherCAT communications. Therefore, if you use the No Home Proximity Input/Holding Home Input Homing Operation Mode, which can use a Z-phase input mapped to a PDO, do not select the Z-phase input for the home input signal.
  • Page 212 8 Homing Homing Start Direction Select the direction (positive or negative) in which the axis starts moving when homing is started. If homing starts while the home proximity signal is ON in a Homing Operation Mode that includes reversal operation for a proximity reverse turn, the axis starts motion in the direction opposite to the home input detection direction (regardless of the setting of the homing start direction).
  • Page 213 8 Homing • An error occurs and the axis stops if the axis is set to reverse direction, and the limit signal in the home input detection direction turns ON when traveling at the homing approach velocity. However, if the Homing Operation Mode is 13 (no home proximity input/holding home input), which does not use proximity signals, no error will occur and the axis will not stop.
  • Page 214 8 Homing Homing Jerk Set the homing jerk in command units per seconds cubed (command units/s ). If the homing jerk is set to 0, acceleration and deceleration are performed without jerk. Home Input Mask Distance Set the home input mask distance in command units when you set Homing Operation Mode 9 (proxim- ity reverse turn/home input mask distance).
  • Page 215 8 Homing Homing Holding Time Set the holding time when you set homing operation mode 12 (proximity reverse turn/holding time). This is the time from when the home proximity input signal (i.e., from when deceleration starts) until home is defined. Home input detection direction Home proximity input signal...
  • Page 216: Monitoring The Homing Operation

    8 Homing 8-2-2 Monitoring the Homing Operation You can read Axis Variables in the user program to monitor the homing status and the input signal sta- tus. In the descriptions, a variable name _MC_AX[*] is used as an example, but the same information applies to _MC1_AX[*] and _MC2_AX[*].
  • Page 217: Homing Operation

    8 Homing Homing Operation Select the home definition method based on the configuration of the positioning system and its pur- pose. There are 10 Homing Operation Modes supported by the MC Function Module. You can also fine- tune the home that is detected with a homing compensation value. Additional Information •...
  • Page 218: Homing With An Absolute Encoder

    • If you use an OMRON 1S-series Servo Drive, connect a battery to the CPU Unit. • If you use an absolute encoder of an OMRON G5-series Servo Drive, connect a battery to the CPU Unit and an absolute encoder backup battery to the Servo Drive.
  • Page 219: Outline Of Function

    8 Homing Additional Information If you use an OMRON G5-series Linear Motor Type Servomotor/Servo Drive with built-in Ether- CAT communications, you can set the absolute encoder home position. If you use a Linear Motor Type, observe the following points when reading this section.
  • Page 220: Setting Procedure

    8 Homing Applicable Servomotors The following table lists the Servomotors that use the absolute encoder home setting. Manufacturer Series Servo Drive Servomotor OMRON 1S Series R88D-1SN-ECT R88M-1S R88M-1T R88M-1C G5 Series R88D-KN-ECT R88M-KS R88M-KT R88M-KC R88D-KN-ECT-L R88L-EC Precautions for Correct Use Precautions for Correct Use You cannot use this absolute encoder for an NX-series Pulse Output Unit.
  • Page 221 Precautions for Correct Use Precautions for Correct Use After the absolute encoder is set up, the power supply to the OMRON 1S-series Servo Drive or G5-series Servo Drive must be cycled. When setup processing for the absolute encoder is com- pleted, an Absolute Value Clear Error (A27.1) will occur in the Servo Drive.
  • Page 222: High-Speed Homing

    8 Homing High-speed Homing This function performs quick positioning to the home. Home is defined in advance. Use the MC_MoveZeroPosition (High-speed Homing) instruction and specify the target velocity, acceleration rate, deceleration rate, and jerk. If you execute this instruction when home is not defined an instruction error will occur.
  • Page 223: Motion Control Functions

    This section describes the motion control functions that are used when connected to OMRON 1S-series Servo Drives with built-in EtherCAT communications. 9-1 Single-axis Position Control ........9-3 9-1-1 Outline of Operation .
  • Page 224 9 Motion Control Functions 9-6 Multi-axes Coordinated Control ........9-53 9-6-1 Outline of Operation .
  • Page 225: Single-Axis Position Control

    9 Motion Control Functions Single-axis Position Control The MC Function Module can be connected to OMRON 1S-series Servo Drives with built-in EtherCAT communications or G5-series Servo Drives with built-in EtherCAT communications to implement posi- tion control, velocity control, and torque control. This section describes positioning operation for single axes.
  • Page 226: Absolute Positioning

    9 Motion Control Functions 9-1-2 Absolute Positioning Absolute positioning specifies the absolute coordinates of the target position in relation to home. You can perform positioning, such as shortest way positioning on a rotary table, by setting the Count Mode to Rotary Mode and specifying the operation direction. Velocity Target velocity...
  • Page 227: Interrupt Feeding

    9 Motion Control Functions 9-1-4 Interrupt Feeding Interrupt feeding feeds the axis at the specified velocity and for the specified distance from the actual position when a trigger signal occurs. You can also select to output an error if the trigger signal does not occur within the specified travel dis- tance when you specify either absolute or relative positioning.
  • Page 228: Cyclic Synchronous Positioning

    9 Motion Control Functions For details, refer to the MC_MoveFeed (Interrupt Feeding) instruction in the NJ/NX-series Motion Con- trol Instructions Reference Manual (Cat. No. W508). Refer to the NX-series Position Interface Units User’s Manual (Cat. No. W524) for the differences when you use NX-series Pulse Output Units.
  • Page 229: Stopping

    Precautions for Correct Use Precautions for Correct Use The immediate stop input for the OMRON 1S-series Servo Drive or G5-series Servo Drive also causes an error and executes stop processes in the Servo Drive itself.  Limit Inputs (Positive Limit Input or Negative Limit Input) Stop processing in the MC Function Module is executed according to the state of the Servo Drive input signals.
  • Page 230 • You must set up the Servo Drive in order to use the input signals from the Servo Drive. An OMRON 1S-series Servo Drive with built-in EtherCAT communications or G5-series Servo Drive with built-in EtherCAT communications has an immediate stop input and limit input assigned in its default settings.
  • Page 231 9 Motion Control Functions  Stopping Due to Motion Control Period Exceeded Error If motion control processing does not end within two periods, a Motion Control Period Exceeded error occurs. All axes stop immediately. Precautions for Correct Use Precautions for Correct Use When you use an NX701 CPU Unit and operate in the multi-motion, all axes in both tasks will stop immediately if a Motion Control Period Exceeded error occurs in either of the tasks.
  • Page 232 9 Motion Control Functions Stop Method • Deceleration Stop Velocity Axis stops at the deceleration rate that is specified for the instruction or at the maximum deceleration rate. Time • Immediate Stop Velocity The command is no longer updated. The axis moves only for the pulses remaining in the Servo Drive and then stops.
  • Page 233 9 Motion Control Functions Stop Priorities The priorities for each stop method are listed in the following table. If a stop with a higher priority stop method occurs while stopping, the stop method will switch to the higher priority method. Priority Stop method (higher numbers mean higher priority)
  • Page 234: Override Factors

    9 Motion Control Functions 9-1-7 Override Factors You can use the MC_SetOverride instruction to set override factors for the motion of the axes that are currently in motion. The velocity override factor is set as a percentage of the target velocity. It can be set between 0% and 500%.
  • Page 235: Single-Axis Synchronized Control

    9 Motion Control Functions Single-axis Synchronized Control This section describes the operation of synchronized control for single axes. 9-2-1 Overview of Synchronized Control Synchronous control synchronizes the position of a slave axis with the position of a master axis. The command position or actual position of any axis can be specified for the master axis.
  • Page 236: Positioning Gear Operation

    9 Motion Control Functions For details on gear operation, refer to the MC_GearIn (Start Gear Operation), MC_GearOut (End Gear Operation), and MC_Stop instructions in the NJ/NX-series Motion Control Instructions Reference Man- ual (Cat. No. W508). 9-2-3 Positioning Gear Operation This function specifies the gear ratio between the master axis and the slave axis and starts operation. Positioning gear operation allows you to set the positions of the master and slave axes at which to start synchronization.
  • Page 237: Cam Operation

    9 Motion Control Functions 9-2-4 Cam Operation Cam operation synchronizes the position of the slave axis with the master axis according to a cam table. Start cam operation with the MC_CamIn (Start Cam Operation) instruction. End cam operation with the MC_CamOut (End Cam Operation) instruction or the MC_Stop instruction. Create a cam table using the Cam Editor in the Sysmac Studio and download it to the CPU Unit.
  • Page 238: Cam Tables

    9 Motion Control Functions 9-2-5 Cam Tables This section describes the cam tables that are used for cam operation. Cam Table Terminology Term Description cam operation An operation that takes one master axis and one slave axis and follows the cam pro- file curve to derive the displacement of the slave axis from the phase of the master axis.
  • Page 239 9 Motion Control Functions Term Description cam table start position The absolute position of the master axis that corresponds to the cam start point (phase = 0). master following dis- The master start distance where the slave axis starts cam operation represented as tance either an absolute position or relative position.
  • Page 240 9 Motion Control Functions Cam Tables The MC Function Module defines a single element of data consisting of the phase of the master axis and the displacement of the slave axis as one cam data. A cam table is defined as the combination of multiple sets of cam data.
  • Page 241 9 Motion Control Functions Cam Table Specifications Item Description Maximum number of cam data per 65,535 points cam table Maximum size of all cam data 1,048,560 points Maximum number of cam tables 640 tables Switching cam operation You can switch to a different cam operation by executing a motion control instruction Changing cam data Cam data can be edited from the user program.
  • Page 242 9 Motion Control Functions An error will occur if the specified cam table does not exist in the Controller. You can also specify the same cam table for more than one axis. Switching Cam Tables You can switch cam tables by re-executing the cam operation instruction during cam operation. After switching, cam operation will be performed with the cam table you specified for re-execution of the instruction.
  • Page 243 9 Motion Control Functions Updating Cam Table Properties The MC Function Module must identify the cam end point of the cam table. If an overwrite is performed from the user program during cam operation and the number of valid cam data changes, you must update the number of valid cam data to the latest value.
  • Page 244 9 Motion Control Functions Generate Cam Table With a CPU Unit with unit version of 1.08 or later and the Sysmac Studio version 1.09 or higher, you can generate the cam table by executing the MC_GenerateCamTable (Generate Cam Table) instruction. The MC_GenerateCamTable instruction calculates the cam data using the values specified for Cam- Property (Cam Properties) and CamNodes (Cam Nodes), and rewrites the cam data variable specified for the CamTable (Cam Table) in-out variable.
  • Page 245 9 Motion Control Functions By using the HMI, etc. to set the values for the MC_GenerateCamTable instruction, you can create the cam data variable and adjust the cam operation without using the Sysmac Studio. The following is the procedure used to adjust the cam operation. Create a user program, in advance, that includes the following processing.
  • Page 246: Synchronous Positioning

    9 Motion Control Functions 9-2-6 Synchronous Positioning This function performs positioning using a trapezoidal curve while synchronizing the specified slave axis to the specified master axis. This is a type of electronic cam, but it does not use cam tables created in the Cam Editor.
  • Page 247: Combining Axes

    9 Motion Control Functions 9-2-7 Combining Axes The sum or difference of two positions can be used as the command position for the slave axis. Opera- tion starts when the MC_CombineAxes instruction is executed. Use the MC_Stop instruction to stop axes in motion.
  • Page 248: Master Axis Phase Shift

    9 Motion Control Functions 9-2-8 Master Axis Phase Shift The phase of the master axis as viewed from the slave axis can be shifted for the current instruction. The shift amount as viewed from the slave axis is a relative amount. During synchronization, the slave axis will synchronize to the relative distance of the master axis.
  • Page 249: 9-2-10 Achieving Synchronized Control In Multi-Motion

    9 Motion Control Functions For details on slave axis position compensation, refer to the MC_SyncOffsetPosition (Cyclic Synchro- nous Position Offset Compensation) instruction in the NJ/NX-series Motion Control Instructions Refer- ence Manual (Cat. No. W508). 9-2-10 Achieving Synchronized Control in Multi-motion When you use the standard functions of the MC Function Module, if the synchronized control instruc- tions are executed between axes assigned to different tasks in the multi-motion, an Illegal Master Axis Specification (event code: 54620000 hex) occurs.
  • Page 250 9 Motion Control Functions  Logical Axis Composition Axis 1 Master axis 1 : 2 Axis 2 Slave axis Primary periodic task Priority-5 periodic task MC_PeriodicSyncVariables instruction Target position given to virtual 2 : 3 Calculations Axis 4 axis. Master axis position Virtual axis Master axis velocity Axis 3...
  • Page 251: Single-Axis Velocity Control

    9 Motion Control Functions Single-axis Velocity Control This section describes the operation of velocity control for single axes. Refer to the NX-series Position Interface Units User’s Manual (Cat. No. W524) for the differences when you use NX-series Pulse Output Units. 9-3-1 Velocity Control Velocity control is used to constantly move an axis at the specified velocity.
  • Page 252: Cyclic Synchronous Velocity Control

    9 Motion Control Functions 9-3-2 Cyclic Synchronous Velocity Control The control mode of the Servo Drive is set to Velocity Control Mode and a command speed is output every control period. To stop an axis, use the MC_Stop instruction or execute another motion control instruction.
  • Page 253: Single-Axis Torque Control

    9 Motion Control Functions Single-axis Torque Control Torque control continuously applies the specified amount of torque. You can use TorqueRamp to spec- ify the rate of change of the torque until the Torque (Target Torque) is reached. To stop an axis, use the MC_Stop instruction or execute another motion instruction.
  • Page 254: Common Functions For Single-Axis Control

    9 Motion Control Functions Common Functions for Single-axis Control This section describes the common functions used for single-axis control. Refer to the NX-series Position Interface Units User’s Manual (Cat. No. W524) for the differences when you use NX-series Pulse Output Units. 9-5-1 Positions Types of Positions...
  • Page 255 9 Motion Control Functions Axis Parameters That Are Related to Positions Parameter name Function Setting range Default In-position Range Set the in-position width. (Unit: command Non-negative long units) reals In-position Check Set the in-position check time in millisec- 0 to 10,000 Time onds.
  • Page 256: Velocity

    9 Motion Control Functions 9-5-2 Velocity Types of Velocities The following two types of axis velocities are used in the MC Function Module. Velocity type Definition Command velocity This is the velocity that the MC Function Module outputs to control an axis. Actual velocity This is the velocity calculated in the MC Function Module based on the actual posi- tion input from the Servo Drive or encoder input.
  • Page 257: Acceleration And Deceleration

    9 Motion Control Functions Specifying Target Velocities for Axis Operations The velocity used in an actual positioning motion is specified by the Velocity (Target Velocity) input vari- able to the motion control instruction. Monitoring Velocities You can read Axis Variables in the user program to monitor velocities. In the descriptions, a variable name _MC_AX[*] is used as an example, but the same information applies to _MC1_AX[*] and _MC2_AX[*].
  • Page 258 9 Motion Control Functions Parameter name Function Setting range Default Acceleration Warning Set the percentage of the maximum accelera- 0 to 100 Value tion rate at which to output an acceleration warning for the axis. No acceleration warning is output if 0 is set. (Unit: %) Deceleration Warning Set the percentage of the maximum decelera-...
  • Page 259: Jerk

    9 Motion Control Functions Example of Acceleration/Deceleration Operation Velocity Maximum velocity (2) Target velocity after velocity change (1) Target velocity at startup Time When Starting For Velocity Changes When Decelerating Ta1: Actual acceleration time Ta2: Actual acceleration time Td: Actual deceleration time Acceleration rate Acceleration rate D: Deceleration rate...
  • Page 260: Specifying The Operation Direction

    9 Motion Control Functions Example: Acceleration of 25,000 mm/s , Acceleration Time of 0.1 s, and a Jerk Application Rate of 50% Jerk = 25,000/(0.1 × 0.5/2) = 1,000,000 (mm/s Velocity Target velocity at startup Time Acceleration rate Acceleration rate at startup Time Jerk...
  • Page 261 9 Motion Control Functions Direction Operation Negative direction Motion starts in the negative direction. Current direction Motion starts in the same direction as the previous operation. No direction specified Motion starts in the direction that does not pass through the upper and lower limits of the ring counter.
  • Page 262 9 Motion Control Functions Example for Negative Direction The following example illustrates when positioning is performed towards a target position of −20 when the command current position is 50. Modulo maximum position setting value: 100 Command current position: Target position: Target position: −20 −20...
  • Page 263 9 Motion Control Functions Precautions for Correct Use Precautions for Correct Use Observe the following precautions on the operation direction of the previous operation. • If the MC_Home or MC_HomeWithParameter instruction exceeds the point where the home input was detected and reverses operation, the opposite direction of the home input detection direction is used.
  • Page 264: Re-Executing Motion Control Instructions

    9 Motion Control Functions 9-5-6 Re-executing Motion Control Instructions This section describes how to modify input variables of the same instance of a motion control instruc- tion during operation of a single axis and re-execute that instruction. The input variables Position (Tar- get Position), Distance (Travel Distance), Velocity (Target Velocity), Acceleration (Acceleration Rate), Deceleration (Deceleration Rate), and Torque (Target Torque) and sometimes other input variables can be changed by re-execution.
  • Page 265 9 Motion Control Functions  Triangular Control Patterns The triangular control shown in the figure below may result if the travel distance is shortened due to a change in the target position. No Reverse Turn Velocity ↓Command re-executed. ↑Initial command ↑New command Executed.↑...
  • Page 266 9 Motion Control Functions Changing the Travel Distance Even if you change the travel distance and re-execute the MC_MoveRelative (Relative Positioning) instruction, positioning is performed for the new travel distance in reference to the position where the motion first started. However, if the instruction is executed again just before positioning is completed, it may be executed as a new instruction rather than as a re-execution of the same instruction.
  • Page 267 9 Motion Control Functions  Patterns Where Deceleration Rate Decreases Trapezoidal Control or Triangular Control Deceleration-exceed Control If the command position is exceeded Velocity Velocity at the reduced deceleration rate, a ↓Instruction re-executed switch is made to deceleration- Decreased deceleration exceed control.
  • Page 268 9 Motion Control Functions  Timing Charts Variables Axis1PosSet1 Axis1PosSet2 Axis1Pos 1000 2000 Input Parameter Axis1Execute Output Parameters Axis1Done Axis1Busy Axis1Active Precautions for Correct Use Precautions for Correct Use For input variables that are not changed, always use the same values as before re-execution of the instruction.
  • Page 269: Multi-Execution Of Motion Control Instructions (Buffer Mode)

    9 Motion Control Functions 9-5-7 Multi-execution of Motion Control Instructions (Buffer Mode) ® You can execute another motion control instruction while an axis is moving. In the PLCopen technical specifications, this functionality is defined as Buffer Mode, but in the MC Function Module this is some- times referred to as multi-execution of instructions.
  • Page 270 9 Motion Control Functions Aborting This is the default mode. No buffering is performed in this mode. The current command is aborted and the new instruction is executed. Aborting Mode can be used for multi-execution of instructions for motion control instructions for both single-axis control and synchronized control. ...
  • Page 271 9 Motion Control Functions Blending The buffered instruction remains in the buffer until the target position of the current instruction is reached. The buffered instruction is executed after the current instruction’s target position is reached. However, motion does not stop at this time. Operation transitions to the next instruction at the velocity specified with the BufferMode (Buffer Mode Selection) input variable.
  • Page 272 9 Motion Control Functions  For a CPU Unit with Unit Version 1.10 or Later The operation with the following setting is shown below. The operation will be the same even if you select Minor fault stop. Here, BufferMode is set to Blending Next. Current instruction Buffered instruction...
  • Page 273 9 Motion Control Functions  Blending Low (Low Velocity) Operation is performed using the target position of the current instruction and the target velocity that is the slower of the target velocities for the current instruction and buffered instruction.  Blending Previous (Previous Velocity) Operation is performed with the target velocity of the current instruction until the target position of the current instruction is reached.
  • Page 274 9 Motion Control Functions  Blending Next (Next Velocity) Operation is performed using the target position of the current instruction and the target velocity of the buffered instruction. The transit velocity is the command Cases Resulting in Acceleration velocity of the buffered command Multi-execution of instruction Velocity Current instruction...
  • Page 275: Multi-Axes Coordinated Control

    9 Motion Control Functions Multi-axes Coordinated Control This section describes the operation of multi-axes coordinated control. With the MC Function Module, you can set an axes group in advance from the Sysmac Studio to perform interpolation control for mul- tiple axes. 9-6-1 Outline of Operation Multi-axes coordinated control performs a motion with multiple related axes together as a single group...
  • Page 276 9 Motion Control Functions Enabling and Disabling Axes Groups To enable an axes group, specify the axes group for the MC_GroupEnable (Enable Axes Group) instruction. An instruction error will occur if you try to execute an axes group instruction when the axes group is still disabled.
  • Page 277 9 Motion Control Functions Reading Axes Group Positions You can use the MC_GroupReadPosition (Read Axes Group Position) instruction to read the command current positions and the actual current positions of an axes group. A CPU Unit with unit version 1.01 or later and Sysmac Studio version 1.02 or higher are required to use this instruction.
  • Page 278: Linear Interpolation

    9 Motion Control Functions 9-6-2 Linear Interpolation Linear interpolation is used to move 2 to 4 of the logical axes A0 to A3 in a straight line between a start point and an end point. Either absolute or relative positioning is possible. You can specify the interpola- tion velocity, interpolation acceleration, interpolation deceleration, and jerk.
  • Page 279: Circular Interpolation

    9 Motion Control Functions 9-6-3 Circular Interpolation Circular interpolation is used to move two of the logical axes A0 to A3 in a circular motion on a 2D plane. Either absolute or relative positioning is possible. You can specify the circular interpolation mode, path direction, interpolation velocity, interpolation acceleration, interpolation deceleration, and combined jerk for the two axes.
  • Page 280: Stopping Under Multi-Axes Coordinated Control

    9 Motion Control Functions 9-6-5 Stopping Under Multi-axes Coordinated Control Multi-axes coordinated control of axes groups will stop when you execute certain motion control instruc- tions in the user program or when an error or some other problem occurs. Stopping with Motion Control Instructions Use the MC_GroupStop or MC_GroupImmediateStop instruction to stop axes group operation.
  • Page 281: Overrides For Multi-Axes Coordinated Control

    9 Motion Control Functions  Stopping Due to Start of MC Test Run All axes will decelerate to a stop at their maximum deceleration if a MC Test Run is started from the Sysmac Studio.  Stopping Due to Change in CPU Unit Operating Mode All axes will decelerate to a stop at their maximum deceleration when the CPU Unit operating mode changes.
  • Page 282 9 Motion Control Functions  Overrides for the MC_MoveLinear (Linear Interpolation) Instruction An example of a time chart for using the Set Override Factors instruction for the MC_MoveLinear (Linear Interpolation) instruction is given below. Previous Instruction: MC_MoveLinear Execute Busy Active Done CommandAborted Current Instruction...
  • Page 283: Common Functions For Multi-Axes Coordinated Control

    9 Motion Control Functions Common Functions for Multi-axes Coordinated Control This section describes the common functions for multi-axes coordinated control. 9-7-1 Velocity Under Multi-axes Coordinated Control To specify the velocity for multi-axes coordinated control, specify the interpolation velocity on the path. The unit is the same as for single axes, command units/s.
  • Page 284: Acceleration And Deceleration Under Multi-Axes Coordinated Control

    9 Motion Control Functions Monitoring Velocities You can read Axes Group Variables from the user program to monitor the interpolation velocity. In the descriptions, a variable name _MC_GRP[*] is used as an example, but the same information applies to _MC1_GRP[*] and _MC2_GRP[*]. Variable name Data type Meaning...
  • Page 285: Jerk For Multi-Axes Coordinated Control

    9 Motion Control Functions *1 For a CPU Unit with unit version 1.10 or later, Blending is not changed to Buffered. Refer to 9-5-7 Multi-execu- tion of Motion Control Instructions (Buffer Mode) for details. *2 For a CPU Unit with unit version 1.10 or later, the axis does not stop with an error when Blending is used for operation.
  • Page 286: Re-Executing Motion Control Instructions For Multi-Axes Coordinated Control

    9 Motion Control Functions Interpolation velocity Time Acceleration rate Time Deceleration rate Jerk Time Vt: Specified interpolation velocity, At: Specified acceleration rate, Dt: Specified deceleration rate, Jt: Specified jerk 9-7-4 Re-executing Motion Control Instructions for Multi-axes Coordinated Control If you re-execute a linear interpolation or circular interpolation instruction, an instruction error will occur. Busy Active Done...
  • Page 287: Multi-Execution (Buffer Mode) Of Motion Control Instructions For Multi-Axes Coordinated Control

    9 Motion Control Functions 9-7-5 Multi-execution (Buffer Mode) of Motion Control Instructions for Multi-axes Coordinated Control You can perform multi-execution for multi-axes coordinated control in axes groups the same way as you can for axis operations. You can perform path control for multiple continuous lines and/or arcs if you use Buffer Mode under multi-axes coordinated control.
  • Page 288 9 Motion Control Functions Multi-execution for axes groups is done so that the interpolation velocity remains continuous between instructions. If continuous operation is performed with an instruction with a travel distance of 0, the velocity changes for the axes will not be continuous. Example: Interpolation Velocity and Velocities of Axes for Two-axis Cartesian Coordinates Y coordinate...
  • Page 289 9 Motion Control Functions • Use rapid acceleration/deceleration. • Minor fault stop Version Information • For a CPU Unit with unit version 1.10 or later, Blending is not changed to Buffered even if you select Use rapid acceleration/deceleration. (Blending is changed to Buffered.) In this case, the maximum acceleration/deceleration rate is used and the blending operation is continued.
  • Page 290 9 Motion Control Functions  Blending Next (Next Velocity) Operation is performed using the target position of the current instruction and the target velocity of the buffered instruction. Cases Resulting in Acceleration The transit velocity is the command velocity of the buffered command Multi-execution of instruction Velocity Current instruction...
  • Page 291 9 Motion Control Functions  Transition Disabled (0: _mcTMNone) No processing is performed to connect the two positions. TransitionMode = _mcTMNone and BufferMode = _mcBuffered The axis moves to position End1, stops, and then moves to position End2. Y coordinate End2 Multi-execution of instruction Start1...
  • Page 292 9 Motion Control Functions TransitionMode = _mcTMNone and BufferMode = _mcBlending The axis moves to position End1, and then moves to position End2. Y coordinate End2 Multi-execution of instruction Start1 End1/ Start2 X coordinate Operation Pattern for X Axis Coordinates Velocity Start1 End1...
  • Page 293 9 Motion Control Functions TransitionMode = _mcTMNone and BufferMode = _mcAborting The axis moves from End1’ (multi-execution of instruction) to End2. Y coordinate End2 Multi-execution of instruction End1 Start1 End1’/ Start2 X coordinate Operation Pattern for X Axis Coordinates Velocity End1’...
  • Page 294 9 Motion Control Functions Additional Information The path linear velocity is constant if the following two conditions are met. • The target velocities of the current instruction and the buffered instruction are the same. • The deceleration rate of the current instruction and the acceleration rate of the buffered instruction are the same.
  • Page 295: Other Functions

    9 Motion Control Functions Other Functions This section describes other functions of the MC Function Module. Refer to the NX-series Position Interface Units User’s Manual (Cat. No. W524) for the differences when you use NX-series Pulse Output Units. 9-8-1 Changing the Current Position The command current position of a Servo axis can be changed to a specified value.
  • Page 296: Torque Limit

    Drive, you can also specify variables in the user program to use as a trigger. Use the MC_AbortTrigger (Disable External Latch) instruction to abort latching. You can use latching only with a Servo Drive that support latching (touch probe), such as the OMRON G5-series Servo Drives, or a GX-EC0211/EC0241 Encoder Input Terminal.
  • Page 297: Zone Monitoring

    9 Motion Control Functions  Rotary Mode • The FirstPosition can be less than, equal to, or greater than the LastPosition. If the FirstPosition is greater than the LastPosition, the setting will straddle the modulo minimum position setting value. • An instruction error will occur if a position beyond the upper and lower limits of the ring counter is specified.
  • Page 298: Software Limits

    9 Motion Control Functions 9-8-5 Software Limits Actual positions can be monitored in the MC Function Module software. This function is separate from the hardware-based limit input signals. Set the range to monitor by setting the software limits in the Positive Software Limit and Negative Software Limit axis parameters.
  • Page 299: Following Error Monitoring

    9 Motion Control Functions • When the Actual Position Is outside the Software Limits Motion is allowed only toward the software limit range. As long as the motion is toward the range, the target position does not need to be within the software limit range. Precautions for Correct Use Precautions for Correct Use Do not execute an instruction for an axis command for a target position that is outside of the soft-...
  • Page 300: Following Error Counter Reset

    9 Motion Control Functions Refer to the NX-series Position Interface Units User’s Manual (Cat. No. W524) for the differences when you use NX-series Pulse Output Units. 9-8-7 Following Error Counter Reset Resetting the following error counter resets the following error to 0. Use the MC_ResetFollowingError instruction in the user program to reset the following error counter.
  • Page 301: In-Position Check

    9 Motion Control Functions Refer to the NX-series Position Interface Units User’s Manual (Cat. No. W524) for the differences when you use NX-series Pulse Output Units. 9-8-9 In-position Check You can check to see if the actual current position has reached the specified range for the target posi- tion during positioning or homing.
  • Page 302 9 Motion Control Functions Additional Information • The value set from the Sysmac Studio is restored if power to the CPU Unit is cycled or the user program is downloaded with the Synchronization menu command of the Sysmac Studio. Use the MC_Write (Write MC Setting) and MC_WriteAxisParameter (Write Axis Parameters) instructions only when you need to temporarily change the in-position check time.
  • Page 303: 9-8-10 Changing Axis Use

    9 Motion Control Functions 9-8-10 Changing Axis Use You can use the MC_ChangeAxisUse (Change Axis Use) instruction to temporarily change the setting of the Axis Use axis parameter. To change an axis in this way, it must be set as a Used axis or as an Unused axis (changeable to used axis) in the Axis Use axis parameter.
  • Page 304: 9-8-12 Displaying 3D Motion Monitor For User Coordinate System

    9 Motion Control Functions 9-8-12 Displaying 3D Motion Monitor for User Coordinate System In the case that coordinate systems (such as SCARA robot and vertical articulated robot) other than orthogonal coordinate system are implemented by user programs, this function can be used to display the path of robot hands, etc.
  • Page 305 9 Motion Control Functions Each member is assigned a user-defined variable. The followings are the examples. Name Data type Description 3D_position _sMC_POSITION_REF User-defined variable for 3D display MCS_Cmd_TransX LREAL User-defined variable that indicates the X-axis position of the command current position gen- erated by a user program MCS_Cmd_TransY LREAL...
  • Page 306 9 Motion Control Functions 9-84 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 307: Sample Programming

    Sample Programming This section describes basic application methods for homing, error monitoring, and other functions, and provides programming samples for absolute positioning, cam operation, and other axis operations. 10-1 Overview of Sample Programming ....... 10-2 10-1-1 Devices .
  • Page 308: Overview Of Sample Programming

    10 Sample Programming 10-1 Overview of Sample Programming This section provides information that applies to all of the sample programming. Precautions for Correct Use Precautions for Correct Use • The sample programming that is provided includes only programming that uses the MC Func- tion Module.
  • Page 309: 10-2 Basic Programming Samples

    10 Sample Programming 10-2 Basic Programming Samples This section provides programming samples for the basic functions of the MC Function Module. Precautions for Correct Use Precautions for Correct Use • When you use these programming samples for reference, be sure to add programming for suitable interlocks that suit the operating conditions of the devices.
  • Page 310 10 Sample Programming Ladder Diagram Check if the Servo Drive is ready when StartPg is TRUE. Lock0 StartPg MC_Axis000.DrvStatus.Ready If the Servo Drive is ready, turn ON the Servo for axis 0. MC_Power Pwr_Status MC_Axis000 Axis Axis Lock0 Enable Status Busy Pwr_Bsy Error...
  • Page 311: 10-2-2 Interlocking Axis Operation With Master Control Instructions

    10 Sample Programming 10-2-2 Interlocking Axis Operation with Master Control Instructions You can place the MC_Power (Power Servo) instruction between the MC (Master Control Start) and MCR (Master Control End) instructions in ladder diagrams to interlock axis operation. When Mc_On is FALSE in this sample, the MC_Power (Power Servo) instruction between the MC and MCR instructions is disabled to turn OFF the Servo.
  • Page 312 10 Sample Programming Ladder Diagram When Mc_On is TRUE, master control is started. Mc_On MCNo Check if the Servo Drive is ready when StartPg is TRUE. Lock0 StartPg MC_Axis000.DrvStatus.Ready If the Servo Drive is ready, turn ON the Servo for axis 0. MC_Power Pwr_Status MC_Axis000...
  • Page 313: Error Monitoring And Error Resetting For Single-Axis Operation And Synchronized Operation

    10 Sample Programming 10-2-3 Error Monitoring and Error Resetting for Single-axis Operation and Synchronized Operation You can monitor error status by monitoring the status of Axis Minor Fault Occurrence in the Axis Vari- able. If a minor fault level error occurs in this sample, the Enable input variable for the MC_Power instruction changes to FALSE to turn OFF the Servo.
  • Page 314 10 Sample Programming If ResetON is TRUE (i.e., when the external button is ON) and the command current velocity is zero, the error is reset. RESET MC_Reset Reset_D MC_Axis000.Status.ErrorStop MC_Axis000 Axis Axis Execute Done Reset_Bsy Busy ResetON MC_Axis000.Details.Idle Reset_Fail Failure Reset_Err Error Reset_ErrID...
  • Page 315: Error Monitoring And Error Resetting For Multi-Axes Coordinated Operation

    10 Sample Programming 10-2-4 Error Monitoring and Error Resetting for Multi-axes Coordinated Operation You can monitor error status by monitoring the status of Axis Minor Fault Occurrence in the Axis Vari- ables and Axes Group Minor Fault Occurrence in the Axes Group Variable. If a minor fault level error occurs in this sample, the Execute input variable for the MC_GroupDisable (Disable Axes Group) instruction changes to TRUE to disable the axes group.
  • Page 316 10 Sample Programming Ladder Diagram Check if the Servo Drive for axis 0 is ready when StartPg is TRUE. StartPg MC_Axis000.DrvStatus.Ready Lock1 Check if the Servo Drive for axis 1 is ready when StartPg is TRUE. StartPg MC_Axis001.DrvStatus.Ready Lock2 If the Servo Drive for axis 0 is ready, turn ON the Servo for axis 0. PWR1 MC_Power MC_Axis000...
  • Page 317 10 Sample Programming If the Servo is ON for axis 1 and home is not defined, the MC_Home instruction is executed. MC_Home Pwr2_Status MC_Axis001.Details.Homed Hm2_D MC_Axis001 Axis Axis Execute Done Hm2_Bsy Busy Hm2_Ca CommandAborted Hm2_Err Error Hm2_ErrID ErrorID The status of the axes group and the status of home for axis 0 and axis 1 are checked. MC_Group000.Status.Disabled Hm1_D Hm2_D...
  • Page 318 10 Sample Programming ST Programming // Check that the Servo Drive is ready when StartPg is TRUE and turn ON the Servo for axis 0. // If the Servo Drive is not ready, turn OFF the Servo for axis 0. IF (StartPg =TRUE) AND (MC_Axis000.DrvStatus.Ready=TRUE) THEN Pwr1_En:=TRUE;...
  • Page 319 10 Sample Programming Busy => Pwr1_Bsy, Error => Pwr1_Err, ErrorID => Pwr1_ErrID //MC_Power2 PWR2( Axis := MC_Axis001, Enable := Pwr2_En, Status => Pwr2_Status, Busy => Pwr2_Bsy, Error => Pwr2_Err, ErrorID => Pwr2_ErrID // MC_Home1 HM1( Axis := MC_Axis000, Execute := Hm1_Ex, Done =>...
  • Page 320 10 Sample Programming Failure => Grp_Reset_Fai, Error => Grp_Reset_Err, ErrorID => Grp_Reset_ErrID 10-14 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 321: 10-2-5 Monitoring For Instruction Errors

    10 Sample Programming 10-2-5 Monitoring for Instruction Errors In this sample, further processing is not performed if there is an error when the MC_Power (Power Servo) instruction is executed. Whether further processing is possible is indicated by the UpgOn vari- able.
  • Page 322 10 Sample Programming ST Programming // If the Servo Drive is ready when StartPg is TRUE, turn ON the Servo for axis 0. // If the Servo Drive is not ready, turn OFF the Servo for axis 0. IF (StartPg=TRUE) AND (MC_Axis000.DrvStatus.Ready=TRUE) THEN Pwr_En:=TRUE;...
  • Page 323: 10-2-6 Checking To See If Errors Are Reset

    10 Sample Programming 10-2-6 Checking to See If Errors Are Reset In this sample, the MC_Reset (Reset Axis Error) instruction is executed if an external button turns ON while there is a minor fault level error. Further normal processing is not executed until the Done output variable from the MC_Reset instruction changes to TRUE.
  • Page 324 10 Sample Programming ST Programming // If the external button is ON (i.e., if ResetOn changes to TRUE) while there is a minor fault level error, // the MC_Reset (Reset Axis Error) instruction is executed. IF (MC_Axis000.MFaultLvl.Active=TRUE) AND (ResetOn=TRUE) THEN Reset_Ex := TRUE;...
  • Page 325: 10-2-7 Stopping Axes During Single-Axis Operation

    10 Sample Programming 10-2-7 Stopping Axes during Single-axis Operation In this sample, the MC_Stop instruction is executed to decelerate to a stop if an external button turns ON during execution of the MC_MoveAbsolute (Absolute Positioning) instruction. If there is a minor fault level error, the CommandAborted output variable from the MC_Stop instruction changes to TRUE.
  • Page 326 10 Sample Programming If a minor fault level error occurs for axis 0, the error handler for the device (FaultHandler) is executed. Program the FaultHandler according to the device. MC_Axis000.MFaultLvl.Active FaultHandler FaultHandler If the Servo is ON for axis 0 and home is not defined, the MC_Home instruction is executed for axis 0. MC_Home Hm_D MC_Axis000...
  • Page 327 10 Sample Programming ST Programming // If the input parameters for absolute positioning and stopping are not set, the target values and other parameters are set. IF InitFlag=FALSE THEN // The input parameters for the MC_MoveAbsolute (Absolute Positioning) instruction are set. Mv_Abs_Pos := LREAL#10000.0;...
  • Page 328 10 Sample Programming Enable := Pwr_En, Status => Pwr_Status, Busy => Pwr_Bsy, Error => Pwr_Err, ErrorID => Pwr_ErrID //MC_Home Axis := MC_Axis000, Execute := Hm_Ex, Done => Hm_D, Busy => Hm_Bsy, CommandAborted => Hm_Ca, Error => Hm_Err, ErrorID => Hm_ErrID //MC_MoveAbsolute MV_ABS( Axis...
  • Page 329: 10-2-8 Stopping An Axes Group In Coordinated Motion

    10 Sample Programming 10-2-8 Stopping an Axes Group in Coordinated Motion In this sample, the MC_GroupStop instruction is executed to decelerate to a stop if an external button turns ON during execution of the MC_MoveLinearAbsolute (Absolute Linear Interpolation) instruction. If there is a minor fault level error, the CommandAborted output variable from the MC_GroupStop instruc- tion changes to TRUE.
  • Page 330 10 Sample Programming Ladder Diagram Check if the Servo Drive for axis 0 is ready when StartPg is TRUE. Lock0 StartPg MC_Axis000.DrvStatus.Ready Check if the Servo Drive for axis 1 is ready when StartPg is TRUE. Lock1 StartPg MC_Axis001.DrvStatus.Ready If the Servo Drive for axis 0 is ready, turn ON the Servo for axis 0. PWR1 MC_Power Pwr1_Status...
  • Page 331 10 Sample Programming After home is defined for axis 0 and axis 1, the axes group is enabled. GRP_EN MC_GroupEnable Grp_En_D MC_Group000 AxesGroup AxesGroup Hm1_D Hm2_D Execute Done MC_Group000.Status.Disabled Busy Grp_En_Bsy CommandAborted Grp_En_Ca Error Grp_En_Err ErrorID Grp_En_ErrID The input parameters for the MC_MoveLinearAbsolute and MC_GroupStop instructions are set. // Parameters for MC_MoveLinearAbsolute InitFlag Mv_Lin_Abs_Pos [0]...
  • Page 332 10 Sample Programming ST Programming // If the input parameters for absolute linear interpolation and stopping the axes group are not set, the target values and other parameters are set. IF InitFlag=FALSE THEN // The input parameters for the MC_MoveLinearAbsolute (Absolute Linear Interpolation) instruction are set. Mv_Lin_Abs_Pos[0] := LREAL#3000.0;...
  • Page 333 10 Sample Programming // If home is defined for axis 0 and axis 1 and the axes group is disabled, the axes group is enabled. IF (MC_Group000.Status.Disabled=TRUE) AND (Hm1_D=TRUE) AND (Hm2_D=TRUE) THEN Grp_En_Ex:= TRUE; END_IF; // If the axes group is enabled, absolute linear interpolation is executed. IF MC_Group000.Status.Ready=TRUE THEN Mv_Lin_Abs_Ex:=TRUE;...
  • Page 334 10 Sample Programming //MC_GroupEnable GRP_EN( AxesGroup := MC_Group000, Execute := Grp_En_Ex, Done => Grp_En_D, Busy => Grp_En_Bsy, CommandAborted => Grp_En_Ca, Error => Grp_En_Err, ErrorID => Grp_En_ErrID //MC_MoveLinearAbsolute MV_LIN_ABS( AxesGroup := MC_Group000, Execute := Mv_Lin_Abs_Ex, Position := Mv_Lin_Abs_Pos, Velocity := Mv_Lin_Abs_Vel, Acceleration := Mv_Lin_Abs_Acc, Deceleration...
  • Page 335: 10-2-9 Homing And Absolute Positioning

    10 Sample Programming 10-2-9 Homing and Absolute Positioning In this sample, the starting point for homing is assumed to be where the home proximity input is ON. The Homing Method is set to home proximity input OFF. After homing is completed to define home, absolute positioning is executed.
  • Page 336 10 Sample Programming Variable name Data type Default Comment Mv_Abs_Ex BOOL FALSE This variable is used to execute the MC_Move- Absolute (Absolute Positioning) instruction. It is used in ST programming. Timing Chart  Ladder Diagram Pwr_Status HM.Execute HM_D Hm_Bsy MV_ABS.Execute Mv_Abs_D Mv_Abs_Bsy Mv_Abs_Act...
  • Page 337 10 Sample Programming Ladder Diagram Check if the Servo Drive for axis 0 is ready when StartPg is TRUE. Lock0 StartPg MC_Axis000.DrvStatus.Ready If the Servo Drive for axis 0 is ready, turn ON the Servo for axis 0. MC_Power Pwr_Status MC_Axis000 Axis Axis...
  • Page 338 10 Sample Programming ST Programming // If the input parameters for absolute positioning are not set, the target values and other parameters are set. IF InitFlag=FALSE THEN // The input parameters for the MC_MoveAbsolute (Absolute Positioning) instruction are set. Mv_Abs_Pos := LREAL#50000.0;...
  • Page 339 10 Sample Programming //MC_MoveAbsolute MV_ABS( Axis := MC_Axis000, Execute := Mv_Abs_Ex, Position := Mv_Abs_Pos, Velocity := Mv_Abs_Vel, Acceleration := Mv_Abs_Acc, Deceleration := Mv_Abs_Dec, Direction := Mv_Abs_Dir, Done => Mv_Abs_D, Busy => Mv_Abs_Bsy, Active => Mv_Abs_Act, CommandAborted => Mv_Abs_Ca, Error => Mv_Abs_Err, ErrorID =>...
  • Page 340: 10-2-10 Changing The Target Position By Re-Execution Of An Instruction

    10 Sample Programming 10-2-10 Changing the Target Position by Re-execution of an Instruction This sample starts absolute positioning to a target position of 1000 and then uses the same instance of the absolute positioning instruction to change the target position to 2000. Main Variables Used in the Programming Samples Variable name Data type...
  • Page 341 10 Sample Programming Timing Chart  Ladder Diagram Pwr_Status Hm_D Hm_Bsy Mv_Abs_Ex Mv_Abs_D Mv_Abs_Bsy Mv_Abs_Act ReExeSw Command position Time Command velocity Time 10-35 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 342 10 Sample Programming  ST Programming Pwr_Status Hm_Ex Hm_D Hm_Bsy Mv_Abs_Ex Mv_Abs_D Mv_Abs_Bsy Mv_Abs_Act ReExeSw Command position Time Command velocity Time 10-36 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 343 10 Sample Programming Ladder Diagram Check if the Servo Drive for axis 0 is ready when StartPg is TRUE. Lock0 StartPg MC_Axis000.DrvStatus.Ready If the Servo Drive for axis 0 is ready, turn ON the Servo for axis 0. MC_Power Pwr_Status MC_Axis000 Axis Axis...
  • Page 344 10 Sample Programming ST Programming // If the input parameters for absolute positioning are not set, the target values and other parameters are set. IF InitFlag = FALSE THEN // Parameters for MC_MoveAbsolute Mv_Abs_Pos := LREAL#1000.0; Mv_Abs_Vel := LREAL#500.0; Mv_Abs_Acc := LREAL#500.0;...
  • Page 345 10 Sample Programming //MC_Home Axis := MC_Axis000, Execute := Hm_Ex, Done => Hm_D, Busy => Hm_Bsy, CommandAborted => Hm_Ca, Error => Hm_Err, ErrorID => Hm_ErrID //MC_MoveAbsolute MV_ABS( Axis := MC_Axis000, Execute := Mv_Abs_Ex, Position := Mv_Abs_Pos, Velocity := Mv_Abs_Vel, Acceleration := Mv_Abs_Acc, Deceleration := Mv_Abs_Dec,...
  • Page 346: 10-2-11 Interrupt Feeding

    10 Sample Programming 10-2-11 Interrupt Feeding This sample performs interrupt feeding when an interrupt occurs during velocity control. One of the fol- lowing is specified for the Direction variable when velocity control is performed in Rotary Mode. • _mcPositiveDirection • _mcNegativeDirection •...
  • Page 347 10 Sample Programming Variable name Data type Default Comment Mv_Feed_Ex BOOL FALSE This variable is used to execute the MC_MoveFeed (Interrupt Feeding) instruc- tion. It is used in ST programming. InitFlag BOOL FALSE TRUE if the input parameters are set for the MC_MoveFeed instruction.
  • Page 348 10 Sample Programming If homing is completed, interrupt feeding is executed. MV_FEED MC_MoveFeed Axis Axis MC_Axis000 MvFeed_TrigRef TriggerInput TriggerInput Mv_Feed_D Hm_D Mv_Feed_TrigVar TriggerVariable TriggerVariable Execute Done WindowOnly InFeed Mv_Feed_InFeed FirstPosition Busy Mv_Feed_Bsy LastPosition Active Mv_Feed_Act ReferenceType CommandAborted Mv_Feed_Ca Mv_Feed_Pos Position Error Mv_Feed_Err Mv_Feed_Vel...
  • Page 349 10 Sample Programming // If the Servo is ON for axis 0 and home is not defined, the MC_Home instruction is executed. IF (Pwr_Status=TRUE) AND (MC_Axis000.Details.Homed=FALSE) THEN Hm_Ex:=TRUE; END_IF; // If homing is defined, interrupt feeding is executed. IF Hm_D=TRUE THEN Mv_Feed_Ex:=TRUE;...
  • Page 350: 10-2-12 Changing The Cam Table By Re-Execution Of An Instruction

    10 Sample Programming 10-2-12 Changing the Cam Table by Re-execution of an Instruction This sample changes the cam table during cam motion. CamProfile0 is used when the command posi- tion for axis 0 is 5000 or less and CamProfile1 is used when it is over 5000. Main Variables Used in the Programming Samples Variable name Data type...
  • Page 351 10 Sample Programming Timing Chart  Ladder Diagram Command current position of axis 0 5000.0 CamTable1 CamTable0 CamTable1 MV_ABS Mv_Abs_Act CAMIN CAMIN.Execute Camin_Bsy Camin_Act Camin_InCam0 Camin_InCam1 Camin_InSync CamProfile0 CamProfile1  ST Programming Command current position of axis 0 5000.0 CamTable1 CamTable0 CamTable1 MV_ABS...
  • Page 352 10 Sample Programming Ladder Diagram To change from one cam table to another, two instances of the MC_CamIn (Start Cam Operation) instruction with the same instance name are used. A different output parameter is assigned to the InCam (Cam Motion) output vari- able from each instance.
  • Page 353 10 Sample Programming If the Servo is ON for axis 0 and home is not defined, the MC_Home instruction is executed. MC_Home Hm1_D Pwr1_Status MC_Axis000.Details.Homed MC_Axis000 Axis Axis Execute Done Hm1_Bsy Busy Hm1_Ca CommandAborted Hm1_Err Error Hm1_ErrID ErrorID If the Servo is ON for axis 1 and home is not defined, the MC_Home instruction is executed. MC_Home Pwr2_Status MC_Axis001.Details.Homed Hm2_D...
  • Page 354 10 Sample Programming CAMIN MC_CamIn MC_Axis000 Master Master MC_Axis001 Slave Slave Lock3 CamIn_InCam0 CamProfile0 CamTable CamTable Execute InCam BOOL#TRUE Periodic InSync CamIn_InSync _eMC_START_MODE#_mcAbsolutePosition StartMode EndOfProfile CamIn_Eop LREAL#1.0 StartPosition Index CamIn_Index LREAL#1.0 MasterStartDistance Busy CamIn_Bsy LREAL#1.0 MasterScaling Active CamIn_Act LREAL#1.0 SlaveScaling CommandAborted CamIn_Ca LREAL#0.0...
  • Page 355 10 Sample Programming ST Programming // If the input parameters for absolute positioning and starting cam operation are not set, the target values and other parameters are set. IF InitFlag=FALSE THEN // The input parameters for the MC_MoveAbsolute (Absolute Positioning) instruction are set. Mv_Abs_Pos := LREAL#10000.0;...
  • Page 356 10 Sample Programming Hm2_Ex:=TRUE; END_IF; // If homing is completed for axis 0, absolute positioning is executed. IF Hm1_D=TRUE THEN Mv_Abs_Ex := TRUE; END_IF; // If the command position for axis 0 is 5000 or less, CamTable0 is changed to TRUE and CamTable1 is changed to FALSE.
  • Page 357 10 Sample Programming Error => Camin_Err, ErrorID => Camin_ErrID END_IF; IF CamTable1=TRUE THEN CAMIN( Master := MC_Axis000, Slave := MC_Axis001, CamTable := CamProfile1, Execute := Camin_Ex, Periodic := Camin_EM, StartMode := Camin_StMode, StartPosition := Camin_StPos, MasterStartDistance := Camin_MStDis, MasterScaling := Camin_MSc, SlaveScaling := Camin_SSc, MasterOffset...
  • Page 358 10 Sample Programming // MC_Home for axis 1 HM2( Axis := MC_Axis001, Execute := Hm2_Ex, Done => Hm2_D, Busy => Hm2_Bsy, CommandAborted => Hm2_Ca, Error => Hm2_Err, ErrorID => Hm2_ErrID //MC_MoveAbsolute MV_ABS( Axis := MC_Axis000, Execute := Mv_Abs_Ex, Position := Mv_Abs_Pos, Velocity := Mv_Abs_Vel, Acceleration...
  • Page 359: 10-2-13 Using A Cam Profile Curve To Correct The Sync Position

    10 Sample Programming 10-2-13 Using a Cam Profile Curve to Correct the Sync Position This sample uses a cam profile curve to correct a slave axis in a gear motion. The slave axis for gear motion is MC_Axis001, a virtual Servo axis, and the slave axis for cam motion is MC_Axis002, also a virtual Servo axis.
  • Page 360 10 Sample Programming Variable name Data type Default Comment StartPg BOOL FALSE When StartPg is TRUE, the Servo is turned ON if EtherCAT process data communica- tions are active and normal. Gearin_Ex BOOL FALSE This variable is used to execute the MC_GearIn (Start Gear Operation) instruc- tion.
  • Page 361 10 Sample Programming Timing Chart  Ladder Diagram Vel_InVel GEARIN GEARIN.Execute Gearin_InGear Gearin_Bsy Gearin_Act CAMIN CAMIN.Execute Camin_InCam Camin_InSync Camin_Bsy Camin_Act COMBINE COMBINE.Execute Combine_Bsy Combine_Act Position MC_Axis000 MC_Axis001 MC_Axis002 MC_Axis003 Time 10-55 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 362 10 Sample Programming  ST Programming Vel_InVel GEARIN Gearin_Ex Gearin_InGear Gearin_Bsy Gearin_Act CAMIN Camin_Ex Camin_InCam Camin_InSync Camin_Bsy Camin_Act COMBINE Combine_Ex Combine_Bsy Combine_Act Position MC_Axis000 MC_Axis001 MC_Axis002 MC_Axis003 Time 10-56 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 363 10 Sample Programming Ladder Diagram Check if the Servo Drive for axis 0 is ready when StartPg is TRUE. Lock0 StartPg MC_Axis000.DrvStatus.Ready Check if the Servo Drive for axis 3 is ready when StartPg is TRUE. Lock3 StartPg MC_Axis003.DrvStatus.Ready If the Servo Drive for axis 0 is ready, turn ON the Servo for axis 0. PWR1 MC_Power MC_Axis000...
  • Page 364 10 Sample Programming If the Servo is ON for axis 3 and home is not defined, the MC_Home instruction is executed. MC_Home Pwr4_Status MC_Axis003.Details.Homed Hm4_D MC_Axis003 Axis Axis Execute Done Hm4_Bsy Busy Hm4_Ca CommandAborted Hm4_Err Error Hm4_ErrID ErrorID If homing is completed for axis 0, velocity control is executed. MC_MoveVelocity Vel_InVel Hm1_D...
  • Page 365 10 Sample Programming If both gear and cam operation are in progress, the Combine Axes instruction is executed. COMBINE MC_CombineAxes MC_Axis001 Master Master MC_Axis002 Auxiliary Auxiliary Combine_InComb Gearin_Act Camin_Act MC_Axis003 Slave Slave Execute InCombination Combine_Bsy _eMC_COMBINE_MODE#_mcAddAxes CombineMode Busy Combine_Act RatioNumeratorMaster Active Combine_Ca RatioDenominatorMaster...
  • Page 366 10 Sample Programming // If the Servo Drive is ready when StartPg is TRUE, turn ON the Servo for axis 3. IF (StartPg=TRUE) AND (MC_Axis003.DrvStatus.Ready=TRUE) THEN Pwr4_En:=TRUE; ELSE Pwr4_En:=FALSE; END_IF; // If a minor fault level error occurs for axis 0 to axis 3, the error handler for the device (FaultHandler) is executed. // Program the FaultHandler according to the device.
  • Page 367 10 Sample Programming Axis := MC_Axis003, Enable := Pwr4_En, Status => Pwr4_Status, Busy => Pwr4_Bsy, Error => Pwr4_Err, ErrorID => Pwr4_ErrID // MC_Home for axis 0 HM1( Axis := MC_Axis000, Execute := Hm1_Ex, Done => Hm1_D, Busy => Hm1_Bsy, CommandAborted =>...
  • Page 368 10 Sample Programming Index => Camin_Index, Busy => Camin_Bsy, Active => Camin_Act, CommandAborted => Camin_Ca, Error => Camin_Err, ErrorID => Camin_ErrID //MC_GearIn GEARIN( Master := MC_Axis000, Slave := MC_Axis001, Execute := Gearin_Ex, RatioNumerator := Gearin_RatN, RatioDenominator := Gearin_RatD, ReferenceType := Gearin_RefTyp, Acceleration := Gearin_Acc, Deceleration...
  • Page 369: 10-2-14 Shifting The Phase Of A Master Axis In Cam Motion

    10 Sample Programming 10-2-14 Shifting the Phase of a Master Axis in Cam Motion This sample synchronizes a slave axis in cam motion with a master axis in velocity control. If StartOn is TRUE, the phase of the master axis is shifted with the MC_Phasing (Shift Master Axis Phase) instruc- tion.
  • Page 370 10 Sample Programming Timing Chart  Ladder Diagram StartOn MC_Phasing PHASING.Execute Phasing_Bsy Phasing_Act Phasing_D MC_MoveVelocity VEL.Execute Vel_InVel MC_CamIn CAMIN.Execute Camin_InCam Camin_InSync Camin_Bsy Command velocity MC_Axis000 MC_Axis001 Time 10-64 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 371 10 Sample Programming  ST Programming StartOn MC_Phasing Phasing_Ex Phasing_Bsy Phasing_Act Phasing_D MC_MoveVelocity Vel_Ex Vel_InVel MC_CamIn Camin_Ex Camin_InCam Camin_InSync Camin_Bsy Command velocity MC_Axis000 MC_Axis001 Time 10-65 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 372 10 Sample Programming Ladder Diagram Check if the Servo Drive for axis 0 is ready when StartPg is TRUE. Lock0 StartPg MC_Axis000.DrvStatus.Ready Check if the Servo Drive for axis 1 is ready when StartPg is TRUE. Lock1 StartPg MC_Axis001.DrvStatus.Ready If the Servo Drive for axis 0 is ready, turn ON the Servo for axis 0. PWR1 MC_Power MC_Axis000...
  • Page 373 10 Sample Programming If the Servo is ON for axis 1 and home is not defined, the MC_Home instruction is executed. MC_Home Hm2_D Pwr1_Status MC_Axis001.Details.Homed MC_Axis001 Axis Axis Execute Done Hm2_Bsy Busy Hm2_Ca CommandAborted Hm2_Err Error Hm2_ErrID ErrorID If homing is completed for axis 0, velocity control is executed. MC_MoveVelocity Vel_InVel Hm1_D...
  • Page 374 10 Sample Programming ST Programming // If the input parameters for the motion instructions are not set, the target values and other parameters are set. IF InitFlag=FALSE THEN // The input parameters for the MC_MoveVelocity (Velocity Control) instruction are set. Vel_Vel := LREAL#1000.0;...
  • Page 375 10 Sample Programming END_IF; // If homing is completed for axis 0, velocity control is executed. IF Hm1_D=TRUE THEN Vel_Ex:=TRUE; END_IF; // When axis 0 reaches the target velocity and the home is defined for axis 1, cam operation is executed. (Vel_InVel=TRUE) AND (MC_Axis001.Details.Homed=TRUE) THEN Camin_Ex := TRUE;...
  • Page 376 10 Sample Programming Execute := Vel_Ex, Velocity := Vel_Vel, Acceleration := Vel_Acc, Deceleration := Vel_Dec, Direction := Vel_Dir, InVelocity => Vel_Invel, Busy => Vel_Bsy, Active => Vel_Act, CommandAborted => Vel_Ca, Error => Vel_Err, ErrorID => Vel_ErrID //MC_Phasing PHASING( Master := MC_Axis000, Slave := MC_Axis001, Execute...
  • Page 377: 10-2-15 Changing The Actual Position During Velocity Control

    10 Sample Programming 10-2-15 Changing the Actual Position during Velocity Control This sample changes the absolute values of the command current position and the actual current posi- tion for an axis in velocity control. Precautions for Correct Use Precautions for Correct Use •...
  • Page 378 10 Sample Programming Timing Chart  Ladder Diagram MC_Power Pwr_Status MC_MoveVelocity VEL.Execute Ve_InVel Vel_Bsy MC_SetPosition SET_POS.Execute Set_Pos_D Set_Pos_Bsy MC_Axis000 Command current velocity Command current position Actual current position Time 10-72 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 379 10 Sample Programming  ST Programming MC_MoveVelocity Vel_Ex Ve_InVel Vel_Bsy MC_SetPosition Set_Pos_Ex Set_Pos_D Set_Pos_Bsy MC_Axis000 Command current velocity Command current position Actual current position Time 10-73 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 380 10 Sample Programming Ladder Diagram Check if the Servo Drive for axis 0 is ready when StartPg is TRUE. Lock0 StartPg MC_Axis000.DrvStatus.Ready If the Servo Drive for axis 0 is ready, turn ON the Servo for axis 0. MC_Power MC_Axis000 Axis Axis Pwr_Status...
  • Page 381 10 Sample Programming ST Programming // If the input parameters for the instructions are not set, the target values and other parameters are set. IF InitFlag=FALSE THEN // The input parameters for the MC_MoveVelocity (Velocity Control) instruction are set. Vel_Vel := LREAL#36.0;...
  • Page 382 10 Sample Programming Deceleration := Vel_Dec, Jerk := Vel_Jrk, InVelocity => Vel_InVel, Busy => Vel_Bsy, Active => Vel_Act, CommandAborted => Vel_Ca, Error => Vel_Err, ErrorID => Vel_ErrID //MC_SetPosition SET_POS( Axis := MC_Axis000, Execute := Set_Pos_Ex, Position := Set_Pos_Pos, Done => Set_Pos_D, Busy =>...
  • Page 383: 10-2-16 Changing A Cam Data Variable And Saving The Cam Table

    10 Sample Programming 10-2-16 Changing a Cam Data Variable and Saving the Cam Table This sample uses the user program to change a cam data variable that was created on Cam Editor of the Sysmac Studio. The displacements for phases of 0° to 180° are multiplied by 2 and the displace- ments for phases of 181°...
  • Page 384 10 Sample Programming Timing Chart  Ladder Diagram Write_Camdata WriteDone SaveCamtable _MC_COM.Status.CamTableBusy SV_CAM Sv_Cam_Ex Sv_Cam_Bsy Sv_Cam_D CAMIN Camin_Ex Camin_Bsy Camin_Act Camin_InCam Camin_InSync  ST Programming Write_Camdata WriteDone SaveCamtable _MC_COM.Status.CamTableBusy SV_CAM Sv_Cam_Ex Sv_Cam_Bsy Sv_Cam_D CAMIN Camin_Ex Camin_Bsy Camin_Act Camin_InCam Camin_InSync 10-78 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 385 10 Sample Programming Ladder Diagram Check if the Servo Drive for axis 0 is ready when StartPg is TRUE. Lock0 StartPg MC_Axis000.DrvStatus.Ready Check if the Servo Drive for axis 1 is ready when StartPg is TRUE. Lock1 StartPg MC_Axis001.DrvStatus.Ready If the Servo Drive for axis 0 is ready, turn ON the Servo for axis 0. PWR1 MC_Power MC_Axis000...
  • Page 386 10 Sample Programming If the Servo is ON for axis 1 and home is not defined, the MC_Home instruction is executed. MC_Home Pwr1_Status MC_Axis001.Details.Homed Hm2_D MC_Axis001 Axis Axis Execute Done Hm2_Bsy Busy Hm2_Ca CommandAborted Hm2_Err Error Hm2_ErrID ErrorID If WriteCamData is TRUE and a cam table file is not being saved, the values in the cam data variable are changed. The displacements for phases from 0°...
  • Page 387 10 Sample Programming One second after a Cannot Execute Save Cam Table error occurs, Sv_Ca_TimeUp is changed to TRUE. When Sv_Ca_TimeUp changes to TRUE, Sv_Cam_Ex changes to FALSE. Sv_Ca_TON Sv_Ca_TimeUp Sv_Cam_Disable T#1s Sv_Ca_CountLoad changes to TRUE for one period when the cam table is saved. If Sv_Ca_CountLoad is TRUE, the retry counter is reset.
  • Page 388 10 Sample Programming ST Programming // If the input parameters for the instructions are not set, the target values and other parameters are set. IF InitFlag=FALSE THEN // The input parameters for the MC_MoveVelocity (Velocity Control) instruction are set. Vel_Vel := LREAL#1000.0;...
  • Page 389 10 Sample Programming IF (Pwr2_Status=TRUE) AND (MC_Axis001.Details.Homed=FALSE) THEN Hm2_Ex:=TRUE; END_IF; // If WriteCamData is TRUE and a cam table file is not being saved, the values in the cam data variable are changed. // The displacements for phases of 0° to 180° are multiplied by 2 and the displacements for phases of 181° to 360° are multiplied by 0.5.
  • Page 390 10 Sample Programming := T#1s , => Sv_Ca_TimeUp // Sv_Ca_CountLoad is changed to TRUE for one period when the cam table is saved. // If Sv_Ca_CountLoad changes to TRUE, the retry counter is reset. R_TRIG1(SaveCamtable, Sv_Ca_CountLoad); // If a Cannot Execute Save Cam Table error occurs three times, Sv_Ca_CountUP is changed to TRUE. // If Sv_Ca_CountUP changes to TRUE, Sv_Cam_Disable is changed to FALSE.
  • Page 391 10 Sample Programming // MC_Power for axis 0 PWR1( Axis := MC_Axis000, Enable := Pwr1_En, Status => Pwr1_Status, Busy => Pwr1_Bsy, Error => Pwr1_Err, ErrorID => Pwr1_ErrID // MC_Power for axis 1 PWR2( Axis := MC_Axis001, Enable := Pwr2_En, Status =>...
  • Page 392: 10-2-17 Temporarily Changing Axis Parameters

    10 Sample Programming 10-2-17 Temporarily Changing Axis Parameters This sample uses the MC_Write (Write MC Setting) instruction to change the settings of the In-Position Check Time, Positive Software Limit, and Negative Software Limit. Main Variables Used in the Programming Samples Variable name Data type Default...
  • Page 393 10 Sample Programming If changing the setting of the Positive Software Limit is completed, the setting of the Negative Software Limit is changed. WRITE3 MC_Write MC_Axis000 Target Target Write3_D Write2_D Write3_Sv SettingValue SettingValue Execute Done Write3_Pn Write3_Bsy ParameterNumber Busy Write3_Ca CommandAborted Write3_Err Error...
  • Page 394 10 Sample Programming WRITE2( Target := MC_Axis000, SettingValue := Write2_Sv, Execute := Write2_Ex, ParameterNumber := Write2_Pn, Done => Write2_D, Busy => Write2_Bsy, CommandAborted => Write2_Ca, Error => Write2_Err, ErrorID => Write2_ErrID WRITE3( Target := MC_Axis000, SettingValue := Write3_Sv, Execute := Write3_Ex, ParameterNumber := Write3_Pn, Done...
  • Page 395: 10-2-18 Updating The Cam Table End Point Index

    10 Sample Programming 10-2-18 Updating the Cam Table End Point Index This sample increases the valid number of data points by 10 in a cam table with a maximum number of data points of 110 and a valid number of data points of 100. It also updates the end point index. Main Variables Used in the Programming Samples Variable name Data type...
  • Page 396 10 Sample Programming If the changes to the cam data variable are completed, the Set Cam Table Properties instruction is executed. SET_CAM MC_SetCamTableProperty WriteDone Set_Cam_D CamProfile0 CamProfile0 CamTable CamTable Execute Done Set_Cam_Epi EndPointIndex Set_Cam_Mdn MaxDataNumber Set_Cam_B Busy Set_Cam_Ca CommandAborted Set_Cam_Err Error Set_Cam_ErrID ErrorID...
  • Page 397: Troubleshooting

    Troubleshooting This section describes the overview of the methods for checking errors. 11-1 Overview of Troubleshooting ........11-2 11-1 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 398: 11-1 Overview Of Troubleshooting

    11 Troubleshooting 11-1 Overview of Troubleshooting You manage all of the errors that occur on the NJ/NX-series Controller as events. This allows you to see what errors have occurred and find corrections for them with the same methods for the entire range of errors that is managed (i.e., CPU Unit, NX Units, NX-series Slave Terminals, EtherCAT slaves , and CJ-series Units).
  • Page 399: Appendices

    Appendices This section describes settings and connection methods for OMRON 1S-series Servo Drive or G5-series Servo Drive objects. A-1 Connecting the 1S-series Servo Drive ......A-2 A-1-1 Wiring the Servo Drive .
  • Page 400: Connecting The 1S-Series Servo Drive

    • External latch trigger signals (latch input 1 and latch input 2)  Assigning Positive Limit Inputs, Negative Limit Inputs, and Home Proximity Input The default settings of the input signals of an OMRON 1S-series Servo Drive are listed in the follow- ing table. Signal name...
  • Page 401  Trigger Signal Assignments for External Latches The input signals in the following table are assigned to external latch trigger signals by default for the OMRON 1S-series Servo Drive. Settings for the TriggerInput (Trigger Input Condition) input variable of the MC_TouchProbe instruction...
  • Page 402 Digital Inputs (60FD hex) Additional Information • If you use the recommended OMRON Servo Drives (R88D-1SN-ECT), then it is not nec- essary to change the default PDO map on the Sysmac Studio. NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 403 To access the settings, click the Detailed Settings Button on the Axis Basic Settings Display in the Sysmac Studio. Additional Information If you use the recommended OMRON Servo Drives (R88D-1SN-ECT), then it is not nec- essary to change the default relationships between MC Function Module functions and the PDOs on the Sysmac Studio.
  • Page 404 Appendices  Output Settings (Controller to Servo Drive) The input settings apply to the command data that is sent from the MC Function Module to the Servo Drive. The default settings in the Sysmac Studio are listed in the following table. (Required objects are marked with a star.) Function name Process data...
  • Page 405 • If you change the settings, make sure that the desired operations are performed for the MC Function Module and process data settings. • If you are not using an OMRON 1S-series Servo Drive with built-in EtherCAT communications or G5-series Servo Drive with built-in EtherCAT communications, always set the Modes of Operation (6060 hex).
  • Page 406 *2 If you set 6061 hex (Modes of operation display), also set 6060 hex (Modes of operation). Normal operation is not possible if only one of these two is set. *3 Map 3010-87 hex (Reference Position for CSP) to a PDO when you use an OMRON 1S-series Servomoter/Servo Drive.
  • Page 407 Function Module and process data settings. Version Information • If you are using a CPU Unit with unit version 1.09 or earlier and you are not using an OMRON 1S-series Servo Drive with Built-in EtherCAT Communications for the servo axis, Modes of Operation (6060 hex) and Modes of Operation Display (6061 hex) are required.
  • Page 408 02 hex Logic Selection *1 With a CPU Unit of unit version 1.10 or earlier, you cannot operate OMRON 1S-series Servomotors in the maximum rota- tion speed. To operate the 1S-series Servomotors in the maximum rotation speed, set the electronic gear ratio to 2:1 or greater.
  • Page 409: Connecting The G5-Series Servo Drive

    Unit version 1.1 or later Additional Information • You can also use unit versions of the OMRON G5-series Servo Drives with built-in EtherCAT communications other than the recommended unit versions. The functions that you can use depend on the specifications of the Servo Drive. Set the functions to use and the object dictio- nary on Sysmac Studio.
  • Page 410 • External latch trigger signals (latch input 1 and latch input 2)  Assigning Positive Limit Inputs, Negative Limit Inputs, and Home Proximity Input The default settings of the input signals of an OMRON G5-series Servo Drive are listed in the follow- ing table. Signal name...
  • Page 411 Appendices Backlash Compensation The MC Function Module does not perform backlash compensation. If you require backlash compensation, use the compensation function of the Servo Drive. The objects that must be set on the Servo Drive are listed in the following table. Index Name Description...
  • Page 412 Value (60BC hex), and Digital Inputs (60FD hex) Additional Information • If you use the recommended OMRON Servo Drives (R88D-KN-ECT, version 2.1 or later, or R88D-KN-ECT-L, unit version 1.1 or later), then it is not necessary to change the default PDO map on the Sysmac Studio.
  • Page 413 Sysmac Studio. Additional Information If you use the recommended OMRON Servo Drives (R88D-KN-ECT, version 2.1 or later, or R88D-KN-ECT-L, unit version 1.1 or later), then it is not necessary to change the default relationships between MC Function Module functions and the PDOs on the Sysmac Studio.
  • Page 414 Precautions for Correct Use Precautions for Correct Use • Some functions may not be supported if you a connect unit versions of the OMRON G5-series Servo Drives with built-in EtherCAT communications other than the recommended unit ver- sions. Refer to the manual for the connected servo drive for details.
  • Page 415 Appendices  Input Settings (Servo Drive to Controller) This is the status data from the Servo Drive to the MC Function Module. The default settings in the Sysmac Studio are listed in the following table. (Required objects are marked with a star.) Function name Process data Description...
  • Page 416 *2 If you set 6061 hex (Modes of Operation Display), also set 6060 hex (Modes of Operation). Normal operation is not possible if only one of these two are set. *3 Map 4020 hex (Reference Position for CSP) to a PDO when you use an OMRON 1S-series Servomotor/Servo Drive.
  • Page 417 60FD hex-00.25 (Digital This signal is used for the immediate stop input. inputs) Set Bit 25: Immediate Stop Input of 60FD hex-00: Digital inputs for an OMRON G5-series Servo Drive. Encoder Phase Z 60FD hex-00.16 (Digital Shows the status of detecting the Z-phase input.
  • Page 418 Appendices Version Information • If you are using a CPU Unit with unit version 1.09 or earlier and you are not using an OMRON G5-series Servo Drive with built-in EtherCAT communications for the servo axis, Modes of Operation (6060 hex) and Modes of Operation Display (6061 hex) are required.
  • Page 419 *2 OMRON G5-series Linear Motor Type Servo Drives with built-in EtherCAT communications do not support this object. *3 Select a value according to the type of external scale to use when you use fully-closed control with an OMRON G5-series Servomotor/Servo Drive, or when you use an OMRON G5-series Linear Motor Type Servomo- tor/Servo Drive with built-in EtherCAT communications.
  • Page 420: Connecting To Encoder Input Terminals

    • Only the OMRON GX-EC0211/EC0241 can be used for encoder axes of EtherCAT slaves. • Unit version 1.0 of the OMRON GX-EC0211/EC0241 can also be used for encoder axes, but they are not Sysmac devices. When you use unit version 1.0, do not set the node address switches to 00.
  • Page 421 Appendices There are two counter channels, and there are two external latches for each channel. Wire the input signals that are required for your application. Refer to the GX-series EtherCAT Slave Units User’s Manual (Cat. No. W488) for input signal wiring methods.
  • Page 422 Appendices Relationships between MC Function Module and Process Data The functions of the MC Function Module are related to the information in the process data objects. Depending on the EtherCAT slave configuration and functions that are used by the MC Function Mod- ule, you sometimes must change the relationships between the MC Function Module and the PDOs.
  • Page 423 Appendices  Input Settings (Servo Drive to Controller) This is the status data from the Encoder Input Terminal to the MC Function Module. The default set- tings in the Sysmac Studio are listed in the following table. (Required objects are marked with a star.) Process data Function name...
  • Page 424 Appendices Parameter Meaning Set value Modulo Maximum Posi- Set the modulo maximum position that is set This setting must agree with the maxi- tion Setting Value on the Servo Drive or the Encoder Input Ter- mum value that is set for the ring minal.
  • Page 425 Appendices The maximum value of the ring counter for the Encoder Input Terminal is set on the EtherCAT Tab Page in the Sysmac Studio. The setting is as follows: Index Object name Set value 0x4003 Max Count Setting (maxi- Set this parameter to the same value as the Modulo Maximum mum value of the ring Position Setting Value in the Servo Drive Settings of the axis counter)
  • Page 426: Connecting To Nx Units

    Appendices Connecting to NX Units Refer to the NX-series Position Interface Units User’s Manual (Cat. No. W524) for information on con- necting to the NX-series Position Interface Units. A-28 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 427: Pds State Transition

    Appendices PDS State Transition The PDS state transition is defined in CiA402 drive profile. Use the Controlword (6040 hex) process data to command PDS state transitions. To check actual PDS states, use the Statusword (6041 hex) process data. The following diagram shows the state transition defined in CiA402 drive profile. Each box indicates a state, while numbers indicate the state control commands.
  • Page 428: A-5-1 Pds State Control Method

    Appendices A-5-1 PDS State Control Method This section describes the relationship between the setting values of the PDS State Control Method axis parameter and the PDS states.  When PDS State Control Method Is Set to 0 The following operation is performed when PDS State Control Method is set to 0: Switched on by Servo OFF.
  • Page 429: A-5-2 Main Circuit Power Supply Off Detection

    Precautions for Correct Use Precautions for Correct Use You cannot select the Do not detect option when you use an OMRON 1S-series Servo Drive or G5-series Servo Drive. A Servo Main Circuit Power OFF error will occur if you select the Do not detect option and turn off the main power supply to Servo Drive when the Servo is ON.
  • Page 430: Terminology

    Appendices Terminology This appendix provides definitions of terms related to motion control. A-6-1 NJ/NX-series Controller Term Description main memory The memory inside the CPU Unit that is used by the CPU Unit to execute the OS and user program. periodic task Tasks for which user program execution and I/O refreshing are performed each period.
  • Page 431: A-6-2 Motion Control

    Appendices A-6-2 Motion Control Term Description used real axis Axis of which axis type is set to Servo Axis or Encoder Axis and axis use is set to Used Axis. used virtual axis Axis of which axis type is set to Virtual Servo Axis or Virtual Encoder Axis and axis use is set to Used Axis.
  • Page 432 Appendices Term Description home The zero position of the mechanical system. Home is determined by the home input signal during the homing operation. zero position The position that is based on home and is treated as the zero position in the user program.
  • Page 433: A-6-3 Ethercat Communications

    Appendices A-6-3 EtherCAT Communications Term Description CAN application protocol over Ether- A CAN application protocol service implemented on EtherCAT. CAT(CoE) CAN in Automation(CiA) CiA is the international users’ and manufacturers’ group that develops and supports higher-layer protocols. EtherCAT Technology Group The ETG is a global organization in which OEM, End Users and Technology Provid- ers join forces to support and promote the further technology development.
  • Page 434: Version Information

    Synchronous Absolute Positioning) instruction to cyclically output the specified target positions for the axes. Controllable Servo Drives Support was added for OMRON G5-series Linear Motor Type Servo- motors/Servo Drives with built-in EtherCAT communications. Motion Control Functions That Were Added for Unit Version 1.02 Version 1.03 or higher of the Sysmac Studio is required to use the functions that were added for unit...
  • Page 435 Appendices Motion Control Functions That Were Added for Unit Version 1.04 Version 1.05 or higher of the Sysmac Studio is required to use the functions that were added for unit version 1.04 of the CPU Unit. Function Overview Changing axis use You can use the MC_ChangeAxisUse (Change Axis Use) instruc- tion to temporarily change the setting of the Axis Use axis parame- ter.
  • Page 436 Appendices Motion Control Functions That Were Added or Changed for Unit Version 1.08 Use Sysmac Studio version 1.09 or higher when you use the functions that were added or changed for the CPU Unit with unit version 1.08. Function Overview Generating cam tables You can use the MC_GenerateCamTable (Generate Cam Table) instruction and generate the cam table according to the cam property and cam node specified for...
  • Page 437 1.11 of the CPU Unit. Function Overview Controllable Servo Drives Support was added for OMRON 1S-series Servo Drives with built- in EtherCAT communications. Motion Control Functions That Were Added or Changed for Unit Version 1.13 Version 1.17 or higher of the Sysmac Studio is required to use the following functions that were added for unit version 1.13 of the CPU Unit.
  • Page 438 Appendices A-40 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 439 Index Index-1 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 440 Index Index specifying in user program ......3-20, 3-24 Axis Basic Settings ..........5-7, 6-29 Axis Command Values ..........6-28 aborting .............. 9-48, 9-65 Axis Current Value ............6-28 absolute encoder Axis Disabled ............... 6-26 Absolute Encoder Origin Position Offset ....8-15 axis following error monitoring ........
  • Page 441 Index names ..............6-39 defined home cam start point ............9-16 loosing ..............8-2 Cam table derivative data types ........... 6-23 Generate Cam Table ..........9-22 Discrete Motion ............6-26 cam table ..............9-16 displacement ............... 9-16 Cam Table File Save Busy .......... 6-25 Displaying 3D Motion Monitor for User Coordinate cam table start position ..........
  • Page 442 Index Homing Compensation Velocity ......5-29, 8-11 Maximum Interpolation Deceleration ......5-35 Homing Deceleration ..........5-29, 8-9 Maximum Interpolation Velocity ........5-35 Homing Holding Time .........5-29, 8-11 Maximum Jog Velocity ..........5-20 Homing Jerk ............5-29, 8-10 Maximum Negative Torque Limit ......... 5-24 Homing Method ............5-28, 8-6 maximum number of cam data ........
  • Page 443 Index _MC_AX[0-63].DrvStatus.HomeSw _MC_COM.Status.CamTableBusy (Home Proximity Input) ..........6-27 (Cam Table Busy) ............. 6-25 _MC_AX[0-63].DrvStatus.ILA _MC_COM.Status.RunMode (MC Run) ...... 6-25 (Drive Internal Limiting) ..........6-27 _MC_COM.Status.TestMode (MC Test Run) ....6-25 _MC_AX[0-63].DrvStatus.ImdStop _MC_GRP[0-31] (Axes Group Variable) ..... 6-33 _MC_GRP[0-31].Cfg.GrpEnable (Axes Group Use) ... 6-34 (Immediate Stop Input) ..........
  • Page 444 Index timing charts for enable-type instructions ....6-15 process data objects (PDOs) ........2-20 timing charts for execute-type instructions .... 6-14 program-modified cam data ........9-16 motion control period ........... 2-25 motion control programs ..........6-2 writing ..............6-40 Moving ................. 6-33 Ready to Execute ............
  • Page 445 Index excessive deceleration patterns ....9-43 triangular control patterns ......9-43 when a reverse turn occurs for the new command value ......9-42 target velocity changing ..............9-44 task period ..............2-8 tasks ................2-5 torque command changing ..............9-45 torque limit ..............
  • Page 446 Index Index-8 NJ/NX-series CPU Unit Motion Control User’s Manual (W507)
  • Page 448 The Netherlands Hoffman Estates, IL 60169 U.S.A. Tel: (31)2356-81-300/Fax: (31)2356-81-388 Tel: (1) 847-843-7900/Fax: (1) 847-843-7787 © OMRON Corporation 2011-2018 All Rights Reserved. OMRON (CHINA) CO., LTD. OMRON ASIA PACIFIC PTE. LTD. In the interest of product improvement, Room 2211, Bank of China Tower, No.

This manual is also suitable for:

Nx102-1Nx102-90Nj501Nj301-1Nx1p2-1Nx1p2-90 ... Show all

Table of Contents