大家好,从今天开始我们来学习西门子S7-200 SMART自由口通信,本篇我们先来介绍一下如何设置通信参数。西门子S7-200 SMART除了支持以太网通信,还可以通过CPU上或信号板上的RS485接口实现串口通信。支持的串口协议,包括自由口协议、USS协议、MODBUS协议和PPI协议。STEP7 Micro/WIN SMART编程软件安装时自动集成串口通信所需要的功能块和子程序。
自由口通信有以下特点:RS485为半双工接口,发送和接收不可同时进行;支持1.2K到115.2K通信速率;支持一个起始位,7到8个数据位,一个停止位;可以设置一个校验位;通讯功能完全由用户程序控制,通讯协议完全由用户编写;自由口通信时发送和接收是以字节为单位进行的。
自由口通信的组态步骤分为三步。设置端口,自由口通信的基本参数是通过系统存储器来设置的,端口0和端口1分别通过SMB30和SMB130设置自由口通信的校验位、数据位、波特率和协议等。下面以端口0的设置为例,说明其参数设置。SMB30的八位数据中,最低两位表示协议选择,01表示自由口协议。第2到第4位三位表示波特率,010表示波特率为9600。第5位表示数据位,0表示八位数据。第6和第7位表示校验位,10表示无校验。
使用发送指令XMT,发送指令用于对单个字符或多个字符缓冲区执行发送操作。发送指令的TBL参数指定发送缓冲区,其格式如图所示,其中首字节指明要发送的字节,后续字节为要发送的字符,最多为255个字符。如果连接中断子程序到发送完成事件,CPU将在发送完缓冲区内的最后一个字符生成一个中断,端口0为中断事件9,端口1为中断事件26,也可以不使用中断,而通过监视SM4.5或SM4.6用信号表示发送完成,例如向打印机发送消息等。
使用接收指令RCV,接收指令用于从单个字符或多个字符缓冲区接收数据,接收指令的TBL参数指定接收缓冲区,其格式如图所示,其中首字节指明接收到的字节数,接着为起始字符,中间为数据和结束字符。如果连接中断子程序到接收完成时间,CPU将在接收完最后一个字符后生成中断,端口0,为中断事件23,端口1为中断事件24,也可以不使用中断,而通过监视SMB86或SMB186来来接收消息。
自由口通信接收数据流程如图所示,接收指令允许选择消息开始和结束条件。对于端口0使用SMB86到SMB94,对于端口1使用SMB186到SMB194接收指令,支持多种消息开始条件和结束条件。我们将通过一个简单的应用实例演示自由口通信的组态方法,通过串口通信信号板与windows操作系统的集成软件超级终端通信,使用自由口协议发送和接收数据,具体内容在下篇文章中进行介绍。
今天关于西门子S7-200 SMART自由口通信的内容我们先学习到这里,本篇我们学习了如何设置通信参数,以后的文章中我们会继续学习S7-200 SMART自由口通信的其他内容,欢迎大家关注学习!