From 2ace88f6b10298e1f1045797bba9ae2054bc7333 Mon Sep 17 00:00:00 2001 From: ywh <2227158009@qq.com> Date: Tue, 11 Aug 2026 18:45:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=86=E9=9C=80=E6=B1=82?= =?UTF-8?q?=EF=BC=8C=E9=9C=80=E8=A6=81=E8=92=B8=E9=A6=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../更新的需求/参数表-2026.xlsx | Bin 0 -> 12541 bytes ...现PLSR指令(2026) - 需求明确版.md | 248 ++++++++++++++++++ 2 files changed, 248 insertions(+) create mode 100644 Document/PLSR_document/更新的需求/参数表-2026.xlsx create mode 100644 Document/PLSR_document/更新的需求/实现PLSR指令(2026) - 需求明确版.md diff --git a/Document/PLSR_document/更新的需求/参数表-2026.xlsx b/Document/PLSR_document/更新的需求/参数表-2026.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..d6d9cf9aa2dd8352e42b270d5c3a7e4acedb1678 GIT binary patch literal 12541 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 J4fD@m{|~9$>l6S0 literal 0 HcmV?d00001 diff --git a/Document/PLSR_document/更新的需求/实现PLSR指令(2026) - 需求明确版.md b/Document/PLSR_document/更新的需求/实现PLSR指令(2026) - 需求明确版.md new file mode 100644 index 0000000..53cab2a --- /dev/null +++ b/Document/PLSR_document/更新的需求/实现PLSR指令(2026) - 需求明确版.md @@ -0,0 +1,248 @@ +## 实现PLSR指令(明确需求版) + +## 一、任务要求 + + 参考信捷PLC设备PLSR指令手册,实现下位机PLSR指令。 + +### 1、整体任务要求 + +- 书写项目文档,包含书写规格书、方案书、测试大纲。 +- 代码管理清晰,以及编写规范。 + +### 2、PLSR指令任务要求 + +* 设计PLSR指令实现功能; + * 可脱离仿真器运行; + * 实现1路PLSR功能,脉冲输出端子在Y0~Y3中可选择,方向端子固定Y12~Y15; + * 脉冲发送频率、发送个数准确; +* 能记录累计发送的脉冲个数,累计值可通过通信方式清零; +* 脉冲输出方式; + + * 单相(脉冲+方向)脉冲,脉冲个数为正时,正向发脉冲,脉冲方向端子为ON;脉冲个数为负时,反向发脉冲,脉冲方向端子为OFF; +* 脉冲发送模式: + + - 支持完成模式、后续模式。 +* 运行模式; + + * 支持相对模式、绝对模式; + * 绝对模式时,如果设定的脉冲个数与累计的脉冲个数相等时,不动作; +* 加减速:支持直线加减速、S曲线加减速、正弦曲线加减速; +* 脉冲速度:支持设置起始速度、终止速度、脉冲默认速度(匀速) +* PLSR多段脉冲输出功能实现; + + * 脉冲总段数范围:1~10段; + * 起始执行段数:脉冲指令从“起始执行段数”开始执行; +* 等待条件 + - 当前段脉冲发送完成后,进入等待,“等待条件”满足后,跳转至指定段; + - 等待条件包括:Wait时间、Wait信号(X点)、ACT时间、EXT信号(X点)、EXT信号或脉冲发送完成; + * 单段脉冲参数配置: + * 脉冲频率,范围:1HZ~100KHZ,脉冲频率在脉冲指令执行过程中修改后立即生效; + * 脉冲个数,范围:-2147483648~2147483647,设置负数表示反向发脉冲; + * 跳转段数,如果设置为0,表示默认跳转至下一段脉冲,最后一段脉冲的跳转段数设置为0,表示结束脉冲输出功能; +* 断电保存数据: + * 系统参数数据、记录数据可掉电保持; + * 上电后自动加载保存数据,并进行参数配置; +* 配置参数; + + * 脉冲方向端子可选择; + * 脉冲输出端子可选择; + * 脉冲总段数可设置; + * 起始执行段数可设置; + * 运行模式可设置; + * 加减速模式可设置; + * 等待条件可设置; + * 加速时间、减速时间可设置; + * 第n段的脉冲频率、脉冲个数、跳转段数可设置(n:1~10); +* PLSR指令功能自测; + +### 4、通信任务要求 + +- 使用一种通信方式(modbus)监控和实时修改PLSR的参数; +- 自制触摸屏或者上位机界面,实现PLSR题目涉及的参数读、写功能。(二选一,需要触摸屏可申领) + +### 5、可选要求 + +* 实现PLSR输出AB相脉冲,可控制输出方向; +* 支持对输出的脉冲信号进行诊断: + - 诊断输出脉冲的个数是否与设置一致; + - 诊断输出脉冲的频率、加减速曲线是否与设置一致; + +## 二、时间要求 + +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 | + + + +## 四、XDM-60T4-E硬件信息 + +- 芯片型号: STM32F407IG ,晶振12MHz。 +- 引脚信息 + +| 芯片引脚 | 实际作用 | +| --------- | -------- | +| 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 | + +## 五、XDM-60T10-E硬件信息 + +- 芯片型号:STM32F407ZG,晶振12MHz。 +- 引脚信息 + +| 芯片引脚 | 实际作用 | +| --------- | -------- | +| 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 | + +## 六、Modbus 参数地址表 + +本节整理自《参数表-2026.xlsx》。表内地址为 Modbus 寄存器地址;所有双字参数均占用两个连续的 +16 位寄存器,并按“低地址存低 16 位、高地址存高 16 位”的顺序保存。 + +### 1、公共配置参数 + +| 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 | + +### 2、单段参数布局 + +每段占用一个 `0x10` 寄存器跨度。第 `n` 段的基地址为: + +```text +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` | + +### 3、运行监控 + +| Modbus 地址 | 参数 | 说明 | +| --- | --- | --- | +| `0x2000~0x2001` | 脉冲累计数量监控 | 32 位有符号数,可读取负数 | +| `0x2002~0x2003` | 当前脉冲发送频率 | 32 位 | +| `0x2004` | 运行状态 | 状态编码由实现定义并在通信协议中说明 | +| `0x2005` | 当前执行段 | 当前正在执行的段号 | +| `0x2006` | 错误码 | 错误码定义由实现说明 | + +### 4、控制寄存器 + +| Modbus 地址 | 位 | 功能 | +| --- | ---: | --- | +| `0x3000` | bit0 | 启动脉冲输出 | +| `0x3000` | bit1 | 停止脉冲输出(可参考) | +| `0x3000` | bit2 | 清除状态信息及脉冲累计值 | + +### 5、附加功能通信 + +AB 相输出和脉冲诊断属于附加题,若实现,所需寄存器及协议由项目另行设计,不占用或改变上述 +基础功能地址和语义。