技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 萬偉InTouch 在自動(dòng)化領(lǐng)域中的應(yīng)用

萬偉InTouch 在自動(dòng)化領(lǐng)域中的應(yīng)用

時(shí)間:2007-04-13 16:37:00來源:xuzh

導(dǎo)語:?分布式 InTouch 的應(yīng)用,以及 InTouch 與 SQLSERVER2000 和其它應(yīng)用程序共同組建整個(gè)管控系統(tǒng)。
1.系統(tǒng)簡介 《動(dòng)力工段自控系統(tǒng)改造》項(xiàng)目是對南纖公司原有動(dòng)力工段的自控系統(tǒng)進(jìn)行改造和優(yōu)化。目標(biāo)是充分利用原有軟硬件資源,用最少的投入獲得高效、安全的系統(tǒng)性能。 原動(dòng)力工段包括:化水車間、冷凍空壓車間(簡稱動(dòng)力車間)、軟水站及一二泵房車間,各自擁有自己的控制室。改造前,化水車間已采用了一套 SIEMENS TI545 PLC 和兩臺(tái)全點(diǎn)的 INTOUCH 操作站實(shí)現(xiàn)監(jiān) 控,泵房車間也已采用了一套 SIEMENS TI545 PLC 和兩臺(tái) 256 點(diǎn)的 INTOUCH 操作站實(shí)現(xiàn)監(jiān)控,動(dòng)力車間除 5 臺(tái)壓縮空氣干燥器采用 GE 90-30PLC 控制外其余設(shè)備的監(jiān)控均用盤裝儀表實(shí)現(xiàn)。原動(dòng)力工段系統(tǒng)結(jié)構(gòu) 如下圖所示。 [align=center] 改造前的系統(tǒng)結(jié)構(gòu)[/align] 系統(tǒng)改造后,泵房車間和動(dòng)力車間由原泵房車間的 SIEMENS TI545 PLC 控制(需增加一些卡件),化水車間在原系統(tǒng)基礎(chǔ)上增加一些功能。將原有的兩臺(tái)全點(diǎn) INTOUCH和一臺(tái)256點(diǎn) INTOUCH移入新設(shè)的集中控制室,實(shí)現(xiàn)三個(gè)車間的集中監(jiān)控,在化水車間設(shè)一臺(tái) 256點(diǎn) INTOUCH 操作站,供現(xiàn)場巡回檢查時(shí)使用。 同時(shí)系統(tǒng)通過一臺(tái)新設(shè)的數(shù)據(jù)及 Web 服務(wù)器與公司管理網(wǎng)連接,公司和工段管理者可通過公司區(qū)域網(wǎng)獲取生產(chǎn)過程的數(shù)據(jù)和報(bào)表。
2.系統(tǒng)功能及特點(diǎn) 2.1 冗余的總線及操作站 系統(tǒng)包含 2 臺(tái)全點(diǎn)的 INTOUCH(SERVER1、SERVER2)和 2 臺(tái) 256 點(diǎn)的 INTOUCH(CLIENT1、CLIENT2),SERVER1、SERVER2 分別通過各自的 TIWAY 卡與化水、泵房的 PLC構(gòu)成兩條冗余的TIWAY總線。CLIENT1、CLIENT2 則通過遠(yuǎn)程變量訪問某臺(tái)全點(diǎn) INTOUCH 上的數(shù)據(jù)從而實(shí)現(xiàn)對現(xiàn)場的監(jiān)控。通常 CLIENT1、CLIENT2 只與 SERVER1、SERVE2 中的一臺(tái)通訊,當(dāng)發(fā)生通訊故障時(shí)會(huì)自動(dòng)嘗試與另一臺(tái)SERVER連接。INTOUCH 中的“ PLC及總線的當(dāng)前狀態(tài)。 改造后的系統(tǒng)結(jié)構(gòu)
圖中紅線表示操作站在線,黑色表示離線。在 CLIENT1、CLIENT2的“ 狀態(tài)”畫面中,工程師可以手動(dòng)切換 CLIENT與 SERVER的連接。 2.2“256 點(diǎn)的 CLIENT 通過遠(yuǎn)程變量訪問全點(diǎn)的 SERVER 從而訪問 PLC,這樣 CLIENT 的變量配置不超過256點(diǎn)。同時(shí)系統(tǒng)運(yùn)用了“分布式報(bào)警”和“ 式歷史趨勢”等功能,所有的報(bào)警記錄及歷史趨勢都存儲(chǔ)在全點(diǎn)的 SERVER 上,CLIENT 上顯示的報(bào)警和歷史趨勢是從 SERVER 上獲得的??梢哉f,SERVER 充當(dāng)了 INTOUCH服務(wù)器而 CLIENT是一個(gè) INTOUCH 客戶端,只需較低的配置即可。當(dāng)切換 SERVER時(shí),布式報(bào)警”和“分布式歷史趨勢”也跟著自動(dòng)切換。 1.“分布式報(bào)警”的設(shè)置 在INTOUCH組態(tài)中需用 “ 分布式報(bào)警 ” 控件 , 在控件的 報(bào)警查詢欄中輸入“\\SERVER1\INTOUCH!DONGLI”,SERVER1 為缺省連接的計(jì)算機(jī)名,DONGLI 表示 INTOUCH 中的DONGLI 報(bào)警組(報(bào)警組包括 DONGLI、HS)。在 SERVER 的計(jì)算機(jī)屬性需選中“本機(jī)將提供報(bào)警”;而在 CLIENT 的計(jì)算機(jī)屬性中需選中“本機(jī)將顯示報(bào)警”。運(yùn)行時(shí) CLIENT 將通過函數(shù)切換與 SERVER 的連接。 為了統(tǒng)一報(bào)警設(shè)置,我們將報(bào)警做在 PLC 的報(bào)警模塊中通過對 PLC 變量“AHA(報(bào)警上限)、AHHA(報(bào)警上上限)、ALA(報(bào)警下限)、ALLA(報(bào)警下下限)、APV(報(bào)警過程值)、AVF(報(bào)警狀態(tài)字)”的 讀寫來判斷和設(shè)置報(bào)警。有報(bào)警發(fā)生時(shí),只有 SERVER 會(huì)將報(bào)警信息寫入報(bào)警記錄,SERVER2 在寫報(bào)警信 息前先判斷 SERVER1 是否在運(yùn)行,以免重復(fù)寫入。 2.“分布式歷史趨勢”的設(shè)置(以 SERVER1 為例)在 SERVER 的 INTOUCH 組態(tài)中需將歷史數(shù)據(jù)的存放路徑設(shè)為 INTOUCH 默認(rèn)路徑。CLIENT 的 INTOUCH 組態(tài)需在“分布式名稱管理器”中的“分布式歷史”里添加一項(xiàng),供應(yīng)器名稱為“SERVER1”, 路徑為“\\SERVER1\D\NCFC2000S1”(工程路徑)即可。在 CLIENT 中訪問 SERVER1 的歷史數(shù)據(jù)需寫成“SERVER1.TAGNAME”。SERVER2 的設(shè)置與 SERVER1 相同。 3.遠(yuǎn)程變量的引用 在 CLIENT 上使用遠(yuǎn)程變量只需在變量名前加計(jì)算機(jī)名即可,無需在標(biāo)記名字典中新建變量,所 以不占點(diǎn)數(shù)。(SERVER:TAGNAME) 4.自動(dòng)切換功能 CLIENT 通過遠(yuǎn)程變量觀察 SERVER 上的$Second 變量,若它在在一段時(shí)間內(nèi)無變化則表明與 SERVER 的連接出現(xiàn)問題,這時(shí)可通過 SetAccessName 函數(shù)將 CLIENT 上的遠(yuǎn)程變量切換到另一臺(tái) SERVER 上。 2.3 公用的操作窗口 系統(tǒng)中對于具有相同操作接口設(shè)備使用了公用的操作窗口,而不是對應(yīng)每個(gè)設(shè)備都創(chuàng)建一個(gè)操作窗口,這樣大大減少了窗口的數(shù)量。實(shí)現(xiàn)它需要用到間接變量,可以將間接變量看作一個(gè)指針,當(dāng)對某個(gè)設(shè)備操作時(shí),利用間接變量指向操作變量,這樣,對間接變量的賦值就會(huì)作用到操作變量上,操作變量的變化也會(huì)反應(yīng)到間接變量上。 以過濾水泵為例,在過濾水處理系統(tǒng)中,點(diǎn)擊 3#過濾泵,彈出操作窗口,如下圖所示:
3#過濾泵的操作變量為“RUN-3#GLB(啟動(dòng))”、“STOP-3#GLB(停止)”、“RL-3#GLB(反饋)”、 “AUTO-3#GLB(自動(dòng))”、“REPAIR-3#GLB(檢修)”點(diǎn)擊過濾泵時(shí)執(zhí)行語句: DL_START.NAME=RUN-3#GLB.NAME; DL_STOP.NAME=STOP-3#GLB.NAME; DL_RL.NAME = RL-3#GLB.NAME; AUTO.NAME = AUTO-3#GLB.NAME; DL_REPAIR.NAME=REPAIR-3#GLB.NAME; “DL_XXX”為間接變量。在操作窗口中只需對間接變量賦值即可。例如在“啟動(dòng)”按鈕的動(dòng)作屬性中寫到: IF DL_START.Name<>"NULL" AND DL_STOP.Name<>"NULL" THEN DL_START=1; DL_STOP=0; Record=DL_START.Comment; SQLInsert( ConnectionId, "CortrolLog", "CortrolLog" ); //寫操作紀(jì)錄 ELSE IF DL_START.Name = = "NULL" THEN DL_STOP=0; Record=StringLeft( DL_STOP.Comment, StringLen( DL_STOP.Comment )/2 ); SQLInsert( ConnectionId, "CortrolLog", "CortrolLog" ); ELSE DL_START=1; Record=StringLeft( DL_START.Comment, StringLen( DL_START.Comment )/2 ); SQLInsert( ConnectionId, "CortrolLog", "CortrolLog" ); ENDIF; ENDIF; 因?yàn)樵O(shè)備的啟停一般有 1.啟動(dòng)與停止是一個(gè)輸出;2.啟動(dòng)與停止是兩個(gè)輸出。為一個(gè)輸出時(shí)我們將輸出變量的 COMMENT 屬性寫為“XXX 啟動(dòng) XXX 停止”這樣,在寫操作記錄時(shí)需取 COMMENT 的左一半或右一半;若為兩個(gè)輸出時(shí),變量的 COMMENT 將為“XXX 啟動(dòng)”或“XXX停止”,寫記錄時(shí)取對應(yīng)變量的 COMMENT 即可。 CLIENT 的情況比較特殊,因?yàn)?CLIENT需用間接變量指向遠(yuǎn)程變量,而遠(yuǎn)程變量的 COMMENT 無法賦給間接變量的 COMMENT,所以為了在公用窗口中獲得遠(yuǎn)程變量的 COMMENT 我們只能利用間接變量的NAME(即遠(yuǎn)程變量的 NAME)在數(shù)據(jù)庫中查找到 COMMENT,再寫操作記錄。語句如下:(寫記錄的操作參見“數(shù)據(jù) IF DL_START.Name<>"NULL" AND DL_STOP.Name<>"NULL" THEN DL_START=1; DL_STOP=0; Record=StringRight( DL_START.Name ,StringLen( DL_START.Name )-7 ); SQLSelect( ConnectionId, "COMM", "COMMENT", "device_id="+"’"+Record + "’" , "" ); //查找 COMMENT SQLFirst( ConnectionId ); Record=StringTrim( COM, 3 ); SQLEnd( ConnectionId ); SQLInsert( ConnectionId, "CortrolLog", "CortrolLog" ); //寫操作紀(jì)錄 ELSE IF DL_START.Name=="NULL" THEN DL_STOP=0; Record=StringRight( DL_STOP.Name ,StringLen( DL_STOP.Name )-7 ); SQLSelect( ConnectionId, "COMM", "COMMENT", "device_id="+"’"+Record + "’" , "" ); SQLFirst( ConnectionId ); Record=StringTrim( COM, 3 ); Record=StringLeft( Record, StringLen( Record )/2 ); SQLEnd( ConnectionId ); SQLInsert( ConnectionId, "CortrolLog", "CortrolLog" ); ELSE DL_START=1; Record=StringRight( DL_START.Name ,StringLen( DL_START.Name )-7 ); SQLSelect( ConnectionId, "COMM", "COMMENT", "device_id="+"’"+Record + "’" , "" ); SQLFirst( ConnectionId ); Record=StringTrim( COM, 3 ); Record=StringLeft( Record, StringLen( Record )/2 ); SQLEnd( ConnectionId ); SQLInsert( ConnectionId, "CortrolLog", "CortrolLog" ); ENDIF; ENDIF; 2.4 數(shù)據(jù)庫的應(yīng)用 系統(tǒng)中的 IBM 服務(wù)器作為數(shù)據(jù)存儲(chǔ)和發(fā)布的服務(wù)器,安裝了 SQL SERVER 2000,系統(tǒng)的報(bào)警歷史記錄 和操作記錄以及設(shè)備檔案都存放在名為“DL” 的數(shù)據(jù)庫中。 2.4.1 ODBC 的連接 INTOUCH 通過 ODBC 訪問 SQL SERVER,在 ODBC 中建立名為“DL”的用戶 DSN,在 INTOUCH 中用語句: SQLConnect( ConnectionId, "DSN=DL"); 建立連接,若連接成功則 ConnectionId > 0 。在執(zhí)行每一條 SQL 語句時(shí)都會(huì)有一個(gè)返回值,若返回值為 0 則表示執(zhí)行成功,否則表示與數(shù)據(jù)庫連接不正常,需重新建立連接。為了時(shí)刻檢測與數(shù)據(jù)庫服務(wù)器的連接情 況,在應(yīng)用程序腳本中每 5 秒鐘執(zhí)行一條查詢語句: IF ResultCode = = 0 THEN ResultCode = SQLSelect( ConnectionId , "SYSUSERS" ,"SYSUSERS","UID=0", "" ); ENDIF; 同時(shí)在條件腳本中判斷 ResultCode (即返回值)若 ResultCode <> 0 則斷開連接: SQLDisconnect( ConnectionId ); ConnectionId = 0; SHOW “通訊狀態(tài)”; 打開“通訊狀態(tài)”畫面,顯示信息“與服務(wù)器連接失??!”及“重試”、“取消”兩個(gè)按鈕。按“重試”,置 位系統(tǒng)將每 20 秒進(jìn)行一次嘗試連接: IF RETRY = = 1 THEN ResultCode = SQLConnect( ConnectionId, "DSN=DL"); ENDIF; 直到 ResultCode = 0 為止。 嘗試連接時(shí)系統(tǒng)將變得很忙。若想取消連接,則按“取消”按鈕,系統(tǒng)將不再與服務(wù)器連接,對現(xiàn)場的監(jiān)控 可以正常進(jìn)行,但操作與報(bào)警記錄都將不寫入服務(wù)器(數(shù)據(jù)發(fā)布不受影響)。希望重新連接服務(wù)器時(shí),只需 在“通訊狀態(tài)”畫面下按“重試”按鈕即可。 2.4.2 綁定列表 在全點(diǎn) INTOUCH 中需建立四個(gè)綁定列表:“alarmhis”,“cortrolog”,“device”,“sysusers”分別對 應(yīng)數(shù)據(jù)庫中的表格?!皊ysusers”只是為了檢查 ODBC 連接用的,并無其他用處。在每個(gè)列表中用變量與各 字段相對應(yīng),如“cortrolog” 中變量 “DATETIME” 對應(yīng)字段“DATETIME” ;變量“$OPERATER” 對應(yīng)字段“USERNAME” ;變量“RECORD”對應(yīng)字段“RECORD”等。在寫記錄前,只需先對變量復(fù) 值,再執(zhí)行語句: SQLInsert( ConnectionId, "CortrolLog", "CortrolLog" ); 即可。 查詢記錄時(shí),首先準(zhǔn)備一個(gè)查詢條件,例如在“稀礬池液位”的動(dòng)作腳本中有以下語句 DEVICE_ID= LT51027.Name; ShowAt("設(shè)備檔案",$ObjHor +200, $ObjVer +50); SQLSelect( ConnectionId , "DevICE" , "DevICE" , "Device_ID=" + "’"+ device_id +"’" , "" ); SQLFirst( ConnectionId ); 首先將要查詢的設(shè)備名(LT51027)賦給 DEVICE_ID。 “SQLSelect”語句實(shí)際上執(zhí)行了一條 SQL 語句: SELECT *FROM DEVICE WHERE DEVICE_ID =’LT51027’ 然后將查詢到的記錄的字段值賦給綁定列表中的變量。這樣在設(shè)備檔案中里,只要放上綁定列表中的變量就 能顯示查詢的結(jié)果了 。下圖為從數(shù)據(jù)庫中查到的設(shè)備’ LT51027’的信息 。
2.3 管理層應(yīng)用程序 有了數(shù)據(jù)庫中的“操作記錄”、“報(bào)警記錄”和“設(shè)備檔案”,可以方便的開發(fā)管理層應(yīng)用程序。下圖是用 Delphi 開發(fā)的一個(gè)客戶端軟件,用來查詢記錄及維護(hù)設(shè)備檔案,它可以運(yùn)行在工程師的 PC 上。
另外,利用 Intouch 的 NETDDE 功能,可將生產(chǎn)數(shù)據(jù)實(shí)時(shí)地通過第三方軟件進(jìn)行發(fā)布,這里涉及更多的軟件編程技術(shù),就不在深入了。下圖為將數(shù)據(jù)以 WEB 的方式進(jìn)行發(fā)布。
結(jié)束語 以上的數(shù)據(jù)庫及WEB功能也可以通過IndustrialSQL Sever和SuiteVoyager實(shí)現(xiàn),以上的應(yīng)用可以說明 InTouch無論在腳本和第三方軟件的接口方面都是非常靈活的。在過去,組態(tài)軟件往往只針對下位機(jī),一個(gè) 控制系統(tǒng)通常與外界隔離,成為信息孤島,使用Intouch可以做到車間層與管理層的緊密結(jié)合,管理者可以在 辦公室里瀏覽到生產(chǎn)一線的數(shù)據(jù),使企業(yè)以更高的效率進(jìn)行生產(chǎn)和管理.

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:博世力士樂康沃變頻器在發(fā)電...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)