4. NJ/NX控制器运动控制基础

NJ/NX 系列控制器的运动控制能力,核心并不在“会不会发脉冲”,而在于是否把轴对象、指令语义、同步关系和坐标系约定四件事配置正确。Sysmac Studio 中,运动控制功能通过 EtherCAT 或内置轴端口连接伺服驱动器,每个伺服轴在控制器内部映射为一个“轴变量”(如 MC_Axis000),所有运动指令都围绕这个轴变量展开。理解这一层映射关系,是后续所有配置和编程的前提。

一、轴配置:从物理伺服到逻辑轴

在 Sysmac Studio 的“运动控制设置”中,每个轴需要完成三类参数:轴类型与单位、机械减速比与行程、限位与原点。轴类型决定该轴是伺服轴、编码器轴还是虚拟轴;单位换算则把“脉冲/转”转换为“mm、度或用户单位”,这一步直接决定后续指令中的位置数值含义。

以一台丝杠导程 10 mm、减速比 1:1、编码器 23 位(8388608 脉冲/转)的伺服轴为例:若用户单位设为 mm,则每毫米对应脉冲数为 8388608 ÷ 10 = 838860.8 脉冲/mm。Sysmac Studio 会自动根据“每转脉冲数”和“每转移动量”计算电子齿轮比,无需手动填写分数。配置完成后,指令中写 100 即代表 100 mm,而不是 100 脉冲——这是初学者最容易混淆的地方。

软限位(Soft Limit)和原点(Home)也必须在此阶段设定。软限位以用户单位给出正负边界,原点则决定绝对坐标的零点。若原点未定义,绝对定位指令 MC_MoveAbsolute 将无法正确执行,控制器会报“原点未确立”错误。

NJ/NX 轴配置与运动控制对象关系 物理伺服 EtherCAT 从站 编码器 23 位 逻辑轴 MC_Axis000 单位:mm 减速比 1:1 / 导程 10 mm 软限位 -200 ~ +200 运动控制指令 MC_Power / MC_MoveAbsolute MC_MoveRelative / MC_Home MC_GearIn / MC_CamIn 同步控制关系 主轴 Master MC_Axis000 从轴 Slave MC_Axis001 电子齿轮 / 凸轮耦合 齿轮比 = 从轴位移 / 主轴位移

二、运动控制指令:从使能到定位

NJ/NX 的运动指令遵循 PLCopen 规范,每个指令都有 Execute、Done、Busy、Error 等标准引脚。实际编程中,必须按顺序执行:先 MC_Power 使能轴,再 MC_Home 回原点,之后才能调用定位指令。

以绝对定位为例,MC_MoveAbsolute 的关键输入包括:Position(目标位置,用户单位)、Velocity(速度)、Acceleration、Deceleration、Jerk(加加速度)。若 Jerk 设为 0,则速度曲线为梯形;若设为非零值,则为 S 形曲线,可减少机械冲击。以下是一段典型的 ST 代码片段:

MC_Power(Axis := MC_Axis000, Enable := TRUE);
MC_Home(Axis := MC_Axis000, Execute := bHome);
MC_MoveAbsolute(Axis := MC_Axis000,
                Execute := bMove,
                Position := 150.0,
                Velocity := 200.0,
                Acceleration := 1000.0,
                Deceleration := 1000.0,
                Jerk := 5000.0);

执行后,通过 MC_Axis000.Act.Pos 可读取当前位置,MC_Axis000.Status.Standstill 判断轴是否停止。若 Error 置位,需检查 ErrorID,常见错误包括“超出软限位”“轴未使能”“原点未确立”。

三、电子齿轮与凸轮:同步控制的两种方式

电子齿轮(MC_GearIn)建立主轴与从轴之间的线性速度比例关系。例如主轴以 100 mm/s 运行,齿轮比设为 2:1,则从轴以 200 mm/s 跟随。齿轮比可在运行中通过 MC_GearInPos 或 MC_SetGearRatio 动态调整,适合需要变速同步的场合,如飞剪、追剪。

凸轮(MC_CamIn)则建立非线性位置映射关系。凸轮表由若干关键点(主轴位置、从轴位置)定义,控制器在点之间进行插值。典型应用是包装机中“送料—切刀”的周期动作:主轴旋转 360° 对应从轴完成一次“下降—切割—上升”循环。凸轮表可在 Sysmac Studio 的凸轮编辑器中以图形方式绘制,也可通过 MC_CamTableSelect 选择已定义的表。

电子齿轮适合“速度比例固定或缓变”的同步;凸轮适合“位置关系随主轴角度周期性变化”的同步。选择错误会导致从轴动作与工艺节拍不匹配。

四、多轴协调入门:插补与坐标系

多轴协调的核心是插补。NJ/NX 支持直线插补(MC_MoveLinear)和圆弧插补(MC_MoveCircular),它们以“轴组”(Axes Group)为操作对象,而非单个轴。轴组需要在运动控制设置中预先定义,指定哪些轴参与、以何种坐标系(通常为直角坐标系)工作。

以 XY 平台为例,定义轴组 MC_Group000,包含 X 轴和 Y 轴。调用 MC_MoveLinear 时,输入目标点 (X:=100, Y:=80),控制器会自动计算两轴的合成速度与各自速度分量,保证刀具沿直线运动。若使用 MC_MoveCircular,则需指定起点、终点和圆心(或半径),控制器规划圆弧轨迹。

多轴协调的调试要点:先单轴点动确认方向与限位,再建立轴组并低速试运行插补,最后逐步提高速度并观察 MC_Group000.Act.Vel 与各轴 Act.Pos 是否同步。若出现轨迹偏差,优先检查轴组坐标系定义、各轴单位是否一致、以及是否所有轴都已使能并回原点。

轴组一旦建立,组内轴不能再单独调用单轴运动指令,否则会报“轴已被轴组占用”。需要单轴操作时,先解散轴组或使用轴组的禁用功能。

掌握以上四部分——轴配置、指令调用、同步方式、轴组协调——就构成了 NJ/NX 运动控制的基础闭环。后续更复杂的多轴轨迹、机器人正逆解、视觉引导,都建立在这一层之上。