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