應用領域 | 環(huán)保,化工,電子,電氣,綜合 |
---|
產(chǎn)品簡介
詳細介紹
高級業(yè)務顧問;竭誠為你服務.
本公司主營西門子數(shù)控伺服S7-200.S7-300,S7-400系列PLC,伺服電機,ET200系列產(chǎn)品 變頻器 西門子人機界面,觸摸屏,操作屏,西門子電線電纜,西門子網(wǎng)卡,西門子接頭,西門子維修等
如何基于工業(yè)庫在PCS 7中集成S7-300 CPU
1、工業(yè)庫簡介
SIMATIC PCS 7工業(yè)庫(SIMATIC PCS 7 Industry Library,以下簡稱IL)為PCS 7 V8.0以上版本提供了全新的控制功能庫,是對PCS 7高級過程庫(APL)的擴展,集成了非標準PCS 7 系統(tǒng)的工廠組件,包括S7-300控制器或者WinCC Flexible操作員面板。此外,IL中還集成了多個行業(yè)庫,例如,水、廢水處理行業(yè)庫和樓宇自動化行業(yè)庫。PCS 7 IL與PCS 7 APL一起使用,可對不同領域內(nèi)的控制任務實現(xiàn)協(xié)調(diào)*的總體解決方案。
圖1-1 PCS 7工業(yè)庫
在多數(shù)PCS 7應用場合中,除了和過程控制直接相關的核心組件之外,工廠中還廣泛存在需要獨立控制的機器和設備,這些所謂的“成套設備"都是可以實現(xiàn)特定生產(chǎn)任務的控制子單元。由于點數(shù)規(guī)模較小、控制任務相對單一、邏輯運算為主等特點,所以,部分“成套設備"的控制都采用S7-300配合操作員面板使用。關于如何基于工業(yè)庫在PCS 7中集成操作員面板請參考如下應用文檔:
《如何基于工業(yè)庫在PCS 7中集成Panel》 下載中心文檔編號: 更多關于工業(yè)庫安裝前提條件、支持的S7-300版本、安裝過程以及功能特性,可以參考如下文檔: 《PCS 7工業(yè)庫安裝指南》 |
為了實現(xiàn)在PCS 7中集成S7-300 CPU,在PCS 7 V8.0中工業(yè)庫提供了兩個子庫:IL for PCS 7和IL for S7,其中的“IL for S7"主要就是面向S7-300 CPU環(huán)境下的應用需求。而在PCS 7中集成S7-300 CPU主要有兩個方式,一個是以S7-400 CPU為主,S7-300 CPU作為類似RTU的角色與S7-400 CPU通訊,提供相應的數(shù)據(jù);另一個方式則是S7-300 CPU獨立組態(tài),包含OS或操作員面板等,無須額外的作為主控的S7-400 CPU站。
本文分別按照兩個不同方式介紹具體的實現(xiàn)步驟,并在此過程中重點介紹“IL for S7"中功能塊調(diào)用、與S7-400 CPU的通訊以及分層操作等三個方面。
2、S7-300 CPU組態(tài)工業(yè)庫
在集成S7-300 CPU的PCS 7系統(tǒng)項目中,S7-300 CPU及其對應的操作員面板是一相對獨立的單項目,該項目可以在PCS 7項目中創(chuàng)建生成,也可以來自成套設備提供商。同時,相關的功能塊還需要在OS上產(chǎn)生圖標和操作面板,實現(xiàn)類似于APL功能塊一樣的操作。為此,集成的S7-300 CPU的程序需要基于IL S7庫來組態(tài)。具體組態(tài)過程如下:
2.1 創(chuàng)建多項目框架
由于PCS 7的創(chuàng)建項目向導中沒有集成S7-300 CPU的選項,所以需要按照手動的方式床架如下圖所示框架的多項目。其中的“300_IL_St"單項目就是包含了S7-300 CPU站和操作員面板組態(tài)項目。
示例項目采用CPU 317-2DP和MP370,只見通過IE完成通訊連接。具體S7-300 CPU站點的組態(tài)與常規(guī)項目組態(tài)*。
圖2-1 基本項目框架
在PCS 7軟件環(huán)境中組態(tài)S7-300 CPU,還需要為其創(chuàng)建工廠層級,一方面可以和多項目中的其他項目結構保持*,另一方面也可以實現(xiàn)跨單項目的OS分配等功能。更多關于多項目的功能使用可以參考:
2.2 用戶程序組態(tài)
針對S7-300 CPU進行編程,所使用的功能塊必須要從“Industry Lib S7 V80"庫中拖拽。在庫中提供了通訊、控制、監(jiān)控等常用功能,還包含了與操作員面板的接口功能塊(“PANEL")。
需要注意的是,由于PCS 7軟件中不能提供基于S7-300 CPU的模塊驅動,所以該庫中無APL庫類似的“Channel"功能塊。
圖2-2 Industry Lib PCS 7 V80
2.2.1 電機控制
在層級文件夾下創(chuàng)建CFC,雙擊打開,從“Industry Lib S7 V80"庫中分別拖拽“S7Mot"(來自DRIVES)和“S7PMot"(來自PANEL),并按照如下圖所示連接:
圖2-3 S7PMot與S7Mot連接
CFC中功能塊之間的連線過程較為簡單,只需要將S7PMot的輸出管腳“QOP_ACTIVE"、“QOP_RESET"“QOP_AUT_ON"、“QOP_MAN_ON"和“MSG_FILTER"分別連接到S7Mot塊的同名輸入管腳即可。
需要注意的是,為了實現(xiàn)在操作員面板上的指針連接,在S7程序Blocks文件夾中要新建一個自定義共享DB塊,其中創(chuàng)建數(shù)據(jù)類型為INT的參數(shù)“Motor",用于連接S7PMot接口功能塊。對于需要操作員面板上顯示的對象,據(jù)需要在該共享DB塊中定義一個INT類型的變量。將“S7PMot"功能塊的輸出“IDBNR"連接到共享DB的“Motor"即可。
圖2-4 創(chuàng)建共享DB
2.2.2 閥門控制
與電機控制一樣,分別從庫中拖放“S7Vlv"和“S7PVlv"兩個功能塊到CFC中,完成連線即可:
圖2-5 S7Vlv和S7PVlv之間的連接
閥門的其他過程輸入輸出與常規(guī)編程*,只是不再使用驅動功能塊而已。
2.2.2 PID控制
“IL for S7"庫中還提供了PID控制功能塊“S7PIDCon",同時也提供了在操作員面板上使用的“S7PPID"接口功能塊。具體連接更為簡單:
圖2-6 S7PIDCon和S7PPID之間的連接
“S7PPID"功能塊要獲取PID功能塊的狀態(tài),只需要將“BlockCon"管腳與PID的任何一輸出相連接即可,這一點與其他類型的功能塊連接略有不同。
2.3 操作員面板組態(tài)
“IL for S7"成功安裝完成之后,會在WinCCFlexible中集成一個“IL_S7_Flex_80"庫文件(Program files SIEMENSSTEP7S7LIBS),其中包含了針對各類對象的塊圖標和面板,當在畫面中添加面板和塊圖標時會自動創(chuàng)建變量、連接、文本列表等,用戶只需要根據(jù)項目情況做適當調(diào)整即可。
圖2-7 S7PIDCon和S7PPID之間的連接
在WinCCFlexible中的具體組態(tài)過程可以參考《如何基于工業(yè)庫在PCS 7中集成Panel》應用文檔。
3、S7-300 CPU作為RTU組態(tài)
在多數(shù)情況下,S7-300 CPU控制的設備需要集成到現(xiàn)有的PCS 7整體體系中。而對于一個典型的PCS 7系統(tǒng)而言,OS服務器/單站都是和S7-400 CPU的AS站通訊獲取數(shù)據(jù),不會直接和S7-300 CPU這樣的RTU通訊。為此,S7-300 CPU站點作為RTU角色,除了基本控制程序組態(tài)之外,還需要考慮和S7-400 CPU的AS站點的通問題。
在S7-400 CPU配合S7-300 CPU完成控制的架構中,需要對S7-400 CPU和S7-300 CPU的角色和功能有明確的定義。一般而言,S7-300 CPU控制器負責具體控制實現(xiàn),而S7-400 CPU作為OS獲取S7-300數(shù)據(jù)的渠道——當然,如果有需要,也可以在S7-400中完成一些在設備控制之上的連鎖、復雜算法等等。
更具體實現(xiàn)過程而言,S7-300 CPU中的編程方式與上一章節(jié)的描述無異,但在S7-400 CPU中,如何利用S7-300 CPU通訊傳輸過來的數(shù)據(jù),并采用和其他功能塊類似的ICON/操作面板風格在OS上體現(xiàn),則是需要重點考慮的。針對這個需求通常有兩個方案:
- 自定義功能塊/ICON/操作面板
創(chuàng)建一個新的功能塊,定義相應的管腳連接通訊過來的數(shù)據(jù)。同時定義功能塊及相關管腳的屬性,同時在其中可以調(diào)用SFB35(“Alarm_8P")產(chǎn)生相應的消息。在OS上,可以參照系統(tǒng)集成的ICON和面板來制作針對新功能塊的圖標和操作面板。
更多關于自定義功能塊/圖標/面板的信息可以參考:
《PCS 7 - Programming Instructions for Blocks》
PCS 7安裝目錄STEP7S7MANUALpcs7librarys7jpa70b.pdf - 利用現(xiàn)有的控制功能塊
在S7-400 CPU的編程中,可以利用PCS 7中現(xiàn)有的功能塊,例如標準庫下的Motor/Valve等。將S7-300 CPU中的相關數(shù)據(jù)與功能塊連接即可。
這種方案無需人為定義程序、面板等,而且由于可以采用和其他程序一樣的功能塊,所以編程、OS操作方式等都較為方便。但是,利用這種方法需要注意上下兩層控制的協(xié)調(diào)問題,典型情形就是OS和S7-300 CPU站本身的操作員面板之間的協(xié)調(diào)問題,為此,IL中還提供了相應的功能塊來解決分層操作的問題。
另外,由于S7-300 CPU和S7-400 CPU中的功能塊不同,可能存在數(shù)據(jù)無法*對應的問題。更為重要的是,OS上的信息并不能全部通過輸出管腳傳送到S7-300 CPU中。例如S7-400 CPU中采用標準塊Motor,而S7-300 CPU站點中采用S7Mot,而Motor塊操作面板上的“Reset"就無法通過輸出管腳下達到S7Mot中。
這兩個方案可以根據(jù)實際情況選擇使用,在此就不贅述。以下就重點介紹如何實現(xiàn)S7-300 CPU和S7-400 CPU站點的通訊。
3.1 與單S7-400 CPU通訊
3.1.1 組態(tài)S7連接
在S7-400 CPU的AS所在的單項目中點擊工具欄上的按鈕 ,打開網(wǎng)絡組態(tài)NetPro。在CPU上右鍵菜單中選擇“Insert New Connection"創(chuàng)建新的連接:
圖3-1 打開NetPro
在彈出的新窗口中選擇連接伙伴方。如果S7-300 CPU和S7-400 CPU處在同一個項目中,則可以直接選擇;如果處在不同的項目中,則需要選擇一個“Unspecified"(未),點擊“Apply"應用即可。
圖3-2 選擇通訊伙伴方
在如下所示的S7連接屬性設置窗口中填寫通訊伙伴方的IP地址,然后點擊“Address Details…"按鈕:
圖3-3 配置連接參數(shù)一
在詳細信息中修改伙伴方的槽位為2,點擊OK確認。
圖3-4 配置連接參數(shù)二
將建立好的連接下載到S7-400站即可。
3.1.2 通訊程序調(diào)用
在通訊功能塊調(diào)用之前,需要在S7-300 CPU中準備和S7-400 CPU通訊用的共享DB塊。示例中創(chuàng)建DB50和DB51,分別對應“輸出"和“輸入"數(shù)據(jù)。
在S7-400 CPU側調(diào)用“S7Put"完成向S7-300 CPU寫入數(shù)據(jù),調(diào)用“S7Get"從S7-300 CPU側讀出數(shù)據(jù):
圖3-5 功能塊調(diào)用
在上圖左側“S7Get"的功能塊中,S7-300 CPU站側的DB50里從DBB0開始的10個字節(jié)會被讀取到S7-400 CPU側的DB10里DBB18開始的10個字節(jié)區(qū)域中;
在上圖右側“S7Put"的功能塊中,S7-400 CPU站側的DB11里從DBB52開始的10個字節(jié)會寫入到S7-300 CPU側的DB51里從DBB0開始的10個字節(jié)區(qū)域中。
3.2 與S7-400 HCPU通訊
3.1.1 組態(tài)S7連接
由于S7-300 CPU和S7-400H CPU之間無法建立S7容錯連接,所以在連接創(chuàng)建的時候,需要分別從S7-400H CPU的兩個CPU分別建立到S7-300 CPU(或者Unspecified)的連接:
圖3-6 HCPU中0機架上的連接
圖3-7 HCPU中1機架上的連接
從S7-400H CPU的兩個CPU分別創(chuàng)建一個到“Unspecified"的S7連接,可以看到,這兩個連接的ID號是不同的。參照前文所述修改連接參數(shù)之后將連接下載到S7-400 CPU中。
HCPU到S7-300 CPU站點的通訊鏈路由兩個S7連接實現(xiàn),如何基于這兩個連接可靠地完成數(shù)據(jù)交換則是需要考慮的重點。具體的方案較多,可以采用兩個連接同時工作,接受方通過判斷連接狀態(tài)來選擇數(shù)據(jù)的方式,也可以采用“心跳信號"的方式判斷出可用的連接之后再完成傳輸?shù)取?br/>在下載中心網(wǎng)頁上提供了一個“H_Status"的功能塊(下載地址:,可以方便地顯示HCPU的冗余狀態(tài)?;凇癏_Status"提供的冗余狀態(tài)來選擇具體的通訊連接,具體編程如下:
圖3-8 HCPU下的通訊程序組態(tài)
上圖中,“H_Status"功能塊讀取0機架和1機架上CPU的主備狀態(tài),通過管腳“R0_MSTR"/“R1_MSTR"輸出。這兩個輸出連接到負責通訊讀寫的“S7Put"和“S7Get"功能塊的使能管腳,這樣,當機架0為主CPU時,“R0_MSTR"為1,其所連接的通訊功能塊被使能,通訊從S7連接1中進行,反之亦然。
4、分層操作
PCS 7系統(tǒng)一般可以劃分多個操作層級,如中央控制室、區(qū)域控制室、就地控制室、就地操作等等,每個層級都可以對同一現(xiàn)場設備進行操作。例如,現(xiàn)場控制站S7-300 CPU會配合一個操作員面板實現(xiàn)設備的就地監(jiān)控,而控制室的PCS 7 OS負責整體的監(jiān)控。有些情況,用戶希望只是位于就地的操作員面板可以操作設備,而位于中控室的計算機禁止操作,或者要求不能同時操作設備,防止多點操作造成設備的誤動作,保證人身安全、設備可靠穩(wěn)定運行,因此分層操作控制是不可少的。分層操作可以在工廠范圍內(nèi)協(xié)調(diào)各個層級的操作,提高工作效率、優(yōu)化人員調(diào)配。
PCS 7 APL功能庫OpStations可以實現(xiàn)基于操作站的分層控制,而操作員面板與操作站OS之間權限控制的功能,可以通過PCS 7工業(yè)庫的S7UsrM功能塊來實現(xiàn)。組態(tài)步驟如下:
關于APL庫“OpStations"功能塊的使用請參考下面文檔:
《PCS 7 V7.1 SP2中OpStations功能塊的應用》 下載中心文檔編號: A0532 |
4.1 建立枚舉變量
為了能夠在程序塊圖標上顯示現(xiàn)場設備所屬的操作層級,需要創(chuàng)建枚舉變量“OP_Conf1"。如下圖所示,新建“Shared Declarations",在“Shared Declarations"—“Enumerations"中新建枚舉變量,命名為“OP_Conf1"。
在其中創(chuàng)建需要的操作層級,對應的值依次從1到8,例如本地OS為1,控制室為2,*塊操作員界面為3等等。同時還定義數(shù)值0為“NoOperation",以表示當前操作層級。
圖4-1 創(chuàng)建“OP_Conf1"
4.2 組態(tài)S7UsrM
將功能塊“S7UsrM"添加至新的或者先前的CFC中?!癘PDEAV_1~8"8個層級是否可用?!癒eySwitch"定義操作層級是否可以在OS中手動選擇,或當KeySwitch為1時通過程序設置KS_Device值來操作層級。“MaxLevel"定義在OS中顯示的最大操作層級數(shù)量。連接S7UsrM至S7Mot和S7PMot,將輸出“QPERMIS"分別連接到兩個功能塊的“PERMIS"管腳,如下圖所示。
圖4-2 S7UsrM連接
為了讓S7Mot能夠從操作員面板上控制,可以將S7PMot的輸出管腳“QOP_ACTIVE"和“OP_ACTIVE"相連接。這樣在操作員面板獲得操作權限之后,可以對S7Mot塊進行手自動切換、復位等操作。
4.3 操作層級權限組態(tài)
4.3.1 OS組態(tài)
在WinCC Explorer打開操作站的OS項目,在Tag Management ® Internal tags ® Split Screen Manager中找到內(nèi)部變量@Permission,其屬性StartValue定義為操作層級的起始值。若S7Mot參數(shù)“PERMIS"值與@Permission相等,則表示可以在OS中對設備進行操作。
圖4-3 @Permission默認值設置
4.3.2 操作員面板組態(tài)
在接口功能塊“S7PMot"中設置參數(shù)“PanelPerm",用于操作面板的操作層級。只有當PanelPerm值等于S7PMot功能塊的OP_PERMIS參數(shù)值時才可能在操作員面板中對設備進行操作。
圖4-4 S7PMot的操作層級設置
當WinCC Flexible中添加面板時,會自動創(chuàng)建文本列表,用于面板操作層級的顯示。修改“Permission_S7"文本列表,使其與枚舉變量“OP_Conf1"*。
圖4-5 WinCC Flexible文本列表
4.4 操作運行
通過S7UsrM選擇LocalOS控制(因為@Permission設置為1),OS操作站上可以實現(xiàn)對電機的操作,而操作員面板不可操作,但顯示設備當前的操作層級。切換到Panel1,操作員面板上即可使能操作。
圖4-6 S7UsrM操作運行效果
關鍵詞
PCS 7 工業(yè)庫,S7-300 CPU,操作員面板,時間同步,多用戶操作