S7-200smart RCV 接收指令實例
時間:2018-05-23 19:38 來源:ob体育竞彩
S7-200smart RCV 接收指令實例
RCV接收指令實例
例子 1 :S7-200 SMART CPU集成的RS485 端口(端口 0 )實現與條碼掃描槍通信。
條碼掃描槍通常為 RS232 端口,其與 S7-200 SMART CPU 集成的 RS485 端口連接時需要使用 RS232/485 轉換設備或 RS-232/PPI 多主站電纜。
條碼掃描槍接收到條碼後會自動通過 RS232 端口發送報文,S7-200 SMART CPU 需要調用 RCV 指令接收報文,並在接收完成中斷中再次使能 RCV 指令循環接收報文。
CPU 主程序見圖1所示:
圖1.CPU 主程序
1.設置 SMB30 = 2#00001001 (自由口通信,波特率 9600,8 位數據位,無校驗);
2.設置 SMB87 = 2#10010100,使用空閑線檢測為信息接收的起始條件,使用字符間定時器為信息接收的結束條件 ;
3.設置空閑線定時器 SMW90 = 5 ms,字符間定時器 SMW92 = 5 ms,允許最大接收字符個數 SMB94 = 50;
4.連接中斷子程序 INT_0 到通信端口 0 接收完成事件,並使能中斷;
5. 使用 SM0.1 觸發 RCV 指令地執行。
CPU 中斷程序見圖2.所示:
圖2.CPU 中斷程序
1.判斷信息接收結束是否為字符間超時結束(SM86.2 = 1),若是,則認為接收成功,接收成功計算器 VB200 自加一;
2.消息接收成功時接收的信息拷貝到 VB300 為起始地址的存儲區;
3.開始下一次 RCV 指令地執行。
備注:
例子程序請參見:與條碼掃描槍通信.smart,例子程序中的 CPU 類型可能與用戶實際使用的類型不同,用戶可能需要先對例子程序做修改和調整,才能將其用於測試,例子程序僅供參考。
例子 2 :2台S7-200 SMART CPU采用自由口通信方式實現相互通信。
通信任務:CPU1 每秒觸發一次 XMT 指令將 CPU 的實時時鍾發送到 CPU2;CPU2 接收到 CPU1 發送的信息後立即將 CPU2 的實時時鍾回複到 CPU1。
1、CPU1 編程
1.1、CPU1 主程序編程如圖3. 所示:
圖3. CPU1主程序
1. 設置 SMB30 = 2#00001001 (自由口通信,波特率 9600 bps,8 位數據位,無校驗)。
2. 設置 SMB87 = 2#10010100,使用空閑線檢測為信息接收的起始條件,使用字符間定時器為信息接收的結束條件。
3. 設置空閑線定時器 SMW90 = 5 ms,字符間定時器 SMW92 = 5 ms,允許最大接收字符個數 SMB94 = 10。
4. 連接中斷子程序 INT_0 到通信端口 0 發送完成事件,並啟用中斷。
5. 每秒鍾讀取一次 CPU 的實時時鍾,並將發送緩衝區長度設置為 8 個字符。
6. 執行 XMT 指令之前設置 SM87.7 = 0,同時執行 RCV 指令,終止消息接收。
7. 每秒鍾執行一次 XMT 指令將 CPU 的實時時鍾發送出去。
1.2、 CPU1 發送完成中斷子程序 INT_0 編程
中斷子程序INT_0用於恢複 SMB87 的設置(SM87.7 = 1),並執行 RCV 指令開始接收 CPU2的應答信息。程序如圖4. 所示:
圖4. CPU1 中斷子程序 INT_0
2、CPU2 編程
2.1、CPU2 主程序編程如圖5. 所示:
圖5. CPU2主程序
1. 設置 SMB30 = 2#00001001 (自由口通信,波特率 9600 bps,8 位數據位,無校驗)。
2. 設置 SMB87 = 2#10010100,使用空閑線檢測為信息接收的起始條件,使用字符間定時器為信息接收的結束條件。
3. 設置空閑線定時器 SMW90 = 5 ms,字符間定時器 SMW92 = 5 ms,允許最大接收字符個數 SMB94 = 10。
4. 連接中斷子程序 INT_0 到通信端口 0 接收完成事件,中斷子程序 INT_1 到通信端口 0 發送完成事件,並啟用中斷。
5. 使用 SM0.1 調用 RCV 指令地執行。
2.2、 CPU2 接收完成中斷子程序 INT_0 編程
中斷子程序INT_0用於讀取 CPU 實時時鍾,並調用 XMT 指令將實時時鍾信息發送出去。程序如圖如圖 6.所示。
6. CPU2 接收完成中斷子程序 INT_0
2.3、 CPU2 發送完成中斷子程序 INT_1 編程
中斷子程序 INT_1 用於執行 RCV 指令,並開始新的信息接收任務。程序如圖7所示。
圖7. CPU2 發送完成中斷子程序 INT_0
看過《S7-200smart RCV 接收指令實例》的人還看了以下文章
S7-200的特殊存儲器SM | |
1、 SMB0字節:(係統狀態位) SM0.0 PLC運行時這一位始終為l,是常0N繼電器。 SM0.l PLC首次掃描時為1一個掃描周期。用途之一是調用初始化使用。 SM0.2 若保持數據丟失,該位為1一個掃描周期。 SM0.3 開機進入RUN方式將ON一個掃描周期。 SM0.4 該位提供了一個... |
如何備份s7-300plc程序 | |
備份S7-300程序 1:打開Simatic manager, File>New雙擊打開; 2:點擊 Browse , 出現一個新窗口如下; 選擇一個目錄/創建一個新文件夾來保存備份。 3:接下來,進入option菜單,出現一個下拉列表,如下圖所示。 選擇PG/PC接口選項。 4:一個新的窗口將打... |
在西門子PLC中讀取或搜索Tag的過程 | |
1:打開Siemens Simatic Manager 2:搜索所需的PLC程序,然後按OK。 3:點擊S7程序,然後點擊符號如下圖所示。 4:將打開一個新窗口並按ok。 5:打開菜單Find and Replace 輸入所需查詢的tag。假設我們需要一個溫度變送器,所以輸入temp文本。 然後點擊Find... |
西門子plc程序暫停功能怎麼實現 | |
這個沒有做過數控係統開發的,根本不知道這裏麵的門道。注意,對於運動控製特別是有位置控製的話,暫停並不是將當前脈衝停止即可,大多數情況下必須有個減速暫停功能,否則會造成伺服報警或步進丟步。當然大多數PLC能實現此功能,點動情況實際上就是這樣操作... |
西門子PLC用少數IO接口連接更多按鈕的方法 | |
西門子PLC為例說明用少數IO接口連接更多按鈕的方法。 接線如圖一所示: 梯形圖如圖二所示: 在這個例子中使用了SB0到SB5共6個按鈕,占用6個輸入口。操作時,按下按鈕SB0,再分別按其它按鈕,可以得到5個按鈕信號;不按按鈕SB0,操作其它按鈕,又可以得到5個按鈕... |
熱門文章
- 西門子plc鎖存型延時通定時器指令
- 如何使用西門子s7-200模擬器去測試程序
- 西門子S7-200 PLC編程軟件操作圖解
- 西門子s7-200plc怎麼控製直流電機
- 西門子S7-1200的PLC來控製電磁閥的動作
- fbd編程常用功能塊
- 西門子STEP7軟件中加減乘除指令
- 西門子300編程中FB塊用到C或者T之後多次
- 西門子S7300模擬量I/O使用圖解
- 如何設置西門子EM222擴展模塊
- 西門子S7-200能控製多少個伺服
- 西門子S7200四則運算指令表詳解
- S7-200如何通過向導設定PID教程
- step7安裝提示重啟怎麼解決
- 西門子S7300用異或指令實現一鍵啟停
- 西門子PLC生產日期和生命周期含義說明
- 西門子300PLC與溫控表怎樣連接通訊
- WinCC C語言腳本推薦
- 博圖軟件支持所有西門子型號都能組態嗎
- 西門子PLC編程中的FB、FC、DB、OB是什麼