Description
Reads the actual feed rate and the actual rotational speed of the spindle.
The spindle speed, which can be read in this function, is one of the main spindle that is dispalyed in the position screen of the CNC.
Universal Fanuc Driver
Fanuc Focas Library CD
Declaration
Arguments
Specify the library handle. See "Library handle" for details.
Specify the data type.
0 | : | feed rate |
1 | : | spindle speed (The spindle function is not provided in Power Mate i-H.) |
-1 | : | all |
Pointer to the ODBSPEED structure for the speed data. The ODBSPEED structure is as follows.
typedef struct odbspeed {
SPEEDELM actf; /* feed rate */
SPEEDELM acts; /* spindle speed */
} ODBSPEED ;
- actf
- SPEEDELM structure for the feed rate
- acts
- SPEEDELM structure for the spindle speed
And the SPEEDELM structure is as follows.
typedef struct speedelm {
long data; /* speed data */
short dec; /* place of decimal point*/
short unit; /* unit */
short reserve; /* */
char name; /* name */
char suff; /* subscript of name */
} SPEEDELM;
- data
- Speed data
- dec
- Place of decimal point
- unit
- Unit
0 : mm/min 1 : inch/min 2 : rpm 3 : mm/rev 4 : inch/rev - name
- Name (ASCII)
Feed rate : 'F' Spindle speed : 'S' - suff
- Subscription of name (ASCII)
When the multi spindle control function is available, in case of the spindle speed, the selected position coder number (ASCII format) is stored.
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 |
---|---|
(4) |
Type of data (type) is wrong. |
As for the other return codes or the details, see "Return status of Data window function"
CNC option
And this function is related to 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.
Example(C Language)
The following program reads the feed rate and the spindle speed, and displays them.
#include "fwlib32.h"
void example( void )
{
ODBSPEED speed;
short ret = cnc_rdspeed(h, -1, &speed);
if(!ret) {
printf("%c = %d\n", speed.actf.name, speed.actf.data);
printf("%c = %d\n", speed.acts.name, speed.acts.data);
}
}
Example(C#)
The following program reads the feed rate and the spindle speed, and displays them.
class example
{
public void sample()
{
Focas1.ODBSPEED speed = new Focas1.ODBSPEED();
short ret = Focas1.cnc_rdspeed(h, -1, speed);
if (ret == Focas1.EW_OK)
{
Console.WriteLine("{0} = {1}", (char)speed.actf.name, speed.actf.data);
Console.WriteLine("{0} = {1}", (char)speed.acts.name, speed.acts.data);
}
}
}