Appearance
FANUC CNC 数据采集网关 JSON 数据参考
以太网版本报文中,datas 为 CNC 数据,sn 为设备标识,time 为时间戳值。中文是网关实际传入的 JSON 键;下表英文只供应用显示,不是替换后的报文键。示例为一台机器的单次快照,不代表默认值或限制,其他版本 / 固件须另核对实际报文。
1. 报文示例
json
{
"datas": {
"主程序名称": "O22",
"主程序注释": "",
"主轴倍率": 100,
"主轴温度": 15,
"主轴负载": 0,
"主轴速度": 0,
"刀具号": "0",
"切割时间": 23624466,
"剩余距离X": 0,
"剩余距离Y": 0,
"剩余距离Z": 0,
"开机时间": 63862560,
"当前产量": 12586,
"当前执行程序块": "O0022(XR240EII-FK05)(10M+2M)\n(10M)\nG40G17G49G80\nG91G30Z0.0\nT1M06(DJ20)\nM01\nG00G90G58X12.Y-12.S1200M03\nG43Z20.H1T3\nM7\nG98G81Z-1.\u000f",
"当前执行行号": "0",
"当前程序名称": "O22",
"当前程序注释": "",
"总产量": 12586,
"报警信息": "",
"报警号": "",
"报警类型": "",
"机械坐标X": 0,
"机械坐标Y": 0,
"机械坐标Z": 0,
"模式": "Reference",
"目标产量": 0,
"相对坐标X": -100.863,
"相对坐标Y": 531.95,
"相对坐标Z": -610,
"程序状态": "RESET",
"系统信息": "型号:0i-F,类型:M,最大轴数:32,当前轴数:3,版本:21.0,序列号:D4G3,主轴数:1,轴名称:[X Y Z]",
"绝对坐标X": -100.863,
"绝对坐标Y": 531.95,
"绝对坐标Z": -610,
"设备逻辑状态": "2",
"设定主轴速度": 0,
"设定进给速度": 0,
"轴温度X": 11,
"轴温度Y": 11,
"轴温度Z": 18,
"轴负载X": 7,
"轴负载Y": 7,
"轴负载Z": 10,
"运行时间": 31112170,
"进给倍率": 0,
"进给速度": 0
},
"sn": "CNC01",
"time": 1765864916126
}2. 外层字段
| 键 | 示例类型 | 含义 |
|---|---|---|
| datas | 对象 | 按点位名索引的 CNC 数据 |
| sn | 字符串 | 设备标识,示例 CNC01,须与平台机床记录对应 |
| time | 整数 | 示例 1765864916126;转换前核实单位、纪元及是采集还是发布时间 |
3. 点位名称与类型
以下 46 个键都属于 datas。类型只描述该快照,字段名不定义测量单位及缩放。
| 中文 JSON 键 | 英文显示名 | JSON 类型 | 说明 |
|---|---|---|---|
主程序名称 | Main program name | 字符串 | 程序标识 |
主程序注释 | Main program comment | 字符串 | 程序注释文本 |
主轴倍率 | Spindle override | 数值 | 倍率值,须核实缩放 |
主轴温度 | Spindle temperature | 数值 | 核实温度单位 |
主轴负载 | Spindle load | 数值 | 核实负载缩放 |
主轴速度 | Actual spindle speed | 数值 | 核实速度单位 |
刀具号 | Tool number | 字符串 | 示例为数字外观的字符串 |
切割时间 | Cutting time | 数值 | 计数值,核实单位及复位规则 |
剩余距离X | X-axis distance to go | 数值 | 剩余行程,核实单位 |
剩余距离Y | Y-axis distance to go | 数值 | 剩余行程,核实单位 |
剩余距离Z | Z-axis distance to go | 数值 | 剩余行程,核实单位 |
开机时间 | Power-on time | 数值 | 计数值,核实单位及复位规则 |
当前产量 | Current production count | 数值 | CNC 上报的当前计数 |
当前执行程序块 | Executing program block | 字符串 | 含换行及控制字符的程序文本 |
当前执行行号 | Current program line number | 字符串 | 示例为数字外观的字符串 |
当前程序名称 | Current program name | 字符串 | 程序标识 |
当前程序注释 | Current program comment | 字符串 | 程序注释文本 |
总产量 | Total production count | 数值 | CNC 上报的总计数 |
报警信息 | Alarm message | 字符串 | 示例为空字符串 |
报警号 | Alarm number | 字符串 | 示例为空字符串 |
报警类型 | Alarm type | 字符串 | 示例为空字符串 |
机械坐标X | X-axis machine position | 数值 | 机械坐标,核实单位 |
机械坐标Y | Y-axis machine position | 数值 | 机械坐标,核实单位 |
机械坐标Z | Z-axis machine position | 数值 | 机械坐标,核实单位 |
模式 | Operating mode | 字符串 | 示例为 Reference |
目标产量 | Target production count | 数值 | CNC 上报的目标数量 |
相对坐标X | X-axis relative position | 数值 | 相对坐标,支持负数及小数 |
相对坐标Y | Y-axis relative position | 数值 | 相对坐标,支持负数及小数 |
相对坐标Z | Z-axis relative position | 数值 | 相对坐标,支持负数及小数 |
程序状态 | Program status | 字符串 | 示例为 RESET |
系统信息 | Controller information | 字符串 | 单个文本字段,见系统信息说明 |
绝对坐标X | X-axis absolute position | 数值 | 绝对坐标,支持负数及小数 |
绝对坐标Y | Y-axis absolute position | 数值 | 绝对坐标,支持负数及小数 |
绝对坐标Z | Z-axis absolute position | 数值 | 绝对坐标,支持负数及小数 |
设备逻辑状态 | Logical equipment state | 字符串 | 字符串状态码,见逻辑状态 |
设定主轴速度 | Set spindle speed | 数值 | 主轴速度设定,核实单位 |
设定进给速度 | Set feed rate | 数值 | 进给速度设定,核实单位 |
轴温度X | X-axis temperature | 数值 | 核实温度单位 |
轴温度Y | Y-axis temperature | 数值 | 核实温度单位 |
轴温度Z | Z-axis temperature | 数值 | 核实温度单位 |
轴负载X | X-axis load | 数值 | 核实负载缩放 |
轴负载Y | Y-axis load | 数值 | 核实负载缩放 |
轴负载Z | Z-axis load | 数值 | 核实负载缩放 |
运行时间 | Running time | 数值 | 计数值,核实单位及复位规则 |
进给倍率 | Feed override | 数值 | 倍率值,须核实缩放 |
进给速度 | Actual feed rate | 数值 | 核实进给速度单位 |
系统信息
系统信息是一个字符串,不是嵌套 JSON。内部标签及示例:型号=0i-F,类型=M,最大轴数=32,当前轴数=3,版本=21.0,序列号=D4G3,主轴数=1,轴名称=[X Y Z]。提取前须验证文本格式。
4. 设备逻辑状态
读取 datas["设备逻辑状态"] 字符串:"1" 运行、"2" 待机、"3" 报警、"4" 离线。示例为待机;模式 Reference 和程序状态 RESET 是不同字段。
5. 解析与验证
保留中文键,只在应用显示层翻译标签。刀具号、行号、逻辑状态等看似数字但示例为字符串,按业务需要才转换。空字符串、缺失键、null、数字 0 应区分,报警字段为空不能单独证明无报警。
坐标使用可含负数和小数的数值(如 -100.863、531.95)。程序文本中的 \n 是换行,\u000f 为控制字符,显示和日志须转义,不能当机床命令执行。系统信息按字符串处理。
计数单位、复位、速度、坐标、温度和倍率 / 负载缩放均需与 CNC 显示及网关配置核实,示例不定义这些规则。验证所选点位及不可用 / 缺失值;不能从此快照推定其他固件的不可用或离线上报方式。
