產品:siemens/西門子
產品規(guī)格:全新原裝
產品:保證
產品價格:價格優(yōu)勢
公司大量現貨?。?!
【同樣的價格、同樣的、給您不一樣的服務】
重慶暑鴻自動化設備有限公司(西門子集成商)銷售西門子S7-200/300/400/1200PLC、數控、變頻器、人機界面、屏、伺服、電機、西門子電纜等,并可提供西門子服務,歡迎來電垂詢
地址:重慶市渝北區(qū)財富大道2號12-4
概述 S7-1200 與 S7-300 之間的以太網通信比較多,可以采用ISO on TCP、TCP和 S7 的進行通信。在S7-1200 CPU 中采用ISO on TCP和TCP這兩種協(xié)議進行通信所使用的指令是相同的,都使用 T-block ( TSEND_C, TRCV_C, TCON, SCON, TSEN, TRCV ) 指令編程。S7-300 CPU一側如果使用的是CPU集成的PN接口,連接不在STEP7的NetPro中建立連接,而是使用西門子提供的OPEN IE 的來實現。 本文主要介紹了如何實現在S7-1200 和S7-300 CPU集成PN口之間的ISO on TCP通信,包括通信的基本步驟、配置及編程等內容。具體的實現有多種,比如在S7-1200中可以使用不帶連接的通信指令(TCON, SCON, TSEN, TRCV),也可以使用帶連接的通信指令(TSEND_C, TRCV_C);在S7-300中可以采用功能塊編程的來實現,也可以使用Open Communication Wizard工具(OPEN IE向導)的來建立OPEN IE的通信。 為了方便理解,本文在S7-1200中使用不帶連接的通信指令TCON, SCON, TSEN, TRCV,在S7-300側通過功能塊編程的來實現。 關于S7-1200和S7-300 OPEN IE通信的文檔可以登錄西門子自動化與驅動集團網站的下載中心,網址:http://www.ad.siemens.com.cn/download/ ,根據如表1提供的文檔編號搜索并下載相關文檔。
表1 下載中心文檔列表
2 軟硬件及所要完成的通信任務
2.1硬件設備
實驗的硬件設備: 1、S7-1200 CPU,CPU1212 AC/DC/RLY(6ES7 212-1BD30-0XB0) 2、S7-300 PN CPU,CPU317-2PN/DP(6ES7 317-2EH13-0AB0 V2.6.7) 3、PC機(帶以太網卡) 4、SCALANCE X216交換機,S7-1200、S7-300和PC通過交換機互連起來 5、TP以太網電纜
2.2
1、STEP7 Basic V10.5 SP2 2、STEP7 V5.4 SP5 3、通信所需的功能塊,請參見附件提供的例程 ”Sample_1 ( 50 KB ) ” 或參考下載中心文檔:《A0284 使用西門子PLC集成的PN口實現S5 兼容通信使用入門》提供的程序。下載鏈接:80490650
2.3 所要完成的通信任務 本例中所要完成的通信任務定義為: 1、 將S7-1200的發(fā)送數據塊DB3里的8個字節(jié)數據發(fā)送到S7-300的DB3中。 2、 將S7-300 DB3里接收到的8個字節(jié)數據再發(fā)送到S7-1200的接收數據塊DB4中。
3 S7-1200 CPU的組態(tài)編程
3.1創(chuàng)建新項目
1、打開STEP 7 Basic 并新建項目 在STEP 7 Basic 的 “Portal View”中選擇“Create new project”創(chuàng)建一個新項目,項目名稱為“GS_ISO”。 2、添加硬件并命名PLC 然后 “Project view”,在“Project tree” 下雙擊 “Add new device”,在對話框中選擇所使用的S7-1200 CPU(6ES7 212-1BD30-0XB0)添加到機架上,設備名為 PLC_1,如圖1所示。
1、打開STEP 7 Basic 并新建項目 在STEP 7 Basic 的 “Portal View”中選擇“Create new project”創(chuàng)建一個新項目,項目名稱為“GS_ISO”。
2、添加硬件并命名PLC 然后 “Project view”,在“Project tree” 下雙擊 “Add new device”,在對話框中選擇所使用的S7-1200 CPU(6ES7 212-1BD30-0XB0)添加到機架上,設備名為 PLC_1,如圖1所示。
圖1 添加新的PLC站
為了編程方便,我們使用 CPU 屬性中定義的時鐘位,定義如下: 在“Project tree> PLC_1 > Device configuration” 中,選中 CPU ,然后在下面的屬性窗,“Properties > System and clock memory” 下,將位定義在MB1,時鐘位定義在MB0,如圖2所示。程序中我們主要使用 M0.3,它是以2Hz 的速率在0和1之間切換的一個位,可以使用它去自動發(fā)送任務。
圖2 和時鐘存儲器
3、為 S7-1200 CPU的PROFINET 通信口分配以太網地址 在 “Device View”中 CPU 上代表PROFINET 通信口的綠色小方塊,在下方會出現PROFINET 接口的屬性,在 “Ethernet addresses”下分配IP 地址為 192.168.0.2 ,子網掩碼為255.255.255.0,如圖3所示。
圖3為 S7-1200 CPU的PROFINET 接口分配IP地址
3.2調用并配置通信指令
1、在 PLC_1 的 OB1 中調用 “TCON”通信指令 “Project tree > PLC_1 > Program blocks > OB1” 主程序中,從右側窗口 “Instructions > Extended Instructions > Communications” 下調用 “TCON” 指令,并選擇 “Single Instance” 生成背景 DB塊,如圖4所示。
圖4 調用TCON指令
2、定義PLC_1 的 “TCON” 連接參數 PLC_1 的 TCON 指令的連接參數需要在指令下方的屬性窗口“Properties > Configuration > Connection parameter”中設置,如圖5所示。 連接參數說明: End point :選擇通信伙伴,這里選擇“unspecified” Address :**通信伙伴S7-300站的IP地址“192.168.0.3” Connection type :選擇通信協(xié)議為ISO on TCP Connection ID :連接的地址 ID 號,這個 ID 號在后面的編程里會用到 Connection data :創(chuàng)建連接時,會自動生成本地的連接 DB 塊,所有的連 接數據都會存在這個 DB 塊中。 :選擇本地 PLC_1作為連接,S7-300 CPU作為被動連接 Address details :設定 TSAP 地址這里本地設置成“PLC_1”, TSAP ID自動為“50.4C.43.5F.31”,伙伴方設置成不設置TSAP(ASCII),設置TSAP ID 為“E0.02.50.4C.43.5F.31”。
2、定義PLC_1 的 “TCON” 連接參數 PLC_1 的 TCON 指令的連接參數需要在指令下方的屬性窗口“Properties > Configuration > Connection parameter”中設置,如圖5所示。
連接參數說明:
End point
:選擇通信伙伴,這里選擇“unspecified”
Address
:**通信伙伴S7-300站的IP地址“192.168.0.3”
Connection type
:選擇通信協(xié)議為ISO on TCP
Connection ID
:連接的地址 ID 號,這個 ID 號在后面的編程里會用到
Connection data
:創(chuàng)建連接時,會自動生成本地的連接 DB 塊,所有的連 接數據都會存在這個 DB 塊中。
:選擇本地 PLC_1作為連接,S7-300 CPU作為被動連接
Address details
:設定 TSAP 地址這里本地設置成“PLC_1”, TSAP ID自動為“50.4C.43.5F.31”,伙伴方設置成不設置TSAP(ASCII),設置TSAP ID 為“E0.02.50.4C.43.5F.31”。
圖5 “TCON” 指令的連接參數
3、分配 “TCON” 的塊參數 在指令下方的屬性窗口“Properties > Configuration > block parameter”中設置,可以根據需要自己為“TCON” 塊**相應的輸入輸出參數。**好參數的塊,如圖6所示。其中M8.0作為啟動連接的觸發(fā)位,連接ID = 1與連接參數里面的設置相同。
圖6 “TCON” 的塊參數
4、在 PLC_1 的 OB1 中調用 “TSEND” 發(fā)送通信指令 首先創(chuàng)建一個發(fā)送數據塊,通過 “Project tree > PLC_1 > Program blocks > Add new block”,選擇 “Data block” 創(chuàng)建 DB 塊,選擇尋址,“OK”鍵,如圖7所示。
圖7 創(chuàng)建一個發(fā)送數據塊DB3
打開創(chuàng)建的發(fā)送數據塊,在數據塊中定義發(fā)送數據區(qū)為 8個字節(jié)的數組,如圖8所示。
圖8 創(chuàng)建發(fā)送數據區(qū)
然后在OB1 中調用“TSEND”發(fā)送通信指令,并為“TSEND”**參數。使用M0.3( 2Hz 的時鐘脈沖)上升沿發(fā)送任務,**發(fā)送數據區(qū)為P# DB3.DBX0.0 BYTE 8,連接 ID = 1與連接參數里面的設置相同,發(fā)送長度LEN=8。分配好參數的“TSEND”塊如圖9所示。
圖9 調用“TSEND”發(fā)送通信塊
5、在 PLC_1 的 OB1 中調用“TRCV”接收通信指令 同樣,先創(chuàng)建一個接收數據塊DB4 ,如圖10所示。“TRCV”接收通信指令的調用與“TSEND” 發(fā)送通信指令的調用相同,M8.1作為接收指令的使能位,如圖11所示。
圖10創(chuàng)建接收數據區(qū)
圖11 調用“TRCV”接收通信塊
6、在 PLC_1 的 OB1 中調用 “SCON”通信指令 后,為了斷開通信鏈接,我們需要調用“SCON”通信指令,如圖12所示。
圖12 調用“SCON”通信塊
3.3下載程序 至此,S7-1200側的組態(tài)和編程都已經完成,可以在項目編譯無錯誤后,直接下載到S7-1200 CPU中,并啟動CPU的運行。
4 S7-300 CPU的組態(tài)編程 S7-300帶PN接口的CPU支持ISO on TCP通信功能,通過該集成以太網接口組態(tài)ISO on TCP通信時,只能使用開放式通信的功能塊,這些的功能塊可以在STEP7 “ 通訊塊”的 “庫 ”中找到,如圖13所示。
圖13 S7-300 CPU通信指令庫
庫中提供了下列通信功能塊: ′> FB 65 "TCON",用于建立連接,連接時需要UDT65來提供參數 > FB 66 "SCON",用于終止連接 > FB 63 "TSEND",用于發(fā)送數據到S7站點、S5站點、PC站或者第三方設備 > FB 64 "TRCV" 用于從S7站點、S5站點、PC站或者第三方設備接收數據
要通過CPU 的 集成PN 接口實現開放的ISO on TCP通信,不能在Netpro網絡組態(tài)中直接建立連接,必須通序**每個連接的參數。用于通信的FB功能塊,請參見附件提供的例程 ”Sample_1 ( 50 KB ) ” 或參考下載中心文檔《A0284 使用西門子PLC集成的PN口實現S5 兼容通信使用入門》提供的例程。下載鏈接:80490650
從附件提供的例程 ”Sample_1 ( 50 KB ) ” 中將把需要的程序塊拷貝到新建的項目中,包括: > UDT 65 "TCON_PAR",存放用戶通信參數 > FB420 "SET_ISO_ENDPOINT" ,用于修改UDT65內通信對象參數 > FC21, 被FB420調用 隨后,使用通信功能塊 FB65 "TCON"、FB66 "SCON"、FB63 "TSEND" 和 FB64 "TRCV" 完成程序的編寫。
4.1創(chuàng)建新項目
1、打開STEP7,新建一個項目 2、在項目中一個SIMATIC 300的站 3、組態(tài)硬件,一個CPU317-2PN/DP的CPU,并為PN接口分配IP地址“192.168.0.3”,如圖14所示。同時,在CPU的“Cycle/Clock Memory”屬性頁中**MB0為時鐘存儲器,在程序中可以使用M0.3(2Hz 的時鐘脈沖)去自動發(fā)送任務,如圖15所示。
圖14為PN接口分配IP地址
圖15設置時鐘存儲器字節(jié)
4.2編寫通信程序
1、從樣例程序中拷貝通信所需的塊 從附件提供的sample_1 ( 50 KB ) 例程中把需要的FB420、FC21與UDT65程序塊拷貝到新創(chuàng)建的項目中,如圖16所示。
圖 16
2、生成數據塊 在程序中創(chuàng)建一個DB塊,塊號不限(本例為DB101),在塊中建立變量DB_VAR,類型為UDT65,如圖17所示。
圖17
3、生成并調用FB塊 首先生成一個FB塊(本例為FB400),在FB400靜態(tài)變量區(qū)建立一個結構“T_TSAP“,包含如下變量,并為變量分配初始值,如圖18所示。 1) LOC_RACK_SLOT (BYTE)= B#16#2 表示有兩個前導字符 0xE0 (CPU31x-2PN/DP 或者 CPU319-N/DP規(guī)定)和 0x02(CPU槽號) 2) LOC_TSAP(STRING14)= 本地用戶定義的ASCII字符'PLC_1' (注意要與S7-1200側設置保持一致)。 3) REM_RACK_SLOT(BYTE)= B#16#0 不使用兩個前導符。 4) REM_TSAP (STRING16)= 遠程用戶定義的ASCII字符'PLC_1' (注意要與S7-1200側設置保持一致)。
圖18
然后在生成的FB400中調用FB420,如圖19所示。
圖19
其中參數的含義如下: 1)ID: 連接ID,與S7-1200里的設置保持一致 2)DEV_ID:用于本PLC型號(注意不是通信) DEV_ID = B#16#1本PLC型號為 IM151-8 PN/DP CPU DEV_ID = B#16#2本PLC型號為CPU31x-2PN/DP或IM154-8 CPU DEV_ID = B#16#3本PLC型號為CPU319-N/DP DEV_ID = B#16#5本PLC型號為CPU41x-N/DP 3)ACTIVE: 或是被動建立連接,通信雙方必須一個,一個被動,本例中S7-300側為被動方。 4)T_TSAP: 靜態(tài)變量區(qū)的結構變量,用于ISO ON TCP 通信的TSAP地址 5)IP_ADDR1 ... IP_ADDR4: 通信伙伴的IP地址,即S7-1200的IP地址192.168.0.2 6)CON_DB: 用UDT65生成的變量,即DB101 4、在OB1中調用發(fā)送和接收功能塊 在OB1中先調用FB400功能塊,為其**背景數據塊DB400,如圖20所示。
其中參數的含義如下: 1)ID: 連接ID,與S7-1200里的設置保持一致 2)DEV_ID:用于本PLC型號(注意不是通信) DEV_ID = B#16#1本PLC型號為 IM151-8 PN/DP CPU DEV_ID = B#16#2本PLC型號為CPU31x-2PN/DP或IM154-8 CPU DEV_ID = B#16#3本PLC型號為CPU319-N/DP DEV_ID = B#16#5本PLC型號為CPU41x-N/DP 3)ACTIVE: 或是被動建立連接,通信雙方必須一個,一個被動,本例中S7-300側為被動方。 4)T_TSAP: 靜態(tài)變量區(qū)的結構變量,用于ISO ON TCP 通信的TSAP地址 5)IP_ADDR1 ... IP_ADDR4: 通信伙伴的IP地址,即S7-1200的IP地址192.168.0.2 6)CON_DB: 用UDT65生成的變量,即DB101
4、在OB1中調用發(fā)送和接收功能塊 在OB1中先調用FB400功能塊,為其**背景數據塊DB400,如圖20所示。
圖20
然后再在OB1中依次調用通信功能塊FB65、FB64、FB63、FB66。其中發(fā)送和接收功能塊FB64、FB63的數據區(qū)都為DB3,建立DB3如圖21所示。關于塊的使用請參考STEP7的在線幫助或相關文檔說明。
圖21
FB65 “TCON”,建立連接功能塊,如圖22所示。通過輸入參數 "REQ"一個上升沿來建立連接。 “ID” 為連接ID,“CONNECT” 參數填寫用 UDT65 生成的變量, 連接建立后會一直保持,直到調用FB66 "SCON" 斷開連接、CPU停止或者斷電。其中CONNECT**為通過UDT65生成的DB塊,即DB101, ID = 1。通過M8.0啟業(yè),執(zhí)行連接的建立。
圖22
FB64 “TRCV”,接收功能塊,如圖23所示。"TRECV" EN_R始終為TRUE, ID 填寫連接ID,”DATA” 填寫接收數據區(qū),輸出參數 "NDR" 用于表示新的數據已經收到,輸出參數 "LEN" 表示接收的數據長度。本例中連接ID = 1。**DB3作為接收數據塊,接收數據的字節(jié)長度為8,接收作業(yè)通過M8.1使能。
圖23
FB63 “TSEND”,發(fā)送功能塊,如圖24所示。連接ID = 1。**DB3為發(fā)送數據塊,發(fā)送字節(jié)長度為8,發(fā)送作業(yè)通過M0.3觸發(fā)。"TSEND" 發(fā)送請求依靠輸入參數"REQ"的上升沿來實現,如果“BUSY”位為true時不要觸發(fā)"REQ"。輸出參數 "DONE", "ERROR" 和 "STATUS" 用于評估工作的情況。
圖24
FB66 “SCON”,取消連接功能塊,如圖25所示??梢愿鶕枰∠鸌D=W#16#1的連接,作業(yè)通過M8.2使能。
圖25
4.3下載程序 S7-300側的組態(tài)和編程都完成后,直接下載到S7-300 CPU中,并啟動CPU的運行。
5 監(jiān)控通信結果 對S7-1200和S7-300都組態(tài)和編程后,下載所有組態(tài)及程序并搭建好網絡后,首先在在S7-1200中將M8.0置位為1,然后再在S7-300中將M8.0置位為1,兩個站的“TCON” 被,建立兩個站之間的ISO on TCP連接。 連接正常建立后,即可以進行數據的交換。在S7-1200和S7-300站中將 ”TRCV” 功能塊的EN_R置位為1,使能接收,監(jiān)控通信結果如圖26所示。 通過監(jiān)控結果可以看到,S7-1200中發(fā)送數據塊DB3的8個字節(jié)數據被發(fā)送到S7-300站的DB3中,同時,S7-300的DB3中接收到的數據又被發(fā)送到S7-1200的接收數據塊DB4中。
圖26 在線監(jiān)控通信結果
描述 對于 SIMATIC S7-1200,從 CPU V2.0固件開始,STEP 7 (TIA-Portal) 提供 T_CONFIG 指令可以通過編程控制 CPU 集成 PROFINET 接口的配置。
圖. 01
可以設置如下接口配置:
配置數據存儲在 "Conf_Data" 結構體數據類型中。
圖. 02
以PLC數據類型創(chuàng)建 "Conf_Data" 結構體數據類型。 它包含**的數據類型:
說明 正確使用 T_CONFIG 指令需要注意以下幾點:
必須選擇"... using a different method".
圖. 03
圖. 04
圖. 05
表 01
提示 *告 本條目描述的功能和解決方案主要限于實現自動化任務。此外,如果該與工廠其它部分或整個互聯(lián)網有連接,請注意必須采取適當的 措施以遵循相應的工業(yè)。更多信息參見條目ID: 50203404.
下載 學 T_CONFIG 指令,可以參考下面的例子項目。 它包含通過操作面板 KTP 600 Basic PN 修改 PROFINET 接口的配置。 當T_CONFIG 指令使用時,HMI 通過 "Change connection" 事件與新配置了PROFINET接口的控制器同步建立通訊。 由于 KTP 600 Basic PN 不支持無類別域間路由(CIDR),后的8位組IP地址只能在C類網絡中修改。 KTP 600 Basic PN 也可以在沒有硬件時由 STEP 7 V11 模擬。 項目中的 IP 地址如下:
圖. 06
KTP 600 Basic PN 用戶接口包含下列元素:
要進行確認,在 STEP 7 V11 中,可以通過刷新可訪問節(jié)點來檢查 IP 分配,通過"Online & Diagnostics" 下的"Assign name"功能來檢查PROFINET設備名。
S7-1200存儲卡的基本介紹
S7-1200CPU使用的存儲卡為SD卡,存儲卡中可以存儲用戶項目文件,有如下三種功能:
1. 作為CPU的裝載存儲區(qū),用戶項目文件可以僅存儲在卡中,CPU中沒有項目文件,離開存儲卡無法運行。
2. 在有編程器的情況下,作為向多個S7-1200PLC傳送項目文件的介質。
3. 忘記時,**CPU內部的項目文件和。
4. 24M卡可以用于更新S7-1200CPU的固件版本
圖1: S7-1200存儲卡
如何存儲卡:
將CPU上擋板向下,可以看到右上角有一MC卡槽,將存儲卡缺口向上,如下圖所示:
圖2:存儲卡
注意:
? 對于S7-1200CPU,存儲卡不是必需的。
? 將存儲卡插到一個處于運行狀態(tài)的CPU上,會造成CPU停機。
? S7-1200 CPU 僅支持由西門子制造商預先格式化過的存儲卡,即下列訂貨號產品:
訂貨號
容量
6ES7 954-8LF01-0AA0
24MB
6ES7954-8LC01-0AA0
4MB
6ES7 954-8LB01-0AA0
2MB
表1:存儲卡信息
? 如果使用 WINOOWs 格式化程序對SIMATIC 存儲卡重新進行格式化,CPU將無法使用該重新格式化的存儲卡。
? 目前S7-1200還無法配合存儲卡實現配方和數據歸檔之類的**功能。
2 存儲卡的工作
存儲卡有兩種工作:
? 程序卡:存儲卡作為S7-1200 CPU 的裝載存儲區(qū),所有程序和數據存儲在卡中,CPU 內部集成的存儲區(qū)中沒有項目文件,設備運行中存儲卡不能被。
? 傳輸卡:用于從存儲卡向CPU傳送項目,傳送完成后必須將存儲卡。CPU可以離開存儲卡運行。
修改存儲卡的工作:
在STEP 7 Basic的項目視圖下,左側”Project View“--->"SIMATIC Card Reader" --->您的讀卡器型號,如下圖所示:
圖3:Project View
右擊存儲卡的盤符(這里是F:),選擇“屬性”,打開下面窗口:
圖4:MC屬性
用戶在“Card type”選擇需要的工作,“OK”完成設定。
3 使用程序卡的不同
優(yōu)點:更換CPU時不需要重新下載項目文件。
3.1 裝載用戶項目文件到存儲卡:
? **步:按照上面將存儲卡設定到“編程”。建議客戶做此操作之前**存儲卡中的所有文件。
? **步:設置CPU的啟動狀態(tài):在"Project tree"中右擊CPU選擇“屬性”,在“屬性”窗“Startup”,此處我們必須選擇“Warm restart-RUN”
圖5: Startup
? 第三步:將CPU斷電。
? 第四步:將存儲卡插到CPU卡槽內
? 第五步:將CPU上電
? 第六步:在STEP 7 Basic中下載,將項目文件全部下載到存儲卡中。此時下載是將項目文件(包括用戶程序、硬件組態(tài)和強制值)下載到存儲卡中,而不是CPU內部集成的存儲區(qū)中。
完成上述步驟后,CPU可以帶卡正常運行。此時如果將存儲卡,CPU會報錯,"ERROR"紅燈閃爍。
3.2 常見問題:
常見問題1:
為什么插上存儲卡后CPU的“MAINT”燈閃爍,使用STEP 7 Basic下載是提示報錯“The download of the hardware configuration failed (0050 -133 2 2458)”?
回答:
請**存儲卡中的所有文件,重新使用STEP7 Basic將存儲卡設置到“編程”,然后再重復上述步驟。請您也檢查存儲的撥碼開關,檢查存儲卡是否處于寫保護。
常見問題2:
為什么CPU斷電上電后停止狀態(tài),而不運行狀態(tài)?
原因是CPU的啟動不是“Warm restart-RUN”,詳細請參考上面“**步”。
4 使用傳輸卡
優(yōu)點:在沒有編程器的情況下,方便快捷地向多個S7-1200PLC拷貝項目文件。
4.1 向處于傳輸的存儲卡中裝載項目
? 第三步:直接拖拽PLC設備到存儲卡盤符
圖6:拖拽
用戶也可以直接將一張已經做好的“程序卡”更改為“傳輸卡”。
4.2 從存儲卡項目到S7-1200PLC
? **步:將CPU斷電
? **步:插卡到CPU卡槽
? 第三步:將CPU上電,用戶會看到CPU的"MAINT"黃燈閃爍
? 第四步:將CPU斷電,將存儲卡
常見問題:
1. CPU的啟動不是“Warm restart-RUN”,詳細請參考上面“**步”。
2. 檢查第三步,必須拖拽PLC項目到存儲卡盤符,而不是程序塊等其他項目內容。下載到存儲卡中的項目文件有可能不完整,例如確實硬件組態(tài)等。
5 使用存儲卡**
如果客戶忘記了之前設定到S7-1200的,通過”恢復出廠設置“無法**S7-1200內部的程序和,因此**的**是使用存儲卡。詳細步驟如下:
1. 將S7-1200設備斷電
2. 一張存儲卡到S7-1200CPU上,存儲卡中的程序不能有保護
3. 將S7-1200設備上電
S7-1200CPU上電后,會將存儲卡中的程序到內部的FLASH寄存器中,即執(zhí)行**操作。
客戶也可以用相同的一張全新的或者空白的存儲卡到S7-1200CPU,設備上電后,S7-1200CPU會將內部存儲區(qū)的程序轉移到存儲卡中,拔下存儲卡后,S7-1200CPU內部將不在有用戶程序,即實現了**。存儲卡中的內容可以使用讀卡器**。
注意:不要格式化存儲卡
6 使用24M存儲卡更新S7-1200CPU的固件版本
S7-1200的固件版本可以從西門子官*網站下載:http://support.automation.siemens.com/WW/view/cn 。用戶可以使用西門子網站右上方的搜索引擎在“Download”分類中搜索“S7-1200 firmware”。
1. 不同訂貨號的S7-1200CPU的固件文件不相同,下載地址也不相同。用戶在下載和更新固件之前請核對產品訂貨號。
2. 2M存儲卡不能用于CPU固件升級。
3. 固件升級前CPU內部存儲的項目文件(程序塊、硬件組態(tài)等)不受影響,不會被**。
4. 如果存儲卡中的固件文件訂貨號與實際CPU的訂貨號不一致,即使執(zhí)行了下列步驟,CPU的原固件版本也不會改變。
更新CPU的固件具體步驟如下:
? **步:使用電腦通過讀卡器**存儲卡中內容。注意:不要格式化存儲卡!
? **步:從西門子官*網站下載版本的固件文件。下載并解壓縮,用戶可以一個“S7_JOB.SYS”文件和“FWUOPDATE.S7S”文件夾。
? 第三步:將“S7_JOB.SYS”文件和“FWUOPDATE.S7S”文件夾拷貝到存儲卡中。
? 第四步:將存儲卡插到CPU1200卡槽中。此時CPU會停止,“MAINT”指示燈閃爍。
? 第五步:將CPU斷電上電。CPU的“RUN/STOP”指示燈紅綠交替閃爍說明固件正在被更新中。“RUN/STOP”指示燈亮,“MAINT”指示燈閃爍說明固件更新已經結束。
? 第六步:存儲卡
? 第七步:再次將CPU斷電上電
本文介紹了通過OPEN IE的實現S7-1200與SIMOTION D410PN之間的TCP通信的,包括通信的基本配置、組態(tài)和編程等內容。S7-1200實現TCP通訊的指令有兩種,一是不帶連接的指令(TCON,SCON,TSEND,TRCV),另一種是帶連接的指令(T RCV_C,TSEND_C);SIMOTON包含的通信指令包括tcpOpenClient,tcpOpenServe r,tcpSend,tcpReceive,tcpCloseSever,tcpCloseConnection。
本文選用S7-1200不帶連接的指令TCON,SCON,TSEND,TRCV,實現與D410 PN的通訊。
設備
版本
CPU 1214C DC/DC/DC
6ES7214-1AE30-0XB0
V2.2
D410PN
6AU1410-0AB00-0AA0
Version B, FW V4.2
SCANLANCE X208
6GK5208-0BA10-2AA3
V3.1
表1 所采用的硬件列表
§ TIA Portal V11 SP2
§ SCOUT V4.2.1
2.3 通訊參數設置
硬件連接配置
圖1 硬件連接示意圖
CPU 1214C和D410PN本身都帶有集成PN口,可以直接使用。
IP 地址設置(子網掩碼均為255.255.255.0):
DEVICE
IP Address
CPU 1214C
192.168.0.4
D410DP
192.168.0.2
PC
192.168.0.10
表2 IP地址設置
打開TIA Portal,新建一個項目,在“添加新設備”中選擇所需的硬件及版本,如圖2所示。
圖2 選擇設備和版本
打開設備視圖,設置設備“屬性”下的以太網地址為192.168.0.4,子網掩碼為255. 255.255.0。見圖3。
圖3 設置以太網地址
在設備視圖的屬性窗設置時鐘存儲器,將時鐘存儲器的地址設置為MB20,并使用其中的M20.5位,0和1以1Hz切換,用來循環(huán)發(fā)送任務,見圖4。
圖4 時鐘存儲器設置
打開SCOUT,新建一個項目,設置PG/PC接口為電腦的以太網卡,雙擊“INSERT SIMOTION DEVICE”后,選擇相應版本的D410PN,并打開硬件組態(tài)畫面,在其中設置PN口的以太網地址和子網掩碼,見圖5。
圖5 組態(tài)D410PN地址
TCON,SCON,TSEND,TRCV等指令均可以在右側指令中的“通信—〉開放式用戶通信”找到。本文中所有通訊指令均在background 中執(zhí)行。
S7-1200在本文中作為Server,通訊開始前先TCON指令來建立端口,并等待Client的建立連接請求,一旦通信連接建立,此時“REQ”就不再起作用,若想重新建立連接需先調用“SCON”斷開連接,再從新“TCON”重新建立連接。
圖6 調用TCON
“REQ”:TCON功能。
“ID”:設置所建立連接的ID,以后的TSEND、TRCV、SCON均使用此ID。
“CONNECT”:連接配置DB,在配置完TCON參數后自動生成。
“Done”:建立連接任務完成后置1。
“BUSY”:建立連接任務執(zhí)行中置1。
“ERROR”為1時,在STATUS中顯示錯誤代碼,“ERROR”為0時,在STATUS中顯示指令執(zhí)行狀態(tài)代碼。
當連接建立后,通序段2可以將“opensever”置0。
在調用TCON指令時會要求設置連接參數,見圖7。
圖7 TCON連接參數設置
“伙伴”:選擇未**。
“地址”:設置與S7-1200通訊的SIMOTION的地址。
“連接類型”:選擇TCP。
“連接ID”: 發(fā)送、接收和連接斷開所使用的ID。
“連接數據”:設置新建或使用已有的連接DB。
“建立連接”:選擇建立連接的一方為客戶端,另一方為。
“端口”:設置本地和伙伴的端口號,在SIMOTION的指令中會用到這里。
設置TCON參數時要先選擇“連接數據”中的“新建”,建立一個新的Connection DB,然后再填寫各個參數。
在通訊建立后,TSEND,TRCV指令(將發(fā)送指令的“REQ”端置1,將接收指令的“EN_R”置1),用來發(fā)送和接受數據。
圖8 TSEND連接參數設置
圖9 TRCV連接參數設置
(1) 在建立“DATA”中要的發(fā)送數據和接受數據DB時,其塊訪問的必須是“-與S7-300/400兼容”,否則在該指令時會報錯,見圖10。
(2) TSEND與TRCV的“ID”必須與TCON中設置的相同,而此“ID”與SIMOTION中的“ID”未必相同。
(3) TRCV在接收數據后,“NDR”會自動置1,且“RCVD_LEN”會顯示接收到的數據長度。
圖10 數據 DB建立
若要斷開當前連接,則調用SCON。斷開連接后,根據程序段6,“dis con”位會被重新置0。
圖11 SCON連接參數設置
SIMOTION的通信指令可以在Command library中的“Communication->Data transfer”目錄下找到。通信程序塊“TCP”background中運行。
tcpOpenClient指令,該指令用來在simotion 側客戶端端口,并向發(fā)送連接請求,若請求,則建立連接,并返回連接ID。該指令需使用上跳沿單次觸發(fā),此函數只調用一次,連接ID后應停止調用。
圖12 tcpOpenClient指令參數設置
“port”:設置simotion本地端口號。
“severAddress”:設置通訊(S7-1200)地址(192.168.0.4)。
“serverport”:設置(S7-1200)端口號,必須與S7-1200組態(tài)中設置的相同。
“nextCommand”:
IMMEDIATELY:命令與后續(xù)所要執(zhí)行的命令同步執(zhí)行。
WHEN_COMMAND_DONE:命令執(zhí)行或失敗后執(zhí)行后續(xù)的命令,異步執(zhí)行。
本文中將程序simotion的background中執(zhí)行,因此若使用WHEN_COMMAND_DONE,有可能在該命令執(zhí)行時間過長情況下background執(zhí)行時,報錯停機。
“OUT”:函數調用返回信息,包括執(zhí)行狀態(tài)和返回的連接ID,后面的發(fā)送和接收指令均使用該ID。數據類型為結構體(StructRetTcpOpenClient),參考表3。
結構
名稱
數據類型
functionResult
狀態(tài)信息,查看
連接是否建立
DINT
connectionId
連接號
表3 TcpOpenClient返回值結
TcpSend指令用于發(fā)送數據,與S7-1200的接收指令相對應,可循環(huán)調用。
圖13 TcpSend參數設置
“ConnectionId” :使用tcpOpenClient返回的ID。
“DataLength”:發(fā)送數據的字節(jié)長度,本例為8,發(fā)送數據區(qū)的前8個字節(jié)。
“Data”:發(fā)送數據區(qū),數據類型為數組,ARRAY[0..4095] OF BYTE。
“OUT”:輸出通信狀態(tài)。
注意:SIMOTION的發(fā)送區(qū)(接收區(qū))與PLC的接收區(qū)(發(fā)送區(qū))數據長度必須一致。
TcpReceive指令用于發(fā)送數據,與S7-1200的接收指令相對應,可循環(huán)調用。
圖14 TcpReceive參數設置
“receivevarible”:接收數據區(qū),數據類型為數組,ARRAY[0..4095] OF BYTE。
“OUT”:調用函數返回信息,包括調用狀態(tài)和接收的字節(jié)數量。數據類型為結構體(StructRetTcpReceive),參考表4。
接收狀態(tài)信息
dataLength
接收字節(jié)長度
UDINT
表4 TcpReceive返回值結構
本例中使用的程序可以在“S7-1200.zip (1350 KB) ( 1350 KB )”和“D410.zip (1597 KB) ( 1597 KB ) ”這兩個壓縮包中找到。
首先在S7-1200側建立連接的指令“TCON”,等待SIMOTION側的連接請求,接著在SIMOTION側打開客戶端指令“TcpOpenClient”,發(fā)送建立連接的請求。請求后,“TcpOpenClient”的返回值結構中的functionResult會顯示“0”,同時在connec tionId中會返回ID(此ID與PLC中設置的ID未必一致)。
之后分別使能PLC側和SIMOTION側的發(fā)送接收指令,開始數據傳送。
SIMOTION側WATCH TABLE監(jiān)控結果:
圖15 SIMOTION側接收和發(fā)送的數據
PLC側監(jiān)控表的監(jiān)控結果:
圖16 PLC側接收和發(fā)送的數據
其他推薦產品
首頁| 關于我們| 聯(lián)系我們| 友情鏈接| 廣告服務| 會員服務| 付款方式| 意見反饋| 法律聲明| 服務條款
產品:siemens/西門子
產品規(guī)格:全新原裝
產品:保證
產品價格:價格優(yōu)勢
公司大量現貨?。?!
【同樣的價格、同樣的、給您不一樣的服務】
重慶暑鴻自動化設備有限公司(西門子集成商)銷售西門子S7-200/300/400/1200PLC、數控、變頻器、人機界面、屏、伺服、電機、西門子電纜等,并可提供西門子服務,歡迎來電垂詢
地址:重慶市渝北區(qū)財富大道2號12-4
概述
S7-1200 與 S7-300 之間的以太網通信比較多,可以采用ISO on TCP、TCP和 S7 的進行通信。在S7-1200 CPU 中采用ISO on TCP和TCP這兩種協(xié)議進行通信所使用的指令是相同的,都使用 T-block ( TSEND_C, TRCV_C, TCON, SCON, TSEN, TRCV ) 指令編程。S7-300 CPU一側如果使用的是CPU集成的PN接口,連接不在STEP7的NetPro中建立連接,而是使用西門子提供的OPEN IE 的來實現。
本文主要介紹了如何實現在S7-1200 和S7-300 CPU集成PN口之間的ISO on TCP通信,包括通信的基本步驟、配置及編程等內容。具體的實現有多種,比如在S7-1200中可以使用不帶連接的通信指令(TCON, SCON, TSEN, TRCV),也可以使用帶連接的通信指令(TSEND_C, TRCV_C);在S7-300中可以采用功能塊編程的來實現,也可以使用Open Communication Wizard工具(OPEN IE向導)的來建立OPEN IE的通信。
為了方便理解,本文在S7-1200中使用不帶連接的通信指令TCON, SCON, TSEN, TRCV,在S7-300側通過功能塊編程的來實現。
關于S7-1200和S7-300 OPEN IE通信的文檔可以登錄西門子自動化與驅動集團網站的下載中心,網址:http://www.ad.siemens.com.cn/download/ ,根據如表1提供的文檔編號搜索并下載相關文檔。
表1 下載中心文檔列表
2 軟硬件及所要完成的通信任務
2.1硬件設備
2.2
2.3 所要完成的通信任務
本例中所要完成的通信任務定義為:
1、 將S7-1200的發(fā)送數據塊DB3里的8個字節(jié)數據發(fā)送到S7-300的DB3中。
2、 將S7-300 DB3里接收到的8個字節(jié)數據再發(fā)送到S7-1200的接收數據塊DB4中。
3 S7-1200 CPU的組態(tài)編程
3.1創(chuàng)建新項目
圖1 添加新的PLC站
為了編程方便,我們使用 CPU 屬性中定義的時鐘位,定義如下:
在“Project tree> PLC_1 > Device configuration” 中,選中 CPU ,然后在下面的屬性窗,“Properties > System and clock memory” 下,將位定義在MB1,時鐘位定義在MB0,如圖2所示。程序中我們主要使用 M0.3,它是以2Hz 的速率在0和1之間切換的一個位,可以使用它去自動發(fā)送任務。
圖2 和時鐘存儲器
圖3為 S7-1200 CPU的PROFINET 接口分配IP地址
3.2調用并配置通信指令
圖4 調用TCON指令
圖5 “TCON” 指令的連接參數
圖6 “TCON” 的塊參數
圖7 創(chuàng)建一個發(fā)送數據塊DB3
打開創(chuàng)建的發(fā)送數據塊,在數據塊中定義發(fā)送數據區(qū)為 8個字節(jié)的數組,如圖8所示。
圖8 創(chuàng)建發(fā)送數據區(qū)
然后在OB1 中調用“TSEND”發(fā)送通信指令,并為“TSEND”**參數。使用M0.3( 2Hz 的時鐘脈沖)上升沿發(fā)送任務,**發(fā)送數據區(qū)為P# DB3.DBX0.0 BYTE 8,連接 ID = 1與連接參數里面的設置相同,發(fā)送長度LEN=8。分配好參數的“TSEND”塊如圖9所示。
圖9 調用“TSEND”發(fā)送通信塊
圖10創(chuàng)建接收數據區(qū)
圖11 調用“TRCV”接收通信塊
圖12 調用“SCON”通信塊
3.3下載程序
至此,S7-1200側的組態(tài)和編程都已經完成,可以在項目編譯無錯誤后,直接下載到S7-1200 CPU中,并啟動CPU的運行。
4 S7-300 CPU的組態(tài)編程
S7-300帶PN接口的CPU支持ISO on TCP通信功能,通過該集成以太網接口組態(tài)ISO on TCP通信時,只能使用開放式通信的功能塊,這些的功能塊可以在STEP7 “ 通訊塊”的 “庫 ”中找到,如圖13所示。
圖13 S7-300 CPU通信指令庫
要通過CPU 的 集成PN 接口實現開放的ISO on TCP通信,不能在Netpro網絡組態(tài)中直接建立連接,必須通序**每個連接的參數。用于通信的FB功能塊,請參見附件提供的例程 ”Sample_1 ( 50 KB ) ” 或參考下載中心文檔《A0284 使用西門子PLC集成的PN口實現S5 兼容通信使用入門》提供的例程。下載鏈接:80490650
4.1創(chuàng)建新項目
圖14為PN接口分配IP地址
圖15設置時鐘存儲器字節(jié)
4.2編寫通信程序
圖 16
圖17
圖18
然后在生成的FB400中調用FB420,如圖19所示。
圖19
圖20
然后再在OB1中依次調用通信功能塊FB65、FB64、FB63、FB66。其中發(fā)送和接收功能塊FB64、FB63的數據區(qū)都為DB3,建立DB3如圖21所示。關于塊的使用請參考STEP7的在線幫助或相關文檔說明。
圖21
FB65 “TCON”,建立連接功能塊,如圖22所示。通過輸入參數 "REQ"一個上升沿來建立連接。 “ID” 為連接ID,“CONNECT” 參數填寫用 UDT65 生成的變量, 連接建立后會一直保持,直到調用FB66 "SCON" 斷開連接、CPU停止或者斷電。其中CONNECT**為通過UDT65生成的DB塊,即DB101, ID = 1。通過M8.0啟業(yè),執(zhí)行連接的建立。
圖22
FB64 “TRCV”,接收功能塊,如圖23所示。"TRECV" EN_R始終為TRUE, ID 填寫連接ID,”DATA” 填寫接收數據區(qū),輸出參數 "NDR" 用于表示新的數據已經收到,輸出參數 "LEN" 表示接收的數據長度。本例中連接ID = 1。**DB3作為接收數據塊,接收數據的字節(jié)長度為8,接收作業(yè)通過M8.1使能。
圖23
FB63 “TSEND”,發(fā)送功能塊,如圖24所示。連接ID = 1。**DB3為發(fā)送數據塊,發(fā)送字節(jié)長度為8,發(fā)送作業(yè)通過M0.3觸發(fā)。"TSEND" 發(fā)送請求依靠輸入參數"REQ"的上升沿來實現,如果“BUSY”位為true時不要觸發(fā)"REQ"。輸出參數 "DONE", "ERROR" 和 "STATUS" 用于評估工作的情況。
圖24
FB66 “SCON”,取消連接功能塊,如圖25所示??梢愿鶕枰∠鸌D=W#16#1的連接,作業(yè)通過M8.2使能。
圖25
4.3下載程序
S7-300側的組態(tài)和編程都完成后,直接下載到S7-300 CPU中,并啟動CPU的運行。
5 監(jiān)控通信結果
對S7-1200和S7-300都組態(tài)和編程后,下載所有組態(tài)及程序并搭建好網絡后,首先在在S7-1200中將M8.0置位為1,然后再在S7-300中將M8.0置位為1,兩個站的“TCON” 被,建立兩個站之間的ISO on TCP連接。
連接正常建立后,即可以進行數據的交換。在S7-1200和S7-300站中將 ”TRCV” 功能塊的EN_R置位為1,使能接收,監(jiān)控通信結果如圖26所示。
通過監(jiān)控結果可以看到,S7-1200中發(fā)送數據塊DB3的8個字節(jié)數據被發(fā)送到S7-300站的DB3中,同時,S7-300的DB3中接收到的數據又被發(fā)送到S7-1200的接收數據塊DB4中。
圖26 在線監(jiān)控通信結果
描述
對于 SIMATIC S7-1200,從 CPU V2.0固件開始,STEP 7 (TIA-Portal) 提供 T_CONFIG 指令可以通過編程控制 CPU 集成 PROFINET 接口的配置。
圖. 01
可以設置如下接口配置:
配置數據存儲在 "Conf_Data" 結構體數據類型中。
圖. 02
以PLC數據類型創(chuàng)建 "Conf_Data" 結構體數據類型。
它包含**的數據類型:
說明
正確使用 T_CONFIG 指令需要注意以下幾點:
下列設置可以被改變:
必須選擇"... using a different method".
圖. 03
取決于是否只修改接口地址還是也要修改PROFINET 設備名,必須設置 header 數據類型 IF_CONF_Header 中的 "SubfieldCount" 參數值為 "1" 或 "2" (= 結構體中的所有子域) (見圖. 02).
圖. 04
要遵從PROFINET名字的命名規(guī)則(如, 多240個小寫字符、數字、連字號、句號).
PROFINET 名可以短于 240 字節(jié)但必須大于 2 字節(jié)。
必須根據 "PROFINET 名字長度 + 6"來修改 "Length" 變量。
圖. 05
表 01
提示
*告
本條目描述的功能和解決方案主要限于實現自動化任務。此外,如果該與工廠其它部分或整個互聯(lián)網有連接,請注意必須采取適當的 措施以遵循相應的工業(yè)。更多信息參見條目ID: 50203404.
下載
學 T_CONFIG 指令,可以參考下面的例子項目。
它包含通過操作面板 KTP 600 Basic PN 修改 PROFINET 接口的配置。
當T_CONFIG 指令使用時,HMI 通過 "Change connection" 事件與新配置了PROFINET接口的控制器同步建立通訊。
由于 KTP 600 Basic PN 不支持無類別域間路由(CIDR),后的8位組IP地址只能在C類網絡中修改。
KTP 600 Basic PN 也可以在沒有硬件時由 STEP 7 V11 模擬。
項目中的 IP 地址如下:
圖. 06
KTP 600 Basic PN 用戶接口包含下列元素:
要進行確認,在 STEP 7 V11 中,可以通過刷新可訪問節(jié)點來檢查 IP 分配,通過"Online & Diagnostics" 下的"Assign name"功能來檢查PROFINET設備名。
S7-1200存儲卡的基本介紹
S7-1200CPU使用的存儲卡為SD卡,存儲卡中可以存儲用戶項目文件,有如下三種功能:
1. 作為CPU的裝載存儲區(qū),用戶項目文件可以僅存儲在卡中,CPU中沒有項目文件,離開存儲卡無法運行。
2. 在有編程器的情況下,作為向多個S7-1200PLC傳送項目文件的介質。
3. 忘記時,**CPU內部的項目文件和。
4. 24M卡可以用于更新S7-1200CPU的固件版本
圖1: S7-1200存儲卡
如何存儲卡:
將CPU上擋板向下,可以看到右上角有一MC卡槽,將存儲卡缺口向上,如下圖所示:
圖2:存儲卡
注意:
? 對于S7-1200CPU,存儲卡不是必需的。
? 將存儲卡插到一個處于運行狀態(tài)的CPU上,會造成CPU停機。
? S7-1200 CPU 僅支持由西門子制造商預先格式化過的存儲卡,即下列訂貨號產品:
訂貨號
容量
6ES7 954-8LF01-0AA0
24MB
6ES7954-8LC01-0AA0
4MB
6ES7 954-8LB01-0AA0
2MB
表1:存儲卡信息
? 如果使用 WINOOWs 格式化程序對SIMATIC 存儲卡重新進行格式化,CPU將無法使用該重新格式化的存儲卡。
? 目前S7-1200還無法配合存儲卡實現配方和數據歸檔之類的**功能。
2 存儲卡的工作
存儲卡有兩種工作:
? 程序卡:存儲卡作為S7-1200 CPU 的裝載存儲區(qū),所有程序和數據存儲在卡中,CPU 內部集成的存儲區(qū)中沒有項目文件,設備運行中存儲卡不能被。
? 傳輸卡:用于從存儲卡向CPU傳送項目,傳送完成后必須將存儲卡。CPU可以離開存儲卡運行。
修改存儲卡的工作:
在STEP 7 Basic的項目視圖下,左側”Project View“--->"SIMATIC Card Reader" --->您的讀卡器型號,如下圖所示:
圖3:Project View
右擊存儲卡的盤符(這里是F:),選擇“屬性”,打開下面窗口:
圖4:MC屬性
用戶在“Card type”選擇需要的工作,“OK”完成設定。
3 使用程序卡的不同
優(yōu)點:更換CPU時不需要重新下載項目文件。
3.1 裝載用戶項目文件到存儲卡:
? **步:按照上面將存儲卡設定到“編程”。建議客戶做此操作之前**存儲卡中的所有文件。
? **步:設置CPU的啟動狀態(tài):在"Project tree"中右擊CPU選擇“屬性”,在“屬性”窗“Startup”,此處我們必須選擇“Warm restart-RUN”
圖5: Startup
? 第三步:將CPU斷電。
? 第四步:將存儲卡插到CPU卡槽內
? 第五步:將CPU上電
? 第六步:在STEP 7 Basic中下載,將項目文件全部下載到存儲卡中。此時下載是將項目文件(包括用戶程序、硬件組態(tài)和強制值)下載到存儲卡中,而不是CPU內部集成的存儲區(qū)中。
完成上述步驟后,CPU可以帶卡正常運行。此時如果將存儲卡,CPU會報錯,"ERROR"紅燈閃爍。
3.2 常見問題:
常見問題1:
為什么插上存儲卡后CPU的“MAINT”燈閃爍,使用STEP 7 Basic下載是提示報錯“The download of the hardware configuration failed (0050 -133 2 2458)”?
回答:
請**存儲卡中的所有文件,重新使用STEP7 Basic將存儲卡設置到“編程”,然后再重復上述步驟。請您也檢查存儲的撥碼開關,檢查存儲卡是否處于寫保護。
常見問題2:
為什么CPU斷電上電后停止狀態(tài),而不運行狀態(tài)?
回答:
原因是CPU的啟動不是“Warm restart-RUN”,詳細請參考上面“**步”。
4 使用傳輸卡
優(yōu)點:在沒有編程器的情況下,方便快捷地向多個S7-1200PLC拷貝項目文件。
4.1 向處于傳輸的存儲卡中裝載項目
? **步:按照上面將存儲卡設定到“編程”。建議客戶做此操作之前**存儲卡中的所有文件。
? **步:設置CPU的啟動狀態(tài):在"Project tree"中右擊CPU選擇“屬性”,在“屬性”窗“Startup”,此處我們必須選擇“Warm restart-RUN”
? 第三步:直接拖拽PLC設備到存儲卡盤符
圖6:拖拽
用戶也可以直接將一張已經做好的“程序卡”更改為“傳輸卡”。
4.2 從存儲卡項目到S7-1200PLC
? **步:將CPU斷電
? **步:插卡到CPU卡槽
? 第三步:將CPU上電,用戶會看到CPU的"MAINT"黃燈閃爍
? 第四步:將CPU斷電,將存儲卡
? 第五步:將CPU上電
常見問題:
為什么CPU斷電上電后停止狀態(tài),而不運行狀態(tài)?
回答:
1. CPU的啟動不是“Warm restart-RUN”,詳細請參考上面“**步”。
2. 檢查第三步,必須拖拽PLC項目到存儲卡盤符,而不是程序塊等其他項目內容。下載到存儲卡中的項目文件有可能不完整,例如確實硬件組態(tài)等。
5 使用存儲卡**
如果客戶忘記了之前設定到S7-1200的,通過”恢復出廠設置“無法**S7-1200內部的程序和,因此**的**是使用存儲卡。詳細步驟如下:
1. 將S7-1200設備斷電
2. 一張存儲卡到S7-1200CPU上,存儲卡中的程序不能有保護
3. 將S7-1200設備上電
S7-1200CPU上電后,會將存儲卡中的程序到內部的FLASH寄存器中,即執(zhí)行**操作。
客戶也可以用相同的一張全新的或者空白的存儲卡到S7-1200CPU,設備上電后,S7-1200CPU會將內部存儲區(qū)的程序轉移到存儲卡中,拔下存儲卡后,S7-1200CPU內部將不在有用戶程序,即實現了**。存儲卡中的內容可以使用讀卡器**。
注意:不要格式化存儲卡
6 使用24M存儲卡更新S7-1200CPU的固件版本
S7-1200的固件版本可以從西門子官*網站下載:http://support.automation.siemens.com/WW/view/cn 。用戶可以使用西門子網站右上方的搜索引擎在“Download”分類中搜索“S7-1200 firmware”。
注意:
1. 不同訂貨號的S7-1200CPU的固件文件不相同,下載地址也不相同。用戶在下載和更新固件之前請核對產品訂貨號。
2. 2M存儲卡不能用于CPU固件升級。
3. 固件升級前CPU內部存儲的項目文件(程序塊、硬件組態(tài)等)不受影響,不會被**。
4. 如果存儲卡中的固件文件訂貨號與實際CPU的訂貨號不一致,即使執(zhí)行了下列步驟,CPU的原固件版本也不會改變。
更新CPU的固件具體步驟如下:
? **步:使用電腦通過讀卡器**存儲卡中內容。注意:不要格式化存儲卡!
? **步:從西門子官*網站下載版本的固件文件。下載并解壓縮,用戶可以一個“S7_JOB.SYS”文件和“FWUOPDATE.S7S”文件夾。
? 第三步:將“S7_JOB.SYS”文件和“FWUOPDATE.S7S”文件夾拷貝到存儲卡中。
? 第四步:將存儲卡插到CPU1200卡槽中。此時CPU會停止,“MAINT”指示燈閃爍。
? 第五步:將CPU斷電上電。CPU的“RUN/STOP”指示燈紅綠交替閃爍說明固件正在被更新中。“RUN/STOP”指示燈亮,“MAINT”指示燈閃爍說明固件更新已經結束。
? 第六步:存儲卡
? 第七步:再次將CPU斷電上電
概述
本文介紹了通過OPEN IE的實現S7-1200與SIMOTION D410PN之間的TCP通信的,包括通信的基本配置、組態(tài)和編程等內容。S7-1200實現TCP通訊的指令有兩種,一是不帶連接的指令(TCON,SCON,TSEND,TRCV),另一種是帶連接的指令(T RCV_C,TSEND_C);SIMOTON包含的通信指令包括tcpOpenClient,tcpOpenServe r,tcpSend,tcpReceive,tcpCloseSever,tcpCloseConnection。
本文選用S7-1200不帶連接的指令TCON,SCON,TSEND,TRCV,實現與D410 PN的通訊。
2 S7-1200與D410PN裝置的連接
2.1 硬件配置列表
設備
訂貨號
版本
CPU 1214C DC/DC/DC
6ES7214-1AE30-0XB0
V2.2
D410PN
6AU1410-0AB00-0AA0
Version B, FW V4.2
SCANLANCE X208
6GK5208-0BA10-2AA3
V3.1
表1 所采用的硬件列表
2.2 所使用的
§ TIA Portal V11 SP2
§ SCOUT V4.2.1
2.3 通訊參數設置
硬件連接配置
圖1 硬件連接示意圖
CPU 1214C和D410PN本身都帶有集成PN口,可以直接使用。
IP 地址設置(子網掩碼均為255.255.255.0):
DEVICE
IP Address
CPU 1214C
192.168.0.4
D410DP
192.168.0.2
PC
192.168.0.10
表2 IP地址設置
3 項目配置
3.1 S7-1200的配置
打開TIA Portal,新建一個項目,在“添加新設備”中選擇所需的硬件及版本,如圖2所示。
圖2 選擇設備和版本
打開設備視圖,設置設備“屬性”下的以太網地址為192.168.0.4,子網掩碼為255. 255.255.0。見圖3。
圖3 設置以太網地址
在設備視圖的屬性窗設置時鐘存儲器,將時鐘存儲器的地址設置為MB20,并使用其中的M20.5位,0和1以1Hz切換,用來循環(huán)發(fā)送任務,見圖4。
圖4 時鐘存儲器設置
3.2 D410PN的配置
打開SCOUT,新建一個項目,設置PG/PC接口為電腦的以太網卡,雙擊“INSERT SIMOTION DEVICE”后,選擇相應版本的D410PN,并打開硬件組態(tài)畫面,在其中設置PN口的以太網地址和子網掩碼,見圖5。
圖5 組態(tài)D410PN地址
4 通信指令
4.1 S7-1200側的指令調用
TCON,SCON,TSEND,TRCV等指令均可以在右側指令中的“通信—〉開放式用戶通信”找到。本文中所有通訊指令均在background 中執(zhí)行。
S7-1200在本文中作為Server,通訊開始前先TCON指令來建立端口,并等待Client的建立連接請求,一旦通信連接建立,此時“REQ”就不再起作用,若想重新建立連接需先調用“SCON”斷開連接,再從新“TCON”重新建立連接。
圖6 調用TCON
“REQ”:TCON功能。
“ID”:設置所建立連接的ID,以后的TSEND、TRCV、SCON均使用此ID。
“CONNECT”:連接配置DB,在配置完TCON參數后自動生成。
“Done”:建立連接任務完成后置1。
“BUSY”:建立連接任務執(zhí)行中置1。
“ERROR”為1時,在STATUS中顯示錯誤代碼,“ERROR”為0時,在STATUS中顯示指令執(zhí)行狀態(tài)代碼。
當連接建立后,通序段2可以將“opensever”置0。
在調用TCON指令時會要求設置連接參數,見圖7。
圖7 TCON連接參數設置
“伙伴”:選擇未**。
“地址”:設置與S7-1200通訊的SIMOTION的地址。
“連接類型”:選擇TCP。
“連接ID”: 發(fā)送、接收和連接斷開所使用的ID。
“連接數據”:設置新建或使用已有的連接DB。
“建立連接”:選擇建立連接的一方為客戶端,另一方為。
“端口”:設置本地和伙伴的端口號,在SIMOTION的指令中會用到這里。
設置TCON參數時要先選擇“連接數據”中的“新建”,建立一個新的Connection DB,然后再填寫各個參數。
在通訊建立后,TSEND,TRCV指令(將發(fā)送指令的“REQ”端置1,將接收指令的“EN_R”置1),用來發(fā)送和接受數據。
圖8 TSEND連接參數設置
圖9 TRCV連接參數設置
注意:
(1) 在建立“DATA”中要的發(fā)送數據和接受數據DB時,其塊訪問的必須是“-與S7-300/400兼容”,否則在該指令時會報錯,見圖10。
(2) TSEND與TRCV的“ID”必須與TCON中設置的相同,而此“ID”與SIMOTION中的“ID”未必相同。
(3) TRCV在接收數據后,“NDR”會自動置1,且“RCVD_LEN”會顯示接收到的數據長度。
圖10 數據 DB建立
若要斷開當前連接,則調用SCON。斷開連接后,根據程序段6,“dis con”位會被重新置0。
圖11 SCON連接參數設置
4.2 SIMOTION側的指令調用
SIMOTION的通信指令可以在Command library中的“Communication->Data transfer”目錄下找到。通信程序塊“TCP”background中運行。
tcpOpenClient指令,該指令用來在simotion 側客戶端端口,并向發(fā)送連接請求,若請求,則建立連接,并返回連接ID。該指令需使用上跳沿單次觸發(fā),此函數只調用一次,連接ID后應停止調用。
圖12 tcpOpenClient指令參數設置
“port”:設置simotion本地端口號。
“severAddress”:設置通訊(S7-1200)地址(192.168.0.4)。
“serverport”:設置(S7-1200)端口號,必須與S7-1200組態(tài)中設置的相同。
“nextCommand”:
IMMEDIATELY:命令與后續(xù)所要執(zhí)行的命令同步執(zhí)行。
WHEN_COMMAND_DONE:命令執(zhí)行或失敗后執(zhí)行后續(xù)的命令,異步執(zhí)行。
本文中將程序simotion的background中執(zhí)行,因此若使用WHEN_COMMAND_DONE,有可能在該命令執(zhí)行時間過長情況下background執(zhí)行時,報錯停機。
“OUT”:函數調用返回信息,包括執(zhí)行狀態(tài)和返回的連接ID,后面的發(fā)送和接收指令均使用該ID。數據類型為結構體(StructRetTcpOpenClient),參考表3。
結構
名稱
數據類型
functionResult
狀態(tài)信息,查看
連接是否建立
DINT
connectionId
連接號
DINT
表3 TcpOpenClient返回值結
TcpSend指令用于發(fā)送數據,與S7-1200的接收指令相對應,可循環(huán)調用。
圖13 TcpSend參數設置
“ConnectionId” :使用tcpOpenClient返回的ID。
“nextCommand”:
IMMEDIATELY:命令與后續(xù)所要執(zhí)行的命令同步執(zhí)行。
WHEN_COMMAND_DONE:命令執(zhí)行或失敗后執(zhí)行后續(xù)的命令,異步執(zhí)行。
本文中將程序simotion的background中執(zhí)行,因此若使用WHEN_COMMAND_DONE,有可能在該命令執(zhí)行時間過長情況下background執(zhí)行時,報錯停機。
“DataLength”:發(fā)送數據的字節(jié)長度,本例為8,發(fā)送數據區(qū)的前8個字節(jié)。
“Data”:發(fā)送數據區(qū),數據類型為數組,ARRAY[0..4095] OF BYTE。
“OUT”:輸出通信狀態(tài)。
注意:SIMOTION的發(fā)送區(qū)(接收區(qū))與PLC的接收區(qū)(發(fā)送區(qū))數據長度必須一致。
TcpReceive指令用于發(fā)送數據,與S7-1200的接收指令相對應,可循環(huán)調用。
圖14 TcpReceive參數設置
“ConnectionId” :使用tcpOpenClient返回的ID。
“nextCommand”:
IMMEDIATELY:命令與后續(xù)所要執(zhí)行的命令同步執(zhí)行。
WHEN_COMMAND_DONE:命令執(zhí)行或失敗后執(zhí)行后續(xù)的命令,異步執(zhí)行。
本文中將程序simotion的background中執(zhí)行,因此若使用WHEN_COMMAND_DONE,有可能在該命令執(zhí)行時間過長情況下background執(zhí)行時,報錯停機。
“receivevarible”:接收數據區(qū),數據類型為數組,ARRAY[0..4095] OF BYTE。
“OUT”:調用函數返回信息,包括調用狀態(tài)和接收的字節(jié)數量。數據類型為結構體(StructRetTcpReceive),參考表4。
結構
名稱
數據類型
functionResult
接收狀態(tài)信息
DINT
dataLength
接收字節(jié)長度
UDINT
表4 TcpReceive返回值結構
5 實驗
本例中使用的程序可以在“S7-1200.zip (1350 KB) ( 1350 KB )”和“D410.zip (1597 KB) ( 1597 KB ) ”這兩個壓縮包中找到。
首先在S7-1200側建立連接的指令“TCON”,等待SIMOTION側的連接請求,接著在SIMOTION側打開客戶端指令“TcpOpenClient”,發(fā)送建立連接的請求。請求后,“TcpOpenClient”的返回值結構中的functionResult會顯示“0”,同時在connec tionId中會返回ID(此ID與PLC中設置的ID未必一致)。
之后分別使能PLC側和SIMOTION側的發(fā)送接收指令,開始數據傳送。
SIMOTION側WATCH TABLE監(jiān)控結果:
圖15 SIMOTION側接收和發(fā)送的數據
PLC側監(jiān)控表的監(jiān)控結果:
圖16 PLC側接收和發(fā)送的數據