通过编程可以选择自由端口模式来控制S7-200的串行通信口。当选择了自由端口模式,用户程序通过使用接收中断、发送中断、发送指令和接收指令来控制通信口的操作。当处于自由端口模式时,通信协议由梯形图程序控制。
SMB30(对于端口0)和SMB130(对于端口1,如果使用的S7-200有两个端口的话)被用于选择波特率和校验类型。当S7-200处于STOP模式时,自由端口模式被禁止,重新建立正常的通信(例如:编程设备的访问)。
在简单的情况下,可以只用发送指令(XMT)向打印机或者显示器发送消息。其他例子包括与条码阅读器、称重计和焊机的连接在每种情况下,都必须编写程序,来支持在自由端口模式下与S7-200通信设备所使用的协议。
只有当S7-200处于RUN模式时,才能进行自由端口通信。要使能自由端口模式,应该在SMB30(端口0)或者SMB130(端口1)的协议选择区中设置相应数字。处于自由端口通信模式时,不能与编程设备通信。
可以使用特殊寄存器位来控制自由端口模式。反映的是操作模式开关的当前位置。当等于0时,开关处于TERM位置;当=1时,操作模式开关位于RUN位置。如果只有模式开关处于RUN位置时,才允许自由端口模式,可以将开关改变到其他位置上,使用编程设备监控S7-200的运行。
SMB30和SMB130分别配置通信口0和通信口1,并且为自由端口操作提供波特率、校验和数据位数的选择。
发送指令能够发送一个或多个字节的缓冲区,多为255个。如果有一个中断程序连接到发送结束事件上,在发送完缓冲区中的后一个字符时,则会产生一个中断(对端口0为中断事件9,对端口1为中断事件26)。
用户可以不使用中断来执行发送指令(例如:向打印机发送消息)。通过监视或者信号,判断发送是否完成。
所有评论仅代表网友意见,与本站立场无关。