FANUC 31i-B参数设定、写入与换板迁移实战
2026/9/17 13:06:35 网站建设 项目流程

简介:这是一份FANUC Series 30i-B、31i-B、32i-B数控系统参数说明书(规格编号B-64490CM),面向数控机床电气调试、维修与系统集成人员,用于查证参数地址、含义与设定方法,也可作为排查报警、备份恢复参数的参考。压缩包内为1个PDF文件,约2.97MB,涵盖机型简称对照、T系列车床与M系列加工中心的差异,以及参数说明、警告、注意和注释的安全等级划分,并附相关说明书索引与规格编号。正文按规格、连接、操作、维修、参数说明书等序列出配套文档,延伸至宏程序执行器与编译器、C语言执行器、PMC编程,以及PROFIBUS-DP、DeviceNet、CC-Link、快速以太网等网络板卡说明书条目。目前已有3943人学习下载,适合需要系统掌握31i-B参数体系的中高级调试与维护人员。

1. 从一份 31i-B 参数说明书说起:改哪一条、什么时候生效

机床改造完第一次上电,最让人头大的不是报警本身,而是报警里那串参数号——No.1023 后面跟着一个不知所云的设定值,屏幕上没有任何文字告诉你伺服轴号配错了。FANUC Series 31i-B 的参数说明书就是为这种时刻准备的:它把上万条参数按功能段切开,逐条写明数据长度、取值范围、有效时机和默认值。这一代系统覆盖 31i-B / 31i-B5,从轴名称、伺服初始化、行程限位,到加减速时间常数、反向间隙、螺距误差补偿、I/O 通道与 PMC 接口,凡调试和维修会动到的数值,基本都能在里面找到出处。适合机床厂电气调试、设备科维修,以及接手老设备要做参数迁移的人。真正的门槛不在"会不会改",而在"改哪一条、改完要不要断电、断电之后还能不能回得来"。

2. FANUC 31i-B 参数说明书的结构与参数号读法

翻开这份手册,最先要建立的不是记忆量,而是索引感。手册的主体是按参数号顺序排列的条目,每条含参数号、位号、名称、数据长度、单位、有效时机、取值范围和厂商默认值。很多人查手册的习惯是直接翻功能章节(比如"伺服设定""进给速度"),结果在几百条相关参数里迷路;更稳的顺序是先定参数号,再用功能名反查一遍,两条路交叉验证。

2.1 参数号分段:从 No.0 到 No.20000 各段管什么

31i-B 的参数号段在现场有一套约定俗成的分工,虽然不是手册的官方目录,但用来缩小搜索范围非常好用:

参数号段现场常见用途典型例子
No.0 ~ No.999基本功能、I/O 通道、显示语言、程序相关No.20 I/O 通道选择
No.1000 ~ No.1999轴设定、进给速度、加减速、参考点No.1020 轴名称、No.1420 快速移动速度
No.2000 ~ No.2999伺服电机、放大器、电流环、位置增益No.2020 电机代码、No.1825 位置增益
No.3000 ~ No.3999显示画面、报警、螺距补偿、保护No.3620 螺距补偿点、No.3210 KEY 保护
No.4000 ~ No.9999主轴、刚性攻丝、PMC、用户宏程序No.5200 刚性攻丝相关位参数
No.10000 以上31i-B 的扩展功能与选项参数高速高精、多轴扩展相关

记住两个边界:凡是带"#n"的一定是位参数,凡是单位写着 0.001mm 或 0.001deg 的一定是带符号整数,输入 78000 代表 78mm 而不是 78m。

2.2 位参数和数值参数:No.1815#4 这类写法到底怎么读

位参数是查手册时最容易出错的地方。手册写作No.1815#4 APZ,含义是"第 1815 号参数的第 4 位",而面板上显示的是 8 个字符的位串,顺序从右往左对应 #0 到 #7。也就是说面板显示00010010时,#1 和 #4 是 1,其余是 0。下面这段代码把面板看到的位串还原成位号,核对时比肉眼数位靠谱:

def parse_bits(raw: str) -> dict: """把面板上的 8 位串还原为 {位号: 取值} 面板从左到右显示 #7 ... #0,因此需要反转索引 """ bits = raw.strip().replace(" ", "") if len(bits) != 8 or any(c not in "01" for c in bits): raise ValueError("必须是 8 位 0/1 字符串,例如 00010010") return {f"#{i}": int(bits[7 - i]) for i in range(8)} state = parse_bits("00010010") print(state["#4"]) # 1,对应 APZ 已置位 print(state["#1"]) # 1,对应 APC 使用绝对位置检测器

逻辑很直白:位串是给人看的,位号是给手册看的,两者方向相反。参数上常见的坑是"看到 #4 是 1 就以为第 4 个字符是 1",实际面板第 4 个字符是 #4 还是 #3,取决于从哪头数。把这段代码放在调试笔记里,每次改位参数前跑一遍,能省掉不少来回确认。

数据类型还有三种要区分:位参数(1 bit,只有 0/1)、字节参数(1 byte,可直接填字符,比如轴名称填 88 对应 X)、字参数(2 byte,带符号整数,多数带 0.001 单位)。手册的数据长度栏写的就是这个,改之前先看清楚,否则会出现"输入被弹回"或"非法参数"。

2.3 用 pdftotext 加 grep 把 PDF 变成可检索的参数库

几百页的手册靠翻页找参数效率极低,把 PDF 转成文本后用行号定位,是现场最省事的一种做法:

# 1) 转文本,-layout 保留手册原有的表格列对齐 pdftotext -layout "FANUC数控系统31i-B参数说明书(非常详细).pdf" fanuc_31ib_param.txt # 2) 按参数号定位,-n 输出原文行号,-A 6 顺带打印后面 6 行说明 grep -n -A 6 -E '^[[:space:]]*1815[[:space:]]' fanuc_31ib_param.txt # 3) 反向检索:不知道参数号,只知道功能名 grep -n "反向间隙" fanuc_31ib_param.txt grep -n "快速移动.*时间常数" fanuc_31ib_param.txt

pdftotext来自 poppler-utils,Linux 和 macOS 上装包即可,Windows 可以用 WSL 或者带文本提取功能的阅读器。-layout这个开关很关键,不加的话手册里的多列参数表会被压成一行,位号和数据长度串在一起根本没法看。注意如果手上的 PDF 是扫描件,抽出来会是空白,这种情况得先做 OCR 再检索。

2.4 手册里最容易被看漏的四栏信息

第一条是"有效时机"。手册里明确写着"电源 ON 时有效""复位后有效""立即有效",改完不按这个执行,机器行为不会变,容易被误判成参数没写进去。第二条是单位与倍率,同一个速度参数有的是 mm/min,有的是 mm/s,有的是倍率百分比。第三条是依赖关系,比如改伺服前要先让某个位参数为 0,改轴属性前要先确认伺服轴号已经对应上。第四条是选项前提,参数本身有效,但选项功能没开通,改了也不生效,这时候要去选项画面确认,而不是反复改参数。

3. 31i-B 参数写入使能与保护解除的完整操作

参数改不进去,九成不是参数本身的问题,而是没打开写入开关。FANUC 的设定画面里有一个"参数写入"开关,业内叫 PWE,它默认是 0,也就是禁止写入。这个设计是为了防止误触,但每次调试都要先过这一关。

3.1 打开 PWE 并写入参数的六步流程

标准操作顺序如下,每一步都别跳:

  1. 按 MDI 键切到 MDI 方式(自动方式下设定画面通常只读)。
  2. 按 [OFFSET/SETTING] 功能键,切到 SETTING(设定)画面第一页。
  3. 光标移到"参数写入",输入 1 再按 [输入],屏幕出现"参数允许写入"的提示,PWE 生效。
  4. 按 [SYSTEM] 功能键,再按 [PARAM] 软键进入参数画面。
  5. 输入参数号后按 [NO.检索] 快速定位;改位参数用 [F 输入],可以直接把某一位置 0 或 1,不用手工凑整个位串。
  6. 改完立刻把"参数写入"改回 0,如果屏幕提示"需切断电源",按提示断电重启。

第 5 步的 [F 输入] 是个容易被忽略的效率点。比如要把 No.1815#4 置 1,直接输入1815定位,光标移到 #4 上,输入 1 按 [F 输入],比手工把位串算成 00010000 再整体输入更不容易错。

3.2 参数写不进去的排查对照表

屏幕现象常见原因检查位置
输入后数值自动弹回PWE 没打开设定画面"参数写入"栏
提示写保护 / 无法修改KEY 保护等级或面板钥匙锁操作面板钥匙开关、No.3210 段
提示非法参数超出取值范围或数据长度不符手册的取值范围、数据长度栏
改完数值在、动作没变参数需断电重启才生效手册"有效时机"栏,重启验证
改完立刻报警与当前位置或参考点状态冲突先回参考点,再改行程类参数
位参数整组显示异常选项未开通或该位只读选项画面、手册的选项关联说明

这张表的使用方式是自上而下排除,不要一上来就怀疑参数本身写错。现场统计下来,最常见的是前两条,占了大部分。

3.3 KEY 锁与参数保护:No.3210 段的等级关系

FANUC 有一套独立于 PWE 的保护机制,集中在 No.3200 段,现场常叫 KEY 锁。No.3210 对应 KEY1、No.3211 对应 KEY2,以此类推,等级越高,能改的参数越多。等级不足时,参数画面里那些条目会变成不可编辑状态,而不是报错。所以遇到"看得见改不了"的情况,先去查保护等级,而不是怀疑参数号。

提示:整机交付客户之前,把这些保护等级参数恢复成出厂约定值并记录一份清单。设备到了客户现场被锁住、又没有记录,是最费时间的返工场景之一。

另外齿轮比、螺距补偿、参考点这类和机械精度直接绑定的参数,改之前先做一次全量备份,改之后再比对一次,比对方法放在最后一章。

3.4 批量写入:存储卡与以太网导入前的定位脚本

单条改参数用面板最快,整机迁移参数就得走批量。常见做法是把参数导出成文本文件,先在电脑上检查一遍再导入。导出格式各家设备不完全一样,但基本都能看到"参数号 + 值"的成对结构:

# 导出文件里确认轴名称参数,看三个轴名是否齐全、有没有重复 awk '/^(No\.)?1020[[:space:]]/ {print NR": "$0}' param_backup.txt # 只挑 No.1815 一组位参数,确认 APC / APZ 状态是否符合预期 grep -E '^(No\.)?1815[[:space:]]' param_backup.txt # 全量统计:列出所有非默认值,导入前重点看这些 grep -vE '=[[:space:]]*0$' param_backup.txt | head -50

awk那条按行号打印,方便回到原文件对照上下文;grep -vE那条过滤掉值为 0 的条目,因为绝大多数参数保持 0 是正常的,真正需要人工确认的就是那些非零值。导入前先做这一步,能提前发现比如某个轴名称空着、伺服轴号重复这类会在上电时直接报警的问题。

4. 31i-B 从开机到能跑的参数设定顺序

参数设定是有顺序的,顺序错了会出现"改完这条,前面那条又报错"的情况。整体遵循一条链:先让系统认轴,再让系统认识电机,然后定速度、定加减速,最后压限位和补精度。

4.1 轴名称与轴属性:No.1020、No.1022、No.1023 的先后关系

这几条参数经常被混在一起改,结果改完轴序乱了。它们的职责要分清:

参数号名称作用注意点
No.1010CNC 控制轴名称系统内部识别该轴与 No.1020 容易混
No.1020程序轴名称程序中显示的轴地址填字符的 ASCII 码或对应字母
No.1022各轴属性直线轴 / 旋转轴旋转轴影响进给单位与显示
No.1023伺服轴编号与放大器、FSSB 的对应关系错位直接引发伺服报警

正确的动手顺序是先定 No.1023 的伺服轴号,让系统的控制轴和硬件放大器一一对上,再改 No.1010、No.1020 的名称,最后动 No.1022 的属性。改完这一组必须断电重启,重启后观察是否有 400 号段伺服报警,有就说明轴号对应错了,先解决再往下走。FSSB 自动设定画面是另一条路径:用 [SYSTEM] 功能键找到 FSSB 设定画面,按放大器实际连接顺序自动分配轴号,比手工填省事,但分配完同样要核对一遍。

4.2 伺服初始化:从 No.2020 电机代码到 No.1815#4 置位

伺服这一段的顺序基本是固定的,跳步会反复出报警:

  1. 查电机铭牌,对照手册的电机型号一览表,把型号代码填进 No.2020。
  2. 用自动设定功能生成电流环参数(No.2021 至 No.2023 一组),不要手工猜。
  3. 设定 No.1825 位置增益,数值与机械刚性、负载惯量匹配,机械重的取小一些。
  4. 确认 No.1815#1(APC,绝对位置检测器)符合实际配置,用绝对编码器就置 1。
  5. 断电再上电,把 No.1815#4(APZ)置 1,再断电上电,手动回一次参考点。
  6. 回完参考点检查 APZ 是否自动回到 0,回到 0 说明绝对位置建立成功。

第 5、6 步是整套流程的验收点。APZ 置 1 之后如果不回参考点,绝对位置是无效的,机床一断电再上电就会丢位置。很多人只做了置位没做回参考点,以为参数写完了,实际上是半成品。

注意:位置增益、电流环参数属于和机械强相关的量,同一份参数换到另一台同型号但机械状态不同的机床上,未必能直接跑。迁移时优先复用轴设定类参数,伺服动态参数建议重新做一次自动设定。

4.3 速度与加减速:No.1420、No.1423、No.1620 怎么配

速度类参数的目标是"跑到设计速度,同时不抖动、不过冲"。几个常用条目的配合关系如下:

参数号含义单位调整方向
No.1420各轴快速移动速度mm/min不超过机械允许值
No.1423各轴手动快速移动速度mm/min一般低于 No.1420
No.1424快速移动倍率 F0 速度mm/min试切和首件用
No.1620快速移动加减速时间常数ms加大变柔和,振动时优先查这里
No.1410切削进给加减速时间常数ms影响拐角轮廓精度

调的顺序是先 No.1420 定上限,再 No.1620 让启停平滑,最后按加工需求补 No.1410。如果加速时出现明显的机械冲击,先加大 No.1620,而不是直接降 No.1420,前者对节拍的影响通常更小。倍率参数 No.1424 的作用常被低估:首件试切时把 F0 设成设计速度的十分之一,配合单段运行,比直接用低倍率旋钮更可控。

4.4 行程限位与补偿:No.1320、No.1321、No.1851 的顺序与验算

行程限位必须在参考点建立之后再设,因为 No.1320 和 No.1321 填的是相对参考点的距离,参考点没定,这两个值就没有意义。计算时留出减速余量,别贴着机械挡块:

# 参考点到正向机械挡块的实际距离 785mm,留 5mm 安全余量 travel_pos = 785.0 # 实测值,单位 mm travel_neg = 620.0 margin = 5.0 # 参数单位为 0.001mm,因此乘以 1000 再取整 print("No.1320 =", int((travel_pos - margin) * 1000)) # 780000 print("No.1321 =", int(-(travel_neg - margin) * 1000)) # -615000

逻辑说明:正方向限位取正值,负方向限位取负值,这是手册规定的符号约定,填成正数会导致超程报警方向反掉。参数说明:margin是给减速留的余量,机械惯量大的机床要留得更多;travel_pos必须以参考点为原点实测,不能直接用机床样本上的行程标注,因为样本行程通常包含了两端的机械余量。

反向间隙补偿 No.1851 放在限位之后做,用千分表打表测出反向间隙值再填,单位同样是 0.001mm。螺距误差补偿 No.3620 至 No.3624 放最后,因为它依赖前面所有参数都稳定。顺序一旦颠倒,补偿做完再改限位,等于白做一遍。

5. 参数备份比对与换板后的参数迁移

换主板、换伺服放大器、编码器损坏重装,这些场景的共同点是需要在最短时间内把能跑的参数恢复到机床上。绝大多数返工不是因为参数丢了,而是因为恢复的时候把不该覆盖的参数一起覆盖了,尤其是和参考点、绝对位置绑定的一组。

5.1 两份参数清单的差异比对脚本

先备份再动手,这是唯一没有例外的一条。备份文件拿到手之后,用脚本比对两份清单,比人工逐条核对可靠得多:

def load(path): """读取参数导出文件,返回 {参数号: 值},忽略注释行""" data = {} with open(path, encoding="utf-8", errors="ignore") as f: for line in f: line = line.strip() if not line or line.startswith("#"): continue key, _, val = line.partition("=") if key and val: data[key.strip()] = val.strip() return data good = load("param_good.txt") # 正常机床的参数 curr = load("param_current.txt") # 当前故障机床的参数 # 只关心两者都存在但取值不同的条目 diff = {k: (good[k], curr[k]) for k in good if k in curr and good[k] != curr[k]} for k, (a, b) in sorted(diff.items())[:40]: print(f"{k}: 正常机={a} 故障机={b}") print("差异条数:", len(diff))

逻辑说明:用partition("=")而不是split("="),是因为参数值里偶尔会带说明文字,partition只切第一个等号,后半段整体当作值,不会把内容切碎。参数说明:脚本只输出双方都存在的差异条目,单侧缺失的条目要另外统计,那种情况通常意味着某段参数在导出时被截断了。差异条数如果只有几条,大概率是保护等级或显示类参数;如果有几十条,重点看 No.1000 段和 No.2000 段。

5.2 换板后优先迁移的参数段与操作顺序

更换部件优先迁移的参数段可以不迁的
主板No.1000 段轴设定、No.3000 段保护、选项相关电流环自动设定值
伺服放大器No.2000 段电机与增益、No.1815 位参数程序、宏变量
编码器No.1815 绝对位置相关、No.2020行程限位

操作顺序上有一个反直觉的点值得说清楚:换伺服放大器之后,不要急着把旧参数整段导入。放大器换了,电机没换,电流环和增益是跟着放大器走的,整段导入可能让新放大器工作在旧参数上。稳妥做法是先导轴设定类参数,让系统认到轴和电机,再用自动设定重新生成电流环,最后才处理参考点。行程限位和螺距补偿属于几何量,和电子部件无关,可以放心跟着导。

产线上还有一种省事做法:给每台机床维护一份"最小可运行参数集",只包含轴设定、伺服初始化、速度和限位这几段,容量小、现场好核对,出问题先导这一份让机床动起来,剩下的显示、通讯、宏程序再慢慢补。这份最小集应该和整机全量备份分开存放,避免在慌乱的时候把整包参数无差别覆盖进去。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询