版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

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

注意点

  • 设备断开后,驱动要能够自动重连
  • 设备断开后,驱动要能更新设备连接状态,质量设为0,连接成功则设置为1,Drv_SetConnStatus

驱动配置

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

设备配置

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

...

  • 连接方式选择:Other(其他)
  • 连接串:机床的IP

变量配置

原始变量

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

0:无报警

1:有报警

其他如*-1:连不上等故障


device_emergency

设备紧停状态

3000boolchar

0:不在紧急停机状态非紧急情况

1:处于紧急停机状态紧急情况

其他如*-1:连不上等故障


device_run设备运行状态3000boolshort

0:不在运行停止

1:在运行状态开始

其他如*-1:连不上等故障


device_aut设备自动模式3000boolshort

0:手工运行模式没有选择

1:自动运行模式选择自动

其他如*-1:连不上等故障


batch_num工件数量3000int32uint32

整数值,>=0

其他如*-1:连不上等故障


main_prog_namenum主程序号3000int32string

整数值,>=0

其他如*-1:连不上等故障


cur_prog_namenum当前运行程序号3000int32uint32

整数值,>=0

其他如*-1:连不上等故障


speed_override主轴倍率3000float

小数值,>=0

其他如*-1:连不上等故障


feed_override进给倍率3000float

小数值,>=0

其他如*-1:连不上等故障


act_spspeed主轴实际转速3000int32float

整数值小数值,>=0

其他如*-1:连不上等故障


act_feedrate进给实际转速3000int32float

整数值小数值,>=0

其他如*-1:连不上等故障


set_spspeed主轴设定速度3000int32float

整数值小数值,>=0

其他如*-1:连不上等故障


set_feedrate进给设定速度3000int32float

整数值小数值,>=0

其他如*-1:连不上等故障


tool_number当前刀具号3000int32string

字符串

其他如*-1:连不上等故障


tool_offset当前刀补号3000int32uint32

整数值,>=0字符串

其他如*-1:连不上等故障


spload主轴负载3000float

小数小数值,>=0

其他如*-1:连不上等故障


spload2主轴负载23000float

小数小数值,>=0

其他如*-1:连不上等故障


servoloadx伺服x轴负载3000float

小数小数值,>=0

其他如*-1:连不上等故障


servoloady伺服y轴负载3000float

小数小数值,>=0

其他如*-1:连不上等故障


servoloadz伺服z轴负载3000float

小数小数值,>=0

其他如*:连不上等故障


servoloadB伺服B轴负载3000float

小数小数值,>=0

其他如*-1:连不上等故障


servoloadC伺服C轴负载3000float

小数小数值,>=0

其他如*-1:连不上等故障


g_stateG代码状态G代码3000boolchar

0:???

1:???

其他如*-1:连不上等故障


成功完成时返回EW_OK,否则返回除EW_OK以外的任何值。

cyctime加工循环时间3000int32uint32

整数,单位:秒?毫秒

其他如*-1:连不上等故障


servo_temp伺服温度3000float

小数,>=0

其他如*-1:连不上等故障


sp_temp主轴温度3000float

小数,>=0

其他如*-1:连不上等故障


abspos_xx轴绝对坐标3000int32float

小数,>=0整数

其他如*-1:连不上等故障


abspos_yy轴绝对坐标3000int32float

小数,>=0整数

其他如*-1:连不上等故障


abspos_zz轴绝对坐标3000int32float

小数,>=0整数

其他如*-1:连不上等故障


rest_pos_xx轴机械坐标3000int32float

小数,>=0整数

其他如*-1:连不上等故障


rest_pos_yy轴机械坐标3000int32float

小数,>=0整数

其他如*-1:连不上等故障


rest_pos_zz轴机械坐标3000int32float

小数,>=0整数

其他如*:连不上等故障


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

字符串,程序文本

其他如*:连接不上-1:连接不上等故障


emergency_stop紧急停机控制停机1000boolchar

0:未紧急停机未停机

1:已紧急停机停机

其他如*-1:连不上等故障

设备紧停状态的区别?先放着
poweron上电3000boolint32

0:未通电

1:已通电

其他如*-1:连不上等故障

自己判断的,还是设备读取出来的?


tool_sum刀具数量3000int32uint32

整数,>=0

其他如*-1:连不上等故障


cur_prog_lineno当前运行程序行号3000int32uint32

整数,>=0

其他如*-1:连不上等故障




计算变量

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


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

...