以前我們講過關于自由口通訊的實例,今天我們講一下自由口通訊配合中斷的實例。
在一些特定場合,比如說與松下系列伺服驅動器的控制時,為了保證數據的安全,我們需要進行多次往返的數據交換,這就需要嚴格控制通訊的時間。那么這個時候對于PLC來說通訊就是*重要的,所以我們需要打斷PLC的正常功能,優先處理通訊,這就需要通訊中斷。
實例:2臺S7-200 SMART CPU(端口0)采用自由口通信方式實現相互通信
(本文僅為展示自由口通訊和中斷,如果想要實現這兩個PLC的通訊其實**是使用向導進行以太網通訊,有機會我們也會進行講解!)
通信任務:CPU1 每秒觸發一次 XMT 指令將 CPU 的實時時鐘發送到 CPU2;CPU2 接收到 CPU1 發送的信息后立即將 CPU2 的實時時鐘回復到 CPU1。
接線:每個 S7-200 SMART CPU 都提供一個以太網端口和一個 RS485 端口(端口0),標準型 CPU 額外支持 SB CM01 信號板(端口1),信號板可通過 STEP 7-Micro/WIN SMART 軟件組態為 RS232 通信端口或 RS485 通信端口。
CPU 通信端口引腳分配
1、CPU1 編程
1.1、CPU1 主程序編程如圖 所示:
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. 所示:
CPU1 中斷子程序 INT_0
2、CPU2 編程
2.1、CPU2 主程序編程如圖所示:
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 指令將實時時鐘信息發送出去。程序如圖所示。
CPU2 接收完成中斷子程序 INT_0
2.3、 CPU2 發送完成中斷子程序 INT_1 編程
中斷子程序 INT_1 用于執行 RCV 指令,并開始新的信息接收任務。程序如圖 7.所示。
- 你做的PLC程序加密了嗎?來看看同行們怎么說的! 2024-12-27
- PLC編程變量太多,如何規劃地址便于記憶 2024-12-27
- 這么全的PLC輸入輸出接線,第一次看見 2024-12-27
- 西門子PLC有幾種通信方式?看電氣工程師為你解答 2024-12-27
- PLC快速入門:從掌握這幾個西門子經典編程案例開始 2024-12-27
- 如何讓PLC與Modbus設備通信 2024-12-27
- 西門子觸摸屏程序下載步驟,十分詳細,一看就會! 2024-12-27
- 手把手教你用博途軟件仿真西門子PLC的S7通信 2024-12-27
- 西門子PLC程序案例,是實踐好東西! 2024-12-27
- 新手入門案例:S7-200SMART如何畫圓(附帶完整程序) 2024-12-27
- PLC是怎么控制伺服電機的?如何設計一個伺服系統? 2024-12-27
- S7-300/400 通過全局數據包通信 2024-12-27
- 西門子s7-200smart與s7-1200PLC之間如何通信 2024-12-27
- 如何寫出一個好的PLC報警程序? 2024-12-27
- 大型西門子PLC程序結構示例! 2024-12-27
聯系方式
- 電 話:18126392341
- 聯系人:梁濤
- 手 機:15267534595
- 微 信:15267534595