西門子plc S7-1500​通信簡介分享
發布日期:
2023-09-15

西門子S7-1500關(guan) 於(yu) 通信的功能非常完善,可以說通信無處不在,這其中包括PLC之間的通信,PLC與(yu) 人機界麵的通信。在博途軟件中,支持拖拽方式,通過變量的拖拽自動建立通信,這極大的提高了工程效率。今天我們(men) 從(cong) 三個(ge) 方麵介紹S7-1500的通信。看完本文您會(hui) 發現通信也是如此簡單與(yu) 高效。

S7-1500PLC通信功能強大,靈活方便,常用的S7通信方式可以在通信函數塊中確認通信狀態。對於(yu) 熟悉經典step7的工程師,可以按照原有的方式,即先建立連接,再編寫(xie) 通信程序的方式建立通信。下麵以BSEND/BRCE 為(wei) 例,介紹實現的過程。

首先進入網絡視圖,點擊連接按鈕選擇S7連接。通過鼠標拖拽的方式,在兩(liang) 台S7-1500PLC的通信接口之間建立S7通信連接。通信連接建立以後,連接將高亮顯示。在通信連接的屬性中,可以查看使用的通信接口和通信地址等信息。這裏需要注意每一個(ge) CPU的連接ID這些連接ID與(yu) 通信函數相互關(guan) 聯。

通信連接建立後就可以編寫(xie) 通信程序了。打開一個(ge) CPU中的OB1,在S7通信指令中調用發送函數塊BSEND。賦值M1.1到發送請求參數,每一個(ge) 上升沿發送一次。將連接ID 16#100複製到ID 參數。

在R_ID參數中,用戶可以自由定義(yi) 一個(ge) 通信對,即通信雙方的R_ID必須相同。示例中為(wei) 16#1。SD-1為(wei) 數據發送區,示例中將發送DB1的前10個(ge) 整數。

賦值MW2到發送長度,如果值為(wei) 0,表示將發送區的數據全部發送。如果發送數據,通信方成功接收,DONE將返回一個(ge) 脈衝(chong) 信號,示例中賦值M1.2。如果通信故障,M1.3將為(wei) 1,可以通過MW4查看具體(ti) 的故障信息。

打開另一個(ge) CPU中的OB1。在S7通信指令中調用接收函數塊BRCV。賦值1使能接收功能。將連接ID 16#100賦值到ID參數,R_ID 與(yu) 通信方必須相同,為(wei) 16#1。

將數據塊DB1的前10個(ge) 整數作為(wei) 接收區。實際接收數據的長度可以從(cong) MW2中讀出。如果接收到新的數據,NDR將返回一個(ge) 脈衝(chong) 信號,示例中賦值M1.2。如果通信故障,M1.3將為(wei) 1。可以通過MW4查看具體(ti) 的故障信息。

分別將連接配置與(yu) 通信程序下傳(chuan) 到CPU中。首先需要監控通信連接是否建立。選擇在線。可以看到,通信連接已經建立。打開變量監控表。複製發送數據。然後使能發送信號M1.1在接收區可以看到數據接收成功。

S7通信也支持單邊編程的方式進行通信,例如使用通信函數塊PUT將本方的數據存放到對方的數據區,也可以使用通信函數塊GET將對方的數據讀回並存儲(chu) 於(yu) 本方的數據區。

使用TIA博途V13進行的PUT/GET通信方式將更簡單,通過向導的方式就可以實現通信。下麵以PUT為(wei) 例介紹S7單邊通信方式。

打開一個(ge) CPU中的OB1。在S7通信指令中直接調用通信函數塊PUT。在塊屬性中選擇組態標簽。在連接參數欄中選擇需要通信的站點。選擇站點後可以選擇使用的通信接口,例如兩(liang) 個(ge) 站點都使用接口1進行通信。這樣通信地址就可以確定。這時係統會(hui) 自動創建一個(ge) S7連接及ID號。也可以選擇在項目中已經創建過的S7連接。如果勾選主動建立連接選項,則本方主動發起連接的創建,對方則自動取消這個(ge) 選項。

點擊塊參數欄。賦值M1.1到通信請求參數,每一個(ge) 上升沿將通信一次。在寫(xie) 入區域需要指定通信夥(huo) 伴的接收地址區,例如開始地址為(wei) P#DB1.DBX0.0,長度為(wei) 10個(ge) 整數。在發送區域指定本方的數據發送區,例如開始地址同樣為(wei) P#DB1.DBX0.0,長度為(wei) 10個(ge) 整數。

如果發送數據通信方成功接收,DONE將返回一個(ge) 脈衝(chong) 信號,示例中賦值M1.2。如果通信故障,M1.3將改為(wei) 1。可以通過MW4查看具體(ti) 的故障信息。完成向導功能後,配置的參數將自動複製到通信函數。

由於(yu) 通信夥(huo) 伴可以通過PUT/GET通信方式修改數據通信方式透明,所以在CPU中缺省狀態為(wei) 鎖存狀態。如果需要通信,必須使能被訪問方的讀寫(xie) 功能。例如在CPU的屬性中選擇保護欄勾選使能通信功能。然後分別將連接配置與(yu) 通信程序下傳(chuan) 到CPU中。

檢測的方法未變,首先需要監控通信連接是否建立。選擇在線。可以看到,通信連接已經建立。打開變量監控表。賦值發送數據,然後使能發送信號M1.1在接收區可以看到數據接收成功。

如果需要讀取對方的數據,也可以調用GET通信函數方式同樣簡單。首先我們(men) 新建一個(ge) HMI站點。我們(men) 以KTP400comfort為(wei) 例。新建HMI可以借助向導完成與(yu) 指定的PLC的連接以及畫麵布局、報警等界麵設計。但本文通過使用鼠標拖放的功能快速建立與(yu) PLC的通信。因此我們(men) 點擊取消按鈕進入下一步工作。

在通常的情況下,可以在設備和網絡視圖中通過鼠標點擊的方式建立HMI與(yu) PLC的連接。如果在一個(ge) 項目中需要連接多個(ge) PLC,不考慮之間過程,隻考慮通信的結果的情況下,使用拖放變量到HMI界麵的方式將更加簡單。下麵以示例方式詳細介紹。

在OB1中創建一個(ge) 簡單的與(yu) 操作程序。在項目樹的PLC變量中,打開默認變量表,可以看到程序中使用到的變量。將變量M100.0,M100.1和M100.2從(cong) 變量表中拖放到HMI界麵中。在設備和網絡視圖中,我們(men) 可以看到兩(liang) 者的HMI連接自動創建完畢。

編譯並下載PLC程序。監控OB1程序運行狀態。啟動HMI仿真器。通過IO域分別給M100.0,M100.1賦值,同時觀察OB1程序執行狀態的變化。可以看到通信關(guan) 係已經建立。

聲明:部分內(nei) 容來源於(yu) 網絡,如侵權請後台留言聯係刪除。