SlideShare ist ein Scribd-Unternehmen logo
1 von 358
Downloaden Sie, um offline zu lesen
Macro Compiler / Macro Executor

PROGRAMMING MANUAL




                        B-63943EN-2/01
• No part of this manual may be reproduced in any form.
 • All specifications and designs are subject to change without notice.


The export of this product is subject to the authorization of the government of the country
from where the product is exported.


In this manual we have tried as much as possible to describe all the various matters.
However, we cannot describe all the matters which must not be done, or which cannot be
done, because there are so many possibilities.
Therefore, matters which are not especially described as possible in this manual should be
regarded as ”impossible”.


This manual contains the program names or device names of other companies, some of
which are registered trademarks of respective owners. However, these names are not
followed by  or  in the main body.
B-63943EN-2/01          DEFINITION OF WARNING, CAUTION, AND NOTE


DEFINITION OF WARNING, CAUTION, AND NOTE
                 This manual includes safety precautions for protecting the user and
                 preventing damage to the machine. Precautions are classified into
                 Warning and Caution according to their bearing on safety. Also,
                 supplementary information is described as a Note. Read the Warning,
                 Caution, and Note thoroughly before attempting to use the machine.

                        WARNING
                        Applied when there is a danger of the user being
                        injured or when there is a danger of both the user
                        being injured and the equipment being damaged if
                        the approved procedure is not observed.

                        CAUTION
                        Applied when there is a danger of the equipment
                        being damaged, if the approved procedure is not
                        observed.

                     NOTE
                       The Note is used to indicate supplementary
                       information other than Warning and Caution.

                 •    Read this manual carefully, and store it in a safe place.




                               s-1
B-63943EN-2/01                                                                                           TABLE OF CONTENTS


TABLE OF CONTENTS

DEFINITION OF WARNING, CAUTION, AND NOTE ................................ s-1
1     GENERAL ..............................................................................................1
2     MACRO COMPILER AND MACRO EXECUTOR...................................3
      2.1        MACRO COMPILER......................................................................................4
                 2.1.1      P-CODE Macro and P-CODE File .......................................................................... 4
      2.2        MACRO EXECUTOR.....................................................................................6
      2.3        P-CODE MACRO...........................................................................................7
                 2.3.1      Limitations on Commands....................................................................................... 8
                 2.3.2      Differences from the Series 16i............................................................................. 10
      2.4        MULTI-PATH CONTROL FUNCTION .........................................................11
                 2.4.1      Independent Operating Environment for Each Path.............................................. 11
                 2.4.2      P-CODE Variables/Extended P-CODE Variables Common to Paths ................... 11
                 2.4.3      Multiple P-CODE Macros Independent of Paths .................................................. 12

3     EXECUTION MACRO FUNCTION .......................................................14
      3.1        GENERAL....................................................................................................15
      3.2        CALLING AN EXECUTION MACRO ...........................................................16
                 3.2.1      Simple Call (G65).................................................................................................. 26
                 3.2.2      Modal Call (G66/G66.1) ....................................................................................... 27
                 3.2.3      Macro Call Using G Code ..................................................................................... 28
                 3.2.4      Macro Call Using G Code (Specification of 1 Set)............................................... 30
                 3.2.5      Macro Call Using G Code (Specification of 3 Sets) ............................................. 31
                            3.2.5.1      Macro modal call using G code..........................................................................33
                 3.2.6      Macro Call Using M Code..................................................................................... 34
                 3.2.7      Macro Call Using M Code (Specification of 3 Sets)............................................. 36
                 3.2.8      Special Macro Call Using T Code......................................................................... 37
                 3.2.9      Special Macro Call Using Axis Address ............................................................... 41
                 3.2.10     Subprogram Call (M98)......................................................................................... 47
                 3.2.11     Subprogram Call Using M Code ........................................................................... 48
                 3.2.12     Subprogram Call Using M Code in the Specified Range...................................... 50
                 3.2.13     Subprogram Call Using M Code (Specification of 3 Sets) ................................... 52
                 3.2.14     Subprogram Call Using S Code............................................................................. 54
                 3.2.15     Subprogram Call Using T Code ............................................................................ 55
                 3.2.16     Subprogram Call Using Second Auxiliary Function Code ................................... 57


                                                                  c-1
TABLE OF CONTENTS                                                                                                           B-63943EN-2/01



            3.2.17    Subprogram Call Using Specific Code.................................................................. 58
            3.2.18    Subprogram Call for User Program....................................................................... 60
            3.2.19    P-CODE Workpiece Number Search .................................................................... 63
    3.3     LIMITATIONS ON EXECUTION MACROS .................................................64
            3.3.1     Commands which cannot Use Execution Macros ................................................. 64
            3.3.2     Functions which cannot Use Execution Macros ................................................... 64
            3.3.3     Optional Block Skip .............................................................................................. 64
            3.3.4     Interruption Type Custom Macro .......................................................................... 64
    3.4     DIFFERENCES FROM THE Series 16i.......................................................65

4   CONVERSATIONAL MACRO FUNCTION AND AUXILIARY
    MACRO FUNCTION.............................................................................69
    4.1     CONVERSATIONAL MACRO FUNCTION ..................................................70
            4.1.1     Execution and Termination ................................................................................... 71
            4.1.2     Command............................................................................................................... 74
    4.2     AUXILIARY MACRO FUNCTION ................................................................75
            4.2.1     Execution and Termination ................................................................................... 76
            4.2.2     Command............................................................................................................... 77
            4.2.3     Execution Cycle..................................................................................................... 78
    4.3     EXECUTION CONTROL CODE ..................................................................80
    4.4     EXECUTION CONTROL VARIABLES
            (#8500, #8550, #8551, AND #8530) ............................................................82
    4.5     COMMON CONVERSATIONAL MACRO SCREEN ....................................84
    4.6     FATAL ERROR............................................................................................85
    4.7     DIFFERENCES FROM THE Series 16i.......................................................87

5   MACRO VARIABLES...........................................................................88
    5.1     MACRO VARIABLE LIST ............................................................................89
    5.2     LOCAL VARIABLES (#1 TO #33) / ARRAY VARIABLES (#1 TO #99) .......91
    5.3     COMMON VARIABLES (#100 TO #199 AND #500 TO #999) ....................92
    5.4     P-CODE VARIABLES (#10000 TO #19999)................................................94
    5.5     EXTENDED P-CODE VARIABLES (#20000 TO #89999) ...........................96
    5.6     P-CODE VARIABLES/EXTENDED P-CODE VARIABLES IN THE PATH
            CONTROL SYSTEM....................................................................................98
            5.6.1     Writing and Reading P-CODE Variables/Extended P-CODE Variables
                      between Paths ........................................................................................................ 99
    5.7     CUSTOM MACRO COMMON VARIABLES (#99100 TO #99999) ............100



                                                             c-2
B-63943EN-2/01                                                                                              TABLE OF CONTENTS


      5.8        CUSTOM MACRO SYSTEM VARIABLES
                 (#1000 AND UP, #100000 AND UP, #199999 AND UP) ...........................101
      5.9        DIFFERENCES FROM THE Series 16i.....................................................105

6     MACRO EXECUTOR FUNCTION ......................................................106
      6.1        SCREEN DISPLAY FUNCTIONS ..............................................................114
                 6.1.1    Screen Coordinate System................................................................................... 114
                 6.1.2    Screen Display Identification Variables (#8681 and #8682) .............................. 118
                 6.1.3    Screen Display Control Codes............................................................................. 119
                          6.1.3.1       Screen clear (G202) .........................................................................................121
                          6.1.3.2       Color specification (G240)...............................................................................123
                          6.1.3.3       Drawing start point setting (G242)...................................................................125
                          6.1.3.4       Command for display with background color (G250)......................................126
                          6.1.3.5       Character display (G243) .................................................................................136
                          6.1.3.6       Drawing line type specification (G244) ...........................................................143
                          6.1.3.7       Prompt statement display (G280).....................................................................143
                          6.1.3.8       Linear drawing (G01).......................................................................................144
                          6.1.3.9       Circular drawing (clockwise) (G02)................................................................145
                          6.1.3.10 Circular drawing (counterclockwise) (G03) .....................................................145
                          6.1.3.11 Cursor display (rectangular cursor) (G230) .....................................................147
                          6.1.3.12 Graphic cursor function (G249) .......................................................................148
                          6.1.3.13 Cursor control (#8505, #8506, and #8507) ......................................................149
                          6.1.3.14 Absolute mode (G390)/incremental mode (G391) specification......................149
                          6.1.3.15 Graphic coordinate system setting (G392) .......................................................150
                          6.1.3.16 Rapid traverse rate specification (G311)..........................................................151
                          6.1.3.17 Rapid traverse drawing (G300) ........................................................................152
                          6.1.3.18 Graphic filling function (G206)........................................................................153
                          6.1.3.19 Rectangular display (G204)..............................................................................155
                          6.1.3.20 Marking (G321) ...............................................................................................157
                          6.1.3.21 Shift function for graphic screen adjustment....................................................158
                          6.1.3.22 Reading of the graphic state (#8800) ...............................................................158
                          6.1.3.23 Brightness modulation mode display on the monochrome LCD ......................159
                          6.1.3.24 Differences from the Series 16i........................................................................159
                 6.1.4    Character String Registration Program Number Specification (#8509).............. 161
                 6.1.5    Function Screen Control Function (#8510)......................................................... 161
                 6.1.6    State Display Mask Function on the Conversational Macro Screen ................... 162
                 6.1.7    O and N Number Display Mask Function ........................................................... 162
                 6.1.8    Soft Key Frame Display Mask Function ............................................................. 162
      6.2        KEY INPUT AND DATA INPUT/OUTPUT .................................................163
                 6.2.1    Command Key Input Variable (#8501) ............................................................... 163
                 6.2.2    Data Input Control Variable (#8502) .................................................................. 167
                 6.2.3    Extended Data Input Control Variable (#8552) .................................................. 168
                                                                   c-3
TABLE OF CONTENTS                                                                                                            B-63943EN-2/01



          6.2.4      Consecutive Input of Cursor and Page Keys ....................................................... 169
          6.2.5      MDI Key Image Reading Function (#8549)........................................................ 170
   6.3    ADDRESS FUNCTIONS............................................................................173
          6.3.1      PMC Address Reference ..................................................................................... 173
          6.3.2      CNC Parameter Reference................................................................................... 175
          6.3.3      Differences from the Series 16i........................................................................... 175
   6.4    PMC ADDRESS READING/WRITING (G310) ..........................................176
          6.4.1      Differences from the Series 16i........................................................................... 177
   6.5    READER/PUNCHER INTERFACE ............................................................178
          6.5.1      General................................................................................................................. 178
          6.5.2      Function ............................................................................................................... 180
          6.5.3      Macro Variable Input/Output Functions ............................................................. 183
          6.5.4      Data Transmission/Reception Waiting Cancellation .......................................... 188
          6.5.5      FANUC Cassette Control .................................................................................... 189
          6.5.6      Completion Codes (#8539).................................................................................. 195
          6.5.7      Differences from the Series 16i........................................................................... 196
   6.6    MEMORY CARD CONTROL .....................................................................197
          6.6.1      General................................................................................................................. 197
          6.6.2      Functions ............................................................................................................. 198
          6.6.3      Completion Codes (#8539).................................................................................. 203
          6.6.4      Differences from the Series 16i........................................................................... 204
   6.7    CNC PROGRAM REFERENCING AND WRITING, AND PROGRAM
          INFORMATION READING ........................................................................205
          6.7.1      General................................................................................................................. 205
          6.7.2      Referencing and Writing CNC Programs ............................................................ 207
          6.7.3      Reading Background Editing State and Program Information (#8525 to #8528) 216
          6.7.4      Completion code (#8529) .................................................................................... 217
          6.7.5      Limitations........................................................................................................... 218
          6.7.6      Appendix tables ................................................................................................... 219
          6.7.7      Differences from the Series 16i........................................................................... 219
   6.8    CUTTING TIME, DISTANCE READ AND PRESET FUNCTIONS.............220
          6.8.1      Differences from the Series 16i........................................................................... 221
   6.9    RELATIVE COORDINATE READ AND PRESET FUNCTIONS
          (#8996 TO #8999) .....................................................................................222
   6.10   ARRAY-TYPE PROCESSING AND REFERENCING OF P-CODE
          VARIABLES ...............................................................................................225
          6.10.1     Differences from the Series 16i........................................................................... 227

                                                             c-4
B-63943EN-2/01                                                                                                  TABLE OF CONTENTS


      6.11       TORQUE LIMIT OVERRIDE CONTROL
                 (#8990 TO #8993 AND #8621 TO #8628) .................................................228
      6.12       PMC AXIS CONTROL ...............................................................................230
                 6.12.1     PMC Axis Control Using G Code ....................................................................... 230
                            6.12.1.1 General .............................................................................................................230
                            6.12.1.2 Details of control codes....................................................................................232
                            6.12.1.3 Limitations .......................................................................................................235
                 6.12.2     PMC Axis Control Using Variables .................................................................... 236
                            6.12.2.1 General .............................................................................................................236
                            6.12.2.2 Details of control variables ..............................................................................238
                            6.12.2.3 Caution .............................................................................................................239
      6.13       FILE CONTROL.........................................................................................240
                 6.13.1     General................................................................................................................. 240
                 6.13.2     Setup Procedure................................................................................................... 240
                 6.13.3     Setting.................................................................................................................. 242
                 6.13.4     Error Messages .................................................................................................... 243
                 6.13.5     List of Commands................................................................................................ 243
                 6.13.6     Caution................................................................................................................. 246
      6.14       AXIS-DIRECTION-BY-AXIS-DIRECTION INTERLOCK FUNCTION
                 (#8600, #8601, #8607, AND #8608) ..........................................................248
      6.15       WINDOW FUNCTION (#8996 TO #8999) .................................................251
                 6.15.1     General................................................................................................................. 251
                 6.15.2     Alarm Information and External Alarm Information .......................................... 256
                 6.15.3     Axis, Relative Coordinate, and Positional Deviation value ................................ 263
                 6.15.4     Run Time and Parts Count................................................................................... 264
                 6.15.5     Diagnosis Information ......................................................................................... 265
                 6.15.6     System, Servo, and PMC Series Information ...................................................... 266
                 6.15.7     Differences from the Series 16i........................................................................... 267
      6.16       FUNCTION FOR SEARCHING DATA TABLES FOR CONTROL
                 VARIABLES ...............................................................................................268
7     DEBUGGING FUNCTION ..................................................................272
      7.1        GENERAL..................................................................................................273
      7.2        DISPLAYING AND SETTING ON THE DEBUGGER SCREEN ................274
      7.3        DIRECT SETTING BY PARAMETER AND KEY .......................................279
      7.4        DIFFERENCES FROM THE Series 16i.....................................................281

8     PARAMETERS...................................................................................282
      8.1        COMPILE PARAMERTES .........................................................................283

                                                                      c-5
TABLE OF CONTENTS                                                                                        B-63943EN-2/01



    8.2      EXECUTOR PARAMETERS .....................................................................299

APPENDIX
A   ERROR NO. LIST...............................................................................311
B   CODE TABLES ..................................................................................318
C   DIFFERENCES FROM THE Series 16i .............................................327
    C.1      OVERVIEW ...............................................................................................328
    C.2      MACRO COMPILER..................................................................................329
    C.3      EXECUTION MACRO FUNCTIONS..........................................................330
    C.4      CONVERSATIONAL MACRO FUNCTIONS AND AUXILIARY MACRO
             FUNCTIONS ..............................................................................................334
    C.5      MACRO VARIABLES.................................................................................335
    C.6      MACRO EXECUTOR FUNCTIONS...........................................................336
    C.7      DEBUG FUNCTION...................................................................................339
    C.8      PARAMETERS ..........................................................................................340




                                                       c-6
B-63943EN-2/01                                                                   1.GENERAL




1                GENERAL
                           Some NC programs such as programs created using custom macros
                           need not be modified once created. Others such as machining
                           programs differ depending on the machining target.
                           This function can convert a custom macro program created by the
                           machine tool builder to an executable macro program, load the
                           executable macro program (P-CODE macro) into FLASH ROM
                           (called F-ROM in the following), and execute it.
                           The function which converts a custom macro program to an
                           executable macro program is called the macro compiler. The
                           function which reads and executes a P-CODE macro is called the
                           macro executor.

Features
                           •      The execution speed is high because a custom macro program is
                                  loaded after converted to an executable so that the machining
                                  time can be reduced and the machining precision can be
                                  improved.
                           •      Any custom macro is not destroyed because it is loaded into F-
                                  ROM so that reliability is improved.
                           •      Because executable macro programs are loaded into F-ROM,
                                  program editing memory can efficiently be used.
                           •      The user can call the execution format macro program with an
                                  easy call procedure without being conscious of the registered
                                  program. On the program edit memory, custom macros can be
                                  prepared and executed in the standard manner.
                           •      A conversational macro function is available. This function
                                  allows the machine tool builder to create original screens.
                           •      An auxiliary macro function is available. This function can
                                  execute each P-CODE macro regardless of which mode or screen
                                  is selected.
                           •      Programming errors in each P-CODE macro to be executed
                                  using the conversational macro function or auxiliary macro
                                  function can easily be detected using a debugging function.

Differences from the Series 16i
                           •      Each executable macro program can be executed only after
                                  loaded into F-ROM.




                                          -1-
1.GENERAL                                                                       B-63943EN-2/01


                      This manual covers the following models.
                      In this manual, the following abbreviations may be used for the
                      models:

                               Model name                           Abbreviation
                      FANUC Series 30i-MODEL A              30i-A             Series 30i
                      FANUC Series 300i-MODEL A            300i-A             Series 300i
                      FANUC Series 300is-MODEL A           300is-A           Series 300is


Definition of terms
                      The words used in the explanation are defined as follows.

                      (1) P-CODE file
                          ROM format file created by linking an executable macro
                          program compiled by the personal computer with compile
                          parameters
                      (2) P-CODE macro, P-CODE program
                          Execution type macro program prepared by a machine tool
                          builder, being compiled and registered to F-ROM.
                      (3) Execution macro
                          Macro program to operate machine in P-CODE macro.
                      (4) Conversational macro
                          Macro program to operate screen in P-CODE macro.
                      (5) Auxiliary macro
                          Macro program to make an auxiliary operation for the execution
                          macro and the conversational macro in P-CODE macro.
                      (6) User program
                          Program prepared by end-user for program edit memory.
                      (7) Compile parameter
                          The term, compile parameter, used in this manual does not
                          represent an ordinary CNC parameter but represents a parameter
                          determined by the link control file when a P-CODE file is
                          created. (Refer to "FANUC Macro Compiler For Series 30i
                          OPERATOR’S MANUAL (B-66264EN)".) This means that
                          the compile parameters cannot be modified, for example,
                          through the MDI panel.
                      (8) Parameter/Executor parameter
                          The term, parameter or executor parameter, used in this manual
                          represents an ordinary CNC parameter. This means that the
                          parameters and executor parameters can be modified, for
                          example, through the MDI panel.




                                   -2-
B-63943EN-2/01            2.MACRO COMPILER AND MACRO EXECUTOR




2                MACRO COMPILER AND MACRO
                 EXECUTOR




                            -3-
2.MACRO COMPILER AND MACRO EXECUTOR                                                      B-63943EN-2/01




2.1        MACRO COMPILER

                            The macro compiler converts (compiles) a custom macro program (P-
                            CODE source program) to an executable macro program. Then, the
                            macro compiler links the executable macro program with compile
                            parameters and converts it to a MEM-format file.
                            The macro compiler loads the created MEM-format file into F-ROM
                            (FLASH ROM module).
                            *   For details such as operation procedures, refer to "FANUC
                                Macro Compiler For Series 30i OPERATOR’S MANUAL (B-
                                66264EN).”

2.1.1      P-CODE Macro and P-CODE File

                            A P-CODE file is converted to a MEM-format file and the MEM-
                            format file is loaded from the memory card into Series 30i/300i/300is-
                            A F-ROM. A P-CODE file loaded into F-ROM can also be saved onto
                            a memory card.

Concept of saving and registering a P-CODE file
                         Series 30i/300i/300is-A

                            P-CODE file
                                                   LOAD
                            Compile
                            parameter          SAVE                             Conversion to
                                                                                the memory
                            P-CODE                        Memory card           card format
                            macro




                           F-ROM                                           P-CODE file




                                                                                Compile&Link




                                                                                  9001=00010000
                                                           O9000;                 9002=10000011
                                                           #1=#2+#5;                     :
                                                              :
                                                           M99;

                                                          P-CODE                Compile parameter
                                                          source program




                                            -4-
B-63943EN-2/01               2.MACRO COMPILER AND MACRO EXECUTOR

P-CODE file size
                    The size of a P-CODE file is set using one of the following compile
                    parameters:

                         P-CODE file size     Bit name   Compile parameter number
                            4096Kbyte          M4MB               9001#2
                            3072Kbyte          M3MB               9000#6
                            2048Kbyte          M2MB               9000#5
                            1024Kbyte          M1MB               9000#4
                             512Kbyte          M512               9000#3
                             256Kbyte          M256               9000#2

                    If the ROM-format file created by linking compile parameters is
                    larger than the size set as listed above, an error (ROM SIZE OVER)
                    occurs when the macro linker is executed.

                         CAUTION
                         To use a P-CODE file, an option is required. If a
                         P-CODE file loaded into the CNC is larger than the
                         size allowed by the option, the CNC does not start
                         up with error USER FILE(P-CODE):SIZE OVER.

P-CODE macro size
                    The actual size of a P-CODE macro which can be created depends on
                    the P-CODE file size as listed below.

                         P-CODE file size       P-CODE macro size
                            4096Kbyte               4075Kbyte
                            3072Kbyte               3051Kbyte
                            2048Kbyte               2027Kbyte
                            1024Kbyte               1003Kbyte
                             512Kbyte                491Kbyte
                             256Kbyte                235Kbyte




                                 -5-
2.MACRO COMPILER AND MACRO EXECUTOR                                               B-63943EN-2/01




2.2        MACRO EXECUTOR

                           The macro executor has execution macro function, conversational
                           macro function, and auxiliary macro function.

Execution macro function
                           When the user specifies a G, M, T, or specific code specified by a
                           compile parameter from a user program, the execution macro function
                           calls and executes the macro program for moving the machine
                           (execution macro) that is a P-CODE macro.
                           The user can also execute a user program not to call an execution
                           macro, but to execute a custom macro program.
                           The screen displayed by the user program is called the conventional
                           macro screen or user screen.

Conversational macro function
                           When function key      CUSTOM
                                                           is pressed, the conversational macro
                           function calls and executes a macro program for processing screens
                           (conversational macro) that is a P-CODE macro.


Auxiliary macro function
                           At power-on, the auxiliary macro function calls and executes a macro
                           program for performing auxiliary processing (auxiliary macro) that is
                           a P-CODE macro.




                                        -6-
B-63943EN-2/01                        2.MACRO COMPILER AND MACRO EXECUTOR


2.3              P-CODE MACRO

                            A P-CODE macro means an executable macro program created by
                            compiling a P-CODE source program using the macro compiler and
                            loaded it into F-ROM.

Program number
                            The program number range is from 1 to 99999999.

                              NOTE
                                To use a 5-digit or longer program number, the
                                option for 8-digit program numbers is required.

Sequence number
                            The sequence number range is from 1 to 99999999.

 - Note
                              NOTE
                                No sequence number must be added to any block
                                with an O number.
                                (The sequence number is invalidated if added.)

Number of digits of a valid setting
                            The maximum number of digits of a valid setting is 9.

Maximum number of P-CODE macros
                            The maximum number of P-CODE macros is 1000.




                                         -7-
2.MACRO COMPILER AND MACRO EXECUTOR                                                B-63943EN-2/01



2.3.1    Limitations on Commands

                        NOTE
                          For each macro executor function, there may be
                          limitations other than listed below. See the
                          explanation of each macro executor function.

Custom macro
                      Custom macro commands can be used for P-CODE macros, but some
                      commands cannot be used and some commands can be used with
                      restrictions as listed below.
                           Custom macro command                         P-CODE macro
                      A constant value consisting of up to   9 digits
                      12 digits
                      Maximum value : ±999999999999          ±999999999
                      Minimum value : ±0.00000000001         ±0.00000001
                      Chamfer command (,C_) and corner
                                                             Not allowed
                      R command (,R_)
                      The name of a nonvolatile custom
                                                             The same specification is enabled by
                      macro common variable can be
                                                             defining a symbol name(*1).
                      specified.
                                                             The same specification is enabled by
                      The name of a system variable can      defining a symbol name(*1).
                      be specified.                          As subscript [n] for a name, only a
                                                             constant can be specified(*2).
                                                             The same specification is enabled by
                      The name of a system variable can      defining a symbol name(*1).
                      be specified.                          As subscript [n] for a name, only a
                                                             constant can be specified(*2).
                      SETVN is possible.                     Not allowed
                      *1   With a P-CODE macro, a symbol name used in a source program
                           can be defined in the symbol definition file. By defining a
                           system variable/constant name used with a custom macro by
                           using this function, the same specification as done with the
                           custom macro is enabled. For details, refer to "FANUC Macro
                           Compiler For Series 30i OPERATOR'S MANUAL (B-
                           66264EN)".

                       NOTE
                         Bit symbols such as [#_M_SBK], [#_M_FIN],
                         [#_M_FHD], [#_M_OV], and [#_EST] cannot be
                         defined.

                      *2   As subscript [n] for a name, only a constant can be specified.
                           No variable and operation can be specified.
                           [Example]
                           @[#_ABSMT[1]]          #5021 : Allowed
                                               → When #101=[#_ABSMT[1]] is coded, it
                                                  is replaced with #101=#5021.
                           @[#_ABSMT[#100]] #5021 : Not allowed


                                    -8-
B-63943EN-2/01                 2.MACRO COMPILER AND MACRO EXECUTOR

Optional block skip
                      When a block with a sequence number is skipped using the optional
                      block skip function, a block consisting of only the sequence number is
                      created.

                       Example
                         Original program         Command to be executed when
                                                  skipped
                           /1 N1 X100.;           N1;
                           N2 /2 Y200.;           N2;

                      When N1 is skipped as listed above, the same operation as for N2 is
                      performed.

                           CAUTION
                           An optional block skip command can be executed in
                           execution, auxiliary, and conversational macros.
                           Carefully execute the command so that the same
                           optional block skip signal will not be used.




                                   -9-
2.MACRO COMPILER AND MACRO EXECUTOR                                                                     B-63943EN-2/01



2.3.2            Differences from the Series 16i

          Function                              Series 16i                                  Series 30i
Program                          - Programs from O1 to O9999 can be         - Programs from O1 to O99999999 can be
                                   created.                                   created.
                                 - Up to 400 programs can be registered.    - Up to 1000 programs can be registered.
Sequence number                  N1 to N99999                               N1 to N99999999
Number of digits of a valid      Up to 8 digits                             Up to 9 digits
setting
Number of IF statements in       Up to 400 IF statements                    Up to 2000 IF statements
one program
Number of IF statement           Up to 3 levels                             Up to 10 levels
nesting levels
Optional block skip              Specifiable with an execution macro only   Specifiable with an execution macro,
                                                                            auxiliary macro, or conversational macro
Specification of                 Not allowed                                Allowed
abbreviations of operation
commands (specification of
the first two characters only,
such as RO for ROUND and
FI for FIX)
ATAN[#j]                         Not allowed                                Allowed
ATAN[#j,#k]                      Not allowed                                Allowed
ATN[#j]                          Not allowed                                Allowed
ATN[#j,#k]                       Not allowed                                Allowed
ATN[#j/#k]                       Not allowed                                Allowed
RND[#j]                          Not allowed                                Allowed
SQR[#j]                          Not allowed                                Allowed
POW[#i,#j]                       Not allowed                                Allowed




                                                           - 10 -
B-63943EN-2/01                         2.MACRO COMPILER AND MACRO EXECUTOR


2.4              MULTI-PATH CONTROL FUNCTION

                              The macro executor of the FANUC Series 30i/300i/300is-A is
                              designed to enable independent path-by-path operation and data
                              sharing in a multi-path system and to build an efficient system.

                              The macro executor has three features:
                              <1> Independent operating environment for each path
                              <2> Variable area that can be easily shared among paths
                              <3> Multiple P-CODE macros independent of paths

2.4.1            Independent Operating Environment for Each Path

                              An independent operation can be performed in each path.

                              Execution macro      : Usable in automatic operation by each path
                              Conversational macro : A conversational macro program of the path
                                                     selected on the screen display is executed.
                              Auxiliary macro      : Auxiliary macros as many as up to the
                                                     number of paths are executed simultaneously.

                              So, executor parameters, local variables, common variables (#100 and
                              up, #500 and up), and system variables are provided separately for
                              each path.

2.4.2            P-CODE Variables/Extended P-CODE Variables Common to
                 Paths

                              For P-CODE variables (#10000 and up)/extended P-CODE variables
                              (#20000 and up), multiple variable areas can be allocated on an S-
                              RAM file. No fixed variable area is assigned to each path. Instead,
                              a variable area can be selected for each path by using parameters (Nos.
                              9051 and 9052).
                              -    When a different variable area number is set for each path in
                                   parameters (Nos. 9051 and 9052)
                                   → The variables are used as independent variables for each
                                         path.
                              -    When the same variable area number is set for all paths in
                                   parameters (Nos. 9051 and 9052)
                                   → The variables are used as variables common to all paths.




                                           - 11 -
2.MACRO COMPILER AND MACRO EXECUTOR                                                    B-63943EN-2/01



Example of setting
                             P-CODE variables (#10000 and up) are shared by all paths, and
                             extended P-CODE variables (#20000 and up) are used separately by
                             each path.
                         Path 1                         Path 2                       Path 3

                     Executor parameter             Executor parameter          Executor parameter
                         No.9051=1                      No.9051=1                   No.9051=1
                         No.9052=1                      No.9052=2                   No.9052=3


                       Variable area 1                Variable area 2              Variable area 3

                     Common to all paths              #10000-#19999                #10000-#19999
                       #10000-#19999                    (Not used)                   (Not used)
                         For path 1                     For path 2                   For path 3
                         #20000 to                      #20000 to                    #20000 to
                       #29999 and up                  #29999 and up                #29999 and up


                             Set the number of variable areas and variable type (floating-point or
                             integer) for each of variables 1, 2, 3, and so on in the parameters (No.
                             9053, No. 9054, bit 3 of No. 9033, and bit 4 of No. 9033) for each of
                             paths 1, 2, 3, and so on.

2.4.3      Multiple P-CODE Macros Independent of Paths

                             P-CODE macros can be shared among paths.
                             P-CODE macros executed by each path are selected using parameters
                             (Nos. 9048 to 9050) for execution macros, concurrent macros, and
                             auxiliary macros.
                             In this way, P-CODE macros to be registered can be grouped for
                             sharing, or divided separately into execution macros, conversational
                             macros, and auxiliary macros.




                                           - 12 -
B-63943EN-2/01                              2.MACRO COMPILER AND MACRO EXECUTOR

Example of setting 1
 - When conversational macros/auxiliary macros are shared
                                   Different execution macros are used for each path, and the
                                   conversational macros/auxiliary macros of P-CODE1 only are used.
                                   P-CODE2 and P-CODE3 include execution macros only, so that the
                                   F-ROM can be saved.
                          Path 1                              Path 2                  Path 3

                   Executor parameter                   Executor parameter      Executor parameter
                       No.9048=1                            No.9048=2               No.9048=3
                       No.9049=1                            No.9049=1               No.9049=1
                       No.9050=1                            No.9050=1               No.9050=1


                        P-CODE1                             P-CODE2                P-CODE3

                    Execution macros                    Execution macros         Execution macros
                        for path 1                         for path 2               for path 3
                     Conversational
                    macros for path 1
                     Auxiliary macros
                   common to all paths




Example of setting 2
 - When P-CODE macros are divided separately into execution
   macros/conversational macros/auxiliary macros
                                   Execution macros, conversational macros, and auxiliary macros are
                                   registered separately in each P-CODE. Macro replacement is
                                   enabled on the basis of each P-CODE.


                           Path 1                              Path 2                  Path 3

                    Executor parameter                   Executor parameter       Executor parameter
                        No.9048=1                            No.9048=1                No.9048=1
                        No.9049=2                            No.9049=2                No.9049=2
                        No.9050=3                            No.9050=3                No.9050=3

                          P-CODE 1                          P-CODE 2                  P-CODE 3



                       Execution macro              Conversational macro           Auxiliary macro




                                               - 13 -
3.EXECUTION MACRO FUNCTION             B-63943EN-2/01




3           EXECUTION MACRO FUNCTION




                             - 14 -
B-63943EN-2/01                                       3.EXECUTION MACRO FUNCTION


3.1              GENERAL

Execution macro
                           An execution macro is a loaded P-CODE macro which is operated as
                           a machining program.
                           A registered P-CODE macro cannot be executed singly.
                           A registered P-CODE macro is called for execution from a user
                           program by using a call code such as G, M, S, or T specified by a
                           compile parameter.        An execution macro allows the same
                           specification as done with a custom macro.
                           Which P-CODE to be executed by each path is set in parameter (No.
                           9048).
                           At this time, an argument can be specified in a macro call, and can be
                           referenced as a local variable by a P-CODE macro (execution macro).

User program / Custom macro
                           A user program means an NC program loaded into program memory
                           or an NC program to be executed as an execution macro caller during
                           DNC or MDI operation.

                           A custom macro means an NC program to be called as a macro or
                           subprogram in a user program.




                                        - 15 -
3.EXECUTION MACRO FUNCTION                                                                              B-63943EN-2/01




3.2               CALLING AN EXECUTION MACRO

Macro call and subprogram call
                                          Execution macro calls can roughly be divided into two types: macro
                                          calls and subprogram calls. Macro calls are further divided into two
                                          types: special macro calls using a T code/axis address, and other
                                          macro calls.

                                                                                 Macro call
                         Subprogram call                   Macro call using
                                                                                            Special macro call(*2)
                                                     G65/G66/G66.1/G/M code
                                                 All specifications after a call
                                                                                      All addresses specified in the
                                                 code are passed as arguments
   Argument-                                                                          block are passed as arguments
                           Not allowed           (#1 to #26). Two types are
  specification                                                                       (#1 to #33), and argument
                                                 available: argument specification
                                                                                      specification II cannot be used.
                                                 I and II.
                                                 A command after a call code is
                                                 treated as an argument. For a
  NC command        The NC statement is first                                         Treated as an argument. (A call
                                                 command before a call code,
 specified in the   executed, then the                                                code need not be placed at the
                                                 alarm PS0127 is issued. (A call
   same block       execution macro is called.                                        start of the block.)
                                                 code must be specified at the
                                                 start of the block.)
                    The level does not
 Local variables                                                         The level changes.
                    change(*1).
                                          Simple calls and modal calls are also included in macro calls. A
                                          simple call (also called a macro call) calls an execution macro only in
                                          the specified block. A modal call calls an execution macro in each
                                          block until G67 is specified.
                                          *1 Usually, the level is not changed by a subprogram call.
                                               When bit 3 (LCLLV) of compile parameter (No. 9163) is set to 1,
                                               Series 16i compatibility is provided. This means that the level
                                               changes only when an execution macro is called as a subprogram
                                               from a user program (using an M/S/T/second auxiliary
                                               function/specific code).
                                          *2 Special macro calls include calls using a T code/axis address.

Types of calls
                                                   Common
                           Program number         variable for
       Call code                                                    Parameters to be set             Remarks
                                called             storing a
                                                 specified code
                                                                                              No execution macro
                           Specified at                                                       can be called from any
Simple call (G65)                                    None                   None
                           address P.                                                         user program using
                                                                                              this command.
                                                                                              No execution macro
                           Specified at                                                       can be called from any
Modal call (G66,G66.1)                               None                   None
                           address P.                                                         user program using
                                                                                              this command.




                                                       - 16 -
B-63943EN-2/01                                                       3.EXECUTION MACRO FUNCTION

                                                   Common
                             Program number       variable for
        Call code                                                  Parameters to be set          Remarks
                                  called           storing a
                                                 specified code
                                                                                           Only G codes with no
                                                                    Compile parameters     decimal point can be
 Macro call using G code     O9010 to O9019          None
                                                                    (Nos. 9013 to 9022)    used. Modal calls are
                                                                                           allowed.
                                                                                           Only G codes with no
 Macro call using G code                                            Compile parameters     decimal point can be
                             Parameter setting       None
 (specification of 1 set)                                           (Nos. 9045 to 9047)    used. Modal calls are
                                                                                           allowed.
                                                                    Compile parameters
                                                                     (Nos. 9129 to 9131)   Only G codes with no
 Macro call using G code                                            Compile parameters     decimal point can be
                             Parameter setting       None
 (specification of 3 sets)                                           (Nos. 9132 to 9134)   used. Modal calls are
                                                                    Compile parameters     allowed.
                                                                     (Nos. 9135 to 9137)
                                                                    Compile parameters
 Macro call using M code     O9020 to O9029          None
                                                                     (Nos. 9023 to 9032)
                                                                    Compile parameters
                                                                     (Nos. 9120 to 9122)
 Macro call using M code                                            Compile parameters
                             Parameter setting       None
 (specification of 3 sets)                                           (Nos. 9123 to 9125)
                                                                    Compile parameters
                                                                     (Nos. 9126 to 9128)
 Special macro call using                                            Compile parameter
                             O9008                    #27
 T code                                                             TMACC (No. 9005#7)
                                                                    Compile parameters
                                                                            AxnCL
                                                                      (No. 9005#0 to #3,
                             O9009 or O9031
 Special macro call using                                             No. 9008#0 to #3,
                             to O9030+n (n :          #27
 axis address                                                          No. 9164#0 to #7
                             number of axes)
                                                                       No. 9165#0 to #7
                                                                      No. 9166#0 to #7)
                                                                  and AXCLS (No. 9005#4)
                                                                                           No execution macro
                             Specified at                                                  can be called from any
 Subprogram call (M98)                               None                 None
                             address P.                                                    user program using
                                                                                           this command.
 Subprogram call using M                                            Compile parameters
                             O9001 to O9003          None
 code                                                               (Nos. 9010 to 9012)
 Subprogram call using M
                                                                    Compile parameters
 code in the specified       O9009                   #148
                                                                   (Nos. 9042 and 9043)
 range
                                                                   Compile parameters
                                                                   (Nos. 9111 to 9113)
 Subprogram call using M
                                                                   Compile parameters
 code (specification of 3    Parameter setting       None
                                                                   (Nos. 9114 to 9116)
 sets)
                                                                   Compile parameters
                                                                    (Nos. 9117 to 9119)
 Subprogram call using S                                          Compile parameter SSC
                             O9029                   #147
 code                                                                  (No. 9105#0)
 Subprogram call using T                                            Compile parameter
                             O9000                   #149
 code                                                               TCAL (No. 9002#0)

                                                       - 17 -
3.EXECUTION MACRO FUNCTION                                                                         B-63943EN-2/01


                                                    Common
                            Program number         variable for
       Call code                                                    Parameters to be set         Remarks
                                 called             storing a
                                                  specified code
Subprogram call using
                                                                   Compile parameter BSC
second auxiliary function   O9028                     #146
                                                                       (No. 9105#1)
code
                                                                    Compile parameters
                                                                   ACL1/ACL2 (No. 9002#1
Subprogram call using                                 #146
                            O9004, O9005                                   or #2)
specific code                                         #147
                                                                         Parameters
                                                                     (No.6090 and 6091)
                                                                                           A user program in
Subprogram call for user    Specified at                             Compile parameter     program memory is
                                                      None
program (*2)                address P.                                  (No. 9033)         called from an
                                                                                           execution macro.
                                                                                           An execution macro is
                                                                                           called preceding the
P-CODE workpiece            Set for a control                       Compile parameter
                                                      None                                 main program at the
number search               variable.                               PWSR (No. 9002#6)
                                                                                           start of automatic
                                                                                           operation.
                                           *2   Function specific to execution macros. This function calls no
                                                execution macro.

                                            NOTE
                                            1 The correspondence between codes used for
                                              macro and subprogram calls and the numbers of
                                              called programs, and whether to call a
                                              subprogram/macro are determined by compile
                                              parameters. The compile parameters are
                                              registered in the F-ROM at compile time. Be sure
                                              to specify the compile parameters at compile time.
                                            2 Set a code for a subprogram call using a specific
                                              code in parameters (Nos. 6090 and 6091) at
                                              execution time.




                                                        - 18 -
B-63943EN-2/01                                                       3.EXECUTION MACRO FUNCTION

Usable call command
                                                            Call method (call source → call destination)
                                                    User program       Execution macro        Execution macro
                                                    →Execution macro →Execution macro →User program
    Simple call of execution macro (G65)
    Modal call of execution macro (G66, G66.1)
    Macro call using G code
    Macro call using G code
    (specification of 1 set)
    Macro call using G code
    (specification of 3 sets)
    Macro call using M code
    Macro call using M code
    (specification of 3 sets)
    Special macro call using T code
    Special macro call using axis address
    Subprogram call of execution macro (M98)
    Subprogram call using M code
    Subprogram call using M code in the specified
    range
    Subprogram call using M code
    (specification of 3 sets)
    Subprogram call using S code
    Subprogram call using T code
    Subprogram call using second auxiliary
    function code
    Subprogram call using specific code
    Subprogram call of user program                             -                 -
    External device subprogram call (M198)
                                              : Allowed
                                             : Not allowed
                                              : Depends on bit 2 (PCDC) of compile parameter (No. 9163) and
                                                bit 6 (GMP) of parameter (No. 6008).
                                                See "Limitations on calls" described later for details.

Limitations on calls
                                        1)     G65, G66, G66.1, or M98 cannot be used to call an execution
                                               macro from a user program.
                                        2)     It is impossible to make a call using an M, S, T, second auxiliary
                                               function code, or specific code from a macro program called
                                               with a G code. It is also impossible to make a macro call using
                                               G code from a program called using a G, M, S, T, second
                                               auxiliary function code, or specific code. (However, this
                                               limitation does not apply when an execution macro is called
                                               from a user program called with a G, M, S, T, second auxiliary
                                               function code, or specific code.)
                                        3)     The following features may be observed depending on the values
                                               of bit 2 (PCDC) of compile parameter No. 9163 and bit 6 (GMP)
                                               of parameter No. 6008.
                                               In this description, calls using a G, M, S, T, second auxiliary
                                               function code, or specific code are generically referred to as calls
                                               using a code.

                                                       - 19 -
3.EXECUTION MACRO FUNCTION                                                                          B-63943EN-2/01


                                          <1> When an execution macro is called from a user program
                                              No particular limitation is imposed. Even from a user
                                              program called using a G/M/S/T/second auxiliary function/
                                              specific code, an execution macro call using each code and
                                              call using an axis address can be made.
                                          <2> When an execution macro is called from another execution
                                              macro
                                              Compile parameter PCDC(No. 9163#2)
                                          0                                                1
                                                                    Calls using G65, M98, G66, and G66.1 are
                 0                                                  allowed.
                                                                    Other types of calls are disabled.
                                                                    - Calls using G65, M98, G66, and G66.1 are
                                                                       allowed.
                                                                    - From an execution macro called using a G
                                                                       code, another execution macro can be
 Parameter GMP       Calls using G65 and M98 only are allowed.         called using a code other than G codes (or
  (No.6008#6)        Other types of calls are disabled.                using an axis address).
                 1                                                  - From an execution macro called using a
                                                                       code other than G codes (or using an axis
                                                                       address), another execution macro can be
                                                                       called using a G code.
                                                                    - Other types of calls (G code → G code,
                                                                       code other than G codes → code other
                                                                       than G codes) are disabled.
                                    <3> When a user program is called from an execution macro
                                                Compile parameter PCDC(No. 9163#2)
                                             0                                             1
                     User macro calls using G65, M98, G66, and G66.1 only are allowed.
                 0
                     Other types of calls are disabled.
                     - For user program calls                        - For user program calls and execution
                       Calls using G65, M98, G66, and G66.1 only        macro calls
                       are allowed.                                     A user program or execution macro can
                       Other types of calls are disabled.               be called under the same condition as for
                     - For execution macro calls                        an execution macro call performed when
                       - From a user program called using a G           bit 6 (GMP) of parameter (No. 6008) is set
                          code, an execution macro can be called        to 1, and bit 2 (PCDC) of compile
                          using a code other than G codes (or           parameter (No. 9163) is set to 0.
 Parameter GMP            using an axis address).
  (No.6008#6)          - From a user program called using a
                 1
                          code other than G codes (or using an
                          axis address), an execution macro can
                          be called using a G code.
                       - Other types of calls (G code → G code,
                          code other than G codes → code other
                          than G codes) are disabled.
                     - After an execution macro is called, the user - After an execution macro is called, the user
                       program cannot be called again. (The           program can be called again.            (The
                       duplicate calling of a user program is         duplicated calling of a user program is
                       disabled.)                                     allowed.)


 NOTE
   If a disabled type of call is attempted, the command is treated as an ordinary
   G/M/S/T/second auxiliary function/axis address code.
                                                   - 20 -
B-63943EN-2/01                                    3.EXECUTION MACRO FUNCTION

Priority of calls
                    If a call command is set in addition to a custom macro and another
                    call command, the priority order indicated below is applied.
                         Priority                                Call
                          High      Simple call of execution macro (G65)
                            ↑       Modal call of execution macro (G66,G66.1)
                            |       Macro call using G code
                            |       Macro call using G code (specification of 1 set)
                            |       Macro call using G code (specification of 3 sets)
                            |       Macro call using M code
                            |       Macro call using M code (specification of 3 sets)
                            |       Special macro call using axis address
                            |       Special macro call using T code
                            |       Subprogram call of execution macro (M98)
                                                                             (*1)
                            |       External device subprogram call (M198)
                            |       Subprogram call for user program
                            |       Subprogram call using specific code
                            |       Subprogram call using M code
                            |       Subprogram call using M code in the specified range
                            |       Subprogram call using M code (specification of 3 sets)
                            |       Subprogram call using S code
                            |       Subprogram call using T code
                            ↓       Subprogram call using second auxiliary function code
                          Low       Macro call/subprogram call which calls custom macro
                    *1     This priority is applied when an external device subprogram call
                           is executed from an execution macro.

                      Example
                        When M100 is set in a macro call using an M code
                        and a subprogram call using an M code, it operates
                        as a macro call using an M code if actually
                        executed.

Nesting
                    Execution macro calls can be nested to a depth of fifteen levels
                    including only subprogram calls, to a depth of five levels including
                    only macro calls, or to a depth of fifteen levels including subprogram
                    calls and macro calls (to a depth of five levels for macro calls). This
                    does not include custom macros.
                    Subprogram calls for user programs and external device subprogram
                    calls from execution macros are included in the custom macro nesting
                    levels.




                                    - 21 -
3.EXECUTION MACRO FUNCTION                                                       B-63943EN-2/01



Passing of arguments
                       For a macro call, arguments can be specified.
                       Two types of argument specification are available. Argument
                       specification I uses letters other than G, L, O, N, and P once each.
                       Argument specification II uses A, B, and C once each and also uses I,
                       J, and K up to ten times. The type of argument specification is
                       determined automatically according to the letters used.

                       Argument specification I
                           Address   Variable     Address    Variable     Address    Variable
                                     Number                  Number                  Number
                             A         #1            I          #4           T         #20
                             B         #2            J          #5           U         #21
                             C          #3           K          #6           V         #22
                             D          #7           M         #13           W         #23
                             E         #8            Q         #17           X         #24
                             F          #9           R         #18           Y         #25
                             H         #11           S         #19           Z         #26
                       •      Usually, addresses G, L, N, O, and P cannot be used as
                              arguments. When bit 5 (MCARG) of compile parameter ‘No.
                              9008) is set to 1, however, G, L, N, and P can be used as
                              arguments in macro calls using G code and macro calls using M
                              code. The correspondence is: G#10, L#12, N#14, and P#16.
                              (If address N is specified after any address other than address O
                              or N, it is treated as an argument. In this case, the number of
                              digits after the decimal point is zero.)
                           NOTE
                           1 Limitations related to the input format for NC
                             commands apply to the data used as the argument.
                             For example, it is impossible to specify the
                             argument together with G1000., P0.12, or L-4.
                           2 When multiple G codes are specified, only the last
                             one is used as an argument. O and N values and
                             G codes other than the 00 group are passed as
                             modal information to the subsequent blocks.
                              Even in a special macro call, any address other than O is used as
                              an argument. For details, see the description of each type of
                              call.
                       •      Addresses that need not be specified can be omitted. Local
                              variables corresponding to an omitted address are set to null.
                       •      Addresses do not need to be specified alphabetically. They
                              conform to word address format.
                              I, J, and K need to be specified alphabetically, however.
                              [Example]
                              B_A_D_ . . . J_K_ . . . ...........Correct
                              B_A_D_ . . . J_I_ . . . ............Incorrect




                                      - 22 -
B-63943EN-2/01                                               3.EXECUTION MACRO FUNCTION

                              Argument specification II
                              •   Argument specification II uses A, B, and C once each and uses I,
                                  J, and K up to ten times.
                              •   Argument specification II is used to pass values such as three-
                                  dimensional coordinates as arguments.
                              •   Subscripts of I, J, and K for indicating the order of argument
                                  specification are not written in the actual program.
                                              Variable                 Variable                 Variable
                                Address                      Address                Address
                                              Number                   Number                   Number
                                   A             #1            K3        #12          J7          #23
                                   B             #2            I4        #13          K7          #24
                                   C            #3             J4        #14           I8         #25
                                   I1            #4            K4        #15          J8          #26
                                   J1            #5            I5        #16          K8          #27
                                   K1            #8            J5        #17           I9         #28
                                   I2            #7            K5        #18          J9          #29
                                   J2            #8            I6        #19          K9          #30
                                   K2            #9            J6        #20          I10         #31
                                   I3           #10            K6        #21          J10         #32
                                   J3           #11            I7        #22          K10         #33


                                NOTE
                                  In a special macro call, argument specification II
                                  cannot be used.

 - Limitation
   Format
                              Specify a macro call code (G65/G66/G66.1/Gg/Mm) for other than
                              special macro calls before all arguments.

   Mixture of argument specifications I and II
                              The CNC internally identifies argument specification I and argument
                              specification II. If a mixture of argument specification I and argument
                              specification II is specified, the type of argument specification
                              specified later takes precedence.

                                 Example
                                 G65 A1.0       B2.0 I-3.0    I4.0 D5.0   P1000 ;




                                <Variables>
                                 #1:1.0
                                 #2:2.0
                                 #3:
                                 #4:-3.0
                                 #5:
                                 #6:
                                 #7:4.0                  5.0

                                     When both the I4.0 and D5.0 arguments are commanded for
                                     variable #7 in this example, the latter, D5.0, is valid.


                                              - 23 -
3.EXECUTION MACRO FUNCTION                                                              B-63943EN-2/01




  Position of the decimal point
                             The units used for argument data passed without a decimal point
                             correspond to the least input increment of each address.
                                  NOTE
                                    The value of an argument passed without a decimal
                                    point may vary according to the system configuration
                                    of the machine. It is good practice to use decimal
                                    points in macro call arguments to maintain program
                                    compatibility.

Local variable levels
                             •      Each time a macro is called (such as G65, G66, G66.1/Gg), the
                                    local variable level is incremented by one. The values of the
                                    local variables at the previous level are saved in the CNC.
                             •      When M99 is executed in a macro program, control returns to
                                    the calling program. At that time, the local variable level is
                                    decremented by one; the values of the local variables saved when
                                    the macro was called are restored.
                             •      Usually, the local variable level does not change due to a
                                    subprogram call. However, when an execution macro is called
                                    as a subprogram from a user program (using M/S/T/second
                                    auxiliary function/specific code), the local variable level can be
                                    changed as in the case of a macro call by setting bit 3 (LCLLV)
                                    of compile parameter (No. 9163) to 1 (Series 16i compatibility
                                    specification).




                                            - 24 -
B-63943EN-2/01                                     3.EXECUTION MACRO FUNCTION

                 Example
                  M code for calling O9001 as a subprogram is M200.

                  User program                                  Execution                              Execution
                  (Main program)                                macro                                  macro
                       O0001 ;              Subprogram                                                 O0001 ;
                                                       O9001 ;                    Macro call
                                            call                                                          :
                          :                               :
                       #1=1.0 ;                        #2=2.0 ;                                        #3=3.0 ;
                       M200 ;                          M98 P1 ;                                           :
                          :                               :                                               :
                       M30 ;                           M99 ;                                           M99 ;


                 - When bit 3 (LCLLV) of compile parameter (No. 9163) is set to 0
                   Local variables              Local variables                   Local variables
                   (Level 0)                    (Level 0)                         (Level 0)
                     #1        1.0               #1        1.0                    #1        1.0
                      #2             null               #2                 null                #2                  null
                      #3             null               #3                 null                #3                  3.0
                       :     :                          :          :                           :           :
                       :     :                          :          :                           :           :
                      # 33           null               # 33               null                # 33                null

                                                        The local variable level does not change because
                                                        a subprogram call is made as in the case of a
                                                        custom macro.
                                                        (The local variables at the call source are used.)

                 - When bit 3 (LCLLV) of compile parameter (No. 9163) is set to 1
                     Local variables                    Local variables                        Local variables
                     (Level 0)                          (Level 1)                              (Level 1)
                      #1             1.0                #1                 null                #1        null
                      #2             null               #2                 null                #2                  null
                      #3             null               #3                 null                #3                  3.0
                       :         :                          :          :                           :           :
                       :         :                          :          :                           :           :
                      # 33           null                # 33              null                # 33                null
                                               The local variable level               For a subprogram call
                                               changes, although a                    from an execution macro,
                                               subprogram call is made.               the local variable level
                                               (The local variables at the call       does not change.
                                               destination are used.)




                             - 25 -
3.EXECUTION MACRO FUNCTION                                                                  B-63943EN-2/01



3.2.1        Simple Call (G65)

                           An execution macro specified using address P is called as a macro.

Format
                                                          G65 : Call command.
                                                                 Must be specified before any argument.
                            G65 P p L l <argument-        P    : Program number of an execution macro to
                            specification> ;                     be called
                                                          l    : Repetition count (1 by default)
                                                                 1 to 999999999
                                                          argument : Data to be passed to the execution
                                                                     macro. Argument specifications I and II
                                                                     are available.

                                        Execution macro                     Execution macro

                                     O9010 ;                             O0100 ;
                                      :                                  #3=#1+#2 ;
                                     G65 P100 L2 A1.0 B2.0 ;             IF [#3 GT 360] GOTO 9 ;
                                      :                                  G00 G91 X#3 ;
                                     M99 ;                               N9 M99 ;



Limitation
                           No execution macro can be called from any user program using this
                           command. This command can be specified only for calling an
                           execution macro from another execution macro.




                                         - 26 -
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01
B 63943 en-2-01

Weitere ähnliche Inhalte

Was ist angesagt?

303221857 manual-electronica-del-automovil-pdf
303221857 manual-electronica-del-automovil-pdf303221857 manual-electronica-del-automovil-pdf
303221857 manual-electronica-del-automovil-pdfNery Guerrero
 
Automatismos industriales-cableados-1
Automatismos industriales-cableados-1Automatismos industriales-cableados-1
Automatismos industriales-cableados-1Avelino Santiago
 
Treinamento em Programação de Nível Avançado para o Controlador NX-100
Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100 Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100
Treinamento em Programação de Nível Avançado para o Controlador NX-100 Gerson Roberto da Silva
 
PLC: Programación y Automatización de PLC Siemens S7-200
PLC: Programación y Automatización de PLC Siemens S7-200PLC: Programación y Automatización de PLC Siemens S7-200
PLC: Programación y Automatización de PLC Siemens S7-200SANTIAGO PABLO ALBERTO
 
B 65285 ja-04
B 65285 ja-04B 65285 ja-04
B 65285 ja-04mt7038
 
SENSORES Y ACTUADORES MATERIAL DE ESTUDIO.pdf
SENSORES Y ACTUADORES MATERIAL DE ESTUDIO.pdfSENSORES Y ACTUADORES MATERIAL DE ESTUDIO.pdf
SENSORES Y ACTUADORES MATERIAL DE ESTUDIO.pdfXaviBermeo1
 
PLC y Electroneumática: Controles y automatismos eléctricos
PLC y Electroneumática: Controles y automatismos eléctricosPLC y Electroneumática: Controles y automatismos eléctricos
PLC y Electroneumática: Controles y automatismos eléctricosSANTIAGO PABLO ALBERTO
 
Curso redes-control-device-net
Curso redes-control-device-netCurso redes-control-device-net
Curso redes-control-device-netRoberto Lamilla
 
B 65280 en-08
B 65280 en-08B 65280 en-08
B 65280 en-08mt7038
 
Jcb 1 cx operator manual
Jcb 1 cx operator manualJcb 1 cx operator manual
Jcb 1 cx operator manualfjjsekwsxkdmmem
 
329200431 omron-cefire-cc
329200431 omron-cefire-cc329200431 omron-cefire-cc
329200431 omron-cefire-ccCarlos Benito
 
Dispositivos actuadores y preactuadores
Dispositivos actuadores y preactuadoresDispositivos actuadores y preactuadores
Dispositivos actuadores y preactuadoresyossemithaponte
 
Cambiar la junta de balancines
Cambiar la junta de balancinesCambiar la junta de balancines
Cambiar la junta de balancinesNavi Kanaby
 

Was ist angesagt? (20)

303221857 manual-electronica-del-automovil-pdf
303221857 manual-electronica-del-automovil-pdf303221857 manual-electronica-del-automovil-pdf
303221857 manual-electronica-del-automovil-pdf
 
Automatismos industriales-cableados-1
Automatismos industriales-cableados-1Automatismos industriales-cableados-1
Automatismos industriales-cableados-1
 
GRAFCET, Ejercicio+Soluciones.pdf
GRAFCET, Ejercicio+Soluciones.pdfGRAFCET, Ejercicio+Soluciones.pdf
GRAFCET, Ejercicio+Soluciones.pdf
 
Ecas bus
Ecas busEcas bus
Ecas bus
 
Treinamento em Programação de Nível Avançado para o Controlador NX-100
Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100 Treinamento  em Programação de  Nível Avançado  para o Controlador  NX-100
Treinamento em Programação de Nível Avançado para o Controlador NX-100
 
Mitsubishi SFC.pdf
Mitsubishi SFC.pdfMitsubishi SFC.pdf
Mitsubishi SFC.pdf
 
PLC: Programación y Automatización de PLC Siemens S7-200
PLC: Programación y Automatización de PLC Siemens S7-200PLC: Programación y Automatización de PLC Siemens S7-200
PLC: Programación y Automatización de PLC Siemens S7-200
 
Maquinas ac liwschitz garik,
Maquinas ac liwschitz garik,Maquinas ac liwschitz garik,
Maquinas ac liwschitz garik,
 
B 65285 ja-04
B 65285 ja-04B 65285 ja-04
B 65285 ja-04
 
Unidad 1 curso de plc
Unidad 1 curso de plcUnidad 1 curso de plc
Unidad 1 curso de plc
 
Proyecto de tarjeta para ascensor
Proyecto de tarjeta para ascensorProyecto de tarjeta para ascensor
Proyecto de tarjeta para ascensor
 
SENSORES Y ACTUADORES MATERIAL DE ESTUDIO.pdf
SENSORES Y ACTUADORES MATERIAL DE ESTUDIO.pdfSENSORES Y ACTUADORES MATERIAL DE ESTUDIO.pdf
SENSORES Y ACTUADORES MATERIAL DE ESTUDIO.pdf
 
PLC y Electroneumática: Controles y automatismos eléctricos
PLC y Electroneumática: Controles y automatismos eléctricosPLC y Electroneumática: Controles y automatismos eléctricos
PLC y Electroneumática: Controles y automatismos eléctricos
 
Curso redes-control-device-net
Curso redes-control-device-netCurso redes-control-device-net
Curso redes-control-device-net
 
B 65280 en-08
B 65280 en-08B 65280 en-08
B 65280 en-08
 
Jcb 1 cx operator manual
Jcb 1 cx operator manualJcb 1 cx operator manual
Jcb 1 cx operator manual
 
329200431 omron-cefire-cc
329200431 omron-cefire-cc329200431 omron-cefire-cc
329200431 omron-cefire-cc
 
PLC: Programación en PLC LOGO
PLC: Programación en PLC LOGO PLC: Programación en PLC LOGO
PLC: Programación en PLC LOGO
 
Dispositivos actuadores y preactuadores
Dispositivos actuadores y preactuadoresDispositivos actuadores y preactuadores
Dispositivos actuadores y preactuadores
 
Cambiar la junta de balancines
Cambiar la junta de balancinesCambiar la junta de balancines
Cambiar la junta de balancines
 

Andere mochten auch

B 64484 ja-1-03
B 64484 ja-1-03B 64484 ja-1-03
B 64484 ja-1-03mt7038
 
B 64484 ja-2-03
B 64484 ja-2-03B 64484 ja-2-03
B 64484 ja-2-03mt7038
 
B 64014 ja-04
B 64014 ja-04B 64014 ja-04
B 64014 ja-04mt7038
 
B 64485 ja-01
B 64485 ja-01B 64485 ja-01
B 64485 ja-01mt7038
 
B 64490 ja-03
B 64490 ja-03B 64490 ja-03
B 64490 ja-03mt7038
 
B 65280 ja-08
B 65280 ja-08B 65280 ja-08
B 65280 ja-08mt7038
 

Andere mochten auch (6)

B 64484 ja-1-03
B 64484 ja-1-03B 64484 ja-1-03
B 64484 ja-1-03
 
B 64484 ja-2-03
B 64484 ja-2-03B 64484 ja-2-03
B 64484 ja-2-03
 
B 64014 ja-04
B 64014 ja-04B 64014 ja-04
B 64014 ja-04
 
B 64485 ja-01
B 64485 ja-01B 64485 ja-01
B 64485 ja-01
 
B 64490 ja-03
B 64490 ja-03B 64490 ja-03
B 64490 ja-03
 
B 65280 ja-08
B 65280 ja-08B 65280 ja-08
B 65280 ja-08
 

Ähnlich wie B 63943 en-2-01

B 65270 en-07
B 65270 en-07B 65270 en-07
B 65270 en-07mt7038
 
Omron PLC cqm1 opearation manual
Omron PLC cqm1 opearation manualOmron PLC cqm1 opearation manual
Omron PLC cqm1 opearation manualYan Zhang
 
En 600stdprg fwmanual
En 600stdprg fwmanualEn 600stdprg fwmanual
En 600stdprg fwmanualToàn Huỳnh
 
Mobrey mcu900 series
Mobrey mcu900 seriesMobrey mcu900 series
Mobrey mcu900 seriesshahrule
 
AMD "Advanced Synchronization Facility" Proposal
AMD "Advanced Synchronization Facility" Proposal AMD "Advanced Synchronization Facility" Proposal
AMD "Advanced Synchronization Facility" Proposal Alexey Ivanov
 
Modicon TM3 - Safety Modules, Hardware Guide.pdf
Modicon TM3 - Safety Modules, Hardware Guide.pdfModicon TM3 - Safety Modules, Hardware Guide.pdf
Modicon TM3 - Safety Modules, Hardware Guide.pdfAnooMehmood
 
Fanuc pmc programming manual
Fanuc pmc programming manualFanuc pmc programming manual
Fanuc pmc programming manualAntonio J
 
Analog module omron
Analog module omronAnalog module omron
Analog module omronAlain Hua
 
Simocode dp = manual de parametrização e operação
Simocode dp = manual de parametrização e operaçãoSimocode dp = manual de parametrização e operação
Simocode dp = manual de parametrização e operaçãoconfidencial
 
controlador manual
controlador manual controlador manual
controlador manual Pedro Roman
 

Ähnlich wie B 63943 en-2-01 (20)

B 65270 en-07
B 65270 en-07B 65270 en-07
B 65270 en-07
 
910 247 f-lr-1
910 247 f-lr-1910 247 f-lr-1
910 247 f-lr-1
 
Omron PLC cqm1 opearation manual
Omron PLC cqm1 opearation manualOmron PLC cqm1 opearation manual
Omron PLC cqm1 opearation manual
 
En 600stdprg fwmanual
En 600stdprg fwmanualEn 600stdprg fwmanual
En 600stdprg fwmanual
 
Lenovo c200
Lenovo c200Lenovo c200
Lenovo c200
 
Daugiau apie so machine programinę įrangą
Daugiau apie so machine programinę įrangąDaugiau apie so machine programinę įrangą
Daugiau apie so machine programinę įrangą
 
Network updater4 0onlinehelpissue2
Network updater4 0onlinehelpissue2Network updater4 0onlinehelpissue2
Network updater4 0onlinehelpissue2
 
Network updater4 0onlinehelpissue2
Network updater4 0onlinehelpissue2Network updater4 0onlinehelpissue2
Network updater4 0onlinehelpissue2
 
Pmp ptp solutions_userguideissue1
Pmp ptp solutions_userguideissue1Pmp ptp solutions_userguideissue1
Pmp ptp solutions_userguideissue1
 
Mobrey mcu900 series
Mobrey mcu900 seriesMobrey mcu900 series
Mobrey mcu900 series
 
AMD "Advanced Synchronization Facility" Proposal
AMD "Advanced Synchronization Facility" Proposal AMD "Advanced Synchronization Facility" Proposal
AMD "Advanced Synchronization Facility" Proposal
 
Modicon TM3 - Safety Modules, Hardware Guide.pdf
Modicon TM3 - Safety Modules, Hardware Guide.pdfModicon TM3 - Safety Modules, Hardware Guide.pdf
Modicon TM3 - Safety Modules, Hardware Guide.pdf
 
Fanuc pmc programming manual
Fanuc pmc programming manualFanuc pmc programming manual
Fanuc pmc programming manual
 
Omron CS1D
Omron CS1DOmron CS1D
Omron CS1D
 
Analog module omron
Analog module omronAnalog module omron
Analog module omron
 
Man hinh dieu khien
Man hinh dieu khienMan hinh dieu khien
Man hinh dieu khien
 
Simocode dp = manual de parametrização e operação
Simocode dp = manual de parametrização e operaçãoSimocode dp = manual de parametrização e operação
Simocode dp = manual de parametrização e operação
 
controlador manual
controlador manual controlador manual
controlador manual
 
Omrom e5cn i
Omrom e5cn iOmrom e5cn i
Omrom e5cn i
 
MCM User Guide
MCM User GuideMCM User Guide
MCM User Guide
 

Mehr von mt7038

B 65270 en-08
B 65270 en-08B 65270 en-08
B 65270 en-08mt7038
 
B 64482 en-01
B 64482 en-01B 64482 en-01
B 64482 en-01mt7038
 
B 64483 en-1-02
B 64483 en-1-02B 64483 en-1-02
B 64483 en-1-02mt7038
 
B 65395 ja-01
B 65395 ja-01B 65395 ja-01
B 65395 ja-01mt7038
 
B 65395 en-01
B 65395 en-01B 65395 en-01
B 65395 en-01mt7038
 
B 65325 ja-01
B 65325 ja-01B 65325 ja-01
B 65325 ja-01mt7038
 
B 65325 en-01
B 65325 en-01B 65325 en-01
B 65325 en-01mt7038
 
B 65285 en-04
B 65285 en-04B 65285 en-04
B 65285 en-04mt7038
 
B 65270 ja-07
B 65270 ja-07B 65270 ja-07
B 65270 ja-07mt7038
 
B 64490 en-03
B 64490 en-03B 64490 en-03
B 64490 en-03mt7038
 
B 64484 ja-03
B 64484 ja-03B 64484 ja-03
B 64484 ja-03mt7038
 
B 64484 en-1-03
B 64484 en-1-03B 64484 en-1-03
B 64484 en-1-03mt7038
 
B 64014 en-04
B 64014 en-04B 64014 en-04
B 64014 en-04mt7038
 
B 65280 ja-08
B 65280 ja-08B 65280 ja-08
B 65280 ja-08mt7038
 

Mehr von mt7038 (14)

B 65270 en-08
B 65270 en-08B 65270 en-08
B 65270 en-08
 
B 64482 en-01
B 64482 en-01B 64482 en-01
B 64482 en-01
 
B 64483 en-1-02
B 64483 en-1-02B 64483 en-1-02
B 64483 en-1-02
 
B 65395 ja-01
B 65395 ja-01B 65395 ja-01
B 65395 ja-01
 
B 65395 en-01
B 65395 en-01B 65395 en-01
B 65395 en-01
 
B 65325 ja-01
B 65325 ja-01B 65325 ja-01
B 65325 ja-01
 
B 65325 en-01
B 65325 en-01B 65325 en-01
B 65325 en-01
 
B 65285 en-04
B 65285 en-04B 65285 en-04
B 65285 en-04
 
B 65270 ja-07
B 65270 ja-07B 65270 ja-07
B 65270 ja-07
 
B 64490 en-03
B 64490 en-03B 64490 en-03
B 64490 en-03
 
B 64484 ja-03
B 64484 ja-03B 64484 ja-03
B 64484 ja-03
 
B 64484 en-1-03
B 64484 en-1-03B 64484 en-1-03
B 64484 en-1-03
 
B 64014 en-04
B 64014 en-04B 64014 en-04
B 64014 en-04
 
B 65280 ja-08
B 65280 ja-08B 65280 ja-08
B 65280 ja-08
 

Kürzlich hochgeladen

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Kürzlich hochgeladen (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

B 63943 en-2-01

  • 1. Macro Compiler / Macro Executor PROGRAMMING MANUAL B-63943EN-2/01
  • 2. • No part of this manual may be reproduced in any form. • All specifications and designs are subject to change without notice. The export of this product is subject to the authorization of the government of the country from where the product is exported. In this manual we have tried as much as possible to describe all the various matters. However, we cannot describe all the matters which must not be done, or which cannot be done, because there are so many possibilities. Therefore, matters which are not especially described as possible in this manual should be regarded as ”impossible”. This manual contains the program names or device names of other companies, some of which are registered trademarks of respective owners. However, these names are not followed by  or  in the main body.
  • 3. B-63943EN-2/01 DEFINITION OF WARNING, CAUTION, AND NOTE DEFINITION OF WARNING, CAUTION, AND NOTE This manual includes safety precautions for protecting the user and preventing damage to the machine. Precautions are classified into Warning and Caution according to their bearing on safety. Also, supplementary information is described as a Note. Read the Warning, Caution, and Note thoroughly before attempting to use the machine. WARNING Applied when there is a danger of the user being injured or when there is a danger of both the user being injured and the equipment being damaged if the approved procedure is not observed. CAUTION Applied when there is a danger of the equipment being damaged, if the approved procedure is not observed. NOTE The Note is used to indicate supplementary information other than Warning and Caution. • Read this manual carefully, and store it in a safe place. s-1
  • 4.
  • 5. B-63943EN-2/01 TABLE OF CONTENTS TABLE OF CONTENTS DEFINITION OF WARNING, CAUTION, AND NOTE ................................ s-1 1 GENERAL ..............................................................................................1 2 MACRO COMPILER AND MACRO EXECUTOR...................................3 2.1 MACRO COMPILER......................................................................................4 2.1.1 P-CODE Macro and P-CODE File .......................................................................... 4 2.2 MACRO EXECUTOR.....................................................................................6 2.3 P-CODE MACRO...........................................................................................7 2.3.1 Limitations on Commands....................................................................................... 8 2.3.2 Differences from the Series 16i............................................................................. 10 2.4 MULTI-PATH CONTROL FUNCTION .........................................................11 2.4.1 Independent Operating Environment for Each Path.............................................. 11 2.4.2 P-CODE Variables/Extended P-CODE Variables Common to Paths ................... 11 2.4.3 Multiple P-CODE Macros Independent of Paths .................................................. 12 3 EXECUTION MACRO FUNCTION .......................................................14 3.1 GENERAL....................................................................................................15 3.2 CALLING AN EXECUTION MACRO ...........................................................16 3.2.1 Simple Call (G65).................................................................................................. 26 3.2.2 Modal Call (G66/G66.1) ....................................................................................... 27 3.2.3 Macro Call Using G Code ..................................................................................... 28 3.2.4 Macro Call Using G Code (Specification of 1 Set)............................................... 30 3.2.5 Macro Call Using G Code (Specification of 3 Sets) ............................................. 31 3.2.5.1 Macro modal call using G code..........................................................................33 3.2.6 Macro Call Using M Code..................................................................................... 34 3.2.7 Macro Call Using M Code (Specification of 3 Sets)............................................. 36 3.2.8 Special Macro Call Using T Code......................................................................... 37 3.2.9 Special Macro Call Using Axis Address ............................................................... 41 3.2.10 Subprogram Call (M98)......................................................................................... 47 3.2.11 Subprogram Call Using M Code ........................................................................... 48 3.2.12 Subprogram Call Using M Code in the Specified Range...................................... 50 3.2.13 Subprogram Call Using M Code (Specification of 3 Sets) ................................... 52 3.2.14 Subprogram Call Using S Code............................................................................. 54 3.2.15 Subprogram Call Using T Code ............................................................................ 55 3.2.16 Subprogram Call Using Second Auxiliary Function Code ................................... 57 c-1
  • 6. TABLE OF CONTENTS B-63943EN-2/01 3.2.17 Subprogram Call Using Specific Code.................................................................. 58 3.2.18 Subprogram Call for User Program....................................................................... 60 3.2.19 P-CODE Workpiece Number Search .................................................................... 63 3.3 LIMITATIONS ON EXECUTION MACROS .................................................64 3.3.1 Commands which cannot Use Execution Macros ................................................. 64 3.3.2 Functions which cannot Use Execution Macros ................................................... 64 3.3.3 Optional Block Skip .............................................................................................. 64 3.3.4 Interruption Type Custom Macro .......................................................................... 64 3.4 DIFFERENCES FROM THE Series 16i.......................................................65 4 CONVERSATIONAL MACRO FUNCTION AND AUXILIARY MACRO FUNCTION.............................................................................69 4.1 CONVERSATIONAL MACRO FUNCTION ..................................................70 4.1.1 Execution and Termination ................................................................................... 71 4.1.2 Command............................................................................................................... 74 4.2 AUXILIARY MACRO FUNCTION ................................................................75 4.2.1 Execution and Termination ................................................................................... 76 4.2.2 Command............................................................................................................... 77 4.2.3 Execution Cycle..................................................................................................... 78 4.3 EXECUTION CONTROL CODE ..................................................................80 4.4 EXECUTION CONTROL VARIABLES (#8500, #8550, #8551, AND #8530) ............................................................82 4.5 COMMON CONVERSATIONAL MACRO SCREEN ....................................84 4.6 FATAL ERROR............................................................................................85 4.7 DIFFERENCES FROM THE Series 16i.......................................................87 5 MACRO VARIABLES...........................................................................88 5.1 MACRO VARIABLE LIST ............................................................................89 5.2 LOCAL VARIABLES (#1 TO #33) / ARRAY VARIABLES (#1 TO #99) .......91 5.3 COMMON VARIABLES (#100 TO #199 AND #500 TO #999) ....................92 5.4 P-CODE VARIABLES (#10000 TO #19999)................................................94 5.5 EXTENDED P-CODE VARIABLES (#20000 TO #89999) ...........................96 5.6 P-CODE VARIABLES/EXTENDED P-CODE VARIABLES IN THE PATH CONTROL SYSTEM....................................................................................98 5.6.1 Writing and Reading P-CODE Variables/Extended P-CODE Variables between Paths ........................................................................................................ 99 5.7 CUSTOM MACRO COMMON VARIABLES (#99100 TO #99999) ............100 c-2
  • 7. B-63943EN-2/01 TABLE OF CONTENTS 5.8 CUSTOM MACRO SYSTEM VARIABLES (#1000 AND UP, #100000 AND UP, #199999 AND UP) ...........................101 5.9 DIFFERENCES FROM THE Series 16i.....................................................105 6 MACRO EXECUTOR FUNCTION ......................................................106 6.1 SCREEN DISPLAY FUNCTIONS ..............................................................114 6.1.1 Screen Coordinate System................................................................................... 114 6.1.2 Screen Display Identification Variables (#8681 and #8682) .............................. 118 6.1.3 Screen Display Control Codes............................................................................. 119 6.1.3.1 Screen clear (G202) .........................................................................................121 6.1.3.2 Color specification (G240)...............................................................................123 6.1.3.3 Drawing start point setting (G242)...................................................................125 6.1.3.4 Command for display with background color (G250)......................................126 6.1.3.5 Character display (G243) .................................................................................136 6.1.3.6 Drawing line type specification (G244) ...........................................................143 6.1.3.7 Prompt statement display (G280).....................................................................143 6.1.3.8 Linear drawing (G01).......................................................................................144 6.1.3.9 Circular drawing (clockwise) (G02)................................................................145 6.1.3.10 Circular drawing (counterclockwise) (G03) .....................................................145 6.1.3.11 Cursor display (rectangular cursor) (G230) .....................................................147 6.1.3.12 Graphic cursor function (G249) .......................................................................148 6.1.3.13 Cursor control (#8505, #8506, and #8507) ......................................................149 6.1.3.14 Absolute mode (G390)/incremental mode (G391) specification......................149 6.1.3.15 Graphic coordinate system setting (G392) .......................................................150 6.1.3.16 Rapid traverse rate specification (G311)..........................................................151 6.1.3.17 Rapid traverse drawing (G300) ........................................................................152 6.1.3.18 Graphic filling function (G206)........................................................................153 6.1.3.19 Rectangular display (G204)..............................................................................155 6.1.3.20 Marking (G321) ...............................................................................................157 6.1.3.21 Shift function for graphic screen adjustment....................................................158 6.1.3.22 Reading of the graphic state (#8800) ...............................................................158 6.1.3.23 Brightness modulation mode display on the monochrome LCD ......................159 6.1.3.24 Differences from the Series 16i........................................................................159 6.1.4 Character String Registration Program Number Specification (#8509).............. 161 6.1.5 Function Screen Control Function (#8510)......................................................... 161 6.1.6 State Display Mask Function on the Conversational Macro Screen ................... 162 6.1.7 O and N Number Display Mask Function ........................................................... 162 6.1.8 Soft Key Frame Display Mask Function ............................................................. 162 6.2 KEY INPUT AND DATA INPUT/OUTPUT .................................................163 6.2.1 Command Key Input Variable (#8501) ............................................................... 163 6.2.2 Data Input Control Variable (#8502) .................................................................. 167 6.2.3 Extended Data Input Control Variable (#8552) .................................................. 168 c-3
  • 8. TABLE OF CONTENTS B-63943EN-2/01 6.2.4 Consecutive Input of Cursor and Page Keys ....................................................... 169 6.2.5 MDI Key Image Reading Function (#8549)........................................................ 170 6.3 ADDRESS FUNCTIONS............................................................................173 6.3.1 PMC Address Reference ..................................................................................... 173 6.3.2 CNC Parameter Reference................................................................................... 175 6.3.3 Differences from the Series 16i........................................................................... 175 6.4 PMC ADDRESS READING/WRITING (G310) ..........................................176 6.4.1 Differences from the Series 16i........................................................................... 177 6.5 READER/PUNCHER INTERFACE ............................................................178 6.5.1 General................................................................................................................. 178 6.5.2 Function ............................................................................................................... 180 6.5.3 Macro Variable Input/Output Functions ............................................................. 183 6.5.4 Data Transmission/Reception Waiting Cancellation .......................................... 188 6.5.5 FANUC Cassette Control .................................................................................... 189 6.5.6 Completion Codes (#8539).................................................................................. 195 6.5.7 Differences from the Series 16i........................................................................... 196 6.6 MEMORY CARD CONTROL .....................................................................197 6.6.1 General................................................................................................................. 197 6.6.2 Functions ............................................................................................................. 198 6.6.3 Completion Codes (#8539).................................................................................. 203 6.6.4 Differences from the Series 16i........................................................................... 204 6.7 CNC PROGRAM REFERENCING AND WRITING, AND PROGRAM INFORMATION READING ........................................................................205 6.7.1 General................................................................................................................. 205 6.7.2 Referencing and Writing CNC Programs ............................................................ 207 6.7.3 Reading Background Editing State and Program Information (#8525 to #8528) 216 6.7.4 Completion code (#8529) .................................................................................... 217 6.7.5 Limitations........................................................................................................... 218 6.7.6 Appendix tables ................................................................................................... 219 6.7.7 Differences from the Series 16i........................................................................... 219 6.8 CUTTING TIME, DISTANCE READ AND PRESET FUNCTIONS.............220 6.8.1 Differences from the Series 16i........................................................................... 221 6.9 RELATIVE COORDINATE READ AND PRESET FUNCTIONS (#8996 TO #8999) .....................................................................................222 6.10 ARRAY-TYPE PROCESSING AND REFERENCING OF P-CODE VARIABLES ...............................................................................................225 6.10.1 Differences from the Series 16i........................................................................... 227 c-4
  • 9. B-63943EN-2/01 TABLE OF CONTENTS 6.11 TORQUE LIMIT OVERRIDE CONTROL (#8990 TO #8993 AND #8621 TO #8628) .................................................228 6.12 PMC AXIS CONTROL ...............................................................................230 6.12.1 PMC Axis Control Using G Code ....................................................................... 230 6.12.1.1 General .............................................................................................................230 6.12.1.2 Details of control codes....................................................................................232 6.12.1.3 Limitations .......................................................................................................235 6.12.2 PMC Axis Control Using Variables .................................................................... 236 6.12.2.1 General .............................................................................................................236 6.12.2.2 Details of control variables ..............................................................................238 6.12.2.3 Caution .............................................................................................................239 6.13 FILE CONTROL.........................................................................................240 6.13.1 General................................................................................................................. 240 6.13.2 Setup Procedure................................................................................................... 240 6.13.3 Setting.................................................................................................................. 242 6.13.4 Error Messages .................................................................................................... 243 6.13.5 List of Commands................................................................................................ 243 6.13.6 Caution................................................................................................................. 246 6.14 AXIS-DIRECTION-BY-AXIS-DIRECTION INTERLOCK FUNCTION (#8600, #8601, #8607, AND #8608) ..........................................................248 6.15 WINDOW FUNCTION (#8996 TO #8999) .................................................251 6.15.1 General................................................................................................................. 251 6.15.2 Alarm Information and External Alarm Information .......................................... 256 6.15.3 Axis, Relative Coordinate, and Positional Deviation value ................................ 263 6.15.4 Run Time and Parts Count................................................................................... 264 6.15.5 Diagnosis Information ......................................................................................... 265 6.15.6 System, Servo, and PMC Series Information ...................................................... 266 6.15.7 Differences from the Series 16i........................................................................... 267 6.16 FUNCTION FOR SEARCHING DATA TABLES FOR CONTROL VARIABLES ...............................................................................................268 7 DEBUGGING FUNCTION ..................................................................272 7.1 GENERAL..................................................................................................273 7.2 DISPLAYING AND SETTING ON THE DEBUGGER SCREEN ................274 7.3 DIRECT SETTING BY PARAMETER AND KEY .......................................279 7.4 DIFFERENCES FROM THE Series 16i.....................................................281 8 PARAMETERS...................................................................................282 8.1 COMPILE PARAMERTES .........................................................................283 c-5
  • 10. TABLE OF CONTENTS B-63943EN-2/01 8.2 EXECUTOR PARAMETERS .....................................................................299 APPENDIX A ERROR NO. LIST...............................................................................311 B CODE TABLES ..................................................................................318 C DIFFERENCES FROM THE Series 16i .............................................327 C.1 OVERVIEW ...............................................................................................328 C.2 MACRO COMPILER..................................................................................329 C.3 EXECUTION MACRO FUNCTIONS..........................................................330 C.4 CONVERSATIONAL MACRO FUNCTIONS AND AUXILIARY MACRO FUNCTIONS ..............................................................................................334 C.5 MACRO VARIABLES.................................................................................335 C.6 MACRO EXECUTOR FUNCTIONS...........................................................336 C.7 DEBUG FUNCTION...................................................................................339 C.8 PARAMETERS ..........................................................................................340 c-6
  • 11. B-63943EN-2/01 1.GENERAL 1 GENERAL Some NC programs such as programs created using custom macros need not be modified once created. Others such as machining programs differ depending on the machining target. This function can convert a custom macro program created by the machine tool builder to an executable macro program, load the executable macro program (P-CODE macro) into FLASH ROM (called F-ROM in the following), and execute it. The function which converts a custom macro program to an executable macro program is called the macro compiler. The function which reads and executes a P-CODE macro is called the macro executor. Features • The execution speed is high because a custom macro program is loaded after converted to an executable so that the machining time can be reduced and the machining precision can be improved. • Any custom macro is not destroyed because it is loaded into F- ROM so that reliability is improved. • Because executable macro programs are loaded into F-ROM, program editing memory can efficiently be used. • The user can call the execution format macro program with an easy call procedure without being conscious of the registered program. On the program edit memory, custom macros can be prepared and executed in the standard manner. • A conversational macro function is available. This function allows the machine tool builder to create original screens. • An auxiliary macro function is available. This function can execute each P-CODE macro regardless of which mode or screen is selected. • Programming errors in each P-CODE macro to be executed using the conversational macro function or auxiliary macro function can easily be detected using a debugging function. Differences from the Series 16i • Each executable macro program can be executed only after loaded into F-ROM. -1-
  • 12. 1.GENERAL B-63943EN-2/01 This manual covers the following models. In this manual, the following abbreviations may be used for the models: Model name Abbreviation FANUC Series 30i-MODEL A 30i-A Series 30i FANUC Series 300i-MODEL A 300i-A Series 300i FANUC Series 300is-MODEL A 300is-A Series 300is Definition of terms The words used in the explanation are defined as follows. (1) P-CODE file ROM format file created by linking an executable macro program compiled by the personal computer with compile parameters (2) P-CODE macro, P-CODE program Execution type macro program prepared by a machine tool builder, being compiled and registered to F-ROM. (3) Execution macro Macro program to operate machine in P-CODE macro. (4) Conversational macro Macro program to operate screen in P-CODE macro. (5) Auxiliary macro Macro program to make an auxiliary operation for the execution macro and the conversational macro in P-CODE macro. (6) User program Program prepared by end-user for program edit memory. (7) Compile parameter The term, compile parameter, used in this manual does not represent an ordinary CNC parameter but represents a parameter determined by the link control file when a P-CODE file is created. (Refer to "FANUC Macro Compiler For Series 30i OPERATOR’S MANUAL (B-66264EN)".) This means that the compile parameters cannot be modified, for example, through the MDI panel. (8) Parameter/Executor parameter The term, parameter or executor parameter, used in this manual represents an ordinary CNC parameter. This means that the parameters and executor parameters can be modified, for example, through the MDI panel. -2-
  • 13. B-63943EN-2/01 2.MACRO COMPILER AND MACRO EXECUTOR 2 MACRO COMPILER AND MACRO EXECUTOR -3-
  • 14. 2.MACRO COMPILER AND MACRO EXECUTOR B-63943EN-2/01 2.1 MACRO COMPILER The macro compiler converts (compiles) a custom macro program (P- CODE source program) to an executable macro program. Then, the macro compiler links the executable macro program with compile parameters and converts it to a MEM-format file. The macro compiler loads the created MEM-format file into F-ROM (FLASH ROM module). * For details such as operation procedures, refer to "FANUC Macro Compiler For Series 30i OPERATOR’S MANUAL (B- 66264EN).” 2.1.1 P-CODE Macro and P-CODE File A P-CODE file is converted to a MEM-format file and the MEM- format file is loaded from the memory card into Series 30i/300i/300is- A F-ROM. A P-CODE file loaded into F-ROM can also be saved onto a memory card. Concept of saving and registering a P-CODE file Series 30i/300i/300is-A P-CODE file LOAD Compile parameter SAVE Conversion to the memory P-CODE Memory card card format macro F-ROM P-CODE file Compile&Link 9001=00010000 O9000; 9002=10000011 #1=#2+#5; : : M99; P-CODE Compile parameter source program -4-
  • 15. B-63943EN-2/01 2.MACRO COMPILER AND MACRO EXECUTOR P-CODE file size The size of a P-CODE file is set using one of the following compile parameters: P-CODE file size Bit name Compile parameter number 4096Kbyte M4MB 9001#2 3072Kbyte M3MB 9000#6 2048Kbyte M2MB 9000#5 1024Kbyte M1MB 9000#4 512Kbyte M512 9000#3 256Kbyte M256 9000#2 If the ROM-format file created by linking compile parameters is larger than the size set as listed above, an error (ROM SIZE OVER) occurs when the macro linker is executed. CAUTION To use a P-CODE file, an option is required. If a P-CODE file loaded into the CNC is larger than the size allowed by the option, the CNC does not start up with error USER FILE(P-CODE):SIZE OVER. P-CODE macro size The actual size of a P-CODE macro which can be created depends on the P-CODE file size as listed below. P-CODE file size P-CODE macro size 4096Kbyte 4075Kbyte 3072Kbyte 3051Kbyte 2048Kbyte 2027Kbyte 1024Kbyte 1003Kbyte 512Kbyte 491Kbyte 256Kbyte 235Kbyte -5-
  • 16. 2.MACRO COMPILER AND MACRO EXECUTOR B-63943EN-2/01 2.2 MACRO EXECUTOR The macro executor has execution macro function, conversational macro function, and auxiliary macro function. Execution macro function When the user specifies a G, M, T, or specific code specified by a compile parameter from a user program, the execution macro function calls and executes the macro program for moving the machine (execution macro) that is a P-CODE macro. The user can also execute a user program not to call an execution macro, but to execute a custom macro program. The screen displayed by the user program is called the conventional macro screen or user screen. Conversational macro function When function key CUSTOM is pressed, the conversational macro function calls and executes a macro program for processing screens (conversational macro) that is a P-CODE macro. Auxiliary macro function At power-on, the auxiliary macro function calls and executes a macro program for performing auxiliary processing (auxiliary macro) that is a P-CODE macro. -6-
  • 17. B-63943EN-2/01 2.MACRO COMPILER AND MACRO EXECUTOR 2.3 P-CODE MACRO A P-CODE macro means an executable macro program created by compiling a P-CODE source program using the macro compiler and loaded it into F-ROM. Program number The program number range is from 1 to 99999999. NOTE To use a 5-digit or longer program number, the option for 8-digit program numbers is required. Sequence number The sequence number range is from 1 to 99999999. - Note NOTE No sequence number must be added to any block with an O number. (The sequence number is invalidated if added.) Number of digits of a valid setting The maximum number of digits of a valid setting is 9. Maximum number of P-CODE macros The maximum number of P-CODE macros is 1000. -7-
  • 18. 2.MACRO COMPILER AND MACRO EXECUTOR B-63943EN-2/01 2.3.1 Limitations on Commands NOTE For each macro executor function, there may be limitations other than listed below. See the explanation of each macro executor function. Custom macro Custom macro commands can be used for P-CODE macros, but some commands cannot be used and some commands can be used with restrictions as listed below. Custom macro command P-CODE macro A constant value consisting of up to 9 digits 12 digits Maximum value : ±999999999999 ±999999999 Minimum value : ±0.00000000001 ±0.00000001 Chamfer command (,C_) and corner Not allowed R command (,R_) The name of a nonvolatile custom The same specification is enabled by macro common variable can be defining a symbol name(*1). specified. The same specification is enabled by The name of a system variable can defining a symbol name(*1). be specified. As subscript [n] for a name, only a constant can be specified(*2). The same specification is enabled by The name of a system variable can defining a symbol name(*1). be specified. As subscript [n] for a name, only a constant can be specified(*2). SETVN is possible. Not allowed *1 With a P-CODE macro, a symbol name used in a source program can be defined in the symbol definition file. By defining a system variable/constant name used with a custom macro by using this function, the same specification as done with the custom macro is enabled. For details, refer to "FANUC Macro Compiler For Series 30i OPERATOR'S MANUAL (B- 66264EN)". NOTE Bit symbols such as [#_M_SBK], [#_M_FIN], [#_M_FHD], [#_M_OV], and [#_EST] cannot be defined. *2 As subscript [n] for a name, only a constant can be specified. No variable and operation can be specified. [Example] @[#_ABSMT[1]] #5021 : Allowed → When #101=[#_ABSMT[1]] is coded, it is replaced with #101=#5021. @[#_ABSMT[#100]] #5021 : Not allowed -8-
  • 19. B-63943EN-2/01 2.MACRO COMPILER AND MACRO EXECUTOR Optional block skip When a block with a sequence number is skipped using the optional block skip function, a block consisting of only the sequence number is created. Example Original program Command to be executed when skipped /1 N1 X100.; N1; N2 /2 Y200.; N2; When N1 is skipped as listed above, the same operation as for N2 is performed. CAUTION An optional block skip command can be executed in execution, auxiliary, and conversational macros. Carefully execute the command so that the same optional block skip signal will not be used. -9-
  • 20. 2.MACRO COMPILER AND MACRO EXECUTOR B-63943EN-2/01 2.3.2 Differences from the Series 16i Function Series 16i Series 30i Program - Programs from O1 to O9999 can be - Programs from O1 to O99999999 can be created. created. - Up to 400 programs can be registered. - Up to 1000 programs can be registered. Sequence number N1 to N99999 N1 to N99999999 Number of digits of a valid Up to 8 digits Up to 9 digits setting Number of IF statements in Up to 400 IF statements Up to 2000 IF statements one program Number of IF statement Up to 3 levels Up to 10 levels nesting levels Optional block skip Specifiable with an execution macro only Specifiable with an execution macro, auxiliary macro, or conversational macro Specification of Not allowed Allowed abbreviations of operation commands (specification of the first two characters only, such as RO for ROUND and FI for FIX) ATAN[#j] Not allowed Allowed ATAN[#j,#k] Not allowed Allowed ATN[#j] Not allowed Allowed ATN[#j,#k] Not allowed Allowed ATN[#j/#k] Not allowed Allowed RND[#j] Not allowed Allowed SQR[#j] Not allowed Allowed POW[#i,#j] Not allowed Allowed - 10 -
  • 21. B-63943EN-2/01 2.MACRO COMPILER AND MACRO EXECUTOR 2.4 MULTI-PATH CONTROL FUNCTION The macro executor of the FANUC Series 30i/300i/300is-A is designed to enable independent path-by-path operation and data sharing in a multi-path system and to build an efficient system. The macro executor has three features: <1> Independent operating environment for each path <2> Variable area that can be easily shared among paths <3> Multiple P-CODE macros independent of paths 2.4.1 Independent Operating Environment for Each Path An independent operation can be performed in each path. Execution macro : Usable in automatic operation by each path Conversational macro : A conversational macro program of the path selected on the screen display is executed. Auxiliary macro : Auxiliary macros as many as up to the number of paths are executed simultaneously. So, executor parameters, local variables, common variables (#100 and up, #500 and up), and system variables are provided separately for each path. 2.4.2 P-CODE Variables/Extended P-CODE Variables Common to Paths For P-CODE variables (#10000 and up)/extended P-CODE variables (#20000 and up), multiple variable areas can be allocated on an S- RAM file. No fixed variable area is assigned to each path. Instead, a variable area can be selected for each path by using parameters (Nos. 9051 and 9052). - When a different variable area number is set for each path in parameters (Nos. 9051 and 9052) → The variables are used as independent variables for each path. - When the same variable area number is set for all paths in parameters (Nos. 9051 and 9052) → The variables are used as variables common to all paths. - 11 -
  • 22. 2.MACRO COMPILER AND MACRO EXECUTOR B-63943EN-2/01 Example of setting P-CODE variables (#10000 and up) are shared by all paths, and extended P-CODE variables (#20000 and up) are used separately by each path. Path 1 Path 2 Path 3 Executor parameter Executor parameter Executor parameter No.9051=1 No.9051=1 No.9051=1 No.9052=1 No.9052=2 No.9052=3 Variable area 1 Variable area 2 Variable area 3 Common to all paths #10000-#19999 #10000-#19999 #10000-#19999 (Not used) (Not used) For path 1 For path 2 For path 3 #20000 to #20000 to #20000 to #29999 and up #29999 and up #29999 and up Set the number of variable areas and variable type (floating-point or integer) for each of variables 1, 2, 3, and so on in the parameters (No. 9053, No. 9054, bit 3 of No. 9033, and bit 4 of No. 9033) for each of paths 1, 2, 3, and so on. 2.4.3 Multiple P-CODE Macros Independent of Paths P-CODE macros can be shared among paths. P-CODE macros executed by each path are selected using parameters (Nos. 9048 to 9050) for execution macros, concurrent macros, and auxiliary macros. In this way, P-CODE macros to be registered can be grouped for sharing, or divided separately into execution macros, conversational macros, and auxiliary macros. - 12 -
  • 23. B-63943EN-2/01 2.MACRO COMPILER AND MACRO EXECUTOR Example of setting 1 - When conversational macros/auxiliary macros are shared Different execution macros are used for each path, and the conversational macros/auxiliary macros of P-CODE1 only are used. P-CODE2 and P-CODE3 include execution macros only, so that the F-ROM can be saved. Path 1 Path 2 Path 3 Executor parameter Executor parameter Executor parameter No.9048=1 No.9048=2 No.9048=3 No.9049=1 No.9049=1 No.9049=1 No.9050=1 No.9050=1 No.9050=1 P-CODE1 P-CODE2 P-CODE3 Execution macros Execution macros Execution macros for path 1 for path 2 for path 3 Conversational macros for path 1 Auxiliary macros common to all paths Example of setting 2 - When P-CODE macros are divided separately into execution macros/conversational macros/auxiliary macros Execution macros, conversational macros, and auxiliary macros are registered separately in each P-CODE. Macro replacement is enabled on the basis of each P-CODE. Path 1 Path 2 Path 3 Executor parameter Executor parameter Executor parameter No.9048=1 No.9048=1 No.9048=1 No.9049=2 No.9049=2 No.9049=2 No.9050=3 No.9050=3 No.9050=3 P-CODE 1 P-CODE 2 P-CODE 3 Execution macro Conversational macro Auxiliary macro - 13 -
  • 24. 3.EXECUTION MACRO FUNCTION B-63943EN-2/01 3 EXECUTION MACRO FUNCTION - 14 -
  • 25. B-63943EN-2/01 3.EXECUTION MACRO FUNCTION 3.1 GENERAL Execution macro An execution macro is a loaded P-CODE macro which is operated as a machining program. A registered P-CODE macro cannot be executed singly. A registered P-CODE macro is called for execution from a user program by using a call code such as G, M, S, or T specified by a compile parameter. An execution macro allows the same specification as done with a custom macro. Which P-CODE to be executed by each path is set in parameter (No. 9048). At this time, an argument can be specified in a macro call, and can be referenced as a local variable by a P-CODE macro (execution macro). User program / Custom macro A user program means an NC program loaded into program memory or an NC program to be executed as an execution macro caller during DNC or MDI operation. A custom macro means an NC program to be called as a macro or subprogram in a user program. - 15 -
  • 26. 3.EXECUTION MACRO FUNCTION B-63943EN-2/01 3.2 CALLING AN EXECUTION MACRO Macro call and subprogram call Execution macro calls can roughly be divided into two types: macro calls and subprogram calls. Macro calls are further divided into two types: special macro calls using a T code/axis address, and other macro calls. Macro call Subprogram call Macro call using Special macro call(*2) G65/G66/G66.1/G/M code All specifications after a call All addresses specified in the code are passed as arguments Argument- block are passed as arguments Not allowed (#1 to #26). Two types are specification (#1 to #33), and argument available: argument specification specification II cannot be used. I and II. A command after a call code is treated as an argument. For a NC command The NC statement is first Treated as an argument. (A call command before a call code, specified in the executed, then the code need not be placed at the alarm PS0127 is issued. (A call same block execution macro is called. start of the block.) code must be specified at the start of the block.) The level does not Local variables The level changes. change(*1). Simple calls and modal calls are also included in macro calls. A simple call (also called a macro call) calls an execution macro only in the specified block. A modal call calls an execution macro in each block until G67 is specified. *1 Usually, the level is not changed by a subprogram call. When bit 3 (LCLLV) of compile parameter (No. 9163) is set to 1, Series 16i compatibility is provided. This means that the level changes only when an execution macro is called as a subprogram from a user program (using an M/S/T/second auxiliary function/specific code). *2 Special macro calls include calls using a T code/axis address. Types of calls Common Program number variable for Call code Parameters to be set Remarks called storing a specified code No execution macro Specified at can be called from any Simple call (G65) None None address P. user program using this command. No execution macro Specified at can be called from any Modal call (G66,G66.1) None None address P. user program using this command. - 16 -
  • 27. B-63943EN-2/01 3.EXECUTION MACRO FUNCTION Common Program number variable for Call code Parameters to be set Remarks called storing a specified code Only G codes with no Compile parameters decimal point can be Macro call using G code O9010 to O9019 None (Nos. 9013 to 9022) used. Modal calls are allowed. Only G codes with no Macro call using G code Compile parameters decimal point can be Parameter setting None (specification of 1 set) (Nos. 9045 to 9047) used. Modal calls are allowed. Compile parameters (Nos. 9129 to 9131) Only G codes with no Macro call using G code Compile parameters decimal point can be Parameter setting None (specification of 3 sets) (Nos. 9132 to 9134) used. Modal calls are Compile parameters allowed. (Nos. 9135 to 9137) Compile parameters Macro call using M code O9020 to O9029 None (Nos. 9023 to 9032) Compile parameters (Nos. 9120 to 9122) Macro call using M code Compile parameters Parameter setting None (specification of 3 sets) (Nos. 9123 to 9125) Compile parameters (Nos. 9126 to 9128) Special macro call using Compile parameter O9008 #27 T code TMACC (No. 9005#7) Compile parameters AxnCL (No. 9005#0 to #3, O9009 or O9031 Special macro call using No. 9008#0 to #3, to O9030+n (n : #27 axis address No. 9164#0 to #7 number of axes) No. 9165#0 to #7 No. 9166#0 to #7) and AXCLS (No. 9005#4) No execution macro Specified at can be called from any Subprogram call (M98) None None address P. user program using this command. Subprogram call using M Compile parameters O9001 to O9003 None code (Nos. 9010 to 9012) Subprogram call using M Compile parameters code in the specified O9009 #148 (Nos. 9042 and 9043) range Compile parameters (Nos. 9111 to 9113) Subprogram call using M Compile parameters code (specification of 3 Parameter setting None (Nos. 9114 to 9116) sets) Compile parameters (Nos. 9117 to 9119) Subprogram call using S Compile parameter SSC O9029 #147 code (No. 9105#0) Subprogram call using T Compile parameter O9000 #149 code TCAL (No. 9002#0) - 17 -
  • 28. 3.EXECUTION MACRO FUNCTION B-63943EN-2/01 Common Program number variable for Call code Parameters to be set Remarks called storing a specified code Subprogram call using Compile parameter BSC second auxiliary function O9028 #146 (No. 9105#1) code Compile parameters ACL1/ACL2 (No. 9002#1 Subprogram call using #146 O9004, O9005 or #2) specific code #147 Parameters (No.6090 and 6091) A user program in Subprogram call for user Specified at Compile parameter program memory is None program (*2) address P. (No. 9033) called from an execution macro. An execution macro is called preceding the P-CODE workpiece Set for a control Compile parameter None main program at the number search variable. PWSR (No. 9002#6) start of automatic operation. *2 Function specific to execution macros. This function calls no execution macro. NOTE 1 The correspondence between codes used for macro and subprogram calls and the numbers of called programs, and whether to call a subprogram/macro are determined by compile parameters. The compile parameters are registered in the F-ROM at compile time. Be sure to specify the compile parameters at compile time. 2 Set a code for a subprogram call using a specific code in parameters (Nos. 6090 and 6091) at execution time. - 18 -
  • 29. B-63943EN-2/01 3.EXECUTION MACRO FUNCTION Usable call command Call method (call source → call destination) User program Execution macro Execution macro →Execution macro →Execution macro →User program Simple call of execution macro (G65) Modal call of execution macro (G66, G66.1) Macro call using G code Macro call using G code (specification of 1 set) Macro call using G code (specification of 3 sets) Macro call using M code Macro call using M code (specification of 3 sets) Special macro call using T code Special macro call using axis address Subprogram call of execution macro (M98) Subprogram call using M code Subprogram call using M code in the specified range Subprogram call using M code (specification of 3 sets) Subprogram call using S code Subprogram call using T code Subprogram call using second auxiliary function code Subprogram call using specific code Subprogram call of user program - - External device subprogram call (M198) : Allowed : Not allowed : Depends on bit 2 (PCDC) of compile parameter (No. 9163) and bit 6 (GMP) of parameter (No. 6008). See "Limitations on calls" described later for details. Limitations on calls 1) G65, G66, G66.1, or M98 cannot be used to call an execution macro from a user program. 2) It is impossible to make a call using an M, S, T, second auxiliary function code, or specific code from a macro program called with a G code. It is also impossible to make a macro call using G code from a program called using a G, M, S, T, second auxiliary function code, or specific code. (However, this limitation does not apply when an execution macro is called from a user program called with a G, M, S, T, second auxiliary function code, or specific code.) 3) The following features may be observed depending on the values of bit 2 (PCDC) of compile parameter No. 9163 and bit 6 (GMP) of parameter No. 6008. In this description, calls using a G, M, S, T, second auxiliary function code, or specific code are generically referred to as calls using a code. - 19 -
  • 30. 3.EXECUTION MACRO FUNCTION B-63943EN-2/01 <1> When an execution macro is called from a user program No particular limitation is imposed. Even from a user program called using a G/M/S/T/second auxiliary function/ specific code, an execution macro call using each code and call using an axis address can be made. <2> When an execution macro is called from another execution macro Compile parameter PCDC(No. 9163#2) 0 1 Calls using G65, M98, G66, and G66.1 are 0 allowed. Other types of calls are disabled. - Calls using G65, M98, G66, and G66.1 are allowed. - From an execution macro called using a G code, another execution macro can be Parameter GMP Calls using G65 and M98 only are allowed. called using a code other than G codes (or (No.6008#6) Other types of calls are disabled. using an axis address). 1 - From an execution macro called using a code other than G codes (or using an axis address), another execution macro can be called using a G code. - Other types of calls (G code → G code, code other than G codes → code other than G codes) are disabled. <3> When a user program is called from an execution macro Compile parameter PCDC(No. 9163#2) 0 1 User macro calls using G65, M98, G66, and G66.1 only are allowed. 0 Other types of calls are disabled. - For user program calls - For user program calls and execution Calls using G65, M98, G66, and G66.1 only macro calls are allowed. A user program or execution macro can Other types of calls are disabled. be called under the same condition as for - For execution macro calls an execution macro call performed when - From a user program called using a G bit 6 (GMP) of parameter (No. 6008) is set code, an execution macro can be called to 1, and bit 2 (PCDC) of compile using a code other than G codes (or parameter (No. 9163) is set to 0. Parameter GMP using an axis address). (No.6008#6) - From a user program called using a 1 code other than G codes (or using an axis address), an execution macro can be called using a G code. - Other types of calls (G code → G code, code other than G codes → code other than G codes) are disabled. - After an execution macro is called, the user - After an execution macro is called, the user program cannot be called again. (The program can be called again. (The duplicate calling of a user program is duplicated calling of a user program is disabled.) allowed.) NOTE If a disabled type of call is attempted, the command is treated as an ordinary G/M/S/T/second auxiliary function/axis address code. - 20 -
  • 31. B-63943EN-2/01 3.EXECUTION MACRO FUNCTION Priority of calls If a call command is set in addition to a custom macro and another call command, the priority order indicated below is applied. Priority Call High Simple call of execution macro (G65) ↑ Modal call of execution macro (G66,G66.1) | Macro call using G code | Macro call using G code (specification of 1 set) | Macro call using G code (specification of 3 sets) | Macro call using M code | Macro call using M code (specification of 3 sets) | Special macro call using axis address | Special macro call using T code | Subprogram call of execution macro (M98) (*1) | External device subprogram call (M198) | Subprogram call for user program | Subprogram call using specific code | Subprogram call using M code | Subprogram call using M code in the specified range | Subprogram call using M code (specification of 3 sets) | Subprogram call using S code | Subprogram call using T code ↓ Subprogram call using second auxiliary function code Low Macro call/subprogram call which calls custom macro *1 This priority is applied when an external device subprogram call is executed from an execution macro. Example When M100 is set in a macro call using an M code and a subprogram call using an M code, it operates as a macro call using an M code if actually executed. Nesting Execution macro calls can be nested to a depth of fifteen levels including only subprogram calls, to a depth of five levels including only macro calls, or to a depth of fifteen levels including subprogram calls and macro calls (to a depth of five levels for macro calls). This does not include custom macros. Subprogram calls for user programs and external device subprogram calls from execution macros are included in the custom macro nesting levels. - 21 -
  • 32. 3.EXECUTION MACRO FUNCTION B-63943EN-2/01 Passing of arguments For a macro call, arguments can be specified. Two types of argument specification are available. Argument specification I uses letters other than G, L, O, N, and P once each. Argument specification II uses A, B, and C once each and also uses I, J, and K up to ten times. The type of argument specification is determined automatically according to the letters used. Argument specification I Address Variable Address Variable Address Variable Number Number Number A #1 I #4 T #20 B #2 J #5 U #21 C #3 K #6 V #22 D #7 M #13 W #23 E #8 Q #17 X #24 F #9 R #18 Y #25 H #11 S #19 Z #26 • Usually, addresses G, L, N, O, and P cannot be used as arguments. When bit 5 (MCARG) of compile parameter ‘No. 9008) is set to 1, however, G, L, N, and P can be used as arguments in macro calls using G code and macro calls using M code. The correspondence is: G#10, L#12, N#14, and P#16. (If address N is specified after any address other than address O or N, it is treated as an argument. In this case, the number of digits after the decimal point is zero.) NOTE 1 Limitations related to the input format for NC commands apply to the data used as the argument. For example, it is impossible to specify the argument together with G1000., P0.12, or L-4. 2 When multiple G codes are specified, only the last one is used as an argument. O and N values and G codes other than the 00 group are passed as modal information to the subsequent blocks. Even in a special macro call, any address other than O is used as an argument. For details, see the description of each type of call. • Addresses that need not be specified can be omitted. Local variables corresponding to an omitted address are set to null. • Addresses do not need to be specified alphabetically. They conform to word address format. I, J, and K need to be specified alphabetically, however. [Example] B_A_D_ . . . J_K_ . . . ...........Correct B_A_D_ . . . J_I_ . . . ............Incorrect - 22 -
  • 33. B-63943EN-2/01 3.EXECUTION MACRO FUNCTION Argument specification II • Argument specification II uses A, B, and C once each and uses I, J, and K up to ten times. • Argument specification II is used to pass values such as three- dimensional coordinates as arguments. • Subscripts of I, J, and K for indicating the order of argument specification are not written in the actual program. Variable Variable Variable Address Address Address Number Number Number A #1 K3 #12 J7 #23 B #2 I4 #13 K7 #24 C #3 J4 #14 I8 #25 I1 #4 K4 #15 J8 #26 J1 #5 I5 #16 K8 #27 K1 #8 J5 #17 I9 #28 I2 #7 K5 #18 J9 #29 J2 #8 I6 #19 K9 #30 K2 #9 J6 #20 I10 #31 I3 #10 K6 #21 J10 #32 J3 #11 I7 #22 K10 #33 NOTE In a special macro call, argument specification II cannot be used. - Limitation Format Specify a macro call code (G65/G66/G66.1/Gg/Mm) for other than special macro calls before all arguments. Mixture of argument specifications I and II The CNC internally identifies argument specification I and argument specification II. If a mixture of argument specification I and argument specification II is specified, the type of argument specification specified later takes precedence. Example G65 A1.0 B2.0 I-3.0 I4.0 D5.0 P1000 ; <Variables> #1:1.0 #2:2.0 #3: #4:-3.0 #5: #6: #7:4.0 5.0 When both the I4.0 and D5.0 arguments are commanded for variable #7 in this example, the latter, D5.0, is valid. - 23 -
  • 34. 3.EXECUTION MACRO FUNCTION B-63943EN-2/01 Position of the decimal point The units used for argument data passed without a decimal point correspond to the least input increment of each address. NOTE The value of an argument passed without a decimal point may vary according to the system configuration of the machine. It is good practice to use decimal points in macro call arguments to maintain program compatibility. Local variable levels • Each time a macro is called (such as G65, G66, G66.1/Gg), the local variable level is incremented by one. The values of the local variables at the previous level are saved in the CNC. • When M99 is executed in a macro program, control returns to the calling program. At that time, the local variable level is decremented by one; the values of the local variables saved when the macro was called are restored. • Usually, the local variable level does not change due to a subprogram call. However, when an execution macro is called as a subprogram from a user program (using M/S/T/second auxiliary function/specific code), the local variable level can be changed as in the case of a macro call by setting bit 3 (LCLLV) of compile parameter (No. 9163) to 1 (Series 16i compatibility specification). - 24 -
  • 35. B-63943EN-2/01 3.EXECUTION MACRO FUNCTION Example M code for calling O9001 as a subprogram is M200. User program Execution Execution (Main program) macro macro O0001 ; Subprogram O0001 ; O9001 ; Macro call call : : : #1=1.0 ; #2=2.0 ; #3=3.0 ; M200 ; M98 P1 ; : : : : M30 ; M99 ; M99 ; - When bit 3 (LCLLV) of compile parameter (No. 9163) is set to 0 Local variables Local variables Local variables (Level 0) (Level 0) (Level 0) #1 1.0 #1 1.0 #1 1.0 #2 null #2 null #2 null #3 null #3 null #3 3.0 : : : : : : : : : : : : # 33 null # 33 null # 33 null The local variable level does not change because a subprogram call is made as in the case of a custom macro. (The local variables at the call source are used.) - When bit 3 (LCLLV) of compile parameter (No. 9163) is set to 1 Local variables Local variables Local variables (Level 0) (Level 1) (Level 1) #1 1.0 #1 null #1 null #2 null #2 null #2 null #3 null #3 null #3 3.0 : : : : : : : : : : : : # 33 null # 33 null # 33 null The local variable level For a subprogram call changes, although a from an execution macro, subprogram call is made. the local variable level (The local variables at the call does not change. destination are used.) - 25 -
  • 36. 3.EXECUTION MACRO FUNCTION B-63943EN-2/01 3.2.1 Simple Call (G65) An execution macro specified using address P is called as a macro. Format G65 : Call command. Must be specified before any argument. G65 P p L l <argument- P : Program number of an execution macro to specification> ; be called l : Repetition count (1 by default) 1 to 999999999 argument : Data to be passed to the execution macro. Argument specifications I and II are available. Execution macro Execution macro O9010 ; O0100 ; : #3=#1+#2 ; G65 P100 L2 A1.0 B2.0 ; IF [#3 GT 360] GOTO 9 ; : G00 G91 X#3 ; M99 ; N9 M99 ; Limitation No execution macro can be called from any user program using this command. This command can be specified only for calling an execution macro from another execution macro. - 26 -