【例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所示。
图7-27 数据块
本例PLC程序包括主程序、子程序SBR_1、SBR_0和中断子程序,分别如图7-28~图7-31所示。
主程序:初始化*口通信设置,并根据“模式选择开关”的状态重新设置通信端口0。SBR_0:定义通信端口0为*口,初始化定时中断。SBR_1:定义通信端口0为普通PPI从站通信口。INT_0:对定时中断计数并从Port0(端口0)发送计数值。
图7-28 主程序
图7-29 SBR_1编程
图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所示。
图7-31 INT_0编程
图7-32 指定连接名称
图7-33 选择串行通信端口
选择通信口参数,如图7-34所示。在Hyper Terminal(超级终端)窗口中应当显示由S7-200 CPU发送来的字符串,如图7-35所示。
图7-34 选择通信口参数
图7-35 CPU224发送的字符串