西門子6GK7243-1GX00-0XE0原裝代理
西門子6GK7243-1GX00-0XE0升級為6GK7243-1EX01-0XE0
IT 功能
Web 服務器;
用標準瀏覽器可下裝和觀察HTML頁面。
Web 頁面
用于監視 S7-200 控制器:
提供了用于系統診斷的標準頁面和一個簡單變量編輯器。其它客戶化頁面可使用任何HTML工具創建。
電子郵件;
可直接從用戶程序發送預定義電子郵件
FTP 通訊
CPU 可將數據塊作為文件發送到其它 PC,或讀取、刪除其它 PC(客戶機功能)的文件。 對于大多數操作系統平臺,都可通過 FTP 進行通訊。
組態
組態 CP 243-1 IT 的完整功能需要 STEP 7-Micro/WIN V3.2 SP3 或更高版本。
CP 243-1 提供有一個*、不能更改的 MAC 地址。
1. S7通信簡介
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET網絡的一種優化的通信協議,主要用于S7300/400PLC之間的通信。SIMATIC S7- PN CPU包含一個集成的 PROFINET 接口,該接口除了具有 PROFINET I/O功能,還可以進行基于以太網的S7通信。SIMATIC S7- PN CPU支持無確認數據交換、確認數據交換和單邊訪問功能。功能塊的調用如圖1、圖2所示。
塊 S7-400 | 塊 S7-300 | 描述 | 簡要描述 |
SFB 8 | FB 8 | 用于發送 | 無確認的快速數據交換,發送數據后無對方接收確認。 |
SFB 9 | FB 9 | 用于接收 | |
SFB 12 | FB 12 | 用于發送 | 確認數據交換,發送數據后有對方接收確認。 |
SFB 13 | FB 13 | 用于接收 | |
SFB 14 | FB 14 | 讀數據 | 單邊編程讀訪問。 |
SFB 15 | FB 15 | 寫數據 | 單邊編程寫訪問。 |
表1
圖1
西門子6GK7243-1EX01-0XE0
圖2
要通過 S7-PN CPU 的 集成PROFINET 接口實現S7 通信,需要在硬件組態中建立連接。
2. 硬件及網絡組態
CPU采用兩個315-2PN/DP,使用以太網進行通信。
在STEP7中創建一個新項目,項目名稱為PN S7。插入兩個S7-300站,在硬件組態中,分別插入CPU 315-2 PN/DP。如圖3所示。
圖3
新建以太網,打開“NetPro"設置網絡參數,選中CPU,在連接列表中建立新的連接。如圖4所示。
圖4
然后雙擊該連接,設置連接屬性。在“General"屬性中塊參數ID = 1,這個參數即是下面程序中的參數“ID"。在SIMATIC 315PN-1中激活“Establish an active connection",作為Client端,SIMATIC 315PN-2作為Server 端。
3. 軟件編程
3.1. 無確認數據交換
SFB/FB 8 "USEND" 向類型為“URCV"的遠程伙伴SFB/FB發送數據。執行發送過程而不需要和SFB/FB伙伴進行協調。也就是說,在進行數據傳送時不需要伙伴SFB/FB進行確認。
S7-300:在REQ的上升沿處發送數據。在REQ的每個上升沿處傳送參數R_ID、
ID和SD_1。在每個作業結束之后,可以給R_ID、ID和SD_1參數分配新數值。
S7-400:在控制輸入REQ的上升沿處發送數據。通過參數SD_1到SD_4來指向要
發送的數據,但并非都需要用到所有四個發送參數。
然而,必須確保參數SD_1到SD_4/SD_1和RD_1到RD_4/RD_1 (在相應通訊伙
伴SFB/FB "URCV" 上)所定義的區域在以下幾個方面保持*:
? ?編號
? ?長度
? ?數據類型
參數R_ID必須在兩個SFB中*相同。如果傳送成功完成,則通過狀態參數DONE來表示,此時其邏輯數值為1。
SFB/FB 9 "URCV" 從類型為“USEND"的遠程伙伴SFB/FB中異步接收數據,并
把接收到的數據復制到組態的接收區域內。
當程序塊準備好接收數據時,EN_R輸入處的邏輯值為1。可以通過EN_R=0來取
消一個已激活的作業。
S7-300:在EN_R的每個上升沿處應用參數R_ID、ID和RD_1。在每個作業結束
之后,可以給R_ID、ID和RD_1參數分配新數值。
S7-400:通過參數RD_1到RD_4來指向接收數據區。
必須確保參數RD_i/RD_1和SD_i/SD_1 (在相應通訊伙伴SFB/FB "USEND"
上)所定義的區域在以下幾個方面保持*:
?? 編號
? ?長度
? ?數據類型。
通過NDR狀態參數邏輯數值為1來指示已經成功完成復制處理過程。參數R_ID必須在兩個SFB/FB上*相同。
打開SIMATIC 315PN-1的OB1,在OB1中依次調用FB8,FB9如圖5、圖6所示:
圖5
程序中的參數說明見表2
參數 | 描述 | 數據類型 | 存儲區 | 描述 |
REQ | INPUT | BOOL | I、Q、M、D、L | 上升沿觸發工作 |
ID | INPUT | WORD | M、D、常數 | 連接ID |
R_ID | INPUT | DWORD | I、Q、M、D、L、常數 | 連接號,相同連接號的功能塊互相對應發送/接收數據 |
DONE | OUTPUT | BOOL | I、Q、M、D、L | 為1時,發送完成 |
ERROR | OUTPUT | BOOL | I、Q、M、D、L | 為1時,有故障發生 |
STATUS | OUTPUT | WORD | I、Q、M、D、L | 狀態代碼 |
S7-300: SD_1 S7-400: SD_i (1 ≤ i ≤ 4) | IN_OUT | ANY | M、D、T、Z I、Q、M、D、T、C | 發送數據區 |
表2 FB8參數說明
西門子6GK7243-1EX01-0XE0
圖6
程序中的參數說明見表3
參數 | 參數 | 數據類型 | 存儲區 | 描述 |
EN_R | INPUT | BOOL | I、Q、M、D、L、常數 | 為1時,準備接收 |
ID | INPUT | WORD | M、D、常數 | 連接ID |
R_ID | INPUT | DWORD | I、Q、M、D、L、常數 | 連接號,相同連接號的功能塊互相對應發送/接收數據 |
NDR | OUTPUT | BOOL | I、Q、M、D、L | 為1時,接收完成 |
ERROR | OUTPUT | BOOL | I、Q、M、D、L | 為1時,有故障發生 |
STATUS | OUTPUT | WORD | I、Q、M、D、L | 狀態代碼 |
S7-300: RD_1 S7-400: RD_i (1 ≤ i ≤ 4) | IN_OUT | ANY | M、D、T、Z I、Q、M、D、T、Z | 接收數據區 |
表3 FB9參數說明
同樣,在SIMATIC 315PN-2的OB1中,調用FB8/FB9。通信雙方的“R_ID"均設為0。將SIMATIC 315PN-1的MB100-MB109賦值B#16#02,在SIMATIC 315PN-2中,將FB9的“EN_R"置1,然后在SIMATIC 315PN-1中,將FB8中“REQ"設置上升沿信號,此時SIMATIC 315PN-2的MB110-MB119接收到B#16#02。如圖7所示。
圖7
同理,將SIMATIC 315PN-2 的MB100-MB109賦值為B#16#03,SIMATIC 315PN-1的MB110-MB119接收到B#16#03。如圖8所示。
圖8
3.2. 確認數據交換
SFB/FB 12 "BSEND" 向類型為“BRCV"的遠程伙伴SFB/FB發送數據。通過這種
類型的數據傳送,更多的數據可以在通訊伙伴之間傳輸,*其它用于組態的
S7連接的通訊SFB/FB所能傳輸的數據量,通過集成PN口的S7-400和S7-300是65534字節。
要發送的數據區是分段的。各個分段單獨發送給通訊伙伴。通訊伙伴在接收到后
一個分段時對此分段進行確認,該過程與相應SFB/FB "BRCV" 的調用無關。在調用塊之后,當在控制輸入REQ上有上升沿時,發送作業被激活。發送用戶存儲區中的數據與處理用戶程序是異步執行的。
由SD_1起始地址和要發送數據的大長度。可以通過LEN來確定數據域的作業長度。在這種情況下,LEN替換SD_1的長度區域。參數R_ID必須在相應的兩個SFB/FB上*相同。如果在控制輸入R處有上升沿,則當前數據傳送將被取消。如果傳送成功完成,則通過將狀態參數DONE的數值設置為1來進行指示。如果狀態參數DONE或ERROR的數值為1,則在前一個發送處理結束之前,不能處理新的發送作業。
SFB/FB 13 "BRCV" 接收來自類型為“BSEND"的遠程伙伴SFB/FB的數據。在收
到每個數據段后,向伙伴SFB/FB發送一個確認幀,同時更新LEN參數。在塊調用完畢,并且在控制輸入EN_R數值為1之后,塊準備接收數據。可以通過EN_R=0來取消一個已激活的作業。
由RD_1起始地址和接收區的大長度。由LEN指示已接收數據域的長度。
從用戶存儲區中接收數據與處理用戶程序是異步執行的。參數R_ID必須在相應的兩個SFB/FB上*相同。通過狀態參數NDR的數值為1來指示所有數據段的無錯接收。接收到的數據保持不變,直到通過EN_R=1來重新調用SFB/FB 13為止。如果在數據的異步接收期間調用塊,則將引發一個警告,該警告通過STATUS參數輸出;如果當控制輸入EN_R數值為0時進行調用,則接收將被終止,并且SFB/FB將返回到它的初始狀態。
打開SIMATIC 315PN-1的OB1,在OB1中依次調用FB12,FB13如圖9、圖10所示:
1.概述
1.1 S7-1200 的PROFINET 通信口
S7-1200 CPU 本體上集成了一個 PROFINET 通信口,支持以太網和基于 TCP/IP 的通信標準。使用這個通信口可以實現 S7-1200 CPU 與編程設備的通信,與HMI觸摸屏的通信,以及與其它 CPU 之間的通信。這個PROFINET 物理接口是支持10/100Mb/s的 RJ45口,支持電纜交叉自適應,因此一個標準的或是交叉的以太網線都可以用于這個接口。
1.2 S7-1200支持的協議和大的連接資源
S7-1200 CPU 的PROFINET 通信口支持以下通信協議及服務
? TCP
? ISO on TCP ( RCF 1006 )
? S7 通信 (服務器端)
通信口所支持的大通信連接數
S7-1200 CPU PROFINET 通信口所支持的大通信連接數如下:
? 3個連接用于HMI (觸摸屏) 與 CPU 的通信
? 1個連接用于編程設備(PG)與 CPU 的通信
? 8個連接用于Open IE ( TCP, ISO on TCP) 的編程通信,使用T-block 指令來實現
? 3個連接用于S7 通信的服務器端連接,可以實現與S7-200,S7-300以及 S7-400 的以太網S7 通信
S7-1200 CPU可以同時支持以上15個通信連接,這些連接數是固定不變的,不能自定義。
TCP(Transport Connection Protocol)
TCP是由 RFC 793描述的標準協議,可以在通信對象間建立穩定、安全的服務連接。如果數據用TCP協議來傳輸,傳輸的形式是數據流,沒有傳輸長度及信息幀的起始、結束信息。在以數據流的方式傳輸時接收方不知道一 條信息的結束和下一條信息的開始。因此,發送方必須確定信息的結構讓接收方能夠識別 。在多數情況下TCP應用了IP (Internet protocol) ,也就是“TCP/IP 協議", 它位于 ISO-OSI 參考模型的第四層。
協議的特點:
? 與硬件綁定的高效通信協議
? 適合傳輸中等到大量的數據 (<=8192 bytes)
? 為大多數設備應用提供
– 錯誤恢復
– 流控制
– 可靠性
? 一個基于連接的協議
? 可以靈活的與支持TCP協議的第三方設備通信
? 具有路由兼容性
? 只可使用靜態數據長度
? 有確認機制
? 使用端口號進行應用尋址
? 大多數應用協議,如TELNET、FTP都使用TCP
? 使用 SEND/RECEIVE 編程接口進行數據管理需要編程來實現
1.3 硬件需求和軟件需求
硬件:
① S7-1200 CPU
② S7-300 CPU + CP343-1(支持S7 Client)
③ PC(帶以太網卡)
④ TP以太網電纜
軟件:
① STEP 7 Basic V10.5
② STEP 7 V5.4
2. ISO on TCP 通信
S7-1200 CPU 與S7-300/400 之間通過ISO on TCP 通信,需要在雙方都建立連接,連接對象選擇“Unspecified"。
所完成的通信任務為:
① S7-1200將DB3里的100個字節發送到S7-300的DB2中
② S7-300將輸入數據IB0發送給S7-1200的輸出數據區QB0。
2.1 S7-1200 CPU 的組態編程
組態編程過程與 S7-1200 CPU 之間的通信基本相似 (見 6.3 ),這里簡單描述一下步驟:
① 使用STEP 7 Basic V10.5 軟件新建一個項目
在STEP 7 Basic 的“Portal View"中選擇 “Create new project"創建一個新項目
② 添加新設備
然后進入“Project view",在“Project tree"下雙擊“Add new device",在對話框中選擇所使用的S7-1200 CPU添加到機架上,命名為 PLC_1。
③ 為 PROFINET 通信口分配以太網地址
在“Device View"中點擊 CPU 上代表PROFINET 通信口的綠色小方塊,在下方會出現PROFINET 接口的屬性,在 “Ethernet addresses"下分配IP 地址為 192.168.0.1 ,子網掩碼為255.255.255.0。
④ 在 S7-1200 CPU 中調用“TSEND_C"通信指令并配置連接參數和塊參數
在主程序中調用發送通信指令,進入“Project tree" > “ PLC_1">“Program blocks">“Main"主程序中,從右側窗口“Instructions"> “Extended Instructions">“Communications"下調用“TSEND_C"指令,并選擇“Single Instance"生成背景 DB塊。然后單擊指令塊下方的“下箭頭",使指令展開顯示所有接口參數。
然后,創建并定義發送數據區 DB 塊。通過“Project tree">“ PLC_1"> “Program blocks" >“Add new block" ,選擇 “Data block"創建 DB 塊,選擇尋址,點擊“OK"鍵,定義發送數據區為 100個字節的數組