☰
欧姆龙NJ电子凸轮飞切追剪调试实战:从凸轮表到纠偏全解析
2026/10/15 7:06:07 网站建设 项目流程

简介:一份面向自动化设备调试与可编程控制器编程人员的培训资料,围绕欧姆龙NJ系列控制器中的电子凸轮功能展开,重点覆盖飞切追剪工艺下的凸轮设计、指令配置与现场纠偏。压缩包里只有一个文档,按docx格式保存,大小约3.92MB,采用应用说明式结构,适合车间培训或自学打印阅读。文档从电子凸轮基本概念讲起,对比机械凸轮说明其无间隙、高精度、可编程的优势;随后详解CJ2M-CAM系列指令的创建、启动、停止及位置读取方法,并给出飞切凸轮计算中速度同步、动态补偿与预判逻辑;切刀纠偏部分则结合传感器反馈与偏差补偿值,演示自动修正刀位的方法,高端应用还涵盖多轴同步与非线性速度变化等复杂场景。已有323人学习下载,对希望提升包装机、印刷机、切削机床控制精度与柔性的工程师具有直接参考价值。

1. 欧姆龙 NJ 电子凸轮:从机械凸轮到飞切追剪的过渡笔记

做自动化这行,第一次接触欧姆龙 NJ 电子凸轮的人,十有八九会被它的概念绕晕——明明是一段程序,却要理解成“虚拟的机械凸轮”;明明是一张张凸轮表,却要在运动控制里处理相位、速度、主轴编码器同步。这篇拆解笔记来源于一份内部的欧姆龙 NJ 电子凸轮应用说明,内容覆盖了指令、飞切计算方法、纠偏流程,我把其中最核心的东西按自己的理解重新梳理了一遍。适合刚接手 NJ 系列控制器、要调试飞切追剪或电子凸轮应用、以及被上位机那堆凸轮数据表搞得头疼的工程师。它能帮你搞清楚凸轮相位和速度匹配的基本逻辑,更重要的是,避开那些在调试现场最容易翻车的细节。

2. 电子凸轮的基本概念与选型逻辑:为什么 NJ 能做,而传统 PLC 不行

2.1 电子凸轮到底“替代”了什么

传统机械凸轮靠在轴上加工出特定轮廓,从动件跟随轮廓运动,从而实现输入轴和输出轴之间的函数关系。它的优点是可靠、直观,缺点是改一个动作就要换一根凸轮轴,而且磨损后精度下降。电子凸轮则是在控制器里用一张“凸轮表”来定义主轴角度与从轴位置的关系——主轴的当前位置通过编码器实时读取,从轴的目标位置通过插值计算得到,再交给伺服驱动器执行。

欧姆龙 NJ 系列在这块的实现属于典型的“PLC 运动控制一体化”。NJ 内置了运动控制功能模块,不需要额外挂运动控制卡。实际项目中,我通常会在 Sysmac Studio 里直接建凸轮表,然后通过指令把凸轮表激活到某个凸轮编号上。相比 CJ 系列用独立位置控制模块,NJ 的集成度高了不少,而且数据同步靠 EtherCAT 总线完成,主站周期可以做到 1ms 甚至更短。这也是为什么飞切、追剪这类要求主轴和从轴严格同步的工艺,NJ 能成为主流的选用方案。

2.2 凸轮表的核心要素:角度、位置、速度和相位

要理解欧姆龙电子凸轮,必须先掌握凸轮表的几个基础参数。坐标点是最基本的,每一点由“主轴角度”和“从轴位置”组成。主轴角度通常映射到 0~360 度一个周期,比如 0 度对应切割启动位,90 度对应切断位,180 度完成回程。不过这个映射不是死的,处理连续送料时,需要根据材料速度动态计算同步区间和回程区间的角度区间。

相位这个概念也很容易忽略。凸轮的相位决定了从轴位置相对于主轴角度的偏移。也就是说,即使凸轮表坐标完全一样,只要相位偏移 10 度,切割点就会提前或滞后。在实际飞切应用里,我会先用凸轮表保证同步段速度匹配,再用相位微调节切割位置,这样做比改凸轮表的坐标点要方便得多,而且在线调整时不容易让从轴产生位置跳变。如果你在调速时发现切割点偏移,第一反应应该是看相位,而不是推翻整个凸轮表。

2.3 为什么传统凸轮开关组合做不了飞切

在我见过的设备里,还有不少老设备用的是“编码器 + 多个凸轮开关”来做追剪。那套逻辑其实也能实现基本动作:编码器反馈当前主轴角度,PLC 内部比较代码组输出 ON/OFF,驱动离合器或气缸执行切割。但问题在于它只能做角度触发的开关量控制,无法真正让从轴与主轴保持连续的速度同步。

电子凸轮则不同,它在任何主轴角度下都能计算出一个连续的从轴位置,并且在速度变化时,从轴位置随之平滑变化,不会因为隔了几个周期才更新一次就产生阶梯状误差。这就像从“开关控制”到“闭环位置控制”的跃迁。在切长不断变化、材料线速度波动比较大的场景下,机械凸轮开关基本很难稳定切出合格品,而电子凸轮通过合理规划同步段、加速段和回程段,能实现较高的切割精度。

对比项传统凸轮开关组合欧姆龙 NJ 电子凸轮
控制方式开关量触发连续位置插补
速度同步不支持支持
在线调相位困难直接改相位参数
凸轮曲线修改换机械件凸轮表编辑/动态修改
适用场景低速、固定动作高速飞切、追剪、多轴同步

从表格能看出,选型逻辑其实很清晰:速度要求高、切长要频繁调整、多轴协同控制的设备,NJ 电子凸轮几乎是绕不开的方案。但要注意,凸轮表允许你做得非常灵活,不代表现场调试时就能随便填——凸轮曲线如果设计不当,高次谐波会直接变成机械冲击,这一点在后面的章节会展开。

3. 欧姆龙 NJ 电子凸轮指令拆解:从 MP 定义到凸轮表激活

3.1 指令体系与位置:NJ 的指令在哪里找

在 Sysmac Studio 里,电子凸轮相关的指令并不像普通逻辑指令那样放在“梯形图/LD”的功能块里,而是需要从运动控制指令集中查找。这里有个容易踩坑的点:如果你只是把凸轮相关指令当成普通 PLC 指令去搜“CAM”之类关键字,有时会被列表里一堆类似名称搞晕,因为欧姆龙 NJ 指令包含 MC 功能块,头字母不同,分类在“Motion Control”下的指令块。

我一般会先在 Sysmac Studio 左侧的“功能块/指令”树里找 “MC” 前缀的指令,比如 MC_CamIn、MC_CamOut、MC_CamTableSelect 等。注意,不同版本的 Sysmac Studio 对指令名称的显示方式略有差异,有的显示为功能块(FB),有的显示为标准指令。实际操作时,直接搜索“Cam”通常能出来一串候选,这时要区分凸轮表选择和凸轮啮合两个层级的概念:一个负责把某张凸轮表加载到轴上,另一个负责真正把主轴和从轴“啮合”起来。

3.2 典型应用流程:创建凸轮表、啮合、启动、脱离

欧姆龙 NJ 电子凸轮的标准流程一般是先创建凸轮数据表,然后在程序里通过 MC_CamTableSelect 预选、MC_CamIn 啮合,过程结束时用 MC_CamOut 脱离。为了让你更直观地理解,我贴一段简化版本的状态机代码思路。

// 伪代码:NJ 电子凸轮控制流程示意 // 阶段1:轴使能并回原点 MC_Power_Execute(axis := 从轴, enable := TRUE); MC_Home_Execute(axis := 从轴, execute := TRUE); // 阶段2:等待主轴与从轴都就绪后,选择凸轮表 IF 主轴_IsStandstill AND 从轴_IsStandstill THEN MC_CamTableSelect_Execute( master := 主轴轴引用, slave := 从轴轴引用, camTable := 凸轮表编号1, execute := TRUE ); END_IF // 阶段3:啮合凸轮,启动同步运动 IF MC_CamTableSelect_Done THEN MC_CamIn_Execute( master := 主轴轴引用, slave := 从轴轴引用, camTable := 凸轮表编号1, executionMode := 单次循环, execute := TRUE ); END_IF

这段伪代码的逻辑很简单,但要注意指令输入参数的细节。MC_CamTableSelect 的 camTable 参数并不是直接填一张“数据表文件名”,而是要引用 Sysmac Studio 里已配置好的凸轮数据变量;而 MC_CamIn 里有一个 executionMode 参数,决定主轴转一圈后凸轮是“保持啮合”还是“执行一次后自动脱离”。在飞切场景里,通常用单次循环模式,切完一刀后让凸轮脱离,回到等待状态,再判断是否进入下一次追剪。

另外,啮合时的速度模式也要注意。MC_CamIn 的输入里有一个 speed 相关参数,它指定啮合瞬间从轴是快速追上凸轮表定义的位置,还是按照给定的加速度平滑过渡。如果这个参数设置过大,现场会出现从轴跳动一下的现象,这就是没有缓冲啮合。我一般会把啮合速度设成与实际同步段速度相近的值,保证咬合时冲击最小。

3.3 参数说明:相位、缩放比与参考点

凸轮表里除了坐标点之外,NJ 的指令参数里还包含几个很容易忽视的字段。

相位偏移是最常用也最容易被误解的一个。它表示凸轮表曲线在角度轴上的平移量。如果你发现切出来的位置始终整体偏移一段距离,可以尝试把相位偏移朝反方向调整。这种方式几乎不影响凸轮曲线本身的平滑性,对产品尺寸调整很友好。

缩放比则涉及主轴角度和从轴位置的比例关系。这里要区分两种情况:一种是主轴转 360 度、从轴同步段要移动 500mm;另一种是主轴转 360 度、从轴只需要移动 250mm。在不改凸轮表曲线形状的前提下,可以设置缩放比来实现。很多工程师第一次用的时候以为要重新编辑凸轮表的每个坐标点,其实调整缩放比就够了,省事得多。

参考点参数决定了凸轮表角度零点在主轴编码器周期中的位置。假设主轴编码器每转产生 360 个脉冲,参考点设置错误会直接导致凸轮起点错位。实践中我发现,项目一旦涉及更换编码器或者主轴机械相位调整,很多人忘记重新校参考点,结果设备在第一个运行周期就会出现明显的相位偏移。这个点属于排查清单里的重点项。

4. 飞切凸轮计算方法与速度匹配:从同步段到回程段的完整推导

4.1 飞切追剪的运动学基础

飞切追剪的核心难点在于:材料以恒定线速度运动,切刀要在材料不停下来的情况下追上材料并完成切断,然后快速返回起点,等待下一次切割。整个周期可以拆成两段:同步段和回程段。同步段里,从轴(切刀工作台)的速度必须与材料线速度保持一致,这样切出来的端面才光滑,不会拉断材料;回程段里,切刀要迅速退回原位,为下一周期做准备。

计算凸轮曲线时,首先要知道材料速度 v_material 和同步段长度 L_sync,也就是切刀从切入点到切出点的行程。这个行程对应主轴角度区间 θ_sync。从轴在同步段的速度是恒定的,等于材料速度,那么从轴在同步段需要移动的距离就是速度乘以时间,时间取自主轴编码器转过 θ_sync 所用时长。这里有一个换算关系:如果主轴的角速度是 ω(度/秒),则时间 t = θ_sync / ω,从轴移动距离 S_sync = v_material * t。

4.2 凸轮表速度规划:梯形速度或 S 型速度

同步段的速度虽然是恒定的,但切刀不可能瞬间从静止跳到同步速度,也不可能在同步段结束时瞬间停止。因此,凸轮曲线在进入同步段前和离开同步段后需要加减速过渡。

常见做法是采用梯形速度规划,即从轴在同步段之前匀加速到材料速度,保持一段,再匀减速到零。如果设备速度较高、对机械冲击敏感,则用 S 型速度规划,也就是加加速度受到限制,曲线更平滑。从凸轮表坐标来看,梯型速度对应的凸轮曲线是抛物线过渡的直线,而 S 型速度对应的曲线是高次曲线。实际项目里,我不会手动去算每个点的高次方程,而是用 Sysmac Studio 的凸轮编辑功能生成,只需要填同步段角度范围和加速度/减速度数值。

生成之后,建议把凸轮表导出来,用表格软件检查每个点的“从轴位置”是否连续、速度是否有突变。手工检查的经验是:位置曲线不能出现台阶,导出的速度列如果出现超过系统允许值的阶跃,说明加速度段设置得太短。我在某次调试中就碰到过凸轮曲线在同步段末尾出现速度尖峰,当时查了很久,最后发现是我把减速度的绝对值设得过小,导致减速距离超出剩余行程,系统为了赶在给定角度内完成动作,只能强行增加速度变化率。

4.3 实际案例参数:切长、线速度与主轴转速的关系

我们看一个具体参数设定。假设生产线上材料线速度为 600 mm/s,需要切 300mm 的产品,主轴编码器转一圈对应材料走 600mm,那么主轴转速就是 1 转/秒,也就是 360 度/秒。同步段需要从轴前进的距离为 50mm,换算成时间就是 50/600=0.0833 秒,对应主轴角度就是 30 度。

所以凸轮表的同步段可以设置为:主轴角度从 0 度到 30 度,从轴位置从 0mm 线性增加到 50mm。然后回程段需要在剩余 330 度内完成快速返回。如果不考虑加减速,理想回程就是 50mm 在 0.9167 秒内返回,速度约 54.5 mm/s,远低于同步速度,看似很容易。但实际机械结构往往有行程限制,而且回程段如果太慢会占用大量主轴转角,导致下一刀周期的切长范围变小。所以回程段应尽量缩短角度区间,把更多角度留给同步等待段。

这里有个容易被忽略的计算点:凸轮曲线的“起点”和“终点”必须满足位置、速度连续。如果回程段结束位置不等于同步段起始位置,或者回程段结束速度不为 0,那么下一个周期开始时会造成位置跳变或速度跳变,轻则产品切口毛糙,重则撞机。因此每段曲线连接处必须检查速度和位置的连续性。NJ 凸轮表工具会自动做插值,但如果你手动修改端点,还是要自己确认首尾值一致。

4.4 用追剪公式校验凸轮表

在工程实践中,我经常用下面这个公式来校验切长:切长 L_cut = v_material * T_cycle。其中 T_cycle 是主轴转一圈所用的时间,也是两次切割的时间间隔。如果凸轮表的同步段角度是 θ_sync,那么切刀与材料同步的时间是 T_sync = θ_sync / ω。在这段时间内,材料前进距离等于 v_material * T_sync。这部分距离应由从轴的同步段移动距离来匹配。

如果发现理论切长与实际切长不一致,首先检查主轴转速设定和编码器倍频是否正确。其次,检查凸轮表的同步段角度值与实际程序里启动凸轮的主轴角度之间是否有偏移。因为凸轮表定义的是相对角度,而实际启动点可能依赖于外部信号触发,如果在主轴还没转到位时就提前啮合,实际同步段就会被拉长,切出来的长度自然变长。

另外,如果材料线速度不是恒定值,比如启动和加速阶段,飞切无法做到完全同步。此时要么在主轴速度稳定之后才启动切割,要么引入动态修正:根据实时线速度微调凸轮表的同步段终点位置。欧姆龙 NJ 支持在线修改凸轮表数据,但要注意修改时机。我一般不会在凸轮啮合状态下大范围修改凸轮表,否则从轴位置会执行跳变。安全的做法是在凸轮脱离阶段更新凸轮表,下一周期再生效。

5. 切刀纠偏与同步精度调优:常见问题、偏差来源与补偿策略

5.1 切刀偏移的现象与定位思路

生产中最常见的切刀偏移表现为两种:一种是整体偏移,即所有切割点都比标记线偏前或偏后相同距离;另一种是随机偏移,即每一刀的位置误差有大有小,没有固定规律。

整体偏移优先查相位和机械原点。在欧姆龙 NJ 里,主轴编码器的零点并不一定对应切刀的机械原点。如果凸轮表的 0 度对应的是编码器 Z 相信号,而切刀在原点时,主轴角度并非 0 度,那就需要在程序里加上相位偏移量来修正。随机偏移则更麻烦,通常与主轴编码器信号干扰、伺服跟随误差、机械间隙都有关系。

在处理这一类问题时,我建议先记录一段数据的误差序列,看误差是否与主轴角度相关。如果误差固定出现在同步段的某一段,可能是凸轮曲线与机械实际行程不匹配;如果误差呈现周期波动,可能和切割过程中的负载变化、材料打滑有关。

5.2 补偿方法一:相位偏移动态微调

对于整体偏移,用 MC_CamIn 指令里的相位参数直接微调,是最快捷的手段。比如切出来的产品比目标位置晚了 2mm,而同步段从轴速度是 600 mm/s,对应的时差是 3.33ms,换算成主轴角度大约是 1.2 度(主轴 360 度/秒)。那么把相位偏移加大 1.2 度,切割点就会提前。实际操作中,我不建议直接按理论值一步到位,先调整一半,观察稳定后再继续微调,因为机械形变和材料张力会影响实际效果。

这里有一个小细节:相位偏移的调整方向和主轴正反转方向有关。如果主轴是正转运行,而你把相位偏移加在正方向,切割点是提前还是滞后要做仿真或在低速度下验证。如果项目里主轴会正反转切换,那就更要在切换后重新检查相位逻辑,避免一个方向正确、另一个方向反而更偏。

5.3 补偿方法二:从轴跟随误差补偿

随机偏移里,有很大一部分来源于伺服系统的跟随误差。尤其是同步段要求从轴严格跟随材料速度,如果伺服增益不足,从轴实际位置会滞后于指令位置,形成一个固定或者变化的时间滞后。欧姆龙 NJ 的轴设置里有“位置环增益”和“速度环增益”,适当提高位置环增益能减少跟随误差,但增益过高会引起振荡。

更稳妥的办法是利用 NJ 的动态补偿功能,对位置指令叠加一个前馈量。具体来说,可以实时计算从轴理论速度,然后把速度前馈值以一定比例加入伺服速度指令,让伺服提前响应。这种补偿方式在速度变化大的回程段尤其有效,因为它能抑制加减速过程中的跟踪误差。我在某台模切机上用这个方法把切刀定位精度从正负0.5mm提升到了正负0.15mm,虽然设备机械本身的刚性一般,但前馈补偿的作用非常明显。

5.4 补偿方法三:在线微调凸轮表

如果切割位置的偏差来源是凸轮表本身的设计不合理,比如同步段实际需要的行程比凸轮表定义的长或短,那么可以通过在线修改凸轮表来修正。具体做法是:在凸轮脱离状态下,根据最近几刀的误差平均值,把同步段终点位置平移一个修正量。这样下一周期开始后,切刀在同步段会走得更远或更短。

但要注意,修改凸轮表不能只改终点,否则会造成曲线不连续。正确做法是保留起点不变,只修改同步段终点,然后重新生成中间的插值点,让整段曲线重新平滑过渡。Sysmac Studio 的凸轮编辑功能里可以导出凸轮表到表格,修改后导回。也可以直接在程序里用数组修改数据,然后调用凸轮表更新指令。不过在线更新凸轮表时,要确认没有其他凸轮引用同一张表,否则会影响其他轴。我一般会给每轴独享一张凸轮表,避免数据竞争。

5.5 同步精度的终极验证:示波器与追踪曲线

排查同步精度时,只看定位精度的最终结果是不够的,因为最终位置准确不代表过程中速度一直匹配。强烈建议使用 Sysmac Studio 的监控功能,把主轴实际位置、从轴实际位置、凸轮啮合状态同时录下来,看同步段内从轴速度是否和理论速度一致。如果能用数据追踪功能导出 CSV,再用图表分析,那就更直观了。

查看同步段速度曲线时,重点关注同步段初始和结束位置附近是否有速度波动。如果初始阶段有较大过冲,说明啮合时的加速度太大;如果结束阶段有速度回弹,说明减速段设置过短。遇到这种情况,不要急着调 PID,先把凸轮表的加速度规划重新考虑,往往立刻见效。机械间隙引起的误差则表现为从轴在换向点附近的位置波动,那是凸轮解决不了的,需要从机械结构上去处理。

6. 项目实战中的避坑与常见问题排查:五条最典型的踩坑记录

6.1 凸轮表选好了,为什么从轴纹丝不动

现象:程序里 MC_CamTableSelect 显示 Done,MC_CamIn 也执行了,但从轴就是不动,主轴编码器在变化,凸轮状态却显示未激活。

原因:这类问题八成出在主从轴配置上。Sysmac Studio 里定义凸轮轴关系时,主轴的编码器输入可能没有正确关联到运动控制轴的“主编码器”通道。也就是说,凸轮轴的“主轴位置”始终是零,从轴自然无法跟随。

解决:打开轴设置里的“外部编码器”或“主编码器”配置,确认主轴实际绑定的是物理编码器输入,而不是默认的虚拟轴。如果用的是 EtherCAT 伺服内部编码器作为主轴反馈,要检查主轴的“位置实际值”来源是否配置正确。在我遇到这个现象时,通常还会加一个显示功能,让主轴速度直接显示在触摸屏上,如果主轴速度显示为 0,那大概率就是反馈源的问题。

6.2 凸轮啮合瞬间从轴剧烈跳动

现象:MC_CamIn 执行的一瞬间,从轴猛地冲出去,甚至触发伺服过流报警。

原因:啮合瞬间,主轴此时的角度和凸轮表上该角度对应的从轴位置之间存在很大偏差,从轴需要瞬间移动到理论位置,因此产生巨大速度冲击。说白了就是没有做“凸轮啮合同步”。

解决:在 MC_CamIn 之前,先把从轴移动到凸轮表在当前主轴角度对应的位置上,再进行啮合。欧姆龙 NJ 有相关指令可以在啮合时指定一个“接近区”,让从轴先快速趋向目标位置。另一种做法是在凸轮表设计时确保初始点从轴位置是零,并且啮合前从轴已经回位。经验表明,把啮合前的从轴位置先通过位置控制模式走平缓轨迹,再切到凸轮模式,冲击可以降到很小。

6.3 高速时切长越来越短,低速时正常

现象:设备低速运行时切割长度很准,一旦提速,产品长度变短,误差随速度上升而增大。

原因:这通常是因为从轴在同步段的实际速度跟不上材料速度,伺服跟随滞后导致从轴实际移动量小于理论值,从而切刀提前完成同步,切割位置前移。另一个原因是凸轮表的加加速度过大,高速时机械发生形变或振动,导致实际运动位置滞后。

解决:先降低加速度和减速度,让凸轮曲线更平缓;然后适当增加位置环增益和速度前馈量。如果还是不行,把凸轮表同步段角度扩大一点,给伺服更多加速时间。从系统设计的角度,还要考虑主轴的响应时间——如果主轴编码器反馈本身就滞后,凸轮啮合计算就会基于一个过时的主轴角度,导致整体相位后移。

6.4 更换伺服电机后,切刀位置整体漂移

现象:设备维修中更换了从轴伺服电机或减速机,结果重新开机后,切出来的产品位置整体偏移了一个固定距离。

原因:更换机械部件后,从轴位置原点和伺服电机编码器零点之间的对应关系发生了变化。如果凸轮表里有多圈位置数据,而伺服电机编码器的多圈零点没有对齐机械原点,就会出现一个固定偏移。

解决:重新执行从轴零点校准,让机械原点和编码器位置归位一致。在 NJ 项目里,建议在轴参数里设置“原点返回”方式,并校正好原点接近速度和零点位置。值得注意的是,如果凸轮表里有“绝对值编码器”的多圈设置,则要在更换电机后重新做一次多圈清零,否则它虽然能回原点,但凸轮表激活时位置偏置依然存在。这属于设备维护后很容易忽略的坑。

6.5 凸轮表在线修改后,下一周期没有生效

现象:程序里修改了凸轮表的某些坐标值,也调用了凸轮表更新指令,但实际运行结果还是沿用旧数据。

原因:凸轮表数据被“缓存”了。某些版本的 NJ 凸轮表指令在凸轮啮合期间,会对凸轮数据做一个内部副本,外部修改不能直接覆盖正在运行的副本,必须在凸轮脱离后重新选择或重新加载凸轮表。

解决:在凸轮脱离阶段,先调用 MC_CamOut,然后再修改凸轮表数据,最后在下一周期啮合前重新调用 MC_CamTableSelect。另外,有些项目里带“凸轮表编号”的引用变量要重新赋值,而不是只更新表格数据对象。如果系统用的是绝对编码器,还有一个小技巧:在修改凸轮表前把从轴移到参考点,这样重新啮合时位置基准一致,不会引入额外偏移。

7. NJ 电子凸轮进阶:在线切换凸轮表与多轴同步的小技巧

在完成基础飞切功能后,往往会遇到更复杂的需求,比如同一台机器要切多种长度、多刀追剪、或者两轴同时跟随同一个主轴但相位不同。欧姆龙 NJ 在这方面的灵活性还是很强的,这里分享几个我看到比较实用的处理方式。

一个很有用的功能是凸轮表在线切换。切换前先把从轴脱离凸轮,然后将从轴移动到新凸轮表在当前主轴角度对应的位置附近,再啮合新凸轮表。如果两个凸轮表之间对应的位置差异很大,强行切换就会引起与 2.1 节描述的跳动类似的问题。常见做法是增加一个“过渡凸轮表”,从当前位置平滑过渡到目标凸轮表的起点位置。我在做多规格切长切换时,会预先准备多张凸轮表,同时在 HMI 上设定规格,PLC 根据当前主轴角度自动选择过渡阶段。这样做的好处是不用停机也能切换规格。

多轴同步场景下,要特别注意“主轴”的定义。多个从轴可以共享同一个主轴编码器,方法是各自分别调用 MC_CamIn,都使用相同的主轴引用。但不同从轴的凸轮表相位可以不同,从而实现错相位动作。比如包装机里,送料轴和封切轴都跟踪主轴,但封切轴的凸轮相位要滞后一点,保证先完成送料再封切。这里最麻烦的是相位参数在运行时不能简单叠加。因为一共有三层:凸轮表本身的角度偏置、MC_CamIn 的相位输入、以及主轴零点偏置。如果三层混用,调试时会非常难排查。我习惯的做法是:只把主轴零点偏置用于机械对零,MC_CamIn 的相位输入用于运行中的微调,凸轮表本身固定为 0 度起点。这样分层清晰,出问题也好定位。

关于回程段的设计,还有一个进阶技巧:利用凸轮表的多周期模式。有的设备需要一次主轴旋转完成多次切割,比如主轴转一圈切两刀,那么凸轮表里可以定义两个同步-回程周期。这种模式下,回程段不再需要飞跃整个 360 度,只需要回到第二个同步段的起点。这种设计能提高设备效率,但计算复杂度也增加了,而且对机械行程的利用率要求更高。我在处理这种需求时,会把每段的角度区间单独列出来,用表格核对是否重叠、是否有剩余等待角度。

验证凸轮表是否平滑,可以用 Sysmac Studio 的凸轮编辑器直接看曲线导数和速度曲线。如果某点速度曲线出现尖角,说明凸轮表在该处的连续导数不满足要求,即使当时运行没报警,长期也会导致机械磨损加剧。自从有一次因为凸轮表加速度曲线不平滑导致同步带磨损异常后,我每换一次产品规格都会强制检查一遍凸轮表的速度、加速度曲线,确认没有问题再投产。希望这个小习惯对你也有帮助。

最后提一个容易忽视的点:NJ 的在线修改凸轮表功能虽然强大,但它本质上是把“控制逻辑”和“工艺参数”混在了一起,建议把凸轮表数据封装到功能块里,对外只暴露长度、相位、速度几个接口,内部再生成凸轮表。这样改起来安全,也方便标准化。希望这篇拆解笔记能把欧姆龙 NJ 电子凸轮的应用过程讲清楚,从凸轮表原理、飞切计算到纠偏和排查,你照着这个思路去调试,会比自己慢慢试高效得多。希望帮到你。

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

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

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

立即咨询