1.接收指令的啟動和結(jié)束(或中止)
啟動接收指令后,S7-200 CPU的通信控制器就處于接收狀態(tài)。接收狀態(tài)可以由用戶程序中止,接收指令結(jié)束。
2.消息串起始/結(jié)束的判斷
使用接收指令時(shí)需要設(shè)置消息起始和結(jié)束的判斷條件。接收指令啟動后,通信控制器用這些條件來判斷消息的開始和結(jié)束判斷消息結(jié)束時(shí),接收狀態(tài)終止;否則,通信口會一直處在接收狀態(tài)。
【例7-4】 S7-200 CPU的通信口0接收字符串,并在信息接收中斷服務(wù)程序中把接收到的第一個(gè)字節(jié)傳送到CPU輸出字節(jié)QB0上顯示。
使用PC/PPI電纜連接S7-200 CPU和編程PC的串口。應(yīng)用Hyper Terminal向CPU發(fā)送字符串。
1.參數(shù)設(shè)置
選擇空閑線檢測為信息起始標(biāo)志,字符16#0A為消息結(jié)束字符,根據(jù)接收字節(jié)控制字節(jié)定義表,應(yīng)當(dāng)寫入SMB87的控制數(shù)據(jù)為16# B0。
2.程序
此例程序主要包括主程序、SBR_0、SBR_1、INT_0。主程序如圖7-36所示。SBR_1編程如圖7-37所示。SBR_0編程如圖7-38所示。INT_0編程如圖7-39所示。
主程序:根據(jù)CPU模式開關(guān)的狀態(tài),定義通信口。
SBR_0:定義自由口接收指令參數(shù),連接接收結(jié)束中斷,開始接收。
SBR_1:重定義PPI通信口。
INT_0:傳送消息首字節(jié)到QB0輸出,開始下一個(gè)接收過程。
圖7-36 主程序
圖7-37 SBR_1編程
圖7-38 SBR_0編程
圖7-39 INT_0編程
3.使用Hyper Terminal調(diào)試
打開WINOOWs系統(tǒng)的Hyper Terminal程序,選擇圖標(biāo),指定一個(gè)連接名稱,本例利用了[例7-3]所定義的連接。
選擇監(jiān)控通信口,設(shè)置波特率后進(jìn)入主界面。在“File” (文件)菜單中選擇“Properties”(屬性)選項(xiàng),如圖7-40所示。
圖7-40 屬性窗口
在“屬性”菜單中,單擊“Settings” (設(shè)置)>“ASCII Setup”(ASCII設(shè)置),如圖7-41所示。
下載S7 - 200項(xiàng)目后斷開STEP 7- Micro/WIN與CPU的連接。將S7-200 CPU上的模式選擇開關(guān)撥動到RUN(運(yùn)行)位置。在Hyper Terminal(超級終端)中輸入字符串,觀察CPU上QB0的狀態(tài)。
如果在Hyper Terminal 工具欄上按掛斷按鈕,或在Call(呼叫)菜單中選擇Disconnect(斷開連接)命令,可以釋放Hyper Terminal對PC機(jī)串行口的占用。
將S7 - 200 COU上模式開關(guān)從ON撥到TERM,重新定義自由口為PPI從站模式。在STEP 7- Micro/WIN中使用狀態(tài)表,在線觀察緩沖區(qū)內(nèi)容,如圖7-42所示。
圖7-41 ASCII碼設(shè)置窗口
圖7-42 狀態(tài)表監(jiān)控緩沖區(qū)內(nèi)容
這時(shí)VB100(即接收字節(jié)數(shù))為零。這是因?yàn)樵谖唇邮盏饺魏巫址爸匦略O(shè)置了S7-200 CPU的通信模式,恢復(fù)為普通PPI從站模式。