You are on page 1of 46

hyperPOST V4

Technical Reference

Contents

1. Instructions ..................................................................................... 2

1.1 General Instructions ..........................................................................................5


1.2 General Register Operations ...............................................................................6
1.3 Instructions for String Registers ..........................................................................7
1.4 Arithmetic Operations ...................................................................................... 10
1.5 Labels, Jumps and Flags .................................................................................. 13
1.6 Calculations ................................................................................................... 15
1.7 Global Variables.............................................................................................. 19
1.8 Local Variables ............................................................................................... 23
1.9 Tests for Existence .......................................................................................... 25

2. Functions ....................................................................................... 27

2.1 OMA-Files and Procedures ................................................................................ 29


2.2 Extended Data Access ..................................................................................... 30
2.3 Flow Control................................................................................................... 31
2.4 Output .......................................................................................................... 32
2.5 Repetitions and Sub-Programs (POF) ................................................................ 36
2.6 Repetitions and Sub-Programs (NC).................................................................. 38
2.7 Interpolation .................................................................................................. 42
2.8 Zero Point Table ............................................................................................. 43
2.9 Miscellaneous ................................................................................................. 44

3. Index ............................................................................................. 45

© OPEN MIND Software Technologies GmbH, 2002 Page 1


hyperPOST V4
Technical Reference

Instructions

1. Instructions

1.1 General Instructions

call (Call an OMA-function)


exec (Execute an OMA-procedure by string)
exes (Execute an OMA-procedure by register)
ret (End procedure execution)

1.2 General Register Operations

sri (Set an integer register)


srf (Set a float register)
srs (Set a string register)
mov (Move value to another register)
move (Move value to another register of same type)

1.3 Instructions for String Registers

adds (Concatenate two strings)


cmps (Compare two strings)
tls (Trim left)
trs (Trim right)
xls (Left part of string)
xrs (Right part of string)
xcs (Get a character by position)
lwr (Convert string to lowercase)
upr (Convert string to uppercase)
s2a (Convert string to ASCII)
slen (Get length of a string)
fcs (Search the first occurrence of a character)
fcsr (Search the last occurrence of a character)
rls (Remove the beginning of a string)
rrs (Remove the ending of a string)

1.4 Arithmetic Operations

addi (Add two integers)


addf (Add two floats)
subi (Subtract integers)
subf (Subtract floats)
muli (Multiply integers)
mulf (Multiply floats)
divi (Divide integers)
divf (Divide floats)
cmpi (Compare two integers)
cmpf (Compare two floats)

© OPEN MIND Software Technologies GmbH, 2002 Page 2


hyperPOST V4
Technical Reference

Instructions

1.5 Labels, Jumps and Flags

lbl (Label)
jmp (Unconditional jump)
je (Jump if equal)
jne (Jump if not equal)
jle (Jump if less or equal)
jl (Jump if less)
jge (Jump if greater or equal)
jg (Jump if greater)
js (Jump if signed)
jz (Jump if zero)
jerr (Jump if error)
cflg (Clear flags)

1.6 Calculations

fabs (Absolute value of a float)


floor (Largest smaller integer)
ceil (Smallest greater integer)
sin (Sine value)
cos (Cosine value)
asin (Arcsine)
acos (Arccosine)
atan (Arctangent)
atan2 (Arctangent)
ln (Natural logarithm)
log (Logarithm)
exp (Exponential)
pow (Power)
sqrt (Square root)
hypot (Hypotenuse)

1.7 Global Variables

cvi/cvri (Create integer variable)


cvf/cvrf (Create float variable)
cvs/cvrs (Create string variable)
svi/svri (Assign value to integer variable)
svf/svrf (Assign value to float variable)
svs/svrs (Assign value to string variable)
lvi/lvri (Load value of integer variable)
lvf/lvrf (Load value of float variable)
lvs/lvrs (Load value of string variable)
dvi/dvri (Destroy integer variable)
dvf/dvrf (Destroy float variable)
dvs/dvrs (Destroy string variable)

© OPEN MIND Software Technologies GmbH, 2002 Page 3


hyperPOST V4
Technical Reference

Instructions

1.8 Local Variables

cli (Create local integer variable)


clf (Create local float variable)
cls (Create local string variable)
sli (Assign value to local integer variable)
slf (Assign value to local float variable)
sls (Assign value to local string variable)
lli (Load value of local integer variable)
llf (Load value of local float variable)
lls (Load value of local string variable)
dli (Destroy local integer variable)
dlf (Destroy local float variable)
dls (Destroy local string variable)

1.9 Tests for Existence

xpr/xrpr (Test existence of procedure)


xfc/xrfc (Test existence of function)
xvi/xvri (Test existence of integer variable)
xvf/xvrf (Test existence of float variable)
xvs/xvrs (Test existence of string variable)

© OPEN MIND Software Technologies GmbH, 2002 Page 4


hyperPOST V4
Technical Reference

General Instructions

1.1 General Instructions

Makes a call to the function with the name defined by <string>. call <string>
call fopen

Executes the procedure with the name defined by <string>. exec <string>

Executes the procedure with the name contained in the string exes sr?
register sr?.
srs sr1, moveTo
exes sr1

Terminates the current procedure. ret

© OPEN MIND Software Technologies GmbH, 2002 Page 5


hyperPOST V4
Technical Reference

General Register Operations

1.2 General Register Operations

Assigns a given <value> to an integer-register ir?. In sri ir?,<value>


case of a value 0, the ZERO-flag is set; if the value is less
than 0, the SIGN-flag is set.
sri ir2, 420

Defines the content of a float-register <fr?>. If the srf fr?,<value>


register is finally 0, the ZERO-flag is set; in case of a
negative content, the SIGN-flag is set.
srf fr3, 3.1415926535898

Assigns the given value to a string-register <sr?>. srs sr?,<value>


The maximum possible string length is 512.
srs sr1, "OPEN MIND Technologies"

Copies the content of an arbitrary register to any target mov <reg>,<reg>


register. In case of equal data types the command move
should be preferred. In case of different data types a
conversion is performed. The fractional part of a float
value which is transferred to an integer-register is
truncated. A float value which is move to a string register
will be converted with the format %lf.
srf fr2, 2.718281828459
mov sr3, fr2

As a result sr3 contains the string "2.718282".

Copies the content of any register into a register of the move <reg>,<reg>
same data type.
srf fr1, 3.141593
move fr2, fr1

As a result fr2 contains the value 3.141593.

© OPEN MIND Software Technologies GmbH, 2002 Page 6


hyperPOST V4
Technical Reference

Instructions for String Registers

1.3 Instructions for String Registers

Appends the content of the second string-register sr? adds sr?,sr?


at the content of the first string-register sr?
srs sr1, "OPEN MIND"
srs sr2, " Technologies"
adds sr1, sr2

After the execution of the commands,


sr1 contains "OPEN MIND Technologies".

The content of two string-registers is compared but not cmps sr?,sr?


changed. If both strings are identical, the ZERO-flag is
set. If the strings are different, the ASCII-values of the
first two different characters are compared. If the value
from the first string is less than the value from the second
string, the SIGN-flag is set.

This instruction removes leading blanks and tabs from the tls sr?
defined string-register sr?. If the remaining string is
empty, the ZERO-flag is set.
srs sr3, " OPEN MIND"
tls sr3

After the trimming, sr3 contains "OPEN MIND".

This instruction removes terminating blanks and tabs from trs sr?
the content of a string register sr?. If the remaining
string is empty, the ZERO-flag is set.
srs sr2, "OPEN MIND "
trs sr2

After the cutting, sr2 contains


"OPEN MIND".

The integer-register ir? defines the number of characters xls sr?,ir?


which have to be extracted from the string in the given
register sr? beginning at the left. The result is stored in
the same string-register. In case of an empty result, the
ZERO-flag is set.
srs sr2, "OPEN MIND Technologies"
sri ir3, 9
xls sr2, ir3

After the extraction, sr2 contains


"OPEN MIND".

© OPEN MIND Software Technologies GmbH, 2002 Page 7


hyperPOST V4
Technical Reference

Instructions for String Registers

The integer-register ir? defines the length of the right xrs sr?,ir?
substring of the defined string-register sr? which will be
extracted. The result is stored in the same string-register.
In case of an empty string, the ZERO–flag is set.
srs sr2, "OPEN MIND Technologies"
sri ir3,12
xrs sr2, ir3

After the extraction, sr2 contains


"Technologies".

This instruction copies the character from the position, xcs sr?,ir?
which is defined by the integer-register ir?, from the
string register sr? to the integer-register ir3. The
numbering of the positions starts with 0. If the position
is outside the string or the character is 0, ir3 finally
contains the value 0 and the ZERO-flag is set.
srs sr2, "OPEN MIND"
sri ir2, 5
xcs sr2, ir2

At the end, ir3 has the value 77 (‘M’ = ASCII 77).

All the characters in the specified string register sr? are lwr sr?
converted to lowercase.
srs sr3, "BALL MILL"
lwr sr3

After the conversion, sr3 contains "ball mill".

All the characters in the specified string-register sr? are upr sr?
converted to uppercase.
srs sr2, "Tool"
lwr sr2

After the conversion, sr2 contains "TOOL".

Converts the string in sr? into an ASCII-string, means s2a sr?


that special characters will be replaced through ASCII-
characters with similar meaning or by blanks.

Defines the length of the character string in sr? and slen ir?,sr?
transfers the result in ir?. If the string length is 0,
then the ZERO-flag is set.

© OPEN MIND Software Technologies GmbH, 2002 Page 8


hyperPOST V4
Technical Reference

Instructions for String Registers

Searches in the defined string register sr? the first fcs sr?,ir?
occurrence of the character on which through the ASCII-
value has been defined. Should the symbol be found,
ir1 contains the position (beginning with 0). Otherwise
ZERO-flag is set.
srs sr1, "OPEN MIND"
sri ir3, 77 ; 77 = M
fcs sr1, ir3

Hereafter, ir1 contains the value 5.

Similar to fcs, however the last occurrence of the character is fcsr sr?,ir?
sought, not the first.

Removes the beginning of the defined string in sr? rls sr?,ir?


including the defined position in ir? (beginning with 0).
The results is stored in sr2. If the sr2 is empty, then an
additional ZERO-flag is set.
srs sr1, "OPEN MIND"
sri ir3, 4
rls sr1, ir3

Hereafter sr2 contains the value "MIND".

Removes the ending of the defined string in sr? including rrs sr?,ir?
from the defined position in ir? (beginning with 0). The
result is always stored in sr2. If sr2 is empty, then an
additional ZERO-flag is set.
srs sr1, "OPEN MIND"
sri ir3, 4
rrs srl, ir3

Hereafter sr2 contains the value "OPEN".

© OPEN MIND Software Technologies GmbH, 2002 Page 9


hyperPOST V4
Technical Reference

Arithmetic Operations

1.4 Arithmetic Operations

Adds the content of two integer-registers and assigns the addi ir?,ir?
result to the first integer-register ir?. If the result is 0,
the ZERO-flag is set; in case of a negative result, the
SIGN-flag is set.
sri ir3, 106
sri ir2, 222
addi ir2, ir3

After the operation, ir2 has the value 328.

Adds the value of the second float-register fr? to the value addf fr?,fr?
of the first float-register fr?. A result of 0 yields a set
ZERO-flag, a negative value, set a SIGN-flag.
srf fr1, 106.22
srf fr2, 424.08
addf fr2, fr1

As a result, fr2 is 530.3.

Subtracts from the first integer-register ir? the value of subi ir?,ir?
the second integer-register ir?. In case of a 0 result, the
ZERO-flag is set, in case of a negative result, the SIGN-
flag is set.
sri ir3, 328
sri ir1, 928
subi ir1, ir3

At the end, ir1 has the value 600.

The value of the second float-register fr? is subtracted subf fr?,fr?


from the value of the first float-register fr?. Depending
on the result (0 or negative) the ZERO- or the SIGN-flag
is set.
srf fr3, 2.718281828459
srf fr2, 3.1415926535898
subf fr2, fr3

As a result, fr2 contains the value


0.4233108251308.

© OPEN MIND Software Technologies GmbH, 2002 Page 10


hyperPOST V4
Technical Reference

Arithmetic Operations

The first integer-register ir? multiplied by the second muli ir?,ir?


integer register ir?. The ZERO- or the SIGN-flag is set in
case of 0 or a negative result respectively.
sri ir1, 28
sri ir2, -7
muli ir1, ir2

After these instructions ir1 is –196 and the


SIGN-flag is set.

Multiplies the value of the first float-register fr? by the mulf fr?,fr?
value of the second float-register fr?. In case of the
result 0, the ZERO-flag is set or in case of a negative
result, the SIGN-flag is set.
srf fr3, 2.34
srf fr2, -1.047
mulf fr2, fr3

The register fr2 now contains –2.44998 and


the SIGN-flag is set.

Divides the value of the first integer-register ir? by the divi ir?,ir?
value of the second integer-register ir?. A division by 0,
yields -2147483647,0 or 2147483647 depending on the
value of the first register ir?. According to the result, the
ZERO-flag or the SIGN-flag is set.
sri ir1, 13
sri ir2, 184
divi ir2, ir1

After divi, the register ir2 has the value 14.

The value of the first float-register fr? is divided by the divf fr?,fr?
content of the second float-register fr?. If the absolute
value of the denominator is less than 1.0e-30, the result
will depends on the sign of the first value ir?. If the
absolute value is less than 1.0e-30 the result is 0,
otherwise 9.9e30. In case of a negative result the
SIGN-flag is set, in case of 0 as result, the ZERO-flag
is set.
srf fr2, 57.2
srf fr3, 1041.04
divf fr3, fr2

After this fr3 contains 18.2.

© OPEN MIND Software Technologies GmbH, 2002 Page 11


hyperPOST V4
Technical Reference

Arithmetic Operations

The operation compares the content of two cmpi ir?,ir?


integer-registers. This instruction behaves like the
subi-instruction but without changing any register.
Only ZERO- and SIGN-flag are defined according to the
result.

This instruction compares the values of two float-registers. cmpf fr?,fr?


Without changing the register contents the instruction
works like the subf-instruction. Only ZERO-flag and
SIGN-flag are set.

© OPEN MIND Software Technologies GmbH, 2002 Page 12


hyperPOST V4
Technical Reference

Labels, Jumps and Flags

1.5 Labels, Jumps and Flags

A label defines a position from which the execution is lbl <label>


continued after a jump. The name of a label must not
contain any blanks. A jump can only reach labels within
the current procedure. If the precondition for a
conditional jumps is not fulfilled the execution continues
with the next instruction.
lbl MARKE_1

Continues execution at the given label in the current jmp <label>


procedure.
jmp MARKE_1

If the ZERO-flag is set, control is transferred to the je <label>


specified <label> within the current procedure.

If the ZERO-flag is not set, the execution of the current jne <label>
procedure is continued at the given <label>.

Execution is continued at the defined <label> within the jle <label>


current procedure if the ZERO-flag or the SIGN-flag is set.

If the SIGN-flag is set, control is transferred to the given jl <label>


<label> of the current procedure.

If the SIGN-flag is not set, the execution of the current jge <label>
procedure is continued at the defined <label>.

If neither SIGN-flag nor ZERO-flag is set, the current jg <label>


procedure continues the execution at the specified
<label>.

If the SIGN-flag is set, control is transferred to the defined js <label>


<label> within the current procedure.

© OPEN MIND Software Technologies GmbH, 2002 Page 13


hyperPOST V4
Technical Reference

Labels, Jumps and Flags

Transfers control to the given <label> within the current jz <label>


procedure if the ZERO-flag is set.

If the ERROR-flag is set, execution is continued at the jerr <label>


given <label>. The ERROR-flag is set by the function
->error.

Clears all flags which is specifed by the integer-register cflg ir?


ir?. The standard flags are specified by the values:

ZERO_FLAG =1
SIGN_FLAG =2
ERROR_FLAG = 16
sri ir3, 3
cflg ir3

After these instructions, the ZERO- and


the SIGN-flag are cleared.

© OPEN MIND Software Technologies GmbH, 2002 Page 14


hyperPOST V4
Technical Reference

Calculations

1.6 Calculations

Calculates the absolute value of the specified float register fabs fr?
fr?. The result is always stored in fr1. If the result is 0,
the ZERO-flag is set. In case of a negative result,
the SIGN-flag is set.
srf fr2, -23.4
fabs fr2

After these instructions fr1 is 23.4

Calculates the largest integer that is less than or equal floor fr?
to the value of the given float-register fr?. The result
is always stored in fr1. In case of 0 or negative result,
the ZERO- or the SIGN-flag is set.
srf fr3, -16.023
floor fr3

As a result fr1 contains –17.0.

Determines the smallest integer which is greater than ceil fr?


or equal to the value of the specified float-register fr?.
The result is always stored in fr1. In case of the result 0,
the ZERO-flag is set, in case of a negative result,
the SIGN-flag is set.
srf fr2, -64.381
ceil fr2

The result –64.0 is now the value of fr1.

This function calculates the sine function of the given sin fr?
float-register fr? as angle in degrees. fr1 always contains
the result. Depending on the result (0 or negative)
the ZERO- or the SIGN-flag is set.
srf fr2, 30.0
sin fr2

Now the register fr1 has the value 0.5.

© OPEN MIND Software Technologies GmbH, 2002 Page 15


hyperPOST V4
Technical Reference

Calculations

Calculates the cosine for the value (angle in degrees) of cos fr?
the specified float-register fr?. The result is stored in fr1.
The ZERO-flag (result is 0) or the SIGN-flag (result <0)
may be set.
srf fr3, 120.0
cos fr3

Subsequently fr1 contains –0.5.

Calculates the arcsine of the value given by the asin fr?


float-register fr?. A value outside the domain [-1;+1]
leads to an error message. Otherwise the result in
degrees is stored in fr1. In case of 0, the ZERO-flag is set.
In case of a negative angle, the SIGN-flag is set.
srf fr3, 0.866025403784439
asin fr3

Finally fr1 has the value 60.0.

Corresponding to -> asin this function calculates the acos fr?


arccosine of the value given by the float-register fr?.
srf fr2, 0.5
acos fr2

After these instructions fr1 is 60.0.

This function calculates the arctangent of the float-register atan fr?


fr?. The result is assigned to fr1 with values in the range
between -90.0° and +90.0°. The ZERO-flag is set in case
of 0°, the SIGN-flag in case of a negative angle.
srf fr3, 1.0
atan fr3

Now fr1 contains the result 45.0.

The specified float-registers fr?, fr? hold the y and x value atan2 fr?,fr?
(in this order) for the length of the opposite and adjacent
leg of the right triangle. If the absolute value of y and x
are both less than 1.0e-9 the result stored in fr1 is 0°,
otherwise values between –180.0° and 180.° may occur.
If fr1 contains 0, the ZERO-flag is set or in case of a
negative result, the SIGN-flag is set.
srf fr2, -0.5
srf fr3, -0.866025403784439
atan2 fr2, fr3

As a result fr1 holds –150.0.

© OPEN MIND Software Technologies GmbH, 2002 Page 16


hyperPOST V4
Technical Reference

Calculations

This function calculates the natural logarithm of the value ln fr?


given in fr?. In case of a positive value, the result is
stored in fr1 otherwise an error is reported. According to
the result, the ZERO- or the SIGN-flag may be set.
srf fr2, 2.71828182845905
ln fr2

At the end fr1 has the value 1.0.

This function calculates the logarithm to the base 10 of log fr?


the value given in fr1?. In case of a positive value the
result is stored in fr1, otherwise an error is reported.
According to the result the ZERO- or the SIGN-flag may
be set.
srf fr3, 0.001
log fr3

Hereby fr1 owns the value –3.0.

The exp function calculates the exponential exp fr?


(base e=2.718...) of the value specified by fr?.
The register fr1 contains the result.
srf fr2, 2.0
exp fr2

After the execution of these instructions


fr1 contains 7.38905609893065.

By this instruction the value of the function x^y is pow fr?,fr?


calculated where x is equivalent to the first float register
fr? and y is equivalent to the second fr?. In case of x=0
and y<=0 an error message occurs. If x<0 the value of y
gets rounded to an integer. The result is stored in fr1.
srf fr2, 2.0
srf fr3, 3.0
pow fr2, fr3

The result 8.0 is stored in fr1.

Computes the square root of the value specified by fr?. sqrt fr?
A negative value yields an error message. Otherwise the
result is stored in fr1. In case of the result 0,
the SIGN-flag is set.
srf fr2, 1169.64
sqrt fr2

As a result fr1 has the value 34.2.

© OPEN MIND Software Technologies GmbH, 2002 Page 17


hyperPOST V4
Technical Reference

Calculations

Each value specified by a float register fr? is interpreted hypot fr?,fr?


as length of a leg of a right triangle. From this, the
instruction calculates the length of the hypotenuse, i.e.
sqrt (x^2 + y^2). The result is stored in fr1.
srf fr2, 3.0
srf fr3, 4.0
hypot fr2, fr3

At the end fr1 contains 5.0.

© OPEN MIND Software Technologies GmbH, 2002 Page 18


hyperPOST V4
Technical Reference

Global Variables

1.7 Global Variables

Independent of the time at which a global variable is


created, it can be accessed by any procedure within the
postprocessor. A global variable is either destroyed on
request or at the end of the postprocessor.

A global integer variable with the specified name cvi <string>


<string> is created. If no global variable exists which
has the same name, the variable is initialized with 0.
cvi IntVar_1

This instruction is similar to cvi except from the register cvri sr?
argument sr? which defines the name of the new variable.
srs sr2, IntVar_1
cvri sr2

If no global float variable with the specified name cvf <string>


<string> exists, a new variable is created and set to 0.0.
cvf FloatVar_1

This instruction is similar to cvf except from the register cvrf sr?
argument sr? which defines the name of the new variable.
srs sr2, FloatVar_1
cvrf sr2

If no global string variable with the given name cvs <string>


<string> exists, a new string variable is created.
At the time the string variable is created it receives
memory of defined size. The size i.e. the length of the
string in bytes is determined by the value of the register
ir1. The minimum used length is 4. A string which is
assigned to the variable and which is longer than the
variable will be truncated. A new string variable will be
initialized with an empty string.
sri ir1, 256
cvs StrVar_1

These instructions create a string variable


of name StrVar_1 with a maximum length of 256.

© OPEN MIND Software Technologies GmbH, 2002 Page 19


hyperPOST V4
Technical Reference

Global Variables

This instruction works analogous to cvs except from cvrs sr?


getting the variable name from a string register sr?.
sri ir1, 256
srs sr2, StrVar_1
cvrs sr2

These instructions create a string variable


of a name StrVar_1 with a maximum length of 256.

If the specified integer variable <string> exists, svi <string>,ir?


the value of the register ir? is assigned to the variable.
A not existing variable leads to an error message.
sri ir3, 750
svi IntVar_1, ir3

Afterwards IntVar_1 has the value 750.

This instruction is similar to the svi except from the svri sr?,ir?
register argument sr? which defines the name of the
variable.
sri ir3, 750
srs sr2, IntVar_1
svri sr2, ir3

Finally IntVar_1 contains the value 750.

If the specified float variable <string> exists, svf <string>,fr?


the value of the register fr? is assigned to the variable.
A not existing variable leads to an error message.
srf fr2, 3.1315
svf FloatVar_1, fr2

Afterwards FloatVar_1 has the value 3.1315.

This instruction works analogous to svf except from the svrf sr?,fr?
register argument sr? which defines the name of the
variable.
sri fr2, 3.1315
srs sr2, FloatVar_1
svrf sr2, fr2

Finally FloatVar_1 contains the value 3.1315.

© OPEN MIND Software Technologies GmbH, 2002 Page 20


hyperPOST V4
Technical Reference

Global Variables

If the specified string variable <string> exists, the svs <string>,sr?


content of the register sr? is copied to the variable.
If the string size of sr? exceeds the size of the variable,
the string is truncated. A not existing variable leads to an
error message.
srs sr3, "OPEN MIND"
svs StrVar_1, sr3

This instructions works analogous to svs except from the svrs sr?,sr?
register argument sr? which defines the name of the
variable.
srs sr2, StrVar_1
srs sr3, "OPEN MIND"
svrs sr2, sr3

Finally StrVar_1 contains "OPEN MIND".

If the integer variable <string> is found, the specified lvi ir?,<string>


register ir? is set to the value of the variable. A not
existing variable leads to an error message.
lvi ir2, IntVar_1

Analogous to lvi, this instruction leads the value of the lvri ir?,sr?
variable which is specified by sr? into the integer register
ir?.
srs sr2, InvVar_1
lvri ir2, sr2

Finally ir2 contains the value of IntVar_1.

The value of the float variable <string> is assigned to lvf fr?,<string>


fr?. A not existing variable leads to an error message.
lvf fr2, FloatVar_1

Analogous to lvi, this instruction loads the value of the lvrf ir?,sr?
variable which is specified by sr? into the float register
fr?.
srs sr2, FloatVar_1
lvrf fr3, sr2

At the end fr3 has the value of FloatVar_1.

© OPEN MIND Software Technologies GmbH, 2002 Page 21


hyperPOST V4
Technical Reference

Global Variables

The string content of the variable <string> will be copied lvs sr?,<string>
to sr?. In case of a not existing variable an error is
messaged.
lvs sr2, StrVar_1

Analogous to lvs, this instruction loads the value of the lvrs sr?,sr?
string variable which is specified by the second argument
sr? into the string register sr? defined by the first
argument.
srs sr1, StrVar_1
lvrs sr2, sr1

An existing integer variable <string> will be removed. dvi <string>


dvi IntVar_1

Analogous to dvi, this instruction destroys the global dvri sr?


integer variable which is specified by the content of sr?.
srs sr2, IntVar_1
dvri sr2

An existing float variable <string> will be removed. dvf <string>


dvf FloatVar_1

Analogous to dvf, this instruction destroys the global float dvrf sr?
variable which is determined by sr?.
srs sr2, FloatVar_1
dvrf sr2

If the string variable <string> exists, it will be destroyed. dvs <string>


dvs StrVar_1

Analogous to dvs, this instruction destroys the global dvrs sr?


string variable which is referenced by sr?.
srs sr2, StrVar_1
dvrs sr2

© OPEN MIND Software Technologies GmbH, 2002 Page 22


hyperPOST V4
Technical Reference

Local Variables

1.8 Local Variables

The scope of a local variable is the procedure within which


the variable has been created. Even without a call to
destroy instruction, a local variable is removed at the end
of the procedure.

If a local integer variable with the defined name <string> cli <string>
does not yet exist, the variable is created and initialized
with 0.
cli IntVar_L1

If not existing the local float variable <string> is created clf <string>
and set to 0.
clf FloatVar_L1

If no local string variable with the given name cls <string>


<string> exists, a new string variable is created.
At the time the string variable is created it receives
memory of defined size. The size, i.e. the length of the
string in bytes is determined by the value of the register
ir1. The minimum used length is 4. A string which is
assigned to the variable and which is longer than the
variable will be truncated. A new string variable is
initialized with an empty string.
sri ir1, 128
cls StrVar_L1

The value of ir? is assigned to the local integer variable sli <string>,ir?
<string>. An error message is generated if the specified
variable cannot be found.
sri ir3, 328
sli IntVar_L1, ir3

After these instructions IntVar_L1 has


the value 328.

The local float variable <string> is set to the value of fr?. slf <string>,fr?
If the variable is missing an error message will be
generated.
srf fr2, 8.125
slf FloatVar_L1, fr2

© OPEN MIND Software Technologies GmbH, 2002 Page 23


hyperPOST V4
Technical Reference

Local Variables

If the specified local string variable <string> exists, sls <string>,sr?


the content of the register sr? is copied to the variable.
If the string size of sr? exceeds, the size of the variable
string is truncated. A not existing variable leads to an
error message.
srs sr1, "OPEN MIND"
sls StrVar_L1, sr1

The register ir? is set to the value of the local integer lli ir?,<string>
variable <string>. A not existing variable leads to an
error is message.
lli ir3, IntVar_L1

The value of the local float variable <string> is assigned llf fr?,<string>
to fr?. In case of a not existing variable, an error is
messaged.
llf fr1, FloatVar_L1

The value of the local string variable <string> is copied lls sr?,<string>
to the string register sr?. If the variable does not exist,
an error message is output.
lls sr2, StrVar_L1

This instruction removes the local integer variable, the dli <string>
name of which is determined by <string>.
dli IntVar_L1

The local float variable which has the name <string> is dlf <string>
destroyed.
dlf FloatVar_L1

The local string variable with the specified name <string> dls <string>
is destroyed.
dls StrVar_L1

© OPEN MIND Software Technologies GmbH, 2002 Page 24


hyperPOST V4
Technical Reference

Tests for Existence

1.9 Tests for Existence

This instruction tests whether a procedure with the given xpr <string>
name <string> exists. If the procedure is not found, the
ZERO-flag is set.
xpr "changeFrame"

This instruction looks for a procedure which has the xrpr sr?
name specified by sr?. If the procedure does not exist,
the ZERO-flag is set.
srs sr2, "changeFrame"
xrpr sr2

Evaluates the existence of a function <string>. xfc <string>


If the function is missing, the ZERO-flag is set.
xfc "frmchck"

The function which is specified through sr? is searched for xrfc sr?
and in case of failure, the ZERO-flag is set.
srs sr2, "frmchck"
xrfc sr2

The existence of a global integer variable <string> is xvi <string>


checked. If the variable is missing, the ZERO-flag is set.
xvi IntVar_1

The global integer variable defined by sr? is searched for xvri sr?
and if it cannot be found, the ZERO-flag is set.
srs sr2, IntVar_1
xvri sr2

This instruction tests the existence of the global float xvf <string>
variable <string>. If the variable doesn´t exist, the
ZERO-flag is set.
xvf FloatVar_1

© OPEN MIND Software Technologies GmbH, 2002 Page 25


hyperPOST V4
Technical Reference

Tests for Existence

If the global float variable which is determined through xvrf sr?


sr? is not defined, the ZERO-flag is set.
srs sr2, "FloatVar_1"
xvrf sr2

The existence of the global string variable <string> is xvs <string>


tested and in case of a failure, the ZERO-flag is set.
xvs StrVar_1

If the search for the global string variable specified by sr? xvrs sr?
has no success, the ZERO-flag is set.
srs sr1, StrVar_1
xvrs sr1

© OPEN MIND Software Technologies GmbH, 2002 Page 26


hyperPOST V4
Technical Reference

Functions

2. Functions

2.1 OMA-Files and OMA-Procedures

load_cfg (Load a configuration file)


load_oma (Load an additional postprocessor (OMA) file)
ren_proc (Rename a procedure)
rem_proc (Remove a procedure from memory)

2.2 Extended Data Access

jld_find_string (Get joblist value as string)


jld_find_int (Get joblist value as integer)
jld_find_float (Get joblist value as float)

2.3 Flow Control

pwakeup (Suspend execution till a procedure call)


psuspend (Suspend call of a single procedure)
preset (Reactivate a single procedure)
cw_arc (Approximate a clockwise arc)
ccw_arc (Approximate a counterclockwise arc)

2.4 Output

error (Message output)


fopen (Open a file for writing)
fwrite (Write to file)
fstatus (Provide information of an open file)
fclose (Close a file)
fremove (Remove a file)
fcopy (Append file to another file)
fcopyC (Insert file using "comment")
fcopyN (Insert file using "literal")
Nincrement (Increment block number)
ltos (Convert an integer to string)
ftos (Convert a float to a string)
chartranslate (Convert string to ASCII, uppercase,...)
pushcmnt (Append string to internal string list)
popcmnt (Get string from internal string list)
clrcmnt (Remove string from internal string list)

2.5 Repetitions and Sub-Programs (POF)

blkopen (Start a block definition)


blkclose (End a block definition)
blkset (Load a block definition)
subpopen (Start a subprogram definition)
subpclose (End a subprogram definition)
subpset (Load s subprogram definition)
blkexist (Check existence of block/subprogram definition)
blkrem (Remove a single block/subprogram definition)
blkremall (Remove all block/subprogram definition)

© OPEN MIND Software Technologies GmbH, 2002 Page 27


hyperPOST V4
Technical Reference

Functions

2.6 Repetitions and Sub-Programs (NC)

open_pdb (Open temporary program database)


close_pdb (Close program database)
open_pds (Open a new temporary program dataset)
add2pds (Add string to open program dataset)
close_pds (Close latest opened program dataset)
sizeof_pds (Set size of latest opened program dataset)
find_pds (Search for dataset in program database)
store_pds (Store temporary dataset in program database)
add_filter (Register a value or a procedure)
rem_filter (Remove single filter)
rem_all_filter (Remove each filter)
xfilter (Control the existence of the filter)

2.7 Interpolation

ipopen (Open a list of interpolation points)


ippnt (Add a point to interpolation list)
ipclose (Close a list of interpolation points)

2.8 Zero Point Table

reset_zero_offsets (Remove any defined zero point)


define_zero_offset (Define a zero point)

2.9 Miscellaneous

g1_angle (Calculate angle between line and Z-direction)

© OPEN MIND Software Technologies GmbH, 2002 Page 28


hyperPOST V4
Technical Reference

OMA-Files and Procedures

2.1 OMA-Files and Procedures

By means of this function it is possible to load the load_cfg


configuration file defined by sr1. A configuration file (sr1)
is a text file, which contains definition of the form

"<name>": = "<type>:<value>"

Possible values for the types are:

I for integer
B for boolean
F for float and
S for string

Values for boolean variables are "true" and "false".


For each valid definition this function creates a global
variable with the given name and the defined value. In
case of a boolean value, an integer-variable is created.
The boolean value "false" is represented by 0 and the
value "true" by 1.

The assignment
"number" := "I:-535"
has the same effect as the OMA-instructions
cvi number
sri ir1, -535
svi number, ir1

srs sr1, "sample.def"


call load_cfg

This function load the OMA data which is defined by sr1. load_oma
In case of an equal name, the old procedure is (sr1)
overwritten.

The procedure with the name of sr2 is renamed to the ren_proc


name contained in sr1. (sr1, sr2)

The procedure with name defined by sr1 is removed. rem_proc


(sr1)

© OPEN MIND Software Technologies GmbH, 2002 Page 29


hyperPOST V4
Technical Reference

Extended Data Access

2.2 Extended Data Access

Extended Data Access means access to informations


which are not part of the POF standard content and
which are therefore beyond the variables provided
through hyperPOST.

The extended data access is realized through data


collection during pass 1 of postprocessing and new
calls which allow random access on these informations.

Collected data are stored as strings and ordered by jobs.


The data contain any information which is part of layer 1
(configuration layer) and some specific additional values.

One special value is ppCycleFct which is identical


cycleFct ( ) of layer 10.

Access on a value which is used by a defined job is


possible by one of the following calls:

The value in sr1 defines the name of the parameter. jld_find_string


ir2 specifies the job as offset to the job which is (sr1, ir2 : sr2)
currently post processed e.g. ir2=0 means the current
job, ir2=-1 the previous job or ir2=1 the next job.

In case of success sr2 contains the string value of the


parameter otherwise the ZERO-flag is set.

The value in sr1 defines the name of the parameter. jld_find_int


ir2 specifies the job as offset to the job which is (sr1, ir2 : ir3)
currently post processed e.g. ir2=0 means the current
job, ir2=-1 the previous job or ir2=1 the next job.

In case of success ir3 contains the integer value of the


parameter otherwise the ZERO-flag is set.

The value in sr1 defines the name of the parameter. jld_find_float


ir2 specifies the job as offset to the job which is (sr1, ir2 : fr1)
currently post processed e.g. ir2=0 means the current
job, ir2=-1 the previous job or ir2=1 the next job.

In case of success fr1 contains the float value of the


parameter otherwise the ZERO-flag is set.

© OPEN MIND Software Technologies GmbH, 2002 Page 30


hyperPOST V4
Technical Reference

Flow Control

2.3 Flow Control

This function suspends the execution of all OMA- pwakeup


procedures. Just the call of the procedure defined by sr1 (sr1)
reactivates all procedures.
srs sr1, "closeNC"
call pwakeup

This function suspends the execution of the procedure psuspend


defined by sr1. (sr1)

This function reactivates the procedure defined by sr1. preset


(sr1)

This function approximates the movement on a clockwise cw_arc


arc by a sequence of linear movements. The lines are (sr3,fr1)
output through calls to the procedure lineTo. The
approximation is controlled by the normalvector (sr3)
and the chord tolerance (fr1). As coordinates for start-,
center and end point, the values of the OMA-variables
current_x, current_y, current_z, cx, cy, cz, tx, ty, tz
are used.
srs sr3, "0,0,1"
srf fr1, 0.001
call cw_arc

According to cw_arc for a counterclockwise arc. ccw_arc


(sr1)

© OPEN MIND Software Technologies GmbH, 2002 Page 31


hyperPOST V4
Technical Reference

Output

2.4 Output

Using this function it is possible to output the text error


contained in sr1 through the message #931 of the (sr1)
SM-processor.
srs sr1, "...error in..."
call error

This function opens a file for reading or writing. At the fopen


time this function is called, the register sr1 has to contain (sr1, ir1 : ir2)
the name of the file and ir1 the precise mode for the
opening of the file. The mode is a combination of:

1 read
2 overwrite an existing file
4 append in case of an existing file
16 binary (default: text)
256 write

The standard value is 256+2=258 for a file to be opened


for writing and overwriting an existing file. After opening
the file, ir2 contains a file handler which is necessary for
further access on the file.
srs sr1, "tmp/example.dat"
sri ir1, 258
call fopen
cvi fileHandle
svi fileHandle, ir2

This function writes the content of register sr1 to the file fwrite
which is referenced by the file handle in ir1. (sr1, ir1)
srs sr1, "OPEN MIND\n"
lvi ir1, fileHandle
call fwrite

This function provides information on the size of an open fstatus


file. In case of a valid file handle, their function returns (ir1 : ir2,ir3)
the number of lines in ir2 and the size in bytes in ir3
which is given by ir1.

If ir1 contains no valid file handle, ir2 and ir3 are set to
–1.

© OPEN MIND Software Technologies GmbH, 2002 Page 32


hyperPOST V4
Technical Reference

Output

Closes the file which is referenced by the handle in ir1. fclose


Finally ir1 contains the value 0. (ir1 : ir1)
lvi ir1, fileHandle
call fclose
svi fileHandle, ir1

A call to this function removes the file defined by sr1. fremove


(sr1)
srs sr1, "tmp/example.dat"
call fremove

This function copies the content of the file defined by sr1 fcopy
to the file defined by sr2. If the target file already exists, (sr1, sr2 : ir3)
the content of the first file is appended.

At the end, the register ir3 contains information about the


success:

0 File copied
-1 Failed to access source file
-2 Failed to access target file
srs sr1, "source.dat"
srs sr2, "dest.dat"
call fcopy

This function copies the content of the file defined by sr1 fcopyC
to the current NC file by means of the procedure comment. (sr1 : ir3)

At the end, the register ir3 contains information about the


success:
0 File copied
-1 Failed to access source file
-3 Failed to execute "comment"
srs sr1, "source.dat"
call fcopyC

This function copies the content of the file defined by sr1 fcopyN
to the current NC file by means of the procedure literal. (sr1 : ir3)

At the end, the register ir3 contains information about the


success:
1 File copied
-1 Failed to access source file
-3 Failed to execute "literal"
srs sr1, "source.dat"
call fcopyN

© OPEN MIND Software Technologies GmbH, 2002 Page 33


hyperPOST V4
Technical Reference

Output

This function requires the existence of the variables Nincrement


N, NO dN and Nmax. The following operation will be
performed:

N = N + dN;
If ( N > Nmax) N = NO;

i.e. after the execution of this function the variable N


contains the next possible number.

This function converts the integer-value of ir3 to a ltos


string in sr2. The format to be used for the conversion (ir3, sr1 : sr2)
is defined by sr1. Beside the actual format, the string
may contain additional characters. The minimum format
is %ld. For a fixed mantissa n the format %nld may be
used and leading zeros are controlled by %0nld.
sri ir3, 328
srs sr1, "N%06ld"
call ltos

After these instructions sr2 contains


"N000328".

The value which is contained in the float register fr1 ftos


is translated into a string. The format to be used is (fr1, sr1 : sr2)
defined by sr1. The result will be stored in sr2. The
format always begins with d, and end with ‘!’. Between
these, each separated by ‘;’, the following informations
can be defined:

+ Always issue decimal point.


0[1][e] Leading (l) and/or (e) zeros are output.
e Indicates how many after comma position in
each case must be defined.
f Factor in which every value must be multiplied
before the conversion.
() Defined the decimal separation sign, the
common line up of the ´.´ should be used.
srf fr1, 23.04
srs sr1, "d5,4;+;0l;e3;f2(*)!"
call ftos

After this sr2 contains the result "+00046*080".

srf fr1, 605.28


srs sr1, "d4,3;+;0le;()!"
call ftos

After this sr2 contains the value "0605280".

© OPEN MIND Software Technologies GmbH, 2002 Page 34


hyperPOST V4
Technical Reference

Output

This function is designed to bring an arbitrary string into chartranslate


a form suitable for NC output. The type of translation (sr1 : sr1)
which has to be applied to the content of sr1 is specified
by the integer variable "charTranslate":

>0 Every special character (>127) is replaced by


one or more ASCII characters. If there exists
no meaningful translation the blank is used.
2 After ASCII translation any character is
converted to uppercase.
3 After ASCII translation any character is
converted to lowercase.

Appends the string contained in sr3 to an internal string pushcmnt


list which can be used to delay the output of certain values (sr3, ir3 : -)
like comments. The string is stored together with the
type information of ir3. The meaning of type information
is left to the user but it is important to know, that a later
type recognition by popcmnt or clrcmnt compares not
the values but looks for common set bits.

This function looks for the first pushed string popcmnt


in the internal list which has a type fitting for (ir3 : sr3,ir2)
ir3 (--> pushcmnt). In case of success the result is
stored in ir3 (value) and ir2 (type) and the entry is
removed from the list. If no string can be found, the
ZERO-flag is set.

Removes all entries from the internal string list which has clrcmnt
a type fitting to ir3 (--> pushcmnt) (ir3 : -)

© OPEN MIND Software Technologies GmbH, 2002 Page 35


hyperPOST V4
Technical Reference

Repetitions and Sub-Programs (POF)

2.5 Repetitions and Sub-Programs (POF)

The variables which are used by the following functions


will be created by the functions if necessary.

Stores the next block number N as the start of the block blkopen
which may be repeated. The block ID is to be defined in (ir3)
ir3.

Closes the definition of a block. The ID of the block has blkclose


to be defined by ir3. (ir3)

This function loads the definition of a block, i.e. the block blkset
numbers into the integer variables N_start and N_end. (ir3)
The ID of the block is given through ir3.

Remark: If necessary the variables N_start and N_end


are created by this function.

Stores the number of a subprogram (SP) for the block subpopen


determined by ir3. This is done by (ir3)

1. moving the number from the integer variable


SP_next to SP_active and
2. calculating the number for the next subprogram.
This calculation is done by adding SP_step to
SP_next.

Closes the definition of the block for a subprogram and subpclose


updates the counter for subprograms SP_counter. (ir3)
The block ID is to be given by ir3.

This functions loads the number of the subprogram stored subpset


for the given block ir3 into the variable SP_active. (ir3)

© OPEN MIND Software Technologies GmbH, 2002 Page 36


hyperPOST V4
Technical Reference

Repetitions and Sub-Programs (POF)

This function tests, whether there is a block definition blkexist


with the ID given by ir3. The block may be used for (ir3)
subprograms or a program part repetition as well. If
the block does not exist or is not completely defined,
the ZERO-flag is set.

The definition for the block specified by ir3 is removed. blkrem


(ir3)

This functions removes any existing block definition. blkremall


(ir3)

© OPEN MIND Software Technologies GmbH, 2002 Page 37


hyperPOST V4
Technical Reference

Repetitions and Sub-Programs (NC)

2.6 Repetitions and Sub-Programs (NC)

The basic idea behind this set of functions is that the NC


file itself is the most reliable and therefore best basis for
the recognition of parts which can be repeated. The
following functions provide the possibility to store NC code
in a kind of database including a temporary dataset which
can be used to find current output in the previous output.

Opens the program database. A successful opening for open_pdb


the program database is the precondition for the use of
pds-functions. When the function fails, the ZERO-flag is
set.

Closes the program database. close_pdb

Opens the temporary dataset. Since 2.00.261 of open_pds


omPRun32.dll up to four temporary datasets can (-:ir3)
be open at the same time. By that, it is possible to
create complex sub-programs.

Information about the success is returned in ir3:


0 dataset opened
-1 error in initialization
-2 failed to open a necessary file
-3 too many open datasets

In case of an error, the ZERO-flag is set.

Adds the content of sr2 to the content of the latest add2pds


opened dataset. In case of an error the ZERO-flag is set. (sr2)

Closes the latest opened dataset. In case of success the close_pds


size of the dataset is returned in ir3. (-:ir3)

© OPEN MIND Software Technologies GmbH, 2002 Page 38


hyperPOST V4
Technical Reference

Repetitions and Sub-Programs (NC)

Returns the size of the latest opened and not yet closed sizeof_pds
dataset in ir3. In case of failure ir3 is set to –1 and the (-:ir3)
ZERO-flag is set.

Searches the database for the content of the latest find_pds


dataset. If no dataset was closed just before the call to (-:sr2)
find_pds the dataset is closed before starting the search.

If the database already contains an entry with the same


content as the temporary dataset, the name of the entry
is returned in sr2 otherwise the ZERO-flag is set.

When find_pds failed to find the new dataset, this store_pds


function will store the new dataset with the name defined (sr2)
by sr2 in the database. The name can be any unique
string with a maximum length of 62 characters and may
contain information about the NC call to the according
sub-program.

In case of an error, the ZERO-flag is set.

© OPEN MIND Software Technologies GmbH, 2002 Page 39


hyperPOST V4
Technical Reference

Repetitions and Sub-Programs (NC)

These functions so far explains and provides the


fundamental tools to store NC data and recognize
repetitions. But so far there is no aid for the selection of
the relevant data which have to be stored in the database.

The following functions can make it easier to store


selected informations in a dataset. The idea is not to look
at the output but the input of a post processor, i.e. the
values which are set and the procedures of a post
processor which are called by an executing program like
omPRun32.dll or hcpc32.exe.

This function registers a value or a procedure which has to add_filter


be observed. The according value or procedure is (sr2 : -)
specified in sr2 by a string which consists of the object
type:

I integer variable
F float variable
S string variable
P procedure

and the name of the object separated by `:´. In case of


an error, the ZERO-flag is set.
srs sr2, "P:moveTo"
call add_filter

srs sr2, "F:tx"


call add_filter

These two calls register the procedure moveTo


and the float variable tx for the target x-value.
Hereafter, each external call to moveTo and each
external change of tx including the new value is
stored in the currently open temporary dataset.

This function removes a single filter previously defined by rem_filter


add_filter from the observation list. The filter which has (sr2 : -)
to be removed is specified by sr2 the same way as for
add_filter. In case of an error or if the filter is not
defined, the ZERO-flag will be set.
srs sr2, "F:tx"
call rem_filter

© OPEN MIND Software Technologies GmbH, 2002 Page 40


hyperPOST V4
Technical Reference

Repetitions and Sub-Programs (NC)

Removes each filter previously defined by add_filter. rem_all_filter


(- : -)

This function controls the existence of the filter specified in xfilter


sr2. If the filter was not defined by add_filter or if it was (sr2 : -)
removed meanwhile by rem_filter or rem_all_filter, the
ZERO-flag is set.
srs sr2, "F:cy"
call xfilter
jz NO_FILTER_FOR_CY

© OPEN MIND Software Technologies GmbH, 2002 Page 41


hyperPOST V4
Technical Reference

Interpolation

2.7 Interpolation

This function replaces the procedures setFeedrate, ipopen


setFeedrateZ and lineTo by new internal procedures.
These procedures write the toolpath as a contour which
consists of points in an OMX-file. The path of this file
consists of the current OMApath and the name
"ippoints.omx". To write the data the new procedure
lineTo calls the OMA-function ippnt.

Apart from internal actions this function writes the value ippnt
of tx, ty and tz point object to the interpolation OMX-file.

This function ends the data redirection which was ipclose


previously started by ipopen and performs the data
evaluation. For that purpose

1. all created temporary OMA-procedures are


removed;
2. filenames (pathes) and additional informations
for an interpolation cycle are written to a
PCF-file (OMApath + "ippoints.pcf");
3. the interpolation cycle is called (The pattern
for this call is taken from the OMA-variable
ipCycle);
4. the POF-file, which was generated by the
interpolation cycle, is registered as data
source at the internal POF-administration of
the postprocessor executable.

© OPEN MIND Software Technologies GmbH, 2002 Page 42


hyperPOST V4
Technical Reference

Zero Point Table

2.8 Zero Point Table


(hyperFACT ONLY!)

These functions for the support of zero point tables are


intended to be used within the context of the procedures
openZeroOffsetTable, defineZeroOffset, and
closeZeroOffsetTable.

The definition of a zero point consists of a zero_pnt_id


and a set of possible values. The ID is used to sort the
defined zero points in an increasing order. The content
and the meaning of these values is defined by the
postprocessor which makes use of the definition.

This function removes any zero point which was previously reset_zero_offsets
defined by the function def_zero_offset.
call reset_zero_offsets

This function adds or overwrites a zero point. def_zero_offset


The unique ID of the zero point is defined by the integer (sr3, fr1)
variable zero_pnt_id. Position and angles of the zero
point can be defined by the float variables zero_pnt_x,
zero_pnt_y, zero_pnt_z and zero_pnt_a, zero_pnt_b
and zero_pnt_c. The complete definition of a zero point
is available in the procedure defineZeroOffset.
sri ir3, 54
svi zero_pnt_id, ir3
srf fr1, 100
srf fr2, 50
srf fr3, -5
svf zero_pnt_x, fr1
svf zero_pnt_y, fr2
svf zero_pnt_x, fr3
srf fr1, 0
svf zero_pnt_a, fr1
svf zero_pnt_b, fr1
svf zero_pnt_c, fr1
call def_zero_offset

© OPEN MIND Software Technologies GmbH, 2002 Page 43


hyperPOST V4
Technical Reference

Miscellaneous

2.9 Miscellaneous

This function calculates the angle between the line which is g1_angle
defined by current position (current_x, current_y, current_z) (- : fr1)
and target position (tx, ty, tz) and the positive z-axis.
The result is stored in fr1.

© OPEN MIND Software Technologies GmbH, 2002 Page 44


hyperPOST V4
Technical Reference

Index

3. Index

acos (instr) dvrs (instr) lvf (instr)


add2pds (fct) dvs (instr) lvi (instr)
add_filter (fct) error (fct) lvrf (instr)
addf (instr) exp (instr) lvri (instr)
addi (instr) fabs (instr) lvrs (instr)
adds (instr) fclose (fct) lvs (instr
asin (instr) fcopy (fct) lwr (instr)
atan (instr) fcopyC (fct) mov (instr)
atan2 (instr) fcopyN (fct) move (fct)
blkclose (fct) fcs (instr) mulf (instr)
blkexist (fct) fcsr (instr) muli (instr)
blkopen (fct) find_pds (fct) Nincrement (fct)
blkrem (fct) floor (instr) open_pdb (fct)
blkremall (fct) fopen (fct) open_pds (fct)
blkset (fct) fremove (fct) popcmnt (fct)
ccw_arc (fct) fstatus (fct) pow (instr)
ceil (instr) ftos (fct) preset (fct)
cflg (instr) fwrite (fct) psuspend (fct)
chartranslate (fct) g1_angle (fct) pushcmnt (fct)
clf (instr) hypot (instr) pwakeup (fct)
cli (instr) ipclose (fct) rem_all_filter (fct)
close_pdb (fct) ipopen (fct) rem_filter (fct)
close_pds (fct) ippnt (fct) rem_proc (fct)
clrcmnt (fct) je (instr) ren_proc (fct)
cls (instr) jerr (instr) reset_zero_offsets (fct)
cmpf (instr) jg (instr) rls (instr)
cmpi (instr) jge (instr) rrs (instr)
cmps (instr) jl (instr) s2a (instr)
cos (instr) jld_find_float (fct) sin (instr)
cvf (instr) jld_find_int (fct) sizeof_pds (fct)
cvi (instr) jld_find_string (fct) slen (instr)
cvrf (instr) jle (instr) slf (instr)
cvri (instr) jmp (instr) sli (instr)
cvrs (instr) jne (instr) sls (instr)
cvs (instr) js (instr) sqrt (instr)
cw_arc (fct) jz (instr) srf (instr)
def_zero_offset (fct) lbl (instr) sri (instr)
divf (instr) llf (instr) srs (instr)
divi (instr) lli (instr) store_pds (fct)
dlf (instr) lls (instr) subf (instr)
dli (instr) ln (instr) subi (instr)
dls (instr) load_cfg (fct) subpopen (fct)
dvf (instr) load_oma (fct) subpclose (fct)
dvi (instr) log (instr) subpset (fct)
dvrf (instr) ltos (fct) svf (instr)
dvri (instr)

© OPEN MIND Software Technologies GmbH, 2002 Page 45


hyperPOST V4
Technical Reference

Index

svi (instr)
svrf (instr)
svri (instr)
svrs (instr)
svs (instr)
tls (instr)
trs (instr)
upr (instr)
xcs (instr)
xfc (instr)
xfilter (fct)
xls (instr)
xpr (instr)
xrfc (instr)
xrpr (instr)
xrs (instr)
xvf (instr)
xvi (instr)
xvrf (instr)
xvri (instr)
xvrs (instr)
xvs (instr)

© OPEN MIND Software Technologies GmbH, 2002 Page 46

You might also like