S7-300和S7-200的以太網S7通信(Step7)
S7-300與(yu) S7-200通信,300既可以做客戶端,也可以做服務器。
當S7-300作服務器,S7-200作客戶端時,在200側(ce) 編程,300無需組態編程。
當S7-300作客戶端,S7-200作服務器時,在300側(ce) 組態編程,200側(ce) 也需要向導設置。
客戶端與(yu) 服務器定義(yi) 請參看:服務器Server和客戶端Client有什麽(me) 區別?
S7-200 PLC本體(ti) 沒有以太網口,需要通過以太網模塊CP243-1來擴展以太網通信,且一個(ge) S7-200PLC隻能擴展一個(ge) CP243-1。
CP243-1最多8個(ge) 以太網S7控製器通信,每個(ge) 連接既可以是服務器連接也可以是客戶機連接。
一個(ge) 客戶端(Client)可以包含1-32個(ge) 數據傳(chuan) 輸操作,一個(ge) 讀寫(xie) 操作最多可以傳(chuan) 輸212個(ge) 字節。如果CP243-1作為(wei) 服務器運行,每個(ge) 讀操作可以傳(chuan) 送222個(ge) 字節。
S7-300做服務器,S7-200作為(wei) 客戶端
S7-200以太網向導配置
可以把S7-200的以太網模塊CP243-1配置為(wei) CLIENT,使用STEP 7 Micro/WIN中的向導進行通信的配置即可。在命令菜單中選擇工具--以太網向導。
圖1 打開以太網向導
第一步是對以太網通信的描述,點擊下一步開始以太網配置。
圖2 向導介紹
在此處選擇模塊的位置,CPU後的第一個(ge) 模塊位置為(wei) 0,往後依次類推;或者在線的情況下,點擊讀取模塊搜尋CP243-1模塊(在線讀取將該模塊的命令字節載入模塊命令字節向導屏幕)。點擊下一步;
圖3 讀取模塊
選擇模塊相匹配的MLFB版本,本例中的CP243-1模塊型號為(wei) 6GK7243-1EX01-0XE0,如下圖所示:
圖4 模塊版本選擇
在此處填寫(xie) IP地址和子網掩碼。點擊下一步;
圖5 地址設置
下麵的對話框將組態CP243-1進行S7連接的連接數量的設置,通過S7連接可以與(yu) 通信夥(huo) 伴進行讀寫(xie) 數據操作。點擊“下一步”按鈕繼續進行S7連接組態。
圖6 模塊占用地址設置
選擇此為(wei) 客戶機連接,遠程屬性TSAP (Transport Service Access Point)填寫(xie) 為(wei) 03.02,輸入S7-300側(ce) 的IP地址。點擊數據傳(chuan) 輸按鈕進入數據交換的定義(yi) 。
注意:如果連接遠程對象是 S7-300,TSAP為(wei) 03.02;如果連接遠程對象是 S7-400,TSAP為(wei) 03.0x,其中x為(wei) CPU模塊的槽位,可以從(cong) S7-400 站的硬件組態中找出PLC的槽號。
圖7 連接設置
選擇"數據傳(chuan) 輸"標記,並單擊"新傳(chuan) 輸"按鈕,進行配置:選擇是讀取數據還是寫(xie) 入數據,填寫(xie) 通訊數據的字節個(ge) 數,填寫(xie) 發送數據區和接收數據區的起始地址。
本例中為(wei) 從(cong) S7-300的MB200開始讀取8個(ge) 字節到VB1000開始的8個(ge) 字節的區域中;從(cong) S7-200的VB2000開始的8個(ge) 字節寫(xie) 到S7-300的QB0開始的8個(ge) 字節的區域中,點擊確認按鈕:
注意:本地PLC中的地址必須是V內(nei) 存字節地址,遠程對象中的地址必須代表字節地址。當您為(wei) S7-300/ S7-400設備輸入遠程地址時,若是數據塊請使用DBx.DBBy格式。
圖8 數據區域設置
選擇CRC校驗,使用缺省的時間間隔30秒,點擊下一步按鈕。
圖9 使用CRC
填寫(xie) 模塊所占用的V存儲(chu) 區的起始地址。你也可以通過“建議地址”按鈕來獲得係統建議的V存儲(chu) 區的起始地址, 點擊下一步按鈕。
S7-200側(ce) 編程
完成以太網向導配置後需要在程序中調用以太網向導所生成的ETHx_CTRL和ETH0_XFR, 然後,將整個(ge) 項目下載到作客戶端的S7-200 CPU上。
1. 調用向導生成的子程序,實現數據傳(chuan) 輸
對於(yu) S7-200的同一個(ge) 連接的多個(ge) 數據傳(chuan) 輸,不能同時激活,必須分時調用。下麵的程序就是用前一個(ge) 數據傳(chuan) 輸的完成位去激活下一個(ge) 數據傳(chuan) 輸,如圖11.圖12.圖13. 所示
圖13 S7-200程序段3
如果通信未建立成功,可以對應查詢子程序的錯誤代碼。
S7-300作客戶端,S7-200作服務器
S7-200以太網向導設置
通過以太網向導將以太網模塊CP243-1配置為(wei) 服務器,使用STEP 7 Micro/WIN中的向導進行通信的配置即可。在命令菜單中選擇工具--以太網向導。
第一步是對以太網通信的描述,點擊下一步開始以太網配置。
在此處選擇模塊的位置,CPU後的第一個(ge) 模塊位置為(wei) 0,往後依次類推;或者點擊讀取模塊搜尋在線的CP243-1模塊(且將該模塊的命令字節載入模塊命令字節向導屏幕)。點擊下一步;
選擇模塊相匹配的MLFB版本,如下圖所示:
在此處填寫(xie) IP地址和子網掩碼。本例中將IP地址設置為(wei) :140.80.0.60,點擊下一步;
下麵的對話框將組態CP243-1進行S7連接的連接數量的設置。通過S7連接可以與(yu) 通信夥(huo) 伴進行讀寫(xie) 數據操作,點擊“下一步”按鈕繼續進行S7連接組態。本例中CP243-1的第三、四個(ge) 連接分別為(wei) 服務器連接。
組態一個(ge) 到S7-300的服務器連接:
S7-200和S7-300的S7連接通過TSAP來定義(yi) 。
注意:分別組態S7-200和S7-300時,本地和遠程的TSAP號是必須完全對應的。通常本地TSAP是默認的,所以在組態此步驟時,需要兩(liang) 邊確認一下。
本地TSAP為(wei) 12.00無法更改,遠程TSAP設置為(wei) 10.04(這是在STEP7網絡組態得到的參數)。激活“接受所有連接請求”複選框,點擊“下一步”按鈕繼續組態。
選擇CRC校驗,使用缺省的時間間隔30秒,點擊下一步按鈕。
填寫(xie) 模塊所占用的V存儲(chu) 區的起始地址。你也可以通過建議地址按鈕來獲得係統建議的V存儲(chu) 區的起始地址, 點擊下一步按鈕。
點擊”完成”按鈕完成以太網向導設置。
之後功能塊ETHx_CTRL 和 ETHx_XFR將被創建,必須在STEP 7-MicroWIN的主循環塊MAIN (OB1)中調用這些功能塊。
功能塊ETHx_CTRL 用於(yu) 建立通訊。編寫(xie) 圖中的通訊程序,保存組態並下載到S7-200 CPU上。
注意:功能塊ETHx_XFR 僅(jin) 在用於(yu) 客戶端進行數據傳(chuan) 送時才被調用。
S7-300側(ce) 組態
本例中使用S7-300作為(wei) 樣例建立S7連接,對於(yu) S7-400的組態步驟是一樣的。
在STEP7中打開S7-300項目文件,通過Options--Configure Network或者是相對應的圖標打開NetPro對話框。
在NetPro中選中S7-300站的CPU並通過菜單命令,Insert--New Connection添加一個(ge) 新連接。
選擇連接夥(huo) 伴為(wei) “unspecified”及連接類型為(wei) “S7 connection”。點擊“Apply”按鈕,之後S7連接的屬性對話框將打開。
由於(yu) S7連接是由S7-300創建,因此在S7連接的屬性對話框中須激活“Establish an active connection“複選框。輸入通信夥(huo) 伴CP243-1的IP地址,之後點擊“Address Details”按鈕。
在“Address Details”對話框中,本地的TSAP通常選用默認,輸入通信夥(huo) 伴的TSAP,本例中S7-200的TSAP為(wei) 12.00。
注意:分別組態S7-200和S7-300時,本地和遠程的TSAP號是必須完全對應的。通常本地TSAP是默認的,所以在組態此步驟時,需要兩(liang) 邊確認一下。
在NetPro中選中S7-300站,保存及編譯後下載到S7-300 中,此處注意需要下載網絡組態。
接下來,在S7程序中調用功能塊,進行編程。
STEP7編寫(xie) PUT/GET程序
需要在S7-300程序中,調用功能塊FB14 “GET” 和 FB15 “PUT”。可以在Standard Library--Communication Blocks--Blocks下找到這些功能塊。
注意:
1. ID:為(wei) Netpro裏組態S7連接屬性窗口中的Block paramters-Local ID。
2.ADDR_1為(wei) 夥(huo) 伴PLC的數據區域,由於(yu) 通信夥(huo) 伴是S7-200的V區,V區與(yu) S7-300的DB1地址相對應。
3.RD_1為(wei) 本地PLC的數據接收區;SD_1為(wei) 本地PLC的數據發送區。
如果通信無法建立,請查看“PUT”和“GET”指令的錯誤代碼,STATUS僅(jin) 在一個(ge) 周期內(nei) 有效,需要在ERROR=1時捕捉錯誤狀態。如下圖所示:
對於(yu) FB14 “GET” 和 FB15 “PUT”的輸入參數'ID",也可通過鼠標右擊功能塊ID引腳,可以自動插入本地ID連接。如下圖所示: