Numerical control of machines — NC processor input — Basic part program reference language

Defines a higher-level symbolic part-programming language which is processed by a digital computer to produce a NC machine program. Annex A gives rules for representing the RL on punched cards; annex B contains syntax description on the reference language; a list of recommended synonyms is given in annex C; annex D includes an alphabetical list of major words and locations.

Commande numérique des machines — Données d'entrée des processeurs CN — Langage de référence de base pour programme de pièce

La présente Norme internationale définit un langage symbolique de niveau supérieur de programmation de pièce, traité par un calculateur numérique pour produire un programme-machine de commande numérique. Ce langage s'applique principalement aux machines-outils à commande numérique. C'est un langage de référence, ce qui ne veut pas nécessairement dire que l'ensemble du langage doit être rendu effectif. Des parties, ou «sous ensembles» du langage pourront être rendus effectifs pour s'adapter à des circonstances particulières.

General Information

Status
Published
Publication Date
18-Dec-1985
Current Stage
9093 - International Standard confirmed
Start Date
28-Jun-2023
Completion Date
13-Dec-2025
Ref Project
Standard
ISO 4342:1985 - Numerical control of machines -- NC processor input -- Basic part program reference language
English language
278 pages
sale 15% off
Preview
sale 15% off
Preview
Standard
ISO 4342:1985 - Commande numérique des machines -- Données d'entrée des processeurs CN -- Langage de référence de base pour programme de piece
French language
278 pages
sale 15% off
Preview
sale 15% off
Preview
Standard
ISO 4342:1985 - Commande numérique des machines -- Données d'entrée des processeurs CN -- Langage de référence de base pour programme de piece
French language
278 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)


International Standard
INTERNATIONAL ORGANIZATION FOR STANDARDIZATION.ME)I(fiYHAPOIiHAR OPrAHM3ALWlR fl0 CTAH~APTkl3AL&Wl.ORGANISATION INTERNATIONALE DE NORMALISATION
Numerital control of machines - NC processor input -
Basic part program reference language
Commande numkrique des machines - Donnees d’entrhe des processeurs CN - Langage de reference de base pour Programme
de pi&ce
First edition - 1985-12-15
Ref. No. ISO 43424985 (E)
UDC 681.323 : 621.9-52 : 681.3.06
numerical control, programming kornputers), prcgramming languages.
Descriptors : machine tools, automation, data processing,
Price based on 278 pages
Foreword
ISO (the International Organization for Standardization) is a worldwide federation of
national Standards bodies (ISO member bodies). The work of preparing International
Standards is normally carried out through ISO technical committees. Esch member
body interested in a subject for which a technical committee has been established has
the right to be represented on that committee. International organizations, govern-
mental and non-governmental, in liaison with ISO, also take patt in the work.
Draft International Standards adopted by the technical committees are circulated to
the member bodies for approval before their acceptance as International ‘Standards by
the ISO Council. They are approved in accordance with ISO procedures requiring at
least 75 % approval by the member bodies voting.
International Standard ISO 4342 was prepared by Technical Committee ISO/TC 184,
Industrial automa tion s ystems.
Users should note that all International Standards undergo revision from time to time
and that any reference made herein to any other International Standard implies its
latest edition, unless otherwise stated.
0 International Organkation for Standardization, 1985 0
Printed in Switzerland
ii
Contents
Page
0 Introduction. 1
1 Scope and field of application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 References. 2
3 Coordinate System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Language structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1 General comments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
................................................ 4
....... :
4.2 Letters
4.3 Digits .
.............................................. 6
4.4 Special characters
Characters .
4.5
....................................... 8
Symbol for literal delimiter
4.6
.......................................... 9
4.7 Litera1 Character string
............................................. 10
4.8 Unsigned numbers
4.9 Keywords .
............................................... 12
4.10 Simple identifiers
..................................................... 13
4.11 Identifiers
4.12 Labels .
................................................... 15
4.13 Statements.
4.14 Nesting .
.................................................. 17
4.15 Part program
................................................ 18
5 Arithmetic Statements
.............................................
5.1 General comments.
............................................
5.2 Arithmetic Operators
............................................ 21
5.3 Arithmetic functions
.........................................
6 Program definition Statements
.............................................. 27
6.1 Generalcomments
................................... 28
6.2 Thesynonym Statement; SYN/
............................
6.3 Reservation for subscripting; RESERV/
.................................
6.4 Definitionofamacro;MACRO/.
. . .
Ill
......................................... 32
7 Program execution Statements
........................................... 32
7.1 Part program control
....................... 33
7.2 Part program identification and termination.
....................... 35
Machine and no-postprocessing Statements
7.3
....................................... 37
Input/output Statements
7.4
.............
7.5 Loop Start and end Statements and transfer Statements.
........................... 46
7.6 Copy Statement and index specification
..................................... 49
7.7 Macro execution Statement
............................................. 50
7.8 Remark Statement
.................................. 51
7.9 Postprocessing print Statement
8 Geometrical definitions Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................................
8.1 General comments.
................................ 54
8.2 Declarations of reference System.
....................................... 57
8.3 Declarations of z-surface
.......................................... 64
8.4 Definitions of a Point.
Definitions of a Pattern of Points . 80
8.5
Definitions of a line .
8.6
..........................................
Definitions of a plane. 118
8.7
.......................................... 127
8.8 Definitions of a vector
.......................................... 138
8.9 Definitions of a circle.
........................................ 159
8.10 Definitions of a cylinder
......................................... 164
8.11 Definitions of a sphere
........................................... 170
8.12 Definitions of a cone
8.13 Definitions of an ellipse . 173
....................................... 175
8.14 Definitions of a hyperbola
..................................... 177
8.15 Definitions of a lofted conic
..................................... 181
8.16 Definitions of general conic
.................................. 185
8.17 Definitions of a general quadric
8.18 Definitions of a tabulated cylinder . 189
8.19 Definitions of a matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
8.20 Definitions of a ruled surface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
iv
9 Geometrie execution Statements .
9.1 General comments .
?. . 209
..............................................
9.2 General semantics 210
9.3 Continuous motion Statement .
.............................................
9.4 Motion Statements 225
.....................................
9.5 Tool path control Statements 233
9.6 Startup direction control Statements . 243
9.7 Transform Cutter location Statements. . 247
9.8 Processor output file control Statement .
Annexes
A Rules for representing the RL on punched cards . 249
B Syntax description of the reference language . .250
C List of recommended Synonyms . .272
D Alphabetical list of major words and locations . 273

This page intentionally left blank

INTERNATIONAL STANDARD ISO 43424985 (El
Numerital control of machines - NC processor input -
Basic part program reference language
encompasses the use of Workshop technology will described
0 Introduction
in an addendum to this International Standard.
0.1 General features
02 . Numerital control reference language
0.1.1 A part program is an ordered set of instructions in a
language and in a format required to Cause the generation and
commands for operations to be carried out under numerical
0.2.1 The numerical control (NC) reference language (RL) is a
control (NC). The instructions of the language are processed
problem-oriented language developed for the machining of
sequentially in two stages, processor and postprocessor. The
Parts. lt is similar to scientific programming languages, and
processor Stage is substantially independent of the numerically
contains many of the facilities and a large part of the compu-
controlled machine, and the postprocessor Stage takes
tational ability of these; additionally the RL provides for both
account of the features of the machine and control System to
the description of shapes and commands for movement of the
be numerically controlled.
machine.
0.1.2 Numerital control is applied to many types of machine,
0.2.2 The RL is written in lines, and for the purpose of
but the language defined in this International Standard has
describing the RL, the level of communication assumed is the
been developed primarily for numerically controlled machine
manuscript Stage of programming. There is no special
tools - hence the words “Cutter” or “tool”, and “workpiece”
Character for Statement termination, but there is a special
or “part”, are used in the description of the language to
Character to signify that a statemerlt continues from one line to
indicate the working element and processed element respec-
the next. This concept permits th:: description of the RL itself
tively. Many of the reserved words of the language are also
to be distinguished from the rules for representation of the RL
derived from metalworking terminology.
on various media such as punched cards or Paper tape. The
rules for representing the RL on punched cards are given in
0.1.3 This International Standard is partly informative and
annex A. The Syntax description of the reference language is
partly definitive, with the intention of enabling unsophisticated
given in annex B.
users and potential users to discuss and define their
requirements with suppliers. The formal Syntax description of
0.2.3 The RL is a symbolic language; that is, an entity may be
the language has been included to aid implementers.
assigned to a symbolic name and the entity referenced later in
the part program by that symbolic name. For other than
0.1.4 The language described in this International Standard is
arithmetical values a symbolic name may not normally be
a reference language (RL). lt has been divided into logical
reassigned.
pages according to the type of Statement or facility, with the
intention that each logical page will become a unit of further
standardization work. lt is also intended that each logical page
0.2.4 Unlike scientific programming languages there are no
is suitably identified as belonging to the core or a module of the
explicit or implicit type aSSociatkJnS in the RL. The type of
total reference language.
entity is determined by the type of Statement in which the
entity is defined.
0.1.5 The output from the processor (CLDATA - derived
from the term “Cutter location data”), which is also input to the
0.2.5 The arithmetical type of er-tity has always a real value,
postprocessor, is the subject of separate standardization
that is, it is an approximate representation of a real number. lt
documents. The definition of CLDATA effectively encom-
has an integer part and a fractionai part and tan only represent
Passes the part programming language necessary for using
a certain number of the most significant digits of the number,
capabilities of the postprocessor, and the CLDATA Standard
depending on the implementation.
ISO 3592 is the Prime reference Source for this part of the total
language.
0.2.6 A significant feature of the RL is the “nesting” facility,
0.1.6 Some processors may interface with Workshop by which an entity may be defined in parenthesis instead of
technology processors. That part of the total language which using a symbolic name.

ISO 4342-1985 (EI
3.2 The coordinate System is a right-handed rectangular
1 Scope and field of application
related to a workpiece mounted on a
Cartesian System,
machine and aligned with the principal linear slideways of that
This International Standard defines a higher-level symbolic
machine. The positive direction of movement of a component
Part-programming language which is processed by a digital
Computer to produce a NC machine program. of a machine is that which Causes an increasing positive dimen-
sion on the workpiece.
The language has been developed primarily for numerically
controlled machine tools. lt is a reference language, which
3.3 In the RL, the reference axes of the coordinate System
means that it is not necessarly intended that the whole of the
are X, Y and 2. These are used in the description of the
language be implemented. lt s expected that Parts, or subsets,
workpiece and it is assumed that the workpiece is stationary,
of the language will be ;mplemented to suit particular
with the tool or Cutter moving relative to the workpiece
circumstances.
coordinate System whether or not this is true for the actual NC
machine tool Operation.
2 References
34 . When specifying angles of planes the positive direction
cou nterclockwise and the reference axis is as follows :
ISO 646, Information processing - /SO 7-bit coded Character
set for information processing interchange.
Plane Reference axis
Axis and motion
ISO 841, Numerital control of machines -
XY
nomenclature.
YZ
zx
processor out-
ISO 3592, Numerital control of machines - NC
- Logical structure (and major words).
Put
3.5 The positive direction of angle is counterclockwise from
the reference axis.
ISO 4343, Numerital control #?f machines - NC processor out-
put - Minor elements of XWtype records (post-processor
commands).
3.6 Angles are expressed in degrees and decimal f ractions of
a degree.
3 Coordinate System
3.7 The output from the processor (CLDATA) uses the same
conventions as the RL, and the output coordinates refer to a
reference Point on a Cutter (usually the centre of the tip) relative
3.1 ISO 841 is the basis for defining the coordinate System of
to the workpiece coordinate System used in the part program.
the RL.
ISO 4342-1985 (EI
4 Language structure
4.1 General comments
4.1 .l General semantics
Digits and letters are used to create unsigned numbers and keywords which in conjunction with characters and special characters may
be used to create identifiers, labels and literal Character strings. Any valid combination, if existing, may be used to construct a state-
ment and a number of Statements arranged in a specific Order constitutes a part program.
4.1.2 Sub-contents
For
1) letters, see 4.2;
2) digits, see 4.3;
special characters, see 4.4;
3)
characters, see 4.5;
4)
Symbol for literal delimiter, see 4.6;
5)
literal Character string, see 4.7;
6)
unsigned numbers, see 4.8;
7)
8) keywords, see 4.9;
9) simple indentifiers, see 4.10;
identifiers, see 4.11;
10)
labels, see 4.12;
11)
12) Statements, see 4.13;
13) nesting, see 4.14;
14) part program, see 4.15.
4.1.3 Limitations
None.
4.1.4 Syntax
k
< language structure > : : = { I [ < letters > < digits > < special characters > < characters >
< Symbol for Iiteral delimiter > < literal Character string > < unsigned numbers >
< keywords > < simple identifiers > < labels > < Statements > < nesting >
< part program > ] >
ISO 43424985 (El
4.2 , Letters
4.2.1 Semantics
Letters have no individual meaning, being used for forming keywords, simple identifiers, Character strings or labels.
4.2.2 Limitations
None.
4.2.3 Syntax
< letter > : : =
~/~I~I~I~I~I~l~I~lJl~I~I~I~I~I~IQI~lSI~l~l~l~I~I~I~

ISO 4342-1985 (E)
4.3 Digits
4.3.1 Semantics
Digits have no individual meaning, being used for forming simple identifiers, unsigned numbers, Character strings or labels.
4.3.2 Limitations
None.
4.3.3 Syntax
< digit > : : = 0~1~2~3)41516~7~8~9
ISO 4342-1985 (EI
4.4 Special characters
4.4.1 Semantics
Special characters are usec! as Operators for building up arithmetic expressions and as punctuation marks (or separators) in
Statements. When special zharacters are used in literal Character strings they are treated as characters with no syntactical
significance.
+ -*/t arithmetic Operators (sec 5.2).
Statement with opening parenthesis
closing used as a label separator (sec 4.11) or in connection
nesting
opening parfnthesis, used with closing parenthesis in subscripting or nesting, or function arguments.
/
. decimal Point.
=
equals, used for assigning an entity to a name.
slant, used as a separator between a major keyword and the remainder of a Statement.
/
comma, used as a separator between elements of a Statement.
Statement Iahe1 separator (see 4.11).
$ dollar or otht?r currency Character used to couple Statements and delimit the Start of a comment field.
semi-colon, used as a separator between Statements.
apostrophe, used for delimitation of a Character string.
The space Character has no significance except in Character strings.
4.4.2 Limitations
None.
4.4.3 Syntax
< special Character > : : =
- I*I + l*l~l’l= l(l)lSl~~;l:~’
NOTE - $ is given as an example of a national currency Character.

ISO 4342-1985 (El
4.5 Characters
4.51 Semantics
A Character is a letter, digit or special Character or other valid Character.
4.5.2 Limitations
None.
4.5.3 Syntax
< Character > : : = < letter > 1 < digit > 1 < special Character > 1 < other valid Character >
- Other valid characters have no significance within the language but are nevertheless considered as valid input. These characters are not
NOTE
otherwise defined in this International Standard. They should be manageable by the specific implementation and be selected from the Character set
defined by ISO 646 and ISO 840.
ISO 43424985 EI
4.6 Symbol for literal delimiter
4.6.1 Semantics
the extent of the literal string field.
beginning and at the end of a literal Character string to
The apostrophe is used at the
4.6.2 Example
PARTNO/‘VALVE HOUSING’
4.6.3 Limitations
None.
4.6.4
Syntax
< Symbol for literal delimiter > : : = ’
ISO 4342-1985 (El
4.7 Litera1 Character string
4.7.1 Semantics
A literal Character string may be used in Statements, for listing text, or in the postprocessor Statements such as INSERT for passing
special information through to the postprocessor on the CLDATA. The set of characters permissible is not limited to the set of letters,
digits, and special characters defined in this International Standard. Within a literal Character string, ani’special characters are treated
simply as characters without syntactical significance.
4.7.2 Example
Pl = POINT/O,O,O ‘COMPONENT DATUM’
4.7.3 Limitations
None.
4.7.4 Syntax
< Symbol for literal delimiter > 0” [ < Character > ] < Symbol for lateral delimiter >
< literal Character string > : : =
NOTES
1 The Syntax of a literal Character string implies that the empty string is allowed.
2 Spate characters are significant.
3 A remark (comment) following a Single or double currency Character need not be a delimited Character string.
4 A literal Character string not terminated by a closing apostrophe Prior to an arbitrary line limit (for example the card column 73 in annex A) is con-
tinued on the next line without the need for a currency Character.
5 An apostrophe is represented by two apostrophes in a Character string delimited by apostrophes.
ISO 43424985 (El
4.8 Unsigned numbers
4.8.1 Semantics
Point. If no decimal Point is included in the
Numbers have their usual meaning, being built up of decimal digits and may have a decimal
it is assumed to
number, apgear after the rightmost digit.
4.8.2 Examples
58.
3.14 f
4.8.3 Limitations
There is no defined limit to the number of digits within a number, the limit being implementation dependent. No distinctions are made
between integer and real numbers since all are used internally in the real mode. In every case where an integer value is required (for
example in a subscript) the *fractional patt of the real value is truncated.
are used necessary to achieve
Number representation within a Computer is not necessarily exact. Therefore, approximations
the effect of exact operations These approximations are Computer dependent.
4.8.4 Syntax
< unsigned number : : : = : [ < digit > 1 [.] 1: [ < digit > 1 . : [ < digit > 1
ISO 43424985 (EI
4.9 Keywords
4.9.1 Semantics
Keywords have a fixed meaning within the language. They may be regarded as entries in a vocabulary list.
The set of keywords is not fixed but may be enlarged in future revisions of this International Standard.
Keywords do not have the role of delimiters, in contrast to some scientific mming languages for example, as two adjacent
keywords have to be separated from each other by a special Character.
Keywords are divided into two classes, the major keywords which define the type of the Statement, and the minor keywords which
: the processor and the postprocessor keywords.
give additional information. These classes tan be divided into two subclasses each
Postprocessor keywords are listed and defined in ISO 4343. An alphabetical Iist of all keywords is given in annex D.
4.9.2 Examples
POINT
INTOF
4.9.3 Limitations
Keywords consist only of letters and have at least two letters.
4.9.4 Syntax
< keyword > : : = !j[l
ISO 43424985 (EI
4.10 Simple identifiers
4.10.1 Semantics
Simple identifiers have no inherent meaning and are used only as specificators (see 8.1.4)’ labels or arithmetic symbols.
4.10.2 Examples
P2
Ll
BOBBY1
4.10.3 Limitations
A simple identifier shall not be redefined within a part program except when used as an arithmetic Symbol. lt is recommended that
processors should not accept keywords as simple identifiers. A simple identifier, unless used as a synonym, of more than one letter
should contain a digit.
4.10.4 Syntax
< simple identifier > : : = < letter > g [ < letter > 1 < digit >]
ISO 4342-1985 (E)
4.11 Identifiers
4.11.1 Semantics
An identifier is similar to a simple identifier but normally a su bscript.
4.11.2 Examples
Pm 1
PZ(5)
4.11.3 Limitations
An identifier shall not be redefined within a part program except when used as an arithmetic Symbol.
4.11.4 Syntax
< identifier > : : = < simple identifier > A [( < scalar > 11
4.12 Labels
4.12.1 Semantics
rammer label to a Statement for Statement identif ication . The label may be referred to in a conditional or un-
A part prog may attach a
conditional transfer Statement or a geometric transfer Statement.
4.12.2 Example
Al) GOTO/Pl
or alternatively Al : GOTO/Pl
where Al .is the label.
4.12.3 Limitations
4.12.4 Syntax
< label> : : = fi [ < digit > ] 1 < simple identifier >
4.12.5 Cross-reference (see annex D)
IF
JUMPT0
TRANTO
ISO 4342-1985 (EI
4.13 Statements
4.13.1 Semantics
A Statement is a complete instruction or unit of information comparable with a sentence in a natura1 language. A Statement consists
of a Single keyword or a syntactically defined sequence of elements separated by special characters. These elements are keywords,
simple identifiers, unsigned numbers and Character strings.
There are several types of Statement, grouped for convenience of description into the following five main clauses of this International
Standard : clause 5 arithmetic, clause 6 program definition, clause 7 program execution, clause 8 geometrical definition and clause 9
geometric execution.
labelled or unlabelled. Wherever a keyword is within a Statement, it may be replaced previously
Statements may be
bY a
defined synonym.
Everywhere within a macro where a keyword, a simple identif ier, or unsigned number, is allowed, it may be replaced declared
bY a
macro Parameter name.
4.13.2 Limitations
4.13.3 Syntax
’ [ < label > [) 1 :]] < unlabelled Statement >
< Statement > : : = O
< arithmetic Statement > 1 < program definition Statement > 1
< unlabelled Statement > : : =
< program control Statement > 1 < geometrical definition Statement > 1
< geometrical execution Statement >
Iso 4342-1985 (EI
4.14 Nesting
4.14.1 Semantics
Any unlabelled arithmetic Statement or unlabelled geometrical definition Statement may be nested.
The Statement is written between the opening and closing parentheses. Wherever a simple identifier may appear, it is possible to nest
the full Statement with a simple identifier which may be referenced later in the part program, or to nest the Statement without a simple
identifier or equals Character. The three alternatives
a) simple identifier,
b) nested Statement without simple identifier,
nested Statement with simple identifier,
c)
is valid, the term “circle specificator” is
are included in the term “specificator”. For example, where an entity of the type “circle”
used.
4.14.2 Example
The Statements
PT4 = POINT/3,6
PT6 = POINT/8,9
L2 = LlNE/PT4, PT6
may be written as
L2= LINEI(PT4 = POlNT/3,6), (POINT/8,9)
4.14.3 Limitations
None.
ISO 4342-1985 (E)
4.15 Part program
4.15.1 Semantics
processing a part pr is to produce a
A part program is a logically CO mplete and ordered sequence of sta temen ts and the result of
ordered machine control program.
correspondingly complete and
identification state-
A part program consists of a part program Statement, a sequence of Statements and a part program termination
ment.
4.15.2 Limitations
4.15.3 Syntax
< part program > : : = < part program identification Statement > 0 [ < Statement > 1
< part program termination Statement >

ISO 43424985 (El
5 Arithmetic Statements
51 . General comments
5.1 .l General semantics
The arithmetic features of the language allow a wide range of algebraic expressions to be evaluated within a part program. In general,
the Operators used in part program arithmetic are those used in conventional algebra, the exception being the algebraic multipli-
cation x which is replaced by *.
converted
Conventional algeb ra allows a description to occupy more than one line. Since this is not conven iently into suitable com-
language.
Puter input, this is not allowed in the Part-program
For example :
1+2+3
A=
allowable in algebra has to be converted to :
A= (1 + 2 + 3)/4
before use in the Part-program language. For the same reason it is found necessary to introduce an exponential Operator (** or t) into
the Part-program language so that
.
A = 23
is written as
= 2**3 or A = 2 t 3
A
Throughout, normal mathematical Iimitations apply, for example in using SQRT (A), A shall have a positive value or in using ASIN
(B), B shall ave a value lying between + 1.
h
The Character = is used in arithmetic Statements, but may not have the meaning “equals” which it has in algebra. In part program
arithmetic this Character should be read as “is replaced by” or “is given the value of”. lt is therefore permissible to write A = A + 1
which means that one is to be added to the value of A, and A now given the value of the result.
Normal algebraic Operation priorities apply. For example, in the Statement A = 2 + 3*4, the * Operation will be performed before the
+ Operation. Brackets tan be used in arithmetic Statements and as in algebra may alter the sequence in which operations are carried
out. If, for example, the above Statement is written as A = (2 + 3)*4 the + Operation is performed before the * Operation.
The implied multiplication feature of algebra is not allowed. For example A = 5(B + 2) which is permissible in algebra shall be
written as A = 5*(B + 2).
The hierarchy of operational priorities is as follows :
Priority 1 ( )
**
2 J
.
*fl
4 +,-
numeric and may be approximations to the real
In the examples given later in this clause, the values shown are for illustration
OnlYr
values
5.1.2 Sub-contents
For
1) arithmetic Operators, see 5.2;
2) arithmetic functions, see 5.3;
3)
the algebraic functions, see 5.3.2;
4) the trigonometrical functions, see 5.3.3;
5) the exponential functions, see 5.3.4;
6) the vector functions, see 5.3.5;
7) the miscellaneous functions, see 5.3.6.
ISO 4342-1985 (El
5.1.3 Limitations
5.1.4 Syntax of arithmetic
< arithmetic Symbol > : : = < identifier >
< adding Operator > : : = + 1 -
< multiplying Operator > : : = * 1 /
< exponential Operator > : : = ** 1 t
.
=
< primary > : < unsigned number > 1 < arithmetic Symbol > 1
.
< scalar function > 1 ( < arithmetic expression > )
< factor > : : =
< primary > 1 < primary > < exponential Operator > < primary >
< term > : : = < factor > 1 < term > < multiplying Operator > < factor >
< arithmetic expression > : : = < term > 1 < adding Operator > < term > 1
< arithmetic expression > < adding Operator > < term >
< scalar > : : = < primary > 1 < adding Operator > < Primar-y > 1
( < arithmetic Symbol > = < scalar > )
< arithmetic Statement > : : = < arithmetic Symbol > = < scalar >
< algebraic function > : : = [ABS 1 SQRT] ( < scalar > )
< trigonometric function > : : = [SINICOSITANIASINIACOSIATAN] ( < scalar > ) 1
ANGL ( < circle spec > , < Point spec >
DIST ( < Point spec > , < Point spec > )
< exponential function > : : = [EXP 1 LOG] ( < scalar > )
= LNTH ( < vector spec > ) 1
< vector function > : :
DOT ( < vector spec > , < vector spec > )
< miscellaneous functions > : : = ANGL ( < circle spec > , < Point spec > ) 1
DIST ( < Point spec > , < Point spec > ) 1
NUM ( < Pattern spec > )
@ < scalar function > : : = < trigonometric function > 1
< algebraic function > 1
< exponential function > 1
< vector function > 1
< miscellaneous function >
ISO 4342-1985 (El
5.2 Arithmetic Operators
5.2.1 Semantics
shall be used in either of the following ways :
The adding Operators + and -
a) As a unary Operator, in which case the Operator denotes the sign which has to be given to the following term :
+ denotes that the following term is to be positive;
-
denotes that the following term is to be negative.
b) As a binary Operator, in which case the Operator, preceded by an arithmetic expression and followed by a term, denotes how
the term is to be added to the arithmetic expression :
+ denotes that the term is to be added to the arithmetic expression;
-
denotes that the term is to be subtracted from the arithmetic expression.
The multiplying Operators * and / denote how the preceding term is to be multiplied by the following factor :
*
the term is to be multiplied by the factor;
the term is to be divided by the factor.
The exponential Operator ** or t denotes that the preceding primary is to be raised to a power given by the following primary.
5.2.2 Examples
A contains the sum of B and C
A =B+C
A contains the result of B multiplied by C
A =B*C
=B**C
A A contains the result of B to the power C
5.2.3 Limitations
None.
5.2.4 Syntax
< adding Operator > : : = + 1 -
< multiplying Operator > : : = * 1 /
< exponential Operator > : : = ** 1 t

ISO 4342-1985 (EI
5.3 Arithmetic functions
5.3.1 General comments
it is recognized that the older “F”
NOTE - Throughout this clause the preferred form of function names has been used, i.e. SIN, ABS, etc. However,
forms, i.e. SINF, ABSF, etc., may, in some instances, remain in use for some time. The comments and observations made on the preferred forms ap-
ply equally weil to the “F” Versions.
5.3.1.1 Sub-contents
For
1) algebraic functions, see 5.3.2;
2) trigonometric functions, see 5.3.3;
3) exponential functions, see 5.3.4;
4) vector functions, see 5.3.5;
5) miscellaneous functions, see 5.3.6.
5.3.1.2 Syntax
< algebraic functions > : : = [ABWSQRT] ( < scalar > )
< trigonometric functions > : : = [SIN/COS/TAN/ASIN/ACOS/ATANI (< scalar >)
< exponential functions > : : = [EXP/LOGl ( < scalar > ) .
< vector functions > : : =
LNTH ( < vector spec > ) 1
DOT ( < vector spec > , < vector spec > )
< miscellaneous functions > : : = ANGL ( < circle spec > , < Point spec > ) 1
DIST ( < Point spec > , < Point spec > ) (
NUM ( < Pattern spec > )
ISO 43424985 (El
5.3.2 The algebraic functions; ABS and SQRT
5.3.2.1 Semantics
The algebraic function designator denotes the type of arithmetic process to be performed using the following bracketed arithmetic
expression.
ABS : the absolute value of the arithmetic expression is to be taken.
SQRT : the Square root of the arithmetic expression is to be taken.
5.3.2.2 Examples
A = ABS (- 2); A contains the absolute value of (- 2), i.e. 2
= SQRT (9); A contains the Square root of (91, i.e. 3
A
5.3.2.3 Limitations
5.3.2.4 Syntax
< algebraic function > : : = [ABS 1 SQRTI ( < scalar > )

ISO 434291985 EI
5.3.3 Trigonometrie functions; SIN, COS, TAN, ASIN, ACOS, ATAN
5.3.3.1 Semantics
The trigonometric function designator denotes the type of trigonometric process to be performed on the following bracketed
arithmetic expression :
SIN : the sine of the following arithmetic expression is to be taken.
COS : the cosine of the following arithmetic expression is to be taken.
TAN : the tangent of the following arithmetic expression is to be taken.
ASIN : the angle whose sine is given by the following arithmetic expression is to be taken.
ACOS : the angle whose cosine is given by the following arithmetic expression is to be taken.
ATAN : the angle whose tangent is given by the following arithmetic expression is to be taken.
In the case of the direct functions, the value of the arithmetic expression will be taken to represent degrees.
In the case of the inverse functions, the result given will be in degrees in the following ranges :
ASIN
-9O ACOS O ATAN -9O 5.3.3.2 Examples
A is given the value 0,5
A = SIN(30)
A = COS(30) A is given the value 0,866
A = TAN(45) A is given the value 1,000
A = ASIN(0.5) A is given the value 30
A is given the value - 30
A = ASIN( - 0.5)
A is given the value 30
A = ACOS(0.866)
= ACOS( - 0.866) A is given the value 150
A
A = ATANW A is given the value 45
A = ATAN(-1) A is given the value - 45
5.3.3.3 Limitations
None.
5.3.3.4 Syntax
1 TAN 1 ATANI ( < scalar > 1
< trigonometric function > : : = [SIN
ISO 43424985 (El
5.3.4 The exponential functions; EXP and LOG
5.3.4.1 Semantics
The exponential function designator denotes the type of exponential process to be performed on the following bracketed arithmetic
expression.
EXP : the value of e to a power given by the value of the following arithmetic expression is taken.
In this case the expression must be positive.
LOG : the natura1 logarithm of the following arithmetic expression is taken.
5.3.4.2 Examples
A= EXP(2); A contains the value of e* i.e. ‘7,389 1
A= LOG(2); A contains the value of log,2 i.e. 0,693 1
5.3.4.3 Limitations
None.
5.3.4.4 Syntax
< exponential function > : : = [EXP 1 LOG] ( < scalar > 1
ISO 43424985 (EI
5.3.5 The vector functions; LNTH and DOT
5.3.5.1 Semantics
The LNTH vector function designator denotes that the length of the vector represented by the following bracketed vector specificator
is to be calculated.
The DOT vector function designator denotes that the dot product of the vectors represented by the following bracketed pair of vector
specificators is to be obtained. In algebraic terms, the result is (length of first vector) x (length of second vector) x COS (angle
between the vectors), or diagrammatically it is the product of the length of one vector and the length of projection of the other vector
on it.
5.3.5.2 Example
- 2,6,0
v2
VI = VECTOR /l, 1, 0, 5, 4, 0
v2
= VECTOR/- 2, 0, 0, - 2, 6, 0
LNTH (VI) Al contains the value 5
Al =
LNTH (V2) A2 contains the value 6
A2 =
DOT (VI, V2) A3 contains the value 18, i.e. 6 x 5 x 3/5
A3 =
Figure 1
5.3.5.3 Limitations
5.3.5.4 Syntax
q q
< vector function > : : LNTH ( < vector spec > ) )
DOT ( < vector spec > , < vector spec > )
ISO 4342-1985 (EI
5.3.6 The miscellaneous functions; ANGL, DIST, NUM
5.3.6.1 Semantics
The miscellaneous function designator denotes the type of process to be performed on the following bracketed miscellaneous func-
tion :
ANGL : the angle between the positive X-axis and the line joining the centre of the specified circle with the specified Point.
DIST : the distance between the specified Points.
NUM : the number of Points in the specified Pattern.
5.3.6.2 Limitations
None.
5.3.6.3 Syntax
< miscellaneous function > : : = ANGL ( < circle spec > , < Point spec > ) 1
DIST ( < Point spec > , < Point spec > ) 1
NUM (< Pattern spec > )
ISO 43424985 (EI
6 Program definition Statements
61 . General comments
6.1 .l General semantics
Part program Statements are normally processed in a sequential manner but it is sometimes desirable to repeat a sequence of
Statements. Program definition Statements provide this facility by allowing Symbols to be redefined, Synonyms to be defined for
keywords and altering the normal sequential processing of the part program Statements.
6.1.2 Sub-contents
For
a) synonym Statements, see 6.2;
b) reservation for subscripting, see 6.3;
c) definition of a macro, see 6.4.
Limitations
6.1.3
None.
6.1.4 Syntax
< program definition Statement > : : = ( < synonym declaration > < reserve declaration > < macro block > >
ISO 4342-1985 (El
6.2 The synonym Statement; SYN/
6.2.1 Semantics
program where for some reason it is desirable to use an alternative form of spelling for a
The synonym Statement is used in a part
keyword.
The general form of the synonym-keyword pairs is
SYN/list of synonym-keyword pairs
be taken to represent the keyword
The synonym given in a SYN Statement will, where it appears subsequently in a part program,
associated with it in the SYN/ Statement and will be processed as such. Once a Symbol has been defined as a synonym it cannot be
redefined in any other context. A list of preferred Synonyms is given in annex C.
The assignment of a synonym to a keyword does not preclude the subsequent use of a keyword as desired.
6.2.2 Examples
SYN/P,POINT,C,CIRCLE,TT,TANTO,L,LINE
this allows the Statement
Ll = L/RIGHT,TT,Cl,RIGHT,TT,C2
which is taken as
Ll = LINE/RIGHT,TANTO,Cl ,RIGHT,TANTO,C2
The following type of Statement is not allowed because P was defined as synonym
P = POINT/O,1,2
6.2.3 Limitations
6.2.4 Syntax
< synonym Parameter list > : : = < simple identifier > , < keyword > 1
< keyword >
< synonym Parameter list > , < simple identifier > ,
< synonym declaration > : : = SYN/ < synonym Parameter list >

ISO 43424985 0
6.3 Reservation for subscripting; RESERW
6.3.1 Semantics
The RESERV Statement is used to indicate that, within a part program, identifiers (by definition subscripted) may appear.
The general form of the Statement is RESERW followed by a string of coupiets the first part of each being the identifier to be
subscripted and the second being the largest value of the subscript which may be given to that identifier.
The RESERV Statement conraining a particular identifier shall precede any use of an identifier.
6.3.2 Example
RESERV/P1,10,P2,7,PAT1,12
this allows the Statement
Pl(8) = POINT/INTOF,Ll ,L2
but would not allow
P2(8) = POINT/lNTOF,Ll,L2
6.3.3 Limitations
In certain implernentations, the types of identifier which tan be subscripted may be restricted.
An identifier which is in RESERV shall normally not be used without a subscript.
6.3.4 Syntax
< reserve Parameter list > : : = < simple identifier > < scalar > (
< list > , < simple identifier > , <
reserve Parameter
< reserve declaration > : : = RESERV/ < reserve Parameter list>

ISO 43424985 (EI
6.4 Definition of a macro; MACROI
6.4.1 Semantics
A MACRO definition is used to specify a group of part program Statements that tan subsequently be executed in a part program. The
definition allows an identifier to be attached to the group for reference by subsequent CALLs.
A Statement of the form
a) MAC1 = MACRO
or b) MAC2 = MACRO/A,B,C
or c) MAC3 = MACRO/A = 1.2, B = Pl, C = 5
or d) MAC4 = MACRO/A = 1.2, B, C = 5
denotes the Start of a MACRO sequence of part program Statements. The MACRO Statement may contain a Parameter list [as in b), c)
or d)] any item of which may be given a normal value [as in c)]. Parameters may be used anywhere within the macro and are only
allocated values when the macro is called. Normal values are used only in the absence of an actual value in the call.
The end of the macro sequence of part program Statements is denoted by the Statement
TERMAC
6.4.2 Examples
MAC1 = MACRO
GOTO/Pl
GODLTA/0.5
GODLTA/ - 5
TERMAC
MAC2 = MACRO/A, B
GOTO/A
GODLTA/B
GODLTA! - B
TERMAC
6.4.3 Limitations
The following part program Statements may not appear within a MACRO definition :
a) PARTNO
b) FINI
c) LOOPST
d) LOOPND
e) MACRO
In addition implementation restrictions may bar the use of SYN/ and RESERW within a macro.
6.4.4 Syntax
< keyword > 1 < simple identifier > 1 < unsigned number > 1 ( < arithmetic expression > )
< normal macro item > : : =
< macro item list > : : = < simple identifier > ( < simple identifier > = < normal macro item > 1
< macro item list > , < simple identifier > ) < macro item list > ,
< simple identifier > = < normal macro item >
< macro assignment Statement > : : = < simple identifier > = MACRO [/ < macro item list > 1
ISO 43424985 (El
< macro termination Statement > : : = TERMAC
k
< macro block > : : = < macro assignment Statement > 0 [ < Statement > 1 < macro termination Statement >
6.4.5 Cross-reference (see annex D)
PARTNO
FINI
LOOPST
LOOPND
MACRO
CALL
ISO 4342-1985 (El
7 Program execution Statements
7.1 Part program control
7.1 .l General semantics

With the exception of “Part program identification Statement and “Part program termination Statement” which have special places
” are used where control over things like input, output or program flow
in a part program, the other “program execution Statements
are desirable. These Statements are grouped together as “program control Statements”.
7.1.2 Sub-contents
For
part program identification and termination, see 7.2;
1)
2) part program identification Statement, see 7.2.1;
part program termination Statement, see 7.2.2;
3)
machine and no-postprocessing Statements, see 7.3;
4)
machine Statement, see 7.3.1;
5)
no-postprocessing Statement, see 7.3.2;
6)
7) input/output Statements, see 7.4;
8) print Statemen
...


Norme internationale
INTERNATIONAL ORGANIZATION FOR STANDARDIZATION.MEIKKC1YHAPOLIHAR OPt-AHM3Al&lR IlO CTAH~APTlrl3AL&lM~ORGANlSATlON INTERNATIONALE DE NORMALISATION
Commande numérique des machines - Données d’entrée’
des processeurs CN - Langage de référence de base pour
programme de pièce
Numerical control of machines - NC processor input - Basic part program reference language
Première édition - 1985-12-15
Réf. no : ISO 43424985 (F)
CDU 661.323 : 621.9-52 : 681.3.06
Descripteurs : machine-outil, automatisation, traitement de l’information, commande numérique, programmation des calculateurs, langage de
programmation.
Prix basé sur 278 pages
Avant-propos
L’ISO (Organisation internationale de normalisation) est une fédération mondiale
d’organismes nationaux de normalisation (comités membres de I’ISO). L’élaboration
des Normes internationales est confiée aux comités techniques de I’ISO. Chaque
comité membre intéressé par une étude a le droit de faire partie du comité technique
créé à cet effet. Les organisations internationales, gouvernementales et non gouverne-
mentales, en liaison avec I’ISO, participent également aux travaux.
Les projets de Normes internationales adoptés par les comités techniques sont soumis
aux comités membres pour approbation, avant leur acceptation comme Normes inter-
nationales par le Conseil de I’ISO. Les Normes internationales sont approuvées confor-
mément aux procédures de I’ISO qui requièrent l’approbation de 75 % au moins des
comités membres votants.
La Norme internationale ISO 4342 a été élaborée par le comité technique ISO/TC 184,
Systèmes de traitement de I?nformation se rapportant à l’automatisation industrielle.
L’attention des utilisateurs est attirée sur le fait que toutes les Normes internationales
sont de temps en temps soumises à révision et que toute référence faite à une autre
Norme internationale dans le présent document implique qu’il s’agit, sauf indication
contraire, de la dernière édition.
0 Organisation internationale de normalisation, 1985 l
Imprimé en Suisse
ii
Sommaire
Page
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 Introduction. . . . . . . . . . . . . . . . . . . . . . . . .
.........................................
1 Objet et domaine d’application
2 Références .
3 Système de coordonnées. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.................................................
4 Structure de langage
........................................
4.1 Commentaires généraux.
4.2 Lettres .
4.3 Chiffres .
............................................
4.4 Caractéres spéciaux.
. . .
4.5 Caractéres .
. . . . 8
4.6 Symbole pour délimiteur littéral . .
... . . . . . . 9
4.7 Chaîne de caractères littéraux
........... . . . . . . . . . . . 10
4.6 Nombres non signés
Mots-clés . . . . . . . . . . . . 11
4.9
. . . . . . 12
4.10 Identificateurs simples . . . . . . . . . .
. . . . . .
4.11 Identificateurs . . . . . . . . . . 13
. . . . . . . . 14
4.12 Labels . . . . . . . .
4.13 Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.14 Emboîtement .
4.15 Programme de pièce .
5 Instructions arithmétiques
........................................
5.1 Commentaires généraux.
Opérateurs arithmétiques . : .
5.2
Fonctions arithmétiques .
5.3
6 Instructions de définition d’un programme
Commentaires généraux. .
6.1
6.2 L’instruction synonyme; SYN/ .
6.3 Réservation d’indice; RESERW .
...................... 30
6.4 Définition d’une macro-instruction; MACRO/
. . .
III
7 Instructions d’exécution d’un programme
7.1 Commande d’un programme de pièce . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7.2 Instructions d’identification et de fin d’un programme de pièce . . . . . . 33
7.3 Instructions de machine et de non traitement par le post-processeur. .
7.4 Instructions d’entréekortie . 37
. .
7.5 Instructions de début et fin de boucles et instructions de transfert 42
. .
7.6 Instruction COPY et désignation d’index . 46
7.7 Instruction d’exécution d’une macro-instruction . 49
7.8 Instruction de remarque . . . 50
7.9 Instruction d’impression par le post-processeur . . . 51
8 Instructions de définitions géométriques
8.1 Commentaires généraux. . . 52
8.2 Déclarations de système de référence (REFSYS) . . . . . . . . . . 54
8.3 Déclarations de surface-z (ZSURF) . . . . . . 57
8.4 Définitions d’un point (POINT) . . * . . . . . 64
8.5 Définitions d’une structure de points (PATTERN) . . . . . . . . . 80
................. . . . . . . . 99
8.6 Définitions d’une ligne (LINE)
................. . . . . . . . . . 118
8.7 Définitions d’un plan (PLANE)
............ . . . . . . . . . 127
8.8 Définitions d’un vecteur (VECTOR)
. . . . . . . 138
8.9 Définitions d’un cercle (CIRCLE) .
8.10 Définitions d’un cylindre (CY LNDR) . . . . . . . . 159
8.11 Définitions d’une sphère (SPHERE) . . . . . . . . . . . . . . . . . . 164
8.12 Définitions d’un cône (CONE) . . . . . . . . . . . . . . . . . . . . . . . 170
8.13 Définition d’une ellipse (ELLIPS) . . . . . . . . . . . . . . . . . . . 173
8.14 Définition d’une hyperbole (HY PERB) . . . . . . . . . . . . . . . . 175
8.15 Définitions d’une conique graphique (LCONIC) . . . . . . . . 177
. . . . . . . . . 181
8.16 Définitions d’une conique générale (GCONIC) . .
. . . 185
8.17 Définition d’une quadrique générale (QADRIC). .
. . . . . 189
8.18 Définitions d’un cylindre tabulé (TABCYL) . . . . . . .
8.19 Définitions d’une matrice (MATRIX) . . . . . . . . . . . . . . . . 194
8.20 Définitions d’une surface réglée (RLDSRF) . . . . . . . . . . 206

9 Instructions d’exécution géométrique
............................... . 209
9.1 Commentaires généraux.
.................................. . 210
9.2 Sémantique générale
. 220
9.3 Instruction de mouvement continu .
. . . 225
9.4 Instructions de mouvement .
...... . .
9.5 Instructions complémentaires de la trajectoire de l’outil . 233
. 243
9.6 Instructions de direction de départ .
........ . . . 247
9.7 Instruction de transformation des positions de l’outil
9.8 Instruction de commande du fichier de sortie du processeur. . . 248
Annexes
..... ........ 249
A Règles pour la représentation du LR sur des cartes perforées.
.............. ..........
B Description de la syntaxe du langage de référence. 250
C Liste de synonymes recommandés . . 273
D Liste alphabétique des mots-clés et des positions . . 274
V
Page blanche
ISO 4342-1985 (FI
NORME INTERNATIONALE
Commande numérique des machines - Données d’entrée
- Langage de référence de base pour
des processeurs CN
programme de pièce
du langage qui contient l’utilisation de la technologie d’atelier
0 Introduction
sera décrite dans l’additif de la présente Norme internationale.
0.1 Généralités
0.2 Langage de référence de la commande
0.1.1 Un programme de pièce est un ensemble ordonné d’ins-
numérique
tructions dans un langage et un format permettant d’obtenir la
génération et le contrôle d’opérations à exécuter par une com-
mande numérique (CN). Les instructions du langage sont trai-
0.2.1 Le langage de référence (LR) de la commande numéri-
tées séquentiellement en deux phases, processeur et post-
que (CN) est un langage adapté aux problèmes, développé
processeur. La phase processeur est complètement indépen-
pour l’usinage des pièces. II est semblable aux langages de pro-
dante de celle de la machine commandée numériquement, et la
grammation scientifiques, et contient un grand nombre de leurs
phase post-processeur tient compte des caractéristiques de la
facilités et une grande partie de leurs possibilités de calcul. En
machine et du système de commande numérique.
.outre, le LR pourvoit à la fois à la description des formes et à
celle des commandes des mouvements de la machine.
0.12 La commande numérique s’applique à de nombreux
types de machines, mais le langage défini dans la présente
0.2.2 Le LR est écrit en lignes et, dans le but de décrire le LR,
Norme internationale a été étudié principalement pour les
le niveau de communication adopté est l’étape manuscrite de la
machines-outils à commande numérique. Désormais, les mots
programmation. II n’y a pas de caractère spécial pour la fin de
«coupe» ou «outil» et les mots «pièce usinée» ou ((pièce» sont
l’instruction, mais il existe un caractère spécial pour signifier
utilisés dans la description du langage afin d’indiquer à la fois
qu’une instruction se poursuit sur la ligne suivante. La descrip-
l’élément actif et l’élément traité. Bon nombre de mots réservés
tion du LR est différenciée des règles pour la représentation du
du langage dérivent également de la terminologie d’usinage.
LR sur divers supports tels que les cartes perforées ou des ban-
des de papier, grâce à ce concept. Les règles de représentation
0.1.3 La présente Norme internationale est en partie indicative du LR sur cartes perforées sont données en annexe A. La des-
et en partie définitive afin de permettre aux utilisateurs simples cription de la syntaxe du langage de référence est donnée en
et aux utilisateurs potentiels de discuter et de définir leurs annexe B.
besoins avec les fournisseurs. La description de la syntaxe for-
melle du langage a été incluse afin d’aider les exécuteurs.
0.2.3 Le LR est un langage symbolique, c’est-à-dire qu’une
entité peut recevoir ce nom symbolique, l’entité est référenciée
0.1.4 Le langage décrit dans la présente Norme internationale
ultérieurement dans le programme de pièce par ce nom symbo-
est un langage de référence (LR). II a été divisé en ((pages» logi-
lique. Pour d’autres valeurs que les valeurs arithmétiques, un
ques selon le type d’instruction ou de possibilité, afin que cha-
nom symbolique ne peut normalement pas être utilisé.
que page logique soit une unité d’un nouveau travail de norma-
lisation. Chaque page logique doit être identifiée convenable-
0.2.4 À la différence des langages de programmation scientifi-
ment comme appartenant à un noyau ou à un module de
ques, il n’y a pas d’associations de type explicite ou implicite
l’ensemble du langage de référence.
dans le LR. Le type de l’entité est déterminé par le type d’ins-
truction dans lequel l’entité est définie.
0.1.5 La sortie d’un processeur (CLDATA, terme dérivé de
l’expression «cutter location data» qui signifie «données sur la
0.2.5 Le type arithmétique d’entité a toujours une valeur
position de l’outil de coupe») est également une entrée post-
réelle, c’est-à-dire qu’il est une représentation approximative
processeur, et fait l’objet de documents de normalisation dis-
d’un nombre réel. II a à la fois une partie entière et une partie
tincts. La définition de CLDATA comporte effectivement le lan-
fractionnaire et il peut ne représenter qu’un certain nombre de
gage du programme de pièce nécessaire pour utiliser les possi-
bilités du post-processeur; les normes de CLDATA (voir chiffres les plus significatifs du nombre, selon la mise en
œuvre.
ISO 3592) sont la principale source de référence pour cette par-
tie de l’ensemble du langage.
0.2.6 Un trait significatif du LR est la possibilité dkemboîte-
0.1.6 Quelques processeurs peuvent avoir une interface avec
ment», par laquelle une entité peut être définie entre parenthè-
les processeurs de technologie d’atelier. La partie de l’ensemble ses au lieu d’utiliser un nom symbolique.
ISO 43424985 (F)
3.2 Le système normal de coordonnées est un système carté-
1 Objet et domaine d’application
sien rectangulaire à sens direct lié à une pièce placée sur une
La présente Norme internationale définit un langage symboli- machine et aligné avec les glissières linéaires principales de la
machine. Le sens positif du mouvement d’un composant de la
que de niveau supérieur de programmation de pièce, traité par
un calculateur numérique pour produire un programme- machine est celui qui provoque un accroissement positif de la
dimension sur la pièce à usiner.
machine de commande numérique.
Ce langage s’applique principalement aux machines-outils à
3.3 Dans le LR, les axes de référence du système de coordoti-
commande numérique. C’est un langage de référence, ce qui
nées sont X, Y et 2. Ils sont utilisés dans la description d’une
ne veut pas nécessairement dire que l’ensemble du langage doit
pièce à usiner; on suppose que la pièce à usiner est immobile,
être rendu effectif. Des parties, ou MOUS ensembles)) du lan-
avec l’outil ou l’outil de coupe se déplacant relativement au
gage pourront être rendus effectifs pour s’adapter à des cir-
système de coordonnées de la pièce à usiner, que cela soit vrai
constances particulières.
ou non pour le fonctionnement réel de la machine CN.
3.4 En spécifiant des angles dans un plan, le sens positif est
2 Références
le sens trigonométrique et l’axe de référence est indiqué comme
suit :
ISO 646, Traitement de lkformation - Jeu /SO de caractères
codés à 7 éléments pour l’échange d’Information.
.
Plan Axe de référence
ISO 841, Commande numérique des machines - Nomencla-
XY X
ture des axes et des mouvements. Y
YZ
zx Z
I
ISO 3592, Commande numérique des machines - lnforma-
tions de sortie des processeurs CN - Structure logique (et
3.5 Le sens positif de l’angle est le sens trigonométrique à
mots majeurs).
partir de l’axe de référence.
ISO 4343, Commande numérique des machines - lnforma-
tions de sortie des processeurs CN - Éléments mineurs des
3.6 Les angles sont exprimés en degrés et en fractions déci-
enregistrements de type 2 oyx) (instruction post-processeur).
males de degré.
3.7 La sortie du processeur (CLDATA) utilise les mêmes con-
3 Système de coordonnées
ventions que le LR; les coordonnées de sortie se réfèrent à un
point de référence sur un outil de coupe (habituellement le cen-
3.1 La Norme internationale ISO 841 est la base de deiinition tre de la pointe) relativement au système de coordonnées de la
du système de coordonnées du LR. pièce à usiner utilisé dans le programme de pièce.

ISO 4342-1985 (F)
4 Structure de langage
4.1 Commentaires généraux
4.1 .l Sémantique générale
Les chiffres et les lettres sont utilisés pour créer des nombres et des mots-clés non signés qui, conjointement avec des caractères et
des caractères spéciaux, peuvent être utilisés pour créer des identificateurs, des labels et des chaînes (le caractères littéraux. Toute
combinaison valable, si elle existe, peut être utilisée pour établir une instruction, et un nombre d’instructions arrangé dans un ordre
spécifique constitue un programme de pièce.
4.1.2 Sommaire
1) lettres, voir 4.2;
21 chiffres, voir 4.3;
3) caractères spéciaux, voir 4.4;
4) caractères, voir 4.5;
symboles pour délimiteur littéral, voir 4.6;
5)
6) chaînes de caractères littéraux, voir 4.7;
7) nombres non signés, voir 4.8;
8) mots-clés, voir 4.9;
9) identificateurs simples, voir 4.10;
10) identificateurs, voir 4.11;
11) labels, voir 4.12;
12) instructions, voir 4.13;
emboîtement, voir 4.14;
13)
14) programme de pièce, voir 4.15.
4.1.3 Limites
Aucune.
4.1.4 Syntaxe
k
< structure de langage > : : = ( I [ < lettres > < chiffres > < caractères spéciaux > < caractères >
< symbole pour délimiteur littéral > < chaîne de caractère littérale >
< nombres non signés > < mots-clés > < identificateurs simples > < labels >
< instructions > < emboîtement > < programme de pièce > 1 }
IsO 43424985 (FI
4.2 Lettres
4.2.1 Sémantique
Les lettres n’ont aucune signification particulière, étant utilisées pour former des mots-clés, des identificateurs simples, des chaînes
de caractères ou des labels.
4.2.2 Limites
Aucune.
4.2.3 Syntaxe
< lettre > : : = AIB~CIDIEIFIGIHIIlJlKILIMINIOIPIQIRISITIUIVlWlX(YIZ
ISO 4342-1985 (FI
4.3 Chiffres
4.3.1 Sémantique
Les chiffres n’ont aucune signification particulière, étant utilisés pour former des identificateurs simples, des nombres non signés, des
chaînes de caractères ou des labels.
4.3.2 Limites ’
Aucune.
4.3.3 Syntaxe
< chiffre > : :
= 0~1~2~3~4(5~6(7~8~9
IsO 4342-1985 (FI
4.4 Caractères spéciaux
4.4.1 Sémantique
Les caractères spéciaux sont utilisés en tant qu’opérateurs pour créer des expressions arithmétiques et en tant que caractères de
ponctuation (ou séparateurs) dans les instructions. Lorsque des caractères spéciaux sont utilisés dans des chaînes de caractères litté-
raux, ils sont traités comme des caractères sans signification syntaxique.
+ -*/t opérateurs arithmétiques (voir 5.2).
parenthèse fermée, utilisée comme un séparateur de label d’instruction (voir 4.11) ou en connection avec la paren-
thèse ouverte pour des emboîtements.
( parenthèse ouverte, utilisée avec la parenthèse fermée dans des indices, des emboîtements ou des arguments de
fonction.
. point décimal.
=
signe égal, utilisé pour assigner une entité à un nom.
/ barre oblique, utilisée comme séparateur entre un mot-clé majeur et le reste d’une instruction.
virgule, utilisée comme séparateur entre les éléments d’une instruction.
I
.
. deux points, séparateur de label d’instruction (voir 4.11).
dollar ou autre caractère de monnaie, utilisé pour associer les instructions et délimiter le début d’un commentaire.
$
.
point virgule, utilisé comme séparateur d’instruction.
I
I
apostrophe, utilisée pour délimiter une chaîne de caractères.
Le caractère-espace n’a aucune signification sauf dans les chaînes de caractères.
4.4.2 Limites
Aucune.
4.4.3 Syntaxe
< caractère spécial > : : =
- l-1 + )“lll,l = l(l~lsltl;l:l’
NOTE - $ est donné comme exemple d’un caractère de monnaie national.

ISO 4342-1985 (FI
4.5 Caractères
4.5.1 Sémantique
Un caractère est une lettre, un chiffre ou un caractère spécial ou un autre caractère valable.
4.5.2 Limites
Aucune.
4.5.3 Syntaxe
< caractère > : : = < lettre > 1 < chiffre > 1 < caractère spécial > 1 < autre caractère valable >
NOTE - Les autres caractères valables n’ont aucune signification à l’intérieur du langage mais sont néanmoins considérés comme entrées valables.
Ces caractères ne sont pas définis autrement dans la présente Norme internationale. Ils devraient être traitables par l’exécution spécifique et être choi-
sis à partir des jeux de caractères définis par I’ISO 646 et I’ISO 840.
ISO 4342-1985 (FI
4.6 Symbole pour délimiteur littéral
4.6.1 Sémantique
L’apostrophe est utilisée au début et à la fin d’une chaîne de caractères littéraux pour indiquer l’étendue du champ de la chaîne de
caractères littéraux.
4.6.2 Exemple
PARTNO/‘VALVE HOUSING’
4.6.3 Limites
Aucune.
4.6.4 Syntaxe
< symbole pour délimiteur littéral > : : = ’
60 4342-1985 (FI
4.7 Chaîne de caractères littéraux
4.7.1 Sémantique
Une chaîne de caractères littéraux peut être utilisée dans des instructions pour un texte, ou dans des instructions post-processeur tel-
les que INSERT pour passer une information spéciale au post-processeur à travers la CLDATA. L’wsembie des caractères autorisés
n’est pas limité à l’ensemble des lettres, chiffres et caractères spéciaux définis dans la présente Norr le irternationale. Dans une chaîne
de caractères littéraux, tous les caractères spéciaux sont traités comme des caractères simples sans cignfication syntaxique.
4.7.2 Exemple
PI = POINT/O,O,O ‘COMPONENT DATUM’
4.7.3 Limites
Aucune.
4.7.4 Syntaxe
k
< chaîne de caractères littéraux > : : = < symbole pour délimiteur littéral > 0 [ < caractère > 1
< symbole pour délimiteur littéral >
NOTES
1 La syntaxe de la chaîne de caractères littéraux implique que la chaîne vide est permise.
2 Les caractères espace sont significatifs.
3 Une remarque (commentaire) suivant un simple ou un double caractère monétaire n’est pas nécessairement une chaîne de caractères délimitée.
4 Une chaîne de caractères littéraux non terminée par une apostrophe fermée avant une limite de ligne arbitraire (par exemple la colonne 73 de
l’annexe A), se continue sur la ligne suivante sans nécessité d’un caractère monétaire.
5 Une apostrophe est représentée par deux apostrophes dans une chaîne de caractères délimitée par des apostrophes.
Iso 4342-1985 (F)
4.8 Nombres non signés
4.8.1 Sémantique
Les nombres ont leur signification habituelle, étant composés de chiffres décimaux et pouvant avoir un point décimal. Si aucun point
décimal n’est inclus dans le nombre, il est supposé apparaître après le chiffre le plus à droite.
4.8.2 Exemples
58.
3.14
4.8.3 Limites
II n’y a aucune limite définie au nombre de chiffres d’un nombre, la limite étant dépendante de la mise en œuvre. Aucune distinction
n’est faite entre les nombres entiers et les nombres réels puisqu’ils sont utilisés d’une facon interne dans le mode réel. Toutes les fois
qu’une valeur entière est nécessaire (par exemple, dans un indice), la partie fractonnaire de la valeur réelle est tronquée.
La représentation d’un nombre dans un calculateur n’est pas nécessairement exacte. Par conséquent, des approximations sont utili-
sées lorsque cela est nécessaire pour effectuer les opérations exactes. Ces approximations sont dépendantes du calculateur.
4.8.4 Syntaxe
k
< nombre non signé > : . = , [ < chiffre > 1 [.l ) t [ < chiffre > 1 . : [ < chiffre > 1
Iso 4342-1985 (FI
4.9 Mots-clés
4.9.1 Sémantique
Les mots-clés ont un sens précis dans le langage. Ils peuvent être considérés comme des entrées dans une liste de vocabulaire.
L’ensemble des mots-clés n’est pas fixe mais peut être étendu dans les révisions futures de la présente Norme internationale.
Les mots-clés n’ont pas le rôle de délimiteurs, par contraste avec quelques langages de programmation scientifiques par exemple,
puisque deux mots-clés contigus doivent être séparés l’un de l’autre par un caractère spécial.
Les mots-clés sont divisés en deux catégories. Les mots-clés majeurs qui définissent le type de l’instruction, et les mots-clés mineurs
qui donnent une information supplémentaire. Les catégories peuvent se diviser, chacune en deux sous-catégories : les mots-clés pro-
cesseurs et post-processeurs. Les mots-clés post-processeurs sont énumérés et définis dans I’ISO 4343. Une liste alphabétique de
tous les mots-clés est donnée dans l’annexe D.
4.9.2 Exemples
POINT
INTOF
4.9.3 Limites
Les mots-clés se composent uniquement de lettres et en ont au moins deux.
4.9.4 Syntaxe
< mot-clé > : : = i [ < lettre > 1
ISO 4342-1985 (FI
4.10 Identificateurs simples
4.10.1 Sémantique
Les identificateurs simples n’ont pas de sens inhérent et ils sont uniquement utilisés comme des spécificateurs (voir 8.1.41, des labels
ou des symboles arithmétiques.
4.10.2 Exemples
P2
Ll
BOBBYl
4.10.3 Limites
Un identificateur simple ne doit pas être redéfini dans un programme de pièce sauf quand il est utilisé en tant que symbole arithméti-
que. II est recommandé que les processeurs n’acceptent pas des mots-clés comme identificateurs simples. Un identificateur simple de
plus d’une lettre, à moins d’être utilisé comme synonyme, devrait contenir un chiffre.
4.10.4 Syntaxe
0 [ < lettre > 1 < chiffre > 1
< identificateur simple > : : = < lettre >
ISO 4342-1985 K-1
.
4.11 Identificateurs
4.11.1 Sémantique
Un identificateur est similaire à un identificateur simple mais comporte normalement un indice.
4.11.2 Exemples
P2(1)
P2(5)
4.11.3 Limites
Un identificateur ne doit pas être redéfini dans un programme de pièce, sauf quand il est utilisé comme un symbole arithmétique.
4.11.4 Syntaxe
< identificateur simple > O ’ [( < scalaire > 11
< identificateur > : : =
ISO 43424985 (F)
4.12 Labels
4.12.1 Sémantique
Un programmeur de pièce peut ijttacher un label à une instruction pour l’identifier. Le label peut être utilisé dans une instruction de
transfert conditionnel ou inconditionnel, ou dans une instruction de transfert géométrique.
4.12.2 Exemple
Al 1 GOTO/Pl
ou alternativement Al : GOTO/Pl
où Al est le label.
4.12.3 Limites
Aucune.
4.12.4 Syntaxe
< label > : : = 1 [ < chiffre > 1 1 < identificateur simple >
4.12.5 Renvoi (voir annexe D)
IF
JUMPTO
TRANTO
ISO 4342-1985 (FI
4.13 Instructions
4.13.1 Sémantique
Une instruction est une instruction complète ou une unité d’information comparable à une phrase dans un langage naturel. Une ins-
truction se compose d’un seul mot-clé ou d’une séquence, définie de facon syntactique, d’éléments séparés par des caractères spé-
ciaux. Ces éléments sont des mots-clés, des identificateurs simples, des nombres non-signés et des chaînes de caractères.
II y a plusieurs types d’instructions, groupées pour convenance de description dans les cinq chapitres suivants de la présente Norme
internationale : 5 arithmétique, 6 définition de programme, 7 exécution de programme, 8 définition géométrique et 9 exécution géo-
métrique.
Les instructions peuvent être étiquetées ou non. Où que soit permis un mot-clé dans une instruction, il peut être remplacé par un
synonyme défini préalablement.
Où que soit permis un mot-clé ou un identificateur simple à l’intérieur d’une macro-instruction, il peut être remplacé par un nom para-
mètre.
4.13.2 Limites
Aucune.
4.13.3 Syntaxe
< instruction > : : = A [ < label > [) 1 :Il < instruction non-étiquetée >
< instruction non-étiquetée > : : = < instruction arithmétique > 1
< instruction de programme de commande > 1
< instruction de programme de définition > )
< instruction de définition géométrique > 1
< instruction d’exécution géométrique >
ISO 4342-1985 (FI
4.14 Emboîtement
4.14.1 Sémantique
N’importe quelle instruction arithmétique non-étiquetée ou instruction de définition géométrique non-étiquetée peut être emboîtée.
L’instruction est écrite entre parenthèses. Où qu’apparaisse un identificateur simple, il est possible d’emboîter l’instruction complète
avec l’identificateur simple, qui peut être référencé ultérieurement dans le programme de pièce, ou bien il est possible d’emboîter I’ins-
truction sans identificateur simple et sans caractère égal. Les trois alternatives
a) identificateur simple,
b) instruction emboîtée sans identificateur simple,
c) instruction emboîtée avec identificateur simple,
sont comprises dans le terme «spécificateur». Par exemple, quand une entité du type ((cercle» est valable, on utilise le terme «spécifi-
cateur de cercle».
4.14.2 Exemple
Les instructions
PT4 = POINT/3,6
PT6 = POINT/8,9
L2 = LINE/PT4, PT6
peuvent être écrites comme suit
L2 = LINE/(PT4 = POINT/3,6), (POINT/8,9)
4.14.3 Limites
Aucune.
ISO 4342-1985 (FI
4.15 Programme de pièce
*
4.15.1 Sémantique
Un programme de pièce est une séquence d’instructions logiquement complétée et ordonnée; le réwltat du traitement d’un pro-
gramme de pièce produit un programme de commande de machine également complet et ordon lé.
Un programme de,.pièce se compose d’une instruction d’identification du programme de pièce, d’une séquewe d’instructions et d’une
instruction d’achèvement d’un programme de pièce.
4.15.2 Limites
Aucune.
4.15.3 Syntaxe
k
< programme de pièce > : : = < instruction d’identification de programme de pièce > O I < instruction > 1
< instruction de fin de programme de pièce >
ISO 4342-1985 0
5 Instructions arithmétiques
5.1 Commentaires généraux
5.1.1 Sémantique générale
Les caractéristiques arithmétiques du langage permettent une grande variété d’expressions algébriques à évaluer à l’intérieur d’un pro-
gramme de pièce. En général, les opérateurs utilisés dans l’arithmétique du programme de pièce sont ceux de l’algèbre convention-
nelle, sauf celui de la multiplication algébrique x qui est remplacé par *.
Dans l’algèbre conventionnelle, une description peut occuper plus d’une ligne. Puisque cela n’est pas converti sans inconvénient en
entrée d’un calculateur, ceci n’est pas permis dans le langage de programme de pièce.
Par exemple :
1+2+3
A=
permis en algèbre doit être converti en
A = (1 + 2 + 3)/4
avant d’être utilisé dans le langage de programme de pièce. Pour la meme raison, il s’est avéré nécessaire d’introduire un opérateur
exponentiel (* * ou t) dans le langage de programme de pièce de sorte que
A = Z3
soit écrit
A = 2**3 ou A = 2 t 3
Les limites mathématiques normales s’appliquent dans tous les cas en utilisant par exemple SQRT (A), A doit avoir une valeur posi-
tive, ou en utilisant ASIN (B), B doit avoir une valeur comprise entre + 1.
est utilisé dans les instructions arithmétiques, mais ne peut pas signifier «égal» comme c’est le cas en algèbre. Dans
Le caractère =
l’arithmétique du programme de pièce, ce caractère devrait être lu comme «est remplacé par)) ou «est donné la valeur de». II est par
conséquent autorisé d’écrire A = A + 1, ce qui signifie que un doit être ajouté à la valeur de A, A donnant alors la valeur du résultat.
Les priorités d’opérations algébriques normales s’appliquent. Par exemple, dans l’instruction A = 2 + 3*4, l’opération * sera effec-
tuée avant l’opération + . Des parenthèses peuvent être utilisées dans les instructions arithmétiques et peuvent, comme en algèbre,
modifier la séquence dans laquelle les opérations sont exécutées. Si, par exemple, l’instruction ci-dessus est écrite A = (2 + 3) *4
l’opération + est effectuée avant l’opération *.
La multiplication implicite de l’algèbre n’est pas autorisée. Par exemple, A = 5 (B + 2) qui est permis en algèbre doit être écrit
A = 5”(B + 2).
L’ordre des piorités des opérations est le suivant :
Priorité 1 ( )
r
**
2 t
3 *,;
4 +,-
Dans les exemples donnés plus loin dans ce chapitre, les valeurs numériques ne sont données qu’à titre d’illustration et peuvent être
des approximations des vale rrs réelles.
5.1.2 Sommaire
1) opérateurs arithmotiques, voir 5.2;
2) fonctions arithmétiques, voir 5.3;
3) fonctions algébriques, voir 5.3.2;
4) fonctions trigonométriques, voir 5.3.3;
5) fonctions exponentielies, voir 5.3.4;
6) fonctions vectorielles, voir 5.3.5;
7) fonctions diverses, voir 5.3.6.
60 4342-1985 (FI
5.1.3 Limites
Aucune.
5.1.4 Syntaxe d’arithmétique
< symbole arithmétique > : : = < identificateur >
< opérateur additionnel > : : = + 1 -
< opérateur multiplicateur > : : = * 1 /
< opérateur exponentiel > : : = ** 1 T
< premier > : : = < nombre non-signé > 1 < symbole arithmétique > 1
< fonction scalaire > 1 ( < expression arithmétique > )
< facteur > : : = < premier > 1 < premier > < opérateur exponentiel > < premier >
< terme > : : = < facteur > 1 < terme > < opérateur multiplicateur > < facteur >
< expression arithmétique > : : =
< terme > 1 < opérateur additionnel > < terme > 1
< expression arithmétique > < opérateur additionnel > < terme >
< scalaire > : : =
< premier > 1 < opérateur additionnel > < premier > 1
( < symbole arithmétique > = < scalaire > )
< instruction arithmétique > : : = < symbole arithmétique > = < scalaire >
< fonction algébrique > : : = [ABS 1 SQRT] ( < scalaire > )
< fonction trigonométrique > : :
= [SIN 1 COS 1 TAN 1 ASIN 1 ACOS 1 ATANI ( < scalaire > ) 1
ANGL ( < spécificateur cercle > , < spécificateur point > ) 1
DIST ( < spécificateur point > , < spécificateur point > ) 1
< fonction exponentielle > : : = [EXP 1 LOGI ( < scalaire > )
< fonction vectorielle > : : = LNTH ( < spécificateur vecteur > ) 1
DOT ( < spécificateur vecteur > , < spécificateur vecteur > 1
< fonctions diverses > : :
= ANGL ( < spécificateur cercle > , < spécificateur point > ) 1
DIST ( < spécificateur point > , < spécificateur point > ) 1
NUM ( < spécificateur structure > )
< fonction scalaire > : : = < fonction trigonométrique > 1
< fonction algébrique > 1
< fonction exponentielle > 1
< fonction vectorielle > 1
< fonction diverse >
ISO 43424985 (FI
5.2 Opérateurs arithmétiques
5.2.1 Sémantique
Les opérateurs additionnels + et - doivent être utilisés de chacune des deux facons suivantes :
,
a) Comme opérateur unitaire; dans ce cas l’opérateur signifie le signe à donner au terme suivant :
+ signifie que le terme suivant doit être positif;
-
signifie que le terme suivant doit être négatif.
b) Comme opérateur binaire; dans ce cas l’opérateur, précédé d’une expression arithmétique et suivi d’un terme, signifie com-
ment ce terme doit être ajouté à l’expression arithmétique :
+ signifie que le terme doit être ajouté à l’expression arithmétique;
-
signifie que le terme doit être soustrait de l’expression arithmétique.
Les opérateurs multiplicateurs * et / indiquent comment le terme qui précède doit être multiplié par le facteur suivant :
le terme doit être multiplié par le facteur;
*
/ le terme doit être divisé par le facteur.
L’opérateur exponentiel ** ou î signifie que le terme premier qui le précède doit être élevé à une puissance donnée par le terme pre-
mier qui le suit.
5.2.2 Exemples
A =B+C A comprend la somme de B et de C
A = B*C A comprend le résultat de B multiplié par C
= B**C
A A comprend le résultat de B à la puissance C
5.2.3 Limites
Aucune.
5.2.4 Syntaxe
< opérateur additionnel > : : = + 1 -
< opérateur multiplicateur > : : = * 1 /
< opérateur exponentiel > : : = ** 1 t
ISO 4342-1985 (FI
5.3 Fonctions arithmétiques
5.3.1 Commentaire généraux
NOTE - Tout au long de ce chapitre, la forme préférée des noms de fonctions a été utilisée, c’est-à-dire SIN, ABS, etc. Cependant, il est reconnu
que les anciennes formes «F», c’est-à-dire SINF, ABSF, etc., peuvent, dans certains cas, être utilisées pendar t qut Iquç: temps. Les commentaires et
les observations faits sur les formes préférées s’appliquent également aux versions «F».
5.3.1.1 Sommaire
1) Fonctions algébriques, voir 5.3.2;
2) fonctions trigonométriques, voir 5.3.3;
3) fonctions exponentielles, voir 5.3.4;
4) fonctions vectorielles, voir 5.3.5;
5) fonctions diverses, voir 5.3.6.
5.3.1.2 Syntaxe
< fonctions algébriques > : : = [ABWSQRT] ( < scalaire > )
< fonctions trigonométriques > : : = [SIN/COS/TAN/ASIN/ACOS/ATAN] (< scalaire > 1
< fonctions exponentielles > : : = [EXP/LOGl ( < scalaire > )
LNTH ( < spécificateur vecteur > ) 1
< fonctions vectorielles > : : =
DOT ( < spécificateur vecteur > , < spécificateur vecteur > 1
< fonctions diverses > : : = ANGL ( < spécificateur cercle > , < spécificateur point > ) 1
DIST ( < spécificateur point > , < spécificateur point > ) 1
NUM ( < spécificateur structure > )
SO 43424985 (FI
5.3.2 Fonctions algébriques; ABS et SQRT
5.3.2.1 Sémantique
Le désignateur de la fonction algébrique indique le type d’opération arithmétique à effectuer sur l’expression arithmétique, mise entre
parenthèses, qui suit.
ABS : la valeur absolue de l’expression arithmétique doit être prise en compte.
SQRT : la racine carrée de I’2xpression arithmétique doit être prise en compte.
5.3.2.2 Exemples
A = ABS ( 7 2); A contknt la valeur absolue de ( - 21, c’est-à-dire 2
A = SQRT (9); A contietlt la racine carrée de (91, c’est-à-dire 3
5.3.2.3 Limites
Aucune.
5.3.2.4 Syntaxe
< fonction algébrique > . : = [ABS 1 SQRT] ( < scalaire > )
IsO 4342-1985 (FI
5.3.3 Fonctions trigonométriques : SIN, COS, TAN, ASIN, ACOS, ATAN
5.3.3.1 Sémantique
Le désignateur de la fonction trigonométrique indique le type d’opération trigonométrique à effectuer sur l’expression arithmétique,
mise entre parenthèses, qui suit.
SIN : le sinus de l’expression arithmétique qui suit doit être pris en compte.
COS : le cosinus de l’expression arithmétique qui suit doit être pris en compte.
TAN : la tangente de l’expression arithmétique qui suit doit être prise en compte.
ASIN : l’angle dont le sinus est donné par l’expression arithmétique qui suit doit être pris en compte.
ACOS : l’angle dont le cosinus est donné par l’expression aritmétique qui suit doit être pris en compte.
ATAN : l’angle dont la tangente est donnée par l’expression arithmétique qui suit doit être pris en compte.
Dans le cas des fonctions directes, la valeur de l’expression arithmétique représente des degrés.
Dans le cas des fonctions inverses, le résultat donné sera exprimé en degrés dans les plages suivantes :
ASIN -9O ACOS 0 < A < 180
ATAN -9O 5.3.3.2 Exemples
A prend la valeur 0,5
A = SIN(30)
A prend la valeur 0,866
A = COS(30)
A = TAN(45) A prend la valeur 1,000
A = ASIN(0.5) A prend la valeur 30
A = ASIN( - 0.5) A prend la valeur - 30
A = ACOS(0.866) A prend la valeur 30
A = ACOS( - 0.866) A prend la valeur 150
A prend la valeur 45
A = ATAN(1)
A = ATAN(- 1) A prend la valeur - 45
5.3.3.3 Limites
Aucune.
5.3.3.4 Syntaxe
1 ACOS 1 ATAN] ( < scalaire > )
< fonction trigonométrique > : : = FIN 1 COS 1 TAN 1 ASIN
ISO 4342-1985 (FI
5.3.4 Fonctions exponentielles EXP et LOG
5.3.4.1 Sémantique
Le désignateur de la fonction exponentielle indique le type d’opération exponentielle à effectuer sur l’expression arithmétique, mise
entre parenthèses, qui suit.
EXP : La valeur de «e» élevé à une puissance donnée par la valeur de l’expression arithmétique qui suit est prise en compte.
LOG : Le logarithme naturel de l’expression arithmétique qui suit est pris en compte. Dans ce cas l’expression doit être positive.
5.3.4.2 Exemples
A = EXP(2); A contient la valeur e*, c’est-à-dire 7,3891
A = LOG(2); A contient la valeur loge*, c’est-à-dire 0,6931
5.3.4.3 Limites
Aucune.
5.3.4.4 Syntaxe
< fonction exponentielle > : : = [EXP 1 LOGI ( < scalaire > )
ISO 4342-1985 (FI
5.3.5 Fonctions vectorielles LNTH et DOT
5.3.5.1 Sémantique
Le désignateur de la fonction vectorielle LNTH signifie que la longueur du vecteur représentée par le spécificateur de vecteur entre
parenthèses qui suit doit être calculée.
Le désignateur de la fonction vectorielle DOT signifie que le produit scalaire des vecteurs représentes p; r la paire de spécificateurs de
vecteurs entre parenthèse;, qui suit, doit être obtenu. En termes algébriques, le résultat est (longueur du premier vecteur) x (lon-
gueur du second vecteur) x COS (angle entre les vecteurs) ou géométriquement, c’est le produit de 1; longueur d’un vecteur par la
projection de l’autre sur lui.
5.3.5.2 Exemple
VI = VECTOR /l, 1, 0, 5, 4, 0
v2 = VECTOR/2, 0, 0, - 2, 6, 0
Al = LNTH (VI) Al comprend la valeur 5
A2 = LNTH (V2) A2 comprend la valeur 6
A3 = DOT (Vl, V2) A3 comprend la valeur 18, c’est-à-dire 6 x 5 x 3/5
Figure 1
5.3.5.3 Limites
Aucune.
5.3.5.4 Syntaxe
< fonction vectorielle > : : = LNTH ( < spécificateur de vecteur > ) (
DOT ( < spécificateur de vecteur > , < spécificateur de vecteur > 1
SO 4342-1985 (FI
5.3.6 Fonctions diverses ANGL, DIST, NUM
5.3.6.1 Sémantique
Le désignateur de la fonction dkerse indique le type d’opération à effectuer sur la fonction diverse entre parenthèses qui suit.
ANGL : angle compris entre *‘axe des X positifs et la droite joignant le centre du cercle donné au point donné.
DIST : distance entre les poirrts donnés.
NUM : nombre de points dars la structure donnée.
5.3.6.2 Limites
Aucune.
5.3.6.3 Syntaxe
= ANGL ( < spécificateur de cercle > , < spécificateur de point > ) 1
< fonctions diverses > : :
DIST ( < spécificateur de point > ; < spécificateur de point > ) 1
NUM ( < spécificateur de structure > )
60 4342-1985 (FI
e
6 Instructions de définition d’un programme
6.1 Commentaires généraux
6.1 .l Sémantique générale
Les instructions de programme de pièce sont généralement traitées de facon séquentielle mais il est quelquefois souhaitable de répéter
une séquence d’instructions. Des instructions de définition de programme fournissent une possibilité en permettant de redéfinir des
symboles, de définir des synonymes pour des mots-clés et de modifier le traitement séquentiel normal des instructions de programme
de pièce.
6.1.2 Sommaire
a) instructions synonymes, voir 6.2;
b) réservation d’indice, voir 6.3;
c) définition d’une macro-instruction, voir 6.4.
6.1.3 Limites
Aucune.
6.1.4 Syntaxe
< déclaration de synonymes > < déclaration de réservation >
< instruction de définition de programme > : : =
< bloc de macro-instruction > >
ISO 4342-1985 (FI
6.2 L’instruction synonyme; SYN/
6.2.1 Sémantique
il est préférable d’utiliser une
L’instruction synonyme est L tilisée dans un programme de pièce dans lequel, pour diverses raisons,
forme alternative d’orthographe pour un mot-clé.
La forme générale d’une instuction synonyme est :
SYN/liste de paires de synonyme mot-clé
Le synonyme donné dans un., b= instruction SYN sera là où il apparaît par la suite dans un programme de pièce, pris en compte pour
représenter le mot-clé qui lui *?st associé dans l’instruction SYN/ et sera traité comme tel. Dès que le symbole a été défini comme un
synonyme, il ne peut pas êtr-. 1 redéfini dans un autre contexte. Une liste de synonymes préférés est donnée en annexe C.
L’attribution d’un synonyme S un mot-clé ne doit pas empêcher l’emploi ultérieur du mot-clé à volonté.
6.2.2 Exemples
SYN/P,POINT,C,CIR(.LE,TT,TANTO,L,LINE
Ceci permet l’instruction
Ll = L/RIGHT,TT,Cl ,RIGHT,TT,C2
qui est prise en compte com ne
Ll = LINEIRIGHT,TF~NTO,C1,RIGHT,TANTO,C2
Le type d’instruction suivant n’est pas permis parce que P était défini comme synonyme
P = POINT/O,1,2
6.2.3 Limites
Aucune.
6.2.4 Syntaxe
< liste paramètres synonymes > : : = < identificateur simple > , < mot-clé > 1
< liste paramètres synonymes > , < identificateur simple > , < mot-clé >
< déclaration de synonymes > : : = SYN/ < liste paramètres synonymes >
ISO 4342-1985 (FI
6.3 Réservation d’indice; RESERVI
6.3.1 Sémantique
L’instruction RESERV est utilisée pour indiquer qu’à l’intérieur d’un programme de pièce, des identificateurs (indicés, par définition)
peuvent apparaître.
La forme générale de J’instruction est RESERV/ suivie d’une chaîne de couplets, la première partie de chacun étant l’identificateur à
indicer et la seconde partie étant la valeur la plus grande de l’indice qui peut être donnée à cet identificateur.
L’instruction RESERV contenant un identificateur particulier doit précéder toute utilisation d’un iden
...


Norme internationale @ 4342
~ ~ ~ ~~ ~~ ~~
INTERNATIONAL ORGANIZATION FOR STANDARDIZATION*MEMAYHAPOflHAR OPTAHMBAUMR no CTAHAAPTM3AUt4M*ORGANlSATlON INTERNATIONALE DE NORMALISATION
Commande numérique des machines - Données d‘entrée
des processeurs CN - Langage de référence de base pour
programme de pièce
Numerical control of machines - NC processor input - Basic part program reference language
Premiere édition - 1985-12-15
Réf. no : IS0 4342-1985 (FI
CDU 681.323 : 621.9-52 : 681.3.06
Descripteurs : machine-outil, automatisation, traitement de l’information, commande numérique, programmation des calculateurs, langage de
!
! programmation.
?
:
Prix basé sur 278 pages
Avant-propos
L‘ISO (Organisation internationale de normalisation) est une fédération mondiale
I’ISO). L’élaboration
d’organismes nationaux de normalisation (comités membres de
des Normes internationales est confiée aux comités techniques de I’ISO. Chaque
comité membre intéressé par une étude a le droit de faire partie du comité technique
créé A cet effet. Les organisations internationales, gouvernementales et non gouverne-
mentales, en liaison avec I’ISO, participent également aux travaux.
Les projets de Normes internationales adoptés par les comités techniques sont soumis
aux cornites membres pour approbation, avant leur acceptation comme Normes inter-
nationales par le Conseil de I’ISO. Les Normes internationales sont approuvées confor-
mément aux procédures de I’ISO qui requièrent l’approbation de 75 % au moins des
comités membres votants.
La Norme internationale IS0 4342 a été élaborée par le comité technique ISO/TC 184,
Syst6mes de traitement de l’information se rapportant B l’automatisation industrielle.
L‘attention des utilisateurs est attirée sur le fait que toutes les Normes internationales
sont de temps en temps soumises B révision et que toute référence faite A une autre
Norme internationale dans le présent document implique qu’il s’agit, sauf indication
contraire, de la dernière édition.
0 Organisation internationale de normalisation, 1985 O
Imprime en Suisse
ii
Sommaire
Page
O Introduction . 1
1 Objet et domaine d'application . 2
2 Références . 2
3 Système de coordonnées . 2
4 Structuredelangage . 3
4.1 Commentaires généraux. . 3
4.2 Lettres . 4
4.3 Chiffres . 5
4.4 Caractères spéciaux . . 6
4.5 Caractères . . 7
4.6 Symbole pour délimiteur littéral . 8
4.7 Chaîne de caractères littéraux . 9
4.8 Nombresnonsignés .
4.9 . 11
4.10 Identificateurs simples . 12
4.11 Identificateurs . 13
Labels . . 14
4.12
4.13 Instructions . 15
4.14 Emboîtement . 16
4.15 Programme de pièce . 17
5 Instructions arithmétiques
5.1 Commentaires genéraux . 18
5.2 Opérateurs arithmétiques . 20
5.3 Fonctions arithrnetiques . 21
6 Instructions de définition d'un programme
6.1 Commentaires généraux . 27
6.2 L'instruction synonyme; SYN/ . 28
6.3 Reservation d'indice; RESERVI . 29
Définition d'une macro-instruction; MACRO/ . 30
6.4
...
7 Instructions d'exécution d'un programme
7.1 Commande d'un programme de pièce . 32
7.2 Instructions d'identification et de fin d'un programme de pièce . 33
7.3 Instructions de machine et de non traitement par le post-processeur . 35
7.4 Instructions d'entrée/sortie . 37
7.5 Instructions de début et fin de boucles et instructions de transfert . 42
7.6 Instruction COPY et désignation d'index . 4.6
7.7 Instruction d'exécution d'une macro-instruction . 49
7.8 Instruction de remarque . 50
7.9 Instruction d'impression par le post-processeur . 51
8 Instructions de définitions géométriques
8.1 Commentaires généraux . 52
8.2 Déclarations de système de référence (REFSYS) . 54
8.3 Déclarations de surface-z (ZSURF) . 57
8.4 Définitions d'un point (POINT) . 64
8.5 Définitions d'une structure de points (PATTERN) . 80
8.6 Définitionsd'une ligne (LINE) . 99
8.7 Définitions d'un plan (PLANE) . 118
8.8 Définitions d'un vecteur (VECTOR) . 127
8.9 Définitions d'un cercle (CIRCLE) . 138
8.10 Définitions d'un cylindre (CYLNDR) .
8.11 Définitions d'une sphere (SPHERE)
8.12 Définitions d'un cane (CONE)
8.13 Définition d'une ellipse (ELLIPS) . 173
8.14 Définition d'une hyperbole (HYPERB) . 175
8.15 Définitions d'une conique graphique (LCONIC) . 177
8.16 Définitions d'une conique générale (GCONIC) . 181
8.17 Définition d'une quadrique générale (QADRIC) . 185
8.18 Définitions d'un cylindre tabulé (TABCYL) . 189
8.19 Définitions d'une matrice (MATRIX) . 194
8.20 Définitions d'une surface réglée (RLDSRF) . 206
IV
9 Instructions d'exécution géométrique
9.1 Commentaires généraux . 209
9.2 Sémantique générale . 210
9.3 Instruction de mouvement continu . 220
9.4 Instructions de mouvement . 225
9.5 Instructions complementaires de la trajectoire de l'outil . 233
9.6 Instructions de direction de depart . 243
9.7 Instruction de transformation des positions de l'outil . 247
9.8 Instruction de commande du fichier de sortie du processeur . 248
Annexes
A RBgles pour la représentation du LR sur des cartes perforées . 249
B Description de la syntaxe du langage de référence . 250
C Liste de synonymes recommandés . 273
D Liste alphabétique des mots-clés et des positions . 274
V
IS0 4342-1985 (FI
NORM E I NTE R NATIONALE
Commande numérique des machines - Données d’entrée
des processeurs CN - Langage de référence de base pour
programme de pièce
O Introduction du langage qui contient l’utilisation de la technologie d’atelier
sera décrite dans l’additif de la présente Norme internationale.
0.1 Généralités
0.2 Langage de référence de la commande
0.1.1 Un programme de pièce est un ensemble ordonné d’ins-
numérique
tructions dans un langage et un format permettant d‘obtenir la
génération et le contrôle d’opérations à exécuter par une com-
mande numérique (CN). Les instructions du langage sont trai-
0.2.1 Le langage de référence (LR) de la commande numéri-
tées séquentiellement en deux phases, processeur et post-
que ICN) est un langage adapté aux problèmes, développé
processeur. La phase processeur est complètement indépen-
pour l‘usinage des pièces. Il est semblable aux langages de pro-
dante de celle de la machine commandée numériquement, et la
grammation scientifiques, et contient un grand nombre de leurs
phase post-processeur tient compte des caractéristiques de la
facilités et une grande partie de leurs possibilités de calcul. En
machine et du système de commande numérique.
outre, le LR pourvoit à la fois à la description des formes et à
celle des commandes des mouvements de la machine.
0.1.2 La commande numérique s’applique à de nombreux
types de machines, mais le langage défini dans la présente
0.2.2 Le LR est écrit en lignes et, dans le but de décrire le LR,
Norme internationale a été étudié principalement pour les
le niveau de communication adopté est l’étape manuscrite de la
machines-outils à commande numérique. Désormais, les mots
programmation. II n’y a pas de caractère spécial pour la fin de
((coupe)) ou ((outil)) et les mots ((pièce usinée)) ou ((pièce)) sont
l‘instruction, mais il existe un caractère spécial pour signifier
utilisés dans la description du langage afin d’indiquer à la fois
qu’une instruction se poursuit sur la ligne suivante. La descrip-
I’élément actif et I’élément traité. Bon nombre de mots réservés
tion du LR est différenciée des règles pour la représentation du
du langage dérivent également de la terminologie d‘usinage.
LR sur divers supports tels que les cartes perforées ou des ban-
des de papier, grâce à ce concept. Les règles de représentation
0.1.3 La présente Norme internationale est en partie indicative du LR sur cartes perforées sont données en annexe A. La des-
et en partie définitive afin de permettre aux utilisateurs simples cription de la syntaxe du langage de référence est donnée en
et aux utilisateurs potentiels de discuter et de définir leurs
annexe B.
besoins avec les fournisseurs. La description de la syntaxe for-
melle du langage a été incluse afin d‘aider les exécuteurs.
0.2.3 Le LR est un langage symbolique, c‘est-à-dire qu’une
entité peut recevoir ce nom symbolique, l’entité est référenciée
0.1.4 Le langage décrit dans la présente Norme internationale
ultérieurement dans le programme de pièce par ce nom symbo-
est un langage de référence (LR). Il a été divisé en ((pages)) logi-
lique. Pour d’autres valeurs que les valeurs arithmétiques, un
ques selon le type d‘instruction ou de possibilité, afin que cha-
nom symbolique ne peut normalement pas être utilisé.
que page logique soit une unité d’un nouveau travail de norma-
lisation. Chaque page logique doit être identifiée convenable-
0.2.4 A la différence des langages de programmation scientifi-
ment comme appartenant A un noyau ou à un module de
ques, il n’y a pas d’associations de type explicite ou implicite
l‘ensemble du langage de référence.
dans le LR. Le type de l’entité est déterminé par le type d‘ins-
truction dans lequel l‘entité est définie.
0.1.5 La sortie d‘un processeur (CLDATA, terme dérivé de
l‘expression ((cutter location data)) qui signifie ((données sur la
0.2.5 Le type arithmétique d‘entité a toujours une valeur
position de l’outil de coupen) est également une entrée post-
réelle, c‘est-à-dire qu‘il est une représentation approximative
processeur, et fait l‘objet de documents de normalisation dis-
tincts. La définition de CLDATA comporte effectivement le lan- d‘un nombre réel. II a à la fois une partie entière et une partie
fractionnaire et il peut ne représenter qu‘un certain nombre de
gage du programme de pièce nécessaire pour utiliser les possi-
chiffres les plus significatifs du nombre, selon la mise en
bilités du post-processeur; les normes de CLDATA (voir
IS0 3592) sont la principale source de référence pour cette par- œuvre.
tie de l‘ensemble du langage.
0.2.6 Un trait significatif du LR est la possibilité d’cremboîte-
0.1.6 Quelques processeurs peuvent avoir une interface avec
ment)), par laquelle une entité peut être définie entre parenthè-
les processeurs de technologie d’atelier. La partie de l‘ensemble ses au lieu d’utiliser un nom symbolique.
IS0 4342-1985 (FI
1 Objet et domaine d’application 3.2 Le système normal de coordonnées est un système carté-
sien rectangulaire à sens direct lié à une pièce placée sur une
La présente Norme internationale définit un langage symboli- machine et aligné avec les glissières linéaires principales de la
que de niveau supérieur de programmation de pièce, traité par machine. Le sens positif du mouvement d’un composant de la
machine est celui qui provoque un accroissement positif de la
un calculateur numérique pour produire un programme-
dimension sur la pièce à usiner.
machine de commande numérique.
Ce langage s’applique principalement aux machines-outils à
3.3 Dans le LR, les axes de référence du système de coordon-
commande numérique. C‘est un langage de référence, ce qui
nées sont A’, Y et Z. Ils sont utilisés dans la description d’une
ne veut pas nécessairement dire que l’ensemble du langage doit
pièce à usiner; on suppose que la pièce à usiner est immobile,
être rendu effectif. Des parties, ou ((sous ensembles)) du lan-
avec l’outil ou l’outil de coupe se déplacant relativement au
gage pourront être rendus effectifs pour s’adapter à des cir-
système de coordonnées de la pièce à usiner, que cela soit vrai
constances particulières.
ou non pour le fonctionnement réel de la machine CN.
3.4 En spécifiant des angles dans un plan, le sens positif est
2 Références
le sens trigonométrique et l‘axe de référence est indiqué comme
suit :
IS0 646, Traitement de l’information - Jeu IS0 de caractbres
codés B 7 éléments pour l’échange d’information.
I Plan 1 Axe de référence I
IS0 841, Commande numérique des machines - Nomencla-
XY X
ture des axes et des mouvements.
1 E 1:
IS0 3592, Commande numérique des machines - lnforma-
tions de sortie des processeurs CN - Structure logique let
3.5 Le sens positif de l’angle est le sens trigonométrique à
mots majeurs).
partir de l‘axe de référence.
IS0 4343, Commande numérique des machines - hforma-
tions de sortie des processeurs CN - Eléments mineurs des
3.6 Les angles sont exprimés en degrés et en fractions déci-
(instruction post-processeur).
enregistrements de type 2
males de degré.
3.7 La sortie du processeur (CLDATA) utilise les mêmes con-
3 Système de coordonnées
ventions que le LR; les coordonnées de sortie se réfèrent à un
point de référence sur un outil de coupe (habituellement le cen-
La Norme internationale IS0 841 est la base de dbhition tre de la pointe) relativement au système de coordonnées de la
3.1
du système de coordonnées du LR. pièce à usiner utilisé dans le programme de pièce.
IS0 4342-1985 (F)
4 Structure de langage
4.1 Commentaires généraux
4.1.1 Sémantique générale
Les chiffres et les lettres sont utilisés pour créer des nombres et des mots-clés non signés qui, conjointement avec des caractères et
des caractères spéciaux, peuvent être utilisés pour créer des identificateurs, des labels et des chaînes 'le caractères littéraux. Toute
combinaison valable, si elle existe, peut être utilisée pour établir une instruction, et un nombre d'instrLctions arrangé dans un ordre
spécifique constitue un programme de pièce.
4.1.2 Sommaire
lettres, voir 4.2;
chiffres, voir 4.3;
caractères spéciaux, voir 4.4;
caractères, voir 4.5;
symboles pour délimiteur littéral, voir 4.6;
chaînes de caractères littéraux, voir 4.7;
nombres non signés, voir 4.8;
mots-clés, voir 4.9;
identificateurs simples, voir 4. IO;
identificateurs, voir 4.11;
labels, voir 4.12;
instructions, voir 4.13;
emboîtement, voir 4.14;
programme de pièce, voir 4.15.
4.1.3 Limites
Aucune.
4.1.4 Syntaxe
k
< structure de langage > : : = { , [ < lettres > < chiffres > < caractères spéciaux > < caractères >
< symbole pour délimiteur littéral > < chaîne de caractère littérale >
< nombres non signés > < mots-clés > < identificateurs simples > < labels >
< instructions > < emboîtement > < programme de pièce > ] }
IS0 4342-1985 (FI
4.2 Lettres
4.2.1 Sémantique
Les lettres n'ont aucune signification particulière, étant utilisées pour former des mots-clés, des identificateurs simples, des chaînes
de caractères ou des labels.
4.2.2 Limites
Aucune.
IS0 4342-1985 (FI
4.3 Chiffres
4.3.1 SBmantique
Les chiffres n’ont aucune signification particulière, étant utilisés pour former des identificateurs simples, des nombres non signés, des
chaînes de caractères ou des labels.
4.3.2 Limites
Aucune.
4.3.3 Syntaxe
:: = 011/21314151617)8/9
IS0 4342-1985 (FI
4.4 Caractères spéciaux
4.4.1 Sémantique
Les caractères spéciaux sont utilisés en tant qu'opérateurs pour créer des expressions arithmétiques et en tant que caractères de
ponctuation (ou séparateurs) dans les instructions. Lorsque des caractères spéciaux sont utilisés dans des chaînes de caractères litté-
raux, ils sont traités comme des caractères sans signification syntaxique.
+ - * / t opérateurs arithmétiques (voir 5.2).
parenthèse fermée, utilisée comme un séparateur de label d'instruction (voir 4.1 1) ou en connection avec la paren-
)
thèse ouverte pour des emboîtements.
parenthèse ouverte, utilisée avec la parenthèse fermée dans des indices, des emboîtements ou des arguments de
(
fonction.
, point décimal.
=
signe égal, utilisé pour assigner une entité à un nom.
/ barre oblique, utilisée comme séparateur entre un mot-clé majeur et le reste d'une instruction.
virgule, utilisée comme séparateur entre les éléments d'une instruction.
,
: deux points, séparateur de label d'instruction (voir 4.1 1 ).
dollar ou autre caractère de monnaie, utilisé pour associer les instructions et délimiter le début d'un commentaire.
$
point virgule, utilisé comme séparateur d'instruction.
;
'
apostrophe, utilisée pour délimiter une chaîne de caractères.
Le caractère-espace n'a aucune signification sauf dans les chaînes de caractères.
4.4.2 Limites
Aucune.
4.4.3 Syntaxe
:I'
:: = - 1.1 + l*l/l,l = l(l)l$lT~;
NOTE - $ est donné comme exemple d'un caractère de monnaie national.

IS0 4342-1985 (FI
4.5 Caractères
4.5.1 Sémantique
Un caractère est une lettre, un chiffre ou un caractère spécial ou un autre caractère valable.
4.5.2 Limites
Aucune.
4.5.3 Syntaxe
< caractère > : : = < lettre > 1 < chiffre > 1 < caractère spécial > 1 < autre caractère valable >
NOTE - Les autres caractères valables n’ont aucune signification 8 l’intérieur du langage mais sont néanmoins considérés comme entrées valables.
Ils devraient &re traitables par l’exécution spécifique et être choi-
Ces caractères ne sont pas définis autrement dans la présente Norme internationale.
sis à partir des jeux de caractères définis par I’ISO 646 et I‘ISO 840.
IS0 4342-1985 (FI
4.6 Symbole pour délimiteur littéral
4.6.1 Sémantique
L‘apostrophe est utilisée au début et a la fin d’une chaîne de caractères littéraux pour indiquer l’étendue du champ de la chaîne de
caractères littéraux.
4.6.2 Exemple
PARTNOI’VALVE HOUSING’
4.6.3 Limites
Aucune.
4.6.4 Syntaxe
: : = ’
a
IS0 4342-1985 (FI
4.7 Chaîne de caractères littéraux
4.7.1 Sémantique
Une chaîne de caractères littéraux peut être utilisée dans des instructions pour un texte, ou dans des instructions post-processeur tel-
les que INSERT pour passer une information spéciale au post-processeur à travers la CLDATA. L' ?nsemb8e des caractères autorisés
n'est pas limitéà l'ensemble des lettres, chiffres et caractères spéciaux définis dans la présente Norr le irterriationale. Dans une chaîne
de caractères littéraux, tous les caractères spéciaux sont traités comme des caractères simples sans : ign fication syntaxique.
4.7.2 Exemple
P1 = POINT/O,O,O 'COMPONENT DATUM'
4.7.3 Limites
Aucune.
4.7.4 Syntaxe
k
< chaîne de caractères littéraux > : : = [ < caractère > ]

NOTES
1 La syntaxe de la chaîne de caractères littéraux implique que la chaîne vide est permise.
2 Les caractères espace sont significatifs.
3 Une remarque (commentaire) suivant un simple ou un double caractère monétaire n'est pas nécessairement une chaîne de caractères délimitée.
4 Une chaîne de caractères littéraux non terminée par une apostrophe fermée avant une limite de ligne arbitraire (par exemple la colonne 73 de
l'annexe A), se continue sur la ligne suivante sans nécessité d'un caractère monétaire.
Une apostrophe est représentée par deux apostrophes dans une chaîne de caractères délimitée par des apostrophes.
IS0 4342-1985 (F)
4.8 Nombres non signés
4.8.1 S6mantique
Les nombres ont leur significatiovi habituelle, étant composés de chiffres décimaux et pouvant avoir un point décimal. Si aucun point
décimal n‘est inclus dans le norvbre, il est supposé apparaître après le chiffre le plus à droite.
4.8.2 Exemples
4771 1
58.
3.14
4.8.3 Limites
II n‘y a aucune limite définie au nombre de chiffres d‘un nombre, la limite étant dépendante de la mise en œuvre. Aucune distinction
n’est faite entre les nombres entiers et les nombres réels puisqu‘ils sont utilisés d’une facon interne dans le mode réel. Toutes les fois
qu’une valeur entière est nécessaire (par exemple, dans un indice), la partie fractonnaire de la valeur réelle est tronquée.
La représentation d’un nombre aans un calculateur n’est pas nécessairement exacte. Par conséquent, des approximations sont utili-
sées lorsque cela est nécessaire pour effectuer les opérations exactes. Ces approximations sont dépendantes du calculateur.
4.8.4 Syntaxe
< nombre non signé > : = f [ < chiffre > I [.I 1 f [ < chiffre > I . [ < chiffre > 1
IS0 4342-1985 (FI
4.9 Mots-clés
4.9.1 Sémantique
Les mots-clés ont un sens précis dans le langage. Ils peuvent être considérés comme des entrées dans une liste de vocabulaire.
L’ensemble des mots-clés n’est pas fixé mais peut être étendu dans les révisions futures de la présente Norme internationale.
Les mots-clés n’ont pas le rôle de délimiteurs, par contraste avec quelques langages de programmation scientifiques par exemple,
puisque deux mots-clés contigus doivent être séparés l’un de l’autre par un caractère spécial.
Les mots-clés sont divises en deux catégories. Les mots-clés majeurs qui definissent le type de l’instruction, et les mots-clés mineurs
qui donnent une information supplémentaire. Les categories peuvent se diviser, chacune en deux sous-catégories : les mots-clés pro-
cesseurs et post-processeurs. Les mots-clés post-processeurs sont énumérés et définis dans I‘ISO 4343. Une liste alphabhtique de
tous les mots-clés est donnée dans l’annexe D.
4.9.2 Exemples
POINT
INTOF
4.9.3 Limites
Les mots-clés se composent uniquement de lettres et en ont au moins deux
4.9.4 Syntaxe
< mot-clé > : : = [ < lettre >I
IS0 4342-1985 (FI
4.10 Identificateurs simples
4.10.1 Sémantique
Les identificateurs simples n’ont pas de sens inhérent et ils sont uniquement utilisés comme des spécificateurs (voir 8.1.41, des labels
ou des symboles arithmétiques.
4.10.2 Exemples
P2
LI
BOBBY1
4.10.3 Limites
Un identificateur simple ne doit pas être redéfini dans un programme de pièce sauf quand il est utilisé en tant que symbole arithméti-
que. Il est recommandé que les processeurs n’acceptent pas des mots-clés comme identificateurs simples. Un identificateur simple de
plus d’une lettre, à moins d‘être utilisé comme synonyme, devrait contenir un chiffre.
4.10.4 Syntaxe
< identificateur simple > : : = < lettre > [ < lettre > I < chiffre >I
IS0 4342-1985 (FI
4.11 Identificateurs
4.11.1 Sémantique
Un identificateur est similaire à un identificateur simple niais comporte normalement un indice
4.11.2 Exemples
4.11.3 Limites
Un identificateur ne doit pas être redéfini dans un programme de pièce, sauf quand il est utilisé cornnie un symbole arithmétique.
4.11.4 Syntaxe
< identificateur > : : = < identificateur simple > ,, [( < scalaire > 11
IS0 4342-1985 (FI
4.12 Labels
4.12.1 Sémantique
Un programmeur de pièce peut tttacher un label à une instruction pour l’identifier. Le label peut être utilisé dans une instruction de
transfert conditionnel ou incondstionnel, ou dans une instruction de transfert géométrique.
4.12.2 Exemple
Al) GOTO/Pl
ou alternativement AI : GOTOIP1
où Al est le label.
4.12.3 Limites
Aucune.
4.12.4 Syntaxe
< label > : : = y [ < chiftre > I I < identificateur simple >
4.12.5 Renvoi (voir annexe DI
IF
JUMPTO
TUANT0
IS0 4342-1985 (F)
4.13 instructions
4.13.1 Sémantique
Une instruction est une instruction complète ou une unité d’information comparable à une phrase dans un langage naturel. Une ins-
truction se compose d‘un seul mot-clé ou d’une séquence, définie de facon syntactique, d‘éléments séparés par des caractères spé-
ciaux, Ces éléments sont des mots-clés, des identificateurs simples, des nombres non-signés et des chaînes de caractères.
II y a plusieurs types d’instructions, groupées pour convenance de description dans les cinq chapitres suivants de la présente Norme
internationale : 5 arithmétique, 6 définition de programme, 7 exécution de programme, 8 définition géométrique et 9 exécution géo-
métrique.
Les instructions peuvent être étiquetées ou non. Où que soit permis un mot-clé dans une instruction, il peut être remplacé par un
synonyme défini préalablement.
OÙ que soit permis un mot-clé ou un identificateur simple à l’intérieur d’une macro-instruction, il peut être remplacé par un nom para-
mètre.
4.13.2 Limites
Aucune.
4.13.3 Syntaxe
< instruction > : : = [ < label > [) 1 :]] < instruction non-étiquetée >
< instruction non-étiquetée > : : = < instruction arithmétique > I
< instruction de programme de commande > 1
< instruction de programme de définition > 1
< instruction de définition géométrique > I
< instruction d’exécution géométrique >
IS0 4342-1985 (FI
4.14 Emboîtement
4.14.1 Sémantique
N'importe quelle instruction arithmétique non-étiquetée ou instruction de définition géométrique non-étiquetée peut être emboîtée.
L'instruction est écrite entre parenthèses. OÙ qu'apparaisse un identificateur simple, il est possible d'emboîter l'instruction complète
avec l'identificateur simple, qui peut être référencé ultérieurement dans le programme de pièce, ou bien il est possible d'emboîter I'ins-
truction sans identificateur simple et sans caractère égal. Les trois alternatives
a) identificateur simple,
b) instruction emboîtée sans identificateur simple,
instruction emboîtée avec identificateur simple,
c)
sont comprises dans le terme ctspécificateur)). Par exemple, quand une entité du type ((cercle)) est valable, on utilise le terme ctspécifi-
cateur de cercle)).
4.14.2 Exemple
Les instructions
PT4 = POINT/3,6
PT6 = POINT/8,9
L2 = LINEIPT4, PT6
peuvent être écrites comme suit
L2 = LINEI(PT4 = POINT/3,6), (POINT/8,9)
4.14.3 Limites
Aucune.
IS0 4342-1985 (FI
4.15 Programme de pièce
4.15.1 Sémantique
Un programme de pièce est une séquence d’instructions logiquement complétée et ordonnée; le ré: ultat du traitement d’un pro-
gramme de pièce produit un programme de commande de machine également complet et ordon )é.
Un programme de,pièce se compose d’une instruction d’identification du programme de pièce, d‘une séllue ice d’instructions et d‘une
instruction d’achèvement ;1 un programme de pièce.
4.15.2 Limites
Aucune
4.15.3 Syntaxe
k
< programme de pièce > : : = < instruction d’identification de programme de pièce > ,, I < instruction > I
< instruction de fin de programme de pièce >
IS0 4342-1985 (FI
5 Instructions arithmétiques
5.1 Commentaires généraux
5.1.1 Sémantique générale
Les caractéristiques arithmétiques du langage permettent une grande variété d’expressions algébriques à évaluer à l’intérieur d’un pro-
gramme de pièce. En général, les Opérateurs utilisés dans l’arithmétique du programme de pièce sont ceux de l‘algèbre convention-
nelle, sauf celui de la multiplicat80n algébrique x qui est remplacé par *.
Dans l’algèbre conventionnelle, une description peut occuper plus d‘une ligne. Puisque cela n’est pas converti sans inconvénient en
entrée d‘un calculateur, ceci n’eit pas permis dans le langage de programme de pièce.
:
Par exemple
1 +2+3
A=
permis en algèbre doit être conberti en
A = (1 + 2 + 3)/4
avant d‘être utilisé dans le langage de programme de pièce. Pour la même raison, il s‘est avéré nécessaire d’introduire un opérateur
exponentiel (*’ ou 7) dans le larigage de programme de pièce de sorte que
A = 23
soit écrit
A = 2**3 OU A = 2 3
Les limites mathématiques norm,des s’appliquent dans tous les cas en utilisant par exemple SORT (A 1, A doit avoir une valeur posi-
tive, ou en utilisant ASlN (BI, B doit avoir une valeur comprise entre + 1.
Le caractère = est utilisé dans les instructions arithmétiques, mais ne peut pas signifier ((égal)) comme c’est le cas en algèbre. Dans
l’arithmétique du programme de pièce, ce caractère devrait être lu comme (test remplacé par)) ou (test donné la valeur den. Il est par
conséquent autorisé d‘écrire A = A + 1, ce qui signifie que un doit être ajoutéà la valeur de A, A donnant alors la valeur du résultat.
Les priorités d’opérations algébriques normales s’appliquent. Par exemple, dans l’instruction A = 2 + 3*4, l’opération * sera effec-
tuée avant l’opération +. Des parenthèses peuvent être utilisées dans les instructions arithmétiques et peuvent, comme en algèbre,
modifier la séquence dans laquelle les opérations sont exécutées. Si, par exemple, l’instruction ci-dessus est écrite A = (2 + 3) “4
l‘opération + est effectuée avant l‘opération *,
La multiplication implicite de l’algèbre n‘est pas autorisée. Par exemple, A = 5 (B + 2) qui est permis en algèbre doit être écrit
A = 5*(B + 2).
L’ordre des piorités des opérations est le suivant :
Priorité 1 (
2 **,T
3 *,I
4 +,-
Dans les exemples donnés plus loin dans ce chapitre, les valeurs numériques ne sont données qu’à titre d’illustration et peuvent être
des approximations des valei irs réelles.
5.1.2 Sommaire
1) opérateurs arithmktiques, voir 5.2;
2) fonctions arithmétiquas, voir 5.3;
3) fonctions algébriques, voir 5.3.2;
fonctions trigonornétriques, voir 5.3.3;
5) fonctions exponeiitieLes, voir 5.3.4;
6) fonctions vectorielles, voir 5.3.5;
7) fonctions diverses, voir 5.3.6.

IS0 4342-1985 (FI
5.1.3 Limites
Aucune.
5.1.4 Syntaxe d'arithmétique
< symbole arithmétique > : : = < identificateur >
< opérateur additionnel > : : = + 1 -
< opérateur multiplicateur > : : = * I /
< opérateur exponentiel > : : = ** 1 1
< premier > : : = < nombre non-signé > 1 < symbole arithmétique > 1
< fonction scalaire > I ( < expression arithmétique > 1
< facteur > : : = < premier > I < premier > < opérateur exponentiel > < premier >
< terme > : : = < facteur > 1 < terme > < opérateur multiplicateur > < facteur >
< expression arithmétique > : : = < terme > 1 < opérateur additionnel > < terme > I
< opérateur additionnel > < terme >
< expression arithmétique >
< premier > 1
< scalaire > : : = < premier > I < opérateur additionnel >
( < symbole arithmétique > = < scalaire > )
< instruction arithmétique > : : = < symbole arithmétique > = < scalaire >
< fonction algébrique > : : = [ABS I SORTI ( < scalaire > 1
< fonction trigonométrique > : : = [SIN I COS I TAN I ASlN I ACOS 1 ATANI ( < scalaire > 1 I
ANGL ( < spécificateur cercle > , < spécificateur point > ) I
DlST ( < spécificateur point > , < spécificateur point > 1 I
< fonction exponentielle > : : = [EXP I LOG1 ( < scalaire > 1
< fonction vectorielle > : : = LNTH ( < spécificateur vecteur > 1 1
DOT ( < spécificateur vecteur > , < spécificateur vecteur > I
< fonctions diverses > : : = ANGL ( < spécificateur cercle > , < spécificateur point > 1 I
DlST ( < spécificateur point > , < spécificateur point > 1 1
NUM ( < spécificateur structure > 1
< fonction scalaire > : : = < fonction trigonométrique > j
< fonction algébrique > 1
< fonction exponentielle > I
< fonction vectorielle > 1
< fonction diverse >
IS0 4342-1985 (FI
5.2 Opérateurs arithmétiques
5.2.1 Sémantique
Les opérateurs additionnels + et - doivent être utilisés de chacune des deux facons suivantes
à donner au terme suivant
a) Comme opérateur unitaire; dans ce cas l’opérateur signifie le signe
+ signifie que le terme suivant doit être positif;
-
signifie que le terme suivant doit être négatif.
b) Comme opérateur binaire; dans ce cas l’opérateur, précédé d’une expression arithmétique et suivi d’un terme, signifie com-
ment ce terme doit être ajouté à l’expression arithmétique :
+ signifie que le terme doit être ajouté à l’expression arithmétique;
-
signifie que le terme doit être soustrait de l’expression arithmétique.
Les opérateurs multiplicateurs * et / indiquent comment le terme qui précède doit être multiplié par le facteur suivant
*
le terme doit être multiplié par le facteur;
le terme doit être divisé par le facteur.
/
** ou T signifie que le terme premier qui le précède doit être élevé à une puissance donnée par le terme pre-
L’opérateur exponentiel
mier qui le suit.
5.2.2 Exemples
A = B + C A comprend la somme de B et de C
A = B * C A comprend le résultat de B multiplié par C
A = B ** C A comprend le résultat de B à la puissance C
5.2.3 Limites
Aucune.
5.2.4 Syntaxe
< opérateur additionnel > : : = + I -
< opérateur multiplicateur > : : = * 1 /
< opérateur exponentiel > : : = ** 1 t
IS0 4342-1985 (FI
5.3 Fonctions arithmétiques
5.3.1 Commentaire généraux
NOTE - Tout au long de ce chapitre, la forme préférée des inonis tit.’ fonctions a été utilisée, c’est-à-dire SIN, ABS, etc. Cependant, il est reconnu
que les anciennes formes NFD, c’est-à-dire SINF, ABSF, etc., pi:uvc:rit, dans certains cas, être utilisées pendar ! qui lqut, ti:nlps. Les comnientaires et
les observations faits sur les formes préférées s‘appliquent égalt?rrir:nt aux versions KFD.
5.3.1.1 Sommaire
1) Fonctions algébriques, voir 5.3.2;
2) fonctions trigonométriques, voir 5.3.3;
3) fonctions exponentielles, voir 5.3.4;
4) fonctions vectorielles, voir 5.3.5;
5) fonctions diverses, voir 5.3.6.
5.3.1.2 Syntaxe
< fonctions algébriques > : : = [ABSISORTI ( < scalaire >
< fonctions trigonométriques > : : = [SIN/COSITAN/ASIN/ACOS/ATANl ( < scalaire > 1
< fonctions exponentielles > : : = [EXPILOGI ( < scalaire >
< fonctions vectorielles > : : = LNTH ( < spécificateur vecteur > 1
DOT (< spécificateur vecteur > , < spécificateur vecteur >
< fonctions diverses > : : = ANGL ( < spécificateur cercle > , < spécificateur point > ) I
DIST ( < spécificateur point >
, < spécificateur point > I
NUM ( < spécificateur structure >
IS0 4342-1985 (FI
5.3.2 Fonctions algébriques; ABS et SQRT
5.3.2.1 Sémantique
Le désignateur de la fonction algébrique indique le type d’opération arithmétique à effectuer sur l’expression arithmétique, mise entre
parenthèses, qui suit.
ABS : la valeur absolue de I’sxpression arithmétique doit &re prise en compte.
SORT : la racine carrée de I’ 2xpression arithmétique doit être prise en compte.
5.3.2.2 Exemples
A = ABS ( - 2); A contient la valeur absolue de ( - 21, c’est-à-dire 2
A = SORT (9); A contielit la racine carrée de (91, c‘est-à-dire 3
5.3.2.3 Limites
Aucune.
5.3.2.4 Syntaxe
< fonction algébrique > : = [ABS 1 SORT] ( < scalaire > )
IS0 4342-1985 (FI
5.3.3 Fonctions trigonombtriques : SIN, COS, TAN, ASIN, ACOS, ATAN
5.3.3.1 Sémantique
Le désignateur de la fonction trigonométrique indique le type d’opération trigonométrique A effectuer sur l’expression arithmétique,
mise entre parenthèses, qui suit.
SIN : le sinus de l’expression arithmétique qui suit doit être pris en compte.
COS : le cosinus de l‘expression arithmétique qui suit doit être pris en compte.
TAN : la tangente de l’expression arithmétique qui suit doit être prise en compte.
ASlN : l‘angle dont le sinus est donné par l‘expression arithmétique qui suit doit être pris en compte.
ACOS : l’angle dont le cosinus est donné par l’expression aritmétique qui suit doit être pris en compte.
ATAN : l’angle dont la tangente est donnée par l‘expression arithmétique qui suit doit être pris en compte.
la valeur de l’expression arithmétique représente des degrés.
Dans le cas des fonctions directes,
Dans le cas des fonctions inverses, le résultat donné sera exprimé en degrés dans les plages suivantes :
ASlN - 90 < A < 90
ACOS O ATAN - 90 < A < 90
5.3.3.2 Exemples
A = SIN(30) A prend la valeur 0,5
A = COS(30) A prend la valeur 0,866
A prend la valeur 1,000
A = TAN(45)
A prend la valeur 30
A = ASIN(0.5)
A = ASIN( - 0.5) A prend la valeur - 30
A = ACOS(0.866) A prend la valeur 30
A = ACOS( - 0.866) A prend la valeur 150
A = ATAN(1) A prend la valeur 45
A prend la valeur - 45
A = ATAN( - 1)
5.3.3.3 Limites
Aucune.
5.3.3.4 Syntaxe
< fonction trigonométrique > : : = [SIN I COS 1 TAN I ASlN 1 ACOS I ATANl ( < scalaire > 1
IS0 4342-1985 (FI
5.3.4 Fonctions exponentielles EXP et LOG
5.3.4.1 Sémantique
Le désignateur de la fonction exponentielle indique le type d’opération exponentielle à effectuer sur l’expression arithmétique, mise
entre parenthèses, qui suit.
EXP : La valeur de (te)) élevé à une puissance donnée par la valeur de l’expression arithmétique qui suit est prise en compte.
LOG : Le logarithme naturel de l‘expression arithmétique qui suit est pris en compte. Dans ce cas l’expression doit être positive.
5.3.4.2 Exemples
A contient la valeur e*, c’est-à-dire 7,3891
A = EXP(2);
A contient la valeur log:, c‘est-à-dire 0,6931
A = LOG(2);
5.3.4.3 Limites
Aucune.
5.3.4.4 Syntaxe
< fonction exponentielle > : : = [EXP 1 LOG] ( < scalaire > )
IS0 4342-1985 (F)
5.3.5 Fonctions vectorielles LNTH et DOT
5.3.5.1 Sémantique
Le désignateur de la fonction vectorielle LNTH signifie. que la longueur du vecteur représentée par le :3péc:ificateur de vecteur entre
parenthèses qui suit doit être calculée.
Le désignateur de la fonction vectorielle DOT signifie que le produit scalaire des vecteurs représentes p: r la paire de spécificateurs de
vecteurs entre parenthèsr;, qui suit, doit être obtenu. En termes algébriques, le résultat est (longueui du premier vecteur) x (lon-
gueur du second vecteur) x COS (angle entre les vecteurs) ou géométriquement, c’est le produit de li longueur d‘un vecteur par la
projection de l’autre sur lui.
5.3.5.2 Exemple
VI = VECTOR /I, 1, O, 5, 4, O
V2 = VECTORl2, O, O, -2, 6, O
Al = LNTH (Vl) Al comprend la valeur 5
A2 = LNTH (V2) A2 comprend la valeur 6
A3 = DOT (VI, V2) A3 comprend la valeur 18, c’est-à-dire 6 x 5 x 3/5
Figure 1
5.3.5.3 Limites
Aucune.
5.3.5.4 Syntaxe
< fonction vectorielle > : : = LNTH ( < spécificateur de vecteur > 1 I
DOT ( < spécificateur de vecteur > , < spécificateur de veciwr > 1
IS0 4342-1985 (FI
5.3.6 Fonctions diverses ANGL, DIST, NUM
5.3.6.1 Sémantique
Le désignateur de la fonction dberse indique le type d’opération à effectuer sur la fonction diverse entre parenthèses qui suit.
ANGL : angle compris entre ‘axe des X positifs et la droite joignant le centre du cercle donné au point donné.
DlST : distance entre les Poilits donnés.
NUM : nombre de ooints dar s la structure donnée.
5.3.6.2 Limites
Aucune.
5.3.6.3 Syntaxe
= ANGL ( < spécificateur de cercle > , < spécificateur de point > I 1
< fonctions diverses > :
DlST ( < spécificateur de point > , < spécificateur de point > 11
NUM ( < spécificateur de structure > 1
IS0 4342-1985 (F)
Instructions de définition d‘un programme
6.1 Commentaires généraux
6.1.1 Sémantique générale
Les instructions de programme de pièce sont généralement traitées de facon séquentielle mais il est quelquefois souhaitable de répéter
une séquence d’instructions. Des instructions de définition de programme fournissent une possibilité en permettant de redéfinir des
symboles, de définir des synonymes pour des mots-clés et de modifier le traitement séquentiel normal des instructions de programme
de pièce.
6.1.2 Sommaire
a) instructions synonymes, voir 6.2;
b) réservation d’indice, voir 6.3;
définition d’une macro-instruction, voir 6.4.
c)
6.1.3 Limites
Aucune.
6.1.4 Syntaxe
< instruction de définition de programme > : : = { < déclaration de synonymes > < déclaration de réservation >
< bloc de macro-instruction > )
IS0 4342-1985 (FI
6.2 L’instruction synonyme; SYN/
6.2.1 Sémantique
L’instruction synonyme est L tilisée dans un programme de pièce dans lequel, pour diverses raisons, il est préférable d’utiliser une
forme alternative d’orthograr he pour un mot-clé.
La forme générale d’une inst uction synonyme est :
SYNiliste de paires de synonyme mot-clé
là où il apparaît par la suite dans un programme de pièce, pris en compte pour
Le synonyme donné dans une instruction SYN sera
représenter le mot-clé qui lui ?st associé dans l’instruction SYN/ et sera traité comme tel. Dès que le symbole a été défini comme un
synonyme, il ne peut pas êtri redéfini dans un autre contexte. Une liste de synonymes préférés est donnée en annexe C.
L’attribution d’un synonyme I un mot-clé ne doit pas empêcher l’emploi ultérieur du mot-clé à volonté.
6.2.2 Exemples
SYN/P,POINT,C,CIR( LE,TT,TANTO,L,LINE
Ceci permet l’instruction
LI = L/RIGHT,TT,CI ,RIGHT,TT,CZ
ne
qui est prise en compte corn
L 1 = LIN E/ R IGHT,TF. NTO, C 1, RIGHT, TANTO, C2
Le type d’instruction suivant n’est pas permis parce que P était défini comme synonyme
P = POINT/0,1,2
6.2.3 Limites
Aucune.
6.2.4 Syntaxe
< liste paramètres synonymes > : : = < identificateur simple > , < mot-clé > 1
< liste paramètres synonymes > , < identificateur simple > , < mot-clé >
< déclaration de synonymes > : : = SYNi < liste paramètres synonymes >
IS0 4342-1985 (FI
6.3 Réservation d'indice; RESERV/
6.3.1 Sémantique
L'instruction RESERV est utilisée pour indiquer qu'à l'intérieur d'un programme de pièce, des identificateurs (indicés, par définition)
peuvent apparaître.
La forme générale de l'instruction est RESERVi suivie d'une chaîne de couplets, la première partie de chacun étant l'identificateur à
indicer et la seconde partie étant la valeur la plus grande de l'indice qui peut être donnée à cet identificateur.
L'instruction RESERV contenant un identificateur particulier doit précéder toute utilisation d'un identificateur
6.3.2 Exemple
RESERViPl ,10,P2,7, PAT1 ,I2
ceci permet l'instruction
PI(8) = POINT/INTOF,Ll,L2
mais ne permettrait pas
P2(8) = POINT/INTOF,Ll,L2
6.3.3 Limites
Dans certaines mises en œuvre, les types d'identificateurs à indicer peuvent être restreints.
Un identificateur qui apparaît dans RESERV ne doit pas être utilisé normalement sans un
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.

Loading comments...