河南省駐馬店西門子中國總代理-西門子選型-西門子技術支持-西門子維修服務
| 更新時間 2024-12-28 09:10:00 價格 請來電詢價 變頻器 西門子代理商 觸摸屏 西門子一級代理 伺服電機 西門子一級總代理 聯系電話 18126392341 聯系手機 15267534595 聯系人 梁濤 立即詢價 |
S7-1200系列CPU本體上都集成以太網接口,其中CPU1211C、1212C和1214C都具有一個以太網RJ45接口,而CPU 1215C、1217C提供了兩個以太網R45接口。S7-1200系類PLC可以通過以太網接口直接或者通過交換機與其他設備進行通信。當一臺S7-1200PLC需要其它PLC或觸摸屏或變頻器通信時,這時只需要直接連接即可。當兩臺及以上的設備需要通信時,此時需要交換機進行網絡連接。以太網通信可以分為多種通信方法,比如S7通信、OUC通信、modbus-TCP通信和FROFIENT IO通信等。其中,S7通信是眾多通信方式中Zui簡單、Zui常用的一種通信方法。S7-1200PLC選擇S7通信時,需要在博圖軟件本地(客服端)CPU調用PUT和GET兩個指令,PUT指令的作用是寫入數據到伙伴(服務端)CPU中,GET指令的作用是從伙伴(服務端)CPU中讀取數據。
PUT和GET指令在指令工具欄中—“通信”—“S7通信”中,兩個指令具體含義如下:GET從遠程(伙伴、服務端)CPU讀取數據,PUT向遠程(伙伴、服務端)CPU寫入數據。
使用GET指令從遠程CPU中讀取數據,遠程CPU可處于RUN或STOP模式下。使用PUT指令將數據寫入遠程CPU,遠程CPU可處于RUN或STOP模式下。PUT和GET指令各個引腳含義如下表所示。使用PUT指令時需要注意幾個問題:ID在進行S7通信連接時會自動生成,為十六進制數,比如W#16#100。指向服務端CPU寫入區域的指針ADDR_x,如果寫入區域為數據塊,則該數據塊必須為標準訪問的數據塊,不支持優化的塊訪問。SD_x指向客戶端CPU上包含要發送數據的區域。通常情況下ADDR_x和SD_x均為指針形式。指針變量是用來存放內存地址的變量。在PUT/GET指令中ADDR_x和SD_x寫法,比如P#M50.0 BYTE 5,其含義為指向以地址M50.0開始,長度為5個BYTE的存儲空間,即從MB50到MB54。比P#DB1.DBX0.0 BYTE 10的含義為指向以數據塊DB1中DBX0.0開始,長度為10個BYTE的存儲空間,即DB1.DBB0到DB1.DBB9。指向服務端CPU寫入區域的指針ADDR_x,如果寫入區域為數據塊,則該數據塊必須為標準訪問的數據塊,不支持優化的塊訪問。指向客戶端CPU發送區域的指針SD_x,本地數據區域可支持優化訪問或標準訪問。通信伙伴CPU為S7-1200//1500CPU系列,需要在伙伴CPU屬性的“防護與安全”—“連接機制”中激活“允許來自遠程對象的PUT/GET通信訪問”。
使用GET指令時需要注意幾個問題:ID在進行S7通信連接時會自動生成,為十六進制數,比如W#16#100。指向服務端CPU寫入區域的指針ADDR_x,如果寫入區域為數據塊,則該數據塊必須為標準訪問的數據塊,不支持優化的塊訪問。指向客戶端CPU發送區域的指針RD_x,本地數據區域可支持優化訪問或標準訪問。服務端CPU為S7-1200/1500CPU系列,需要在伙伴CPU屬性的“防護與安全”→“連接機制”中激活“允許來自遠程對象的PUT/GET通信訪問。
下面以兩個S7-1200 CPU1212C之間S7通信,傳遞數據為例,介紹S7通信的應用。
第一步,設備組態。
在博圖軟件中新建項目,添加兩個S7-1200 CPU1212C設備組態。修改其以太網地址,將PLC_1以太網地址修改為192.168.0.1,將PLC_2以太網地址修改為192.168.0.2。在PLC_1啟用時鐘存儲器字節。
第二步,S7組態連接。
打開網絡視圖,在網絡視圖中單擊“連接”按鈕,按鈕右側下拉選項中選擇“S7連接”,將PLC_1與PLC_2連接起來。
第三步,編寫程序。
在PLC_1主程序OB1中,調用“PUT”指令,并對其進行組態設置。在伙伴欄選擇
“PLC_2[CPU 1212C DC/DC/DC]”,下方端口、子網、子網名稱、地址、連接ID與連接名稱等均會自動生成相關內容。因PLC_1為客戶端,應勾選“主動建立連接”。
PUT指令各個端口連接如下圖所示。圖中指令REQ選擇M0.5,M0.5是1HZ的時鐘存儲器字節,由于REQ是上升沿有效,則實現功能為每秒完成一次從PLC_1到PLC_2數據傳輸。ID是自動生成的。ADDR_1和SD_1所連接指針都為P#M100.0 BYTE 1,P#M100.0 BYTE 1的含義為指向從M100.0開始,長度為1個BYTE的空間,即MB100。下面程序段實現的功能為每秒將客戶端地址MB100中數據就傳遞到服務端地址MB100中。
在CPU 1的主程序OB1中,調用“GET”指令,并對其進行組態設置。在伙伴欄選擇“PLC_2[CPU 1212C DC/DC/DC]”,下方端口、子網、子網名稱、地址、連接ID與連接名稱等均會自動生成相關內容。因PLC_1為客戶端,應勾選“主動建立連接”。
GET指令各個端口連接如下圖所示。圖中指令REQ選擇M0.5,M0.5是1HZ的時鐘存儲器字節,由于REQ是上升沿有效,則實現功能為每秒完成一次從PLC_1到PLC_2數據傳輸。ID是自動生成的。ADDR_1和SD_1所連接指針都為P#M10.0 BYTE 1,P#M10.0 BYTE 1的含義為指向從M10.0開始,長度為1個BYTE的空間,即MB10。下面程序段實現的功能為每秒讀取伙伴CPU地址MB10中數據存儲在本地CPU地址MB10中。
下面程序段實現的功能為,將MB20中數據傳遞給MB100。
上面三段程序都是在PLC_1主程序中編寫,下面在PLC_2主程序中編寫下面程序。實現的功能為,將MB30中數據傳遞給MB10。
第四步,下載組態和程序。
兩個CPU的組態配置與編程均已完成,分別將其下載至對應的仿真PLC中。將兩個CPU轉到在線模式并打開監控。在PLC_1程序中將MB100設置為16#5,經過PUT指令,將PLC_1中MB100存儲數據傳遞到PLC_2中MB100,從下圖中可知,PLC_2中MB100為16#5。
在PLC_2程序中將MB10設置為,經過GET指令,讀取PLC_2中MB10存儲數據存儲到PLC_1中MB10,從下圖中可知,PLC_1中MB10為16#5。
通過上述分析可知,兩個PLC之間成功完成S7通信連接,是PUT/GET指令數據訪問成功的關鍵。建立S7連接成功后,就可以通過PUT指令發送數據給伙伴CPU,通過GET指令獲取伙伴CPU的數據。
聯系方式
- 電 話:18126392341
- 聯系人:梁濤
- 手 機:15267534595
- 微 信:15267534595