FANUC CNC 0i
插件用途
连接 FANUC CNC 0i,周期采集 PMC 字节区,并通过专用方法读取机床状态、宏变量、刀具补偿、报警、程序和目录;在授权条件下可写入或执行控制。配置页面中的插件名称为“FanucCnc0iMaster”。
公共通道、设备、变量和导入操作见采集配置。本页只说明 CNC 0i 特有参数、PMC 地址、特殊方法和专用调试。
选择入口
进入“开发配置 → 采集配置”,创建 TCP 客户端通道和设备,在“采集插件”中选择“FanucCnc0iMaster”。CNC 0i 常用 TCP 端口为 8193。
支持范围
| 项目 | 说明 |
|---|---|
| 通道 | TCP 客户端。确认 Gateway 可以访问 CNC IP 和端口。 |
| 数据类型 | Byte、Int16、UInt16、Int32、UInt32、Int64、UInt64、Float、Double、String。 |
插件参数
| 参数 | 默认值 | 取值范围 | 说明 |
|---|---|---|---|
| 操作路径 | 1 | 1~32767 | 多路径机床的目标路径,从 1 开始。 |
| 文本编码 | GB2312 | 有效编码名称 | 解析程序、报警和文本数据使用的编码。乱码时先核对 CNC 字符集。 |
| 最大 PMC 打包字节数 | 1024 | 1~65535 | 单次周期 PMC 读取的最大连续字节数。 |
| 最大程序字节数 | 16777216 | 1~268435456 | 读取或写入程序允许的最大字节数。 |
地址规则
- 周期变量只支持 PMC 字节区
G、F、Y、X、A、R、T、K、C、D、E。 - 地址数值使用十进制,例如
R0、D100。 - 连续数量按字节计算;变量数据类型占用的字节不能与相邻变量重叠。
- 系统状态、报警、宏变量、刀补、程序、目录和控制通过下列特殊方法或专用调试页执行。
特殊方法
状态与运行数据
| 方法 | 用途 | 参数 |
|---|---|---|
ReadSystemInfoAsync | 读取系统信息 | - |
ReadSpeedAsync | 读取进给和主轴速度 | - |
ReadFeedOverrideAsync | 读取进给倍率 | - |
ReadSpindleOverrideAsync | 读取主轴倍率 | - |
ReadCurrentProgramInfoAsync | 读取当前程序信息 | - |
ReadProgramNumberAsync | 读取当前程序号 | - |
ReadLanguageAsync | 读取 CNC 语言 | - |
ReadAxisLoadsAsync | 读取各轴负载 | - |
ReadSpindleLoadAsync | 读取主轴负载 | - |
ReadCoordinatesAsync | 读取坐标 | - |
ReadAlarmsAsync | 读取报警列表 | - |
ReadTimeSecondsAsync | 读取累计时间 | timeType:时间类型 |
ReadAlarmStatusAsync | 读取报警状态 | - |
ReadStatusAsync | 读取运行状态 | - |
ReadAxisNamesAsync | 读取轴名称 | - |
ReadSpindleNamesAsync | 读取主轴名称 | - |
ReadDiagnosticsAsync | 读取诊断数据 | number:起始编号;length:数量;axis:轴编号 |
ReadWorkpieceSizesAsync | 读取工件尺寸 | - |
ReadDateTimeAsync | 读取 CNC 日期时间 | - |
ReadCurrentProductionCountAsync | 读取当前产量 | - |
ReadExpectedProductionCountAsync | 读取目标产量 | - |
ReadOperatorMessagesAsync | 读取操作员消息 | - |
宏变量与刀具补偿
| 方法 | 用途 | 参数 |
|---|---|---|
ReadMacroAsync | 读取一个宏变量 | number:宏变量编号 |
ReadMacrosAsync | 读取连续宏变量 | number:起始编号;length:数量 |
WriteMacrosAsync | 写入连续宏变量 | number:起始编号;values:数值数组 |
ReadToolOffsetsAsync | 读取刀具补偿 | toolCount:刀具数量 |
ReadCurrentToolNumberAsync | 读取当前刀具号 | - |
WriteToolLengthShapeAsync | 写入刀具长度形状补偿 | tool:刀具编号;offset:补偿值 |
WriteToolLengthWearAsync | 写入刀具长度磨损补偿 | tool;offset |
WriteToolRadiusShapeAsync | 写入刀具半径形状补偿 | tool;offset |
WriteToolRadiusWearAsync | 写入刀具半径磨损补偿 | tool;offset |
ReadToolGroupAsync | 读取刀具组 | groupId:刀具组编号 |
ReadCurrentToolGroupAsync | 读取当前刀具组 | - |
ClearToolGroupsAsync | 清除刀具组 | start:起始组;end:结束组 |
PMC 与原始区
| 方法 | 用途 | 参数 |
|---|---|---|
ReadPmcAsync | 读取 PMC 字节 | address:PMC 地址;length:字节数 |
WritePmcAsync | 写入 PMC 字节 | address;data:字节数组 |
ReadRawDataAsync | 读取原始数据 | code:功能码;start:起始地址;end:结束地址 |
WriteRawDataAsync | 写入原始数据 | code;start;data:字节数组 |
程序与目录
| 方法 | 用途 | 参数 |
|---|---|---|
ReadProgramListAsync | 读取程序列表 | - |
ReadCurrentProgramFragmentAsync | 读取当前程序片段 | - |
ReadForegroundDirectoryAsync | 读取前台目录 | - |
ReadDirectoryCountAsync | 读取目录数量 | path:设备目录 |
ReadDirectoryAsync | 读取目录 | path:设备目录 |
ReadProgramByNumberAsync | 按编号读取程序 | programNumber:程序号;devicePath:设备目录 |
ReadProgramByNameAsync | 按名称读取程序 | programName:程序名;devicePath:设备目录 |
WriteProgramFileAsync | 从 Gateway 文件写入程序 | filePath:Gateway 文件;blockSize:分片字节数;devicePath:设备目录 |
WriteProgramAsync | 写入程序文本 | program:程序文本;blockSize;devicePath |
SetCurrentProgramAsync | 按程序号选择当前程序 | programNumber:程序号 |
SetCurrentProgramFileAsync | 按文件名选择当前程序 | programName:设备程序文件名 |
StartProcessingAsync | 启动加工 | - |
DeleteProgramAsync | 删除程序 | programNumber:程序号 |
DeleteFileAsync | 删除文件 | fileName:设备文件名 |
写入宏变量、刀补、PMC、原始区、程序,清除刀具组,选择或启动程序以及删除操作都会改变 CNC 状态。执行前必须停留在允许的运行模式,备份相关数据,并准备停止或回退措施。
设备调试
进入“开发配置 → 采集配置”,选择 FANUC CNC 0i 设备,打开“调试 → 协议调试 · FanucCnc”。
| 功能 | 作用 |
|---|---|
| 机床状态 | 读取系统、运行、速度、坐标、负载和报警状态。 |
| 宏变量 | 按起始编号和数量读取或写入连续宏变量。 |
| 刀具与刀补 | 读取刀补和刀具组,写入补偿或清除刀具组。 |
| PMC / Raw | 读取或写入 PMC 和原始数据区。 |
| 程序与目录 | 查询程序和目录,读取、写入、选择、启动或删除程序。 |
机床状态

宏变量

刀具与刀补

PMC / Raw

程序与目录

先执行只读的机床状态、宏变量、PMC 或目录查询。任何红色写入、清除、启动或删除按钮都必须在现场安全确认后使用。
验证方法
- 确认设备运行实例可用,并能读取系统信息和机床状态。
- 创建一个测试 PMC 变量,核对实时值与 CNC 画面或维护工具一致。
- 在专用调试页读取一个宏变量和程序目录。
- 只有在维护窗口和设备安全条件满足时,使用专用测试编号验证写入,并立即读取确认。
常见问题
| 现象 | 检查方法 |
|---|---|
| 无法建立数据会话 | CNC IP、端口 8193、网络、操作路径和 CNC 以太网功能。 |
| PMC 变量没有值 | 地址字节区、十进制地址、数据类型、打包大小和变量周期。 |
| 文本乱码 | 文本编码、CNC 语言和程序文件编码。 |
| 程序读取被截断 | 最大程序字节数、设备目录、程序权限和网络稳定性。 |
| 特殊方法失败 | 方法参数、当前路径、CNC 模式和操作权限。 |
| 写入或控制被拒绝 | CNC 运行模式、写保护、现场联锁、用户权限和参数范围。 |