说明

支持哪些fanuc型号:0iD 与 30i A/B 系列

需要采集的信息

SDK:fanuc focas1/2

功能:

驱动名称:bin/drivers/fanucfocasdrv/fanucfocasdrv.exe


实现了Fanuc数控系统的数据获取写入操作 如下

参数类信息:加工状态、急停状态、进给速度、有效轴数、

主轴负载、进给速度、主轴倍率、工作模式、切削时间、上

电时间、运行时间、单次加工数、累计加工数、

当前程序加工时间

位置类信息:相对位置、绝对位置、机器位置、剩余走的量

报警信息:各类报警信息记录

刀具信息:刀片组数量、刀片号、刀组号、寿命计时、刀补

程序信息:当前注册程序量、可用程序量、未使用内存、已

使用内存、当前加工程序号、当前加工程序代码、搜索指定

程序号代码、删除指定程序号、删除全部不受保护程序、下

传程序至设备
https://item.taobao.com/item.htm?spm=a230r.1.14.18.76da1437GGvj3T&id=624359897278&ns=1&abbucket=2#detail

注意点

驱动配置

内置驱动,不需要增加和配置。

设备配置

在驱动fanucfocasdrv下增加一个设备,如fanuc1

进行网口配置

变量配置

原始变量

变量地址变量名称更新周期(ms)控制使能数据类型值的意义备注
device_alarm设备报警状态  3000char

0:无报警

1:有报警

其他如*:连不上等故障


device_emergency

设备紧停状态

3000char

0:不在紧急停机状态

1:处于紧急停机状态

其他如*:连不上等故障


device_run设备运行状态3000short

0:不在运行

1:在运行状态

其他如*:连不上等故障


device_aut设备自动模式3000short

0:手工运行模式

1:自动运行模式

其他如*:连不上等故障


batch_num工件数量3000uint32

整数值,>=0

其他如*:连不上等故障


main_prog_name主程序号3000char

整数值,>=0

其他如*:连不上等故障


cur_prog_name当前运行程序号3000uint32

整数值,>=0

其他如*:连不上等故障


speed_override主轴倍率3000float

小数值,>=0

其他如*:连不上等故障


feed_override进给倍率3000float

小数值,>=0

其他如*:连不上等故障


act_spspeed主轴实际转速3000float

小数值,>=0

其他如*:连不上等故障


act_feedrate进给实际转速3000float

小数值,>=0

其他如*:连不上等故障


set_spspeed主轴设定速度3000float

小数值,>=0

其他如*:连不上等故障


set_feedrate进给设定速度3000float

小数值,>=0

其他如*:连不上等故障


tool_number当前刀具号3000char

字符串

其他如*:连不上等故障


tool_offset当前刀补号3000uint32

整数值

其他如*:连不上等故障


spload主轴负载3000float

小数

其他如*:连不上等故障


spload2主轴负载23000float

小数

其他如*:连不上等故障


servoloadx伺服x轴负载3000float

小数

其他如*:连不上等故障


servoloady伺服y轴负载3000float

小数

其他如*:连不上等故障


servoloadz伺服z轴负载3000float

小数

其他如*:连不上等故障


servoloadB伺服B轴负载3000float

小数

其他如*:连不上等故障


servoloadC伺服C轴负载3000float

小数

其他如*:连不上等故障


g_stateG代码3000char

0:???

1:???

其他如*:连不上等故障


cyctime加工循环时间3000uint32

整数,单位:毫秒

其他如*:连不上等故障


servo_temp伺服温度3000float

小数

其他如*:连不上等故障


sp_temp主轴温度3000float

小数

其他如*:连不上等故障


abspos_xx轴绝对坐标3000float

小数

其他如*:连不上等故障


abspos_yy轴绝对坐标3000float

小数

其他如*:连不上等故障


abspos_zz轴绝对坐标3000float

小数

其他如*:连不上等故障


rest_pos_xx轴机械坐标3000float

小数

其他如*:连不上等故障


rest_pos_yy轴机械坐标3000float

小数

其他如*:连不上等故障


rest_pos_zz轴机械坐标3000float

小数

其他如*:连不上等故障


cur_prog_text当前运行程序文本10000string,长度4096

字符串,程序文本

其他如*:连接不上


emergency_stop紧急停机1000char

0:未紧急停机

1:已紧急停机

其他如*:连不上等故障

设备紧停状态的区别?
poweron上电3000int32

0:未通电

1:已通电

其他如*:连不上等故障

自己判断的,还是设备读取出来的?
tool_sum刀具数量3000uint32

整数

其他如*:连不上等故障


cur_prog_lineno当前运行程序行号3000uint32

整数

其他如*:连不上等故障

和前面的当前运行程序号的区别?



计算变量

变量地址变量名称更新周期(ms)控制使能数据类型值的意义备注
self.原始加工状态+self.故障状态*10加工及故障状态

0-未加工,无故障

1-加工中,无故障

10-未加工,有故障

11-加工中,有故障(按理说可能不存在该情况)

其他-如*,设备断开连接或驱动未启动等情况

将状态合并后方便判断

这个已不再使用

self.原始加工状态==0&&self.故障状态==0&&self.原始加工状态.q==0待机状态3000bool

0:不处于待机状态,包括:加工中或故障中或未连接

1:待机中

其他如*:连不上等故障

待机中条件:

  • 未加工
  • 且无故障
  • 且质量=GOOD
self.原始加工状态==1&&self.故障状态==0&&self.原始加工状态.q==0加工状态

0:未加工

1:加工中

其他如*:连不上等故障

加工中条件:

  • 加工中
  • 且无故障
  • 且质量=GOOD
self.原始加工状态.q!=0关机状态

关机状态指,设备未启动,因此连接不上,即未连接状态

0:未关机

1:已关机

估计状态条件:

  • 对应的设备的连接状态,device.设备名.connstatus.==0

另一种判断方法:

  • q!=0

运行时间



转储到数据库时,每个状态的开始时间,结束时间,持续时间都会记录下来














要配置的4个状态变化点

配置状态变化点,可以计算每个状态持续时间、开始时间、结束时间,并写入数据库表

资料

FOCAS函数示例工程说明文档.pdf SDK

fanuc采集.rar 采集程序Demo

Fanuc14虚拟机,ftp上:ftp://192.168.10.1/sdk/,或者https://pan.baidu.com/s/1azlJcUhgE-meKO7J2qYWWQ,w2cg