Professional Documents
Culture Documents
TPA - Manual ISOCNC Listing Specifications
TPA - Manual ISOCNC Listing Specifications
TPA - Manual ISOCNC Listing Specifications
1
By using the comments (see I.2.3), the actions requested to the compiler are briefly indicated. The instructions in
this short sample listing are shown in detail in the following part of the specification.
2
For the alphabetic characters allowed, see section I.2.2.
Character Meaning
Axis A (rotating, around X), component of the
A
versor iF with respect to X (G24)
3
If you specify a line number in an invalid format, that is reported as an error [ISO056; see I.6].
4
A number that does not meet the specifications mentioned above generates an error report [ISO006; see I.6].
5
If ISOCNC detects a word that does not begin with one of the listed characters, it reports an error [ISO003; see I.6].
6
If a character is not followed by a number, an error is reported [ISO004; see I.6]; if there is a number that is not
preceded by a character, that is reported as an error [ISO005; see I.6].
7
Otherwise, an error is reported [ISO007; see I.6].
8
Otherwise, an error is reported [ISO008; see I.6].
9
Otherwise, an error is reported [ISO009; see I.6].
10
Otherwise, an error is reported [ISO001, ISO002; see I.6].
11
It has no default.
G Code Meaning
G04 Wait
G09 Stop at block end
Table 3. Modeless Gs interpreted by ISOCNC
12
G04 and G09 are discussed after the modal Gs (see respectively I.3.9 and I.3.8).
13
For the angles the dimensions remain expressed in degrees.
14
If this is not the case, an error is reported [ISO010; see I.6].
15
With the italics, here and for all the remaining, it is symbolically indicated a numeric value (for a coordinate or
other).
16
Otherwise, an error is reported [ISO018; see I.6].
17
In case of omission, an error is reported [ISO025; see I.6].
18
For this instruction, but even more for those that require a number of arguments, although it is possible to give
them in any order, it is recommended to provide them in a single sequence.
19
The presence of a G91 (or G90), which would offer the possibility of misinterpretation, in a line that specifies a
change of reference system is however not allowed, in accordance with the general rule that requires the uniqueness
on a line of any instruction which determines a change of the reference system.
20
We reiterate that the arguments of G92 are always absolute and referred to the machine reference system, not to
the one currently being used.
21
Otherwise, an error is reported [ISO018; see I.6].
22
In case of complete omission of the components of a versor, the corresponding error is reported [ISO019, ISO020
and ISO021; see I.6].
23
An unitary module, however, is not strictly required. If the module proves practically null, an error is reported
[ISO022; see. I.6].
24
Otherwise, it would not obviously be possible to define a spatial reference system and an error would be reported
[ISO023; see. I.6].
25
Otherwise, an error is reported [ISO018; see I.6].
26
In case of complete omission of the components of a versor, the corresponding error is reported [ISO019, ISO020
and ISO021; see I.6].
27
An unitary module, however, is not strictly required. If the module proves practically null, an error is reported
[ISO022; see. I.6].
28
Otherwise, it would not obviously be possible to define a spatial reference system and an error would be reported
[ISO023; see. I.6].
29
The indication of values outside this range is reported as error [ISO060; see. I.6].
30
Otherwise, an error is reported [ISO018; see I.6].
31
If this is not the case, an error is reported [ISO024; see I.6].
32
Otherwise, an error is reported [ISO018; see I.6].
33
If this is not the case, an error is reported [ISO055; see I.6].
34
The omission would have resulted in the reporting of an error [ISO055; see. I.6].
35
If this constraint is not respected, an error is reported [ISO061; see. I.6].
36
In that case, an error is reported [ISO011; see I.6].
37
Strictly speaking: if a G90 is active, it means that the value of an omitted coordinate is confirmed (that is, it is as if
the coordinate is repeated with the same value), if a G91 is active, the omission is equivalent to specify its null
increase.
41
Otherwise, when processing G02/G03 an error is reported [ISO068; see I.6].
42
Otherwise, an error is reported [ISO026; see I.6]. Moreover, if the coordinates required by G02 (/G03) based on the
active G17/G18/G19 are not specified, that is reported as an error [ISO027; see I.6].
43
Although unusual, it is allowed that the data are provided for both descriptions, provided that they are consistent
(otherwise, an error is reported [ISO029; see. I.6]).
44
If data is not provided, an error is reported [ISO028; see I.6].
45
If such condition, with an obvious geometric interpretation, is not satisfied, an error is reported [ISO030; see. I.6].
46
This statement is discussed in depth in Appendix A.
47
If an inconsistency is detected, that is reported as an error [ISO031; see I.6].
48 In this case if x1 differs from x0, in order to specify the centre it is sufficient the coordinate Z of the centre (that is
kC): the presence of XiC is superfluous (since xC can be calculated starting from P0, P1 and zC) and can therefore be
omitted; if z1 differs from z0, to specify the centre it is sufficient the coordinate X of the centre (therefore iC): the
presence of KkC is superfluous (since C can be calculated starting from P0, P1 and xC) and can therefore be omitted. If
also the superfluous coordinate is given, that is however considered to verify its correctness, checking that the point
(xC,zC) specified in that way, is located on the axis of the segment which joins P 0 with P1 [ISO031; see I.6].
49
In this case if y1 differs from y0, in order to specify the centre it is sufficient the coordinate Z of the centre (that is
kC): the presence of YjC is superfluous (since yC can be calculated starting from P0, P1 and zC) and can therefore be
omitted; if z1 differs from z0, to specify the centre it is sufficient the coordinate Y of the centre (that is jC): the
presence of KkC is superfluous (since zC can be calculated starting from P0, P1 and yC) and can therefore be omitted. If
also the superfluous coordinate is given, that is however considered to verify its correctness, checking that the point
(yC,zC) specified in that way, is located on the axis of the segment which joins P 0 with P1 [ISO031; see I.6].
50
The specification of a coordinate not provided for the centre is obviously a mistake, and as such is reported
[ISO038, ISO039 and ISO040; see I.6].
51
If y1 = y0 an error is reported [ISO048; see I.6].
52
If x1 = x0 an error is reported [ISO049; see I.6].
53
If z1 = z0 an error is reported [ISO050; see I.6].
54
If x1 = x0 an error is reported [ISO051; see I.6].
55
If z1 = z0 an error is reported [ISO052; see I.6].
56
If y1 = y0 an error is reported [ISO053; see I.6].
57
Being a five-axis interpolation, it is necessary that the five-axis interpolation mode is enabled (see. I.3.5).
58
Any instruction which involves an interpolation motion (G01 or G02/G03 with variation in the dimension of a rotary
axis) that requires five axes, if this feature is not enabled (G49) generates an error [ISO032; see I.6].
59
If this is not the case, an error is reported [ISO033; see I.6].
60
If this is not the case, an error is reported [ISO034; see I.6].
61
If this is not the case, an error is reported [ISO035; see I.6].
62
It is not provided the possibility to specify a feed rate for quick motions, since it is not applicable to them.
63
If this is not the case, an error is reported [ISO041; see I.6].
64
If this is not the case, an error is reported [ISO066; see I.6].
65
The attempt to specify a negative value for the feed rate is reported as error [ISO042; see I.6].
66
In case of multiple values of F, an error would be reported [ISO065; see. I.6].
I.4. M functions
The following table lists the M functions interpreted directly by ISOCNC. The
meaning of these Ms cannot be redefined by the user.
M Code Meaning
67
An indication of the value of the wait time, using the word "P" is mandatory: otherwise, an error is reported
[ISO064; see I.6].
68
Specifying a negative value is reported as an error [ISO036; see I.6].
69
If this is not the case, an error is reported [ISO037; see I.6].
70
If this is not the case, an error is reported [ISO043; see I.6].
71
If a listing ends without M02, an error is reported [ISO045; see I.6].
72
This value cannot be negative or zero. If this is the case, an error is reported [ISO015; see I.6].
73
If a line contains more than one S, an error is reported [ISO046; see I.6].
74
In case of absence of T, which must necessarily follow M06, an error is reported [ISO014; see I.6]. An error [ISO054;
see I.6] is reported as well in case of a T not preceded by a M06.
75
As already stated (see I.1.2.2 ), if this constraint is not respected, an error is reported.
76
Example: T 0 30 207. A similar case is reported as error [ISO012; see I.6].
77
Example: T 1 00 207. A similar case is reported as error [ISO013; see I.6].
I.5. Registers
ISOCNC provides to the user 30 registers of decimal type, numbered from 1
to 30. To set the value of a register the user is provided with the instruction V:
writing V followed by the number of the register80, by the sign “=” and by a
value (usually decimal)81, it is possible to assign to the register the required
value82. For instance, V25 = 78.99 assigns to the 25th register the value 78.99.
I.6. ISO errors
Below is the list of errors which can be reported in an ISO file.
Code Meaning
Comment closure missing.
ISO001 There is a comment opening bracket (“(”) not followed by the corresponding closing
bracket (“)”).
Comment opening missing.
ISO002 There is a comment closing bracket (“)”) not preceded by the corresponding opening
bracket (“(”).
78
In case of indication of non configured tooling items, an error is reported [ISO067; see I.6].
79
The failure to specify an initial tooling, when a motion G is met, is reported as error [ISO044; see I.6].
80
It is necessary to specify a valid register number: it must be a non-negative integer (if the format is incorrect, that
is reported as an error [ISO057; see I.6]), secondly the number must be between 1 and 30 (otherwise an error is
reported [ISO059; see I.6]).
81
The valid indication of a register must always be followed by the assignment: otherwise, an error is reported
[ISO063; see I.6].
82
The presence in listing of a sign “=” not preceded by V is reported as error [ISO058; see I.6].