一句话结论:模拟主轴调不好,九成栽在三处——
3730(增益)与3731(偏置)填反、8133#5没置 1 导致系统仍按串行主轴通信、JA41编码器 A/B 相接反导致一转信号方向反。这三处都不会给你一个明确的报警,只会表现为「转速差一截」「低速漂移」「攻丝 SP742」。
变频器驱动的主轴(业内常叫「模拟主轴」或「变频主轴」)在 FANUC 上是一套半开放的方案:CNC 只负责发 0–10V 电压和一堆开关量,真正的转速闭环、加减速、定向全在变频器里。所以调试思路和串行主轴完全不同——串行主轴是调 CNC 侧的参数,模拟主轴是调两边的”对齐”。
一、先搞清楚模拟主轴的能力边界
决定要不要走这条路之前,先看这张表。模拟主轴的「能做到」和「做不到」划线很清楚,很多项目翻车是因为一开始就选错了方案。
| 功能 | 模拟主轴是否支持 | 前提条件 |
|---|---|---|
| 正反转、S 指令调速 | 支持 | 基本功能,只需 JA40 电压输出 |
| 主轴转速显示 | 支持 | JA41 接位置编码器 + 3720 设对脉冲数 |
| 主轴定向(M19) | 支持 | 变频器自身必须支持定向,且 JA41 编码器正常 |
| 刚性攻丝(M29) | 支持 | 变频器必须支持刚性攻丝模式 + G61.0 进 PMC + 编码器线数足够 |
| Cs 轮廓控制 | 不支持 | 需串行主轴 |
| 多主轴(>1 个模拟主轴) | 不支持 | 一套系统只有一路模拟量输出 |
关键限制:FANUC 的模拟量输出只有一路,所以整套系统最多只能有 1 个模拟主轴。如果机床有双主轴,另一个必须是串行主轴。此外,JA41 端口的最大输入频率约 256 kHz,这直接决定了编码器线数与最高转速的乘积上限,见后文第五节的算例。
二、硬件接线:三个接口,别接错

| 接口 | 作用 | 关键引脚 | 常见错误 |
|---|---|---|---|
JA40 | 输出 0–10V(或 ±10V)模拟量给变频器频率给定端 | SWC(7 脚)、ES(5 脚)、ENB1(8)、ENB2(9) | 单极性接法把极性接反 → 变频器不调速;ENB1/ENB2 误接 |
JA41 | 接收主轴位置编码器(A/B/Z 差分) | PA(5) *PA(6) PB(7) *PB(8) PZ(15) *PZ(17) +5V(9/18/20) 0V(12/14/16) | A 与 B 互换 → 转向显示反、攻丝 SP742;屏蔽层单端接地没做 |
JD1A/JD51A | I/O Link,接开关量(正反转、零速、报警、定向完成) | 视 I/O 单元而定 | 零速/速度到达信号没回接 F45.1/F45.3,系统认为主轴没转 |
关于极性,JA40 有两种用法:
- 单极性:只输出 0~+10V,转向靠变频器的正转/反转开关量端子切换。接反极性变频器完全不动作。
- 双极性:输出 −10V~+10V,正负号表示转向。这种接法省掉两个开关量输出,但要求变频器支持双极性给定(很多通用变频器不支持,需要外加转换板)。
先确认变频器的频率给定是单极性还是双极性,再决定 JA40 怎么接——这一步搞错,后面所有参数都白调。
三、启用链:四步,顺序不能换
模拟主轴的启用参数必须按顺序设,中间跳一步就会出现「参数都设了但主轴不动」。

| 步骤 | 参数 | 设定值 | 作用 | 设错的后果 |
|---|---|---|---|---|
| ① | 8133#5 | 1 | 不使用主轴串行输出 | 保持 0 时系统仍尝试与串行主轴放大器通信 → 出现通信类报警、主轴指令无输出 |
| ② | 3716#0(A/Ss) | 0 | 主轴电机种类:0 = 模拟主轴,1 = 串行主轴 | 设错报 SP1996(主轴参数设定错误) |
| ③ | 3717 | 1 | 各主轴对应的主轴放大器号;模拟主轴填「本系统中模拟主轴排第几」 | 不设或设错时无报警,但主轴完全不转(最坑的一种) |
| ④ | 3799#1 | 见下 | 是否进行模拟主轴的位置编码器断线检查 | 保持 0 且未接编码器 → 报 SP1240(位置编码器断线) |
关于 3717,官方说明是「使用模拟主轴的情况下,请在主轴配置中设定模拟主轴」。规则是:系统整体有 N 个主轴时,模拟主轴的放大器号填它在主轴序列里的位置。例如系统有 2 台串行主轴 + 1 台模拟主轴,模拟主轴排第 3,3717 就填 3;只有一台模拟主轴就填 1。
关于 3799#1(0 = 进行断线检查,1 = 不检查):
- 没有装位置编码器(只做调速、不做定向/攻丝)→ 必须设 1,否则一上电报 SP1240。
- 装了位置编码器 → 设 0,保留断线检查。这是安全功能,能及时发现编码器线缆断裂,别为了「消报警」一直设 1。
接着是三个基础量:
| 参数 | 含义 | 设定方法 |
|---|---|---|
3735 | 主轴电机最低钳制速度 | = 最低钳制转速 ÷ 主轴电机最高转速 × 4095;无特殊要求设 0 |
3736 | 主轴电机最高钳制速度 | = 最高钳制转速 ÷ 主轴电机最高转速 × 4095;无特殊要求设 4095(M 系列通常需要显式设 4095) |
3741~3743 | 各档位下,模拟量 10V 对应的主轴转速 | 有齿轮箱时按各档传动比分别算;单档直接填主轴最高转速 |
3741 设错最典型的症状是「指令 S 值和实际转速差一个固定比例」——因为电压按 S 值线性输出,而 3741 定义了满量程电压对应多少转,这个基准错了,整条曲线都偏。
3720 是位置编码器脉冲数 = 编码器线数 × 4(四倍频)。用 1024 线编码器就填 4096。这个值填错,转速显示会成比例偏,而实际转速是对的。
四、3730 / 3731 标定:两个公式,一个顺序
这是模拟主轴调试里唯一必须动万用表的一步,也是最容易填反的一步。

先分清两者的分工:
3731= 主轴速度模拟输出的偏置电压补偿量。管的是 S0 时输出是不是 0V,即「零点」。3730= 主轴速度模拟输出的增益调整数据。管的是 S=最高转速时输出是不是 10V,即「满量程」。
标定顺序必须是先 3731 后 3730,理由很直接:偏置是一个全量程的常数偏移,如果先调增益,之后一调偏置,满量程点又跑了,得重来。反过来先定零点、再定满量程,两步互不干扰。
具体步骤:
- 断开变频器(拔掉模拟量输入端子,或断变频器使能),避免电机实际旋转。
3731先设 0,3730先设 1000(标准值)。- 执行
M03 S0,用万用表测JA40的 5 脚与 7 脚之间的电压,记为 Voffset。 - 算
3731 = −8191 × Voffset÷ 12.5。例如测得 +0.03V →3731 = −8191 × 0.03 ÷ 12.5 ≈ −20。 - 写入
3731,再执行M03 S0复测,应接近 0V。 - 执行
M03 S最高转速(对应3741的值),测电压,记为 Vspan。 - 算
3730 = 10 ÷ Vspan× 1000。例如测得 9.97V →3730 = 10 ÷ 9.97 × 1000 ≈ 1003。 - 写入
3730,再执行M03 S最高转速复测,应接近 10V。 - 恢复变频器接线,实际运行验证。
两个常见的坑:
- 只做了一侧。只调
3730不调3731,零点偏了 0.2V 也是慢速时差 2%,表现为「低速转速稳不住、左右漂移」。 - 公式符号搞错。
3731的公式带负号,是因为偏置量与实际输出电压方向相反。测到正偏压要填负数,填成正数会把偏差放大一倍。
提示:不同系统型号(0i-D / 0i-F / 0i-MF Plus)的
3730/3731标准初值可能有差异,有的出厂是3730=1000、3731=0,也有现场资料写3730初值 960。以你系统的参数说明书为准,但标定公式是一样的。标定完以万用表实测 0V / 10V 为唯一验收标准,别信参数值本身。
五、编码器选型:256 kHz 这条硬线
JA41 端口的最大输入频率约 256 kHz,而编码器输出的脉冲频率是:
f = 线数 × 转速 ÷ 60
所以给定线数下,能显示的最高转速被钉死:
| 编码器线数 | 3720(线数×4) | 可显示最高转速 | 结论 |
|---|---|---|---|
| 512 | 2048 | 60 × 256000 ÷ 512 = 30000 r/min | 转速够,但 512 线做刚性攻丝精度不足 |
| 1024 | 4096 | 60 × 256000 ÷ 1024 = 15000 r/min | 攻丝够用,但 15000 以上转速显示异常 |
| 2048 | 8192 | 60 × 256000 ÷ 2048 = 7500 r/min | 高精度攻丝,转速上限低 |
这就是那个经典矛盾的来源:高速电主轴(24000 转)+ 刚性攻丝,两者在 256 kHz 的限制下不能兼得。选 512 线能显示满转速但攻丝精度不够,选 1024 线能攻丝但 15000 转以上显示乱跳。
实际处理原则:
- 转速显示不准但实际转速是对的、且刚性攻丝能正常执行 → 保持 1024 线不动,向操作工说明「15000 以上显示值不可信,以变频器面板为准」。
- 如果工艺必须在 15000 以上做精密攻丝 → 这条路走不通,得换串行主轴方案。
还有一点常被漏:3716#7 是「是否进行主轴位置编码器脉冲数变更」。做刚性攻丝时这个参数要设 0,设成 1 会导致攻丝时不显示主轴转速——不是故障,是参数行为,但现场经常被当成故障排查半天。
六、PMC 侧:模拟主轴有一半活在梯形图里
CNC 只发电压,其余全靠 PMC 把两边信号对起来。这一段没做好,参数再对也没有功能。
| 方向 | CNC 侧信号 | 说明 | 对接变频器侧 |
|---|---|---|---|
| CNC → PMC | G70.6(定向指令) | M19 时置位 | → 变频器「定向启动」输入 |
| CNC → PMC | G70.2 / G70.3(CTH2A / CTH1A) | 齿轮档位选择(有齿轮箱时) | → 换档电磁阀 |
| CNC → PMC | G70.0 / G70.1(SFR / SRV) | 主轴正/反转指令 | → 变频器正/反转端子 |
| CNC → PMC | G61.0 | 刚性攻丝信号 | → 变频器「刚性攻丝模式」输入 |
| CNC → PMC | G33.7 | 主轴倍率来源:0=CNC 给,1=PMC 给 | 决定倍率切换权归属 |
| PMC → CNC | F45.1 | 主轴零速检测 | ← 变频器「零速」输出 |
| PMC → CNC | F45.3 | 主轴速度到达 | ← 变频器「速度到达」输出 |
| PMC → CNC | F45.7 | 主轴定向完成 | ← 变频器「定向完成」输出 |
| PMC → CNC | F34.0 / F34.1 | 齿轮选择反馈(GR10 / GR20) | ← 档位确认开关 |
最容易漏的三条:
F45.1/F45.3/F45.7必须回接。不接的话系统认为主轴「永远没到速」,M03 后面的程序段会一直等,或者自动方式下根本走不下去。判据:执行 M03 S500,在 PMC 信号画面看F45.3是否变 1。G29.6(\*SSTP 主轴停止)必须保持 1。这是低电平有效的急停类信号,梯形图里漏了或者逻辑写反,主轴一动不动。- 刚性攻丝必须让
G61.0与G28.1同步。G61.0让变频器进攻丝模式,G28.1切换齿轮档位(用3742的攻丝专用转速上限)。两者不同步,攻丝电压曲线用的还是普通切削档,误差压不下来。
关于 G33.7:这个信号决定主轴倍率(50%/100%/120%)由谁控制。常规做法是 AUTO/MDI 方式下由 CNC 给(G33.7=0),JOG/HAND 方式下由 PMC 给(G33.7=1)。如果梯形图完全没处理,让 CNC 一直给也行,但操作工在手动方式调倍率会没反应。
七、五个高频翻车点

| 现象 | 首要怀疑 | 判据 | 处置 |
|---|---|---|---|
| 参数都设了,主轴完全不转,无报警 | 3717 未设 / G29.6 没保持 1 | 看 JA40 有无电压输出;查 PMC G29.6 状态 | 填 3717;修正梯形图 |
| 指令 S 值与实际转速差固定比例 | 3741 设错 / 3720 设错 | 实测「S 值 ÷ 实际转速」是否恒定 | 按满量程转速重算 3741;按线数×4 重算 3720 |
| 低速转速不稳、左右漂移(零漂) | 3731 未标定 / 变频器端零漂补偿未开 | M03 S0 时 JA40 电压是否 0V | 按公式重算 3731;同时在变频器端开启零漂抑制 |
| 攻丝时主轴猛转随即报 SP742(LSI 溢出) | JA41 的 A/B 相接反 / 3742 与变频器攻丝转速上限不一致 / 5280 与 5291–5294 过大 | 手动旋转主轴看转速显示方向是否与实际一致 | 互换 A↔B、\*A↔\*B;对齐两侧攻丝转速上限;回调增益 |
| 一上电报 SP1240(位置编码器断线) | 未装编码器但 3799#1=0 / 线缆断 | 检查 JA41 插头与线缆 | 无编码器则 3799#1=1;有编码器则查线 |
关于 SP742:这是模拟主轴做刚性攻丝时最常见也最让人头大的报警(「刚性攻丝报警,LSI 溢出」)。它的本质是主轴实际响应跟不上指令,误差累积到溢出。三个层面的原因要按顺序排:
- 反馈极性错(接线层)——A/B 相接反,系统拿到的转向与指令相反,误差瞬间爆表。先查这个,改接线成本最低。
- 转速上限不一致(参数层)——
3742(CNC 侧攻丝档最高转速)与变频器侧「刚性攻丝最高转速限制」必须一致。两边差一倍,中间转速段必然溢出。 - 增益过大(调参层)——为了压攻丝误差把
5280(刚性攻丝位置环增益)和5291–5294(主轴环增益倍乘比)调很高,反而让系统过冲,误差更大。攻丝精度要在「够用」为止,不是越高越好。
另外注意变频器侧也要进攻丝模式:多数变频器有独立的「刚性攻丝增益组」(速度环比例增益、积分时间、位置环比例增益、加减速时间),这些不设,光调 CNC 侧永远压不住。CNC 侧 5261–5264(攻丝加减速时间常数)调小能减少误差,但调得过小也会直接触发 SP742(加速度超过系统能承受的范围)。
八、验收清单
调试完按这个清单逐条过,全过才算完工:
M03 S0→JA40输出 0V ± 0.02VM03 S最高转速→JA40输出 10V ± 0.05VM04反转,转速显示方向与实际转向一致- 手动盘车,转速显示值与实际误差 < 1%
- 从最低到最高分 5 点测转速,实际值线性度偏差 < 2%
M19定向,重复定位 5 次,偏差在工艺允许范围内- 刚性攻丝试切,诊断号 453 接近 1(SP0741 不报)
- 断电重启后所有参数保持(
3799#1等不被复位)
第 7 条是刚性攻丝的核心判据,详见 FANUC 刚性攻丝参数全解,参数速查见 刚性攻丝参数速查表。模拟主轴的电压标定和串行主轴的增益调整是两套逻辑,别混用。
常见问题
模拟主轴能不能做刚性攻丝?
能,但有三个前提必须同时满足:变频器本身支持刚性攻丝模式(有独立的攻丝参数组)、JA41 接了位置编码器、位置编码器线数够(一般 1024 线起)。缺任何一个都只能用柔性攻丝(浮动夹头)。注意模拟主轴做攻丝时 G61.0 必须由 PMC 置位并同时切换齿轮档位。
为什么 3717 没设,主轴完全不转但没有任何报警?
因为 3717 定义的是「这台主轴挂在第几号主轴放大器上」。设为 0 时系统的理解是「这个主轴没有放大器」,于是根本不发主轴指令,也不认为配置有错——所以不报警。这是模拟主轴调试里最容易浪费时间的一个点,排查「参数都设了但不转」时优先看它。
3730 和 3731 到底哪个管零点、哪个管满量程?
3731 管零点(S0 时输出是否为 0V),3730 管满量程(最高转速时输出是否为 10V)。记忆方式:数字大的管大电压。标定顺序必须先是 3731 再是 3730,因为偏置是全量程常数偏移,后调会把已经定好的满量程点带跑。
最后更新:2026-10-31
面向海外读者的完整英文版,内容与本文对应 — 可直接转给非中文同事或海外客户。

























暂无评论内容