函数功能 (Function Description)
读取 CNC 的报警状态。
该函数用于监控 CNC 的运行状态,可以检测出 CNC 是否存在报警,并获取报警的类型信息(如 P/S 报警、伺服报警、主轴报警等)。此信息可用于在应用程序中显示维护信息、提供报警复位指导或进行故障诊断。
重要提示:
- 当 CNC 发生系统报警 (SYSTEM ALARM) 时,通常会完全中断与外部的数据通信,此时无法通过此函数获取报警状态。
- 对于 Series 15i, 30i, 0i-D/F, Power Mate i-A 等系列,应使用改进版本的
cnc_alarm2函数,因为cnc_alarm无法读取这些系列 CNC 的全部报警状态。
函数原型 (Function Prototype)
C
深色版本
#include "fwlib32.h" // 或 "fwlib64.h"
FWLIBAPI short WINAPI cnc_alarm(
unsigned short FlibHndl, // [in] 库句柄
ODBALM *alarm // [out] 报警状态信息结构体指针
);
参数说明 (Arguments)
| 参数 | 类型 | 方向 | 说明 |
|---|---|---|---|
FlibHndl | unsigned short | [in] | 库句柄 (Library Handle)。通过 cnc_allclibhndl 或 cnc_allclibhndl3 函数获得的有效连接句柄。 |
alarm | ODBALM* | [out] | 指向 ODBALM 结构体的指针。函数执行成功后,CNC 的报警状态信息将被存储在此结构体中。 |
数据结构 (Data Structure): ODBALM
C
深色版本
typedef struct odbalm {
short dummy[2]; // 未使用
short data; // 报警状态 (Alarm Status)
} ODBALM;
dummy[2]: 未使用,忽略。data: 报警状态。这是一个short类型的整数,其每一位 (bit) 对应一种特定的报警类型。通过检查data的位值(0 或 1),可以判断哪种报警处于激活状态。
data 字段的位含义 (Bit Meaning of data)
对于 Series 16/18/21, 16i/18i/21i, 0i, Power Mate i 等系列,data 字段的各位含义如下:
| 位 (Bit) | 报警类型 (Alarm Type) | 说明 |
|---|---|---|
| Bit 0 | P/S 100 ALARM | P/S 报警 (100 报警) |
| Bit 1 | P/S 000 ALARM | P/S 报警 (000 报警) |
| Bit 2 | P/S 101 ALARM | P/S 报警 (101 报警) |
| Bit 3 | P/S ALARM (1-255) | P/S 报警 (1-255 报警) |
| Bit 4 | OT ALARM | 行程极限报警 (Over Travel) |
| Bit 5 | OH ALARM | 过热报警 (Over Heat) |
| Bit 6 | SERVO ALARM | 伺服报警 |
| Bit 7 | SYSTEM ALARM | 系统报警 |
| Bit 8 | APC ALARM | APC (模拟量外围电路) 报警 |
| Bit 9 | SPINDLE ALARM | 主轴报警 |
| Bit 10 | P/S ALARM (5000-) | P/S 报警 (5000 及以上报警) |
注意: 不同的 CNC 系列 (
Series 15/15i) 可能有不同的位定义,需查阅具体文档。
1329

被折叠的 条评论
为什么被折叠?



