Skip to content

Fanuc Focas Ethernet

Neuron FOCAS 驱动支持使用 FOCAS2 协议对 FANUC 各类型设备(包含多通道设备)进行数据获取和写入,支持坐标,运行状态,报警,操作信息,宏变量,参数,诊断数据,程序数据,刀偏,刀具,刀具寿命,PMC等。

支持架构: amd64, arm/v7

设备设置

字段说明
host设备 IP 地址
port设备端口号, 默认 8193
timeout连接超时时间, 默认 3000 毫秒

支持的数据类型

  • uint8
  • int8
  • uint16
  • int16
  • uint32
  • int32
  • uint64
  • int64
  • float
  • double
  • bit
  • string

CNC 数据

地址格式

address[.m][.n][.l][@p]

address 最多可以支持3个参数,@ 指定 address 所在通道。

tag 标识(地址)说明数据类型参数备注
actf实际进给速度int64/uint64-
absolute.m轴绝对坐标int64/uint64轴序号计算了刀偏,和 CNC 界面显示可能不一致
absolute2.m轴绝对坐标2int64/uint64轴序号数据与 CNC 界面一致
machine.m轴机械坐标int64/uint64轴序号
relative.m轴相对坐标int64/uint64轴序号计算了刀偏,和 CNC 界面显示可能不一致
relative2.m轴相对坐标2int64/uint64轴序号数据与 CNC 界面一致
distance.m轴剩余距离坐标int64/uint64轴序号
acts实际主轴转速int64/uint64-
acts2.m实际主轴转速int64/uint64主轴序号
skip轴跳过坐标int64/uint64轴序号
srvdelay轴伺服延迟量int64/uint64轴序号
accdecdly轴加速/减速延迟量int64/uint64轴序号
spcss_srpm转换主轴速度int64/uint64-
spcss_sspm指定表面速度int64/uint64-
spcss_smax夹具最大主轴速度int64/uint64-
movrlap_input.m输入重叠运动值int64/uint64轴序号
movrlap_output.m输出重叠运动值int64/uint64轴序号
spload.m主轴负载int32/uint32主轴序号
spmaxrpm.m主轴最大转速比率int32/uint32主轴序号
spgear.m主轴齿轮比int32/uint32主轴序号
runState运行状态int32/uint32-1:故障 2:运行 3:空闲
controlMode控制模式int32/uint32-0:MID 1:AUTO 3:EDIT 5:JOB 8:INC feed 9:REFerence 10:ReMoTe
programMain加工程序名string-
mainProgramNo主程序号int16/uint16-
subProgramNo子程序号int16/uint16-
alarm报警IDint32/uint32-0:WS 1:PW 2:IO 3:PS
alarmMsg.m报警内容stringm 为序号取值范围为1~16
param.m.n参数int32/uint32m 为参数 ID,n 为轴数如果参数不是轴相关则设置为0
alarmMsg2.m.n报警内容int16/uint16/stringm 为序号, n 为 值参数m 取值范围为1~16, n=0 报警类型 n=1 报警编号 n=2 报警内容
macroType宏变量类型int16/uint16-
macroInfo.m宏变量信息int16/uint16n 为值参数n=0 局部变量数 n=1 公共变量指标
macro.m.n宏变量类型int32/uint32m 为变量 ID n 为值参数n=0 宏变量值 n=1 小数位数
paraNum.m参数数量int16/uint16n 为值参数n=0 参数最小数目 n=1 参数最大数目 n=3 参数总数
pitchInfoNum.m俯仰误差补偿数据数量int16/uint16--
pitch.m俯仰误差补偿数据int8/uint8m 为序号-
tool.m.n刀具数据int64/uint64m 为刀具编号,n 为值变量m 从 1 开始,n=0 刀具号 n=1 使用次数 n=2 刀具寿命 n=3 预警寿命
toolf2.m.n刀具数据int64/uint64m 为刀具编号,n 为值变量m 从 1 开始,n=0 刀具号 n=1 使用次数 n=2 刀具寿命 n=3 预警寿命
toolOffset.m.n刀偏数据int32/uint32m 为刀具编号,n 为刀偏类型m 从 1 开始,n 和具体的系统型号有关,以 0i-D 为例,n=0 半径磨损, n=1 半径形状,n=2 长度磨损, n=3 长度形状
toolOffsetRange.m.n.l刀偏数据设定范围int32/uint32m 为刀具编号,n 为刀偏类型,l 为 值类型m 从 1 开始,n 和具体的系统型号有关,以 0i-D 为例,n=0 半径磨损, n=1 半径形状,n=2 长度磨损, n=3 长度形状, l=0 最小值 l=1 最大值 l=2状态
toolOffsetInfo.m刀偏信息int16/uint16m 为刀偏类型m=0 内存类型, m=1 可用刀偏数量,n=2 刀偏类型
wkcdsfms.m工件坐标偏移测量值int32/uint32轴序号M 系列不支持
wkcdshft.m工件坐标偏移值int32/uint32轴序号M 系列不支持
wksftRange.m工件坐标偏移值范围int32/uint32n 为值变量m=0 最小值, m=1 最大值, m=2 类型, M 系列不支持
zofs工件零点偏移值int32/uint32--
zofsInfoNum工件零点偏移值数量int32/uint32--
zofsRange.m.n.l件零点偏移设定范围int32/uint32m 为工件坐标偏移编号,n 为轴号,l 为 值类型l=0 最小值 l=1 最大值 l=2状态
blkCount块计数器int32/uint32--
execProg当前真正执行的程序段string--
mdiPntrMDI执行信息int32/uint32-设备处于 MDI 模式时才可读
programMainFile主程序文件信息string--
pdfCurDir当前程序目录string--
pdfDrive.m程序设备信息stringm 为 设备序号m 从1开始
progInfo.m程序管理信息int32/uint32m 为值参数m=0 已注册程序数 m=1 可使用程序数 m=2 已用内存字符数 m=2 未用内存的字符数
seqNum程序序列号int32/uint32--
exaxisName.m.n控制轴和主轴名stringm 为轴类型,n 为序号m=0 控制轴, m=1 主轴, n 从1开始
axisName.m控制轴名int8/uint8m 为序号m 从1开始
hndintrpt.m.n手轮中断值int32/uint32m 为类型,n 为序号m =0 输入 m=1 输出,n 从1开始
spdlName.m主轴名int8/uint8m 为序号m 从1开始
spmeter.m.n主轴负载百分比int32/uint32m 为类型,n 为序号m=0 主轴负载 m=1 主轴电机负载, n 为序号
spmeter.m伺服负载百分比int32/uint32m 为序号m 为序号
almhisno历史报警数int16/uint16--
almhistry.m.n历史报警内容int16/uint16/stringm 为序号, n 为 值参数m 从1开始, n=0 报警类型 n=1 报警编号 n=2 报警内容
omhisno历史额外操作信息数int16/uint16--
omhistry.m.n历史额外操作信息内容int16/uint16/stringm 为序号, n 为 值参数m 从1开始, n=0 显示标志 n=1 操作信息编号 n=2 操作信息内容
ophisno历史操作信息数int16/uint16--
ophistry.m.n历史操作信息内容int16/uint16m 为序号, n 为 值参数m 从1开始
timer.m.n日期时间int16/uint16m 为类型, n 为 值参数m=0 日期, n=0 年, n=1 月, n=2 日;m=1 时间, n=0 时, n=1 分, n=2 秒
diagdata.m.n诊断数据int32/uint32m 为诊断号, n 为 值参数n = 0 诊断值,n=1 小数点
opmsg.m.n当前操作信息int16/uint16/stringm 为序号, n 为 值参数m 从1开始,n = 0 类型,n=1 编号,n=2 内容
tlGrpinfo.m.n刀具寿命管理信息int32/uint32m 为刀具组号, n 为 值参数m 从1开始,n = 0 刀具数量,n=1 剩余刀具数量,n=2 刀具寿命,n=3 刀具已使用寿命, n=6, 刀具预警寿命

TIP

轴数从1开始,根据实际轴数递增。 使用刀具寿命管理功能,需要开启设备相应的参数。 参数地址不设置 @p,默认为通道1。

CNC 地址示例

地址说明
actf读取 actual feed rate
absolute.1读取第1个 axis 的 absolute position
absolute.1@2读取通道2的第1个 axis 的 absolute position
machine.3读取第3个 axis 的 machine position
spload.1读取第1个 spindle 的 load information
spmaxrpm.3读取第3个 spindle 的 maximum r.p.m ratio
param.6712.0总加工件数
param.6711.0加工件数
param.6750.0上电时间
param.6753.0切削时间
macro.3142.0宏变量#3142的值
tool.1.0编号1刀具的刀具号
tool.1.1编号1刀具的已使用次数
tool.1.2编号1刀具的总寿命
tool.1.3编号1刀具的预警寿命
diagdata.1333.3诊断1333号的数据
tlGrpinfo.1.1刀具寿命组1的剩余刀具寿命
toolOffset.1.2刀具编号1的长度磨损

PMC 数据

地址格式

AREA ADDRESS[.BIT][.LEN][@p]

标识说明类型权限
Amessage demandall读写
Ccounterall读写
Ddata tableall读写
Eextended relayall读写
Fsignal to CNC -> PMCall只读
Gsignal to PMC -> CNCall读写
Kkeep relayall读写
Minput signal from other deviceall读写
Noutput signal from other deviceall读写
Rinternal relayall读写
Tchangeable timerall读写
Xsignal to machine -> PMCall只读
Ysignal to PMC -> machineall读写

PMC 点位示例

地址类型说明
A0uint8/int8/uint16/int16/uint32/int32/int64/uint64/float/doublePMC message demand 区域,地址0的数据
A0.1bitPMC message demand 区域,地址0的的字节,第1个 bit 位
A0.0bitPMC message demand 区域,地址0的字节,第0个 bit 位
A0.2stringPMC message demand 区域,地址0开始,长度为2的字符串
D0.2stringPMC data table 区域,地址0开始,长度为2的字符串
D0.7bitPMC data table 区域,地址0的字节,第7个 bit 位
G12uint8PMC signal to PMC -> CNC 区域,地址12的数据,255-(G12),其值代表当前进给倍率
G30uint16PMC signal to PMC -> CNC 区域,地址30的数,其值为主轴倍率