参考信捷PLC设备PLSR指令手册,实现下位机PLSR指令。
设计PLSR指令实现功能;
能记录累计发送的脉冲个数,累计值可通过通信方式清零;
脉冲输出方式;
脉冲发送模式:
运行模式;
加减速:支持直线加减速、S曲线加减速、正弦曲线加减速;
脉冲速度:支持设置起始速度、终止速度、脉冲默认速度(匀速)
PLSR多段脉冲输出功能实现;
等待条件
断电保存数据:
配置参数;
PLSR指令功能自测;
1个月(4周)
| 序号 | 器材 | 数量 |
|---|---|---|
| 1 | XDM-60T4-E/XDM-60T10-E | 1台 |
| 2 | ST-LINK | 1台 |
| 3 | 电源线 | 1根 |
| 4 | XVP线 | 1根 |
| 5 | USB转串 | 1个 |
| 6 | DB9F侧线 | 1根 |
| 7 | 编码器线CP-SP-M-03 | 1根 |
| 8 | 动力线CM-P15-01 | 1根 |
| 9 | 开关电源 | 1个 |
| 10 | 驱动器DF3E-0410 | 1个 |
| 11 | 电机MF3S-60CS30B1-504 | 1个 |
| 6~11是伺服相关的设备,一组有一套即可 |
| 软件工具 | 版本 |
|---|---|
| IAR8.40 | 8.40 |
| 芯片引脚 | 实际作用 |
|---|---|
| I0 | PH10 |
| I1 | PH11 |
| I2 | PG8 |
| I3 | PB4 |
| I4 | PB5 |
| I5 | PG12 |
| I6 | PB6 |
| I7 | PB7 |
| I10 | PF10 |
| I11 | PA15 |
| I12 | PB3 |
| I13 | PA14 |
| I14 | PI4 |
| I15 | PI5 |
| I16 | PI6 |
| I17 | PI7 |
| I20 | PE2 |
| Q0 | PF6 |
| Q1 | PF8 |
| Q2 | PF7 |
| Q3 | PF9 |
| Q4 | PI8 |
| Q5 | PE6 |
| Q6 | PE5 |
| Q7 | PE4 |
| Q10 | PG7 |
| Q11 | PG6 |
| Q12 | PH9 |
| Q13 | PH8 |
| Q14 | PH7 |
| Q15 | PH6 |
| Q16 | PF11 |
| Q17 | PB0 |
| Q20 | PH5 |
| USART1_TX | PA9 |
| USART1_RX | PA10 |
| 芯片引脚 | 实际作用 |
|---|---|
| I0 | PA0 |
| I1 | PA1 |
| I2 | PG8 |
| I3 | PB4 |
| I4 | PB5 |
| I5 | PG12 |
| I6 | PB6 |
| I7 | PB7 |
| I10 | PF10 |
| I11 | PA15 |
| I12 | PB3 |
| I13 | PA14 |
| Q0 | PF6 |
| Q1 | PF8 |
| Q2 | PF7 |
| Q3 | PF9 |
| USART1_TX | PA9 |
| USART1_RX | PA10 |
本节整理自《参数表-2026.xlsx》。表内地址为 Modbus 寄存器地址;所有双字参数均占用两个连续的
16 位寄存器,并按“低地址存低 16 位、高地址存高 16 位”的顺序保存。
| Modbus 地址 | 参数 | 取值及说明 |
|---|---|---|
0x1000 |
脉冲发送端子 | 0:Y0;1:Y1;2:Y2;3:Y3 |
0x1001 |
脉冲方向端子 | 0:Y12;1:Y13;2:Y14;3:Y15 |
0x1002 |
WAIT 信号 | 0:X4;1:X5 |
0x1003 |
EXT 信号 | 0:X4;1:X5 |
0x1004 |
脉冲发送模式 | 0:完成模式;1:后续模式 |
0x1005 |
脉冲方向延时时间 | 单位:ms |
0x1006 |
脉冲方向逻辑 | 0:正逻辑;1:负逻辑 |
0x1007 |
脉冲加减速模式 | 0:直线;1:S 曲线;2:正弦曲线 |
0x1008 |
运行模式 | 0:相对模式;1:绝对模式 |
0x1009 |
脉冲总段数 | 范围:1~10 |
0x100A |
起始执行段数 | 指令从指定段开始执行 |
0x100B~0x100C |
脉冲默认速度 | 32 位,单位:Hz |
0x100D~0x100E |
脉冲起始速度 | 32 位,单位:Hz |
0x1010~0x1011 |
脉冲终止速度 | 32 位,单位:Hz |
0x1012 |
默认速度加速时间 | 单位:ms |
0x1013 |
默认速度减速时间 | 单位:ms |
每段占用一个 0x10 寄存器跨度。第 n 段的基地址为:
segment_base = 0x1100 + (n - 1) × 0x10,n = 1~10
| 相对偏移 | 参数 | 取值及说明 |
|---|---|---|
+0~+1 |
第 n 段脉冲频率 | 32 位,单位:Hz,范围:1 Hz~100 kHz |
+2~+3 |
第 n 段脉冲个数 | 32 位有符号数;负数表示反向 |
+4 |
第 n 段等待条件 | 0:WAIT 时间;1:WAIT 信号;2:ACT 时间;3:EXT 信号;4:EXT 信号或脉冲发送完成 |
+5 |
WAIT 时间 | 单位:ms |
+6 |
ACT 时间 | 单位:ms |
+7 |
第 n 段跳转编号 | 0 表示默认跳转至下一段;最后一段为 0 时结束输出 |
各段具体地址如下:
| 段号 | 脉冲频率 | 脉冲个数 | 等待条件 | WAIT 时间 | ACT 时间 | 跳转编号 |
|---|---|---|---|---|---|---|
| 1 | 0x1100~0x1101 |
0x1102~0x1103 |
0x1104 |
0x1105 |
0x1106 |
0x1107 |
| 2 | 0x1110~0x1111 |
0x1112~0x1113 |
0x1114 |
0x1115 |
0x1116 |
0x1117 |
| 3 | 0x1120~0x1121 |
0x1122~0x1123 |
0x1124 |
0x1125 |
0x1126 |
0x1127 |
| 4 | 0x1130~0x1131 |
0x1132~0x1133 |
0x1134 |
0x1135 |
0x1136 |
0x1137 |
| 5 | 0x1140~0x1141 |
0x1142~0x1143 |
0x1144 |
0x1145 |
0x1146 |
0x1147 |
| 6 | 0x1150~0x1151 |
0x1152~0x1153 |
0x1154 |
0x1155 |
0x1156 |
0x1157 |
| 7 | 0x1160~0x1161 |
0x1162~0x1163 |
0x1164 |
0x1165 |
0x1166 |
0x1167 |
| 8 | 0x1170~0x1171 |
0x1172~0x1173 |
0x1174 |
0x1175 |
0x1176 |
0x1177 |
| 9 | 0x1180~0x1181 |
0x1182~0x1183 |
0x1184 |
0x1185 |
0x1186 |
0x1187 |
| 10 | 0x1190~0x1191 |
0x1192~0x1193 |
0x1194 |
0x1195 |
0x1196 |
0x1197 |
| Modbus 地址 | 参数 | 说明 |
|---|---|---|
0x2000~0x2001 |
脉冲累计数量监控 | 32 位有符号数,可读取负数 |
0x2002~0x2003 |
当前脉冲发送频率 | 32 位 |
0x2004 |
运行状态 | 状态编码由实现定义并在通信协议中说明 |
0x2005 |
当前执行段 | 当前正在执行的段号 |
0x2006 |
错误码 | 错误码定义由实现说明 |
| Modbus 地址 | 位 | 功能 |
|---|---|---|
0x3000 |
bit0 | 启动脉冲输出 |
0x3000 |
bit1 | 停止脉冲输出(可参考) |
0x3000 |
bit2 | 清除状态信息及脉冲累计值 |
AB 相输出和脉冲诊断属于附加题,若实现,所需寄存器及协议由项目另行设计,不占用或改变上述
基础功能地址和语义。