關(guān)于西門子PLC的自由通訊指令
關(guān)于西門子PLC的RCV指令的所有控制均通過程序設(shè)置接收指令控制特殊寄存器完成。接收指令的啟動、結(jié)束(或終止),以及消息起始和結(jié)束條件,都通過接收指令控制字節(jié)(SMB87對Port0,SMB187對PORT1)和其他一些控制特殊存儲器設(shè)置。
1.接收指令的啟動和結(jié)束(或中止)
啟動接收指令后,S7-200西門子PLC的通信控制器就處于接收狀態(tài)。接收狀態(tài)可以由用戶程序中止,接收指令結(jié)束。
2.消息串起始/結(jié)束的判斷
使用接收指令時需要設(shè)置消息起始和結(jié)束的判斷條件。接收指令啟動后,通信控制器用這些條件來判斷消息的開始和結(jié)束判斷消息結(jié)束時,接收狀態(tài)終止;否則,通信口會一直處在接收狀態(tài)。
【例7-4】 S7-200西門子PLC通信口0接收字符串,并在西門子觸摸屏信息接收中斷服務(wù)程序中把接收到的*個字節(jié)傳送到CPU輸出字節(jié)QB0上顯示。
使用PC/PPI電纜連接S7-200西門子PLC和編程PC的串口。應(yīng)用Hyper Terminal向CPU發(fā)送字符串。
1.參數(shù)設(shè)置
選擇空閑線檢測為信息起始標志,字符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輸出,開始下一個接收過程。
3.使用Hyper Terminal調(diào)試
打開WINOOWs系統(tǒng)的Hyper Terminal程序,選擇圖標,一個連接名稱,本例利用了[例7-3]所定義的連接。
選擇西門子PLC監(jiān)控通信口,設(shè)置波特率后進入主界面。在“File” (文件)菜單中選擇“Properties”(屬性)選項,如圖7-40所示。
在“屬性”菜單中,單擊“Settings” (設(shè)置)>“ASCII Setup”(ASCII設(shè)置),如圖7-41所示。
下載S7 - 200西門子PLC程序項目后斷開STEP 7- Micro/WIN與CPU的連接。將S7-200西門子PLC上的模式選擇開關(guān)撥動到RUN(運行)位置。在Hyper Terminal(超級終端)中輸入字符串,觀察CPU上QB0的狀態(tài)。
如果在Hyper Terminal 工具欄上按掛斷按鈕,或在Call(呼叫)菜單中選擇Disconnect(斷開連接)命令,可以釋放Hyper Terminal對PC機串行口的占用。
將CPU226CN上模式開關(guān)從ON撥到TERM,重新定義自由口為PPI從站模式
聯(lián)系我們
上海翰粵自動化系統(tǒng)有限公司 公司地址:上海市松江區(qū)思賢路2399弄137號 技術(shù)支持:化工儀器網(wǎng)掃一掃 更多精彩
微信二維碼
網(wǎng)站二維碼