# CommlabAM521 **Repository Path**: openwcs/commlab-am521 ## Basic Information - **Project Name**: CommlabAM521 - **Description**: CommLab_AM521 · 汇川通信教学工程:包括源码生成、导入脚本、工程示例、上位机测试; - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-27 - **Last Updated**: 2026-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CommLab_AM521 · 汇川通信教学工程 本工程按仓库根目录 [`InoProShop_AM521_开发原则与命名规范.md`](../InoProShop_AM521_开发原则与命名规范.md) 组织,面向 **汇川 AM521 + InoProShop(IEC 61131-3 ST)**,用**同一套骨架**演示: | 课次 | 课题 | PLC 角色 | 主要用到的标准库 / 组态 | | ---- | ------------------ | --------- | --------------------------------------------------------------------------------- | | 01 | TCP Server(回显) | 服务端 | 汇川指令库「自由 TCP」:`TCP_Server` / `TCP_Connect` / `TCP_Receive` / `TCP_Send` | | 02 | TCP Client(心跳) | 客户端 | 同上:`TCP_Client` / `TCP_Send` | | 03 | Modbus TCP 从站 | Slave | 网络组态「Modbus TCP 从站」+ `%MW` 映射(无需通讯 FB) | | 04 | Modbus TCP 主站 | Master | 网络组态「Modbus TCP 主站」通道 + ST 使能/触发 | | 05 | Modbus RTU 从站 | Slave | COM 口「Modbus Slave」+ 与课 03 **同一份** `%MW` 映像 | | 06 | Modbus RTU 主站 | Master | COM 口「Modbus Master」通道 + ST 使能/触发 | | 07 | S7 通信(客户端) | S7 Client | 自由 TCP Client + 本工程 `FB_S7Client`(ISO-on-TCP / S7comm 教学栈) | > **平台事实(必读)** > > - AM521 **原生支持** Modbus TCP/RTU 主从、以太网 TCP 套接字(汇川指令库「自由 TCP」,**不要** CAA NBS)。 > - AM521 **不是**西门子 CPU,WinCC/Kepware 的「S7」驱动**不能**把本机当 S7 服务器扫描。 > 上位访问 AM521 请用 **Modbus TCP 从站(课 03)**。 > - 课 07 是 AM521 **主动访问** S7-1200/1500(对方须允许 PUT/GET),用于理解 S7 报文,不是把 AM521 变成 S7 PLC。 ![项目结构](public/01.png) ![导入说明](public/02.png) ## 文档导航 | 文档 | 内容 | | -------------------------------------------------------------- | ---------------------------- | | [`产品说明与交付文档.md`](./产品说明与交付文档.md) | 架构、模式、寄存器总表、验收 | | [`导入与任务配置指南.md`](./导入与任务配置指南.md) | 导入顺序、库依赖、组态入口 | | [`任务配置说明.md`](./任务配置说明.md) | 推荐任务周期 | | [`课程/00_工程骨架与库依赖.md`](./课程/00_工程骨架与库依赖.md) | 开课前必做 | | [`课程/01_TCP_Server.md`](./课程/01_TCP_Server.md) | Hercules / 网口调试助手 | | [`课程/02_TCP_Client.md`](./课程/02_TCP_Client.md) | 连课 01 或 PC 服务端 | | [`课程/03_Modbus_TCP_从站.md`](./课程/03_Modbus_TCP_从站.md) | Modbus Poll / 触摸屏 | | [`课程/04_Modbus_TCP_主站.md`](./课程/04_Modbus_TCP_主站.md) | 读另一台从站 | | [`课程/05_Modbus_RTU_从站.md`](./课程/05_Modbus_RTU_从站.md) | 串口从站 | | [`课程/06_Modbus_RTU_主站.md`](./课程/06_Modbus_RTU_主站.md) | 串口主站 | | [`课程/07_S7_Client.md`](./课程/07_S7_Client.md) | 读/写西门子 DB | | [`课程/实验检查清单.md`](./课程/实验检查清单.md) | 逐课打勾 | ## 目录结构 ``` CommLab_AM521/ ├── README.md ├── 产品说明与交付文档.md ├── 导入与任务配置指南.md ├── 任务配置说明.md ├── 课程/ ├── 导入脚本/ # CommLab_Import.xml 与生成脚本 ├── PLC工程/ # InoProShop .project └── src/ # 源码;导入后工程内目录与此一致 ├── DUT/ ├── GVL/ └── POU/FB | FC | PRG ``` ## 扫描顺序(单任务调试) ``` PRG_HMI_Rx → PRG_Safety → PRG_TcpServer → PRG_TcpClient → PRG_MbSlave → PRG_MbMaster → PRG_S7 → PRG_Alarm → PRG_Main → PRG_HMI_Tx ``` ## 导入到现有工程 不要手动逐个建 POU。打开目标 `.project`,按 [`导入脚本/如何导入源码.md`](./导入脚本/如何导入源码.md) **一次导入** `导入脚本/CommLab_Import.xml`。 ## 建议学习顺序 `00 库与组态` → `03 从站`(最快出数)→ `01/02 TCP` → `04/05/06` → `07 S7`。 同一时刻只 **Start** 一个主动连接类课次(TCP Client / MB Master / S7),避免网口/串口抢资源;Modbus 从站可一直开着。 ## 测试TCP server ![](public/04.png) ![](public/05.png)