电力规约 CDT(循环式远动规约,如 DL/T 634.5101-2002)与西门子 S7-200 PLC 实现通信,核心难点在于CDT 规约的特殊性(主从循环传输)与 S7-200 原生协议(PPI、Modbus RTU)不兼容,需通过 “硬件网关” 或 “软件协议转换” 实现。以下是具体实现方案、关键问题及解决方法:
规约差异:
数据格式差异:CDT 规约的遥测值采用 “BCD 码” 或 “二进制补码”,遥信采用 “位打包”(1 字节含 8 个遥信点),与 S7-200 的整数(INT)、浮点数(REAL)格式不同,需格式转换。
通过CDT-Modbus 网关作为中间转换设备,实现 CDT 与 Modbus RTU 的协议转换,S7-200 通过 Modbus RTU 与网关通信。
硬件组成:
主站(CDT 主站,如调度系统)
CDT-Modbus 网关(如力控 FGateway、华为 NetEco 网关)
西门子 S7-200 PLC(需带 RS485 接口,如 CPU 224XP 自带 PORT1)
通信线缆:网关与主站用 RS485 线(CDT 通信),网关与 S7-200 用 RS485 线(Modbus RTU)。
配置步骤:(1)网关配置:
(2)S7-200 配置:
在 STEP 7-Micro/WIN 中,编写 Modbus RTU 从站程序(调用MBUS_SLAVE指令),使能 PORT1 为 Modbus 从站,地址 1,波特率 9600。
定义数据区:遥测值存于 AI 区(如 AIW0~AIW10),遥信值存于 I 区(如 I0.0~I1.7),遥控输出存于 Q 区(如 Q0.0~Q0.7)。
例:CDT 遥测 1(电流)→ 映射到 S7-200 的 AIW0(模拟量输入),格式转换为 CDT 要求的二进制补码。
例:CDT 遥信 1(开关状态)→ 映射到 S7-200 的 I0.0,打包为 1 字节(8 个遥信点)。
在网关管理软件中,设置 CDT 从站参数(站号、波特率 9600/1200、校验方式奇校验,符合 CDT 规约要求)。
配置 Modbus 主站参数(网关作为 Modbus 主站,S7-200 作为从站,站号 1,波特率 9600,无校验)。
建立 “CDT 点表与 Modbus 地址映射”:
优势:无需修改 S7-200 核心程序,网关处理复杂的 CDT 帧解析和格式转换,稳定性高,适合工业现场。
在 S7-200 中通过自由口通信(Freeport) 编程,直接解析 CDT 帧结构,实现与主站的 CDT 通信(仅推荐熟悉 CDT 规约和 S7-200 自由口编程的场景)。
硬件要求:
编程步骤:(1)初始化自由口:在SMB30(PORT0)或SMB130(PORT1)中设置 CDT 通信参数:波特率 9600,8 位数据位,1 位停止位,奇校验(CDT 默认),使能自由口模式(SMB30=2#10010110)。
(2)CDT 帧解析与发送:
(3)遥控处理:解析主站的遥控帧(如合 / 分闸命令),将控制信号写入 S7-200 的 Q 区,执行后返回遥控返校帧。
接收主站命令:通过中断程序(如接收完成中断INT0)读取主站发送的 CDT 控制帧(如同步字 0x1601),解析帧类型(遥信召唤、遥测召唤)。
组装响应帧:根据主站召唤类型,将 S7-200 的 I 区(遥信)、AI 区(遥测)数据按 CDT 格式打包(如遥测帧含帧头、长度、数据体、校验码),通过XMT指令发送。
校验处理:实现 CDT 的 CRC 校验或奇偶校验(需编程计算)。
难点:
通信中断或数据错误
核对网关与 PLC 的 Modbus 参数,用 Modbus 调试工具(如 Modbus Poll)测试 PLC 通信是否正常。
用示波器监测 CDT 帧,对比规约验证帧结构;自由口程序中增加帧错误检测(如同步字校验)。
通信线采用双绞屏蔽线,单端接地,远离强电电缆。
网关与 S7-200 的 Modbus 参数不匹配(波特率、站号错误)。
自由口编程中 CDT 帧解析错误(校验码计算错误、帧长度不符)。
布线抗干扰差(CDT 多为长距离通信,未用屏蔽线)。
原因:
解决:
遥测值偏差或遥信状态错误
在网关或程序中正确配置格式转换(如 S7-200 的 AIW0(0~32000)转换为 CDT 的 ±20mA 对应值)。
遥信打包时按 “高位在前” 重组(如 I0.0 对应字节的 bit7,I0.7 对应 bit0)。
数据格式转换错误(如 S7-200 的浮点数未转为 CDT 要求的二进制补码)。
遥信点打包顺序错误(CDT 遥信按字节高位到低位排列,与 PLC 的位顺序相反)。
原因:
解决:
遥控命令无响应
核对遥控地址映射表,在 PLC 中监控 Q 区是否收到遥控信号。
确保遥控执行后,网关或程序及时返回返校帧(含命令序号和执行结果)。
网关与 PLC 的遥控地址映射错误(如主站遥控点 1 未映射到 PLC 的 Q0.0)。
CDT 遥控返校帧未正确返回(主站未收到确认,终止命令)。
原因:
解决:
推荐方案:优先采用CDT-Modbus 网关,降低编程难度,提高稳定性,适合大多数工业场景。
适用场景:软件协议转换仅适合小规模、低成本且有专业编程能力的场景。
核心要点:确保数据格式转换正确、通信参数匹配、抗干扰措施到位,必要时用调试工具(如串口助手)监控数据帧,快速定位问题。
通过以上方案,可实现 CDT 规约主站与西门子 S7-200 PLC 的稳定通信,满足电力监控系统的遥测、遥信、遥控需求。