西門子PLC以太網(wǎng)模塊CP343-1
西門子PLC以太網(wǎng)模塊CP343-1
1. S7 通信簡介
S7 通信是S7 系列PLC 基于MPI、PROFIBUS、ETHERNET 網(wǎng)絡(luò)的一種優(yōu)化的通訊協(xié)議,主要用于S7300/400PLC 之間的通信。SIMATIC S7-PN CPU 包含一個集成的PROFINET 接口,該接口除了具有PROFINET I/0 功能,還可以進(jìn)行基于以太網(wǎng)的S7 通訊協(xié)議。SIMATIC S7-PN CPU 支持無確認(rèn)數(shù)據(jù)交換、確認(rèn)數(shù)據(jù)交換和單邊訪問功能。功能塊的調(diào)用如圖1,圖2 所示。本文以單邊編程通信進(jìn)行說明。
若單邊通信設(shè)置在S7-300 集成PN 口這端時,功能塊的調(diào)用如圖1 所示
若單邊通信設(shè)置在S7-300+CP343-1 模塊這端時,功能塊的調(diào)用如圖2 所示
要通過S7-PN CPU 的集成PROFINET 接口實現(xiàn)S7 通信,需要在硬件組態(tài)中建立連接。
2. 硬件及網(wǎng)絡(luò)組態(tài)
CPU 采用一個315-2PN/DP,另一個315-2DP+CP343-1 模塊,使用以太網(wǎng)進(jìn)行通信。在STEP7 中創(chuàng)建一個新項目,項目名稱為PN S7。插入兩個S7-300 站,在硬件組態(tài)中分別插入CPU315-2PN/DP 和CPU315-2DP.如圖所示,分別組態(tài)兩個系統(tǒng)的硬件模塊:
注意事項:選擇以太網(wǎng)的時候應(yīng)該選擇剛才組態(tài)*個站的時候新建的網(wǎng)絡(luò)Ethernet(1),從而保證兩個PLC 在同一個以太網(wǎng)內(nèi)。
分別下載各自的硬件組態(tài)到相應(yīng)的PLC 中。
3. 建立通信鏈接通道
前面的硬件組態(tài)只是保證了PLC 能夠通過通信處理器模塊到工業(yè)以太網(wǎng)內(nèi),并且配置了CP343-1 的IP 地址,輸入/輸出地址。而工業(yè)以太網(wǎng)采用的TCP/IP協(xié)議,是基于一種可靠的連接進(jìn)行通信的。也就是說,通信雙方還沒有建立一個通信的通道,CPU 也就無法知道到底在和誰在通信,采用什么樣的協(xié)議通信。因此,為了能夠順利通信,必須在以太網(wǎng)的各個站點(diǎn)之間建立通信鏈接通道。西門子的工業(yè)以太網(wǎng)支持的連接主要有S7 Connection、TCP/IP、ISO-ON-TCP 等。
在項目管理器界面下單擊組態(tài)網(wǎng)絡(luò)按鈕,出現(xiàn)下圖所示組態(tài)界面。
右擊其中一個站的CPU(315-2PN/DP),在出現(xiàn)的選項中選擇“插入新連接”后,如下圖所示。
選擇框內(nèi)已組態(tài)的站點(diǎn),在連接類型中選擇S7 連接,單擊確定按鈕,出現(xiàn)S7屬性對話框:
在常規(guī)信息標(biāo)簽內(nèi),這里需要用戶記住連接的標(biāo)識號(ID),并且單擊“單向”,單擊“確定”按鈕,可以看到在組態(tài)網(wǎng)絡(luò)圖下半部分*行出線一個連接,這個連接包括ID 號、通信雙方的CPU 的型號,連接激活狀態(tài)和連接的類型等信息。因為是單向連接,連接表中沒有通信伙伴的ID,選中站點(diǎn)CPU315-2DP 所在的小方框,連接表中沒有連接信息。
建立好連接后選擇圖中的*個站的CPU,保存,編譯,單擊下載按鈕;然后在選擇另一個站的CPU 下載。在S7 單向連接,CPU315-2PN/DP 和CPU315-2DP 分別作為客戶機(jī)(Client)和服務(wù)器(Server),客戶機(jī)調(diào)用單向通信功能塊GET和PUT,通過以太網(wǎng)和S7 通信,讀,寫服務(wù)器的存儲區(qū)。服務(wù)器是通信中的被動方,不需要調(diào)用通信功能塊。至此,已成功建立一個基于S7 連接的小型工業(yè)以太網(wǎng)。下面以該以太網(wǎng)為基礎(chǔ)通過編程來實現(xiàn)數(shù)據(jù)的共享和通信。
注意事項:S7-300 站點(diǎn)是否能作S7 通信的客戶機(jī)或建立S7 雙向連接,與CPU和以太網(wǎng)CP 的訂貨號和固件版本號都有關(guān)系。
4. 軟件編程(單邊訪問)
可以通過FB14“GET”,從遠(yuǎn)程CPU 中讀取數(shù)據(jù)。在REQ 的上升沿處讀取數(shù)據(jù)。在REQ 的每個上升沿處傳遞參數(shù)ID、ADDR_1 和RD_1。在每個作業(yè)結(jié)束之后,可以分配新數(shù)值給ID、ADDR_1 和RD_1 參數(shù)。通過狀態(tài)參數(shù)NDR 數(shù)值為1 來指示此作業(yè)已完成。只有在前一個作業(yè)已經(jīng)完成之后,才能重新激活讀作業(yè)。遠(yuǎn)程CPU 可以處于RUN 或STOP 工作狀態(tài)。如果正在讀取數(shù)據(jù)時發(fā)生訪問故障,或者如果數(shù)據(jù)類型檢查過程中出錯,則出錯和警告信息將通過ERROR 和STATUS 輸出表示。
通過使用FB15“PUT”,可以將數(shù)據(jù)寫入到遠(yuǎn)程CPU。在REQ 的上升沿處發(fā)送數(shù)據(jù)。在REQ 的每個上升沿處傳遞參數(shù)ID、ADDR_1 和SD_1。在每個作業(yè)結(jié)束之后,可以分配新數(shù)值給ID、ADDR_1 和SD_1 參數(shù)。如果沒有產(chǎn)生任何錯誤,則在下一個FB 調(diào)用時,通過狀態(tài)參數(shù)DONE 來指示,其數(shù)值為1.只有在zui后一個作業(yè)完成之后,才能再次激活寫作業(yè)。遠(yuǎn)程CPU 可以處于RUN 或STOP模式。如果正在寫入數(shù)據(jù)時發(fā)生訪問故障,或如果執(zhí)行檢查過程中出錯,則出錯和警告信息將通過ERROR 和STATUS 輸出表示。
打開CPU315-PN/DP 的OB1,在OB1 中依次調(diào)用FB14,F(xiàn)B15 如圖所示,插入兩個共享數(shù)據(jù)塊DB1 和DB2,在CPU315-2DP 站點(diǎn)中插入兩個共享數(shù)據(jù)塊DB3 和DB4。