S7-200自由口通信:计算机控制PLC存储数据的编程策略

需积分: 33 4 下载量 24 浏览量 更新于2024-09-10 收藏 119KB DOC 举报
在"VB 读写S7-200"的文章中,主要讨论了如何利用西门子S7-200 PLC与上位计算机进行低成本且适应性强的自由口通信。S7-200的自由口通信模式虽然简化了硬件配置,但编程复杂性相对较高。文章的核心内容集中在通过自定义通信规约设计一个通信程序,使得上位计算机能够对PLC从站的不同数据类型(如字节、整数和双整数)进行读写操作。 首先,通信采用单主站架构,由一台计算机作为主站,多台S7-200 PLC作为从站。主站通过广播方式发送包含从站站址的读写命令帧,每个从站收到命令后返回响应帧。通信协议设定为19.2 kbps,数据格式包括1位起始位、8位数据位、1位停止位,以及异或校验方式,确保数据传输的准确性。 通信帧结构图展示了帧的组成,包括帧起始标志(BEBEBE)、站址、命令字节(读命令CCH,写命令DDH),以及后续的数据读写区。读写区的首地址是PLC内存储区域的数字编码,通过特定的双字编码规则,如MB3地址编码为02000003H,来指示读写区域的位置。 编程时,主站会根据自定义的规约发送命令,PLC则使用XMT指令发送数据,并通过字符中断方式接收。PLC在验证接收到的帧正确无误且命令有效后,返回响应帧并设置接收正误标志。这种通信方式不仅支持单个字节的操作,也支持连续区域的读写,提高了数据处理效率。 文章强调了通信程序设计中的可靠性措施,这可能包括错误检测和重试机制,以确保在数据传输过程中即使出现临时故障也能维持系统的稳定运行。此外,文章还提供了关于PLC内部不同存储区域地址编码的具体例子,这对于实际编程和调试非常实用。 总结来说,本文是一篇针对S7-200 PLC的实用指南,重点讲解了如何通过VB编程实现与上位计算机的高效通信,以及如何理解和应用自定义的通信规约来实现PLC存储器的数据读写操作,对PLC通信初学者和开发者具有很高的参考价值。