ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

FANUC 31i-B参数设定、写入与换板迁移实战

2026/9/17 13:06:52 拓冰建站 浏览量
FANUC 31i-B参数设定、写入与换板迁移实战 简介这是一份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.txtpdftotext来自 poppler-utilsLinux 和 macOS 上装包即可Windows 可以用 WSL 或者带文本提取功能的阅读器。-layout这个开关很关键不加的话手册里的多列参数表会被压成一行位号和数据长度串在一起根本没法看。注意如果手上的 PDF 是扫描件抽出来会是空白这种情况得先做 OCR 再检索。2.4 手册里最容易被看漏的四栏信息第一条是有效时机。手册里明确写着电源 ON 时有效复位后有效立即有效改完不按这个执行机器行为不会变容易被误判成参数没写进去。第二条是单位与倍率同一个速度参数有的是 mm/min有的是 mm/s有的是倍率百分比。第三条是依赖关系比如改伺服前要先让某个位参数为 0改轴属性前要先确认伺服轴号已经对应上。第四条是选项前提参数本身有效但选项功能没开通改了也不生效这时候要去选项画面确认而不是反复改参数。3. 31i-B 参数写入使能与保护解除的完整操作参数改不进去九成不是参数本身的问题而是没打开写入开关。FANUC 的设定画面里有一个参数写入开关业内叫 PWE它默认是 0也就是禁止写入。这个设计是为了防止误触但每次调试都要先过这一关。3.1 打开 PWE 并写入参数的六步流程标准操作顺序如下每一步都别跳按 MDI 键切到 MDI 方式自动方式下设定画面通常只读。按 [OFFSET/SETTING] 功能键切到 SETTING设定画面第一页。光标移到参数写入输入 1 再按 [输入]屏幕出现参数允许写入的提示PWE 生效。按 [SYSTEM] 功能键再按 [PARAM] 软键进入参数画面。输入参数号后按 [NO.检索] 快速定位改位参数用 [F 输入]可以直接把某一位置 0 或 1不用手工凑整个位串。改完立刻把参数写入改回 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 -50awk那条按行号打印方便回到原文件对照上下文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 置位伺服这一段的顺序基本是固定的跳步会反复出报警查电机铭牌对照手册的电机型号一览表把型号代码填进 No.2020。用自动设定功能生成电流环参数No.2021 至 No.2023 一组不要手工猜。设定 No.1825 位置增益数值与机械刚性、负载惯量匹配机械重的取小一些。确认 No.1815#1APC绝对位置检测器符合实际配置用绝对编码器就置 1。断电再上电把 No.1815#4APZ置 1再断电上电手动回一次参考点。回完参考点检查 APZ 是否自动回到 0回到 0 说明绝对位置建立成功。第 5、6 步是整套流程的验收点。APZ 置 1 之后如果不回参考点绝对位置是无效的机床一断电再上电就会丢位置。很多人只做了置位没做回参考点以为参数写完了实际上是半成品。注意位置增益、电流环参数属于和机械强相关的量同一份参数换到另一台同型号但机械状态不同的机床上未必能直接跑。迁移时优先复用轴设定类参数伺服动态参数建议重新做一次自动设定。4.3 速度与加减速No.1420、No.1423、No.1620 怎么配速度类参数的目标是跑到设计速度同时不抖动、不过冲。几个常用条目的配合关系如下参数号含义单位调整方向No.1420各轴快速移动速度mm/min不超过机械允许值No.1423各轴手动快速移动速度mm/min一般低于 No.1420No.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, encodingutf-8, errorsignore) 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行程限位操作顺序上有一个反直觉的点值得说清楚换伺服放大器之后不要急着把旧参数整段导入。放大器换了电机没换电流环和增益是跟着放大器走的整段导入可能让新放大器工作在旧参数上。稳妥做法是先导轴设定类参数让系统认到轴和电机再用自动设定重新生成电流环最后才处理参考点。行程限位和螺距补偿属于几何量和电子部件无关可以放心跟着导。产线上还有一种省事做法给每台机床维护一份最小可运行参数集只包含轴设定、伺服初始化、速度和限位这几段容量小、现场好核对出问题先导这一份让机床动起来剩下的显示、通讯、宏程序再慢慢补。这份最小集应该和整机全量备份分开存放避免在慌乱的时候把整包参数无差别覆盖进去。本文还有配套的精品资源点击获取