收藏 分享(赏)

自由口通信整理.doc

上传人:fmgc7290 文档编号:9499830 上传时间:2019-08-10 格式:DOC 页数:3 大小:24KB
下载 相关 举报
自由口通信整理.doc_第1页
第1页 / 共3页
自由口通信整理.doc_第2页
第2页 / 共3页
自由口通信整理.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、自由口通信资料总结自由口通信S7-200 CPU 的串行通信口可由用户程序控制,这种操作模式称作自由口通信。自由口通信时基于 RS-485 的硬件基础,允许应用程序控制 s7-200 CPU 的通信端口,以实现一些自定义通信协议的通信方式。波特率为 1200115200 bit/s。当选择了自由口通信模式,程序可以使用接收中断、发送中断、发送指令和接收指令来控制通信操作。在自由口模式下,通信协议完全由程序控制。SM30(用于端口 0)和SM31(如果有两个端口,则用于端口 1)用于选择波特率和奇偶校验。S7-200 处于自由口通信模式时,所有的通信任务和信息定义均需要由用户编程实现。简单情况下

2、,可以只用(XMT )指令向打印机或者显示器发送信息,或者同条码阅读器、重量计和焊机等进行通信连接。每种情况下,都必须编写程序,以支持自由端口模式下设备同 CPU 通信的协议。只有 CPU 处于 RUN 模式时,才能进行自由端口通信。通过向 SM30 或 SM31 的协议选择区置 1,可以选择自由端口模式。处于自由端口模式时,不能与编程设备通信。注意:1)s7-200 CPU 通信端口是半双工通信口,所以发送和接收不能同时进行。2)S7-200 CPU 通信口处于自由口模式下时,该通信口不能同时工作在其他通信模式下。例如:不能再端口 1 进行自由口通信时,又使用该通信口进行 PPI 编程。3)

3、S7-200 CPU 通信端口是 RS-485 标准,如果通信对象是 RS-232 设备,则需要使用Rs-232/PPI 电缆。4)自由口通信只有在 s7-200 CPU 处于 RUN 模式下才能被激活,如果将 s7-200 CPU设置为 STOP 模式,则通信端口将根据 s7-200 CPU 系统块中的配置转换到 PPI 协议。5)SM0.7 反映 CPU 的模式,通过修改 SM0.7 的状态可以控制自由端口模式的进入。应用自由口通信首先要把通信口定义为自由口模式,同时设置相应的通信波特率和上述通信格式。用户程序通过特殊存储器 SMB30(对端口 0)、SMB130(对端口 1)控制通信口的

4、工作模式。CPU 通信口工作在自由口模式时,通信口就不支持其他通信协议(比如 PPI),此通信口不能再与编程软件 Micro/WIN 通信。CPU 停止时,自由口不能工作,Micro/WIN 就可以与CPU 通信。通信口的工作模式,是可以在运行过程中由用户程序重复定义的。如果调试时需要在自由口模式与 PPI 模式之间切换,可以使用 SM0.7 的状态决定通信口的模式;而 SM0.7 的状态反映的是 CPU 运行状态开关的位置(在 RUN 时 SM0.7=“1“,在STOP 时 SM0.7=“0“)与网络读写指令(NetR/NetW)类似,用户程序不能直接控制通信芯片而必须通过操作系统。用户程序

5、使用通信数据缓冲区和特殊存储器与操作系统交换相关的信息。XMT 和 RCV 指令的数据缓冲区类似,起始字节为需要发送的或接收的字符个数,随后是数据字节本身。如果接收的消息中包括了起始或结束字符,则它们也算数据字节。调用 XMT 和 RCV 指令时只需要指定通信口和数据缓冲区的起始字节地址。XMT 和 RCV 指令与 NetW/NetR 指令不同的是,它们与网络上通信对象的“地址”无关,而仅对本地的通信端口操作。如果网络上有多个设备,消息中必然包含地址信息;这些包含地址信息的消息才是 XMT 和 RCV 指令的处理对象。由于 S7-200 的通信端口是半双工 RS-485 芯片,XMT 指令和

6、RCV 指令不能同时有效。XMT 和 RCV 指令XMT(发送)指令的使用比较简单。RCV(接收)指令所需要的控制稍多一些。RCV 指令的基本工作过程为:1. 在逻辑条件满足时,启动(一次)RCV 指令,进入接收等待状态2. 监视通信端口,等待设置的消息起始条件满足,然后进入消息接收状态3. 如果满足了设置的消息结束条件,则结束消息,然后退出接收状态所以,RCV 指令启动后并不一定就接收消息,如果没有让它开始消息接收的条件,就一直处于等待接收的状态;如果消息始终没有开始或者结束,通信口就一直处于接收状态。自由口通信的核心指令是发送(XMT)和接收(RCV)指令。在自由口通信常用的中断有“接收指

7、令结束中断”、“发送指令结束中断”,以及通信端口缓冲区接收中断。这时如果尝试执行 XMT 指令,就不会发送任何消息。编程方法:在发送完成后要断开发送,然后准备接收数据;在接收完成后,重新连接发送中断,准备发送数据。这就是要保证在发送时不能有接收,接收时不能有中断,这是由自由口通信的硬件决定的。自由口通信基本过程主程序初始化子程序初始化通信参数设置发送中断时间声明发送完和接收完中断中断 0 ( 定时发送数据 )设置发送参数并发送中断 1 ( 发送完中断 ) 断开中断 开始接收中断 2 ( 接收完中断 )转入发送状态所以确保不同时执行 XMT 和 RCV 非常重要,可以使用发送完成中断和接收完成中断功能,在中断程序中启动另一个指令。(这一点相当重要,自由口编程的原理就是基于这句话)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报