產品詳情
S7-1200 西門子 6ES7392-1BJ00-0AA0 技術參考
CP243-1 作為服務器端和S7-300/S7-400建立S7連接
本文講解一個實際的通信案例,S7-200組態(tài)為服務器端進行S7通訊,S7-300和S7-400將主動建立與S7-200的S7連接,S7-200將被動響應建立好的S7連接:
本例中, S7-200,S7-300 和 S7-400 各自用一個CPU 和一個通訊模板,其中CP243-1組態(tài)的第三、四個連接分別為服務器連接,與S7-300、S7-400進行S7通訊。具體操作步驟如下:
1、項目硬件組態(tài)和定義通信數(shù)據區(qū)
本例中使用的硬件配置如下:
網絡組態(tài)概覽圖如下:
在本例中, S7-200, S7-300 和 S7-400的下列區(qū)域定義為發(fā)送和接收緩沖區(qū):
2、組態(tài)S7-200為服務器
通過以太網向導將以太網模塊CP243-1配置為服務器,使用STEP 7 Micro/WIN中的向導進行通信的配置即可。在命令菜單中選擇工具--以太網向導。
第一步是對以太網通信的描述,點擊下一步開始以太網配置。
在此處選擇模塊的位置,CPU后的第一個模塊位置為0,往后依次類推;或者點擊讀取模塊搜尋在線的CP243-1模塊(且將該模塊的命令字節(jié)載入模塊命令字節(jié)向導屏幕)。點擊下一步;
選擇模塊相匹配的MLFB版本,如下圖所示:
在此處填寫IP地址和子網掩碼。本例中將IP地址設置為:140.80.0.60,點擊下一步;
下面的對話框將組態(tài)CP243-1進行S7連接的連接數(shù)量的設置。通過S7連接可以與通信伙伴進行讀寫數(shù)據操作,點擊“下一步”按鈕繼續(xù)進行S7連接組態(tài)。本例中CP243-1的第三、四個連接分別為服務器連接。
組態(tài)一個到S7-300的服務器連接:
本例中第三個S7連接將(S7-200)組態(tài)為服務器連接,帶CP343-1的S7-300站將作為客戶端用于服務器連接。 S7-200和S7-300的S7連接通過TSAP來定義。
注意:分別組態(tài)S7-200和S7-300時,本地和遠程的TSAP號是必須完全對應的。通常本地TSAP是默認的,所以在組態(tài)此步驟時,需要兩邊確認一下。
本地TSAP為12.00無法更改,遠程TSAP設置為10.04(這是在STEP7網絡組態(tài)得到的參數(shù))。激活“接受所有連接請求”復選框,點擊“下一步”按鈕繼續(xù)組態(tài)。
組態(tài)一個到S7-400的服務器連接:
組態(tài)步驟同上,注意遠程TSAP的確定,需要與STEP7軟件中網絡組態(tài)里的屬性設置保持一致。
選擇CRC校驗,使用缺省的時間間隔30秒,點擊下一步按鈕。
填寫模塊所占用的V存儲區(qū)的起始地址。你也可以通過建議地址按鈕來獲得系統(tǒng)建議的V存儲區(qū)的起始地址, 點擊下一步按鈕。
點擊”完成”按鈕完成以太網向導設置。
之后功能塊ETHx_CTRL 和 ETHx_XFR將被創(chuàng)建,必須在STEP 7-MicroWIN的主循環(huán)塊MAIN (OB1)中調用這些功能塊。
功能塊ETHx_CTRL 用于建立通訊。編寫圖中的通訊程序,保存組態(tài)并下載到S7-200 CPU上。
注意:功能塊ETHx_XFR 僅在用于客戶端進行數(shù)據傳送時才被調用。
3、組態(tài)S7-300/400為客戶端進行S7通訊
S7連接組態(tài)
本例中使用S7-300作為樣例建立S7連接,對于S7-400的組態(tài)步驟是一樣的。
在STEP7中打開S7-300項目文件,通過Options--Configure Network或者是相對應的圖標打開NetPro對話框。
在NetPro中選中S7-300站的CPU并通過菜單命令,Insert--New Connection添加一個新連接。
選擇連接伙伴為“unspecified”及連接類型為“S7 connection”。點擊“Apply”按鈕,之后S7連接的屬性對話框將打開。
由于S7連接是由S7-300創(chuàng)建,因此在S7連接的屬性對話框中須激活“Establish an active connection“復選框。輸入通信伙伴CP243-1的IP地址,之后點擊“Address Details”按鈕。
在“Address Details”對話框中,本地的TSAP通常選用默認,輸入通信伙伴的TSAP,本例中S7-200的TSAP為12.00。
注意:分別組態(tài)S7-200和S7-300時,本地和遠程的TSAP號是必須完全對應的。通常本地TSAP是默認的,所以在組態(tài)此步驟時,需要兩邊確認一下。
在NetPro中選中S7-300站,保存及編譯后下載到S7-300 中,此處注意需要下載網絡組態(tài)。
對于S7-400的組態(tài)步驟一樣,需要對應本地TSAP及伙伴S7-200的TSAP (例子中為13.00)。
接下來,在S7程序中調用功能塊,進行編程。
4、STEP7編寫PUT/GET程序
需要在S7-300程序中,調用功能塊FB14 “GET” 和 FB15 “PUT”。可以在Standard Library--Communication Blocks--Blocks下找到這些功能塊。
注意:
1. ID:為Netpro里組態(tài)S7連接屬性窗口中的Block bters-Local ID。
2.ADDR_1為伙伴PLC的數(shù)據區(qū)域,由于通信伙伴是S7-200的V區(qū),V區(qū)與S7-300的DB1地址相對應。
3.RD_1為本地PLC的數(shù)據接收區(qū);SD_1為本地PLC的數(shù)據發(fā)送區(qū)。
如果通信無法建立,請查看“PUT”和“GET”指令的錯誤代碼,STATUS僅在一個周期內有效,需要在ERROR=1時捕捉錯誤狀態(tài)。如下圖所示:
對于FB14 “GET” 和 FB15 “PUT”的輸入參數(shù)'ID",也可通過鼠標右擊功能塊ID引腳,可以自動插入本地ID連接。如下圖所示:
如果使用S7-400必須調用功能塊SFB14 “GET” 和 SFB15 “PUT”??梢栽赟tandard 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。
S7-300 集成PN口作客戶端與S7-300/400/1200/1500的 S7 單邊通信(STEP7)
S7 協(xié)議是 SIEMENS S7系列產品之間通訊使用的標準協(xié)議,其優(yōu)點是通信雙方無論是在同一 MPI 總線上、同一 PROFIBUS 總線上或同一工業(yè)以太網中,都可通過 S7 協(xié)議建立通信連接,使用相同的編程方式進行數(shù)據交換而與使用何種總線或網絡無關。S7 通信按組態(tài)方式可分為單邊通信和雙邊通信,單邊通信通常應用于以下情況:
- 通信伙伴無法組態(tài) S7 連接
- 通信伙伴不允許停機
- 不希望在通訊伙伴側增加通信組態(tài)和程序
本文檔簡要介紹在STEP7 V5.5環(huán)境下,S7-300 集成PN口的CPU基于工業(yè)以太網的S7單邊通信的組態(tài)步驟,用于實現(xiàn)與S7-300/400/1200/1500 CPU之間的S7 通信。
1、硬件與軟件條件
設備 | 數(shù)量 | 訂貨號 | 注釋 |
CPU 315-2 PN/DP | 2 | 6ES7317-2EH14-0AB0 | V3.2 |
表 1主要硬件列表
設備 | 數(shù)量 | 訂貨號 | 注釋 |
STEP 7 Professional V5.5 | 1 | 6ES7511-1AK00-0AB0 | V1.8 |
CPU 1212C | 1 | 6ES7212-1AE40-0XB0 | V4.2 |
表 2軟件環(huán)境
2、組態(tài)配置
2.1 通過如下的步驟配置編程電腦的IP地址:
選擇電腦的“ 控制面板 > 網絡和共享 > 本地連接>屬性”打開 Internet Protocol Version 4(TCP/IPv4),設置PC的 IP 地址,本例中為192.168.0.131。
圖1.設置PC地址
2.2 在STEP7 中組態(tài)315-2PN/DP CPU,雙擊X2卡槽,再點擊屬性按鈕以設置IP地址。(具體步驟請參見文檔:CPU硬件組態(tài)入門)
圖2.S7-300硬件組態(tài)
圖3.PN-IO屬性
2.3 設置好IP地址后(本例中為192.168.0.1),點擊New按鈕添加一條子網Ethernet(1),如果已經存在子網,也可選中該子網直接點OK按鈕即可。
圖4.添加IP地址和子網
2.4 點擊快捷菜單中的Configure Network按鈕進入Netpro視圖。
圖5.點擊Configure Network按鈕
2.5 在Netpro視圖的CPU上點右鍵選擇Insert New Connection添加新連接。
圖6.添加新連接
2.6 通訊伙伴選擇非指定(Unspecified),通訊類型選擇S7 connection。
圖7.選擇通信伙伴和通信類型
2.7 點擊OK后在彈出的屬性窗口中勾選單端組態(tài)(Establish an active connection),并填寫通信伙伴的IP地址,注意Local ID編號,本例保持默認值1。點擊詳細按鈕。
圖8.S7連接屬性
2.8 在地址詳細信息對話框中填寫通信伙伴CPU的機架號和槽號,如通信伙伴是S7-300/400 CPU則槽號為2,如通信伙伴是S7-1200/1500 CPU則槽號為1。點擊OK。
圖9.S7地址詳細
2.9 選中CPU,先編譯再下載
圖10.編譯下載
注:如不熟悉下載方法,可參考如下鏈接:
http://www.ad.siemens.com.cn/productportal/Prods/published\Soft\Soft_3.5\Soft_3.5.html
2.10 下載完成后,可點擊“激活連接狀態(tài)”按鈕,查看連接狀態(tài),如下圖所示,則表示組態(tài)的連接已經成功建立。
圖11.連接已建立
2.11 如果出現(xiàn)如下圖所示的情況,則說明連接沒有建立,請檢查網線的連接、IP地址等。
圖12.連接未建立
3、編寫PLC程序,調用通訊塊
3.1 組態(tài)連接建立成功后,需要調用通訊功能塊PUT和GET進行數(shù)據交換。S7-300用于通訊連接的功能塊位于標準庫中,如下圖所示:
圖13.PUT GET指令位置
3.2調用PUT指令,本例中本地S7-300 CPU將DB10.DBB0開始的10個字節(jié)寫入通信伙伴CPU 的DB11.DBB0開始的10個字節(jié)中。
圖14.PUT指令
參數(shù) | 說明 |
REQ | 上升沿觸發(fā),一次上升沿發(fā)送一次數(shù)據 |
ID | 連接ID(參看圖8) |
ADDR_1 | 指向伙伴CPU接收地址區(qū)域 |
SD_1 | 指向本地CPU發(fā)送地址區(qū)域 |
DONE | 發(fā)送完成(上升沿) |
ERROR | 有故障發(fā)生(上升沿) |
STATUS | 故障代碼 |
表 3 PUT管腳說明
3.3調用GET指令,本例中將通信伙伴CPU的DB20.DBB0開始的10個字節(jié)讀入到本地S7-300 CPU的DB21.DBB0開始的10個字節(jié)中。
圖15.GET指令
參數(shù) | 說明 |
REQ | 上升沿觸發(fā),一次上升沿讀取一次數(shù)據 |
ID | 連接ID(參看圖8 |
ADDR_1 | 指向伙伴CPU發(fā)送地址區(qū)域 |
RD_1 | 指向本地CPU接收地址區(qū)域 |
DONE | 接收完成(上升沿) |
ERROR | 有故障發(fā)生(上升沿) |
STATUS | 故障代碼 |
表 4 GET管腳說明
3.4 S7-300 CPU做S7通訊的客戶端時,伙伴CPU無需組態(tài)編程,準備好相應的數(shù)據區(qū)即可,如本例中的DB10和DB20。如果伙伴方是S7-1200(固件版本V4.0以上)或是S7-1500 CPU,需要在CPU屬性的連接機制中勾選"允許來自遠程對象的PUT/GET通信訪問",如下圖所示:
S7-300和S7-200的以太網S7通信(Step7)
S7-300與S7-200通信,300既可以做客戶端,也可以做服務器。
當S7-300作服務器,S7-200作客戶端時,在200側編程,300無需組態(tài)編程。
當S7-300作客戶端,S7-200作服務器時,在300側組態(tài)編程,200側也需要向導設置。
客戶端與服務器定義請參看:服務器Server和客戶端Client有什么區(qū)別?
S7-200 PLC本體沒有以太網口,需要通過以太網模塊CP243-1來擴展以太網通信,且一個S7-200PLC只能擴展一個CP243-1。
CP243-1最多8個以太網S7控制器通信,每個連接既可以是服務器連接也可以是客戶機連接。
一個客戶端(Client)可以包含1-32個數(shù)據傳輸操作,一個讀寫操作最多可以傳輸212個字節(jié)。如果CP243-1作為服務器運行,每個讀操作可以傳送222個字節(jié)。
S7-300做服務器,S7-200作為客戶端
S7-200以太網向導配置
可以把S7-200的以太網模塊CP243-1配置為CLIENT,使用STEP 7 Micro/WIN中的向導進行通信的配置即可。在命令菜單中選擇工具--以太網向導。
圖1 打開以太網向導
第一步是對以太網通信的描述,點擊下一步開始以太網配置。
圖2 向導介紹
在此處選擇模塊的位置,CPU后的第一個模塊位置為0,往后依次類推;或者在線的情況下,點擊讀取模塊搜尋CP243-1模塊(在線讀取將該模塊的命令字節(jié)載入模塊命令字節(jié)向導屏幕)。點擊下一步;
圖3 讀取模塊
選擇模塊相匹配的MLFB版本,本例中的CP243-1模塊型號為6GK7243-1EX01-0XE0,如下圖所示:
圖4 模塊版本選擇
在此處填寫IP地址和子網掩碼。點擊下一步;
圖5 地址設置
下面的對話框將組態(tài)CP243-1進行S7連接的連接數(shù)量的設置,通過S7連接可以與通信伙伴進行讀寫數(shù)據操作。點擊“下一步”按鈕繼續(xù)進行S7連接組態(tài)。
圖6 模塊占用地址設置
選擇此為客戶機連接,遠程屬性TSAP (Transport Service Access Point)填寫為03.02,輸入S7-300側的IP地址。點擊數(shù)據傳輸按鈕進入數(shù)據交換的定義。
注意:如果連接遠程對象是 S7-300,TSAP為03.02;如果連接遠程對象是 S7-400,TSAP為03.0x,其中x為CPU模塊的槽位,可以從S7-400 站的硬件組態(tài)中找出PLC的槽號。
圖7 連接設置
選擇"數(shù)據傳輸"標記,并單擊"新傳輸"按鈕,進行配置:選擇是讀取數(shù)據還是寫入數(shù)據,填寫通訊數(shù)據的字節(jié)個數(shù),填寫發(fā)送數(shù)據區(qū)和接收數(shù)據區(qū)的起始地址。
本例中為從S7-300的MB200開始讀取8個字節(jié)到VB1000開始的8個字節(jié)的區(qū)域中;從S7-200的VB2000開始的8個字節(jié)寫到S7-300的QB0開始的8個字節(jié)的區(qū)域中,點擊確認按鈕:
注意: 本地PLC中的地址必須是V內存字節(jié)地址,遠程對象中的地址必須代表字節(jié)地址。當您為S7-300/ S7-400設備輸入遠程地址時,若是數(shù)據塊請使用DBx.DBBy格式。
圖8 數(shù)據區(qū)域設置
選擇CRC校驗,使用缺省的時間間隔30秒,點擊下一步按鈕。
圖9 使用CRC
填寫模塊所占用的V存儲區(qū)的起始地址。你也可以通過“建議地址”按鈕來獲得系統(tǒng)建議的V存儲區(qū)的起始地址, 點擊下一步按鈕。
圖10 配置存儲區(qū)
S7-200側編程
完成以太網向導配置后需要在程序中調用以太網向導所生成的ETHx_CTRL和ETH0_XFR, 然后,將整個項目下載到作客戶端的S7-200 CPU上。
1. 調用向導生成的子程序,實現(xiàn)數(shù)據傳輸
對于S7-200的同一個連接的多個數(shù)據傳輸,不能同時激活,必須分時調用。下面的程序就是用前一個數(shù)據傳輸?shù)耐瓿晌蝗ゼせ钕乱粋€數(shù)據傳輸,如圖11.圖12.圖13. 所示
圖11 S7-200程序段1
圖12 S7-200程序段2
圖13 S7-200程序段3
如果通信未建立成功,可以對應查詢子程序的錯誤代碼。
S7-300作客戶端,S7-200作服務器
S7-200以太網向導設置
通過以太網向導將以太網模塊CP243-1配置為服務器,使用STEP 7 Micro/WIN中的向導進行通信的配置即可。在命令菜單中選擇工具--以太網向導。
第一步是對以太網通信的描述,點擊下一步開始以太網配置。
在此處選擇模塊的位置,CPU后的第一個模塊位置為0,往后依次類推;或者點擊讀取模塊搜尋在線的CP243-1模塊(且將該模塊的命令字節(jié)載入模塊命令字節(jié)向導屏幕)。點擊下一步;
選擇模塊相匹配的MLFB版本,如下圖所示:
在此處填寫IP地址和子網掩碼。本例中將IP地址設置為:140.80.0.60,點擊下一步;
下面的對話框將組態(tài)CP243-1進行S7連接的連接數(shù)量的設置。通過S7連接可以與通信伙伴進行讀寫數(shù)據操作,點擊“下一步”按鈕繼續(xù)進行S7連接組態(tài)。本例中CP243-1的第三、四個連接分別為服務器連接。
組態(tài)一個到S7-300的服務器連接:
S7-200和S7-300的S7連接通過TSAP來定義。
注意:分別組態(tài)S7-200和S7-300時,本地和遠程的TSAP號是必須完全對應的。通常本地TSAP是默認的,所以在組態(tài)此步驟時,需要兩邊確認一下。
本地TSAP為12.00無法更改,遠程TSAP設置為10.04(這是在STEP7網絡組態(tài)得到的參數(shù))。激活“接受所有連接請求”復選框,點擊“下一步”按鈕繼續(xù)組態(tài)。
選擇CRC校驗,使用缺省的時間間隔30秒,點擊下一步按鈕。
填寫模塊所占用的V存儲區(qū)的起始地址。你也可以通過建議地址按鈕來獲得系統(tǒng)建議的V存儲區(qū)的起始地址, 點擊下一步按鈕。
點擊”完成”按鈕完成以太網向導設置。
之后功能塊ETHx_CTRL 和 ETHx_XFR將被創(chuàng)建,必須在STEP 7-MicroWIN的主循環(huán)塊MAIN (OB1)中調用這些功能塊。
功能塊ETHx_CTRL 用于建立通訊。編寫圖中的通訊程序,保存組態(tài)并下載到S7-200 CPU上。
注意:功能塊ETHx_XFR 僅在用于客戶端進行數(shù)據傳送時才被調用。
S7-300側組態(tài)
本例中使用S7-300作為樣例建立S7連接,對于S7-400的組態(tài)步驟是一樣的。
在STEP7中打開S7-300項目文件,通過Options--Configure Network或者是相對應的圖標打開NetPro對話框。
在NetPro中選中S7-300站的CPU并通過菜單命令,Insert--New Connection添加一個新連接。
選擇連接伙伴為“unspecified”及連接類型為“S7 connection”。點擊“Apply”按鈕,之后S7連接的屬性對話框將打開。
由于S7連接是由S7-300創(chuàng)建,因此在S7連接的屬性對話框中須激活“Establish an active connection“復選框。輸入通信伙伴CP243-1的IP地址,之后點擊“Address Details”按鈕。
在“Address Details”對話框中,本地的TSAP通常選用默認,輸入通信伙伴的TSAP,本例中S7-200的TSAP為12.00。
注意:分別組態(tài)S7-200和S7-300時,本地和遠程的TSAP號是必須完全對應的。通常本地TSAP是默認的,所以在組態(tài)此步驟時,需要兩邊確認一下。
在NetPro中選中S7-300站,保存及編譯后下載到S7-300 中,此處注意需要下載網絡組態(tài)。
接下來,在S7程序中調用功能塊,進行編程。
STEP7編寫PUT/GET程序
需要在S7-300程序中,調用功能塊FB14 “GET” 和 FB15 “PUT”??梢栽赟tandard Library--Communication Blocks--Blocks下找到這些功能塊。
注意:
1. ID:為Netpro里組態(tài)S7連接屬性窗口中的Block bters-Local ID。
2.ADDR_1為伙伴PLC的數(shù)據區(qū)域,由于通信伙伴是S7-200的V區(qū),V區(qū)與S7-300的DB1地址相對應。
3.RD_1為本地PLC的數(shù)據接收區(qū);SD_1為本地PLC的數(shù)據發(fā)送區(qū)。
如果通信無法建立,請查看“PUT”和“GET”指令的錯誤代碼,STATUS僅在一個周期內有效,需要在ERROR=1時捕捉錯誤狀態(tài)。如下圖所示:
對于FB14 “GET” 和 FB15 “PUT”的輸入參數(shù)'ID",也可通過鼠標右擊功能塊ID引腳,可以自動插入本地ID連接。如下圖所示: