Description
Reads the alarm history data.
Please use this function instead of cnc_rdalmhistry for Series 30i, 0i-D/F and PMi-A.
The unit of one alarm history data is called a record.
The operation history data and the alarm history data are automatically recorded on the CNC. When these data are accessed, it is necessary to temporarily stop sampling on the CNC. Therefore, it is necessary to execute "Stop logging operation history data"(cnc_stopophis) before this function is used.
And it is necessary to execute "Restart logging operation history data" (cnc_startophis) after reading to make the sampling stop time of the history data as short as possible.
The start/end record number means the relative number uesd at reading the alarm history data. These record numbers are valid only at the period from the execution of "Stop logging operation history data" until the execution of "Restart logging operation history data".
In case of 0i-D, the alarm history data in the path specified by the cnc_setpath is acquired.
The alarm history data is acquired in old order.
Universal Fanuc Driver
Fanuc Focas Library CD
Declaration
Arguments
Specify the library handle. See "Library handle" for details.
Specify the start record number. (specify 1 or more.)
Specify the end record number. (specify 1 or more.)
Specify the data block length. (size of ODBAHIS5 structure)
Pointer to the ODBAHIS5 structure in which the alarm history data is stored. The ODBAHIS5 structure is as follows.
typedef struct odbahis5 {
unsigned short s_no; /* Start record number */
unsigned short e_no; /* Most recently entered */
struct {
short alm_grp; /* Alarm type */
short alm_no; /* Alarm number */
short axis_no; /* Axis number or Spindle number */
short year; /* Year */
short month; /* Month */
short day; /* Day */
short hour; /* Hour */
short minute; /* Minute */
short second; /* Second */
short len_msg; /* Length of alarm message */
short pth_no; /* path number */
short dammy;
short dsp_flg; /* Flag for displaying */
short axis_num; /* Total axis number */
char alm_msg[64]; /* Alarm message */
long g_modal[10]; /* Modal data of G code */
char g_dp[10]; /* #7=1 There is a command in the present block. */
/* #6~#0 place of decimal point */
long a_modal[10]; /* Modal data of B,D,E,F,H,M,N,O,S,T code */
char a_dp[10]; /* #7=1 There is a command in the present block. */
/* #6~#0 place of decimal point */
long abs_pos[32]; /* Absolute position in alarm occuring */
char abs_dp[32]; /* Place of decimal point for absolute position in alarm occuring */
long mcn_pos[32]; /* Machine position in alarm occuring */
char mcn_dp[32]; /* Place of decimal point for machine position in alarm occuring */
} alm_his[N]; /* N : number of alarm history data to be read */
} ODBAHIS5 ;
- alm_grp
- Alarm type
-
0 : Parameter switch on (SW) 1 : Power off parameter set (PW) 2 : I/O error (IO) 3 : Foreground P/S (PS) 4 : Overtravel,External data (OT) 5 : Overheat alarm (OH) 6 : Servo alarm (SV) 7 : Data I/O error (SR) 8 : Macro alarm (MC) 9 : Spindle alarm (SP) 10 : Other alarm(DS) (DS) 11 : Alarm concerning Malfunction prevent functions (IE) 12 : Background P/S (BG) 13 : Syncronized error (SN) 14 : (reserved) 15 : External alarm message (EX) 19 : PMC error (PC) 20 to 31 : (Not used) - alm_no
- Alarm number
- axis_no
-
The relative axis number(1,..,max controlled axes) in the path or the relative spindle number(1,..,max spindle number) in the path is set in this variable.
When the flexible path axis assignment function is valid, the absolute axis number + 1000(1001,..,max controlled axis number + 1000) or the relative spindle number(1,..,max spindle number) in the path is set in this variable.
(Absolute axis number or absolute spindle number 0 is stored for an unrelated alarm to the axis and the spindle.)
- year
- Year (1995,..,2094)
- month
- Month (1,..,12)
- day
- Day (1,..,31)
- hour
- Hour (0,..,23)
- minute
- Minute (0,..,59)
- second
- Second (0,..,59)
- len_msg
- Length of alarm message (0,..,64)
- pth_no
- path number(1,..,10)
- dsp_flg
- Flag for message displaying
- axis_num
- Total axis number(0,..,32)(0:axis_num is invalid.)
- alm_msg
- Alarm message
- g_modal
- Modal G code of specified G code group at alarm occurring (nonexistence -1)
- Modal G code group number is specified by the parameter from No.12990 to No.12999.
- g_dp
-
#7=1 There is a command in the present block.(nonexistence -1)
#6~#0 place of decimal point -
#7=0 There is not a command in the present block.
=1 There is a command in the present block. - a_modal
- Modal data of 2nd auxiliary function(prm3460),D,E,F,H,M,N,O,S,T code in alarm occuring(nonexistence -1)
-
a_modal[0] ,a_dp[0]=2nd auxiliary function code ,a_modal[1] ,a_dp[1]=D code a_modal[2] ,a_dp[2]=E code ,a_modal[3] ,a_dp[3]=F code a_modal[4] ,a_dp[2]=H code ,a_modal[5] ,a_dp[3]=M code a_modal[6] ,a_dp[2]=N code ,a_modal[7] ,a_dp[3]=O code a_modal[8] ,a_dp[2]=S code ,a_modal[9] ,a_dp[3]=T code -
*In case of 'O' code, specify 5 charactors of head.
- a_dp
-
#7=1 There is a command in the present block.(nonexistence -1)
#6~#0 place of decimal point -
#7=0 There is not a command in the present block.
=1 There is a command in the present block. - abs_pos
- Absolute position in alarm occuring
- abs_dp
- Absolute position place of decimal point in alarm occuring
- mcn_pos
- Machine position in alarm occuring
- mcn_dp
-
Machine position place of decimal point in alarm occuring
*More than axis number is unused.
In case of the Macro alarm(alm_grp=8), the state of 6008#1 can be acquired. |
In case of the External alarm message(alm_grp=15), the state of 6301#0 can be acquired. |
In case of the External operator's message, the state of 6301#1 can be acquired. |
(* The status of a point at alarm occurring can get. |
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 |
---|---|
(1) |
|
(2) |
Size of ODBAHIS4 structure(length) is wrong. (e_no-s_no+1) * sizeof(data[0]) + 4 > length |
(3) |
The specification of the record number (s_no, e_no) is wrong. |
(6) |
The extended driver/library function is necessary. |
As for the other return codes or the details, see "Return status of Data window function"
CNC option
For HSSB connection,
CNC parameter
This function is related to the following CNC parameter.
See the manual of CNC parameter for details.
3112#3,3196#7,12990~12999,3460,6008#1,6301#0,11354#2 (influenced by setting)
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.