Description
Read the manual overlapped motion value based on the input unit and based on the output unit.
All axes can be read at a time by specifying ALL_AXES for "axis". (It is impossible to read each axis) In that case, an manual overlapped motion value of each axis is stored in the data array of IODBOVL.
The decimal point position of the manual overlapped motion value can be acquired in the cnc_getfigure function.
Universal Fanuc Driver
Fanuc Focas Library CD
Declaration
Arguments
Specify the library handle. See "Library handle" for details.
Specify axis number to read.
Only all axes specification can be specified.
ALL_AXES | : | for all axes(ALL_AXES : -1) |
Specify the length of the data block(size of IODBOVL structure)
IODBOVL
n = Maximum controlled axes
(The data for current controlled axes are valid.)
Pointer to the IODBOVL structure including the manual overlapped motion value of the controlled axes. The IODBOVL structure is as follows.
typedef struct iodbovl {
short datano; /* Not used. */
short type; /* Axis number. */
long data[2][MAX_AXIS]; /* Manual overlapped motion value. */
} IODBOVL ; /* MAX_AXIS is the maximum controlled axes. */
- datano
- Not used
- type
- Axis number(only ALL_AXES)
- data
- manual overlapped motion value
Input unit : data[0][0] ,.., data[0][n-1] Output unit : data[1][0] ,.., data[1][n-1]
Return
EW_OK is returned on successful completion, otherwise any value except EW_OK is returned.
The major error codes are as follows.
Return code | Meaning/Error handling |
---|---|
(2) |
Size of IODBOVL structure(length) is illegal. |
(4) |
The specification of axis number (axis) is improper. |
(6) |
The handle interrupt function and the extended driver/library function are necessary. |
As for the other return codes or the details, see "Return status of Data window function"
CNC option
This function need the following CNC option.
For HSSB connection,
For Ethernet connection,
The Ethernet function and the extended driver/library function are necessary. However, in case of Series 16i/18i/21i-B, 0i-B/C/D/F, Series 30i and PMi-A, the required CNC option is as follows. When Embedded Ethernet is used,above two optional functions are not required.
When Ethernet board is used,
- only Ethernet function is required.
CNC parameter
This function is not related to CNC parameter.
CNC mode
This function can be used in any CNC mode.
Available CNC
0i-A | 0i-B/C(Note) | 0i-D | 0i-F | 15 | 15i | 16 | 18 | 21 | 16i-A | 18i-A | 21i-A | 16i-B | 18i-B | 21i-B | 30i-A | 30i-B | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
M (Machining) | |||||||||||||||||
T (Turning) | - | ||||||||||||||||
LC (Loader) | - | - | - | - | - | - | - | - |
0i-D | 0i-F | 16i | 18i | 30i-A | 30i-B | |
---|---|---|---|---|---|---|
P (Punch press) | - | |||||
L (Laser) | - | - | - | - | ||
W (Wire) | - | - |
Power Mate i-D | |
Power Mate i-H | |
Power Motion i-A | O |
"O" | : | Both Ethernet and HSSB | |
"E" | : | Ethernet | |
"H" | : | HSSB | |
"X" | : | Cannot be used | |
"-" | : | None |
Note) 0i-C does not support the HSSB function.
See Also
Example(C Language)
The following program reads the manual overlapped motion value for all axes
and displays them. (in case of "mm input" and "IS-C".)
#include "fwlib32.h"
double double_val ;
IODBOV movrlap ;
short ret ;
short i ;
ret = cnc_rdmovrlap(h, ALL_AXES, 4+4*2*MAX_AXIS, &movrlap);
for ( i = 0 ; i < MAX_AXIS ; i++ ) {
double_val = (double)movrlap.data[i]/10000 ;
printf("axis[%d]:%8.4f\n", i, double_val);
}
Example(C#)