公司動(dòng)態(tài)
關(guān)于西門子PLC的自由通訊指令
閱讀:965 發(fā)布時(shí)間:2014-9-30關(guān)于西門子PLC的自由通訊指令
關(guān)于西門子PLC的RCV指令的所有控制均通過(guò)程序設(shè)置接收指令控制特殊寄存器完成。接收指令的啟動(dòng)、結(jié)束(或終止),以及消息起始和結(jié)束條件,都通過(guò)接收指令控制字節(jié)(SMB87對(duì)Port0,SMB187對(duì)PORT1)和其他一些控制特殊存儲(chǔ)器設(shè)置。
1.接收指令的啟動(dòng)和結(jié)束(或中止)
啟動(dòng)接收指令后,S7-200西門子PLC的通信控制器就處于接收狀態(tài)。接收狀態(tài)可以由用戶程序中止,接收指令結(jié)束。
2.消息串起始/結(jié)束的判斷
使用接收指令時(shí)需要設(shè)置消息起始和結(jié)束的判斷條件。接收指令啟動(dòng)后,通信控制器用這些條件來(lái)判斷消息的開(kāi)始和結(jié)束判斷消息結(jié)束時(shí),接收狀態(tài)終止;否則,通信口會(huì)一直處在接收狀態(tài)。
【例7-4】 S7-200西門子PLC通信口0接收字符串,并在西門子觸摸屏信息接收中斷服務(wù)程序中把接收到的*個(gè)字節(jié)傳送到CPU輸出字節(jié)QB0上顯示。
使用PC/PPI電纜連接S7-200西門子PLC和編程PC的串口。應(yīng)用Hyper Terminal向CPU發(fā)送字符串。
1.參數(shù)設(shè)置
選擇空閑線檢測(cè)為信息起始標(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模式開(kāi)關(guān)的狀態(tài),定義通信口。
SBR_0:定義自由口接收指令參數(shù),連接接收結(jié)束中斷,開(kāi)始接收。
SBR_1:重定義PPI通信口。
INT_0:傳送消息首字節(jié)到QB0輸出,開(kāi)始下一個(gè)接收過(guò)程。
3.使用Hyper Terminal調(diào)試
打開(kāi)WINOOWs系統(tǒng)的Hyper Terminal程序,選擇圖標(biāo),一個(gè)連接名稱,本例利用了[例7-3]所定義的連接。
選擇西門子PLC監(jiān)控通信口,設(shè)置波特率后進(jìn)入主界面。在“File” (文件)菜單中選擇“Properties”(屬性)選項(xiàng),如圖7-40所示。
在“屬性”菜單中,單擊“Settings” (設(shè)置)>“ASCII Setup”(ASCII設(shè)置),如圖7-41所示。
下載S7 - 200西門子PLC程序項(xiàng)目后斷開(kāi)STEP 7- Micro/WIN與CPU的連接。將S7-200西門子PLC上的模式選擇開(kāi)關(guān)撥動(dòng)到RUN(運(yùn)行)位置。在Hyper Terminal(超級(jí)終端)中輸入字符串,觀察CPU上QB0的狀態(tài)。
如果在Hyper Terminal 工具欄上按掛斷按鈕,或在Call(呼叫)菜單中選擇Disconnect(斷開(kāi)連接)命令,可以釋放Hyper Terminal對(duì)PC機(jī)串行口的占用。
將CPU226CN上模式開(kāi)關(guān)從ON撥到TERM,重新定義自由口為PPI從站模式