西門子PLC CP243-1 作為服務器端的以太網通訊
西門子PLC CP243-1 作為服務器端的以太網通訊
CP243-1 作為服務器端和S7-300/S7-400建立S7連接
本文講解一個實際的通信案例,S7-200組態為服務器端進行S7通訊,S7-300和S7-400將主動建立與S7-200的S7連接,S7-200將被動響應建立好的S7連接:
本例中, S7-200,S7-300 和 S7-400 各自用一個CPU 和一個通訊模板,其中CP243-1組態的第三、四個連接分別為服務器連接,與S7-300、S7-400進行S7通訊。具體操作步驟如下:
- 項目硬件組態和定義通信數據區
- 組態S7-200為服務器
- 組態S7-300/400為客戶端進行S7通訊
- STEP7編寫PUT/GET程序
本例中使用的硬件配置如下:
網絡組態概覽圖如下:
在本例中, S7-200, S7-300 和 S7-400的下列區域定義為發送和接收緩沖區:
通過以太網向導將以太網模塊CP243-1配置為服務器,使用STEP 7 Micro/WIN中的向導進行通信的配置即可。在命令菜單中選擇工具--以太網向導。
**步是對以太網通信的描述,點擊下一步開始以太網配置。
在此處選擇模塊的位置,CPU后的**個模塊位置為0,往后依次類推;或者點擊讀取模塊搜尋在線的CP243-1模塊(且將該模塊的命令字節載入模塊命令字節向導屏幕)。點擊下一步;
選擇模塊相匹配的MLFB版本,如下圖所示:
在此處填寫IP地址和子網掩碼。本例中將IP地址設置為:140.80.0.60,點擊下一步;
下面的對話框將組態CP243-1進行S7連接的連接數量的設置。通過S7連接可以與通信伙伴進行讀寫數據操作,點擊“下一步”按鈕繼續進行S7連接組態。本例中CP243-1的第三、四個連接分別為服務器連接。
組態一個到S7-300的服務器連接:
本例中第三個S7連接將(S7-200)組態為服務器連接,帶CP343-1的S7-300站將作為客戶端用于服務器連接。 S7-200和S7-300的S7連接通過TSAP來定義。
注意:分別組態S7-200和S7-300時,本地和遠程的TSAP號是必須*對應的。通常本地TSAP是默認的,所以在組態此步驟時,需要兩邊確認一下。
本地TSAP為12.00無法更改,遠程TSAP設置為10.04(這是在STEP7網絡組態得到的參數)。激活“接受所有連接請求”復選框,點擊“下一步”按鈕繼續組態。
組態一個到S7-400的服務器連接:
組態步驟同上,注意遠程TSAP的確定,需要與STEP7軟件中網絡組態里的屬性設置保持一致。
選擇CRC校驗,使用缺省的時間間隔30秒,點擊下一步按鈕。
填寫模塊所占用的V存儲區的起始地址。你也可以通過建議地址按鈕來獲得系統建議的V存儲區的起始地址, 點擊下一步按鈕。
點擊”完成”按鈕完成以太網向導設置。
之后功能塊ETHx_CTRL 和 ETHx_XFR將被創建,必須在STEP 7-MicroWIN的主循環塊MAIN (OB1)中調用這些功能塊。
功能塊ETHx_CTRL 用于建立通訊。編寫圖中的通訊程序,保存組態并下載到S7-200 CPU上。
注意:功能塊ETHx_XFR 僅在用于客戶端進行數據傳送時才被調用。
S7連接組態
本例中使用S7-300作為樣例建立S7連接,對于S7-400的組態步驟是一樣的。
在STEP7中打開S7-300項目文件,通過Options--Configure Network或者是相對應的圖標打開NetPro對話框。
在NetPro中選中S7-300站的CPU并通過菜單命令,Insert--New Connection添加一個新連接。
選擇連接伙伴為“unspecified”及連接類型為“S7 connection”。點擊“Apply”按鈕,之后S7連接的屬性對話框將打開。
由于S7連接是由S7-300創建,因此在S7連接的屬性對話框中須激活“Establish an active connection“復選框。輸入通信伙伴CP243-1的IP地址,之后點擊“Address Details”按鈕。
在“Address Details”對話框中,本地的TSAP通常選用默認,輸入通信伙伴的TSAP,本例中S7-200的TSAP為12.00。
注意:分別組態S7-200和S7-300時,本地和遠程的TSAP號是必須*對應的。通常本地TSAP是默認的,所以在組態此步驟時,需要兩邊確認一下。
在NetPro中選中S7-300站,保存及編譯后下載到S7-300 中,此處注意需要下載網絡組態。
對于S7-400的組態步驟一樣,需要對應本地TSAP及伙伴S7-200的TSAP (例子中為13.00)。
接下來,在S7程序中調用功能塊,進行編程。
需要在S7-300程序中,調用功能塊FB14 “GET” 和 FB15 “PUT”。可以在Standard Library--Communication Blocks--Blocks下找到這些功能塊。
注意:
1. ID:為Netpro里組態S7連接屬性窗口中的Block paramters-Local ID。
2.ADDR_1為伙伴PLC的數據區域,由于通信伙伴是S7-200的V區,V區與S7-300的DB1地址相對應。
3.RD_1為本地PLC的數據接收區;SD_1為本地PLC的數據發送區。
如果通信無法建立,請查看“PUT”和“GET”指令的錯誤代碼,STATUS僅在一個周期內有效,需要在ERROR=1時捕捉錯誤狀態。如下圖所示:
對于FB14 “GET” 和 FB15 “PUT”的輸入參數'ID",也可通過鼠標右擊功能塊ID引腳,可以自動插入本地ID連接。如下圖所示:
如果使用S7-400必須調用功能塊SFB14 “GET” 和 SFB15 “PUT”。可以在Standard Library--System Function Blocks--Blocks 找到這些功能塊.
S7-300中調用功能塊FB14 “GET” 和FB15 “PUT”的例子程序
可以通過以下ID號找到S7-300中調用功能塊FB14 “GET” 和 FB15 “PUT”的例子程序: 18610307。
S7-400中調用功能塊SFB14 “GET”和SFB15 “PUT”的例子程序
可以通過以下ID號找到S7-400中調用功能塊SFB14 “GET” 和 SFB15 “PUT”的例子程序:: 1819293。
分享到: