Mitsubishi Electric R16MTCPU Programming Manual

Hide thumbs Also See for R16MTCPU:
Table of Contents
MELSEC iQ-R Motion Controller
Programming Manual (Program Design)
-R16MTCPU
-R32MTCPU
-R64MTCPU
Table of Contents
loading

Summary of Contents for Mitsubishi Electric R16MTCPU

  • Page 1 MELSEC iQ-R Motion Controller Programming Manual (Program Design) -R16MTCPU -R32MTCPU -R64MTCPU...
  • Page 3: Safety Precautions

    SAFETY PRECAUTIONS (Read these precautions before using this product.) Before using this product, please read this manual and the relevant manuals carefully and pay full attention to safety to handle the product correctly. The precautions given in this manual are concerned with this product only. Refer to MELSEC iQ-R Module Configuration Manual for a description of the PLC system safety precautions.
  • Page 4 [Design Precautions] WARNING ● For the operating status of each station after a communication failure, refer to manuals relevant to the network. Incorrect output or malfunction due to a communication failure may result in an accident. ● When connecting an external device with a CPU module or intelligent function module to modify data of a running programmable controller, configure an interlock circuit in the program to ensure that the entire system will always operate safely.
  • Page 5 [Design Precautions] CAUTION ● Do not install the control lines or communication cables together with the main circuit lines or power cables. Keep a distance of 100 mm or more between them. Failure to do so may result in malfunction due to noise.
  • Page 6 [Installation Precautions] CAUTION ● Use the programmable controller in an environment that meets the general specifications in the manual "Safety Guidelines" included in the base unit. Failure to do so may result in electric shock, fire, malfunction, or damage to or deterioration of the product. ●...
  • Page 7 [Wiring Precautions] CAUTION ● Individually ground the FG and LG terminals of the programmable controller with a ground resistance of 100 ohm or less. Failure to do so may result in electric shock or malfunction. ● Use applicable solderless terminals and tighten them within the specified torque range. If any spade solderless terminal is used, it may be disconnected when the terminal screw comes loose, resulting in failure.
  • Page 8 [Startup and Maintenance Precautions] WARNING ● Do not touch any terminal while power is on. Doing so will cause electric shock or malfunction. ● Correctly connect the battery connector. Do not charge, disassemble, heat, short-circuit, solder, or throw the battery into the fire. Also, do not expose it to liquid or strong shock. Doing so may cause the battery to generate heat, explode, ignite, or leak, resulting in injury or fire.
  • Page 9 [Startup and Maintenance Precautions] CAUTION ● Startup and maintenance of a control panel must be performed by qualified maintenance personnel with knowledge of protection against electric shock. Lock the control panel so that only qualified maintenance personnel can operate it. ●...
  • Page 10 [Transportation Precautions] CAUTION ● When transporting lithium batteries, follow the transportation regulations. For details on the regulated models, refer to the MELSEC iQ-R Module Configuration Manual. ● The halogens (such as fluorine, chlorine, bromine, and iodine), which are contained in a fumigant used for disinfection and pest control of wood packaging materials, may cause failure of the product.
  • Page 11: Conditions Of Use For The Product

    When applying the program examples provided in this manual to an actual system, ensure the applicability and confirm that it will not cause system control problems. Please make sure that the end users read this manual. Relevant products R16MTCPU, R32MTCPU, R64MTCPU...
  • Page 12: Table Of Contents

    CONTENTS SAFETY PRECAUTIONS ..............1 CONDITIONS OF USE FOR THE PRODUCT .
  • Page 13 END ................. . 106 Branches, Couplings.
  • Page 14 16-bit integer type scaling: SCL............. 160 32-bit integer type scaling: DSCL .
  • Page 15 Send an image acquisition trigger: MVTRG ........... 247 Start a program: MVPST .
  • Page 16 APPENDICES Appendix 1 Processing Times ..............307 Processing time of operation control/Transition instruction .
  • Page 17: Relevant Manuals

    RELEVANT MANUALS Manual Name [Manual Number] Description Available form MELSEC iQ-R Motion Controller Programming Manual This manual explains the functions, programming, debugging for Print book (Program Design) Motion SFC and others. e-Manual [IB-0300239] (This manual) MELSEC iQ-R Motion Controller User's Manual This manual explains specifications of the Motion CPU modules, Print book [IB-0300235]...
  • Page 18: Terms

    TERMS Unless otherwise specified, this manual uses the following terms. Term Description R64MTCPU/R32MTCPU/R16MTCPU or Abbreviation for MELSEC iQ-R series Motion controller Motion CPU (module) MR-J4(W)-B Servo amplifier model MR-J4-B/MR-J4W-B MR-J3(W)-B Servo amplifier model MR-J3-B/MR-J3W-B AMP or Servo amplifier General name for "Servo amplifier model MR-J4-B/MR-J4W-B/MR-J3-B/MR-J3W-B"...
  • Page 19: Manual Page Organization

    Axis No. Axis No. • The range of axis No.1 to 16 (n=0 to 15) is valid in the R16MTCPU. The range of axis No.1 to 32 (n=0 to 31) is valid in the R32MTCPU. • Calculate as follows for the device No. corresponding to each axis.
  • Page 20 ■Machine No. representation In the positioning dedicated signals, "m" in "M43904+32m", etc. indicates a value corresponding to machine No. as shown in the following table. Machine No. Machine No. • Calculate as follows for the device No. corresponding to each machine. For machine No.8 in MELSEC iQ-R Motion device assignment M43904+32m ([St.2120] Machine error detection) M43904+327=M44128 D53168+128m ([Md.2020] Machine type)=M53168+287=D54064...
  • Page 21: Chapter 1 Overview

    OVERVIEW Performance Specifications Motion SFC performance specifications Item R64MTCPU/R32MTCPU/R16MTCPU Motion SFC Code total 8192k bytes program (Motion SFC chart + Operation control + Transition) capacity Motion SFC Number of Motion SFC programs 512 (No.0 to 511) program Motion SFC chart size/program...
  • Page 22: Operation Control/Transition Control Specifications

    Operation control/transition control specifications Table of the operation control/transition control specifications ■Expression Specifications Remark Calculation expression Returns a numeric result. D100+1, SIN(D100), etc. Expressions for calculating indirectly specified data using constants and word devices. Conditional Bit conditional Returns a true or false result. M0, !M0, M1*M0, expression expression...
  • Page 23 ■Data type Specifications Remark (None) 16-bit integer type (signed) -32768 to 32767 K10, D100, etc. 16-bit integer type (unsigned) 0 to 65535 32-bit integer type (signed) -2147483648 to 2147483647 2000000000, W100L, etc. 32-bit integer type (unsigned) 0 to 4294967295 64-bit floating-point type (double precision real number type) IEEE format 1.23, #10F, etc.
  • Page 24 Table of the operation control/transition instruction : Usable, : Unusable Classification Symbol Function Format Basic Usable Section of steps step transition's reference conditional expression    Page 131 Binary operation Substitution (D)=(S) Substitution: =    Page 133 Addition (S1)+(S2) Addition: +...
  • Page 25 Classification Symbol Function Format Basic Usable Section of steps step transition's reference conditional expression Standard function Sine SIN(S)    Page 145 Sine:    Page 146 Cosine COS(S) Cosine: COS Tangent TAN(S)    Page 147 Tangent: TAN ...
  • Page 26 Classification Symbol Function Format Basic Usable Section of steps step transition's reference conditional expression    Page 167 Type conversion SHORT Convert into 16-bit integer SHORT(S) type (signed) Signed 16-bit integer value conversion: SHORT    Page 168 USHORT Convert into 16-bit integer USHORT(S)
  • Page 27 Classification Symbol Function Format Basic Usable Section of steps step transition's reference conditional expression Logical operation (None) Logical acknowledgment (Conditional expression)    Page 184 Logical acknowledgement: (None)    Page 185 Logical negation !(Conditional expression) Logical negation: ! Logical AND (Conditional expression) * ...
  • Page 28 Classification Symbol Function Format Basic Usable Section of steps step transition's reference conditional expression    Page 201 Speed Motion dedicated CHGV Speed change request CHGV((S1),(S2)) function change request: CHGV    Page 205 CHGVS Command generation axis CHGVS((S1),(S2)) speed change request Command...
  • Page 29 Classification Symbol Function Format Basic Usable Section of steps step transition's reference conditional expression Others Event task enable    Page 261 Event task enable: EI    Page 262 Event Event task disable task disable: DI No operation ...
  • Page 30: Structure Of The Motion Cpu Program

    Structure of the Motion CPU Program • By using the sequence program in the PLC CPU, Motion dedicated PLC instructions in the Motion CPU perform the following controls. • Start of Motion SFC program • Start of servo program • Direct positioning (perform positioning control by sequence program) •...
  • Page 31: Chapter 2 Motion Dedicated Plc Instruction

    MOTION DEDICATED PLC INSTRUCTION Outline of Motion Dedicated PLC Instruction Motion dedicated PLC instruction is used to access the device data and start-up program of Motion CPU from PLC CPU and other CPU. Motion dedicated PLC instruction is transmitted through the CPU dedicated instruction transmission area set up in system area on the CPU buffer memory or the CPU buffer memory (fixed scan communication area).
  • Page 32: Motion Dedicated Plc Instruction

    Motion Dedicated PLC Instruction The Motion dedicated PLC instruction that can be executed toward the Motion CPU is shown below. Instruction Description Reference M(P).□ D(P).□ Page 31 Motion SFC start request from M(P).SFCS D(P).SFCS Start request of the specified Motion SFC program the PLC CPU to the Motion CPU: M(P).SFCS/ D(P).SFCS Page 34 Servo program start request from...
  • Page 33: Motion Sfc Start Request From The Plc Cpu To The Motion Cpu: M(P).Sfcs/D(P).Sfcs

    Motion SFC start request from the PLC CPU to the Motion CPU: M(P).SFCS/D(P).SFCS Instruction Condition Sequence program MP.SFCS Command DP.SFCS P.SFCS (n1) (n2) Command P.SFCS (n1) (n2) (D1) (D2) M.SFCS Command D.SFCS .SFCS (n1) (n2) Command .SFCS (n1) (n2) (D1) (D2) *1 : Instruction (M(P).SFCS: M, D(P).SFCS: D) Setting data...
  • Page 34 ■Operation Outline operation between CPUs at the MP.SFCS and DP.SFCS instruction execution is shown below. • MP.SFCS instruction Sequence program MP.SFCS execution MP.SFCS instruction Request data set CPU dedicated transmission Transfer (Non-fixed cycle) Response data set Motion SFC Motion SFC program executed processing Complete device (D1+0) ON: Abnormal completion only...
  • Page 35 Program example ■Program which starts the Motion SFC program No.10 of the Motion CPU (CPU No.2), when M0 turned ON. • (Example 1) Program which omits the complete device and complete status. MP.SFCS H3E1 K10 Instruction execution command Instruction execution command •...
  • Page 36: Servo Program Start Request From The Plc Cpu To The Motion Cpu: M(P).Svst/D(P).Svst

    (S1) Axis No.("Jn") to start. 1 to 64 User Character R64MTCPU: J1 to J64 string R32MTCPU: J1 to J32 R16MTCPU: J1 to J16 (n2) Servo program No. to execute 0 to 8191 User 16-bit binary  (D1) Complete devices System •...
  • Page 37 Processing details ■Controls • Request to start the servo program specified with (n2) program No. • It is necessary to take an inter-lock by the start accept flag of CPU buffer memory and user device so that multiple instructions may not be executed toward the same axis of the same Motion CPU No. Refer to the start accept flag (system area) for details of the start accept flag.
  • Page 38 1 to 64 R32MTCPU 1 to 32 R16MTCPU 1 to 16 Up to 12 axes can be set. Set them as shown below. Set "J" in a capital letter or small letter and use the axis No. set in the servo network setting as the axis No.
  • Page 39 205H(517) Bits are actually set as the following: 206H(518) • R64MTCPU: J1 to J64 207H(519) • R32MTCPU: J1 to J32 • R16MTCPU: J1 to J16 OFF: Start accept enable ON: Start accept disable 204H(516) address 205H(517) address 206H(518) address 207H(519) address 20EH(526) The command generation axis start accept flag for 64 axes are stored corresponding to each bit.
  • Page 40 Program example ■Program which requests to start of the servo program No.10 toward Axis 1, Axis 2 of the Motion CPU (CPU No.2), when M0 turned ON • (Example 1) Program which omits the complete device and complete status. U3E1 U3E1 \G516.0 \G516.1...
  • Page 41: Direct Positioning Start Instruction From The Plc Cpu To The Motion Cpu: M(P).Svstd/D(P).Svstd

    Direct positioning start instruction from the PLC CPU to the Motion CPU: M(P).SVSTD/D(P).SVSTD Instruction Condition Sequence program MP.SVSTD Command DP.SVSTD P.SVSTD (n1) (S1) (S2) (D1) (D2) M.SVSTD Command D.SVSTD .SVSTD (n1) (S1) (S2) (D1) (D2) *1 : Instruction (M(P).SVSTD: M, D(P).SVSTD: D) Setting data ■Usable devices : Usable, : Usable partly...
  • Page 42 Axis 1 Axis No.. Set the axis No. R64MTCPU: 1 to 64, 1001 to 1064 data R32MTCPU: 1 to 32, 1001 to 1032 R16MTCPU: 1 to 16, 1001 to 1016 +(2V+3) Unusable Set to "0" Page 45 Positioning point data +(2V+4) Positioning [Da.2] Control mode/...
  • Page 43 R64MTCPU: 1 to 64, 1001 to 1064 data "Positioning type/Number of points" is R32MTCPU: 1 to 32, 1001 to 1032 valid. R16MTCPU: 1 to 16, 1001 to 1016 When "0" is set, only "positioning point No. +(2V+10R+5) Unusable 1" is valid.
  • Page 44 +(2V+30R+7) +(2V+30R+8) Axis 4 Axis No. R64MTCPU: 1 to 64, 1001 to 1064 data R32MTCPU: 1 to 32, 1001 to 1032 R16MTCPU: 1 to 16, 1001 to 1016 +(2V+30R+9) Unusable +(2V+30R+10) Positioning [Da.2] Control mode/ Page 45 Positioning point data point No.1...
  • Page 45 *3 Only valid during continuous trajectory control, VPF/VPR, VVF/VVR. When setting torque limit in another control mode, set the torque limit value at start in positioning data item. When not using torque limit value during operation, set "0". When both torque limit during operation and torque limit at start are set in VVF/VVR, torque limit at start is valid.
  • Page 46 ■Positioning type/Number of points When starting continuous trajectory control (CPSTART), set the number of points for positioning points (1 to 128). The number of positioning points cannot exceed the number of points for the positioning data area (14 to 2044) set in control data (S1 + 1). When starting a control other than continuous trajectory control (CPSTART) set "0".
  • Page 47 ■Positioning point data Set "[Da.2] Control mode", and "[Da.29] Interpolation axis speed designation" when performing positioning control. b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 [Da.29] Interpolation axis speed designation [Da.2] Control mode •...
  • Page 48 • [Da.2] Control mode Positioning control Instruction Control description Setting Remark symbol value ■Interpolation control Linear 1 axis ABS-1 Absolute 1-axis positioning interpolation • When performing interpolation control, INC-1 Incremental 1-axis positioning control set "[Da.2] Control mode" to "NOP" for 2 axis ABS-2 Absolute 2-axis positioning...
  • Page 49 Positioning control Instruction Control description Setting Remark symbol value Fixed-Pitch 1 axis FEED1 1 Axis Fixed-Pitch Feed Control feed control 2 axis FEED2 2-axes linear interpolation fixed-pitch feed control 3 axis FEED3 3-axes linear interpolation fixed-pitch feed control Speed Forward Speed control () forward rotation start control () rotation...
  • Page 50 205H(517) Bits are actually set as the following: 206H(518) • R64MTCPU: J1 to J64 207H(519) • R32MTCPU: J1 to J32 • R16MTCPU: J1 to J16 OFF: Start accept enable ON: Start accept disable 204H(516) address 205H(517) address 206H(518) address 207H(519) address 20EH(526) The command generation axis start accept flag for 64 axes are stored corresponding to each bit.
  • Page 51 Operation error • The abnormal completion in the case shown below, and the error code is stored in the device specified with the complete status storage device (S1+0). Complete status Error factor Corrective action (Error code) (H) 0010 Instruction request to Motion CPU from PLC CPU exceeds the permissible value. Check the sequence program, and correct it.
  • Page 52 Program example ■Program which requests to start direct positioning corresponding to the following servo program in the Motion CPU (CPU No.2), when M0 turned ON ABS-1 Axis 100000 pulse Speed 100000 pulse/s U3E1 \G516.0 MOVP D2000 Positioning type (A control other than continuous trajectory control) Instruction Start accept...
  • Page 53: Current Value Change Instruction From The Plc Cpu To The Motion Cpu: M(P).Chga/D(P).Chga

    Axis No. ("Jn") to execute the current value change. 1 to 64 User Character R64MTCPU: J1 to J64 string R32MTCPU: J1 to J32 R16MTCPU: J1 to J16 (n2) Current value to change -2147483648 to User 32-bit binary 2147483647  (D1)
  • Page 54 Processing details ■Controls • The current value change of axis (stopped axis) specified with (S1) is changed to the current value specified with (n2). • It is necessary to take an inter-lock by the start accept flag and user device of CPU buffer memory so that multiple instructions may not be executed toward the same axis of same Motion CPU.
  • Page 55 205H(517) Bits are actually set as the following: 206H(518) • R64MTCPU: J1 to J64 207H(519) • R32MTCPU: J1 to J32 • R16MTCPU: J1 to J16 OFF: Start accept enable ON: Start accept disable 204H(516) address 205H(517) address 206H(518) address 207H(519) address Operation error •...
  • Page 56 Program example ■Program which changes the current value to 10 for Axis 1 of the Motion CPU (CPU No.2), when M0 turned ON. • (Example 1) Program which omits the complete device and complete status. U3E1 \G516.0 MP.CHGA H3E1 "J1" Instruction Start accept execution...
  • Page 57: M(P).Chgas/D(P).Chgas

    1 to 64 User Character R64MTCPU: J1 to J64 string R32MTCPU: J1 to J32 R16MTCPU: J1 to J16 (n2) Current value to change -2147483648 to User 32-bit binary 2147483647 ...
  • Page 58 Processing details ■Controls • The current value change of command generation axis (stopped axis) specified with (S1) is changed to the current value specified with (n2). • It is necessary to take an inter-lock by the start accept flag and user device of CPU buffer memory so that multiple instructions may not be executed toward the same axis of same Motion CPU.
  • Page 59 20FH(527) Bits are actually set as the following: 210H(528) • R64MTCPU: J1 to J64 211H(529) • R32MTCPU: J1 to J32 • R16MTCPU: J1 to J16 OFF: Start accept enable ON: Start accept disable 20EH(526) address 20FH(527) address 210H(528) address 211H(529) address Operation error •...
  • Page 60 Program example ■Program which changes the current value to 10 for Axis 1 of the Motion CPU (CPU No.2), when M0 turned ON. • (Example 1) Program which omits the complete device and complete status. U3E1 \G526.0 MP.CHGAS H3E1 "J1" Instruction Start accept execution...
  • Page 61: Speed Change Instruction From The Plc Cpu To The Motion Cpu: M(P).Chgv/D(P).Chgv

    Speed change instruction from the PLC CPU to the Motion CPU: M(P).CHGV/D(P).CHGV Instruction Condition Sequence program MP.CHGV Command DP.CHGV P.CHGV (n1) (S1) (n2) Command P.CHGV (n1) (S1) (n2) (D1) (D2) M.CHGV Command D.CHGV .CHGV (n1) (S1) (n2) Command .CHGV (n1) (S1) (n2) (D1)
  • Page 62 (S1) Axis No. ("Jn") to execute the speed change. 1 to 64 User Character R64MTCPU: J1 to J64 string R32MTCPU: J1 to J32 R16MTCPU: J1 to J16 (n2) Speed to change User 32-bit binary  (D1) Complete devices System • (D1+0): Device which make turn on for one scan at accept completion of instruction.
  • Page 63 1 to 64 R32MTCPU 1 to 32 R16MTCPU 1 to 16 The number of axes which can set are only 1 axis. Set "J" in a capital letter or small letter and use the axis No. set in the servo network setting as the axis No.
  • Page 64 Operation error • The abnormal completion in the case shown below, and the error code is stored in the device specified with the complete status storage device (D2). If the complete status storage device (D2) is omitted, an error is not detected and operation becomes "No operation".
  • Page 65 ■Program which changes the positioning speed to 200000 for Axis 1 of the Motion CPU (CPU No.2), when M0 that sets Axis No. as indirect setting method turned ON, and then changes the positioning speed to 50000 for Axis 2, M1 turned ON SM402 $MOVP "J1"...
  • Page 66: Speed Change Instruction Of Command Generation Axis From The Plc Cpu To The Motion Cpu: M(P).Chgvs/D(P).Chgvs

    Speed change instruction of command generation axis from the PLC CPU to the Motion CPU: M(P).CHGVS/D(P).CHGVS Instruction Condition Sequence program MP.CHGVS Command DP.CHGVS P.CHGVS (n1) (S1) (n2) Command P.CHGVS (n1) (S1) (n2) (D1) (D2) M.CHGVS Command D.CHGVS .CHGVS (n1) (S1) (n2) Command .CHGVS...
  • Page 67 (S1) Axis No. ("Jn") to execute the speed change. 1 to 64 User Character R64MTCPU: J1 to J64 string R32MTCPU: J1 to J32 R16MTCPU: J1 to J16 (n2) Speed to change User 32-bit binary (D1) Complete devices  System • (D1+0): Device which make turn on for one scan at accept completion of instruction.
  • Page 68 1 to 64 R32MTCPU 1 to 32 R16MTCPU 1 to 16 The number of axes which can set are only 1 axis. Set "J" in a capital letter or small letter and use the axis No. set in the command generation axis parameter as the axis No. to start. Refer to the following for command generation axis parameter.
  • Page 69 Operation error • The abnormal completion in the case shown below, and the error code is stored in the device specified with the complete status storage device (D2). If the complete status storage device (D2) is omitted, an error is not detected and operation becomes "No operation".
  • Page 70 ■Program which changes the positioning speed to 200000 for Axis 1 of the Motion CPU (CPU No.2), when M0 that sets Axis No. as indirect setting method turned ON, and then changes the positioning speed to 50000 for Axis 2, when M1 turned ON SM402 $MOVP "J1"...
  • Page 71: Torque Limit Value Change Request Instruction From The Plc Cpu To The Motion Cpu: M(P).Chgt/D(P).Chgt

    1 to 64 User Character R64MTCPU: J1 to J64 string R32MTCPU: J1 to J32 R16MTCPU: J1 to J16 (n2) Positive direction torque limit value to change (0.1[%]) 1 to 10000 User 16-bit binary (0.1[%]) (n3) Negative direction torque limit value to change (0.1[%])
  • Page 72 1 to 64 R32MTCPU 1 to 32 R16MTCPU 1 to 16 The number of axes which can set are only 1 axis. Set "J" in a capital letter or small letter and use the axis No. set in the servo network setting as the axis No.
  • Page 73 Operation error • The abnormal completion in the case shown below, and the error code is stored in the device specified with the complete status storage device (D2). If the complete status storage device (D2) is omitted, an error is not detected and operation becomes "No operation".
  • Page 74: Machine Program Operation Start Request From The Plc Cpu To The Motion Cpu: M(P).Mcnst/D(P).Mcnst

    Machine program operation start request from the PLC CPU to the Motion CPU: M(P).MCNST/D(P).MCNST Instruction Condition Sequence program MP.MCNST Command DP.MCNST P.MCNST (n1) (S1) (S2) (D1) M.MCNST Command D.MCNST .MCNST (n1) (S1) (S2) (D1) *1 : Instruction (M(P).MCNST: M, D(P).MCNST: D) Setting data ■Usable devices : Usable, : Usable partly...
  • Page 75 Processing details ■Controls • Request a machine program operation start to the Motion CPU from the data stored in the machine positioning data area of the device of the self CPU specified with (S2) and after. • It is necessary to take an inter-lock by the start accept flag of CPU buffer memory and user device so that multiple instructions may not be executed toward the same axis of the same Motion CPU No.
  • Page 76 205H(517) Bits are actually set as the following: 206H(518) • R64MTCPU: J1 to J64 207H(519) • R32MTCPU: J1 to J32 • R16MTCPU: J1 to J16 OFF: Start accept enable ON: Start accept disable 204H(516) address 205H(517) address 206H(518) address 207H(519) address Operation error •...
  • Page 77 Program example ■Program for machine program start request which performs linear interpolation to positioning point P100 at a command speed of 10000 for the machine 1 that consists of axis 1 and axis 2, by the Motion CPU (CPU No.2), when M0 turned ON U3E1 U3E1 \G516.0...
  • Page 78: Write Bit Device To The Motion Cpu: M(P).Bitwr/D(P).Bitwr

    Write bit device to the Motion CPU: M(P).BITWR/D(P).BITWR Instruction Condition Sequence program MP.BITWR Command DP.BITWR P.BITWR (n1) (D1) (n2) Command P.BITWR (n1) (D1) (n2) (D2) (D3) M.BITWR Command D.BITWR .BITWR (n1) (D1) (n2) Command .BITWR (n1) (D1) (n2) (D2) (D3) *1 : Instruction (M(P).BITWR: M, D(P).BITWR: D) Setting data ■Usable devices...
  • Page 79 Processing details ■Controls • For a Multiple CPU system configuration, the bit device specified with (D1) of the target CPU (n1) turns ON or OFF with the bit operation of (n2). If reading a bit device of the target CPU, use the M(P).DDRD/D(P).DDRD instructions. Refer to the following for details on the M(P).DDRD/D(P).DDRD instructions.
  • Page 80 Operation error • The abnormal completion in the case shown below, and the error code is stored in the device specified with the complete status storage device (D3). If the complete status storage device (D3) is omitted, an error is not detected and operation becomes "No operation".
  • Page 81: Interrupt Instruction To The Other Cpu: M(P).Gint/D(P).Gint

    Interrupt instruction to the other CPU: M(P).GINT/D(P).GINT Instruction Condition Sequence program MP.GINT Command DP.GINT P.GINT (n1) (n2) Command P.GINT (n1) (n2) (D1) (D2) M.GINT Command D.GINT .GINT (n1) (n2) Command .GINT (n1) (n2) (D1) (D2) *1 : Instruction (M(P).GINT: M, D(P).GINT: D) Setting data ■Usable devices : Usable, : Usable partly...
  • Page 82 ■Operation Outline operation between CPUs at the MP.GINT and DP.GINT instruction execution is shown below. • MP.GINT instruction Sequence program ON MP.GINT execution MP.GINT instruction Request data set Transfer CPU dedicated transmission (Non-Fixed cycle) Response data set Event task executed processing PLC interrupt event task to the other Motion CPU Complete device (D1+0)
  • Page 83 Program example ■Program which generates interrupt of interrupt pointer number 10 toward the Motion CPU (CPU No.2), when M0 turned ON • (Example 1) Program which omits the complete device and complete status. MP.GINT H3E1 K10 Instruction execution command Instruction execution command •...
  • Page 84: Precautions

    205H(517) Bits are actually set as the following: 206H(518) • R64MTCPU: J1 to J64 207H(519) • R32MTCPU: J1 to J32 • R16MTCPU: J1 to J16 OFF: Start accept enable ON: Start accept disable 204H(516) address 205H(517) address 206H(518) address 207H(519) address 20EH(526) The command generation axis start accept flag for 64 axes are stored corresponding to each bit.
  • Page 85 The start accept flag is set after instruction acceptance of by the Motion CPU as follows. Sequence program MP.SVST execution MP.SVST instruction Request data set Axis start accept flag (System area) Transfer CPU dedicated transmission (Non-fixed cycle) Response data set Servo program Servo program executed processing...
  • Page 86: Number Of Blocks Used For Motion Dedicated Plc Instruction

    Number of blocks used for Motion dedicated PLC instruction Number of blocks for Multiple CPU dedicated instruction transmission area ■Number of CPU dedicated instruction transmission area The Multiple CPU dedicated instruction transmission area used by Motion dedicated PLC instructions is managed in blocks with a minimum unit of 16 words.
  • Page 87 Number of simultaneous issues for Multiple CPU dedicated instructions When the number of blocks being used to communicate with each CPU in the Multiple CPU dedicated instruction transmission area exceeds the set value for "maximum number of blocks used for the Multiple CPU dedicated instruction setting"...
  • Page 88 ■Operation timing Operation which executes each Motion dedicated instruction and turns on the Multiple CPU block information. Sequence program Instruction execution Motion dedicated PLC instruction Permissible number of executions or more by the new instruction without an interlock condition Maximum number of blocks used for the Multiple CPU Number of dedicated instruction setting...
  • Page 89 ■Program example • Program which sets 2 (Initial value) to SD797 and uses SM797 as an interlock when DP.DDWR (Number of blocks used: 2) is executed. SM797 DP.SFCS H3E1 K10 Instruction execution RST M0 command Instruction execution command SM797 MOVP D101 Instruction execution...
  • Page 90: Execution Of Motion Dedicated Plc Instruction

    Number of simultaneous acceptances for Multiple CPU dedicated instructions The number of instructions that can be accepted simultaneously in the Motion CPU is shown in the table below. Instruction Number of simultaneous acceptances M(P).SFCS/D(P).SFCS M(P).SVST/D(P).SVST 256 instructions total M(P).SVSTD/D(P).SVSTD M(P).CHGA/D(P).CHGA M(P).CHGAS/D(P).CHGAS M(P).MCNST/D(P).MCNST M(P).CHGV/D(P).CHGV...
  • Page 91: Complete Status Information

    Complete status information The codes stored in complete status at the completion of Motion dedicated PLC instruction are shown below. If the complete status storage device is omitted, an error is not detected and operation becomes "No operation". Complete status Error factor (Error code) (H) Normal completion...
  • Page 92: Order Of Instruction Execution

    Order of instruction execution Methods to control using execution data after it is transmitted from the PLC CPU to the Motion CPU are shown below. Method to execute after data is written to the CPU buffer memory Write the data from PLC CPU to the buffer memory (Fixed cycle transmission area) of the self CPU, and then it can be utilized for Motion dedicated PLC instruction execution.
  • Page 93 Method to execute after data is written by M(P).DDWR/D(P).DDWR instruction Write the data from the PLC CPU to the Motion CPU by M(P).DDWR/D(P).DDWR instruction, and then it can be utilized for Motion dedicated PLC instruction execution. ■Program example Program which starts the servo program (positioning) by MP.SVST instruction after data is written to D3000 to D3002 of the Motion CPU (CPU No.2) from the PLC CPU (CPU No.1) by MP.DDWR.
  • Page 94: Chapter 3 Motion Sfc Programs

    MOTION SFC PROGRAMS Motion SFC Program Configuration The Motion SFC Program is constituted by the combination of start, steps, transitions, end and others are shows below. Program Operation START: Entry of program. name start SET Y0=X0+X10 Positioning Step (operation control step): The specified operation D100=W0+W100 ready control program is executed at active status.
  • Page 95: Motion Sfc Chart Symbol List

    Motion SFC Chart Symbol List Parts as Motion SFC program components are shown below. The operation sequence or transition control is expressed with connecting these parts by directed lines in the Motion SFC program. Classification Name Symbol Function (Code size (byte)) Program start/ START •...
  • Page 96 Classification Name Symbol Function (Code size (byte)) Transition Shift (Pre-read transition) • When just before is the motion control step, transits to the next step by formation of transition condition Gn (G0 to G4095) without waiting for the motion operating completion. •...
  • Page 97: Branch And Coupling Chart List

    Branch and Coupling Chart List Branch and coupling patterns which specify step and transition sequences in the Motion SFC charts are shown below. Classification Name Motion SFC chart symbol Function (Code size (byte)) Basic type Series transition • Steps and transitions connected in series are (Corresponding symbol size) processed in order from top to bottom.
  • Page 98 Combining the basic type branches/couplings provides the following application types, which are defined as in the basic types. Classification Name Motion SFC chart symbol Function Application type Selective branch After a selective branch, a parallel branch can be performed. Parallel branch IFBm IFT1 IFT2...
  • Page 99 Classification Name Motion SFC chart symbol Function Application type Parallel coupling • The two parallel coupling points for parallel branch parallel branch can be the same. Note that in the Parallel coupling Motion SFC chart, this type is displayed in order of a parallel coupling ...
  • Page 100: Motion Sfc Program Name

    Motion SFC Program Name Set the "Motion SFC program name" to the Motion SFC program No.0 to No.511 (for operating system software version "09" or earlier, No.0 to No.255) individually. Set the Motion SFC program name within 16 characters. Specify this Motion SFC program name for a "subroutine call/start step (GSUB)"...
  • Page 101: Steps

    Steps Motion control step Name Symbol Setting range Motion control step K0 to K8191 *1 For operating system software version "09" or earlier, K0 to K4095. Processing details • Turns on the start accept flag of the axis specified with the specified servo program Kn running. •...
  • Page 102: Operation Control Step

    Operation control step Name Symbol Setting range Operation control step F0 to F4095/FS0 to FS4095 Fn/FSn Processing details ■Once execution type operation control step Fn In the case of Fn, executes the specified operation control program Fn once. ■Scan execution type operation control step FSn In the case of FSn, repeats the specified operation control program FSn until the next transition condition enables.
  • Page 103: Subroutine Call/Start Step

    Subroutine call/start step Name Symbol Setting range Subroutine call/start step The registered program name Program name Processing details • Calls/starts the Motion SFC program of the specified program name. • Control varies with the type of the transition coupled next to the subroutine call/start step. ■WAIT (Subroutine Call) When the subroutine call step is executed, control transits to the specified program as shown below, and when END of the called program is executed, control returns to the call source program.
  • Page 104: Clear Step

    Clear step Name Symbol Setting range Clear step The registered program name Program name Processing details • Stops the specified Motion SFC program running. • The clear-specified Motion SFC program will not start automatically after stopped if it has been set to start automatically. •...
  • Page 105: Transitions

    Transitions You can describe conditional and operation expressions at transitions. The operation expression described here is repeated until the transition condition enables, as at the scan execution type operation step. Refer to the transition programs for the conditional/operation expressions that can be described in transition conditions. (Page 282 TRANSITION PROGRAMS) Combinations with motion control steps Processing details ■Motion control step + Shift...
  • Page 106 Precautions • Always pair a transition with a motion control step one-for-one. If the step following WAITON/WAITOFF is not a motion control step, the minor error (SFC) (error code:33F2H) will occur and the Motion SFC program running will stop at the error detection.
  • Page 107: Jump, Pointer

    Jump, Pointer Name Symbol Setting range Jump P0 to P16383 Pointer P0 to P16383 Processing details • Setting a jump will cause a jump to the specified pointer Pn of the self program. • You can set pointers at steps, transitions, branch points and coupling points. •...
  • Page 108: End

    Name Symbol Setting range  Processing details • Ends a program. (In this case of an event task or NMI task, operation changes with end operation setting of the program parameter. (Page 294 Program Parameters) • Making a subroutine call will return to the call source Motion SFC program. Precautions •...
  • Page 109: Branches, Couplings

    Branches, Couplings Series transition Transits execution to the subsequent step or transition connected in series. To start a servo program or subroutine and transit to the next step, set a shift, or a WAIT at a transition. To transit to the next step without waiting for operation completion Set Shift at a transition.
  • Page 110: Selective Branch, Selective Coupling

    Selective branch, selective coupling Selective branch Executes only the route which condition was judged to have enabled first among the conditions of multiple transitions connected in parallel. Transitions must be all Shifts or WAITs. WAIT Starts the servo program K1. After start axis in the servo G255 G255...
  • Page 111: Parallel Branch, Parallel Coupling

    Parallel branch, parallel coupling Parallel branch Multiple routes connected in parallel are executed simultaneously. Each parallel branch destination may be started by either a step or a transition. After operation completion of preceding step, steps K2 to F10 connected in parallel are executed when the completion of condition set at transition G255...
  • Page 112 When a WAIT transition is set right after a parallel coupling, the stop completions of the axes are not included in the waiting conditions if the parallel coupling is preceded by motion control steps. To perform a parallel coupling on stop completions, set WAIT transitions before a parallel coupling.
  • Page 113: Y/N Transitions

    3.10 Y/N Transitions When routes are branch at a transition condition enables and disable, "Shift Y/N transition" or "WAIT Y/N transition" will be useful. Name Symbol Function Shift Y/N transition • When a transition condition set at Gn enables, execution shifts to the lower (Not step.
  • Page 114 Automatic free G number search feature ■When not set to automatic numbering Searches for a free number forward, starting with the "set G number + 1" at the "Shift Y/N" or "WAIT Y/N" symbol. When no free numbers are found after a search up to 4095, a search is made from 0 to the "set G number - 1". ■When set to automatic numbering Searches for a free number forward (or backward) in the automatic numbering range, starting with the "automatically numbered G number + 1 (or -1)"...
  • Page 115 Instructions for the Motion SFC charts Any Motion SFC chart that will be meaningless to or conflict with the definition of Y/N transitions will result in an error at the time of editing (or Motion SFC chart conversion). Their patterns and instructions will be given below. ■When "Shift Y/N"...
  • Page 116 ■Patterns that may be set The following patterns may be set. Description Motion SFC chart pattern End (END) from "Shift Y/N" or "WAIT Y/N" Jump from "Shift Y/N" or "WAIT Y/N" Continuation from "Shift Y/N" or "WAIT Y/N" to "Shift Y/N" or "WAIT Y/N" (selective branch-selective branch) When there are two or more connection lines from Y/N side of "Shift Y/N"...
  • Page 117: Motion Sfc Comments

    3.11 Motion SFC Comments A comment can be set to each symbol of the step/transition in the motion SFC chart. Comments are shown in the Motion SFC chart by changing the display mode to "Comment display" on the Motion SFC program edit screen. Classification Name Symbol...
  • Page 118 • Motion SFC comments are stored into the code area of Motion CPU. The code area stores the Motion SFC chart codes, operation control (F/FS) program codes, transition (G) program codes and Motion SFC comments. Be careful not to set too many comments to avoid code area overflow. (Refer to Motion SFC performance specifications for the code area sizes.) (Page 19 Motion SFC performance specifications)) •...
  • Page 119: Chapter 4 Operation Control Programs

    OPERATION CONTROL PROGRAMS Operation Control Programs Operation control programs • Substitution operation expressions, motion-dedicated functions and bit device control commands can be set in operation control program. • Multiple blocks in one operation control program can be set. • There are no restrictions on the number of blocks that may be set in one operation control program. However, one program is within 128k bytes.
  • Page 120 Structure of instruction Many of the instructions usable in operation control programs can be divided into instruction and data parts. The instruction and data parts are used for the following purposes. • Instruction part: Indicates the function of that instruction. •...
  • Page 121 ■64-bit floating-point type data The 64-bit floating-point type data is IEEE-formatted, 64-bit floating-point value data. Word devices are used in increments of 4 points: (specified device No.), (specified device No.+1), (specified device No.+2), (specified device No.+3). • The internal bit locations are shown below. (+3) (+2) (+1)
  • Page 122 ■Logical data The logical data is a value returned by a bit or comparison conditional expression and indicates whether the result is true or false. Normally, it is used in the conditional expression of a transition program. In an operation control program, the logical data is used in a bit conditional expression set to device set (SET=) or device reset (RST=).
  • Page 123 Internal operation data types For internal operations, when (S1) and (S2) differ in data type, the data of the smaller type is converted into that of the greater type before operation is performed. If the operation result is over the range of processed number in each type, an overflow will occur.
  • Page 124: Device Descriptions

    Device Descriptions Word and bit device descriptions are shown below. Word device descriptions Device name Device descriptions 16-bit integer type 32-bit integer type 64-bit floating-point type ("n" is even No.) ("n" is even No.) Data register Link register Wn:F Special register SDnL SDnF Motion register...
  • Page 125 • When using the device in DIN or DOUT as batch bit data, specify "n" as a multiple of 16. • When using the following device as batch bit data, specify it as word device without making bit specification. Device name Data register (D) Link register (W) Motion register (#)
  • Page 126 • The word device which the device No. is specified indirectly cannot be used. Description examples Good example Bad example #(D10-K5) #(D(D5)F+K20) D(#10L%H6L)F D(#4L<
  • Page 127: Constant Descriptions

    Constant Descriptions The constant descriptions of the 16-bit integer type, 32-bit integer type and 64-bit floating-point type are shown below. Representation 16-bit integer type 32-bit integer type 64-bit floating-point type Decimal representation K-32768 to K32767 K-2147483648L to K2147483647L K-1.79E+308 to K-2.23E-308, K0.0, K2.23E-308 to K1.79E+308 Hexadecimal representation...
  • Page 128: Labels

    Labels A label is a variable consisting of a specified character string used in I/O data or internal processing. Using labels in programming enables creation of programs without being aware of devices. For this reason, a program using labels can be reused easily even in a system having a different module configuration. Types Labels A label provides the same data within a single project.
  • Page 129: Arrays

    Arrays An array represents a consecutive aggregation of same data type labels as a single name. Primitive data types and structures can be defined as arrays. The maxim number of array elements varies depending on the data type. One-dimensional array Two-dimensional array Label name Index...
  • Page 130: Structures

    • The data storage location becomes dynamic by specifying a device for the array index. This enables arrays to be used in a program that executes loop processing. The following is a program example that consecutively stores "1234" in the "uLabel4" array. FOR #0 = K0 TO K9 STEP K1 uLabel4[#0] = K1234 NEXT...
  • Page 131 How to use structures To use a structure, register a label using the defined structure as the data type. To specify each member in a structure, add the member name after the structure label name with a period '.' as a delimiter in between.
  • Page 132: Precautions

    Precautions Restrictions on naming labels The following restrictions apply when naming labels. • Start the name with a character. Numbers or an underline (_) cannot be used at the beginning of label names. • Reserved words cannot be used. For details on the reserved words, refer to the following. Help of MT Developer2 4 OPERATION CONTROL PROGRAMS 4.4 Labels...
  • Page 133: Binary Operations

    Binary Operations Substitution: = Format Number of basic steps Usable steps F/FS (D)=(S)   Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer...
  • Page 134 Program example ■Program which substitutes the D0 value to #0 #0 = D0 ■Program which substitutes K123456.789 to D0L D0L = K123456.789 123456 123456.789 The 64-bit floating-point type is converted into the 32-bit integer type and the result is substituted. ■Program which substitutes the result of adding K123 and #0 to W0 W0 = K123 + #0 4 OPERATION CONTROL PROGRAMS...
  • Page 135: Addition

    Addition: + Format Number of basic steps Usable steps F/FS (S1)+(S2)   Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer floating...
  • Page 136: Subtraction

    Subtraction: - Format Number of basic steps Usable steps F/FS   (S1)-(S2) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer floating...
  • Page 137: Multiplication

    Multiplication: * Format Number of basic steps Usable steps F/FS (S1)*(S2)   Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer floating...
  • Page 138: Division

    Division: / Format Number of basic steps Usable steps F/FS   (S1)/(S2) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer floating...
  • Page 139: Remainder

    Remainder: % Format Number of basic steps Usable steps F/FS (S1)%(S2)   Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer floating...
  • Page 140: Bit Operations

    Bit Operations Bit inversion (Complement): ~ Format Number of basic steps Usable steps F/FS   ~(S) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression...
  • Page 141: Bit Logical And

    Bit logical AND: & Format Number of basic steps Usable steps F/FS (S1)&(S2)   Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer...
  • Page 142: Bit Logical Or

    Bit logical OR: | Format Number of basic steps Usable steps F/FS   (S1) | (S2) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression...
  • Page 143: Bit Exclusive Logical Or

    Bit exclusive logical OR: ^ Format Number of basic steps Usable steps F/FS (S1)^(S2)   Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression...
  • Page 144: Bit Right Shift

    Bit right shift: >> Format Number of basic steps Usable steps F/FS   (S1) >> (S2) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression...
  • Page 145: Bit Left Shift

    Bit left shift: << Format Number of basic steps Usable steps F/FS (S1) << (S2)   Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression...
  • Page 146: Sign Inversion (Complement Of 2)

    Sign inversion (Complement of 2): - Format Number of basic steps Usable steps F/FS   -(S) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression...
  • Page 147: Standard Functions

    Standard Functions Sine: SIN Format Number of basic steps Usable steps F/FS SIN(S)   Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer...
  • Page 148: Cosine: Cos

    Cosine: COS Format Number of basic steps Usable steps F/FS   COS(S) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer floating...
  • Page 149: Tangent: Tan

    Tangent: TAN Format Number of basic steps Usable steps F/FS TAN(S)   Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer floating...
  • Page 150: Arcsine: Asin

    Arcsine: ASIN Format Number of basic steps Usable steps F/FS   ASIN(S) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer floating...
  • Page 151: Arccosine: Acos

    Arccosine: ACOS Format Number of basic steps Usable steps F/FS ACOS(S)   Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer floating...
  • Page 152: Arctangent: Atan

    Arctangent: ATAN Format Number of basic steps Usable steps F/FS   ATAN(S) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer floating...
  • Page 153: Square Root: Sqrt

    Square root: SQRT Format Number of basic steps Usable steps F/FS SQRT(S)   Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer...
  • Page 154: Natural Logarithm: Ln

    Natural logarithm: LN Format Number of basic steps Usable steps F/FS   LN(S) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer...
  • Page 155: Exponential Operation: Exp

    Exponential operation: EXP Format Number of basic steps Usable steps F/FS EXP(S)   Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer...
  • Page 156: Absolute Value: Abs

    Absolute value: ABS Format Number of basic steps Usable steps F/FS   ABS(S) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer...
  • Page 157: Round-Off: Rnd

    Round-off: RND Format Number of basic steps Usable steps F/FS RND(S)   Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer floating...
  • Page 158: Round-Down: Fix

    Round-down: FIX Format Number of basic steps Usable steps F/FS   FIX(S) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer floating...
  • Page 159: Round-Up: Fup

    Round-up: FUP Format Number of basic steps Usable steps F/FS FUP(S)   Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer floating...
  • Page 160: Bcd -> Bin Conversion: Bin

    BCD -> BIN conversion: BIN Format Number of basic steps Usable steps F/FS   BIN(S) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression...
  • Page 161: Bin -> Bcd Conversion: Bcd

    BIN -> BCD conversion: BCD Format Number of basic steps Usable steps F/FS BCD(S)   Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression...
  • Page 162: Data Control

    Data Control 16-bit integer type scaling: SCL Format Number of basic steps Usable steps F/FS   SCL(S1), (S2), (S3), (D) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit...
  • Page 163 ■When the input value is between two points of scaling conversion data The output value is calculated from the nearest two points of the input value. N: Number of points Positive conversion Inverse conversion  X (Input value)  X ...
  • Page 164 • Conversion of the input value specified with (S2) is executed according to the search/conversion method specified with (S1), using the scaling conversion data of device (S3) or later. The conversion result is stored in the device specified with (D). •...
  • Page 165 Program example ■Program which sets 4 points of scaling conversion data to D3000 to D3009 and substitutes the output value, which is positively converted based on the input value "7500", to D3106 16-bit scaling [F10] //Scaling conversion data set D3000=K4 //Number of point=4 D3001=K0 //Unusable area...
  • Page 166: 32-Bit Integer Type Scaling: Dscl

    32-bit integer type scaling: DSCL Format Number of basic steps Usable steps F/FS   DSCL(S1), (S2), (S3), (D) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit...
  • Page 167 • Conversion of the input value specified with (S2) is executed according to the search/conversion method specified with (S1), using the scaling conversion data of device (S3) or later. The conversion result is stored in the device specified with (D). •...
  • Page 168 Program example ■Program which sets 4 points of scaling conversion data to D3000 to D3017 and substitutes the output value, which is positively converted based on the input value "-65000", to D3106L. 32-bit scaling [F10] //Scaling conversion data set D3000=K4 //Number of point=4 D3001=K0 //Unusable area...
  • Page 169: Type Conversions

    Type Conversions Signed 16-bit integer value conversion: SHORT Format Number of basic steps Usable steps F/FS SHORT(S)   Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit...
  • Page 170: Unsigned 16-Bit Integer Value Conversion: Ushort

    Unsigned 16-bit integer value conversion: USHORT Format Number of basic steps Usable steps F/FS   USHORT(S) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression...
  • Page 171 It is converted into a large data type to operate the binary operations with a different data type. Therefore, USHORT does not become valid. The target binary operations are shown below. • Addition (+) • Subtraction (-) • Multiplication (*) •...
  • Page 172: Signed 32-Bit Integer Value Conversion: Long

    Signed 32-bit integer value conversion: LONG Format Number of basic steps Usable steps F/FS   LONG(S) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression...
  • Page 173: Unsigned 32-Bit Integer Value Conversion: Ulong

    Unsigned 32-bit integer value conversion: ULONG Format Number of basic steps Usable steps F/FS ULONG(S)   Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression...
  • Page 174 It is converted into a large data type to operate the binary operations with a different data type. Therefore, ULONG does not become valid. The target binary operations are shown below. • Addition (+) • Subtraction (-) • Multiplication (*) •...
  • Page 175: Signed 64-Bit Floating-Point Value Conversion: Float

    Signed 64-bit floating-point value conversion: FLOAT Format Number of basic steps Usable steps F/FS FLOAT(S)   Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression...
  • Page 176: Unsigned 64-Bit Floating-Point Value Conversion: Ufloat

    Unsigned 64-bit floating-point value conversion: UFLOAT Format Number of basic steps Usable steps F/FS   UFLOAT(S) Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression...
  • Page 177: Floating-Point Value Conversion 32-Bit Into 64-Bit: Dflt

    Floating-point value conversion 32-bit into 64-bit: DFLT Format Number of basic steps Usable steps F/FS DFLT(S)   Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit...
  • Page 178: Floating-Point Value Conversion 64-Bit Into 32-Bit: Sflt

    Floating-point value conversion 64-bit into 32-bit: SFLT Format Number of basic steps Usable steps F/FS   SFLT(S) Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit...
  • Page 179: Bit Device Statuses

    4.10 Bit Device Statuses ON (Normally open contact): (None) Format Number of basic steps Usable steps F/FS   Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit...
  • Page 180: Off (Normally Closed Contact)

    OFF (Normally closed contact): ! Format Number of basic steps Usable steps F/FS   !(S) Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression...
  • Page 181: Bit Device Controls

    4.11 Bit Device Controls Device set: SET Format Number of basic steps Usable steps F/FS SET(D)=(S)   Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit...
  • Page 182: Device Reset: Rst

    Device reset: RST Format Number of basic steps Usable steps F/FS   RST(D)=(S) Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer...
  • Page 183: Device Output: Dout

    Device output: DOUT Format Number of basic steps Usable steps F/FS DOUT (D),(S)   Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer...
  • Page 184: Device Input: Din

    Device input: DIN Format Number of basic steps Usable steps F/FS   DIN (D),(S) Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer...
  • Page 185: Bit Device Output: Out

    Bit device output: OUT Format Number of basic steps Usable steps F/FS OUT(D)=(S)   Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer...
  • Page 186: Logical Operations

    4.12 Logical Operations Logical acknowledgement: (None) Format Number of basic steps Usable steps F/FS    Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression...
  • Page 187: Logical Negation

    Logical negation: ! Format Number of basic steps Usable steps F/FS !(S)   Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer...
  • Page 188: Logical And

    Logical AND: * Format Number of basic steps Usable steps F/FS   (S1)*(S2) Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer...
  • Page 189: Logical Or

    Logical OR: + Format Number of basic steps Usable steps F/FS (S1)+(S2)   Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer...
  • Page 190: Comparison Operations

    4.13 Comparison Operations Equal to: == Format Number of basic steps Usable steps F/FS   (S1)==(S2) Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression...
  • Page 191: Not Equal To

    Not equal to: != Format Number of basic steps Usable steps F/FS (S1)!=(S2)   Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer...
  • Page 192: Less Than

    Less than: < Format Number of basic steps Usable steps F/FS   (S1)<(S2) Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer...
  • Page 193: Less Than Or Equal To

    Less than or equal to: <= Format Number of basic steps Usable steps F/FS (S1)<=(S2)   Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression...
  • Page 194: More Than

    More than: > Format Number of basic steps Usable steps F/FS   (S1)>(S2) Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer...
  • Page 195: More Than Or Equal To

    More than or equal to: >= Format Number of basic steps Usable steps F/FS (S1)>=(S2)   Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression...
  • Page 196: Program Control

    4.14 Program Control Conditional branch control: IF - ELSE - IEND Format Number of basic steps Usable steps F/FS   IF(S) - ELSE - IEND IF: 8 ELSE: 5 IEND: 1 Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant...
  • Page 197 Program example ■Program which adds K10 to #100 when #0 is K100 or adds K20 to #100 when #0 is other than K100 IF #0 == K100 #100 = #100 + K10 ELSE #100 = #100 + K20 IEND ■Program which executes the speed change of axis 2 with CHGV instruction when M0 or M1 is IF M0 + M1 CHGV(K2, K10) IEND...
  • Page 198: Selective Branch Control: Select - Case - Send

    Selective branch control: SELECT - CASE - SEND Format Number of basic steps Usable steps F/FS   SELECT SELECT: 1 CASE(S1) - CEND CASE: 8 CASE(S2) - CEND CEND: 5  CELSE: 1 CASE(Sn) - CEND SEND: 1 CELSE - CEND SEND Setting data ■Usable Data...
  • Page 199 Operation error In the following case, an operation error will occur, and the corresponding Motion SFC program No. execution will be stopped. For the subroutine called program, the call source program also stops to execute. • (S) is indirectly specified device, and the device No. is outside the range. Program example ■Program which adds K10 to #100 when #0 is K100, adds K20 to #100 when #0 is K200 or more, or adds K100 to #100 in other cases...
  • Page 200: Repeat Control With Specified Count: For - Next

    Repeat control with specified count: FOR - NEXT Format Number of basic steps Usable steps F/FS   FOR(D) = (S1)TO(S2)STEP(S3) - FOR: 18 NEXT NEXT: 15 Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device...
  • Page 201 Program example ■Program which repeats to substitute #0 data to Motion register (#) that is indirectly specified with the device No. "#0+100" when #0 is between 1 and 10 (Incremental value is 1.) When the program is ended, 1 to 10 is substituted to #101 to #110. FOR #0 = K1 TO K10 #(#0 + K100) = #0 NEXT...
  • Page 202: Forced Termination Of Repeat Control: Break

    Forced termination of repeat control: BREAK Format Number of basic steps Usable steps F/FS   BREAK Setting data There are no setting data. Processing details • Repeat control with specified count (FOR - NEXT instruction) is forced to terminate, and the program from the next block of NEXT is executed.
  • Page 203: Motion-Dedicated Functions

    1 to 64 R32MTCPU 1 to 32 R16MTCPU 1 to 16 • For interpolation control, set any one of the interpolation axes to (S1). When linear interpolation control is exercised, a speed change varies as described below with the positioning speed designation method set in the servo program.
  • Page 204 • The specified speed that may be set at (S2) is within the following range. Requested operation Setting range inch degree pulse Speed change request 0 to 600000000 0 to 600000000 0 to 2147483647 0 to 2147483647 (10 [mm/min]) (10 [inch/min]) (10 [degree/min])
  • Page 205 ■Controls • If a speed change is made to a negative speed, control is executed with the control mode during the start as indicated in the above table. • The returning command speed is the absolute value of a new speed. •...
  • Page 206 ■Return program which changes the positioning speed of axis 1 to a negative value CHGV(K1, K-1000) The following operation will be performed when a return request is made in continuous trajectory control. [Servo program] [Locus] Axis 2 CPSTART2 Axis 1 Axis 2 Speed 1000...
  • Page 207: Command Generation Axis Speed Change Request: Chgvs

    1 to 64 R32MTCPU 1 to 32 R16MTCPU 1 to 16 • For interpolation control, set any one of the interpolation axes to (S1). When linear interpolation control is exercised, a speed change varies as described below with the positioning speed designation method set in the servo program.
  • Page 208 • The specified speed that may be set at (S2) is within the following range. Requested operation Setting range inch degree pulse Speed change request 0 to 600000000 0 to 600000000 0 to 2147483647 0 to 2147483647 (10 [mm/min]) (10 [inch/min]) (10 [degree/min])
  • Page 209 ■Controls • If a speed change is made to a negative speed, control is executed with the control mode during the start as indicated in the above table. • The returning command speed is the absolute value of a new speed. •...
  • Page 210 Program example ■Program which changes the positioning speed of axis 2 CHGVS(K2, K10) [Precautions at speed change] • A speed change may be invalid if the speed change is executed until the "positioning start complete signal" status changes to ON at servo program start request. When making a speed change at almost the same timing as a start, create a program to execute speed change after the "positioning start complete signal"...
  • Page 211: Torque Limit Value Change Request: Chgt

    1 to 64 R32MTCPU 1 to 32 R16MTCPU 1 to 16 • (S2) and (S3) cannot be omitted. When only either torque limit value is changed, set "-1" as the setting data not to change. • The torque limit value that may be set at (S2) and (S3) is within the range 1 to 10000 (0.1[%]).
  • Page 212 Operation error An operation error will occur and a torque limit value change will not be made if: • The specified axis No. at (S1) is outside the range. • (S2) or (S3) is an indirectly specified device and its device No. is outside the range. A warning will occur and a torque limit value change will not be made if: •...
  • Page 213: Target Position Change Request: Chgp

    Target position change request: CHGP Format Number of basic steps Usable steps F/FS CHGP((S1), (S2), (S3))   Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit...
  • Page 214 Processing details • The target position is changed during positioning instruction execution by target position change request. New target position can be set by the absolute address or relative movement amount from feed current value at target position change request. Operation for executing target position change request to (X, Y) = (400.0m, 500.0m) by absolute address setting during linear interpolation control from positioning start position (X, Y) = (0.0m, 0.0m) to (X, Y) = (800.0m, 600.0m) is shown below.
  • Page 215 1 to 64 R32MTCPU 1 to 32 R16MTCPU 1 to 16 • The target position by setting of (S2) is shown below. • When "0" (address method) is set to (S2), the target position is the target position change value stored in the device specified with (S3).
  • Page 216 • The following operations by the servo instruction at CHGP instruction execution are shown below. Control mode Servo instruction Operation Linear control The positioning is executed from current feed value during execution to new target ABS-1 ABS-2 ABS-3 ABS-4 position with linear interpolation control. INC-1 INC-2 INC-3...
  • Page 217 • The positioning is executed to new target position with CHGP instruction during continuous trajectory control. The positioning to a point since executing point at target position change request is not executed. [Servo program] [Locus] CPSTART2 Axis Axis Axis 2 Speed 2000 ABS-2...
  • Page 218 • Operation for the movement amount to new target position is less than deceleration distance required to deceleration stop from speed during control by execution of CHGP instruction is as follows. • A minor error (error code: 1A5DH) will occur and deceleration stop is executed at execution of CHGP instruction. •...
  • Page 219 Operation error An operation error will occur and a target position change will not be made if: • The specified axis No. at (S1) is outside the range. • Except 0 to 1 is set at (S2). • (S3) is not an even-numbered device. •...
  • Page 220 Program example ■Program which executes the target position change by movement method to axis 2 and axis 8 during positioning by ABS-2 [Servo program] [Motion SFC program] [F10] D3000L=K5000 //Axis 2 ABS-2 D3002L=K-3000//Axis 8 Axis 20000 Axis 10000 [G10] Speed 3000 X001//Standby until X1 turns ON...
  • Page 221: Machine Program Operation Start Request: Mcnst

    Machine program operation start request: MCNST Format Number of basic steps Usable steps F/FS MCNST((S1), (S2))   Setting data ■Usable Data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit...
  • Page 222 Program example ■Program for machine program operation start request which performs linear interpolation to positioning point P100 at a command speed of 10000 for the machine 1 that consists of axis 1 and axis 2. MCNST(D2000,K78) [F10] //Set machine positioning data 1 //Number of points, Machine No.
  • Page 223: Advanced Synchronous Control Dedicated Function

    4.16 Advanced Synchronous Control Dedicated Function Cam data read: CAMRD Format Number of basic steps Usable steps F/FS   CAMRD (S1), (S2), (n), (D), (S3) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression...
  • Page 224 Processing details • Of the cam No. data specified with (S1), the (S3) cam data of the (n) number of points, starting from the position specified with (S2), is read. The read cam data is stored in the device specified with (D) or later. However, (S2) and (n) are ignored when an auto-generation format cam is read.
  • Page 225 ■Coordinate data format Offset Item Range Can data format (Coordinate data format) Unusable Coordinate number 2 to 65535 At first point cam data value Input value X 0 to 2147483647 [Cam axis cycle unit] Output value Y -2147483648 to 2147483647 [Output axis position unit] At second point cam data value Input value X...
  • Page 226 Operation error An operation error will occur, and the cam data read will not be executed if: • Cam No. specified with (S1) is outside the range of 1 to 1024. (Details code: 1) • The cam No. data specified with (S1) does not exist in the place specified with (S3). (Details code: 2) •...
  • Page 227 Program example ■Program which reads 2048-points of data, starting from the first point cam data of cam No. 2 (stroke ratio data format), and stores the read data to #0 to #4099 CAMRD K2, K1, K2048, #0 ■Program which reads 6-points of data, starting from the zeroth point cam data of cam No.1 (coordinate data format), and stores the read data to #100 to #127 CAMRD K1, K0, K6, #100 •...
  • Page 228: Cam Data Write: Camwr

    Cam data write: CAMWR Format Number of basic steps Usable steps F/FS   CAMWR (S1), (S2), (n), (S3), (D) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit...
  • Page 229 ■Stroke ratio data format Offset Item Range Can data format (Stroke ratio data format) Cam data starting point 0 to (Coordinate resolution-1) Cam resolution 256/512/1024/2048/4096/8192/16384/32768 Stroke ratio at first point cam data value -2147483648 to 2147483647[10 (-214.7483648 to 214.7483647[%]) Stroke ratio at second point cam data value ...
  • Page 230 • Set the write to cam file, and the cam file write destination to (D). Write to cam file 0: Do not write 1: Write (Stroke ratio data/Coordinate data) Cam file write destination 2: SD memory card 4: Standard ROM •...
  • Page 231 Program example ■Program which writes the data stored in #0 to #4099 to the 2048-point area, starting from the first point cam data, of cam No. 256 (stroke ratio data format) CAMWR K256, K1, K2048, #0 ■Program (Cam axis length per cycle = 4194304) which writes the data stored in #0 to #27 to the 6-point area, starting from the zeroth point cam data, of cam No.
  • Page 232: Cam Auto-Generation: Cammk

    Cam auto-generation: CAMMK Format Number of basic steps Usable steps F/FS   CAMMK (S1), (S2), (S3), (D) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit...
  • Page 233 • Set the write to cam file, and the cam file write destination to (D). When write to cam file is "0: Do not write", write to cam open area is performed only, and cam data is not written to the cam file. Write to cam file 0: Do not write 1: Write...
  • Page 234 Cam for rotary cutter Set the auto-generation data of the rotary cam cutter. (sheet length, synchronization width, etc.) Synchronous axis length Synchronous axis cycle length/diameter Synchronous axis Sheet synchronization width Acceleration/deceleration width Synchronous position adjustment Feed sheet -: The synchronous section is adjusted to the sheet start side.
  • Page 235 ■Device assignment of the cam auto-generation data for the rotary cutter cam When the synchronous position adjustment is set to 0, the cam pattern of which the sheet center is in the synchronous section is created. Offset Name Description Range Resolution Set the cam resolution for generating the cam.
  • Page 236 ■Program examples Program which creates cam data (resolution: 512) for the rotary cutter operation pattern in Cam No.5. D5000L=K512 // Resolution = 512 D5002=K0 // Acceleration/deceleration system = Trapezoidal, Synchronous axis length setting = Diameter D5003=K300 // Synchronous section acceleration ratio = 3.00% D5004L=K2000 // Sheet length = 200.0 mm D5006L=K500...
  • Page 237 ■Device assignment of the cam auto-generation data • Easy stroke ratio cam data for auto-generation Offset Name Description Range Resolution Set the cam resolution for generating the cam. 256/512/1024/2048/4096/ 8192/ 16384/32768 Cam axis length per cycle Set the cycle length of one cam operation cycle. 1 to 2147483647 [Cam axis length per cycle units] Cam data starting point...
  • Page 238 • Advanced stroke ratio cam data for auto-generation Offset Name Description Range Resolution Set the cam resolution for generating the cam. 256/512/1024/2048/4096/ 8192/ 16384/32768 Cam axis length per cycle Set the cycle length of one cam operation cycle. 1 to 2147483647 [Cam axis length per cycle units] Cam stroke amount Set the reference value for the stroke amount specified by stroke (Yn).
  • Page 239 Offset Name Description Range Section Cam curve type The data specified by "number of sections" becomes valid. 0: Constant speed It is not necessary to set the data after the specified number of sections. 1: Constant acceleration 2: Distorted trapezoid 3: Distorted sine 4: Distorted constant speed 5: Cycloid...
  • Page 240 *1 The set value is only used for cam data generation. Control is performed by the output axis parameter "[Pr.439] Cam axis length per cycle (R: D42700+160n, D42701+160n/Q: D15060+150n, D15061+150n)", and "[Pr.441] Cam stroke amount (R: D42704+160n, D42705+160n/Q: D15064+150n, D15065+150n)". *2 Refer to the cam curve list for the shapes of each cam type, ranges for L1 and L2.
  • Page 241 Cam curve type Acceleration curve shape Curve applicable Acceleration/deceleration range range compensation (P1 to P2) Setting Cam curve name Range L1 Range L2 value Trapecloid Two-dwelling 0.00 to 1.00 0.0001 to 0.2499  asymmetrical (0.1250) Reverse trapecloid 0.00 to 1.00 0.0001 to 0.2499 ...
  • Page 242 ■Program that creates easy stroke ratio cam data • Program which creates cam data (resolution: 512) in cam No. 5 D5000L=K512 //Resolution=512 D5002L=K36000000 //Cam axis length per cycle=360.0[degree] D5004L=K0 //Cam data starting point=0th point D5006=K7 //Number of sections=7 sections D5007=K0 //Unusable D5008=K0 //(Section 1) Cam curve type=Constant speed...
  • Page 243 • Program which creates cam data (resolution: 512) in cam No. 6 D6000L=K512 //Resolution=512 D6002L=K36000000 //Cam axis length per cycle=360.0[degree] D6004L=K0 // Cam data starting point=0th point D6006=K5 //Number of sections=5 sections D6007=K0 //Unusable D6008=K0 //(Section 1) Cam curve type=Constant speed D6009=K0 //Unusable D6010L=K9000000...
  • Page 244: Cam Position Calculation: Campscl

    Cam position calculation: CAMPSCL Format Number of basic steps Usable steps F/FS   CAMPSCL (S1), (S2), (D) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit...
  • Page 245 • Specify the device No. with (D) to an even number. The specified device stores the cam position calculation result as shown below when the calculation is completed. Cam position calculation Description Cam axis current feed value The cam axis current feed value that is calculated within the following range is stored. calculation -2147483648 to 2147483647 [Output axis position units] Cam axis current value per cycle...
  • Page 246 ■Program which calculates the cam axis current feed value in the two-way cam pattern operation Cam (Two-way) Cam axis current value per cycle 500000[pulse] [F10] //Set No.5 (Two-way cam) to the Cam No. #1000=K5 //Cam position calculation data set D2200=K0 //Cam position calculation type= Cam axis current feed valuecalculation D2201=K0 //Unusable...
  • Page 247: Vision System Dedicated Function

    4.17 Vision System Dedicated Function Open line: MVOPEN Format Number of basic steps Usable steps F/FS MVOPEN(S1), (S2)   Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit...
  • Page 248: Load A Program: Mvload

    Load a program: MVLOAD Format Number of basic steps Usable steps F/FS   MVLOAD(S1), (S2) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression...
  • Page 249: Send An Image Acquisition Trigger: Mvtrg

    Send an image acquisition trigger: MVTRG Format Number of basic steps Usable steps F/FS MVTRG(S1), (S2)   Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit...
  • Page 250: Start A Program: Mvpst

    Start a program: MVPST Format Number of basic steps Usable steps F/FS   MVPST(S1), (S2) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression...
  • Page 251 Program example ■Program which executes the job of the vision program No.20 MVPST K20 4 OPERATION CONTROL PROGRAMS 4.17 Vision System Dedicated Function...
  • Page 252: Input Data: Mvin

    Input data: MVIN Format Number of basic steps Usable steps F/FS   MVIN(S1), (S2), (D), (S3) 15 or more Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit...
  • Page 253 • The numerical value read from the vision system is stored with the following format. Numerical data format of spreadsheet cell or tag Data format stored in (D) Number of points Integer value 32-bit integer value type Consecutive 2 points Floating-point value 64-bit floating-point type Consecutive 4 points...
  • Page 254: Output Data: Mvout

    Output data: MVOUT Format Number of basic steps Usable steps F/FS   MVOUT (S1), (S2), (S3), (S4) 15 or more Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit...
  • Page 255 [Direct specification] Data type specified with (S3) Setting example 16-bit integer value type K12345 32-bit integer value type K12345678L 64-bit floating-point type K1234.5 Character string “MITSUBISHI” If the floating-point data is transferred to the vision system, it is handled as 32-bit floating-point data. The number of effective digits is approx.
  • Page 256: Reset A Status Storage Device: Mvfin

    Reset a status storage device: MVFIN Format Number of basic steps Usable steps F/FS   MVFIN(S) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression...
  • Page 257: Close Line: Mvclose

    Close line: MVCLOSE Format Number of basic steps Usable steps F/FS MVCLOSE(S)   Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer integer...
  • Page 258: Send A Command For Native Mode: Mvcom

    Send a command for native mode: MVCOM Format Number of basic steps Usable steps F/FS   MVCOM(S1), (S2), (D), (S3), (S4) 19 or more Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional...
  • Page 259 • The return value of Native Mode command is stored as below by specifying (S3) in the device specified with (D). When the return value data is the following ([CR] indicates a return code, and [LF] indicates a line feed code.) 1[CR][LF] Status code 19[CR][LF]...
  • Page 260 Operation error An operation error will occur if: • The (S1) data is outside the range of 1 to 32. • The Native Mode command specified with (S2) is wrong. • The (S3) data is outside the range of 0 to 1. •...
  • Page 261: Add-On Dedicated Function

    4.18 Add-on Dedicated Function Call add-on module: MCFUN Format Number of basic steps Usable steps F/FS MCFUN(S1), (S2), (D1), (D2) 11 or more   Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional...
  • Page 262 • The operation for when (S2) and (D1) are omitted differs depending on the add-on module called. • When (D2) is specified, the Motion SFC program execution transits to the next block without waiting for the add-on module completion. Add-on module processing is executed in the background. One add-on module can be executed in the background.
  • Page 263: Other Instructions

    4.19 Other Instructions Event task enable: EI Format Number of basic steps Usable steps F/FS   Setting data There are no setting data. Processing details • The execution of an event task is enabled. • This instruction is usable with a normal task only. Operation error An operation error will occur if: •...
  • Page 264: Event Task Disable: Di

    Event task disable: DI Format Number of basic steps Usable steps F/FS   Setting data There are no setting data. Processing details • The execution of an event task is disabled. • If an external interrupt or PLC interrupt occurs after execution of the DI instruction, the corresponding event task is executed once at the execution of the EI instruction.
  • Page 265: No Operation: Nop

    No operation: NOP Format Number of basic steps Usable steps F/FS   Setting data There are no setting data. Processing details This is a no-operation instruction and does not affect the preceding operations. Operation error There are no operation errors. 4 OPERATION CONTROL PROGRAMS 4.19 Other Instructions...
  • Page 266: Block Transfer: Bmov

    Block transfer: BMOV Format Number of basic steps Usable steps F/FS   BMOV(D), (S), (n) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression...
  • Page 267 Operation error An operation error will occur if: • (S) to (S)+(n-1) is outside the device range. • (D) to (D)+(n-1) is outside the device range. • (n) is 0 or a negative number. • (S) and (D) combination is wrong. •...
  • Page 268: Same Data Block Transfer: Fmov

    Same data block transfer: FMOV Format Number of basic steps Usable steps F/FS   FMOV(D), (S), (n) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit...
  • Page 269 Program example ■Program which sets 3456H to all data for 100 words from #10 FMOV #10, H3456, K100 H3456 H3456 Transfer H3456 H3456 #109 H3456 ■Program which sets a content of D4000 to all data for 50 words from W0 FMOV W0, D4000, K50 1234 1234...
  • Page 270: Write Device Data To Buffer Memory: To

    Write device data to buffer memory: TO Format Number of basic steps Usable steps F/FS   TO(D1), (D2), (S), (n) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit...
  • Page 271 • The upper limit for the value that can be set for number of words (n) to be written and buffer memory start address (D2) differs depending on the target module. Refer to the manual of module used for details. •...
  • Page 272: Read Device Data From Buffer Memory: From

    Read device data from buffer memory: FROM Format Number of basic steps Usable steps F/FS   FROM(D), (S1), (S2), (n) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit...
  • Page 273 • First I/O No. of the module set by [System Parameter]  [I/O Assignment Setting] in GX Works3 is specified by (S1). (S1) sets 10H by the system configuration when a FROM instruction is executed in the A/D conversion module (R64AD). R04CPU R32MTCPU RX40C7 R64AD...
  • Page 274 Program example ■1 word is read from the buffer memory address 10H of the intelligent function module (First I/ O No.: 020H), and is stored in W0 FROM W0, H020, H10, K1 Intelligent function module (First I/O No.: 020H) Buffer memory Device memory 1 word transfer 4 OPERATION CONTROL PROGRAMS...
  • Page 275: Write Buffer Memory Data To Head Module: Rto

    Write buffer memory data to head module: RTO Format Number of basic steps Usable steps F/FS RTO(D1), (D2), (D3), (S), (n), (D4)   Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional...
  • Page 276 • First I/O No. of the module mounted to the SSCNET/H head module set by [Motion CPU Common Parameter]  [Head Module] is specified by (D2). (D2) sets 05H by the system configuration when a RTO instruction is executed in the D/A conversion module (L60DA4).
  • Page 277 Program example ■2 words from #0 are written to buffer memory address 0H of the intelligent function module (First I/O No.: 010H) on the RIO axis 603 of the SSCNET/H head module RTO K603, H01, H0, #0, K2, M10 [F10] RST M10 RTO K603,H01,H0,#0,K2,M10 [G10]...
  • Page 278: Read Buffer Memory Data From Head Module: Rfrom

    Read buffer memory data from head module: RFROM Format Number of basic steps Usable steps F/FS   RFROM(D), (S1), (S2), (S3), (n), (D1) Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional...
  • Page 279 • First I/O No. of the module mounted to the SSCNET/H head module set by [Motion CPU Common Parameter]  [Head Module] is specified by (S2). (S2) sets 04H by the system configuration when a RFROM instruction is executed in the A/D conversion module (L60AD4).
  • Page 280 Program example ■1 word is read from the buffer memory address 10H of the intelligent function module (First I/ O No.: 020H) on the RIO axis 602 of the SSCNET/H head module, and is stored in W0 RFROM W0, K602, H02, H10, K1, M0 [F20] RST M0 RFROM W0,K602,H02,H10,K1,M0...
  • Page 281: Time To Wait: Time

    Time to wait: TIME Format Number of basic steps Usable steps F/FS TIME(S)   Setting data ■Usable data : Usable Setting Usable Data data Word device Constant Calculation Comparison device expression conditional conditional 16-bit 32-bit 64-bit 16-bit 32-bit 64-bit expression expression integer...
  • Page 282 • When the waiting time setting is indirectly specified with a word device, the value imported first is used as the device value for exercising control. The set time cannot be changed if the device value is changed during a wait state. •...
  • Page 283: Comment Statement

    4.20 Comment Statement: // Format Number of basic steps Usable steps F/FS    Setting data There are no setting data. Processing details A character string from after // to a block end is a comment. Operation error There are no operation errors. Program example ■Example which has commented a substitution program D0=D1//Substitutes the D0 value (16-bit integer data) to D1.
  • Page 284: Chapter 5 Transition Programs

    TRANSITION PROGRAMS Transition Programs Transition programs • Substitution operation expressions, motion-dedicated functions, bit device control commands and transition conditions can be set in transition programs. • Multiple blocks can be set in one transition program. • There are no restrictions on the number of blocks that may be set in a single transition program. Note that one program is within 128k bytes.
  • Page 285 MEMO 5 TRANSITION PROGRAMS 5.1 Transition Programs...
  • Page 286: Chapter 6 Operation For Motion Sfc And Parameter

    OPERATION FOR MOTION SFC AND PARAMETER Task Definitions When to execute the Motion SFC program processing can be set only once in the program parameter per program. Roughly classified, there are the following three different tasks. Task type Contents Normal task Executes in Motion CPU main cycle (free time).
  • Page 287: Task Operation

    Task operation Normal task operation ■Operations The Motion SFC program is executed in the main cycle (free time) of the Motion CPU. The processing outline is shown below. • Number of consecutive transitions is set to "2". Program 1 Program 2 Program name Program name SFCS1 SFCS2...
  • Page 288 (Example 1) Operation for fixed cycle task (3.555[ms]) (Number of consecutive transitions is set to "2".) Program name SFCS Sequence program 3.555ms Event task END operation: End END operation: Continue Do not execute a Execute the number of When END operation is set as program before the consecutive transition for continuation, continuation...
  • Page 289 ■Points • Multiple events can be set to one Motion SFC program. However, multiple fixed cycles cannot be set. • Multiple Motion SFC programs can be executed by one event. • Motion control steps cannot be executed during the event task. •...
  • Page 290: Execution Status Of The Multiple Task

    Execution Status of the Multiple Task Executing the Motion SFC program with multiple tasks Execution status of each Motion SFC program when the Motion SFC program is executed multiple tasks is shown below. NMI interrupt NMI interrupt 3.555ms NMI task-execute program 3.555ms event task-execute program Normal task-execute program When there are programs which are executed by the NMI task, 3.555ms fixed-cycle even task with a program to run by the...
  • Page 291 When multiple start factors occur within the same type of task • When another event occurs while executing an event task program, the program that corresponds to the next event is executed after completing the execution for the number of consecutive transitions of the program being executed. When an external interrupt occurs while executing a fixed-cycle event task, the external interrupt task is executed after completing the execution (for the number of consecutive transitions) of the fixed-cycle event task.
  • Page 292: How To Start The Motion Sfc Program

    How to Start the Motion SFC Program The Motion SFC program is executed during "[Rq.1120] PLC ready flag (R: M30000/Q: M2000)" is on. The Motion SFC program may be started by any of the following three methods. Set the starting method in the program parameter for every Motion SFC program.
  • Page 293: How To End The Motion Sfc Program

    How to End the Motion SFC Program • The Motion SFC program is ended by executing END set in itself. • The Motion SFC program is stopped by turning off the "[Rq.1120] PLC ready flag (R: M30000/Q: M2000)". • The program can be ended by the clear step. (Page 102 Clear step) Multiple ENDs can be set in one Motion SFC program.
  • Page 294: Task Parameters

    Task Parameters Item Setting item Initial Remark value Number of Normal task 1 to 30 These parameters are imported at leading edge of consecutive (Normal task "[Rq.1120] PLC ready flag (R: M30000/Q: M2000)" and transitions common) used for control thereafter. When setting/changing the values of these parameters, Interrupt setting Set whether the event task or NMI task...
  • Page 295 Limited count for repeat control ■Description Operation control program requires longer processing time if the operation control program or transition program has more repeat control instructions (FOR - NEXT). The longer processing time may cause the increase of main cycle and the operation cycle over in event task/NMI task, which is prevented by setting "Limited count for repeat control".
  • Page 296: Program Parameters

    Program Parameters Set the following parameters for every Motion SFC program. Item Setting range Initial Remark value Start setting Automatically started or not These parameters are imported setting at leading edge of "[Rq.1120] PLC ready flag (R: M30000/Q: Execute task It is only one of normal, event and NMI tasks Normal M2000)"...
  • Page 297 • Program run by event task Item When "automatically started" When "not automatically started" Start control At occurrence of an event after "[Rq.1120] PLC ready flag (R: The program is started by the Motion SFC start request (M(P).SFCS/ M30000/Q: M2000)" ON, the program is executed from the initial D(P).SFCS) from other CPU or by a subroutine call/start (GSUB) (first) step in accordance with the number of consecutive transitions of made from the Motion SFC program.
  • Page 298 Execute task ■Description Set the timing (task) to execute a program. Specify whether the program will be run by only one of the "normal task (main cycle), event task (fixed cycle, external interrupt, PLC interrupt) and NMI task (external interrupt)". When the event task is set, multiple events among the "fixed cycle, external interrupt (for event task) and PLC interrupt".
  • Page 299 END operation ■Description Set the operation at execution of the END step toward the program executed by the event or NMI task. This varies the specifications for the following items. Item When "ended" When "continued" Control at [END] execution Ends the self program. Ends to execute the self program with this event/ interrupt.
  • Page 300: Task And Interrupt Processing

    6.10 Task and Interrupt Processing In the Motion CPU, the required operations over a fixed cycle are divided into tasks. Depending on the Motion CPU internal processing timing, the interrupt processing can affect tasks, therefore programs need to be designed with care. Refer to the following for Motion CPU internal processing timing and corresponding processing time monitor devices.
  • Page 301 However, when the timing of axis 1 moving from 359.99999[degree] to 0[degree] coincides with the timing of the interrupt execution processing in the middle of [G1] processing in Motion SFC normal task processing, an unintended operation may occur. Feed current value 36000000 18000000...
  • Page 302: Chapter 7 Motion Sfc Functions

    MOTION SFC FUNCTIONS Online Change in the Motion SFC Program This function is used to write to the Motion SFC program to the built-in memory of the Motion CPU during the positioning control (during "[Rq.1120] PLC ready flag (R: M30000/Q: M2000)" on). When program correction and check of operation is executed repeatedly, is possible to change program without stopping operation of the Motion CPU.
  • Page 303: Operating Method For The Online Change

    Operating method for the online change Select the "Online change OFF/ON" with the online change setting screen displayed by selecting [Tools]  [Online Change Setting] from the MT Developer2 menu bar. The methods for online change of Motion SFC program are shown below. Target data of online change Operation for online change Motion SFC chart...
  • Page 304 Online change of the operation control/transition program Online change of the operation control/transition program during edit is executed by selecting the [Convert] button. Online change is possible to the operation control/transition program during execution. A program that the online change was made is executed from the next scan.
  • Page 305 Online change of the servo program Online change of the servo program during edit is executed by selecting the [Convert] button. Online change is possible to the servo program during execution. A program that the online change was made is executed at the next servo program start. [Convert] button Operations for which made the online change to the servo program in the following conditions during execution are shown below.
  • Page 306: Reading/Writing Of Program

    Reading/Writing of program The outline operations to write the program from MT Developer2 to the program memory of Motion CPU are described. Operation by MT Developer2 ■Reading of program by the reading operation of MT Developer2 If reading of program is performed, all files stored in the program folder and all files stored in the online change folder are read, and a merged program is reflected to the project.
  • Page 307 ■Writing of program by the online change operation of MT Developer2 If online change is performed, the new program to execute the online change is stored in the online change folder. (Refer to (1)) After that, the program written in previously is made invalid and the new program is made valid. (Refer to (2)) Motion CPU Personal computer Program folder...
  • Page 308: Motion Sfc Program Monitor And Debug Mode

    Motion SFC Program Monitor and Debug Mode Motion SFC program monitor The execution status of Motion SFC programs can be monitored by the Motion SFC program monitor of MT Developer2. The items that can be monitored are shown below. Refer to the following for details of the Motion SFC program monitor. Help of MT Developer2 •...
  • Page 309: Appendices

    APPENDICES Appendix 1 Processing Times Processing time of operation control/Transition instruction The processing time for the individual instructions are shown below. Operation processing times can vary substantially depending on the nature of the source and destinations of the instructions, and the values contained in the following tables should therefore be taken as a set of general guidelines to processing time rather than as being strictly accurate.
  • Page 310 Classifications Symbol Instruction Operation expression Unit [µs] Binary operation Multiplication #0=#1*#2 D800=D801*D802 U3E1\G10000=U3E1\G10001*U3E1\G10002 U3E1\HG10000=U3E1\HG10001*U3E1\HG10002 #0L=#2L*#4L D800L=D802L*D804L U3E1\G10000L=U3E1\G10002L*U3E1\G10004L U3E1\HG10000L=U3E1\HG10002L*U3E1\HG10004L #0F=#4F*#8F D800F=D804F*D808F U3E1\G10000F=U3E1\G10004F*U3E1\G10008F U3E1\HG10000F=U3E1\HG10004F*U3E1\HG10008F Division #0=#1/#2 D800=D801/D802 U3E1\G10000=U3E1\G10001/U3E1\G10002 U3E1\HG10000=U3E1\HG10001/U3E1\HG10002 #0L=#2L/#4L D800L=D802L/D804L U3E1\G10000L=U3E1\G10002L/U3E1\G10004L U3E1\HG10000L=U3E1\HG10002L/U3E1\HG10004L #0F=#4F/#8F D800F=D804F/D808F U3E1\G10000F=U3E1\G10004F/U3E1\G10008F U3E1\HG10000F=U3E1\HG10004F/U3E1\HG10008F Remainder #0=#1%#2 D800=D801%D802 U3E1\G10000=U3E1\G10001%U3E1\G10002 U3E1\HG10000=U3E1\HG10001%U3E1\HG10002 #0L=#2L%#4L D800L=D802L%D804L U3E1\G10000L=U3E1\G10002L%U3E1\G10004L...
  • Page 311 Classifications Symbol Instruction Operation expression Unit [µs] Bit operation Bit logical OR #0=#1|#2 D800=D801|D802 U3E1\G10000=U3E1\G10001|U3E1\G10002 U3E1\HG10000=U3E1\HG10001|U3E1\HG10002 #0L=#2L|#4L D800L=D802L|D804L U3E1\G10000L=U3E1\G10002L|U3E1\G10004L U3E1\HG10000L=U3E1\HG10002L|U3E1\HG10004L Bit exclusive OR #0=#1^#2 D800=D801^D802 U3E1\G10000=U3E1\G10001^U3E1\G10002 U3E1\HG10000=U3E1\HG10001^U3E1\HG10002 #0L=#2L^#4L D800L=D802L^D804L U3E1\G10000L=U3E1\G10002L^U3E1\G10004L U3E1\HG10000L=U3E1\HG10002L^U3E1\HG10004L >> Bit right shift #0=#1>>#2 D800=D801>>D802 U3E1\G10000=U3E1\G10001>>U3E1\G10002 U3E1\HG10000=U3E1\HG10001>>U3E1\HG10002 #0L=#2L>>#4L D800L=D802L>>D804L U3E1\G10000L=U3E1\G10002L>>U3E1\G10004L U3E1\HG10000L=U3E1\HG10002L>>U3E1\HG10004L...
  • Page 312 Classifications Symbol Instruction Operation expression Unit [µs] Standard function Sine #0F=SIN(#4F) D800F=SIN(D804F) U3E1\G10000F=SIN(U3E1\G10004F) U3E1\HG10000F=SIN(U3E1\HG10004F) Cosine #0F=COS(#4F) D800F=COS(D804F) U3E1\G10000F=COS(U3E1\G10004F) U3E1\HG10000F=COS(U3E1\HG10004F) Tangent #0F=TAN(#4F) D800F=TAN(D804F) U3E1\G10000F=TAN(U3E1\G10004F) U3E1\HG10000F=TAN(U3E1\HG10004F) ASIN Arcsine #0F=ASIN(#4F) D800F=ASIN(D804F) U3E1\G10000F=ASIN(U3E1\G10004F) U3E1\HG10000F=ASIN(U3E1\HG10004F) ACOS Arccosine #0F=ACOS(#4F) D800F=ACOS(D804F) U3E1\G10000F=ACOS(U3E1\G10004F) U3E1\HG10000F=ACOS(U3E1\HG10004F) ATAN Arctangent #0F=ATAN(#4F) D800F=ATAN(D804F) U3E1\G10000F=ATAN(U3E1\G10004F) U3E1\HG10000F=ATAN(U3E1\HG10004F) SQRT...
  • Page 313 Classifications Symbol Instruction Operation expression Unit [µs] BCD  BIN Standard function #0=BIN(#1) conversion D800=BIN(D801) U3E1\G10000=BIN(U3E1\G10001) U3E1\HG10000=BIN(U3E1\HG10001) #0L=BIN(#2L) D800L=BIN(D802L) U3E1\G10000L=BIN(U3E1\G10002L) U3E1\HG10000L=BIN(U3E1\HG10002L) BIN  BCD #0=BCD(#1) conversion D800=BCD(D801) U3E1\G10000=BCD(U3E1\G10001) U3E1\HG10000=BCD(U3E1\HG10001) #0L=BCD(#2L) D800L=BCD(D802L) U3E1\G10000L=BCD(U3E1\G10002L) U3E1\HG10000L=BCD(U3E1\HG10002L) Data control 16-bit integer type SCL K0,K2000,#0,#2002 scaling SCL K0,K2000,D2000,D4002 SCL K0,K2000,U3E1\G10000,U3E1\G12002...
  • Page 314 Classifications Symbol Instruction Operation expression Unit [µs] Type conversion SHORT Converted into 16- #0=SHORT(#2L) bit integer type D800=SHORT(D802L) (signed) U3E1\G10000=SHORT(U3E1\G10002L) U3E1\HG10000=SHORT(U3E1\HG10002L) #0=SHORT(#4F) D800=SHORT(D804F) U3E1\G10000=SHORT(U3E1\G10004F) U3E1\HG10000=SHORT(U3E1\HG10004F) USHORT Converted into 16- #0=USHORT(#2L) bit integer type D800=USHORT(D802L) (unsigned) U3E1\G10000=USHORT(U3E1\G10002L) U3E1\HG10000=USHORT(U3E1\HG10002L) #0=USHORT(#4F) D800=USHORT(D804F) U3E1\G10000=USHORT(U3E1\G10004F) U3E1\HG10000=USHORT(U3E1\HG10004F) LONG Converted into 32-...
  • Page 315 Classifications Symbol Instruction Operation expression Unit [µs] Type conversion SFLT Floating-point #0L=SFLT(#2F) value conversion D2000L=SFLT(D2002F) 64-bit into 32-bit U3E1\G10000L=SFLT(U3E1\G10002F) U3E1\HG10000L=SFLT(U3E1\HG10002F) Bit device status (None) ON (normally SET M1000=M0 open contact) SET M1000=X100 (Completion of SET M1000=X20 condition) SET M1000=U3E1\G10000.0 SET M1000=U3E1\HG10000.0 OFF (normally SET M1000=!M0 closed contact)
  • Page 316 Classifications Symbol Instruction Operation expression Unit [µs] Comparison Equal to SET M1000=#0==#1 operation (Completion of SET M1000=D800==D801 condition) SET M1000=U3E1\G10000==U3E1\G10001 SET M1000=U3E1\HG10000==U3E1\HG10001 SET M1000=#0L==#2L SET M1000=D800L==D802L SET M1000=U3E1\G10000L==U3E1\G10002L SET M1000=U3E1\HG10000L==U3E1\HG10002L SET M1000=#0F==#4F SET M1000=D800F==D804F SET M1000=U3E1\G10000F==U3E1\G10004F SET M1000=U3E1\HG10000F==U3E1\HG10004F Not equal to SET M1000=#0!=#1 (Completion of SET M1000=D800!=D801...
  • Page 317 Classifications Symbol Instruction Operation expression Unit [µs] Comparison > More than SET M1000=#0>#1 operation (Completion of SET M1000=D800>D801 condition) SET M1000=U3E1\G10000>U3E1\G10001 SET M1000=U3E1\HG10000>U3E1\HG10001 SET M1000=#0L>#2L SET M1000=D800L>D802L SET M1000=U3E1\G10000L>U3E1\G10002L SET M1000=U3E1\HG10000L>U3E1\HG10002L SET M1000=#0F>#4F SET M1000=D800F>D804F SET M1000=U3E1\G10000F>U3E1\G10004F SET M1000=U3E1\HG10000F>U3E1\HG10004F >= More than or SET M1000=#0>=#1 equal to...
  • Page 318 Classifications Symbol Instruction Operation expression Unit [µs] Program control IF-ELSE- Conditional IF #0==#1 IEND branch control #2=#3 ELSE #4=#5 IEND IF D800==D801 #2=#3 ELSE #4=#5 IEND IF U3E1\G10000==U3E1\G10001 #2=#3 ELSE #4=#5 IEND IF U3E1\HG10000==U3E1\HG10001 #2=#3 ELSE #4=#5 IEND IF #0==#1 #2=#3 ELSE #4=#5...
  • Page 319 Classifications Symbol Instruction Operation expression Unit [µs] Program control SELECT- Selective branch SELECT CASE- control CASE #0==K1 SEND #2=#3 CEND CASE #1==K1 #4=#5 CEND CELSE #6=#7 CEND SEND SELECT CASE D800==K1 #2=#3 CEND CASE D801==K1 #4=#5 CEND CELSE #6=#7 CEND SEND SELECT CASE U3E1\G10000==K1...
  • Page 320 Classifications Symbol Instruction Operation expression Unit [µs] Program control SELECT- Selective branch SELECT CASE- control CASE U3E1\G10000==K1 SEND #2=#3 CEND CASE U3E1\G10001==K1 #4=#5 CEND CELSE #6=#7 CEND SEND SELECT CASE U3E1\HG10000==K1 #2=#3 CEND CASE U3E1\HG10001==K1 #4=#5 CEND CELSE #6=#7 CEND SEND SELECT CASE #0==K1...
  • Page 321 Classifications Symbol Instruction Operation expression Unit [µs] Program control FOR- Repeat control FOR #0=K1 TO 10 47.6 NEXT with specified #1=#1+1 count NEXT FOR D800=K1 TO 10 23.8 #1=#1+1 NEXT FOR U3E1\G10000=K1 TO 10 29.1 #1=#1+1 NEXT FOR U3E1\HG10000=K1 TO 10 27.6 #1=#1+1 NEXT...
  • Page 322 Classifications Symbol Instruction Operation expression Unit [µs] Motion dedicated MCNST Machine program MCNST(#13000,#12998) 153.2 function operation start MCNST(D58000,D57998) 144.0 request MCNST(U3E1\G10002,U3E1\G10000) 165.2 MCNST(U3E1\HG5002,U3E1\HG5000) 160.6 MCNST(#13000,#12998) 1187.7 MCNST(D58000,D57998) 1195.1 MCNST(U3E1\G10002,U3E1\G10000) 2221.8 MCNST(U3E1\HG5002,U3E1\HG5000) 2050.2 MCNST(#13000,#12998) 1485.0 MCNST(D58000,D57998) 1487.7 MCNST(U3E1\G10002,U3E1\G10000) 3470.5 MCNST(U3E1\HG5002,U3E1\HG5000) 3194.7 Advanced CAMRD Cam data read...
  • Page 323 Classifications Symbol Instruction Operation expression Unit [µs] Advanced CAMWR Cam data write CAMWR #0,#2L,K256,#4,H401 27.3 synchronous 27.1 CAMWR D2000,D2002L,K256,D2004,H401 control dedicated CAMWR U3E1\G10000,U3E1\G10002L,K256,U3E1\G10004,H401 107.2 function CAMWR U3E1\HG10000,U3E1\HG10002L,K256,U3E1\HG0,H401 93.1 CAMWR #0,#2L,K1024,#4,H401 74.5 CAMWR D2000,D2002L,K1024,D2004,H401 72.0 CAMWR U3E1\G10000,U3E1\G10002L,K1024,U3E1\G10004,H401 362.1 CAMWR U3E1\HG10000,U3E1\HG10002L,K1024,U3E1\HG0,H401 308.5 CAMWR #0,#2L,K2048,#4,H401 137.6 CAMWR D2000,D2002L,K2048,D2004,H401...
  • Page 324 Classifications Symbol Instruction Operation expression Unit [µs] Advanced CAMMK Cam auto- CAMMK #0,#1,#2 275.6 synchronous generation CAMMK D2000,D2001,D2002 258.3 control dedicated CAMMK U3E1\G10000,U3E1\G10001,U3E1\G10002 263.0 function CAMMK U3E1\HG10000,U3E1\HG10001,U3E1\HG10002 262.0 CAMMK #0,#1,#2 7981.1 CAMMK D2000,D2001,D2002 7938.2 CAMMK U3E1\G10000,U3E1\G10001,U3E1\G10002 7928.1 CAMMK U3E1\HG10000,U3E1\HG10001,U3E1\HG10002 7927.5 CAMMK #0,#1,#2 31856.3 CAMMK D2000,D2001,D2002...
  • Page 325 Classifications Symbol Instruction Operation expression Unit [µs] *26*28 Advanced CAMPSCL Cam position CAMPSCL #0,#2,#14L synchronous calculation *26*28 CAMPSCL D2000,D2002,D2014L control dedicated *26*28 CAMPSCL U3E1\G10000,U3E1\G10002,U3E1\G10014L 10.6 function *26*28 CAMPSCL U3E1\HG10000,U3E1\HG10002,U3E1\HG10014L 10.0 *26*29 CAMPSCL #0,#2,#14L *26*29 CAMPSCL D2000,D2002,D2014L *26*29 CAMPSCL U3E1\G10000,U3E1\G10002,U3E1\G10014L *26*29 CAMPSCL U3E1\HG10000,U3E1\HG10002,U3E1\HG10014L *26*30 CAMPSCL #0,#2,#14L...
  • Page 326 Classifications Symbol Instruction Operation expression Unit [µs] Vision system MVIN Input data MVIN K1,"A1",#0L,K1000 76.6 dedicated function MVIN D2000,D2001,#0L,K1000 81.6 MVIN D2000,D2001,#0L,K1000 60.7 MVIN U3E1\G10000,U3E1\G10001,U3E1\G10020L,K1000 65.9 MVIN U3E1\HG10000,U3E1\HG10001,U3E1\HG10020L,K1000 65.3 MVOUT Output data MVOUT K1,"A1",#0L,K1000 60.5 MVOUT D2000,D2001,#0L,K1000 63.1 MVOUT D2000,D2001,#0L,K1000 67.0 MVOUT U3E1\G10000,U3E1\G10001,U3E1\G10020L,K1000 79.4...
  • Page 327 Classifications Symbol Instruction Operation expression Unit [µs] Others Write device data TO H0020,H0,#0,K1 to buffer memory TO H0020,H0,D800,K1 TO H0020,H0,U3E1\G10000,K1 TO H0020,H0,U3E1\HG10000,K1 TO H0020,H0,#0,K10 TO H0020,H0,D800,K10 TO H0020,H0,U3E1\G10000,K10 TO H0020,H0,U3E1\HG10000,K10 TO H0020,H0,#0,K100 TO H0020,H0,D800,K100 TO H0020,H0,U3E1\G10000,K100 17.9 TO H0020,H0,U3E1\HG10000,K100 15.3 TO H0020,H0,#0,K256 TO H0020,H0,D800,K256 TO H0020,H0,U3E1\G10000,K256...
  • Page 328 Classifications Symbol Instruction Operation expression Unit [µs] Others RFROM Read buffer RFROM #0,#4000,#4001,#4002,K1,M0 memory data from RFROM D800,D2000,D2001,D2002,K1,M0 head module RFROM U3E1\G10000,U3E1\G12000,U3E1\G12001,U3E1\G12002,K1,M0 RFROM U3E1\HG10000,U3E1\HG12000,U3E1\HG12001, U3E1\HG12002,K1,M0 RFROM #0,#4000,#4001,#4002,K10,M0 RFROM D800,D2000,D2001,D2002,K10,M0 RFROM U3E1\G10000,U3E1\G12000,U3E1\G12001,U3E1\G12002,K10,M0 RFROM U3E1\HG10000,U3E1\HG12000,U3E1\HG12001,U3E1\HG12002,K10,M0 RFROM #0,#4000,#4001,#4002,K100,M0 RFROM D800,D2000,D2001,D2002,K100,M0 RFROM U3E1\G10000,U3E1\G12000,U3E1\G12001,U3E1\G12002,K100,M0 RFROM U3E1\HG10000,U3E1\HG12000,U3E1\HG12001,U3E1\HG12002,K100,M0 RFROM #0,#4000,#4001,#4002,K240,M0 RFROM D800,D2000,D2001,D2002,K240,M0 RFROM U3E1\G10000,U3E1\G12000,U3E1\G12001,U3E1\G12002,K240,M0...
  • Page 329 *33 (S2) in MVIN (S1), (S2), (D) and (S3) are set by 32 bytes character string. *34 (S2) in MVOUT (S1), (S2), (S3) and (S4) are set by 2 bytes character string. *35 (S2) in MVOUT (S1), (S2), (S3) and (S4) are set by 32 bytes character string. *36 (S2) in MVCOM (S1), (S2), (D), (S3) and (S4) are set by 2 bytes character string.
  • Page 330 Transition conditional expressions Classifications Symbol Instruction Operation expression Unit [µs] Bit device status (None) ON (Normally open contact) X100 (Completion of condition) U3E1\G10000.0 U3E1\HG10000.0 OFF (Normally closed contact) !X100 (Completion of !X20 condition) !U3E1\G10000.0 !U3E1\HG10000.0 Logical operation Logical AND M0*M1 X100*X101 X20*X20 11.1...
  • Page 331 Classifications Symbol Instruction Operation expression Unit [µs] Comparison < Less than #0<#1 operation (Completion of D800
  • Page 332 Processing time by the combination F and G (program described in F/G is NOP) Name Motion SFC chart Unit [µs] F alone G alone GSUB 14.0 10.0 JMP/coupling Parallel 2 Pcs At branch 13.0 branch At coupling 10.5 5 Pcs. At branch 28.0 At coupling...
  • Page 333: Processing Time Of Advanced Synchronous Control Dedicated Functions

    Processing time of advanced synchronous control dedicated functions The operation processing times for advanced synchronous control dedicated functions are shown below. Operation processing times can vary substantially depending on the number of cams and where they are saved. The values contained in the following tables should therefore be taken as a set of general guidelines to processing time rather than as being strictly accurate.
  • Page 334 ■Easy stroke ratio cam Section Processing time [ms] resolution Not saved (open area) Standard ROM SD memory card 0.76 0.88 0.92 4096 32768 ■Advanced stroke ratio cam • Curve type (constant speed) Section Processing time [ms] resolution Not saved (open area) Standard ROM SD memory card 0.65...
  • Page 335: Deploying Time For Cam Data

    Deploying time for cam data The time is takes to deploy one cam file from the standard ROM to the open area is shown below. The search time can vary substantially depending on the cam file that is stored, and the number of other files stored. The values contained in the following tables should therefore be taken as a set of general guidelines to processing time rather than as being strictly accurate.
  • Page 336: Processing Time Of Motion Dedicated Plc Instruction

    Processing time of Motion dedicated PLC instruction Classifications Instruction (Condition) Symbol Processing time [µs] R04CPU/R08CPU/R16CPU/R32CPU/ R120CPU/R08PCPU/R16PCPU/ R32PCPU/R120PCPU Min. Max. Motion dedicated Start request of the specified Motion SFC program D.SFCS 38.0 77.0 PLC instruction M.SFCS 29.0 68.0 Start request of the specified servo program D.SVST 48.0 86.0...
  • Page 337: Appendix 2 Sample Program

    Appendix 2 Sample Program Sample programs using R32MTCPU are shown below. The sample programs in this section are explained in the "Q series Motion compatible device assignment" device assignment method. Motion control example by Motion SFC program The Motion SFC program composition example to execute motion control This sample program example is described for every following function.
  • Page 338 Contents processing of the Motion SFC program ■Motion SFC program list Program Task Automatic Number of Contents of processing name operation connective transitions Main Normal Start • This program starts automatically at the time of run of Motion CPU, and it is always executed.
  • Page 339 ■No.20: Main Main [G20] When a forced stop is released, a SM502 //Did you release a forced subroutine starts "No.110: Motion //stop? control". (Because the next step is a shift, it becomes a subroutine start, and the next step is executed at the same Motion control When a forced stop is released, it is time with subroutine practice, too.)
  • Page 340 ■No.120: JOG [F120] //1 axis JOG operation speed = //100000pulse/s D640L=K100000 //2 axes JOG operation speed = //100000pulse/s D642L=K100000 [G120] When each signal of X3 to X6 is turned on/off, which the //1 axis forward rotation JOG start correspondences JOG command device is SET/RST. //SET/RST It makes forward rotation JOG start of the same axis and a SET M3202=X3 * !M3203...
  • Page 341 ■No.140: Home position return Home position return request [G140] [G141] [G142] //(X3*!1 axis home position return //(X4*!2 axes home position return //Did you finish home position return //completion *1 axis in-position signal*!1 //completion *2 axes in-position signal*!2 //request mode? //axis start accept)? //axis start accept)? !(X2*!X1) X3*!M2410*M2402*!M2001...
  • Page 342 ■No.150: Programming operation Programming operation [G150] [G151] [G152] //Did you turn on X4? //Did you finish a programming operation //(OFF to ON)detection of X3. //mode? !(X2*X1) //X3 turns on M0 in on when M1 (last time //condition of X3) is off. Detection for RST M0 leading edge of bit...
  • Page 343 Module configuration data of the Motion CPU Module configuration is shown below. APPENDICES APPENDIX Appendix 2 Sample Program...
  • Page 344: Continuation Execution Example At The Subroutine Re-Start By The Motion Sfc Program

    Continuation execution example at the subroutine re-start by the Motion SFC program Explanation of the operation This is the program example which execute continuously from the motion control step which stopped on the way when it re- started after stopping the subroutine program with the clear step during the motion control is running. The servo is turned on by the forced stop release and the positioning control of the 2 axes linear interpolation is executed when X4 is ON in this program.
  • Page 345 ■No.20: Main Main [F20] "0" is set on the continuation point (#100) #100=0 //Continuation point=0 as an initial value. [G20] SM502 //Did you release a forced //stop? The subroutine starts "No.160: Restart [F110] continuation" after all axis servo are SET M2042//All axis servo ON command turned on and servo on of 1 axis and 2 //ON axes is confirmed when a forced stop is...
  • Page 346 ■No.160: Restart continuation Restart continuation [G191] [G192] [G193] [G190] #100==10 //Is a continuation #100==20 //Is a continuation #100==30 //Is a continuation #100==0 //Is a continuation point 0? //point 10? //point 20? //point 30? The process is started corresponding to the value of [G151] #100 (continuation point) from each point of P0 to P30.
  • Page 347: Continuation Execution Example After The Stop By The Motion Sfc Program

    Continuation execution example after the stop by the Motion SFC program The explanation of the operation The program example that the Motion SFC program is stopped by external input signal ON for the forced stop from the input module, and it is executed continuously by external signal OFF for the stop is shown below. The servo is turned on by the forced stop release and the positioning control of the 2 axes linear interpolation is executed when X4 is ON in this program.
  • Page 348 ■No.20: Main Main [F20] The internal relay (M100) for the stop SET M100 //Stop ON (Initials set) turn on. Stop The subroutine starts "170: stop" and "150: Programming operation". Programming operation The subroutine that motion control was executed at the time of the forced stop did not stop and which started it for a while goes on, and it is executed by [G20]...
  • Page 349 ■No.150: Programming operation Programming operation WAIT transition which [G151] wants to stop substitutes //Did you turn on X4, and turn "The internal relay (M100) //off a stop? for the stop turns off." for X4*!M100 the AND status. The motion control step [K150:Real] 1 ABS-2 executed absolute...
  • Page 350: Revisions

    Japanese manual number: IB-0300238-G This manual confers no industrial property rights of any other kind, nor does it confer any patent licenses. Mitsubishi Electric Corporation cannot be held responsible for any problems involving industrial property rights which may occur as a result of using the contents noted in this manual.
  • Page 351: Warranty

    WARRANTY Please confirm the following product warranty details before using this product. 1. Gratis Warranty Term and Gratis Warranty Range If any faults or defects (hereinafter "Failure") found to be the responsibility of Mitsubishi occurs during use of the product within the gratis warranty term, the product shall be repaired at no cost via the sales representative or Mitsubishi Service Company.
  • Page 352: Trademarks

    TRADEMARKS Ethernet is a registered trademark of Fuji Xerox Corporation in Japan. Microsoft, Microsoft Access, Excel, SQL Server, Visual Basic, Visual C++, Visual Studio, Windows, Windows NT, Windows Server, Windows Vista, and Windows XP are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
  • Page 354 IB(NA)-0300239-G(1612)MEE MODEL: RMT-P-PRG-E MODEL CODE: 1XB006 HEAD OFFICE : TOKYO BUILDING, 2-7-3 MARUNOUCHI, CHIYODA-KU, TOKYO 100-8310, JAPAN NAGOYA WORKS : 1-14 , YADA-MINAMI 5-CHOME , HIGASHI-KU, NAGOYA , JAPAN When exported from Japan, this manual does not require application to the Ministry of Economy, Trade and Industry for service transaction permission.

This manual is also suitable for:

R64mtcpuMelsec iq-r seriesR32mtcpu

Table of Contents