S7-200 PLC间1200bps自由口通信详解及实例

5星 · 超过95%的资源 需积分: 48 89 下载量 126 浏览量 更新于2024-09-13 1 收藏 221KB PDF 举报
西门子S7-200 PLC自由口通信教程详解 本篇文章主要探讨了如何实现两台S7-200 PLC之间的自由口通信实例,以智能电表为应用背景,其中电表通信参数设定为1200 bps的波特率、偶校验和8位数据位。以下是关键步骤和技术要点: 1. **PLC自由口协议初始化**: 在开始通信之前,需要根据智能电表的通信参数配置PLC的自由口,这包括通过MOVB指令将波特率、校验方式和起始位等参数写入SMB30寄存器,该寄存器结构对通信配置至关重要。 2. **声明中断**: 发送和接收数据过程中,中断程序扮演重要角色。发送数据后的中断(中断号9)和接收数据后的中断(中断号23)分别在初始化子程序中声明,确保通信过程中的正确响应。 3. **编写报文子程序**: 报文子程序应严格按照智能设备报文格式设计,将指令内容(如读取电表标识9010)移动到内存单元(如VB10),然后使用MOV_B或MOV_W指令传输到后续字节中。 4. **发送报文**: 使用XMT指令进行报文发送,XMT指令的第一个参数是报文起始地址(VB10),第二个参数是通信口(0口)。可以通过定时器控制发送周期,确保XMT指令的触发为上升沿,避免并发执行错误。 5. **接收数据**: 当发送完报文后,会触发9号中断。在预先声明的“发送完中断”中断子程序中,利用RCV指令接收返回的数据,并将其存储到VB100中。编程时遵循的原则包括: - SM0.1端口初始化并连接发送和接收中断 - RCV指令在SM0.0触发下执行 - XMT指令在上升沿触发,并确保发送前端口0停止接收 - 根据接收需求调整SMB87至SMB94的设置 - 确保满足发送结束条件,如字节数或特定标志,才产生9号中断 通过以上步骤,本文提供了一个详细的S7-200 PLC自由口通信实战指南,帮助用户理解和实现PLC与智能设备之间的有效数据交换。了解这些要点对于进行工业自动化控制系统的编程和调试具有重要意义。