倍福PLC-NC轴控制CPBAH03-ET电机驱动器操作教程
文件编号:SOP-YLOT-0814-001
主题:CPBAH03-ET系列 EtherCAT 驱动器在 TwinCAT 3.1 下的控制配置指南
适用对象:自动化工程师、PLC 调试技术人员
适用软件:Beckhoff TwinCAT 3.1 (XAE)
适用硬件:CPBAH03-ET系列 (及其衍生系列)、倍福 EtherCAT 主站控制器
1. 目的与准备工作
1.1 目的
规范 CPBAH03-ET系列驱动器与倍福 PLC(TwinCAT 3.1)在 EtherCAT 总线下的通讯组态、分布式时钟(DC)同步、NC 轴单位/脉冲当量(Scaling Factor)校准、禁用跟随误差监控(Position Lag Monitor)及 NC 试运行调试(Jog 点动与定位)步骤,确保总线同步稳定,防止出现 INIT NO_COMM 或状态机切 OP 失败等异常。
1.2 前期准备
- 驱动器 ESI 描述文件:从 研蓝官网 下载对应固件版本的 XML/ESI 文件。
- 软件环境:安装有 TwinCAT 3.1 的 PC/IPC。
- 硬件物理连接:网线由 PLC / 总线耦合器(如 EK1100/EK1122)的 EtherCAT OUT 口连接至 CPBAH03-ET 驱动器的 EtherCAT IN 口。
2. ESI 描述文件导入
1. 关闭 TwinCAT 系统:确保 TwinCAT 开发环境已关闭。
2.放置 XML 文件:将下载的 Nanotec ESI(XML)文件复制粘贴至 TwinCAT 3.1 的 EtherCAT 设备描述文件夹:
C:\TwinCAT\3.1\Config\Io\EtherCAT
3.重新加载描述:打开 TwinCAT 3.1,点击顶部菜单栏 TwinCAT -> EtherCAT Devices -> Reload Device Descriptions(或重启 TwinCAT 开发环境以刷新从站库)。
3. 总线扫描与从站添加
1. 新建工程:打开 TwinCAT 3.1,新建一个 TwinCAT XAE Project。
2. 选择目标主站:在 SYSTEM -> Choose Target Location 中选择目标 PLC 控制器。
3. 扫描 I/O 设备:
○ 右键点击 I/O 节点下的 Devices,选择 Scan。
○ 在弹出的对话框中勾选匹配的网卡(EtherCAT Master),点击 OK。
○ 系统提示发现从站设备时,点击 Yes 自动添加从站。
○ 系统提示是否勾选 NC-Configuration 时,选择 Yes(自动创建 NC-Task 并生成 NC Axis)。
4. 分布式时钟 (DC) 与系统基准配置(关键步骤)
规范提示:CPBAH03-ET系列驱动器固件要求硬件物理 SYNC0 脉冲必须固定为 1ms,而应用层 NC 轴插补周期可以设为 1ms 的整数倍(如 4ms)。强行修改 SYNC0 周期会导致 DC 锁相校验失败而退回 INIT NO_COMM。
4.1 全局参考时钟 (Reference Clock) 设置
1. 展开 I/O -> Devices,点击 Device 1 (EtherCAT)。
2. 进入右侧界面的 Advanced Settings -> Distributed Clocks。
3. 勾选最顶部的 Automatic DC Mode Selection。 (严禁将 Reference Clock 手动强行绑定至尚未通信成功的末端伺服驱动器节点,否则从站报错时会导致全网时钟崩溃)。
4.2 驱动器 DC 同步模式设置
1. 点击扫描到的驱动器节点。
2. 在右侧属性栏点击 Advanced Settings,选择 Distributed Clock 节点。
3. Cyclic Mode 设置:
○ Operation Mode 下拉菜单保持选择:DC with SYNC0=1ms。
○ SYNC 0 下方的 Cycle Time 确保选择 1000 us(或保持默认 Sync Unit Cycle 自动跟随 1ms),绝对不要手动修改为 4000。
4.3 NC 任务周期设置
1. 展开左侧树状图 MOTION -> NC-Task 1 SAF。
2. 在右侧 Task 标签页中,确认 Cycle ticks 设置为 4(即 4.000 ms)。
3. 展开 NC-Task 1 SVB,确认其周期同样与 SAF 保持一致(4.000 ms)。
5. 驱动器 CoE 对象字典 (Startup SDO) 参数配置
为使驱动器知道上位机 NC 正在以 4ms 的周期发送位置指令,需配置插补周期参数。
1. 点击驱动器节点(如 Drive 4),选择右侧的 Startup 标签页。
2. 点击 New... 按钮,添加初始化 SDO 写入命令:
|
参数名称 |
Index : Subindex |
数据类型 |
设定值 |
参数含义说明 |
|
Interpolation Time Value |
0x60C2:01 (或 0x60C1:01) |
UNSIGNED8 |
4 |
告知驱动器插补数值为 4 |
|
Interpolation Time Index |
0x60C2:02 (或 0x60C1:02) |
INTEGER8 |
-3 |
周期单位为10⁻³s(即 ms) |
(注:驱动器内部接收到此参数后,会在 1ms 硬件 DC 脉冲基准下对 4ms 的位置指令进行内部四倍微插补)。
3. 电机与保护参数核对(若未在驱动器固件中固化):
○ 0x2030:00 (Pole Pair Count):极对数设定。
○ 0x2031:00 (Max Motor Current):最大允许电流 (mA)。
○ 0x6075:00 (Motor Rated Current):额定电流 (mA)。
6. NC 轴链接、物理单位修改与跟随误差监控配置
6.1 轴绑定确认
1. 展开 MOTION -> Axes -> Axis 1。
2. 点击 Axis 1 -> Enc,在 Link To... 中确认已自动绑定至驱动器的实际位置反馈过程映像(PDO: Position Actual Value)。
3. 点击 Axis 1 -> Drive,确认已绑定至驱动器的目标指令过程映像(PDO: Target Position / Controlword)。
6.2 单位修改与 Scaling Factor 计算
研蓝提供的驱动器出厂默认将角度单位定义为 0.1°(Tenths of Degree),即电机旋转一圈对应的底层脉冲数为 3600(360.0°)。
为了使 TwinCAT NC 层的控制单位与物理机械单位一致(如以 mm 或 deg 为单位),需修改 Scaling Factor:
1. 进入 MOTION -> Axes -> Axis 1 -> Enc,选择 Parameter 标签页。
2. 找到 Scaling Factor 参数,按以下公式计算并填入:
Scaling Factor = 电机旋转一圈对应的实际机械物理移动量 ÷ 驱动器单圈反馈脉冲数 (3600 Inc)
○ 示例 A(旋转轴 / 角度,单位 deg): 若以角度度数(deg)为单位,电机转一圈为 360°,驱动器反馈 3600 Inc:
Scaling Factor = 360 ÷ 3600 = 0.1 (deg/INC)
○ 示例 B(直线轴 / 丝杠,单位 mm): 若丝杠导程(螺距)为 5mm(即转一圈轴平移 5mm),直连驱动器:
Scaling Factor = 5 ÷ 3600 ≈ 0.0013888888888888889 (mm/INC)
6.3 禁用 NC 跟随误差监控 (Position Lag Monitor -> False)
在调试初期或使用部分开环步进/特定模式时,驱动器插补响应延迟易触发 TwinCAT 默认的 NC 层跟随误差报错(NC Error 0x4650),需将跟随误差监控关闭:
1. 展开 MOTION -> Axes -> Axis 1,点击 Position Lag Monitoring(跟随误差监控)属性节点。
2. 在右侧 Parameter 属性列表中,找到 Position Lag Monitoring 开关项。
3. 将值由默认的 TRUE 修改为 FALSE(禁用跟随误差监控)。
(注:若在此节点下未找到该开关,也可进入 Axis 1 -> Parameter 列表,找到 Position Lag Monitoring 选项并将其置为 FALSE)。
7. 配置激活与通信状态验证
1. 激活配置:点击 TwinCAT 工具栏上的 Activate Configuration 图标(或快捷键 Ctrl + Shift + F5)。
2. 切入 Run 模式:弹出重启提示框时点击 OK,使 TwinCAT 主站进入 RUN 状态。
3. 验证 EtherCAT 状态机:
○ 点击驱动器节点的 Online 标签页。
○ 检查驱动器当前状态是否顺利切入 OP (Operational) 状态。
○ 检查总线上的前级节点(如 EK1122)是否均显示为 OP,且没有任何 LNK_MIS 或 INIT NO_COMM 报错。
8. NC 轴试运行测试 (NC Commissioning SOP)
在完成系统配置与激活后,需通过 TwinCAT NC 界面的 Commissioning 页面进行手动点动(Jog)及定位试运行测试,验证电机转向、使能控制与位置反馈。
8.1 建立测试环境与基本界面认知
1. 展开左侧树状图 MOTION -> Axes -> Axis 1,双击打开或点击 Online 标签页。
2. 观察界面顶部状态显示区:
○ Act. Pos:实际位置反馈。
○ Act. Vell:实际速度反馈。
Ready:轴准备就绪标志(应为绿色)。
8.2 轴软件使能控制 (Enabling the Axis)
在操作电机运动前,必须给 NC 轴上电使能:
1. 在 Online 标签页中间找到 Set 按钮(位于 Controller 控制组下方)。
2. 点击 Set 弹出一键使能设置窗口:
○ 勾选 Controller(控制器使能)。
○ 勾选 Feed Enable Plus(正向进给使能)。
○ 勾选 Feed Enable Minus(反向进给使能)。
○ (或直接点击窗口右侧的 All 按钮自动全选)。
3. 将底部的 Override 速度百分比滑动条拉至 100%(或手动输入 100)。
4. 点击 OK 关闭窗口。此时观察 Online 页面左侧的状态指示灯:
○ Ready、Has Job、Axis Ready 应变为绿色或亮起,驱动器抱闸(若有)应自动释放,电机进入锁轴(保持扭矩)状态。
8.3 Jog 手动点动调试步骤
点动模式用于验证电机正反转运动方向、物理运行平稳性及超限切断功能。
1. 点动速度参数设置:
○ 展开 Axis 1 下方的 Parameter 节点。
○ 检查并设置手动点动相关参数:
■ Jog Velocity Low(慢速点动速度):设定为较小安全值(如 10.0 mm/s 或 deg/s)。
■ Jog Velocity High(快速点动速度):设定为中速值(如 50.0 mm/s 或 deg/s)。
2. 执行点动操作:
○ 回到 Axis 1 -> Online 页面。
○ 在右侧控制面板中找到 Manual Hand (Jog) 按键区:
■ F1 / <<:反向慢速点动(Jog Minus Fast/Slow)。
■ F2 / <:反向微动/点动(Jog Minus)。
■ F3 / >:正向微动/点动(Jog Plus)。
■ F4 / >>:正向快速点动(Jog Plus Fast/Slow)。
3. 方向与动作验证:
○ 长按 F4 (正向点动):观察电机轴转向。若运动方向与实际需要的物理正方向相反,需进入 Axis 1 -> Enc -> Parameter 中将 Invert Encoder Counting Direction 设置为 TRUE(或在 Drive -> Parameter 中反转驱动器方向)。
○ 松开按键:电机应立即减速平稳停止,Act. Pos(实际位置)读数应停止增加并保持稳定。
○ 长按 F1 (反向点动):电机应向反方向旋转,Act. Pos 读数应相应减小。
8.4 定位测试步骤 (Target Positioning)
定位测试用于校验 Scaling Factor(脉冲当量)的准确性及绝对/相对定位精度。
8.4.1 相对定位测试 (Relative Motion)
1. 在 Online 页面的 Target 框中,选择运动模式为 Target Position (Rel) 或选择 Distance。
2. 参数输入:
○ Position / Distance(移动距离):输入 100.0(代表相对移动 100mm 或 100deg)。
○ Velocity(运动速度):输入安全速度值,如 20.0(单位:/s)。
3. 启动指令:
○ 点击 Execute(或点击 F5 启动)。
○ 电机开始按照梯形加减速曲线加速至设定速度并精准运行指定距离后停止。
4. 精度核对:
○ 检查 Act. Pos 的增量变化是否精确等于 100.0。
○ 用卡尺/角度规测量机械实际移动距离。若实际移动量不等于 100,需按照第 6.2 节公式重新修正 Scaling Factor。
8.4.2 绝对定位测试 (Absolute Motion)
1. 在 Target 框中选择运动模式为 Target Position (Abs)。
2. 参数输入:
○ Position(目标绝对位置):输入 0.0。
○ Velocity(运动速度):输入 30.0。
3. 启动指令:
○ 点击 Execute。电机应自动反转寻优并精准停在坐标原点 0.0 处。
○ 再次输入 Position = 200.0 并点击 Execute,电机应正转精准停在 200.0 坐标处。
8.5 异常紧急停止 (Emergency Stop)
在测试过程中如发生卡死、冲撞或方向异常,可采取以下紧急措施:
1. NC 界面急停:直接点击 Online 页面下方的红色 F8 (Stop) 按键,NC 轴将按设定急停斜率强制减速停止。
2. 去使能断电:点击 Set 按钮,清空所有使能勾选,电机将瞬间失去扭矩。
9. 常见异常排查表 (Troubleshooting)
|
异常现象 |
可能原因 |
解决对策 |
|
驱动器报 INIT NO_COMM,前级模块报 OP LNK_MIS |
驱动器 DC 设置中的 SYNC0 周期被手动设置为了 4000us,与 ESI 描述文件冲突。 |
打开驱动器 DC 设置,将 Operation Mode 重置为 DC with SYNC0=1ms,将 SYNC0 周期恢复为 1000us。 |
|
全网通信无法建立,提示 Reference Clock 丢失 |
Reference Clock 被错误绑定到了掉线的驱动器从站节点。 |
在主站 DC 设置中勾选 Automatic DC Mode Selection。 |
|
切入 OP 时驱动器报警,状态留在 SafeOP |
驱动器 CoE 参数 0x60C2 未能与 NC SAF 任务周期匹配。 |
检查 Startup 列表中 0x60C2:01 是否设为 4,且 0x60C2:02 是否设为 -3。 |
|
点击 Set 使能时提示 NC Error 0x4650 |
运动过程中位置偏差超过 TwinCAT 默认报警阈值。 |
在 Axis 1 -> Position Lag Monitoring 中将 Position Lag Monitoring 设为 FALSE;或按逻辑核对 Scaling Factor。 |
|
点击 Jog 按钮电机不转且报 Drive Not Ready |
驱动器未处于 OP 状态,或硬件 Safe Torque Off (STO)/急停回路未接通。 |
检查硬件 STO 终端接线及硬限位开关,并在驱动器 Online 页确认已进入 OP 状态。 |
|
运行指令发下后实际移动距离与设定值成倍数不符 |
Scaling Factor 脉冲当量未按驱动器默认单圈 3600 Inc 进行换算。 |
进入 Axis 1 -> Enc -> Parameter,按 $\text{单圈移动量}/3600$ 重新计算并输入 Scaling Factor。 |