S7-200 PLC*口通信发送指令( XMT)应用

时间:2024-03-15 19:07:13

【例7-3】把CPU 224的Port0定义为*口通信模式。在一个定时中断程序中对定时中断次数计数,并将计数值转换为ASCII字符串,再从Port0发送出去。计算机接收并利用超级终端(Hyper Terminal)显示与S7-200 CPU的通信的内容。

    *口通信模式以字节为单位发送数据,而不考虑其内容,在这个例子中使用ASCII字符只是为了便于在PC机上显示。

    1.参数设置

    *口通信模式。通信协议为:波特率9600,无奇偶校验,每字符8位。规定发送缓冲区从VB100开始,如表7-13所示。在本例中设置16#0D0A为结束字符,是因为在Hyper Terminal(超级终端)中16#0D0A正好是字符“回车”,可用来换行显示。

表7-13    发送缓冲区数据定义

    VB100

    14

    发送数据字节数

    VB101-112

    数据字节

    ASCII字符表(共12字节长)

    VB113

    16#0D

    消息结束字符

    VB114

    16#0A

    即“回车”符

    2.程序

    使用Data Block(数据块)定义发送缓冲区,如图7-27所示。
S7-200 PLC*口通信发送指令( XMT)应用

图7-27 数据块

    本例PLC程序包括主程序、子程序SBR_1、SBR_0和中断子程序,分别如图7-28~图7-31所示。

    主程序:初始化*口通信设置,并根据“模式选择开关”的状态重新设置通信端口0。SBR_0:定义通信端口0为*口,初始化定时中断。SBR_1:定义通信端口0为普通PPI从站通信口。INT_0:对定时中断计数并从Port0(端口0)发送计数值。
S7-200 PLC*口通信发送指令( XMT)应用

图7-28 主程序
S7-200 PLC*口通信发送指令( XMT)应用

图7-29 SBR_1编程
S7-200 PLC*口通信发送指令( XMT)应用

图7-30 SBR_0编程

    3.使用Hyper Terminal监视串口通信

    如同编程时那样连接PC/PPI电缆。使用Hyper Terminal时需要注意不要让多个应用程序争夺串行通信口的控制权。

    如果使用了多主站RS-232/PPI电缆,需将DIP开关5拨为“0”,并设置适当的通信速率。

    打开Windows系统的Hyper Terminal程序,选择图标,指定一个连接名称,如图7-32所示。

选择PC机连接PC/PPI电缆的串行通信端口(这里是COM1),如图7-33所示。
S7-200 PLC*口通信发送指令( XMT)应用

图7-31 INT_0编程
S7-200 PLC*口通信发送指令( XMT)应用

图7-32 指定连接名称
S7-200 PLC*口通信发送指令( XMT)应用

图7-33 选择串行通信端口

    选择通信口参数,如图7-34所示。在Hyper Terminal(超级终端)窗口中应当显示由S7-200 CPU发送来的字符串,如图7-35所示。
S7-200 PLC*口通信发送指令( XMT)应用

图7-34 选择通信口参数
S7-200 PLC*口通信发送指令( XMT)应用

图7-35 CPU224发送的字符串