S7-200PLC自由口通信:利用发送完中断接收数据
需积分: 48 153 浏览量
更新于2024-08-10
收藏 221KB PDF 举报
"这篇文档是关于西门子S7-200 PLC的自由口通信教程,特别是如何利用发送完中断启动接收数据的技巧。文中通过一个与智能电表通信的例子,详细阐述了自由口通信的初始化、声明中断、编写报文、发送报文以及中断处理的过程。"
在工业自动化领域,西门子S7-200系列PLC的自由口通信功能允许用户自定义通信协议,与各种不同设备进行数据交换。本文档详细介绍了这一过程,以1200bps波特率、偶校验、8位数据位的智能电表通信为例。
首先,自由口通信的初始化至关重要。这一步涉及配置PLC的通信参数,如波特率、校验方式等,这些参数通过MOVB指令写入SMB30寄存器。初始化子程序中,还需要声明发送和接收完成中断,分别对应中断号9(发送完)和23(接收完)。
接着,文章讨论了如何编写报文子程序。根据智能设备的报文格式,将命令和指令长度存储在特定的VB单元中,然后使用XMT指令发送报文。XMT指令需要两个参数:报文起始地址和通信口,且必须在上升沿触发,以避免错误。
重点在于利用发送完中断启动接收数据。当XMT指令执行完毕,会触发9号中断。此时,可以编写一个中断子程序来处理这个事件。在中断子程序中,使用RCV指令接收通信口返回的数据,并将其存储在预设的VB单元(如VB100)中。中断处理的正确设置是保证通信流程顺畅的关键。
自由口编程遵循一定的原则:
1. 使用SM0.1启动端口初始化,并连接发送完成和接收完成中断。
2. SM0.0用于触发RCV指令,准备接收数据。
3. XMT指令必须在上升沿触发,并确保通信口在发送前处于停止接收状态。
4. SMB87至SMB94寄存器根据预期的接收信息进行合理设置。
5. 确保满足发送结束条件(如发送字节数或结束字符)才能触发9号中断。
本文档提供了详细的步骤和注意事项,帮助用户理解和实践S7-200 PLC的自由口通信,特别是如何利用中断机制有效地进行数据的发送和接收,这对于实现PLC与各种设备间的高效通讯具有很高的参考价值。
2020-07-17 上传
2019-09-13 上传
2021-09-30 上传
2024-04-28 上传
2010-07-12 上传
2012-06-05 上传
2020-10-18 上传
2021-09-11 上传
点击了解资源详情
锋锋老师
- 粉丝: 26
- 资源: 3838
最新资源
- PROTEL99SE.pdf
- 谭浩强c语言 pdf版(带书签)
- Div+CSS 布局大全.pdf
- 写给大家看的面向对象编程书 第3版 (最通俗易懂的面向对象著作)
- 遗传算法源程序(c语言)
- java 图书馆管理系统论文
- netbackup_unix 中文命令手册
- mini2440 root_qtopia 文件系统启动过程分析
- 电子秤标定方法 各种电子称 大全
- postfix权威指南
- Weblogic管理指南
- [游戏编程书籍].2_OpenGL.Extensions.-.Nvidia.pdf
- 毕业设计(物流配送管理)
- 游程编码 matlab实现
- 你必须知道的.NET(PDF文档)
- Android+eclipse环境配置