okuma OSP-P200L Instruction Manual

OSP-U100L/U10L/ E100L/E10L/P200L/P20L
GAUGING SYSTEMS
INSTRUCTION MANUAL
(2nd Edition) -APPLICATION-
Pub No. 5327-E-R1 (LE61-129-R2) Feb. 2007
5327-E P-(i)

SAFETY PRECAUTIONS

The machine is equipped with safety devices which serve to protect personnel and the machine itself from hazards arising from unforeseen accidents. However, operators must not rely exclusively on these safety devices: they must also become fully familiar with the safety guidelines presented below to ensure accident­free operation. This instruction manual and the warning signs attached to the machine cover only those hazards which Okuma can predict. Be aware that they do not cover all possible hazards.

1. Precautions Relating to Installation

(1) Please be noted about a primary power supply as follows.
Do not draw the primary power supply from a distribution panel that also supplies a major
noise source (for example, an electric welder or electric discharge machine) since this could cause malfunction of the CNC unit.
If possible, connect the machine to a ground not used by any other equipment. If there is
no choice but to use a common ground, the other equipment must not generate a large amount of noise (such as an electric welder or electric discharge machine).
(2) Installation Environment
Observe the following points when installing the control enclosure.
Make sure that the CNC unit will not be subject to direct sunlight.
Make sure that the control enclosure will not be splashed with chips, water, or oil.
Make sure that the control enclosure and operation panel are not subject to excessive
vibrations or shock.
The permissible ambient temperature range for the control enclosure is 5 to 40°C.
The permissible ambient humidity range for the control enclosure is relative humidity 50%
or less at 40°C (no condensation).
The maximum altitude at which the control enclosure can be used is 1000 m (3281ft.).

2. Points to Check before Turning on the Power

(1) Close all the doors of the control enclosure and operation panel to prevent the entry of water,
chips, and dust.
(2) Make absolutely sure that there is nobody near the moving parts of the machine, and that there
are no obstacles around the machine, before starting machine operation.
(3) When turning on the power, turn on the main power disconnect switch first, then the CONTROL
ON switch on the operation panel.
5327-E P-(ii)
SAFETY PRECAUTIONS

3. Precautions Relating to Manual/Continuous Operation

(1) Follow the instruction manual during operation.
(2) Do not operate the machine with the front cover, chuck cover, or another protective cover
removed.
(3) Close the front cover before starting the machine.
(4) When machining the initial workpiece, check for machine operations, run the machine under no
load to check for interference among components, cut the workpiece in the single block mode, and then start continuous operation.
(5) Ensure your safety before rotating the spindle or moving a machine part.
(6) Do not touch chips or workpiece while the spindle is rotating.
(7) Do not stop a rotating part with hand or another means.
(8) Check that the condition of hydraulic chuck jaws as mounted, operating pressure, and
maximum permissible revolving speed.
(9) Check the condition and location of the cutting tool as mounted.
(10) Check the tool offset value.
(11) Check the zero offset value.
(12) Check that the SPINDLE OVERRIDE and FEEDRATE OVERRIDE dials on the NC operation
panel are set to 100%.
(13) When moving the turret, check the software limits for X- and Z-axes or the locations of limit
switch dogs to prevent interference with the chuck and tailstock.
(14) Check the location of the turret.
(15) Check the location of the tailstock.
(16) Cut workpieces with a transmitted power and torque within the permissible range.
(17) Chuck each workpiece firmly.
(18) Check that the coolant nozzle is properly located.

4. On Finishing Work

(1) On finishing work, clean the vicinity of the machine.
(2) Return the ATC, APC and other equipment to the predetermined retraction position.
(3) Always turn off the power to the machine before leaving it.
(4) To turn off the power, turn off the CONTROL ON switch on the operation panel first, then the
main power disconnect switch.
5327-E P-(iii)
SAFETY PRECAUTIONS

5. Precautions during Maintenance Inspection and When Trouble Occurs

In order to prevent unforeseen accidents, damage to the machine, etc., it is essential to observe the following points when performing maitenance inspections or during checking when trouble has occurred.
(1) When trouble occurs, press the emergency stop button on the operation panel to stop the
machine.
(2) Consult the person responsible for maintenance to determine what corrective measures need
to be taken.
(3) If two or more persons must work together, establish signals so that they can communicate to
confirm safety before proceeding to each new step.
(4) Use only the specified replacement parts and fuses.
(5) Always turn the power off before starting inspection or changing parts.
(6) When parts are removed during inspection or repair work, always replace them as they were
and secure them properly with their screws, etc.
(7) When carrying out inspections in which measuring instruments are used - for example voltage
checks - make sure the instrument is properly calibrated.
(8) Do not keep combustible materials or metals inside the control enclosure or terminal box.
(9) Check that cables and wires are free of damage: damaged cables and wires will cause current
leakage and electric shocks.
(10) Maintenance inside the Control Enclosure
a. Switch the main power disconnect switch OFF before opening the control enclosure door.
b. Even when the main power disconnect switch is OFF, there may some residual charge in
the MCS drive unit (servo/spindle), and for this reason only service personnel are permitted to perform any work on this unit. Even then, they must observe the following precautions.
MCS drive unit (servo/spindle)
The residual voltage discharges two minutes after the main switch is turned OFF.
c. The control enclosure contains the NC unit, and the NC unit has a printed circuit board
whose memory stores the machining programs, parameters, etc. In order to ensure that the contents of this memory will be retained even when the power is switched off, the memory is supplied with power by a battery. Depending on how the printed circuit boards are han­dled, the contents of the memory may be destroyed and for this reason only service per­sonnel should handle these boards.
(11) Periodic Inspection of the Control Enclosure
a. Cleaning the cooling unit
The cooling unit in the door of the control enclosure serves to prevent excessive temperature rise inside the control enclosure and increase the reliability of the NC unit. Inspect the following points every three months.
Is the fan motor inside the cooling unit working?
The motor is normal if there is a strong draft from the unit.
Is the external air inlet blocked?
If it is blocked, clean it with compressed air.

6. General Precautions

(1) Keep the vicinity of the machine clean and tidy.
(2) Wear appropriate clothing while working, and follow the instructions of someone with sufficient
training.
(3) Make sure that your clothes and hair cannot become entangled in the machine. Machine
operators must wear safety equipment such as safety shoes and goggles.
5327-E P-(iv)
SAFETY PRECAUTIONS
(4) Machine operators must read the instruction manual carefully and make sure of the correct
procedure before operating the machine.
(5) Memorize the position of the emergency stop button so that you can press it immediately at any
time and from any position.
(6) Do not access the inside of the control panel, transformer, motor, etc., since they contain high-
voltage terminals and other components which are extremely dangerous.
(7) If two or more persons must work together, establish signals so that they can communicate to
confirm safety before proceeding to each new step.

7. Symbols Used in This Manual

The following warning indications are used in this manual to draw attention to information of particular importance. Read the instructions marked with these symbols carefully and follow them.
DANGER
indicates an imminently hazardous situation which, if not avoided, will result in death or serious injury.
WARNING
indicates a potentially hazardous situation which, if not avoided, could result in death or seri­ous injury.
CAUTION
indicates a potentially hazardous situation which, if not avoided, may result in minor or moder­ate injury.
CAUTION
5327-E P-(v)
SAFETY PRECAUTIONS
indicates a potentially hazardous situation which, if not avoided, may result in damage to your property.
SAFETY INSTRUCTIONS
indicates general instructions for safe operation.
5327-E P-(i)

INTRODUCTION

INTRODUCTION
Thank you very much for purchasing our numerical control unit OSP-E100L/E10L. Before using this NC unit (hereafter simply called NC), thoroughly read this programming manual (hereafter called this manual) in order to ensure correct use. This manual explains how to use and maintain the NC so that it will deliver its full performance and maintain accuracy over a long term. You must pay particular attention to the cautions given in this manual, read them carefully, and make sure you fully understand them before operating the NC.
Display Screens
The NC display screens vary with the selected NC specifications. The screens shown in this manual, therefore, may not exactly the same with those displayed on your NC.
5327-E P-(i)
TABLE OF CONTENTS
TABLE OF CONTENTS
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB) .................................1
1. Notes for Using Gauging MSB................................................................................................. 1
1-1. Notes ................................................................................................................................ 1
1-2. Control Statements........................................................................................................... 3
2. Touch Setter Gauging and Touch Sensor Gauging................................................................. 8
2-1. Overview........................................................................................................................... 8
2-2. Variable Tables................................................................................................................. 8
2-3. Print ................................................................................................................................ 17
2-4. Program.......................................................................................................................... 21
2-5. Flow Charts .................................................................................................................... 24
2-6. Program List ................................................................................................................... 60
3. Touch Sensor Gauging (Automatic Zero Offset Function)..................................................... 75
3-1. General Description of MSB ........................................................................................... 75
3-2. Variable Tables............................................................................................................... 75
3-3. Program.......................................................................................................................... 79
4. Automatic C-axis Zero Offset Function.................................................................................. 82
4-1. General Description of MSB ........................................................................................... 82
4-2. Variable Tables............................................................................................................... 82
4-3. Programs ........................................................................................................................ 86
5. Y-axis Gauging Function ..................................................................................................... 107
5-1. Outline of MSB ............................................................................................................. 107
5-2. Variables Table.............................................................................................................107
5-3. Programs ...................................................................................................................... 110
6. Automatic Gauging System Using Five Level Signals (BCD System)................................. 135
6-1. General Description of MSB ......................................................................................... 135
6-2. Variable Tables.............................................................................................................136
6-3. Program........................................................................................................................ 140
7. Automatic Gauging System Using Five Level Signals......................................................... 146
7-1. General Description of MSB ......................................................................................... 146
7-2. Variable Tables.............................................................................................................146
7-3. Program........................................................................................................................ 151
8. Automatic Gauging System by Seven Level Signals........................................................... 157
8-1. General Description of MSB ......................................................................................... 157
8-2. Variable Tables.............................................................................................................157
8-3. Program........................................................................................................................ 162
9. CEJ MATIC Gauging MSB .................................................................................................. 168
9-1. CEJ MATIC Gauging Subprograms ............................................................................. 168
9-2. Common Variables ....................................................................................................... 168
9-3. System Variables.......................................................................................................... 168
9-4. Program........................................................................................................................ 169
10.MSB for Post-process Gauging Using RS-232C ................................................................. 172
5327-E P-(ii)
TABLE OF CONTENTS
10-1.Gauging Subprogram .................................................................................................. 172
10-2.System Variables......................................................................................................... 172
10-3.Common Variables ...................................................................................................... 172
10-4.Program....................................................................................................................... 173
5327-E P-1

SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)

SECTION 1 MAKER SUBPROGRAMS FOR GAUGING
(MSB)

1. Notes for Using Gauging MSB

1-1. Notes

General notes for using maker subprograms (MSB) for gauging are presented below.
1-1-1. NOEX Command
In the single block mode, sequences preceded by NOEX are excluded in single block operation. This speeds up internal processing for checking and correcting the program in single block operation. When specifying the NOEX command, the restrictions stated below apply.
NOEX cannot be specified before axis movement commands.
NOEX G00 Z100......................×
NOEX cannot be specified before an IF statement.
NOEX IF [AA EQ 0] N004........×
NOEX cannot be specified before a GOTO statement.
NOEX GOTO N004..................×
NOEX cannot be specified before a sequence number/label.
NOEX can be specified after a sequence number/label.
NOEX N001 V1 = 100..............×
N001 NOEX V1 = 100.............{
NOEX cannot be specified before a CALL statement.
NOEX CALL OWMXA...............×
In modes other than the single block mode, NOEX has no influence on the execution of a program. If NOEX is specified in a variable setting sequence, the execution time is shortened since the sequence is excluded from single block processing. The operation itself does not vary regardless of whether or not NOEX is specified.
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
1-1-2. Judging Local Variable Definition Using IF Statement
N2 IF Local-variable-name N3
5327-E P-2
(1)
(2)
(3) (4)
LE61129R0200700030001
(1) Specify the sequence name of this block.
(2) This indicates that this sequence is the IF statement sequence.
(3) Specify the local variable name whose defined/undefined status is to be checked. Note that a
local variable name may not be enclosed by brackets ([ ]).
(4) Specify the sequence name of the destination block to which the program jumps if the specified
local variable has been defined.
The IF statement judges whether or not the specified local variable has been defined and causes a jump to the N3 block if it has been defined. If it has not been defined, the next block is executed. Example:N1000 IF ABC N2000 If local variable ABC has been defined, the program jumps to the N2000 block. If not, the program proceeds to the next block.
1-1-3. Calculating the Measured Value (Sensor Contact Point, Program Coordinate
System) (Gauging in the Z-axis Direction)
Measured value = VSKPZ [*] - VZOFZ - VZSHZ - VETFZ (* = 1 or 2) After the execution of the G30 gauging cycle, the coordinate value of the contact point (in the machine coordinate system) is set at VSKPZ.
X
Z
Machine zero
Contact point VSKPZ [*]
Measured
Zero offset
Zero shift
value
Tool offset value
value
LE61129R0200700040001
Measured value - Target value (MSP): The difference between the “measured value” and the “target value (MSP)” is calculated as the amount of variation and judgment is carried out based on this amount of variation.
[Supplement]
The coordinate value of the contact point is set at either variable VSKPZ [1] or VSKPZ [2]. In the touch setter gauging cycle, the contact point coordinate value is set at VSKPZ [2]. In the touch sensor gauging cycle (master ring gauging cycle, work gauging cycle), it is set at VSKPZ [1]. This is also true for VSKPX [1] and VSKPX [2].

1-2. Control Statements

In gauging programs, the following control statements are used:
(1) GOTO statement
(2) IF statement
(3) CALL statement
(4) RTS statement
These control statements are all entered at the beginning of a block or immediately after the “sequence name” which comes first in a block. They must be followed by a space or a tab code. If no space or tab code is entered following a control statement, an alarm occurs. However, note that since a left bracket “[“ is specified following IF statement, no space or tab code is required after an IF instruction. Example:
5327-E P-3
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
N1001 GOTO N2000
Enter a space or a tab code
NLAP1 GOTO NLAP2
LE61129R0200700050001
Specify either a space or a tab code immediately after an element consisting of two or more consecutive address characters such as a sequence name or control code.
[Supplement]
A sequence name means a code that is used to identify a block in a program. It consists of four alphanumeric digits following address N. Sequence names can be expressed in two ways: [N] [4-digit number] and [N] [Alphabet] [3-digit alphanumerics] In this manual, sequence names include both of these two types of expression.
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
1-2-1. GOTO Statement (Unconditional Branch)
(1) Programming format
N0 GOTO N1
5327-E P-4
(a)
(b)
(c)
(a) Sequence name of this block. The sequence name may be omitted. (b) Indicates a GOTO statement. (c) Sequence name of the destination of branching. A branch destination sequence name must always be specified.
LE61129R0200700060001
[Supplement]
The branch destination sequence name “N1” must be present in the same block where the control statement (GOTO) is specified.
(2) Function
Program branches to the specified block (N1) unconditionally. With a two-saddle model, branching from the turret A side program to the turret B side program or from the turret B side program to the turret A side program is not allowed.
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
1-2-2. IF Statement (Conditional Branch)
(1) Programming format
N0 IF [Qualification] N1
5327-E P-5
(a)
(b)
(c) (d)
(a) Sequence name of this block. The sequence name may be omitted. (b) Indicates an IF statement. (c) There are two qualification states resulting from the comparison operation: "true" and "false." The qualification must be enclosed by brackets ([ ]). (d) The sequence name of the destination of branching that occurs if the result of qualification is "true". The branch destination sequence name must always be specified.
LE61129R0200700070001
(2) Function
The program jumps to the specified block if the result of [qualification] is true. If the result if false, the next block is executed. Example:
N1000 IF [V1 EQ 10] N2000
This stands for "EQUAL".
LE61129R0200700070002
In the example program above, if “10” is set for variable V1 (V1 = 10), the program jumps to the N2000 block. In other cases, the next block is executed.
(3) Evaluation of defined or undefined local variables by IF statement
N2 IF Local-variable name N3
(a)
(b)
(c) (d)
(a) Sequence name of this block. (b) Indicates an IF statement. (c) Local variable name whose defined/not defined status is to be evaluated. A variable name may not be enclosed by brackets ([ ]). (d) Sequence name of the destination of branching that occurs if the specified local variable
has been defined.
Whether the specified local variable has been defined or not is judged; if it has been
defined, the program jumps to the N3 block.
If it has not been defined, the next block is executed.
LE61129R0200700070003
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Example:
: N1000 IF ABC N2000 : : N2000
In the example program above, if local variable ABC has been defined, the program jumps to the N2000 block. If it has not been defined, the next block is executed.
1-2-3. CALL Statement (Program Call)
(1) Programming format
N0 CALL O1 Q1 Variable-setting-part
5327-E P-6
LE61129R0200700070004
(a)
(b)
(d)
(c) (e)
(a) Sequence name of this block. The sequence name may be omitted. (b) Indicates a CALL statement. (c) Program name of the subprogram to be called. The program name must always be specified. (d) The number of times the called subprogram should be repeated. The programmable range of
this repetition is from 1 to 9999. If the Q word is omitted, "Q1" is assumed.
(e) Set variables that are used in the subprogram to be called.
LE61129R0200700080001
(2) Function
The CALL statement calls and executes the specified subprogram (O1). If variables are set in “variable setting set”, the specified variables are all registered. Example: N1000 CALL O1234 XP1=150 ZP1=100 Calls and executes subprogram O1234 and registers variables XP1 and ZP1.
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
1-2-4. RTS Statement (Subprogram End Code)
(1) Programming format
N0 RST
(b)
(a)
(a) Sequence name of this block. The sequence name may be omitted. (b) Indicates the end of the subprogram (RTS statement).
(2) Function
The RTS statement must always be specified at the end of a subprogram. When this block is executed, the called subprogram ends and the program returns to the block next to the CALL statement block. Variables registered by the execution of the CALL statement and those registered in the called subprogram are discarded. Example:
5327-E P-7
LE61129R0200700090001
Main program N1000 CALL O1234 XP1=150
ZP1=100 N1001 G00 X Z : : :
Subprogram
O1234 N001 G00 X=XP1 Z=ZP1 N002 : : N050 RTS
:
LE61129R0200700090002
When N1000 in the main program is executed, program execution jumps to O1234 in the subprogram and that subprogram is executed. After that, when the RTS statement in N050 is executed, program execution jumps to the N1001 block and the blocks in the main program are executed from N1001. Variables XP1 and ZP1 are discarded. program sequence
N1000 O1234
→→
N001 N050
N1001
LE61129R0200700090003
The sequence name specified as the jump destination must be present in the same subprogram. Designation of G13 and G14 is not allowed in a subprogram.
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)

2. Touch Setter Gauging and Touch Sensor Gauging

2-1. Overview

2-1-1. General Description of MSB
This section covers the list, flow chart, variable table and other information relating to the touch setter M/A and touch sensor gauging function, taking the following maker subprogram (MSB) as an example.
LMSA300A.MSB
The name of the gauging control software is expressed as indicated below.
LMS*????.MSB
*: Indicates the content of the gauging software.
????: Indicates the gauging software version.
In this manual, the gauging control software is represented by “MSB”. MSBs largely differ from other control software in their contents. Other control software is used to control signals from the machine and also input/output of part programs and/or user’s commands. In contrast, MSBs have the same format as part programs, and they may be considered to be control software that executes gauging cycles instead of an operator. In the explanation below, LMSA300A.MSB (tool nose gauging using a touch sensor) is used as an example. A variety of MSBs exist in addition to this program and the internal specification is specific to the individual programs. However, the basic programming format, variables to be used, etc. are common to all MSBs.
5327-E P-8

2-2. Variable Tables

The variables used in MSBs are explained in this section.
(1) Common variables (different from common variables V1 to V200 used for parameter setting)
(2) System variables 1 (used for reading and correcting various types of data)
(3) System variables 2 (used for transmitting data between turret A and turret)
(4) System variables 3 (used as counter for gauging functions)
(5) System variables 4 (used for screen display)
(6) Input/output variables (used for input/output)
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
2-2-1. Common Variables (VS01 to VS32)
Differing from common variables (V1 to V200) used for parameter setting, common variables VS01 to VS32 are not displayed on the screen.
5327-E P-9
Variable
No.
VS01 Tool offset number For printer output VS17 Not used
VS02 Target value For printer output VS18
VS03
VS04
VS05 Offset value (new) For printer output VS21
VS06 Result of judgment For printer output VS22
VS07 Not used VS23 Tool number Work gauging
VS08 Not used VS24
VS09 Not used VS25
VS10 Not used VS26 NG processing flag
VS11
VS12 Not used VS28
VS13 Not used VS29 Target point
VS14 Not used VS30 Compensation data
VS15
VS16 Not used VS32 Result of judgment
Function Remark
Gauging (measured) value
Offset value (previous)
Absplite value of amount of varition
Gauging cycle starting point X (Z) coordinate value
For printer output VS19
For printer output VS20
Work/touch setter gauging
Master ring/work/ touch setter gauging
Variable
No.
VS27
VS31
Function Remark
Absolute value of judgment result
Sensor input number (1 or 2)
Touch setter gauging cycle start condition judgment (=1: Gauging)
Diameter gauging, diameter gauging value
Diameter gauging, upper diameter gauging value
Diameter gauging, OD/ID judgment flag (=0: OD, =1: ID)
NG double-contact flag
Gauging direction judgment flag (=0: X­axis, =1: Z-axis)
Tool offset read-out, tool breakage detection cycle judgment flag (=0: Read-out cycle, =1: Tool breakage detection cycle)
Gauging (measured) value
Work/touch setter gauging
Master ring/work/ touch setter gauging
Touch setter gauging
Work gauging
Work gauging
Work gauging
Work/touch setter gauging
Touch setter gauging
Work/touch setter gauging
Touch setter gauging
Master ring/work/ touch setter gauging
Work/touch setter gauging
Master ring/work/ touch setter gauging
Work/touch setter gauging
5327-E P-10
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
(1) Common variables V1 to V200 used for setting parameters are used in common for turrets A
and B. On the other hand, the common variables VS01 to VS32 indicated above are turret dependent. That is, turrets A and B have an independent VS01, for example, and the VS01 for turret A must be specified and called out from turret A, while the VS01 for turret B must be specified and called out from turret B.
(2) Note that these common variables (VS01 to VS32) will be used in other MSBs in addition to the
gauging cycle discussed here. Therefore, if these common variables are used as variables transferred between subprograms, numerical values might be changed during the transfer. When these common variables are used, their processing must end within the same subprogram.
G13 N1 NOEX VS01=100
Variables used in common in G13 side program
N2 NOEX VS02=10 VS03=20 N3 CALL OSUB1
Within a subprogram, they can be used as desired. N4 N5 N6 N7 CALL OSUB2 N8
Do not use common variables for transferring
numerical values from OSUB1 to OSUB2. N9 N10 G14
N1 NOEX VS01=100 VS02=50
N2 CALL OSUB1 N3 N4
* Not used for transferring numerical values
N5 N6 NOEX VS01=100 VS03=60 N7 CALL OSUB3 N8 N9 M02
When calling more than one subprogram from a subprogram,
pay attention to the transfer of variables between
subprograms.
Variables used in common in G14 side program
LE61129R0200700120001
2-2-2. System Variables
System variables 1 are used in in-process gauging operations. They have numerical values automatically determined by the CNC and are used for reading, writing, and altering various types of data. * The subscript expression is the numerical value that can be specified following a variable name in the format [*].
5327-E P-11
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Variable
Name
VSIOX
VSIOZ
VSKPX
VSKPZ
VETFX Presently used tool offset data (X-axis) -99999.999 to 99999.999
VETFZ Presently used tool offset data (Z-axis) -99999.999 to 99999.999
VETON Presently used tool offset number 1 to 32
VETLN Presently used tool number 1 to 12
VRNGX
VRNGZ
VSNX
VSNZ
VGRSL Tool number selected within a tool group 0 to 12 1 to 12
VGRID
VTLNG
VTLOA Offset number (group 1) 0 to 32 1 to 12
VTLGN Group number the tool belongs to 0 to 12 1 to 12
VTLSN Tool life - preset count number 0 to 9999 1 to 12
VTLCN Actual machined number 0 to 9999 1 to 12
VTLST Tool life - preset time 0 to 359999 1 to 12
VTLCT Actual cutting time 0 to 359999 1 to 12
VTLSA Tool life - preset wear amount 0 to 999.999 1 to 12
VTLCA Actual tool wear amount 0 to 99999.999 1 to 12
VTLLF Flag indicating the tool life status 0 to 1 1 to 12
VTLOB Offset number (group 2) 0 to 32 1 to 12
VTLOC Offset number (group 3) 0 to 32 1 to 12
VZOFX X-axis zero offset data -99999.999 to 99999.999
VZOFZ Z-axis zero offset data -99999.999 to 99999.999
VZSHX X-axis zero shift data -99999.999 to 99999.999
Actual position of X-axis (program coordinate system)
Actual position of Z-axis (program coordinate system)
Sensor contact position of X-axis (machine coordinate system)
Sensor contact position of Z-axis (machine coordinate system)
Master ring position (X-axis) (program coordinate system)
Master ring position (Z-axis) (program coordinate system)
Sensor position (X-axis) (machine coordinate system)
Sensor position (Z-axis) (machine coordinate system)
Flag indicating an occurrence of automatic indexing in a tool group
Flag indicating the result in a gauging cycle was NG
Function Min - Max. - Values
-99999.999 to 99999.999
-99999.999 to 99999.999
-99999.999 to 99999.999 1 to 2
-99999.999 to 99999.999 1 to 2
-99999.999 to 99999.999
-99999.999 to 99999.999
-99999.999 to 99999.999 1 to 2
-99999.999 to 99999.999 1 to 2
0 to 1 1 to 12
0 to 1 1 to 12
Subscript
Expression
5327-E P-12
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Variable
Name
VZSHZ Z-axis zero shift data -99999.999 to 99999.999
VTOFX Tool offset data (X-axis) -99999.999 to 99999.999 1 to 32
VTOFZ Tool offset data (Z-axis) -99999.999 to 99999.999 1 to 32
Setting for OPTIONAL PARAMETER (GAUGING)
VSKFA
VSKFB
VNSRX Nose radius compensation data (X-axis) -99999.999 to 99999.999 1 to 32
VNSRZ Nose radius compensation data (Z-axis) -99999.999 to 99999.999 1 to 32
Feedrate in gauging cycle 2 (Feedrate for the first contact detection in double-contact gauging cycle)
Setting for OPTIONAL PARAMETER (GAUGING) Feedrate in gauging cycle 1 (Feedrate for the second contact detection in a double-contact gauging cycle; feedrate for the contact detection in a single-contact gauging cycle)
Function Min - Max. - Values
1 to 500
1 to 500
Subscript
Expression
2-2-3. System Variables 2
System variables 2 are used for transferring data between turret A and turret B. They cannot be displayed on the screen. They are used in common for the two turrets.
Variable
Name
VMDT [1] Compensation data Master ring gauging
VMDT [2] Target value Work gauging
VMDT [3] Gauging (measured value) Work gauging
VMDT [4] Judgment Work gauging
VMDT [5] Compensation data Work gauging
Tool life management specification flag
VMDT [6]
VMDT [7] Diameter gauging, upper diameter gauging value
VMDT [8] Diameter gauging, lower diameter gauging value
VMDT [9] Diameter gauging, diameter gauging value
VMDT [10] Not used
VMDT [11] Not used
VMDT [12] Not used
The system variables for data transfer, indicated above, may be used in programs other than gauging subprograms. They can be used in the same manner as parameter setting common variables.
(=1: Specification supported, =0: Specification not supported)
Function Remarks
Tool nose gauging,
Work gauging
2-2-4. System Variables 3
System variables 3 are used as counters for gauging cycles. They are used for counting the specified events and also for setting the intervals between gauging cycle executions. They are used in common for turret A and turret B.
5327-E P-13
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Variable
Name
Function
Variable
Name
Function
VMCN [1] Master ring gauging cycle ON preset value Setting VMCN [17] Not used
VMCN [2] Master ring gauging cycle ON counter Counter VMCN [18] Not used
VMCN [3] Work gauging cycle ON preset value Setting VMCN [19] Not used
VMCN [4] Work gauging cycle ON counter Counter VMCN [20] Not used
VMCN [5] Read-out cycle ON preset value Setting VMCN [21] Not used
VMCN [6] Read-out cycle ON counter Counter VMCN [22] Not used
VMCN [7] Tool breakage detection cycle ON preset value Setting VMCN [23] Not used
VMCN [8] Tool breakage detection cycle ON counter Counter VMCN [24] Not used
VMCN [9] Not used VMCN [25] Not used
VMCN [10] Not used VMCN [26] Not used
VMCN [11] Not used VMCN [27] Not used
VMCN [12] Not used VMCN [28] Not used
VMCN [13] Not used VMCN [29] Not used
VMCN [14] Not used VMCN [30] Not used
VMCN [15] Not used VMCN [31] Not used
VMCN [16] Not used VMCN [32] Not used
Subprogram OCNCK is used for automatically incrementing a counter; when the counter data reaches the preset value, it is cleared. When the setting is “0”, the corresponding counter does not operate. System variables VMCN[1] to VMCN[32] correspond to counters No. 1 to No. 32, respectively.
LE61129R0200700150001
System variables not assigned specific functions may be used and displayed in the same manner as common variables. Note that the range of numerical values that can be handled by these parameters is 0 to 9999 (positive integer).
2-2-5. System Variables 4
System variables 4 are used for display. When a numerical value is set for the system variables indicated below, the set numerical value is displayed at the specified field in the display screen. They are independent for each of the turrets.
5327-E P-14
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Variable
Name
ID master ring gauging, Upper surface gauging
VIMDX [1]
VIMDX [2]
VIMDX [3]
VIMDX [4]
VIMDX [5]
VIMDX [6]
VIMDX [7]
VIMDX [8]
VIMDX [9] Not used Display available
VIMDX [10] Not used Display available
VIMDX [11] Spare
VIMDX [12] Spare
value OD master ring gauging, X gauging value
ID master ring gauging, Lower surface gauging value
Zero offset, Compensation data in the X-axis direction (amount of variation)
Work gauging, Gauging (measured) value in the X­axis direction
Touch setter gauging, Gauging (measured) value in the X-axis direction
Tool offset, Compensation data in the X-axis direction (amount of variation)
Diameter gauging, Upper diameter gauging (measured) value in the X-axis direction
Diameter gauging, Lower diameter gauging (measured) value in the X-axis direction
Function Remarks
Master ring gauging
Master ring gauging
Master ring gauging
Work gauging
Touch setter gauging
Work/touch setter
gauging
Work gauging
Work gauging
No display with standard
specification
No display with standard
specification
5327-E P-15
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Variable
Name
VIMDZ [1]
Master ring gauging, Gauging (measured) value in the Z-axis direction
Function Remarks
Master ring gauging
VIMDZ [2] Not used Display available
VIMDZ [3]
VIMDZ [4]
VIMDZ [5]
VIMDZ [6]
Zero offset, Gauging (measured) value in the -Z direction
Work gauging, Gauging (measured) value in the Z­axis direction
Touch setter gauging, Gauging (measured) value in the Z-axis direction
Tool offset, Compensation data in the Z-axis direction (amount of variation)
Master ring gauging
Work gauging
Touch setter gauging
Work/touch setter
gauging
VIMDZ [7] Not used Display available
VIMDZ [8] Not used Display available
VIMDZ [9] Not used Display available
VIMDZ [10] Not used Display available
VIMDZ [11] Spare
VIMDZ[12] Spare
No display with standard
specification
No display with standard
specification
The data is displayed by selecting the IN-PROCESS GAUGING screen in the operation mode (automatic, MDI, manual).
LE61129R0200700160001
The data set for VIMDX [*] and VIMDZ [*] (*: 1 to 10) is displayed on the screen shown above. For VIMDX [*] and VIMDZ [*] (*: 11 and 12), data is not displayed with the standard specification. The data input at the turret A side is displayed in the XA and ZA columns and the data input at the turret B side is displayed in the XB and ZB columns. Variables VIMDX [*] and VIMDZ [*] (*: 11, 12), which are not displayed on the screen, can be used as variables.
2-2-6. Input/Output Variables
These variables are used to input and output signals to and from the MSB. VDOUT is used for outputs and VDIN is used for inputs. The subscript determines the contents of the inputs and outputs.
Output Variables
5327-E P-16
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Variable
Name
VDOUT [1] = 1:+NG indicating lamp is turned ON.
VDOUT [2] = 1:+OK indicating lamp is turned ON.
VDOUT [3] = 1:OK indicating lamp is turned ON.
VDOUT [4] = 1:-OK indication lamp is turned ON.
VDOUT [5] = 1:-NG indicating lamp is turned ON.
VDOUT [9] = 0:All judgment indicating lamps are turned OFF.
VDOUT [991] = ####: Outputs “ALARM C user reserve code ####”.
VDOUT [992] = ####: Outputs “ALARM B user reserve code ####”
VDOUT [993] = ####: Outputs “ALARM A user reserve code ####”.
Function
Special Input/Output Variables
The inputs and outputs of the input/output variables indicated below correspond to each other and when the output variable is set ON (=1), the corresponding input is also set ON.
Variable
Name
VDOUT [31] = 1:The master ring gauging cycle ON lamp is turned on and “1” is set for VDIN [31].
VDOUT [32] = 1:The work gauging cycle ON lamp is turned on and “1” is set for VDIN [32].
VDOUT [33] = 1:The trial-cut gauging cycle ON lamp is turned on and “1” is set for VDIN [33].
VDOUT [34] = 1:The touch setter gauging cycle ON lamp is turned on and “1” is set for VDIN [34].
VDOUT [35]
VDIN [31]
VDIN [32] = 1:The work gauging cycle is turned ON. This is not checked within a subprogram.
VDIN [33]
VDIN [34]
VDIN [35]
= 1:The touch setter breakage detection cycle ON lamp is turned on and “1” is set for VDIN [35].
= 1:The master ring gauging cycle is turned ON. This is checked within a subprogram.
= 1:The trial-cut gauging cycle is turned ON. This is not checked within a subprogram.
= 1:The touch setter gauging cycle is turned ON. This is checked within a subprogram.
= 1:The touch setter breakage detection cycle is turned ON. This is checked within a subprogram.
Function

2-3. Print

The print (PRNT) command can be used when the gauging data print function is selected. When PRNT* (*: 1 to 14) is specified, the measured data is output to the printer. The number to be specified with the PRNT command is fixed for each type of data to be output.
5327-E P-17
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Command
No.
PRNT 1 Work gauging cycle; turret A, X-axis
PRNT 2 Work gauging cycle; turret A, Z-axis
PRNT 3 Work gauging cycle; turret B, X-axis
PRNT 4 Work gauging cycle; turret B, Z-axis
PRNT 5 Master ring gauging cycle; turret A, X-axis
PRNT 6 Master ring gauging cycle; turret A, Z-axis
PRNT 7 Master ring gauging cycle; turret B, X-axis
PRNT 8 Master ring gauging cycle; turret B, Z-axis
PRNT 9 Touch setter gauging cycle; X-axis; data of the designated turret
PRNT 10 Touch setter gauging cycle; Z-axis; data of the designated turret
PRNT 11 Work gauging cycle; X-axis; data of the designated turret
PRNT 12 Work gauging cycle; Z-axis data of the designated turret
PRNT 13 Master ring gauging cycle; X-axis; data of the designated turret
PRNT 14 Master ring gauging cycle; Z-axis; data of the designated turret
2-3-1. Print Out Data
Set the measured data at the corresponding common variables (VS01 to VS06). Items indicated by “{” are printed.
Function
Output
Variable
VS01
VS02 Target value {{{
VS03 Measured value {{{
VS04 Offset data before compensation {{ ×
VS05 Offset data after compensation {{ ×
VS06
Tool offset number whose tool offset data is corrected
Result of judgment: 0 for ±OK, ±1 for OK, ±2 for ±NG
Function
Master
Ring
Gauging
× {{
× {{
Work
Gauging
Touch
Setter
Gauging
2-3-2. Print Format
Output format is indicated below.
Master ring gauging cycle
5327-E P-18
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
(1)
* * * MASTER RING GAUGING * * *
A.MIN A-TURRET X-AXIS
COMMAND
ACTUAL LAST-DATA NEW-DATA JUDGE
50.000 50.050 1568.000 1568.050 +OK
1997.8.28 THURSDAY 16:18:20
(2) (3) (4) (5)
(1) Name of file in which gauging cycle has been called (2) Data set at VS02 (0 for turret B) (3) Data set at VS03 (0 for turret B) (4) Data set at VS04 (5) Data set at VS05
A-TURRET X-AXIS for PRNT5 (PRNT13 for turret A) A-TURRET Z-AXIS for PRNT6 (PRNT14 for turret A) B-TURRET X-AXIS for PRNT7 (PRNT13 for turret B) B-TURRET Z-AXIS for PRNT8 (PRNT14 for turret B)
LE61129R0200700200001
In the printout of the data for turret B, the data for COMMAND and ACTUAL are both “0”. This is because the actual gauging cycle is carried out by turret A and the data for turret B tools is corrected using these data. For the measured value in the X-axis direction in the ID master ring gauging cycle, the target value with the amount of variation added is output to facilitate checking of the amount of variation.
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Work gauging cycle
PRNT1 (PRNT11 on turret A)A-TURRET X-AXIS PRNT2 (PRNT12 on turret A)A-TURRET Z-AXIS PRNT3 (PRNT11 on turret B)B-TURRET X-AXIS PRNT4 (PRNT12 on turret B)B-TURRET Z-AXIS
* * * WORK GAUGING * * *
B.MIN A-TURRET X-AXIS
TOFF.NO. COMMAND ACTUAL LAST-DATA NEW-DATA JUDGE
7 50.000 50.050 10.000 9.950 +OK
1997.8.28 THURSDAY 16:18:20
5327-E P-19
(1) (2) (3) (4) (5)
(1) Data set at VS01 (2) Data set at VS02 (3) Data set at VS03 (4) Data set at VS04 (5) Data set at VS05 (6) Data set at VS06
Set any of 0, ±1 and ±2 for VS06, the variable for judgment. The output is as indicated below according to this setting.
Setting Output Result
0OK
+1 +OK
+2 +NG
-1 -OK
-2 -NG
(6)
LE61129R0200700200002
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Touch setter gauging cycle
Turret A
PRNT9..........A-TURRET X-AXIS
PRNT10.........A-TURRET Z-AXIS
Turret B
PRNT9...........B-TURRET X-AXIS
PRNT10.........B-TURRET Z-AXIS
* * * TOUCH SETTER GAUGING * * *
B.MIN A-TURRET X-AXIS
TOFF.NO. COMMAND ACTUAL JUDGE
8 50.000 50.050 +OK
5327-E P-20
1997.3.24 THURSDAY 17:25:31
(1) (2) (3) (4)
(1) Data set at VS01 (2) Data set at VS02 (3) Data set at VS03 (4) Data set at VS06 (The judgment result is displayed in the same manner as in the work gauging cycle.)
LE61129R0200700200003

2-4. Program

2-4-1. Table of Subprograms
The subprograms and their functions are briefly described below.
5327-E P-21
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Subprogram No.
(1) ORGIA
(2) ORGOA
(3) ORNGB
(25) OZTM
(4) OWMXA
(5) OWMZA
(6) OWXBA
(7) OWZBA
(8) OWXBB
(9) OWZBB
(10) OWXZ
(12) OTNSL
(14) OMSSF
Subprogram
Name
Function
Master ring gauging ID: To be called from turret A If called while the chuck is closed, an alarm occurs.
Master ring gauging OD: To be called from turret A Used for correcting the zero offset data of the X- and Z-axis for turret A.
Master ring gauging - processing at turret B: To be called from turret B Used for correcting the zero offset data of the X- and Z-axis for turret B based on the data for turret A.
Judgment cycle for master ring gauging cycle To be called within a gauging subprogram The result of measurement is classified into five levels: OK, ±OK and ±NG.
Work gauging - Turret A in the X-axis direction: To be called from turret A Measures the dimension of a workpiece machined by a tool on turret A in the X-axis direction and corrects the X offset data.
Work gauging - Turret A in the Z-axis direction: To be called from turret A Measures the dimension of a workpiece machined by a tool on turret A in the Z-axis direction and corrects the Z offset data.
Work gauging - Turret B in the X-axis direction: To be called from turret A Measures the dimension of a workpiece machined by a tool on turret B in the X-axis direction For turret B, OWXBB must be called.
Work gauging - Turret B in the Z-axis direction: To be called from turret A Measures the dimension of a workpiece machined by a tool on turret B in the Z-axis direction For turret B, OWZBB must be called.
Work gauging - Turret B in the X-axis direction: To be called from turret B To be called from turret B when OWXBA is called at turret A. Based on the data measured at turret A, the X direction tool offset data is corrected for tools on turret B.
Work gauging - Turret B in the Z-axis direction: To be called from turret B To be called from turret B when OWZBA is called at turret A. Based on the data measured at turret A, the Z direction tool offset data is corrected for tools on turret B.
Work gauging - processing of measured data: To be called within the gauging cycle subprogram Measured data is processed according to the result of judgment.
Checks ATG and AOG commands, and selects the tool number and tool offset number. To be called within a subprogram. Determines whether the tool life management function is used or not. An alarm occurs if an ATG or AOG command is not correct.
Cancels the gauging cycle START conditions: To be called from both turrets A and B Turns off all gauging cycle START conditions.
5327-E P-22
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Subprogram No.
(15) OTRCK
(16) OTST
(13) OCNCK
(17) OTLLS
(18) OTFRD
(19) OTMXZ
(20) OSKPX
(21) OSKPZ Executes the same processing as OSKPX in the direction of Z-axis.
(22) OSPCX
(23) OSPCZ Executes the same processing as OSPCX in the Z-axis direction.
(24) OT1ME Executes a 0.1 sec dwell.
(11) OWTM
(26) ODOAA
(27) ODIAA
Subprogram
Name
Function
Checks conditions for starting the trial-cut gauging cycle: To be called from both turrets A and B Turns ON the conditions for starting the trial-cut gauging cycle when automatic tool indexing is conducted by the tool life management function.
Checks conditions for starting the touch setter gauging cycle: To be called in the block before the tool gauging cycle block. Turns ON the conditions for starting the touch setter gauging cycle when they are turned on by the counter or when automatic tool indexing has been executed by the tool life management function.
Counter for checking the gauging cycle START conditions: To be called from either turret A or turret B. Compares the value set at the gauging cycle counter with the counter data and turns on the gauging cycle START conditions if the counter data has reached the preset value.
Touch setter gauging - tool breakage detection cycle: To be called from the turret on which the tool to be measured is set. Checks chipping or breakage of the tool both in the X- and Z-axis directions.
Touch setter gauging - tool offset data read-out cycle: To be called from the turret on which the tool to be measured is set. Checks the wear amount of the tool both in the X- and Z-axis direction and corrects the tool offset data.
Touch setter gauging cycle - processing cycle: To be called from OTFRD or OTLLS. Executes a gauging cycle by calling OWTM and processes the obtained data.
Executes an actual gauging cycle in the X-axis direction with the gauging cycle start command (G30). This subprogram also determines whether the cycle programmed is the “single-contact” cycle or the “double-contact” cycle. This determination is based on whether argument APPS (argument that specifies the second approach point in the double-contact gauging cycle) is specified or not. This subprogram is called from a gauging cycle subprogram.
Converts the coordinate value of the X-axis direction sensor “touch” point, which is read in terms of the machine coordinate system, into the coordinate value in the program coordinate system.
Work gauging/Touch setter gauging - Measuring and judgment cycle: To be called from a gauging subprogram The result of actual measurement is classified into five levels: OK, ±OK and ±NG.
Diameter gauging - OD by turret A: To be called from turret A Measures the dimension (OD in the X-axis direction) of the workpiece machined by a tool on turret A and corrects the X-axis tool offset data.
Diameter gauging - ID by turret A: To be called from turret A Measures the dimension (ID in the X-axis direction) of the workpiece machined by a tool on turret A and corrects the X-axis tool offset data.
5327-E P-23
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Subprogram No.
(28) ODOBA
(29) ODIBA
(30) ODMBB
(31) ODWTM
(32) OTGNM Obtains the maximum value of the tool group No.
(33) OSNCA
(34) OSNMZ
(35) OSNMX
Subprogram
Name
Function
Diameter gauging - OD by turret B: To be called from turret B Measures the dimension (OD in the X-axis direction) of the workpiece machined by a tool on turret B. For turret B, ODMBB must be called.
Diameter gauging - ID by turret B: To be called from turret B Measures the dimension (ID in the X-axis direction) of the workpiece machined by a tool on turret B. For turret B, ODMBB must be called.
Diameter gauging - Turret B: To be called from turret B Based on the data measured at turret A, the tool offset data on turret B is corrected.
Measuring and judgment cycle for diameter gauging: To be called from a gauging subprogram The result of actual measurement is classified into five levels: OK, ±OK and ±NG.
Touch setter gauging for correcting the sensor position. This subprogram measures and compensates the sensor position.
Touch setter gauging called by OSNCA. This subprogram measures and corrects the sensor position in the Z-axis direction.
Touch setter gauging called by OSNCA. This subprogram measures and corrects the sensor position in the X-axis direction.

2-5. Flow Charts

2-5-1. Master Ring Gauging
Master ring ID gauging cycle
This subprogram is called from turret A
ORGIA
5327-E P-24
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
VRSTT=0
YES
M100
VDIN[31]=0
NO
Is chuck NO.1 open?
YES
XSTP=VSIOX
ZSTP=VSIOZ
VDIN[1255]AND3232
NA1
YES GOO X=-[TOFX[TOF1]-VTOFX[TOF2]/2 Z=ZP1 T=TLN*100+TOF1 M155
NA2
Z=ZP2
VS29=VRNGX
VS19=1
NO
Waiting for synchronization with turret B
YES
NO
3C
Storing the start position
Moving the sensor to P2 Setting the gauging target value
(X-coordinate of ring upper face) Determining the sensor input number
Sequence restart OFF?
Gauging cycle is not ON
3B
NO
GOO X=-[[VTOFX[TOF1]+VTWOX[TOF1]]
-[VTOFX[TOF2]+VTWOX[TOF2]]]/2 Z=ZP1 T=TLN*100+TOF1 M155
Bringing the sensor to the center of master ring TLN: tool number only
OSKPX
VIMDX[1]=VS31
VDIN[1255]AND3232
YESNA3
GOO X=[TOFX[TOF1]-VTOFX[TOF2]]/2 T=TOF2
NA4
Calling the X-direction gauging subprogram
CRT display (measured value 1)
2A
NO
Setting the sensor offset value at TOF2
GOO X=[[VTOFX[TOF1]+VTWOX[TOF1]]
-[VTOFX[TOF2]+VTWOX[TOF2]]]/2 T=TOF2
LE61129R0200700220001
2A
5327-E P-25
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
VS29=-VRNGX
OSKPX
VIMDX[2]=VS31 VS32=[VIMDX[1]+VS31]/2
VS27=0
OZTM
VIMDX[3]=VS32
VS02=VRNGX VS03=VIMDX[3]+VS02 VS04=VZOFX VS06=VS30
VZOFX=VZOFX+VIMDX[3] VS05=VZOFX
PRNT 13
VMDT[1]=-VIMDX[3]
Setting the gauging target value (X-coordinate of ring lower face)
Calling the X-direction gauging subprogram
Measured value 2 Variation in zero offset X
Judging the gauging result
Compensation data in X direction
Target value 2 Measured value Previous zero offset value Result of judgment
Zero offset in X direction New zero offset value
Print command
Setting the variation at the system variable common to turrets A and B (to transfer the variation to turret B)
M100
G00 Z=ZP3
X=XP3 T=TOF1
VS29=VRNGZ
OSKPZ
3A
Waiting for synchronization with turret B Moving the sensor to P3 Setting the sensor offset value at TOF1
Setting the target value (Z-coordinate of master ring) Calling the Z - direction gauging subprogram
LE61129R0200700220002
3A
5327-E P-26
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
VMIRZ=0
NO
YES
Do machine coordinate system and program coordinate system have the same Z-axis direction?
VS31=-VS31
NA5
CRT display
VIMDZ[1]=VS31 VS32=VS31-VRNGZ
Measured value Variation
VS27=1
OZTM
Judging the gauging result
VIMDZ[3]=VS32
VS06=VS30
Setting the printing data
VS02=VRNGZ VS03=VS31 VS04=VZOFZ
Target value Measured value Previous zero offset value
VZOFZ=VS04+VIMDZ[3] VS05=VZOFZ
PRNT 14
Print command
VMDT[1]=VIMDZ[3]
M100
VDIN[1255]AND3232
Waiting for synchronization with turret B
Zero offset in Z direction New zero offset value
Setting the variation at the system variable common to turrets A and B (to transfer the variation to turret B)
NO
NA6 YES
G00 X=-[TOFX[TOF1]-VTOFX[TOF2]]/2 G00 X=[[VTOFX[TOF1]+VTWOX[TOF1]]
-[VTOFX[TOF2]+VTWOX[TOF2]]]/2
NA7
NA8
3C
VMDT[1]=0 VDOUT[992]=1100
Alarm B chuck is not closed
3B
Z=ZP1
X=XSTP Z=ZSTP M154
NA9
M100
Terminating the gauging cycle after synchronization with turret B
NA10
RTS
Retracting the sensor to the start point M154: air blow OFF
LE61129R0200700220003
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Master ring OD gauging cycle
This subprogram is called from turret A.
ORGOA
5327-E P-27
VRSTT=0
YES
M100
VDIN[31]=0
Waiting for synchronization with turret B
NO
YES
NO Storing the start position
XSTP=VSIOX
ZSTP=VSIOZ
G00 X=XP1 Z=ZP1 T=TLN*100+TOF M155
X=XP2 Z=ZP2
Z=ZP3
VS29=VRNGX
VS19=1
OSKPX
VIMDX[1]=VS31
Moving the sensor to P2 Setting the gauging target value (X-coordinate of ring upper face) Determining the sensor input number Calling the X-direction gauging subprogram
Measured value
Sequence restart OFF?
Gauging cycle is not ON
3B
Setting the printing data
VS32=VS31-VRNGX
VS27=0
OZTM
VIMDX[2]=0 VIMDX[3]=VS32
VS02=VRNGX VS03=VS31 VS04=VZOFX VS06=VS30
2A
CRT display (variation)
Target value Measured value Previous zero offset
LE61129R0200700220004
2A
5327-E P-28
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
CRT display
VZOFX=VZOFX+VIMDX[3] VS05=VZOFX
PRNT 13
Print command
VMDT[1]=-VIMDX[3]
M100
G00 Z=ZP2
Waiting for synchronization with turret B
Moving the sensor to P2
X=XP3
VS29=VRNGZ
OSKPZ
VMIRZ=0
Setting the target value (Z-coordinate of master ring)
Calling the Z-direction gauging subprogram
YES
NO
VS31=-VS31
NB2
VIMDZ[1]=VS31 VS32=VS31-VRNGZ VS27=1
Zero offset in X direction New zero offset
Setting the variation at the system variable common to turrets A and B (to transfer the variation to turret B)
Do machine coordinate and program coordinate system have the same Z-axis direction?
Measured value Variation
Setting the printing data
VZOFZ=VZOFZ+VIMDZ[3] VS05=VZOFZ
OZTM
VIMDZ[3]=VS32
VS02=VRNGZ VS03=VS31 VS04=VZOFZ VS06=VS30
3A
Target value Measured value Previous zero offset
LE61129R0200700220005
3A
5327-E P-29
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
PRNT 14
VMDT[1]=VIMDZ[3]
M100
G00 X=XP2
X=XP1 Z=ZP1
X=XSTP Z=ZSTP M154
M100
Print command
Setting the variation at the system variable common to turrets A and B (to transfer the variation to turret B)
Waiting for synchronization with turret B
Moving the sensor to P2 Retracting the sensor to P1
Retracting the sensor to the start point M154: air blow OFF
Terminating the gauging cycle after synchronization with turret B
NB1
RTS
Master ring gauging cycle
This subprogram is called from turret B.
ORNGB
NO
VRSTT=0
YES
M100
Sequence restart OFF?
Waiting for synchronization with turret A
3B
LE61129R0200700220006
YES
VDIN[31]=0
M100
VS04=VZOFX VZOFX=VS04+VMDT[1] VS05=VZOFX VIMDX[3]=VMDT[1]
PRNT 13
M100
VS04=VZOFZ VZOFZ=VS04+VMDT[1] VS05=VZOFZ VIMDZ[3]=VMDT[1]
PRNT 14
M100
RTS
Gauging cycle is not ON
NO
Waiting for completion of Z-direction gauging on turret A
Setting the previous zero offset X (for printing) Zero offset in X-direction on turret B Setting the new zero offset X (for printing) Setting the variation in X-direction displayed on CRT at the system variable common to turrets A and B (gauging result obtained on turret A)
Print command
Waiting for completion of Z - direction gauging on turret A
Setting the previous zero offset Z (for printing) Zero offset in Z-direction on turret B Setting the new zero offset Z (for printing) Setting the variation in Z-direction displayed on CRT at the system variable common to turrets A and B (gauging result obtained on turret A)
Print command
Terminating the gauging cycle after synchronization with turret A
NC1
LE61129R0200700220007
2-5-2. Work Gauging
Work gauging cycle (Turret A, in the X/Z-axis direction)
This subprogram is called from turret A.
Setting the flag for judging the gauging direction
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
OWMXA OWMZA
VS27=0 VS27=1
Gauging in X direction
ND1
M155
Air blow ON
5327-E P-30
Gauging in Z direction
NO
VRSTT=0
Sequence restart OFF?
YES
VDOUT[9]=0
VS25=0 VS29=MSP
VS19=1
OTNSL
Judgment indicator lamp OFF
Flag for NG double-touch gauging Setting the gauging target point
Determining the sensor input number Determining whether the tool life management function
is used or not, checking ATG and AOG commands, and selecting the tool number and the tool offset number
VS17=0
OWTM
Executing the gauging cycle and judging the measured data
VMDT[2]=MSP VMDT[3]=VS31 VMDT[4]=VS30 VMDT[5]=VS32
YES
X direction Z direction
VS27=0
Target point Measured value Judgment Compensation data
NO ND4
VDIN[1255]AND3232 VDIN[1255]AND3232
NO NO
ND2 YES ND5 YES
VIMDX[4]=VS31 VS04=VTOFX[VS01]
VIMDX[4]=VS31 VS04=VTWOX[VS01]
VIMDZ[4]=VS31 VS04=VTOFZ[VS01]
ND3 ND6
OWXZ
Calling the subprogram for processing measured data
VIMDX[6]=-VMDT[5] VIMDZ[6]=-VMDT[5]
PRNT 11
Print command
Variation in tool offset
ND7
M154
Air blow OFF
RTS
VIMDZ[4]=VS31 VS04=VTWOZ[VS01]
OWXZ
PRNT 12
LE61129R0200700230001
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Work gauging cycle (Turret A, in the X/Z-axis direction)
This subprogram is called from turret A.
5327-E P-31
Setting the flag for judging by Turret B in Z Direction (Called from Turret A)
NO
VMDT[2]=MSP VMDT[3]=VS31 VMDT[4]=VS30 VMDT[5]=VS32
VS18=ABS[VS30]
Is the result ±NG?
OK or ±OK
OWXBA
VS27=0 VS27=1
Gauging in X direction
OWZBA
NE1
M155
VRSTT=0
Air blow ON
Sequence restart OFF?
YES
M100 M100
VDOUT[9]=0
VS25=0
VS29=MSP
Starting the gauging cycle in synchronization with turret B Waiting for the tool offset number to be selected on turret B
Judgment indicator lamp OFF Flag for NG double-touch gauging Setting the gauging target point
VS17=0 VS19=1
OWTM
Determining the sensor input number Executing the gauging cycle and judging the measured data
Target point Setting the left values at the system Measured value variables common to turrets A and B Judgment (to transfer the values to turret B) Compensation data
Using the absolute value of the result for the subsequent processing executed after synchronization
VS18=2
NE2
M100
YES ±NG
NO
Ignoring NG YES
Starting the gauging data processing on turret B
VMDT[6]=0
VDIN[21]=1
NE3
M100
Waiting for the data processing on turret B
Gauging in Z direction
Tool life management function OFF?
YES
NO
NG ignore button ON?
NO
M100
M154
RTS
Waiting for synchronization when the result is ±NG
NE4
Air blow OFF
M100 code (waiting for synchronization) is issued to turret B only twice when the result is NG through it is issued three times when the result is OK. This is to prevent the turret A from finishing the gauging subprogram and executing the next sequence before the alarm occurs on turret B. If NG is ignored (no alarm occurs), however, M100 is issued three times as in the case where the result is OK or ±OK.
LE61129R0200700230002
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
j
Work gauging cycle (Turret B, in the X/Z-axis direction)
This subprogram is called from turret A in combination with OWXBA or OWZBA.
5327-E P-32
OWZBB
Gauging in Z direction
Setting the flag for
udging the gauging
direction
NO
OWXBB
VS27=0 VS27=1
Gauging in X direction
NF1
VRSTT=0
Sequence restart OFF?
YES
M100
OTNSL
Determining whether the tool life management function is used or not, checking ATG and AOG commands, and selecting the tool number and the tool offset number
M100 M100
VS27=0
X direction
VIMDX[4]=VMDT[3] VS04=VTOFX[VS01]
OWXZ
Starting the gauging cycle by turret A Waiting for completion of the turret A gauging cycle
NO
YES
Z direction
NF2
VIMD4[4]=VMDT[3] VS04=VTOFZ[VS01]
OWXZ
Calling the gauging data
CRT display Setting the measured value (gauging result on turret A) through the system variable common to turrets A and B Previous tool offset (for printing)
processing subprogram
VIMDX[6]=-VMDT[5] VIMDZ[6]=-VMDT[5]
CRT display Setting the variation in tool offset (gauging result on turret A)
PRNT 11
NF3
M100
Waiting for synchronization with turret A
PRNT 12
through the system variable common to turrets A and B
M100
RTS
Waiting for synchronization when the result is NG
NF4
LE61129R0200700230003
5327-E P-33
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Work gauging cycle (Measured data processing, screen output, printer output)
OWXZ
VS02=VMDT[2] VS03=VMDT[3] VS06=VMDT[4] VS18=ABS[VS06]
YES
VS18=1
VS05=VS04 VMDT[5]=0
VS18=2
±OK processing
1
NG3
VS02 to VS06: variables used for output to the printer
Target value Measured value Result of judgment Using the absolute value of the result to determine the processing to be executed
NO (OK processing, ±NG processing)
Printing the new offset data (previous data if the result is ±NG or OK) Setting the variation at the system variable common to turrets A and B (variation is 0 if the result is ±NG or OK)
YES(±NG)
NO No action is taken when the result is OK
VMDT[6]=0
NG1
VS06>=0
NO (Tool life management)
VDIN[21]=1
YES
NO(-NG)
YES(+NG)
M154 M154
VDOUT[992]=1001+VS27*2
Alarm No.1001 for X-direction gauging (VS27=0) Alarm No.1003 for Z-direction gauging (VS27=1)
VDOUT[992]=1000+VS27*2
Alarm No.1000 for X-direction gauging (VS27=0) Alarm No.1002 for Z-direction gauging (VS27=1)
YES (NG ignored)
NO
Setting the NG flag at the tool life management table without causing any alarm
VTLNG[VS23]=1
VDIN[1255]AND3232
NG5 YES
VS27=0
NO NO
NG6 YES NG4 YES
VTOFX[VS01]=VTOFX[VS01]
-VMDT[5] VS05=VTOFX[VS01]
VTOFZ[VS01]=VTOFZ[VS01]
-VMDT[5] VS05=VTOFZ[VS01]
NG7
Tool life management function OFF?
VMDT[6]=0
NO
TRCT
TRCT specified?
YES
TRCT=1
Addition of compensation data ignored?
NO
VTLCA[VS23]=VTLCA[VS23] +ABS[VMDT[5]]
NG9
RTS
NO
Adding the compensation data to the accumulated wear in the tool life management table C
VS27=0
VTWOX[VS01]=VTWOX[VS01]
-VMDT[5] VS05=VTWOX[VS01]
YES
NO
YES
VTWOZ[VS01]=VTWOZ[VS01]
-VMDT[5] VS05=VTWOZ[VS01]
1
LE61129R0200700230004
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Work gauging data judgment cycle
5327-E P-34
NG double-touch gauging?
YES
1
Judgment indicator lamp ON
OWTM
NH1
VS25=1
VS27=0
NO
NH2
YES
OSKPX
Calling the X-direction gauging and judging subprogram
OSKPZ
Calling the Z-direction gauging and judging subprogram
Is the turret-B program for touch setter IA gauging unused?
VS17=0
YES
NO
VS27=1
Gauging in X direction?
YES
NH3A
NO
VS32=VS29-VS31 VS32=VS31-VS29
NH3B
VS11=ABS[VS32]
Using the absolute value of the variation for the subsequent judgment
VIMDX[12]=VS11
VIMDZ[12]=DNG
±NG?
VIMDX[12] >VIMDZ[12]
NO
VIMDZ[12]=DOK
YES
APPS
NO
YES
VIMDX[12] >VIMDZ[12]
VS25=0
NH4
NO
VS32>0
+NG
YES YES
VDOUT[1]=1 VS30=2
NO
NH5
-NG VDOUT[5]=1
VS30=-2
NH7
VS32>0
+OK
VDOUT[2]=1 VS30=1
NH9
RTS
The touch sensor gauging may be performed simultaneously on turret A and turret B(though work gauging is performed only on turret A), and so the target value, measured value, ,judgment, and compensation data are set at the common variables prepared separately for turrets A and B. For work gauging, these values are set at the variables common to turrets A and B to transfer the data from turret A to turret B.
1
Regarding that the sensor has touched the work twice
Variation = Measured value
- Target value
NH6
±OK?
NO
YES +OK?
NO
NH8
-OK VDOUT[4]=1
VS30=-1
OK
VDOUT[3]=1 VS30=0
LE61129R0200700230005
Tool offset number indexing
OTNSL
VS01=0
NO
ATG
YES
AOG
YES
N14
VMDT[6]=1
N12
VMDT[6]=0
NO
5327-E P-35
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
OTNSL: subprogram for checking ATG and AOG command values and selecting tool offset number VS01: variable used to output the tool offset number to the printer
Tool offset number?
Is ATG (tool group number) specified?
NO
N13 YES
VS01=TOFN
TOFN
N17
OTGNM
Setting the maximum tool group number at VS07
Is ATG command value within allowable range?
0<ATG<VS07
NO
YES
VS23=VGRSL[ATG]
VS23=0
AOG=1
Are tools registered in the specified tool group?
AOG=2
AOG=3
NONONO
YES YES YES
VS01=VTLOA[VS23] VS01=VTLOB[VS23] VS01=VTLOC[VS23]
VS01=0
Tool offset number unregistered? YES
N18
NO
VDOUT[992]=1008
N19
RTS
M154 M126
When both ATG and AOG are specified, data is processed assuming the tool life management specification. If one of the commands is omitted, the tool offset number is obtained from TOFN assuming that the tool life specification is not supported. VDMT[6]..Tool life management function flag =0: Tool life management specification is not supported. =1: Tool life management specification is supported.
LE61129R0200700230006
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Gauging cycle START condition check counters
OCNCK
5327-E P-36
Is "0" set at the gauging counter No. 1 (master ring gauging start)?
VMCN[2]=VMCN[2]+1
Is the counter value smaller than the preset value?
Master ring gauging cycle start condition is met.
VMCN[4]=VMCN[4]+1
Is the counter value smaller than the preset value?
Work gauging cycle start condition is met.
VMCN[6]=VMCN[6]+1
VRSTT=0
YES
VMCN[1]=0
NO
VMCN[2]<VMCN[1]
NO
VMCN[2]=0
VDOUT[31]=1
N1
VMCN[3]=0
NO
VMCN[4]<VMCN[3]
NO
VMCN[4]=0
VDOUT[32]=1
N2
VMCN[5]=0
NO
NO
YES
YES
YES
YES
YES
1
Checking the master ring gauging cycle start condition
Checking the work gauging cycle start condition
Is the counter value smaller than the preset value?
Offset data readout cycle start condition is met.
Is the counter value smaller than the preset value?
Tool breakage detection cycle start condition is met.
VMCN[6]<VMCN[5]
NO VMCN[6]=0 VDOUT[34]=1
N3
VMCN[7]=0
NO
VMCN[8]=VMCN[8]+1
VMCN[8]<VMCN[7]
NO VMCN[8]=0 VDOUT[35]=1
N4
RTS
YES
YES
YES
Checking the offset data readout cycle start condition in touch setter gauging
Checking the tool breakage detection cycle start condition in touch setter gauging
1
LE61129R0200700230007
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Gauging cycle START condition cancel
OMSSF
Sequence restart OFF?
VRSTT=0
YES
M100
NO
Synchronization with the OMSSF called from turret B
5327-E P-37
VDOUT[31]=0 VDOUT[32]=0 VDOUT[33]=0
VDOUT[34]=0 VDOUT[35]=0
Master ring gauging cycle start condition cancel Work gauging cycle start condition cancel Trial cut part gauging cycle start condition cancel
Offset data readout cycle start condition cancel in touch setter gauging Tool breakage detection cycle start condition cancel in touch setter gauging
NK1
RTS
[Supplement]
Synchronization (M100) is necessary to avoid the following case: if either of the turrets fails meet to the gauging condition, the other turret does not perform required gauging.
Automatic tool indexing check for trial-cut gauging cycle
OTRCK
Trial cut part gauging ON
VDOUT[33]=1
NL2
NO
NO
VRSTT=0
YES
RTG=1
OTGNM
NL1
VGRID[RTG]=0
YES
RTG>=VS07
NL3
Local variable Setting the maximum tool
group number at VS07
Is a tool in the tool group automatically indexed?
Repeating the index check in all the tool groups
RTG=RTG+1
LE61129R0200700230008
M100
Synchronization with the index check on turret B
NL4
RTS
Even when a tool is indexed on turret B, the actual gauging is perform on turret A. Synchronization is thus necessary for the gauging processing. (Do not start the gauging cycle independently on turret A or turret B).
LE61129R0200700230009
2-5-3. Touch Setter Gauging
Gauging cycle START condition check
This subprogram should be called before calling the touch setter gauging cycle.
5327-E P-38
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
OTST
NO
YES
YES
NM2
YES
VS20=1
Gauging cycle start conditions are met.
VRSTT=0
When activating the tool life management
YES
VS20=0
VDIN[35]=1
specification is supported, VS20 is used as a tool tip gauging start condition.
NO
Is the tool breakage detection cycle ON?
NO
VDIN[34]=1
NO
RTG=1
OTGNM
Is the offset data readout cycle ON?
RTG is a local variable. Setting the maximum tool
group number at VS07
NM1
VGRID[RTG]=1
NO
RTG>=VS07
YES NM3
Is a tool in the tool group automatically indexed?
Repeating the index check in all the tool groups
NO
RTG=RTG+1
RTS
The touch setter gauging is performed by turret A or turret B independently. The turret A does not need to wait the gauging start conditions to be checked on turret B.
LE61129R0200700240001
Tool breakage detection cycle
OTLLS OTLLA OTLLB OTLLM
NN1
VS17=0 VS16=0
NN3
NO
NO
4D 2A
NN22 NN8
VRSTT=0
YES
OTNSL
VDIN[35]=1
YES
VS28=1
VS17=1 VS17=0
NN2
VS16=1
Checking A TG and AOG commands
Tool breakage detection cycle ON?
Tool breakage detection cycle
LE61129R0200700240002
Tool offset data read-out cycle
5327-E P-39
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
OTFRD
NN4
VS17=0 VS16=0
NN6
NO
VRSTT=0
OTNSL
VDIN[34]=1
YES
YES
VMDT[6]=0
VGRID[ATG]=0
NO
NN7
VS28=0
4D 2A
YES
NO
NO
OTFRA
OTFRB
VS17=1
NN5
VS16=1
Checking A TG and AOG commands Offset data readout cycle ON?
Tool life management specification not supported?
Automatic tool index not executed?
Readout cycle
OTFRM
VS17=0
YES
Even if readout cycle is not ON, execution of the automatic tool index starts the gauging cycle. At this time, however, the gauging ON lamp does not light.
NN22 NN8
LE61129R0200700240003
2A
5327-E P-40
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
YES
Moving the tool nose to P1
VS26=0 XSTP=VSIOX ZSTP=VSIOX
Clearing the NG flag Storing the actual position (start point)
Tool life management specification
VMDT[6]=0
YES
VDIN[1241]
AND 7=0
NN9
NO
not supported?
ATC unprovided?
TLN1=TLN TLN1=TLN1/100 TLN1=FIX[TLN1] TLN=TLN-TLN1*100
NN10
VS17=1
YES
NO
G00 X=XP1 Z=ZP1
T=TLN
NN12
VS01=VETON
NN16
3A
NO
G00 X=XP1 Z=ZP1
NN11
G00 X=XP1 Z=ZP1
TM=TLN
NN15
OG=AOG
NN13
NO
VDIN[1241]
AND 7=0
VS17=1
G00 X=XP1 Z=ZP1 TG=ATG OG=AOG
YES
NO
YES
NN14
G00 X=XP1 Z=ZP1
TM=VS23*100+VS01
LE61129R0200700240004
5327-E P-41
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
3A
Deleting the previously displayed X-axis data
Z-axis gauging OFF?
±NG
VIMDX[5]=0 VIMDX[6]=0
X=XP2 Z=ZP2
MSPZ=0
X=XP3
VS27=1
OTMXZ
PRNT 10
G00 X=XP2
NO
VS26=0
NN18
MSPX=0
NN19
Z=ZP3 VS27=0
OTMXZ
Moving the tool nose to P2
YES
NO
Moving the tool nose to XP3 Z-direction gauging
Calling the gauging and processing subprogram
Print command Z
Returning the tool nose to XP2
Is result other than ±NG?
YES
X-axis gauging OFF?
NO
YES
Moving the tool nose to ZP3 X-direction gauging
Calling the gauging and processing subprogram
NN17
VIMDZ[5]=0 VIMDZ[6]=0
VIMDX[5]=0 VIMDX[6]=0
Clears the data displayed on the screen if gauging cycle is not executed.
Clears the data displayed on the screen if gauging cycle is not executed.
4B 4A 4C
NN20 NN21
4B 4A 4C 4D
PRNT 9
G00 Z=ZP2
VS26=0
Returning the tool nose to P2
Is result other than ±NG?
YES
NO NN20
M126
VDOUT[992]=2000+VETLN+VS28*100
NN21
G00 X=XP1 Z=ZP1
X=XSTP Z=ZSTP
Retracting the tool nose to P1
Retracting the tool nose to the stored start point
NN22
RTS
LE61129R0200700240005
LE61129R0200700240006
Cycle judgment subprogram
OTMXZ
5327-E P-42
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
VDOUT[9]=0 VS19=2 VS25=1
Mirror-image specification supported?
VDIN[1236]
AND 2=2
YES
VS16=0
NO
VS19=3
NO1
X-direction gauging?
VS27=0
YES
NO3
VS29=VSNX[MSPX]
-VZOFX-VZSHX VS19=3
YES
VS29=-VS29
NO4
OWTM
Calling the gauging and data processing subprogram
Judgment indicator lamp OFF Sensor number (always "2" for touch setter gauging) NG double-touch flag (must be "1" because touch setter does not perform double-touch when the gauging result is NG)
NO
YES
NO
Setting the target valve
YES
VS29=VSNZ[MSPZ]
-VZOFZ-VZSHZ
VMIRZ=0
NO2
NO
VS29=-[VSNZ[MSPZ]
-VZOFZ-VZSHZ]
NO
VS02=VS29 VS03=VS31 VS06=VS30 VS18=ABS[VS06]
±OK?
VS18=1 VS28=0
Target value Measured value Judgment Absolute value of judgment data
YES YES YES
NO
1A 4A 2A 3A
Tool breakage detection
NO
VSIN[1255] AND 3232
NO
Processing
VS27=0
X-axis data
NO
Processing
YES
Z-axis data
NO9NO12
LE61129R0200700240007
5327-E P-43
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Processing Z-axis data
VIMDZ[5]=VS03 VIMDZ[6]=0
NO14
NO
VS18=2
YES
VMDT[6]=0
NO
VORD[OT21]=1
YES
VTLNG[VETLN]=1
NG flag ON
NO16
NO12 NO9
1A
NO
VS27=0
YES
Processing X-axis data
VIMDX[5]=VS03 VIMDX[6]=0
Is the result NG?
Tool life management specification not supported?
YES
NO
NO15
VS26=1
2A 3A
VS17=1
VTOFX[VS01]= VS32-VTOFX[VS01]
NO11
VIMDX[5]=VS03 VIMDX[6]=VS32
4A
YES
YES
NO
NO
VS27=0
NO5
VS17=1
NO6
VTWOX[VS01]= VS32-VTWOX[VS01]
NO7
VIMDX[5]=VS03 VIMDX[6]=VS32
NO
YES
VTOFX[VS01]= VS32+VTOFX[VS01]
CRT display Measured value Variation
VTWOX[VS01]= VS32+VTWOX[VS01]
VTOFZ[VS01]= VS32+VTOFZ[VS01]
VIMDZ[5]=VS03 VIMDZ[6]=VS32
VTWOZ[VS01]= VS32+VTWOZ[VS01]
VIMDZ[5]=VS03 VIMDZ[6]=VS32
RTS
LE61129R0200700240008
Gauging cycle - X-axis
OSKPX
5327-E P-44
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
VS15=VSIOX
Storing the actual value for double-touch gauging
Is APPS specified (for double-touch gauging)?
APPS
YESNO1
VS29VS15
NO
Comparing the target value with the actual value
YES
NO
G00 X=VS29-APP
G00 X=VS29+APP
NO3
G30 X=VS29 D=APP L=IMP F=VSKFA
OSPCX
Converting the measured value into a value in the program coordinate system
OTIME
Dwelling for 0.1 sec
X=VS31 D=APPS L=IMP F=VSKFB
OSPCX
Converting the measured value into a value in the program coordinate system
NO4
G00 X=VS15
Returning to the sensor to the gauging cycle start point
RTS
G30 X=VS29 D=APP L=IMP F=VSKFB
OSPCX
NO2
Gauging by first touch
Gauging by second touch by regarding the first touch point as the target value
LE61129R0200700240009
Gauging cycle - Z-axis
OSKPZ
5327-E P-45
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
VS15=VSIOZ
Storing the actual value for double-touch gauging
Is APPS specified (for double-touch gauging)?
APPS
YESNR1
VS29≤VS15
NO
Comparing the target value with the actual value
YES
NO
G00 Z=VS29-APP
G00 Z=VS29+APP
NR3
G30 Z=VS29 D=APP L=IMP F=VSKFA
OSPCZ
Converting the measured value into a value in the program coordinate system
OTIME
Dwelling for 0.1 sec
Z=VS31 D=APPS L=IMP F=VSKFB
OSPCZ
Converting the measured value into a value in the program coordinate system
NR4
Returning to the sensor to the gauging cycle start point
G00 Z=VS15
RTS
G30 Z=VS29 D=APP L=IMP F=VSKFB
OSPCZ
NR2
Gauging by first touch
Gauging by second touch by regarding the first touch point as the target value
LE61129R0200700240010
Converting gauged data into the coordinate value in the program coordinate system
- X-axis
OSPCX
VS31=VSKPX[VS19]-VZOFX-VZSHX-VETFX
VS19=3
NO
Value in the program coordinate system
YES
VS31=-VS31
NP1
RTS
= Measured value in the (machine coordinate system)
- Zero offset value - Zero shift value - Tool offset value
LE61129R0200700240011
5327-E P-46
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Converting gauged data into the coordinate value in the program coordinate system
- Z-axis
OSPCZ
0.1 sec dwell
NTIM1
NO
VMIRZ=0
YES
VS31=VSKPZ[VS19]-VZOFZ
-VZSHZ-VETFZ NP3
RTS
OTIME
TIM1=VDIN[1000]
TIM2=VDIN[1000]
TIM3=TIM2-TIM1
Registering the 1-ms counter value at TIM1
Registering the 1-ms counter value at TIM2
Calculating the elapsed time
Is TIM3 value positive?
TIM3>0
NTIM2
YES
Has 0.1 second elapsed?
TIM3>100
NO
NP2
VS31=-[VSKPZ[VS19]-VZOFZ
-VZSHZ-VETFZ]
NO
TIM1=TIM2
If TIM3 value is negative, the 1-ms counter is reset to "0".
LE61129R0200700240012
RTS
YES
LE61129R0200700240013
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Work gauging data judgment cycle
OZTM
VDOUT[9]=0
5327-E P-47
VS11=ABS[VS32]
VIMDX[12]=VS11
Is DNG command specified?
DNG
NS1
YES
VIMDZ[12]=DNG
VIMDX[12]>
VIMDZ[12]
YES
VS32>0
YES
Judgment indicator lamp ON
VDOUT[1]=1
VS30=2 VS32=0
Using the absolute value of the variation amount for the subsequent judgment
NO
Is DNG command specified?
NO
NO
+NG
NS2
VDOUT[5]=1
VS30=-2
VS32=0
-NG +OK -OK OK
VDOUT[2]=1
VS30=1
NS3 NS4
DOK
NS5
YES
VS32>0
NS6
VDOUT[4]=1
VS30=-1
NO
NO
YES
YES
VIMDZ[12]=DOK
VIMDX[12]>
VIMDZ[12]
NS7
VDOUT[3]=1
VS30=0 VS32=0
NO
M154 M154
VDOUT[992]
=1301+VS27*2
NS8
RTS
VDOUT[922]
=1300+VS27*2
LE61129R0200700240014
2-5-4. Diameter Gauging
Diameter gauging (OD/ID, turret A)
These subprograms are called from turret A.
5327-E P-48
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
OD gauging
Sequence restart OFF?
XSTP=VSIOX
ZSTP=VSIOZ
TSON=VETON
VDOUT[9]=0
ODOAA
VS24=0
NS1
M155
VRSTT=0
VS27=0
VS25=0 VS19=1
OTNSL
ODWTM
Air blow ON
YES
X-direction gauging
ODIAA
VS24=0
ID gauging
NO
2B
NS4
Storing the start position
Storing the currently used tool offset number Judgment lamp OFF
Flag for NG double-touch gauging Determining the sensor input number
Determining whether the tool life management function is used or not, checking ATG and AOG commands, and selecting the tool number and the tool offset number
Calling the diameter gauging and data judging subprogram
VMDT[2]=MSP VMDT[3]=VS21 VMDT[4]=VS30 VMDT[5]=VS32 VMDT[7]=VS22 VMDT[8]=VS31 VMDT[9]=VS21
VIMDX[4]=VS21 VIMDX[7]=VS22 VIMDX[8]=VS31
VDIN[1255]AND 3232
Target point Measured value Judgment Compensation data Measured value at upper gauging point Measured value at lower gauging point Measured diameter
Measured diameter (displayed on CRT) Measured value at upper gauging point (displayed on CRT) Measured value at lower gauging point (displayed on CRT)
NO
YESNS2
VS04=VTOFX[VS01] VS04=VTWOX[VS01]
NS3
2A
LE61129R0200700250001
2B 2A
5327-E P-49
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
OWXZ
Calling the measured data processing subprogram
VIMDX[6]=-VMDT[5]
PRNT 11
Variation amount in tool offset data (displayed on CRT)
Print command
G00 X=XSTP Z=ZSTP T=TSON
NS4
M154
Air blow OFF
RTS
Returning the sensor to gauging start point
LE61129R0200700250002
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Diameter gauging (OD/ID, turret B)
These subprograms are called from turret A.
5327-E P-50
OD gauging
Sequence restart OFF?
XSTP=VSIOX
ZSTP=VSIOZ TSON=VETON
VDOUT[9]=0
ODOBA VS24=0
NT1
M155
VRSTT=0
YES
VS27=0
M100 M100
VS25=0 VS19=1
ODIAA
VS24=1
ID gauging
Air blow ON
NO
X-direction gauging
2B
NT4
Storing the start position
Storing the currently used tool offset number Starting the gauging cycle in synchronization with turret B Waiting for tool offset number to be selected on turret B
Judgment lamp OFF Flag for NG double-touch gauging Determining the sensor input number
ODWTM
VMDT[2]=MSP VMDT[3]=VS21 VMDT[4]=VS30 VMDT[5]=VS32 VMDT[7]=VS22 VMDT[8]=VS31 VMDT[9]=VS21
VS18=ABS[VS30]
2A
Calling the diameter gauging and data judging subprogram
Target point Measured value Judgment Compensation data Measured value at upper gauging point Measured value at lower gauging point Measured diameter
Using the absolute value of the judgment data for the subsequent processing executed after synchronization
LE61129R0200700250003
2B 2A
VS18=2
NT2
M100
NT3
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Is the result ±NG?
YES
NO
YES
±NG
VMDT[6]=0
NO
VDIN[21]=1
NO
5327-E P-51
Tool life management specification not supported?
YES
NG ignore button ON?
M100 M100
Waiting for data processing on turret B Waiting for synchronization when the result is ±NG
G00 X=XSTP Z=ZSTP T=TSON
NT4
M154
RTS
Air blow OFF
M100 code (waiting for synchronization) is issued to turret B only twice when the result is NG though it is issued three times when the result is OK. This is to prevent the turret A from finishing the gauging subprogram and executing the next sequence before the alarm occurs on turret B. If NG is ignored (no alarm occurs), however, M100 is issued three times as in the case where the result is OK or ±OK.
Returning to the sensor to the gauging start position
LE61129R0200700250004
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Diameter gauging (OD/ID, turret B)
These subprograms are called from turret B.
ODMBB
NO
VRSTT=0
VS27=0
Sequence restart OFF?
YES
X-direction gauging
5327-E P-52
M100 OTNSL
Waiting for synchronized gauging with turret A Determining whether the tool life management function
is used or not, checking ATG and AOG commands, and selecting the tool number and the tool offset number
M100 M100
Starting the gauging cycle on turret A Waiting for completion of gauging cycle on turret A
VIMDX[4]=VMDT[3] VIMDX[7]=VMDT[7] VIMDX[8]=VMDT[8] VS04=VTOFX[VS01]
OWXZ
Calling the gauging data processing subprogram
VIMDX[6]=-VMDT[5]
PRNT 11
M100 M100
Print command Waiting for synchronization with turret A
Waiting for synchronization when the result is NG
NV1
RTS
Measured diameter (displayed on CRT) Measured value at upper gauging point (displayed on CRT) Measured value at lower gauging point (displayed on CRT) Previous tool offset (for printing)
Variation in tool offset (displayed on CRT)
LE61129R0200700250005
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Diameter gauging (Data judgment)
ODWTM
OD gauging?
VS24=0
YES
G00 X=XP1 Z=ZP1 T=TOF2
1A
NU3
G00 Z=ZP2
NO
G00 X=-[VTOFX[TOF1]
-VTOFX[TOF2]]/2 Z=ZP1 T=TOF1
NU1
VDIN[1255] AND 32
32
NU2 YES
5327-E P-53
NO
G00 X=-[[VTOFX[TOF1] +VTWOX[TOF1]]
-[VTOFX[TOF2]
-VTWOX[TOF2]]]/2 Z=ZP1 T=TOF1
VS29=MSP
OSKPX
VS22=VS31
OD gauging?
VS24=0
YES
G00 Z=ZP1
X=-XP1 T=TOF1
Z=ZP2
NU6
VS29=-MSP
OSKPX
2A
Setting the target value (of the upper gauging point) Calling the X-direction gauging and processing
subprogram String the value measured at the upper gauging point
NO NU4
VDIN[1255] AND 32
32
NO
NU5 YES
G00 X=[VTOFX[TOF1]
-VTOFX[TOF2]]/2 T=TOF2
G00 X=-[[VTOFX[TOF1] +VTWOX[TOF1]]
-[VTOFX[TOF2]
-VTWOX[TOF2]]]/2 T=TOF2
Setting the target value (of the lower gauging point) Calling the X-direction gauging and processing
subprogram
LE61129R0200700250006
2A
5327-E P-54
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
VS21=[VS22-VS31]/2
VS24=0
G00 Z=ZP1
X=XP1 T=TOF2
NU9
VS32=VS21+VS29 VS11=ABS[VS32]
VIMDX[12]=VS11 VIMDZ[12]=DNG
VIMDX[12]>
VIMDZ[12]
APPS
YES
VS25=1
1A
VS25=0
NU10
VS32>0 VS32>0
NU3
VDOUT[1]=1 VS30=2
OD gauging?
YES
±NG?
YES
YES
NO
NG double-
touch
gauging?
NO
NO NO
+NG
Measured diameter = [upper gauging point - lower gauging point]/2
NO
G00 Z=ZP1
VDIN[1255] AND3232
NU8
G00 X=[VTOFX[TOF1]
-VTOFX[TOF2]]/2 T=TOF1
G00 X=-[[VTOFX[TOF1] +VTWOX[TOF1]]
-[VTOFX[TOF2]
-VTWOX[TOF2]]]/2 T=TOF1
Variation amount = Measured value - Target value Using the absolute value of the variation amount for the subsequent judgment
NO
NU12
Is the judgment ±OK or OK?
VIMDZ[12]=DOK
±OK?
VIMDX[12]> VIMDZ[12]
NO
YES
YESYES
VDOUT[5]=1 VS30=-2
-NG
VDOUT[2]=1 VS30=1
+OK -OK OK
VDOUT[4]=1 VS30=-1
VDOUT[3]=1 VS30=0
NU15
RTS
LE61129R0200700250007
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Calculating the maximum tool group number
OTGNM
VDIN[1255] AND 16=16
NO
NV1
VDIN[1255]
AND 4=4
NO
NV2
VDIN[1255]
AND 2=2
NO
NV3
VS07=32
NV4
RTS
YES
YES
YES
Tool life management specification of 96 tool groups
Tool life management specification of 64 tool groups
VS07=64 VS07=96
5327-E P-55
Tool life management of 200 tool groups
VS07=200
LE61129R0200700250008
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Sensor position compensation
5327-E P-56
OSNCA VS17=0 VS19=2 VS16=0
NW2
VRSTT=0
OTNSL
VS26=0
XSTP=VSIOX ZSTP=VSIOZ
VMDT[6]=0
YES
VDIN[1241]
AND 7=0
NW3
TLN1=TLN
TLN1=TLN1/100
TLN1=FIX[TLN1]
TLN=TLN-TLN1*100
VS17=1
G00 X=XP1 Z=ZP1
T=TLN
NW6
VS01=VETON
NW11
X=XP2 Z=ZP2
OSNCB OSNCM VS17=1 VS19=2
NW1
VS16=0
NO
YES
Determining whether the tool life management function is used or not, checking ATG and AOG commands, and selecting the tool number and the tool offset number
Resetting the NG flag Storing the actual position
NO
YES
ATC unprovided?
NO
NW4
YES
NW5
NO
G00 X=XP1 Z=ZP1
TM=TLN
Offset number output to the printer
Moving the tool nose to P2
NW9
VS17=1
YES
NO G00 X=XP1 Z=ZP1 TG=ATG OG=AOG
VS17=0 VS19=3
Set "3" as the sensor number for turret B with mirror-image function
Sequence restart
2B
NW17
NW7
NO
NW8
G00 X=XP1 Z=ZP1 OG=AOG
VDIN[1241]
AND 7=0
YES
NW10
G00 X=XP1 Z=ZP1
TM=VS23*100+VS01
2A
LE61129R0200700250009
2A
5327-E P-57
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
VIMDZ[5]=0 VIMDZ[6]=0
1
YES
NW12 NO
NW13
NW14
G00 Z=ZP2
NW15
MSPZ=0
X=XP3
OSNMZ
G00 X=XP2
VS26=0
YES
MSPX=0
NO
Z=ZP3
OSNMX
VS26=0
NO
M126
Z-axis offset
NO
YES
YES
VIMDX[5]=0 VIMDX[6]=0
NG processing
VIMDX[5]=0 VIMDX[6]=0
1
VDOUT[992]=2310
NW16
G00 X=XP1 Z=ZP1
X=XSTP Z=ZSTP
NW17
RTS
2B
LE61129R0200700250010
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Sensor position compensation (Z-axis direction)
This subprogram is called from OSNCA.
OSNMZ
Is the same coordinate system used?
VMIRZ=0
YES
VS29=VSNZ[MSPZ]-VZOFZ-VZSHZ
NY2
OSKPZ
VS32=VS31-VS29
NO
DNG
YES
NY5
VIMDX[12]=ABS[VS32]
VIMDZ[12]=DNG
NO
VS29=-[VSNZ[MSPZ]-VZOFZ-VZSHZ]
5327-E P-58
NY1
Setting the target value
VIMDX[12]> VIMDZ[12]
NY6
NO
YES
VS29=VS32
NO
VMIRZ=0
YES
NO
VS29=-VS29
NY7
VSNZ[MSPZ]=VS29+VSNZ[MSPZ]
NY8
VIMDZ[5]=VS31 VIMDZ[6]=VS32
Setting the measured value and the offset value for display
RTS
VS26=1
LE61129R0200700250011
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Sensor position compensation (X-axis direction)
This subprogram is called from OSNCA.
OSNMX
VS29=VSNX[MSPX]-VZOFX-VZSHX
5327-E P-59
VS19=3
NO
YES
VS29=-VS29
NX1
OSKPX
VS32=VS31-VS29
NO
NX2
DNG
YES
VIMDX[12]=ABS[VS32]
VIMDZ[12]=DNG
VIMDX[12]>
YES
VIMDZ[12]
NO
NX3
VSNX[MSPX]=VS32+VSNX[MSPX]
NX4
VIMDX[5]=VS31 VIMDX[6]=VS32
VS26=1
RTS
LE61129R0200700250012

2-6. Program List

ORGIA (Master ring gauging (ID), called from turret A)
IF [VRSTT NE 0] NA10 M100 IF [VDIN [31] EQ 0] NA10 IF [VDIN [22] EQ 0] NA8 NOEX XSTP=VSIOX ZSTP=VSIOZ IF [[VDIN[1255] AND 32] NE 32] NA1 G00X=-[[VTOFX[TOF1]+VTWOX[TOF1]]-[VTOFX[TOF2]+VTWOX[TOF2]]]/2 Z=ZP1 T=TLN*100+TOF1 M155 GOTO NA2 NA1 G00X=-[VTOFX[TOF1]-VTOFX[TOF2]]/2Z=ZP1 T=TLN*100+TOF1 M155 NA2 Z=ZP2 NOEX VS29=VRNGX VS19=1 CALL OSKPX NOEX VIMDX[1]=VS31 IF[[VDIN[1255]AND 32]NE 32]NA3 G00X=[[VTOFX[TOF1]+VTWOX[TOF1]]-[VTOFX[TOF2]+VTWOX[TOF2]]]/2 T=TOF2 GOTO NA4 NA3 G00X=[VTOFX[TOF1]-VTOFX[TOF2]]/2 T=TOF2 NA4 NOEX VS29=-VRNGX CALL OSKPX NOEX VIMDX[2]=VS31 VS32=[VIMDX[1]+VS31]/2 VS27=0 CALL OZTM NOEX VIMDX[3]=VS32 NOEX VS02=VRNGX VS03=VIMDX[3]+VS02 VS04=VZOFX VS06=VS30 NOEX VZOFX=VZOFX+VIMDX[3] VS05=VZOFX PRNT 13 NOEX VMDT[1]=-VIMDX[3] M100 G00Z=ZP3 X=XP3 T=TOF1 NOEX VS29=VRNGZ CALL OSKPZ IF[VMIRZ EQ 0]NA5 NOEX VS31=-VS31 NA5 NOEX VIMDZ[1]=VS31 VS32=VS31-VRNGZ VS27=1 CALL OZTM NOEX VIMDZ[3]=VS32 NOEX VS02=VRNGZ VS03=VS31 VS04=VZOFZ VS06=VS30 NOEX VZOFZ=VS04+VIMDZ[3] VS05=VZOFZ PRNT 14 NOEX VMDT[1]=VIMDZ[3] M100 IF[[VDIN[1255]AND 32]NE 32]NA6 G00X=-[[VTOFX[TOF1]+VTWOX[TOF1]]-[VTOFX[TOF2]+VTWOX[TOF2]]]/2 GOTO NA7 NA6 G00X=-[VTOFX[TOF1]-VTOFX[TOF2]]/2 NA7 Z=ZP1 X=XSTP Z=ZSTP M154 GOTO NA9 NA8 NOEX VMDT[1]=0 VDOUT[992]=1100 NA9 M100 NA10 RTS
5327-E P-60
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
ORGOA (Master ring gauging (OD), called from turret A)
IF[VRSTT NE 0]NB1 M100 IF[VDIN[31] EQ 0]NB1 NOEX XSTP=VSIOX ZSTP=VSIOZ G00X=XP1 Z=ZP1 T=TLN*100+TOF M155 X=XP2 Z=ZP2 Z=ZP3 NOEX VS29=VRNGX VS19=1 CALL OSKPX NOEX VIMDX[1]=VS31 VS32=VS31-VRNGX VS27=0 CALL OZTM NOEX VIMDX[2]=0 VIMDX[3]=VS32 NOEX VS02=VRNGX VS03=VS31 VS04=VZOFX VS06=VS30 NOEX VZOFX=VZOFX+VIMDX[3] VS05=VZOFX PRNT 13 NOEX VMDT[1]=-VIMDX[3] M100 G00Z=ZP2 X=XP3 NOEX VS29=VRNGZ CALL OSKPZ IF[VMIRZ EQ 0]NB2 NOEX VS31=-VS31 NB2 NOEX VIMDZ[1]=VS31 VS32=VS31-VRNGZ VS27=1 CALL OZTM NOEX VIMDZ[3]=VS32 NOEX VS02=VRNGZ VS03=VS31 VS04=VZOFZ VS06=VS30 NOEX VZOFZ=VZOFZ+VIMDZ[3] VS05=VZOFZ PRNT 14 NOEX VMDT[1]=VIMDZ[3] M100 G00X=XP2 X=XP1 Z=ZP1 X=XSTP Z=ZSTP M154 M100 NB1 RTS
5327-E P-61
ORNGB (Master ring gauging (processing at turret B), called from turret B)
IF[VRSTT NE 0]NC1 M100 IF[VDIN[31] EQ 0]NC1 M100 NOEX VS04=VZOFX VZOFX=VS04+VMDT[1] VS05=VZOFX VIMDX[3]=VMDT[1] PRNT 13 M100 NOEX VS04=VZOFZ VZOFZ=VS04+VMDT[1] VS05=VZOFZ VIMDZ[3]=VMDT[1] PRNT 14 M100 NC1 RTS
OWMXA (Work gauging (turret A in the X-axis direction), called from turret A)
NOEX VS27=0 GOTO ND1
5327-E P-62
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
OWMZA (Work gauging (turret A in the Z-axis direction), called from turret A)
NOEX VS27=1 ND1 M155 IF[VRSTT NE 0]ND7 NOEX VDOUT[9]=0 VS25=0 VS29=MSP VS19=1 CALL OTNSL NOEX VS17=0 CALL OWTM NOEX VMDT[2]=MSP VMDT[3]=VS31 VMDT[4]=VS30 VMDT[5]=VS32 IF[VS27 NE 0]ND4 IF[[VDIN[1255]AND 32]NE 32]ND2 NOEX VIMDX[4]=VS31 VS04=VTWOX[VS01] GOTO ND3 ND2 NOEX VIMDX[4]=VS31 VS04=VTOFX[VS01] ND3 CALL OWXZ NOEX VIMDX[6]=-VMDT[5] PRNT 11 GOTO ND7 ND4 IF[[VDIN[1255]AND 32]NE 32]ND5 NOEX VIMDZ[4]=VS31 VS04=VTWOZ[VS01] GOTO ND6 ND5 NOEX VIMDZ[4]=VS31 VS04=VTOFZ[VS01] ND6 CALL OWXZ NOEX VIMDZ[6]=-VMDT[5] PRNT 12 ND7 M154 RTS
OWXBA (Work gauging (turret B in the X-axis direction), called from turret A)
NOEX VS27=0 GOTO NE1
OWZBA (Work gauging (turret B in the Z-axis direction), called from turret A)
NOEX VS27=1 NE1 M155 IF[VRSTT NE 0]NE4 M100 M100 NOEX VDOUT[9]=0 VS25=0 VS29=MSP VS19=1 VS17=0 CALL OWTM NOEX VMDT[2]=MSP VMDT[3]=VS31 VMDT[4]=VS30 VMDT[5]=VS32 NOEX VS18=ABS[VS30] IF[VS18 NE 2]NE2 IF[VMDT[6] EQ 0]NE3 IF[VDIN[21] NE 1]NE3 NE2 M100 NE3 M100 M100 NE4 M154 RTS
OWXBB (Work gauging (turret B in the X-axis direction), called from turret B)
NOEX VS27=0 GOTO NF1
5327-E P-63
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
OWZBB (Work gauging (turret B in the Z-axis direction), called from turret B)
NOEX VS27=1 NF1 IF[VRSTT NE 0]NF4 M100 CALL OTNSL M100 M100 IF[VS27 NE 0]NF2 NOEX VIMDX[4]=VMDT[3] VS04=VTOFX[VS01] CALL OWXZ NOEX VIMDX[6]=-VMDT[5] PRNT 11 GOTO NF3 NF2 NOEX VIMDZ[4]=VMDT[3] VS04=VTOFZ[VS01] CALL OWXZ NOEX VIMDZ[6]=-VMDT[5] PRNT 12 NF3 M100 M100 NF4 RTS
OWXZ (Work gauging (processing of measured data), called within the gauging cycle subprogram)
NOEX VS02=VMDT[2] VS03=VMDT[3] VS06=VMDT[4] VS18=ABS[VS06] IF[VS18 EQ 1]NG3 NOEX VS05=VS04 VMDT[5]=0 IF[VS18 NE 2]NG9 IF[VMDT[6] EQ 0]NG1 IF[VDIN[21] NE 1]NG1 NOEX VTLNG[VS23]=1 GOTO NG9 NG1 IF[VS06 LT 0]NG2 M154 NOEX VDOUT[992]=1001+VS27*2 GOTO NG9 NG2 M154 NOEX VDOUT[992]=1000+VS27*2 GOTO NG9 NG3 IF[[VDIN[1255]AND 32]NE 32]NG5 IF[VS27 EQ 0]NG4 NOEX VTWOZ[VS01]=VTWOZ[VS01]-VMDT[5] VS05=VTWOZ[VS01] GOTO NG7 NG4 NOEX VTWOX[VS01]=VTWOX[VS01]-VMDT[5] VS05=VTWOX[VS01] GOTO NG7 NG5 IF[VS27 EQ 0]NG6 NOEX VTOFZ[VS01]=VTOFZ[VS01]-VMDT[5] VS05=VTOFZ[VS01] GOTO NG7 NG6 NOEX VTOFX[VS01]=VTOFX[VS01]-VMDT[5] VS05=VTOFX[VS01] NG7 IF[VMDT[6] EQ 0]NG9 IF TRCT NG8 GOTO NG9 NG8 IF[TRCT EQ 1]NG9 NOEX VTLCA[VS23]=VTLCA[VS23]+ABS[VMDT[5]] NG9 RTS
5327-E P-64
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
OWTM (Work gauging/Touch setter gauging (measuring and judgment cycle), called from a gauging subprogram)
NOEX VS02=VMDT[2] VS03=VMDT[3] VS06=VMDT[4] VS18=ABS[VS06] IF[VS18 EQ 1]NG3 NOEX VS05=VS04 VMDT[5]=0 IF[VS18 NE 2]NG9 IF[VMDT[6] EQ 0]NG1 IF[VDIN[21] NE 1]NG1 NOEX VTLNG[VS23]=1 GOTO NG9 NG1 IF[VS06 LT 0]NG2 M154 NOEX VDOUT[992]=1001+VS27*2 GOTO NG9 NG2 M154 NOEX VDOUT[992]=1000+VS27*2 GOTO NG9 NG3 IF[[VDIN[1255]AND 32]NE 32]NG5 IF[VS27 EQ 0]NG4 NOEX VTWOZ[VS01]=VTWOZ[VS01]-VMDT[5] VS05=VTWOZ[VS01] GOTO NG7 NG4 NOEX VTWOX[VS01]=VTWOX[VS01]-VMDT[5] VS05=VTWOX[VS01] GOTO NG7 NG5 IF[VS27 EQ 0]NG6 NOEX VTOFZ[VS01]=VTOFZ[VS01]-VMDT[5] VS05=VTOFZ[VS01] GOTO NG7 NG6 NOEX VTOFX[VS01]=VTOFX[VS01]-VMDT[5] VS05=VTOFX[VS01] NG7 IF[VMDT[6] EQ 0]NG9 IF TRCT NG8 GOTO NG9 NG8 IF[TRCT EQ 1]NG9 NOEX VTLCA[VS23]=VTLCA[VS23]+ABS[VMDT[5]] NG9 RTS
OTNSL
Determines whether the tool life management function is used or not. Selects tool number and tool offset number from group number. To be called within a subprogram. NOEX VS02=VMDT[2] VS03=VMDT[3] VS06=VMDT[4] VS18=ABS[VS06] IF[VS18 EQ 1]NG3 NOEX VS05=VS04 VMDT[5]=0 IF[VS18 NE 2]NG9 IF[VMDT[6] EQ 0]NG1 IF[VDIN[21] NE 1]NG1 NOEX VTLNG[VS23]=1 GOTO NG9 NG1 IF[VS06 LT 0]NG2 M154 NOEX VDOUT[992]=1001+VS27*2 GOTO NG9 NG2 M154 NOEX VDOUT[992]=1000+VS27*2 GOTO NG9 NG3 IF[[VDIN[1255]AND 32]NE 32]NG5 IF[VS27 EQ 0]NG4
5327-E P-65
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
NOEX VTWOZ[VS01]=VTWOZ[VS01]-VMDT[5] VS05=VTWOZ[VS01] GOTO NG7 NG4 NOEX VTWOX[VS01]=VTWOX[VS01]-VMDT[5] VS05=VTWOX[VS01] GOTO NG7 NG5 IF[VS27 EQ 0]NG6 NOEX VTOFZ[VS01]=VTOFZ[VS01]-VMDT[5] VS05=VTOFZ[VS01] GOTO NG7 NG6 NOEX VTOFX[VS01]=VTOFX[VS01]-VMDT[5] VS05=VTOFX[VS01] NG7 IF[VMDT[6] EQ 0]NG9 IF TRCT NG8 GOTO NG9 NG8 IF[TRCT EQ 1]NG9 NOEX VTLCA[VS23]=VTLCA[VS23]+ABS[VMDT[5]] NG9 RTS
OCNCK (Counter for checking the gauging cycle START conditions, called from either turret A or turret B.)
IF[VRSTT NE 0]N4 IF[VMCN[1]EQ 0]N1 NOEX VMCN[2]=VMCN[2]+1 IF[VMCN[2]LT VMCN[1]]N1 NOEX VMCN[2]=0 VDOUT[31]=1 N1 IF[VMCN[3]EQ 0]N2 NOEX VMCN[4]=VMCN[4]+1 IF[VMCN[4]LT VMCN[3]]N2 NOEX VMCN[4]=0 VDOUT[32]=1 N2 IF[VMCN[5]EQ 0]N3 NOEX VMCN[6]=VMCN[6]+1 IF[VMCN[6]LT VMCN[5]]N3 NOEX VMCN[6]=0 VDOUT[34]=1 N3 IF[VMCN[7]EQ 0]N4 NOEX VMCN[8]=VMCN[8]+1 IF[VMCN[8]LT VMCN[7]]N4 NOEX VMCN[8]=0 VDOUT[35]=1 N4 RTS
OMSSF (Cancels the gauging cycle START conditions, called from both turrets A and B)
IF[VRSTT NE 0]NK1 M100 NOEX VDOUT[31]=0 VDOUT[32]=0 VDOUT[33]=0 NOEX VDOUT[34]=0 VDOUT[35]=0 NK1 RTS
OTRCK (Checks conditions for starting the trial-cut gauging cycle, called from both turrets A and B)
IF[VRSTT NE 0]NK1 M100 NOEX VDOUT[31]=0 VDOUT[32]=0 VDOUT[33]=0 NOEX VDOUT[34]=0 VDOUT[35]=0 NK1 RTS
5327-E P-66
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
OTST (Checks conditions for starting the touch setter gauging cycle, called in the block before the tool gauging cycle block)
IF[VRSTT NE 0]NM3 NOEX VS20=0 IF[VDIN[35] EQ 1]NM2 IF[VDIN[34] EQ 1]NM2 NOEX RTG=1 CALL OTGNM NM1 IF[VGRID[RTG] EQ 1]NM2 IF[RTG GE VS07]NM3 NOEX RTG=RTG+1 GOTO NM1 NM2 NOEX VS20=1 NM3 RTS
OTLLS (Touch setter gauging (tool breakage detection cycle), called from the turret on which the tool to be measured is set)
GOTO NN1
OTLLA (Touch setter gauging (tool offset data read-out cycle), called from the turret on which the tool to be measured is set)
NN1 NOEX VS17=0 VS16=0 GOTO NN3
OTLLB
NOEX VS17=1 GOTO NN2
OTLLM
NOEX VS17=0 NN2 NOEX VS16=1 NN3 IF[VRSTT NE 0]NN22 CALL OTNSL IF[VDIN[35] NE 1]NN22 NOEX VS28=1 GOTO NN8
OTFRD
GOTO NN4
OTFRA
NN4 NOEX VS17=0 VS16=0 GOTO NN6
OTFRB
NN4 NOEX VS17=0 VS16=0 GOTO NN6
OTFRM
NOEX VS17=0 NN5 NOEX VS16=1 NN6 IF[VRSTT NE 0]NN22
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
CALL OTNSL IF[VDIN[34] EQ 1]NN7 IF[VMDT[6] EQ 0]NN22 IF[VGRID[ATG] EQ 0]NN22 NN7 NOEX VS28=0 NN8 NOEX VS26=0 XSTP=VSIOX ZSTP=VSIOZ IF[VMDT[6] NE 0]NN13 IF[[VDIN[1241] AND 7] EQ 0]NN10 NN9 NOEX TLN1=TLN TLN1=TLN1/100 TLN1=FIX[TLN1] TLN=TLN-TLN1*100 NN10 IF[VS17 EQ 1]NN11 G00X=XP1 Z=ZP1 T=TLN GOTO NN12 NN11 G00X=XP1 Z=ZP1 TM=TLN NN12 NOEX VS01=VETON GOTO NN16 NN13 IF[[VDIN[1241] AND 7] NE 0]NN15 IF[VS17 EQ 1]NN14 G00X=XP1 Z=ZP1 TG=ATG OG=AOG GOTO NN16 NN14 G00X=XP1 Z=ZP1 TM=VS23*100+VS01 GOTO NN16 NN15 G00X=XP1 Z=ZP1 OG=AOG NN16 X=XP2 Z=ZP2 IF[MSPZ EQ 0]NN17 X=XP3 NOEX VS27=1 CALL OTMXZ PRNT 10 G00X=XP2 IF[VS26 EQ 0]NN18 NOEX VIMDX[5]=0 VIMDX[6]=0 GOTO NN20 NN17 NOEX VIMDZ[5]=0 VIMDZ[6]=0 NN18 IF[MSPX NE 0]NN19 NOEX VIMDX[5]=0 VIMDX[6]=0 GOTO NN21 NN19 Z=ZP3 NOEX VS27=0 CALL OTMXZ PRNT 9 G00Z=ZP2 IF[VS26 EQ 0]NN21 NN20 NOEX VDOUT[992]=2000+VETLN+VS28*100 NN21 G00X=XP1 Z=ZP1 X=XSTP Z=ZSTP NN22 RTS
5327-E P-67
OTMXZ (Touch setter gauging cycle (processing cycle), called from OTFRD or OTLLS)
NOEX VDOUT[9]=0 VS19=2 VS25=1 IF[[VDIN[1235] AND 2] NE 2]NO0A IF[VS16 EQ 0]NO0A NOEX VS19=3
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
NO0A IF[VS27 EQ 0]NO1 IF[VMIRZ NE 0]NO0B NOEX VS29=VSNZ[MSPZ]-VZOFZ-VZSHZ GOTO NO2 NO0B NOEX VS29=-[VSNZ[MSPZ]-VZOFZ-VZSHZ] GOTO NO2 NO1 NOEX VS29=VSNX[MSPX]-VZOFX-VZSHX IF[VS19 NE 3]NO2 NOEX VS29=-VS29 NO2 CALL OWTM NOEX VS02=VS29 VS03=VS31 VS06=VS30 VS18=ABS[VS06] IF[VS18 NE 1]NO4 IF[VS28 NE 0]NO4 IF[VS27 EQ 0]NO3 NOEX VTOFZ[VS01]=VS32+VTOFZ[VS01] VIMDZ[5]=VS03 VIMDZ[6]=VS32 GOTO NO7 NO3 IF[VS17 EQ 1]NO3A NOEX VTOFX[VS01]=VS32+VTOFX[VS01] GOTO NO3B NO3A NOEX VTOFX[VS01]=VS32-VTOFX[VS01] NO3B NOEX VIMDX[5]=VS03 NOEX VIMDX[6]=VS32 GOTO NO7 NO4 IF[VS27 EQ 0]NO5 NOEX VIMDZ[5]=VS03 VIMDZ[6]=0 GOTO NO6 NO5 NOEX VIMDX[5]=VS03 VIMDX[6]=0 NO6 IF[VS18 NE 2]NO7 IF[VMDT[6] EQ 0]NO8 IF[VORD[OT21] NE 1]NO8 NOEX VTLNG[VETLN]=1 GOTO NO7 NO8 VS26=1 NO7 RTS
5327-E P-68
OSKPX (Gauging cycle (G30) generation (X-axis), called from a subprogram)
NOEX VS15=VSIOX IF APPS NQ1 G30X=VS29 D=APP L=IMP F=VSKFB CALL OSPCX GOTO NQ4 NQ1 IF[VS29 LE VS15]NQ2 G00X=VS29-APP GOTO NQ3 NQ2 G00X=VS29+APP NQ3 G30X=VS29 D=APP L=IMP F=VSKFA CALL OSPCX CALL OT1ME X=VS31 D=APPS L=IMP F=VSKFB CALL OSPCX NQ4 G00X=VS15 RTS
OSKPZ (Gauging cycle (G30) generation (Z-axis), called from a subprogram)
NOEX VS15=VSIOZ IF APPS NR1
5327-E P-69
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
G30Z=VS29 D=APP L=IMP F=VSKFB CALL OSPCZ GOTO NR4 NR1 IF[VS29 LE VS15]NR2 G00Z=VS29-APP GOTO NR3 NR2 G00Z=VS29+APP NR3 G30Z=VS29 D=APP L=IMP F=VSKFA CALL OSPCZ CALL OT1ME Z=VS31 D=APPS L=IMP F=VSKFB CALL OSPCZ NR4 G00Z=VS15 RTS
OSPCX (Converts the measured value into the coordinate value in the program coordinate system (X-axis), called from a subprogram)
NOEX VS31=VSKPX[VS19]-VZOFX-VZSHX-VETFX IF[VS19 NE 3]NP1 NOEX VS31=-VS31 NP1 RTS
OSPCZ (Converts the measured value into the coordinate value in the program coordinate system (Z-axis), called from a subprogram)
NOEX VS31=VSKPX[VS19]-VZOFX-VZSHX-VETFX IF[VS19 NE 3]NP1 NOEX VS31=-VS31 NP1 RTS
OTIME (0.1 sec dwell, called from a subprogram)
NOEX TIM1=VDIN[1000] NTIM1 NOEX TIM2=VDIN[1000] NOEX TIM3=TIM2-TIM1 IF[TIM3 GT 0]NTIM2 NOEX TIM1=TIM2 GOTO NTIM1 NTIM2 IF[TIM3 LT 100]NTIM1 RTS
OZTM (Judgment cycle for master ring gauging cycle, called from a subprogram)
NOEX VDOUT[9]=0 VS11=ABS[VS32] VIMDX[12]=VS11 IF DNG NS1 GOTO NS3 NS1 VIMDZ[12]=DNG IF[VIMDX[12] LE VIMDZ[12]]NS3 IF[VS32 LE 0]NS2 NOEX VDOUT[1]=1 VS30=2 VS32=0 M154 NOEX VDOUT[992]=1301+VS27*2 GOTO NS8 NS2 NOEX VDOUT[5]=1 VS30=-2 VS32=0 M154 NOEX VDOUT[992]=1300+VS27*2 GOTO NS8
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
NS3 IF DOK NS4 GOTO NS5 NS4 VIMDZ[12]=DOK IF [VIMDX[12] LE VIMDZ[12]]NS7 NS5 IF[VS32 LE 0]NS6 NOEX VDOUT[2]=1 VS30=1 GOTO NS8 NS6 NOEX VDOUT[4]=1 VS30=-1 GOTO NS8 NS7 NOEX VDOUT[3]=1 VS30=0 VS32=0 NS8 RTS
ODOAA (Diameter gauging (OD) by turret A, called from turret A)
NOEX VS24=0 GOTO NS1
ODIAA (Diameter gauging (ID) by turret A, called from turret A)
NOEX VS24=1 NS1 M155 IF [VRSTT NE 0] NS4 NOEX VS27=0 XSTP=VSIOX ZSTP=VSIOZ TSON=VETON NOEX VDOUT[9]=0 VS25=0 VS19=1 CALL OTNSL CALL ODWTM NOEX VMDT[2]=MSP VMDT[3]=VS21 VMDT[4]=VS30 VMDT[5]=VS32 NOEX VMDT[7]=VS22 VMDT[8]=VS31 VMDT[9]=VS21 NOEX VIMDX[4]=VS21 VIMDX[7]=VS22 VIMDX[8]=VS31 IF[[VDIN[1255]AND 32]NE 32]NS2 NOEX VS04=VTWOX[VS01] GOTO NS3 NS2 NOEX VS04=VTOFX[VS01] NS3 CALL OWXZ NOEX VIMDX[6]=-VMDT[5] PRNT 11 G00X=XSTP Z=ZSTP T=TSON NS4 M154 RTS
5327-E P-70
ODOBA (Diameter gauging (OD) by turret B, called from turret A)
NOEX VS24=0 GOTO NT1
ODIBA (Diameter gauging (ID) by turret B, called from turret A)
NOEX VS24=1 NT1 M155 IF [VRSTT NE 0] NT4 VS27=0 XSTP=VSIOX ZSTP=VSIOZ TSON=VETON M100 M100 NOEX VDOUT[9]=0 VS25=0 VS19=1 CALL ODWTM NOEX VMDT[2]=MSP VMDT[3]=VS21 VMDT[4]=VS30 VMDT[5]=VS32 NOEX VMDT[7]=VS22 VMDT[8]=VS31 VMDT[9]=VS21 NOEX VS18=ABS[VS30] IF[VS18 NE 2]NT2
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
IF[VMDT[6] EQ 0]NT3 IF[VDIN[21] NE 1]NT3 NT2 M100 NT3 M100 M100 G00X=XSTP Z=ZSTP T=TSON NT4 M154 RTS
ODMBB (Diameter gauging (turret B), called from turret B)
IF [VRSTT NE 0] NV1 NOEX VS27=0 M100 CALL OTNSL M100 M100 NOEX VIMDX[4]=VMDT[3] VIMDX[7]=VMDT[7] VIMDX[8]=VMDT[8] NOEX VS04=VTOFX[VS01] CALL OWXZ NOEX VIMDX[6]=-VMDT[5] PRNT 11 M100 M100 NV1 RTS
5327-E P-71
ODWTM (Measuring and judgment cycle for diameter gauging, called from a gauging subprogram)
IF[VS24 NE 0]NU1 G00X=XP1 Z=ZP1 T=TOF2 GOTO NU3 NU1 IF[[VDIN[1255]AND 32]NE 32]NU2 G00X=-[[VTOFX[TOF1]+VTWOX[TOF1]]-[VTOFX[TOF2]+VTWOX[TOF2]]]/2 Z=ZP1 T=TOF1 GOTO NU3 NU2 G00X=-[VTOFX[TOF1]-VTOFX[TOF2]]/2 Z=ZP1 T=TOF1 NU3 G00Z=ZP2 NOEX VS29=MSP CALL OSKPX NOEX VS22=VS31 IF[VS24 NE 0]NU4 G00Z=ZP1 X=-XP1 T=TOF1 Z=ZP2 GOTO NU6 NU4 IF[[VDIN[1255]AND 32]NE 32]NU5 G00X=[[VTOFX[TOF1]+VTWOX[TOF1]]-[VTOFX[TOF2]+VTWOX[TOF2]]]/2 T=TOF2 GOTO NU6 NU5 G00X=[VTOFX[TOF1]-VTOFX[TOF2]]/2 T=TOF2 NU6 NOEX VS29=-MSP CALL OSKPX NOEX VS21=[VS22-VS31]/2 IF[VS24 NE 0]NU7 G00Z=ZP1 X=XP1 T=TOF2
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
GOTO NU9 NU7 G00Z=ZP1 IF[[VDIN[1255]AND 32]NE 32]NU8 G00X=-[[VTOFX[TOF1]+VTWOX[TOF1]]-[VTOFX[TOF2]+VTWOX[TOF2]]]/2 T=TOF1 GOTO NU9 NU8 G00X=-[VTOFX[TOF1]-VTOFX[TOF2]]/2 T=TOF1 NU9 NOEX VS32=VS21+VS29 VS11=ABS[VS32] NOEX VIMDX[12]=VS11 VIMDZ[12]=DNG IF[VIMDX[12] LE VIMDZ[12]]NU12 IF APPS NU10 IF[VS25 NE 0]NU10 NOEX VS25=1 GOTO NU3 NU10 IF[VS32 LE 0]NU11 NOEX VDOUT[1]=1 VS30=2 GOTO NU15 NU11 NOEX VDOUT[5]=1 VS30=-2 GOTO NU15 NU12 NOEX VIMDZ[12]=DOK IF[VIMDX[12] LE VIMDZ[12]]NU14 IF[VS32 LE 0]NU13 NOEX VDOUT[2]=1 VS30=1 GOTO NU15 NU13 NOEX VDOUT[4]=1 VS30=-1 GOTO NU15 NU14 NOEX VDOUT[3]=1 VS30=0 NU15 RTS
5327-E P-72
OTGNM
IF [[VDIN[1255] AND 16] NE 16]NV1 NOEX VS07=200 GOTO NV4 NV1 IF [[VDIN[1255] AND 12] NE 12]NV2 NOEX VS07=96 GOTO NV4 NV2 IF [[VDIN[1255] AND 10] NE 10]NV3 NOEX VS07=64 GOTO NV4 NV3 NOEX VS07=32 NV4 RTS
OSNCA
NOEX VS17=0 VS19=2 VS16=0 GOTO NW2
OSNCB
NOEX VS17=1 VS19=2 GOTO NW1
OSNCM
NOEX VS17=0 VS19=3 NW1 NOEX VS16=1 NW2 IF[VRSTT NE 0]NW17 CALL OTNSL
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
NOEX VS26=0 XSTP=VSIOX ZSTP=VSIOZ IF[VMDT[6] NE 0]NW7 IF[[VDIN[1241] AND 7] EQ 0]NW4 NW3 NOEX TLN1=TLN NOEX TLN1=TLN1/100 NOEX TLN1=FIX[TLN1] NOEX TLN=TLN-TLN1*100 NW4 IF[VS17 EQ 1]NW5 G00X=XP1 Z=ZP1 T=TLN GOTO NW6 NW5 G00X=XP1 Z=ZP1 TM=TLN NW6 NOEX VS01=VETON GOTO NW11 NW7 IF[[VDIN[1241] AND 7] NE 0]NW9 NW8 G00X=XP1 Z=ZP1 OG=AOG GOTO NW11 NW9 IF[VS17 EQ 1]NW10 G00 X=XP1 Z=ZP1 TG=ATG OG=AOG GOTO NW11 NW10 G00X=XP1 Z=ZP1 TM=VS32*100+VS01 NW11 X=XP2 Z=ZP2 IF [MSPZ NE 0]NW12 NOEX VIMDZ[5]=0 VIMDZ[6]=0 GOTO NW13 NW12 X=XP3 CALL OSNMZ G00X=XP2 IF [VS26 EQ 0]NW13 NOEX VIMDX[5]=0 VIMDX[6]=0 GOTO NW15 NW13 IF[MSPX NE 0]NW14 NOEX VIMDX[5]=0 VIMDX[6]=0 GOTO NW16 NW14 Z=ZP3 CALL OSNMX G00Z=ZP2 IF [VS26 EQ 0]NW16 NW15 NOEX VDOUT[992]=2310 NW16 G00X=XP1 Z=ZP1 X=XSTP Z=ZSTP NW17 RTS
5327-E P-73
OSNMZ
IF[VMIRZ NE 0]NY1 NOEX VS29=VSNZ[MSPZ]-VZOFZ-VZSHZ GOTO NY2 NY1 NOEX VS29=-[VSNZ[MSPZ]-VZOFZ-VZSHZ] NY2 CALL OSKPZ NY3 NOEX VS32=VS31-VS29 NY4 IF DNG NY5 GOTO NY6 NY5 NOEX VIMDX[12]=ABS[VS32] VIMDZ[12]=DNG IF[VIMDX[12] LE VIMDZ[12]]NY6 NOEX VS26=1 GOTO NY8 NY6 NOEX VS29=VS32
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
IF [VMIRZ EQ 0]NY7 NOEX VS29=-VS29 NY7 NOEX VSNZ[MSPZ]=VS29+VSNZ[MSPZ] NY8 NOEX VIMDZ[5]=VS31 VIMDZ[6]=VS32 RTS
OSNMX
NOEX VS29=VSNX[MSPX]-VZOFX-VZSHX IF [VS19 NE 3]NX1 NOEX VS29=-VS29 NX1 CALL OSKPX NOEX VS32=VS31-VS29 IF DNG NX2 GOTO NX3 NX2 NOEX VIMDX[12]=ABS[VS32] VIMDZ[12]=DNG IF [VIMDX[12] LE VIMDZ[12]]NX3 NOEX VS26=1 GOTO NX4 NX3 NOEX VSNX[MSPX]=VS32+VSNX[MSPX] NX4 NOEX VIMDX[5]=VS31 VIMDX[6]=VS32 RTS
5327-E P-74
5327-E P-75
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)

3. Touch Sensor Gauging (Automatic Zero Offset Function)

3-1. General Description of MSB

This section covers the list, flow chart and variable table relating to the automatic zero offset taking the following maker subprogram (MSB) as an example.
LMSC300A.MSB
MSBs largely differ from other control software in their contents. Other control software is used to control signals from the machine and also input/output of part programs and/or user’s commands. In contrast, MSBs have the same format as part programs, and they may be considered to be control software which executes gauging cycles instead of an operator.

3-2. Variable Tables

The variables used in MSB are explained in this section.
(1) Common variables (different from common variables V1 to V200 used for parameter setting)
(2) System variables 1 (used for reading and correcting various types of data)
(3) System variables 2 (used for transmitting data between turret A and turret B)
(4) Input/output variables (used for input/output)
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
3-2-1. Common Variables (VS01 to VS32)
Differing from common variables (V1 to V200) used for parameter setting, common variables VS01 to VS32 are not displayed on the screen.
5327-E P-76
Variable
Name
VS01 Sensor input number VS17 Not used
For storing the Z-coordinate
VS02
VS03
VS04 Not used VS20 Not used
VS05 Not used VS21 Not used
VS06 Not used VS22 Not used
VS07 Not used VS23 Not used
VS08 Not used VS24 Not used
VS09 Not used VS25 Not used
VS10 Not used VS26 Not used
VS11 Not used VS27 Not used
VS12 Not used VS28 Not used
VS13 Not used VS29 Not used
VS14 Not used VS30 Not used
VS15 Not used VS31 Not used
VS16 Not used VS32 Not used
value of the gauging cycle starting point
Measured value (program coordinate value, used for calculating compensation values)
Function Remark
Variable
Name
VS18 Not used
VS19 Not used
Function Remark
(1) Common variables V1 to V200 used for setting parameters are used in common for turrets A
and B. On the other hand, the common variables VS01 to VS32 indicated above are turret dependent. That is, turrets A and B have an independent VS01, for example, and the VS01 for turret A must be specified and called out from turret A, while the VS01 for turret B must be specified and called out from turret B.
5327-E P-77
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
(2) Note that these common variables (VS01 to VS32) will be used in other MSBs in addition to the
gauging cycle discussed here. Therefore, if these common variables are used as variables transferred between subprograms, numerical values might be changed during the transfer. When these common variables are used, their processing must end within the same subprogram.
G13 N1 NOEX VS01=100
Variables used in common in G13 side program N2 NOEX VS02=10 VS03=20 N3 CALL OSUB1
Within a subprogram, they can be used as desired. N4 N5 N6 N7 CALL OSUB2 N8
Do not use common variables for transferring
numerical values from OSUB1 to OSUB2. N9 N10 G14 N1 N2 NOEX VS01=100 VS02=50
Variables used in common in G14 side program
N3 CALL OSUB1 N4
* Not used for transferring numerical values
N5 N6 NOEX VS01=100 VS03=60 N7 CALL OSUB3 N8 N9
When calling more than one subprogram from a subprogram,
pay attention to the transfer of variables between subprograms. M02
LE61129R0200700290001
3-2-2. System Variables 1
System variables 1 are used in a touch sensor gauging subprogram. They are used for reading and writing numerical values stored in the CNC memory and those displayed and set as parameters, zero offset data, tool offset data, etc.
5327-E P-78
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Variable
Name
VSIOZ Actual position of Z-axis -99999.9999 to 99999.9999
VSKPZ Sensor contact position of Z-axis -99999.9999 to 99999.9999 1 to 2
VZOFZ Zero offset of Z-axis -99999.9999 to 99999.9999
VSHZ Zero shift of Z-axis -99999.9999 to 99999.9999
VETFZ Presently used tool offset data (Z-axis) -99999.9999 to 99999.9999
Setting for OPTIONAL PARAMETER
VSKFA
VSKFB
(GAUGING) Feedrate in gauging cycle 2 (Feedrate for the first contact detection in double-contact gauging cycle)
Setting for OPTIONAL PARAMETER (GAUGING) Feedrate in gauging cycle 1 (Feedrate for the second contact detection in a double-contact gauging cycle; feedrate for the contact detection in a single-contact gauging cycle)
[Supplement]
Concerning VSKFA and VSKFB, the setting unit in the optional parameters is fixed at “mm/min”. However, the value appropriate for the selected unit system is set for these system variables.
Function Min. - Max. Values
1 to 500
1 to 500
Subscript
Expression
3-2-3. System Variables 2
System variables 2 are used in common for turret A and turret B. They are used for transferring data between turret A and turret B. They cannot be displayed on the screen.
Variable
Name
VMDT [1]
VMDT [2] Not used
VMDT [3] Not used
VMDT [4] Not used
VMDT [5] Not used
VMDT [6] Not used
VMDT [7] Not used
VMDT [8] Not used
VMDT [9] Not used
VMDT [10] Not used
VMDT [11] Not used
VMDT [12] Not used
Compensation data (used for the two-saddle specification: for transferring the compensation data calculated at the turret A side to the turret B side)
Function

3-3. Program

3-3-1. Flow Chart
5327-E P-79
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
OZOFA
Storing the actual value (gauging start point)
Checking the positional relation between the target value and the actual value
Moving the sensor to a point close to the target value with a distance of APP between them.
First gauging
Converting the measured value into a value in the program coordinate
VS03=VSKPZ[VS01]-VZOFZ
-VZSHZ-VETFZ
system
Executing the second gauging by regarding the first touch point as the target value
VRSTT=0
YES
VS01=1
APPS
YES
NA2
NO
Setting "1" as the position for entering the touch sensor gauging skip data
NO
VS02=VSIOZ
MSP≤VS02
YES
NA3
NO
G00 Z=MSP-APP G00 Z=MSP+APP
NA4
G30 Z=MSP D=APP L=IMP F=VSKFA
Z=VS03 D=APPS L=IMP F=VSKFB
NA11
2B
G30 Z=MSP D=APP L=IMP F=VSKFB
VS03=VSKPZ[VS01]-VZOFZ
-VZSHZ-VETFZ Converting the
measured value into a value in the program coordinate system
Converting the measured value into a value in the program coordinate system
VS03=VSKPZ[VS01]
-VZOFZ-VZSHZ-VETFZ G00 Z=VS02
NA5
2A
Returning the sensor to the gauging start point
LE61129R0200700320001
2A
5327-E P-80
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
VS03=VS03-MSP VS11=ABS[VS03] VIMDX[12]=VS11
DNG command specified?
NA6
VIMDZ[12]=DNG
YES
NA7
VDOUT[992]
=3003
VS03=0 VS03=0
VZOFZ=VZOFZ+VS03
DNG
YES
VIMDX[12] <VIMDZ[12]
NO
+NG?
VS03>0
NO
VDOUT[992]
=3002
NA10
VMDT[1]=VS03
M100
NA11
RTS
Calculating the difference from the current zero position Obtaining the absolute value of the difference
NO
NG?
YES
NO
NA9
DOK
YES
NA8
DOK command specified?
VIMDZ[12]=DOK
Setting the alarm number
VIMDX[12] <VIMDZ[12]
OK?
NO
YES
Adding the compensation data to the previous zero offset amount
Transferring the offset amount to turret B (by setting the offset amount at the system variable common to turrets A and B)
2B
VS03=0
LE61129R0200700320002
Waiting for the gauging and processing to be completed on turret A
Correcting the zero position in Z direction on turret B
OZOFB
VRSTT=0
NO
YES
M100
VZOFZ=VZOFZ+VMDT[1]
NB1
RTS
LE61129R0200700320003
3-3-2. Program List
OZOFA (Automatic zero offset (processing at turret A), called from turret A)
IF[VRSTT NE 0]NA11 NOEX VS01= 1 IF APPS NA2 G30Z=MSP D=APP L=IMP F=VSKFB NOEX VS03 =VSKPZ[VS01]-VZOFZ-VZSHZ-VETFZ GOTO NA5 NA2 NOEX VS02=VSIOZ IF[MSP LE VS02]NA3 G00Z=MSP-APP GOTO NA4 NA3 G00Z=MSP+APP NA4 G30Z=MSP D=APP L=IMP F=VSKFA NOEX VS03=VSKPZ[VS01]-VZ0FZ-VZSHZ-VETEZ Z=VS03 D=APPS L=IMP F=VSKFB NOEX VS03 =VSKPZ[VS01]-VZOFZ-VZSHZ-VETFZ G00Z=VS02 NA5 NOEX VS03=VS03-MSP VS11=ABS[VS03] NOEX VIMDX[12]=VS11 VIMDZ[3]=VS03 IF DNG NA6 GOTO NA8 NA6 VIMDZ[12]=DNG IF[VIMDX[12] LE VIMDZ[12]]NA8 IF[VS03 GT 0 ]NA7 NOEX VDOUT[992]=3002 VS03=0 GOTO NA10 NA7 NOEX VDOUT [992]=3003 VS03=0 GOTO NA10 NA8 IF DOK NA9 GOTO NA10 NA9 VIMDZ [12]=DOK IF[VIMDX [12] GT VIMDZ[12]]NA10 NOEX VS03=0 NA10 NOEX VZOFZ=VZOFZ+VS03 VMDT[1]=VS03 M100 NA11 RTS
5327-E P-81
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
OZOFB (Automatic zero offset (processing at turret B), called from turret B)
IF[VRSTT NE 0 ]NB1 M100 NOEX VZOFZ =VZOFZ+VMDT[1] NB1 RTS
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)

4. Automatic C-axis Zero Offset Function

4-1. General Description of MSB

This section covers the list, flow chart, variable table and other information relating to the automatic C-axis zero offset function, taking the following maker subprogram (MSB) as an example.
LMSD300A.MSB
The name of the gauging control software is expressed as indicated below.
LMS*????.MSB
*: Indicates the content of the gauging software.
????: Indicates the gauging software version.
MSBs largely differ from other control software in their contents. Other control software is used to control signals from the machine and also input/output of part programs and/or user’s commands. In contrast, MSBs have the same format as part programs, and they may be considered to be control software that executes gauging cycles instead of an operator.
5327-E P-82

4-2. Variable Tables

The variables used in MSBs are explained in this section.
(1) Common variables (different from common variables V1 to V200 used for parameter setting)
(2) System variables 1 (used for reading and correcting various types of data)
(3) System variables 2 (used for screen display)
(4) System variables 3 (used for transmitting data between turret A and turret B)
(5) Input/output variables (used for input/output)
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
4-2-1. Common Variables (VS01 to VS32)
Differing from common variables (V1 to V200) used for parameter setting, common variables VS01 to VS32 are not displayed on the screen.
5327-E P-83
Variable
No.
VS01 VS17 Not used
VS02 Both sides / one side of keyway VS18 Not used
VS03 VS19 Not used
VS04 C-axis target value VS20 Not used
VS05 Number of groove searches VS21 Not used
VS06 VS22 Not used
VS07 C-axis actual position VS23 Not used
VS08 Skip feedrate (1st time) VS24 Not used
VS09 Skip feedrate (2nd time) VS25 Not used
VS10 VS26 Not used
VS11 C-axis direction of rotation VS27 Not used
VS12 VS28 Not used
Offset between the sensor
VS13
VS14
VS15 Skip feedrate VS31 Not used
VS16 VS32 Not used
center and the sensor head in CCW rotation of the C-axis
Offset between the sensor center and the sensor head in CW rotation of the C-axis
Function Remark
Variable
No.
VS29 Not used
VS30 Not used
Function Remark
(1) Common variables V1 to V200 used for setting parameters are used in common for turrets A
and B. On the other hand, the common variables VS01 to VS32 indicated above are turret dependent. That is, turrets A and B have an independent VS01, for example, and the VS01 for turret A must be specified and called out from turret A, while the VS01 for turret B must be specified and called out from turret B.
5327-E P-84
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
(2) Note that these common variables (VS01 to VS32) will be used in other MSBs in addition to the
gauging cycle discussed here. Therefore, if these common variables are used as variables transferred between subprograms, numerical values might be changed during the transfer. When these common variables are used, their processing must end within the same subprogram.
G13 N1 NOEX VS01=100
Variables used in common in G13 side program N2 NOEX VS02=10 VS03=20 N3 CALL OSUB1
Within a subprogram, they can be used as desired.
N4 N5 N6 N7 CALL OSUB2 N8
Do not use common variables for transferring
numerical values from OSUB1 to OSUB2. N9 N10 G14 N1 N2 NOEX VS01=100 VS02=50
Variables used in common in G14 side program
N3 CALL OSUB1 N4
* Not used for transferring numerical values
N5 N6 NOEX VS01=100 VS03=60 N7 CALL OSUB3 N8 N9
When calling more than one subprogram from a subprogram,
pay attention to the transfer of variables between subprograms. M02
LE61129R0200700360001
4-2-2. System Variables 1
System variables 1 are used in this gauging subprogram. They are used for reading and writing numerical values stored in the CNC memory and those displayed and set as parameters, zero offset data, tool offset data, etc.
5327-E P-85
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Variable
Name
VSIOX
VSIOC
VSKPC
VZOFC Zero offset of C-axis 0 to 359.999
VZSHC Zero shift of C-axis 0 to 359.999
VSNWD
VSNTU
VCDIR Direction of rotation of C-axis 15, 16
VRUND 360000 (constant of 360)
VCPFI Flag which indicates the presence of a groove 0, 128
VRSTT
VUNIT Unit amount 2, 4
VSKFA
VSKFB
Actual position of X-axis (program coordinate system)
Actual position of C-axis (program coordinate system)
C-axis skip position (machine coordinate system)
Offset between sensor center and sensor head in CW rotation of C-axis
Offset between sensor center and sensor head in CCW rotation of C-axis
Flag which indicates that sequence restart is in progress
Setting for OPTIONAL PARAMETER (GAUGING) Feedrate in gauging cycle 2 (Feedrate for the first contact detection in the double-contact gauging cycle)
Setting for OPTIONAL PARAMETER (GAUGING) Feedrate in gauging cycle 1 (Feedrate for the second contact detection in the double-contact gauging cycle; feedrate for the contact detection in the single-contact gauging cycle)
Function Min. - Max. Values
-9999.999 to 9999.999
0 to 359.999
0 to 359.999 1 to 2
0 to 359.999
0 to 359.999
0, 128
1 to 500
1 to 500
Subscript
Expression
4-2-3. System Variables 2
System variables 2 are used for display. When a numerical value is set for the system variables indicated below, the set numerical value is displayed at the specified field in the display screen. They are independent for each of the turrets.
5327-E P-86
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Variable
Name
VIMDX [9] Variable for displaying measured values
VIMDX [10] Variable for displaying compensation data
4-2-4. System Variables 3
System variables 3 are used for transferring data between turret A and turret B. They are used in common for the two turrets.
Variable
Name
VMDT [10] Variable for data transfer between turret A and turret B
4-2-5. Input/Output Variables
Input/output variables are used for user reserve alarm code ouput from MSB.
Variable
Name
VDOUT [992] Alarm B user reserve code
VDOUT [993] Alarm A user reserve code
Function
Function
Function

4-3. Programs

4-3-1. Table of Subprograms
Subprogram No.
(1) OZOFD Keyway gauging (both sides)
(2) OZOFC Keyway gauging (one side)
(3) OZOFF Key gauging (both sides)
(4) OZOFE Key gauging (one side)
(5) OCPFI Groove index cycle in the Z-axis direction
(6) OCPFX Groove index cycle in the X-axis direction
(7) ORDOF Conversion of angle data into a value between 0 and 359.999
(8) OFCAL Calculation of C-axis feedrate F
(9) OZOFG
(10) OZOFH
Subprogram
Name
Compensation in a different coordinate system (Correcting the offset data
at the other turret in the same spindle mode)
Compensation in a different coordinate system (Correcting the offset data
in a different spindle mode)
Function
4-3-2. Flow Charts
Keyway gauging (both sides, one side)
5327-E P-87
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
C-axis disconnected?
VS11=VCDIR+113 VS15=VSKFB
NO
NA2
NO
NA5
OZOFD OZOFC
Keyway gauging cycle (both sides)
VS02=0 VS02=1
NA1
VRSTT=0
YES
VCACN=0
NO
YES
NO
Storing the previous C-axis rotation command
OFCAL
Calculating the skip feedrate
VS08=VS15
APPS
YES
VS15=VSKFA
OFCAL
Calculating the first skip feedrate from the value set at the OPTIONAL PARAMETER (GAUGING) No.2 Feedrate in gauging cycle 2
VS09=VS15
NA3
Key one-side gauging?
VS02=1
NA4
YES
VS11=128
M15?
YES
NO
M16
Keyway gauging cycle (one side)
NO
VMLOK=0
Machine lock OFF?
YES
VDOUT[993]=102
NA20
4C
NA10
2D
Alarm A (user reserve code)
VS07=VSIOC-CMW/2
ORDOF
APPS
Converting the target value to a value within the range from 0° to 360°
NO
YES
G30 C=VS07 CD=CMW/2
CL=CMW/2 F=VS09
VS07=VSKPC[1]-VZOFC-VZSHC
ORDOF
Converting the target value to a value within the range from 0° to 360°
2A
NA8
2C
Calculating the sensor touch position (in the program coordination system)
LE61129R0200700420001
2A
5327-E P-88
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
VS10=VS07
VS07=VSIOC-VS10
ORDOF
YES
VS07APPS
Calculating the distance between the actual valve and the first touch position valve
Converting the distance into a valve within the range from 0° to 360°
NO
M15
VS07=VS10+APPS
ORDOF
Moving the sensor from the first touch position by a distance of APPS in the opposite direction
G00 C=VS07
M16
NA7
G30 C=VS10 CD=APPS
CL=CMW/2 F=VS08
NA9
VS10=VSKPC[1]-VZOFC-VZSHC
VS13=ATAN[VSNTU/VS10X*2]
VS07=VS10-VS13
NA8
2C
G30 C=VS07 VD=CMW/2
CL=CMW/2 F=VS08
Calculating the sensor touch position (in the program coordinate system)
Subtracting the sensor diameter from the measured value
2D
ORDOF
VS13=VS07
VS02=1
NA10
NO
M15
VS07=VSIOC+CMW/2
ORDOF
APPS
YES
3A
NA11
Keyway gauging cycle (one side)?
YES
Gauging on the other side
NO
NA16
4B
NA13
3C
LE61129R0200700420002
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
3A
G30 VS07 CD=CMW/2
CL=CMW/2 F=VS09
VS07=VSKPC[1]-VZOFC-VZSHC
ORDOF
VS10=VS07
VS07=VS10-VSIOC
ORDOF
5327-E P-89
VS07APPS
YES
NO
M16
VS07=VS10-APPS
ORDOF
G00 C=VS07
Target value for indexing the keyway
M15
NA12
G30 C=VS10 CD=APPS
CL=CMW/2 F=VS08
NA14
VS10=VSKPC[1]-VZOFC-VZSHC
VS14=ATAN[VSNWD/VSIOX*2]
VS07=VS10-VS14
ORDOF
NA13
3C
G30 C=VS07 CD=CMW/2
CL=CMW/2 F=VS08
VS14=VS07
4A
LE61129R0200700420003
4A
Keyway gauging cycle (one side)?
VS02=1
NO
VS07=[VS14+VS13]/2
VS14VS13
NO
VS07=VS07+VRUND/2
NA141
ORDOF
NA15
VS14=VS07
NA17
VIMDX[9]=VS14 VS07=VS14-COF
5327-E P-90
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
YES
Calculating the middle position between the gauging points on both sides of the keyway
YES
NA16
4B
VS14=VS13
Setting the gauging data to be displayed Calculating the compensation data
VIMDX[10]=VS07 VMDT[10]=VS07 VS07=VZOFC+VS07
VZOFC=VS07
Selecting the C-axis rotating direction specified before gauging cycle
ORDOF
ORDOF
VS11=128
M16
NA20
RTS
Setting the compensation data to be displayed Transferring the compensation data to the other coordinate system Calculating the new C-axis offset data
Converting the offset data into a valve within the range from 0° to 360°
Setting the C-axis zero offset
YES
NA18
NO
M15
4C
LE61129R0200700420004
SECTION 1 MAKER SUBPROGRAMS FOR GAUGING (MSB)
Key gauging (both sides, one side)
5327-E P-91
C-axis disconnected?
VS11=VCDIR+113
VS15=VSKFB
NO
NA2
VS15=VSKFA
NO
OZOFF
VS02=0
NA1
VRSTT=0
YES
VCACN=0
NO
OFCAL
VS08=VS15
APPS
YES
OFCAL
VS09=VS15
NA3
VS02=1
NA4
YES
VS11=128
NA5
NO
M16
Key gauging cycle (both sides)
OZOFE
Key gauging cycle (one side)
VS02=1
NO
YES
Machine lock OFF?
NO
Storing the previous C-axis rotation command
VMLOK=0
YES
VDOUT[993]=102
Alarm A (user reserve code)
NA20 Calculating the skip feedrate
Calculating the first skip feedrate from the value set at the OPTIONAL PARAMETER (GAUGING) No.2 Feedrate in gauging cycle 2
Key gauging cycle (one side)?
6B
M15?
YES
4A
VS07=CSIOC-VRUND/2
ORDOF
APPS
Subtracting 180
Calculating the target value into a valve whthin the range from 0
NO
YES
G30 C=VS07 CD=VRUND/2
CL=VRUND/360000*179000 F=VS09
VS07=VSKPC[1]-VZOFC-VZSHC
ORDOF
Calculating the target value into a valve whthin the range from 0
2A
° from the actual valve to determine the target value
° to 360°
NA8
2C
Calculating the sensor touch position (in the program coordinate system)
° to 360°
LE61129R0200700420005
Loading...