Explorar el Código

更新了需求,需要蒸馏

master
ywh hace 1 mes
padre
commit
2ace88f6b1
Se han modificado 2 ficheros con 248 adiciones y 0 borrados
  1. BIN
      Document/PLSR_document/更新的需求/参数表-2026.xlsx
  2. +248
    -0
      Document/PLSR_document/更新的需求/实现PLSR指令(2026) - 需求明确版.md

BIN
Document/PLSR_document/更新的需求/参数表-2026.xlsx Ver fichero


+ 248
- 0
Document/PLSR_document/更新的需求/实现PLSR指令(2026) - 需求明确版.md Ver fichero

@@ -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 相输出和脉冲诊断属于附加题,若实现,所需寄存器及协议由项目另行设计,不占用或改变上述
基础功能地址和语义。

Cargando…
Cancelar
Guardar