问题描述:
电机设置了PR 路径的配置,回原点就出问题了,没有设置PR路径就正常
你现在的现象是:
1 | 没有配置 PR 路径 |
这和手册里的 P08.26 IO组合触发模式 高度吻合。
手册明确写了:
1 | P08.26 |
并且 ADD0~ADD3 的组合直接选择 PR1~PR15。
所以很可能实际上发生的是:
1 | 写32 HOME |
而且 PR 组合触发不需要 CTRG 信号,只要 ADD 电平组合变化成非零路径,就会触发对应路径。手册明确说明“IO组合触发是不通过触发信号,直接使用
IO 电平组合触发动作”。
这就能解释你看到的:
原点停一下,然后马上自己又走。
解决办法
回零触发,PR设置参数为0禁用
1 | return [{ |
到原点,设置位置为0,PR设置参数为0禁用
1 | return [{ |
DB.点表整理
| 数据区域 | 点位 | 名称 | 数据类型 | 备注 |
|---|---|---|---|---|
| 03 Holding Register(4x) | 1027 | 电机使能参数 | int16 | |
| 03 Holding Register(4x) | 24576 | PR 控制设置 | int16 | |
| 03 Holding Register(4x) | 24577 | 路径数量 | int16 | |
| 03 Holding Register(4x) | 24578 | 控制操作 | int16 | 0x010 16 写 启动 P0 段 0x011 17 写 启动 P1 段 0x012 18 写 启动 P2 段 0x020 32 写 回零 0x021 33 写 手动设零 0x040 64 写 急停 0 0 读 定位完成 16 16 读 未响应 32 32 读 回零中 64 64 读 急停中 256 256 读 P0 运行中 257 257 读 P1 运行中 512 512 读 等待定位 |
| 03 Holding Register(4x) | 25096 | PR1 模式 | int16 | |
| 03 Holding Register(4x) | 25097 | PR1 位置 H | int16 | |
| 03 Holding Register(4x) | 25098 | PR1 位置 (L) | int16 | |
| 03 Holding Register(4x) | 25099 | PR1 速度 | int16 | |
| 03 Holding Register(4x) | 25100 | PR1 加速时间 | int16 | |
| 03 Holding Register(4x) | 25101 | PR1 减速时间 | int16 | |
| 03 Holding Register(4x) | 25102 | PR1 停顿时间 | int16 | |
| 03 Holding Register(4x) | 24620 | 当前位置 | int32 | 运行状态(当前位置) |
| 03 Holding Register(4x) | 2833 | 物理IO输入状态(DI) | bit | 4_2833_2 : DI3 4_2833_3 : DI4 4_2833_4 : DI5 |
| 03 Holding Register(4x) | 2834 | 物理IO输出状态(DO) | bit | 4_2834_0 : DO1 4_2834_1 : DO2 4_2834_2 : DO3 |
| 03 Holding Register(4x) | 2821 | P0B.05:0x0B05 Bit4:INP 定位完成 | bit | Bit4 是定位完成状态, Bit0 是准备完成, Bit1 是运行状态, Bit2 是故障状态。 |