使用发送指令
使用接收指令RCV,接收指令用于从单个字符或多个字符缓冲区接收数据,接收指令的TBL参数指定接收缓冲区,其格式如图所示,其中首字节指明接收到的字节数,接着为起始字符,中间为数据和结束字符。如果连接中断子程序到接收完成时间,CPU将在接收完最后一个字符后生成中断,端口0,为中断事件23,端口1为中断事件24,也可以不使用中断,而通过监视SMB86或SMB186来来接收消息。
使用接收指令
自由口通信接收数据流程如图所示,接收指令允许选择消息开始和结束条件。对于端口0使用SMB86到SMB94,对于端口1使用SMB186到SMB194接收指令,支持多种消息开始条件和结束条件。我们将通过一个简单的应用实例演示自由口通信的组态方法,通过串口通信信号板与windows操作系统的集成软件超级终端通信,使用自由口协议发送和接收数据,具体内容在下篇文章中进行介绍。
自由口通信接收数据流程图
接下来我们来编写西门子S7-200 SMART自由口通信的发送程序,并使用超级终端进行发送功能测试。首先设置参数,打开STEP7 Micro/WIN SMART编程软件,右键单击项目树中的CPU,选择打开,在打开的系统块中选择CPU类型和信号板类型。设置信号板,串口的类型为RS232,地址为2,波特率为9600。
设置串口参数
接下来编写发送程序,从指令树中选择常开触点,拖放到编程区域程序段1中,输入地址SM0.1,拖动字节传送指令到常开触点后面,输入常数十六进制数09到SMB130,表示选择自由口协议,波特率9600,数据位八位,无奇偶校验。