支持哪些fanuc型号:0iD 与 30i A/B 系列
需要采集的信息
SDK:fanuc focas1/2
功能:
驱动名称:bin/drivers/fanucfocasdrv/fanucfocasdrv.exe
实现了Fanuc数控系统的数据获取写入操作 如下
参数类信息:加工状态、急停状态、进给速度、有效轴数、
主轴负载、进给速度、主轴倍率、工作模式、切削时间、上
电时间、运行时间、单次加工数、累计加工数、
当前程序加工时间
位置类信息:相对位置、绝对位置、机器位置、剩余走的量
报警信息:各类报警信息记录
刀具信息:刀片组数量、刀片号、刀组号、寿命计时、刀补
值
程序信息:当前注册程序量、可用程序量、未使用内存、已
使用内存、当前加工程序号、当前加工程序代码、搜索指定
程序号代码、删除指定程序号、删除全部不受保护程序、下
内置驱动,不需要增加和配置。
在驱动fanucfocasdrv下增加一个设备,如fanuc1
进行网口配置
变量地址 | 变量名称 | 更新周期(ms) | 控制使能 | 数据类型 | 值的意义 | 备注 |
---|---|---|---|---|---|---|
device_alarm | 设备报警状态 | 3000 | 否 | char | 0:无报警 1:有报警 其他如*:连不上等故障 | |
device_emergency | 设备紧停状态 | 3000 | 否 | char | 0:不在紧急停机状态 1:处于紧急停机状态 其他如*:连不上等故障 | |
device_run | 设备运行状态 | 3000 | 否 | short | 0:不在运行 1:在运行状态 其他如*:连不上等故障 | |
device_aut | 设备自动模式 | 3000 | 否 | short | 0:手工运行模式 1:自动运行模式 其他如*:连不上等故障 | |
batch_num | 工件数量 | 3000 | 否 | uint32 | 整数值,>=0 其他如*:连不上等故障 | |
main_prog_name | 主程序号 | 3000 | 否 | char | 整数值,>=0 其他如*:连不上等故障 | |
cur_prog_name | 当前运行程序号 | 3000 | 否 | uint32 | 整数值,>=0 其他如*:连不上等故障 | |
speed_override | 主轴倍率 | 3000 | 否 | float | 小数值,>=0 其他如*:连不上等故障 | |
feed_override | 进给倍率 | 3000 | 否 | float | 小数值,>=0 其他如*:连不上等故障 | |
act_spspeed | 主轴实际转速 | 3000 | 否 | float | 小数值,>=0 其他如*:连不上等故障 | |
act_feedrate | 进给实际转速 | 3000 | 否 | float | 小数值,>=0 其他如*:连不上等故障 | |
set_spspeed | 主轴设定速度 | 3000 | 否 | float | 小数值,>=0 其他如*:连不上等故障 | |
set_feedrate | 进给设定速度 | 3000 | 否 | float | 小数值,>=0 其他如*:连不上等故障 | |
tool_number | 当前刀具号 | 3000 | 否 | char | 字符串 其他如*:连不上等故障 | |
tool_offset | 当前刀补号 | 3000 | 否 | uint32 | 整数值 其他如*:连不上等故障 | |
spload | 主轴负载 | 3000 | 否 | float | 小数 其他如*:连不上等故障 | |
spload2 | 主轴负载2 | 3000 | 否 | float | 小数 其他如*:连不上等故障 | |
servoloadx | 伺服x轴负载 | 3000 | 否 | float | 小数 其他如*:连不上等故障 | |
servoloady | 伺服y轴负载 | 3000 | 否 | float | 小数 其他如*:连不上等故障 | |
servoloadz | 伺服z轴负载 | 3000 | 否 | float | 小数 其他如*:连不上等故障 | |
servoloadB | 伺服B轴负载 | 3000 | 否 | float | 小数 其他如*:连不上等故障 | |
servoloadC | 伺服C轴负载 | 3000 | 否 | float | 小数 其他如*:连不上等故障 | |
g_state | G代码 | 3000 | 否 | char | 0:??? 1:??? 其他如*:连不上等故障 | 成功完成时返回EW_OK,否则返回除EW_OK以外的任何值。 |
cyctime | 加工循环时间 | 3000 | 否 | uint32 | 整数,单位:毫秒 其他如*:连不上等故障 | |
servo_temp | 伺服温度 | 3000 | 否 | float | 小数 其他如*:连不上等故障 | |
sp_temp | 主轴温度 | 3000 | 否 | float | 小数 其他如*:连不上等故障 | |
abspos_x | x轴绝对坐标 | 3000 | 否 | float | 小数 其他如*:连不上等故障 | |
abspos_y | y轴绝对坐标 | 3000 | 否 | float | 小数 其他如*:连不上等故障 | |
abspos_z | z轴绝对坐标 | 3000 | 否 | float | 小数 其他如*:连不上等故障 | |
rest_pos_x | x轴机械坐标 | 3000 | 否 | float | 小数 其他如*:连不上等故障 | |
rest_pos_y | y轴机械坐标 | 3000 | 否 | float | 小数 其他如*:连不上等故障 | |
rest_pos_z | z轴机械坐标 | 3000 | 否 | float | 小数 其他如*:连不上等故障 | |
cur_prog_text | 当前运行程序文本 | 10000 | 否 | string,长度4096 | 字符串,程序文本 其他如*:连接不上 | |
emergency_stop | 紧急停机 | 1000 | 是 | char | 0:未紧急停机 1:已紧急停机 其他如*:连不上等故障 | 设备紧停状态的区别? |
poweron | 上电 | 3000 | 否 | int32 | 0:未通电 1:已通电 其他如*:连不上等故障 | 自己判断的,还是设备读取出来的? |
tool_sum | 刀具数量 | 3000 | 否 | uint32 | 整数 其他如*:连不上等故障 | |
cur_prog_lineno | 当前运行程序行号 | 3000 | 否 | uint32 | 整数 其他如*:连不上等故障 | 和前面的当前运行程序号的区别? |
变量地址 | 变量名称 | 更新周期(ms) | 控制使能 | 数据类型 | 值的意义 | 备注 |
---|---|---|---|---|---|---|
|
| |||||
self.原始加工状态==0&&self.故障状态==0&&self.原始加工状态.q==0 | 待机状态 | 3000 | 否 | bool | 0:不处于待机状态,包括:加工中或故障中或未连接 1:待机中 其他如*:连不上等故障 | 待机中条件:
|
self.原始加工状态==1&&self.故障状态==0&&self.原始加工状态.q==0 | 加工状态 | 否 | 0:未加工 1:加工中 其他如*:连不上等故障 | 加工中条件:
| ||
self.原始加工状态.q!=0 | 关机状态 | 否 | 关机状态指,设备未启动,因此连接不上,即未连接状态 0:未关机 1:已关机 | 估计状态条件:
另一种判断方法:
| ||
运行时间 | 转储到数据库时,每个状态的开始时间,结束时间,持续时间都会记录下来 | |||||
配置状态变化点,可以计算每个状态持续时间、开始时间、结束时间,并写入数据库表
fanuc采集.rar 采集程序Demo
Fanuc14虚拟机,ftp上:ftp://192.168.10.1/sdk/,或者https://pan.baidu.com/s/1azlJcUhgE-meKO7J2qYWWQ,w2cg