1.接收指令的启动和结束(或中止)
启动接收指令后,S7-200 CPU的通信控制器就处于接收状态。接收状态可以由用户程序中止,接收指令结束。
2.消息串起始/结束的判断
使用接收指令时需要设置消息起始和结束的判断条件。接收指令启动后,通信控制器用这些条件来判断消息的开始和结束判断消息结束时,接收状态终止;否则,通信口会一直处在接收状态。
【例7-4】 S7-200 CPU的通信口0接收字符串,并在信息接收中断服务程序中把接收到的第一个字节传送到CPU输出字节QB0上显示。
使用PC/PPI电缆连接S7-200 CPU和编程PC的串口。应用Hyper Terminal向CPU发送字符串。
1.参数设置
选择空闲线检测为信息起始标志,字符16#0A为消息结束字符,根据接收字节控制字节定义表,应当写入SMB87的控制数据为16# B0。
2.程序
此例程序主要包括主程序、SBR_0、SBR_1、INT_0。主程序如图7-36所示。SBR_1编程如图7-37所示。SBR_0编程如图7-38所示。INT_0编程如图7-39所示。
主程序:根据CPU模式开关的状态,定义通信口。
SBR_0:定义自由口接收指令参数,连接接收结束中断,开始接收。
SBR_1:重定义PPI通信口。
INT_0:传送消息首字节到QB0输出,开始下一个接收过程。
图7-36 主程序
图7-37 SBR_1编程
图7-38 SBR_0编程
图7-39 INT_0编程
3.使用Hyper Terminal调试
打开WINOOWs系统的Hyper Terminal程序,选择图标,指定一个连接名称,本例利用了[例7-3]所定义的连接。
选择监控通信口,设置波特率后进入主界面。在“File” (文件)菜单中选择“Properties”(属性)选项,如图7-40所示。
图7-40 属性窗口
在“属性”菜单中,单击“Settings” (设置)>“ASCII Setup”(ASCII设置),如图7-41所示。
下载S7 - 200项目后断开STEP 7- Micro/WIN与CPU的连接。将S7-200 CPU上的模式选择开关拨动到RUN(运行)位置。在Hyper Terminal(超级终端)中输入字符串,观察CPU上QB0的状态。
如果在Hyper Terminal 工具栏上按挂断按钮,或在Call(呼叫)菜单中选择Disconnect(断开连接)命令,可以释放Hyper Terminal对PC机串行口的占用。
将S7 - 200 COU上模式开关从ON拨到TERM,重新定义自由口为PPI从站模式。在STEP 7- Micro/WIN中使用状态表,在线观察缓冲区内容,如图7-42所示。
图7-41 ASCII码设置窗口
图7-42 状态表监控缓冲区内容
这时VB100(即接收字节数)为零。这是因为在未接收到任何字符前重新设置了S7-200 CPU的通信模式,恢复为普通PPI从站模式。