• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      西門子WinCC flexible的SQL數(shù)據(jù)庫操作

      2011-07-25 07:26:16肖振宇
      有色金屬加工 2011年6期
      關(guān)鍵詞:管理器腳本數(shù)據(jù)源

      肖振宇

      (中色科技股份有限公司,河南 洛陽471039)

      西門子WinCC flexible 是一種應(yīng)用廣泛的HMI系統(tǒng),是操作人員與過程(機(jī)器/設(shè)備)之間的接口,是操作人員與實(shí)際控制單元例如PLC之間的接口,它主要完成以下工作。

      ① 過程可視化

      過程顯示在HMI 設(shè)備上。 HMI 設(shè)備上的畫面可根據(jù)過程變化動態(tài)更新。 這基于過程的變化。

      ② 操作員對過程的控制

      操作員可以通過GUI (圖形用戶界面)來控制過程。 例如,操作員可以預(yù)置控件的參考數(shù)值或者啟動電機(jī)。

      ③ 顯示報警

      過程的臨界狀態(tài)會自動觸發(fā)報警,例如,當(dāng)超出設(shè)定值時。

      ④ 歸檔過程值和報警

      HMI 系統(tǒng)可以記錄報警和過程值。 該功能使您可以記錄過程值序列,并檢索以前的生產(chǎn)數(shù)據(jù)。

      ⑤ 過程值和報警記錄

      HMI 系統(tǒng)可以輸出報警和過程值報表。 例如,您可以在某一輪班結(jié)束時打印輸出生產(chǎn)數(shù)據(jù)。

      ⑥ 過程和設(shè)備的參數(shù)管理

      HMI 系統(tǒng)可以將過程和設(shè)備的參數(shù)存儲在配方中。 例如,可以一次性將這些參數(shù)從HMI設(shè)備下載到PLC,以便改變產(chǎn)品版本進(jìn)行生產(chǎn)。

      其中對于過程值以及報警記錄的歸檔是WinCC flexible 的重要特色功能之一,但其自帶的歷史數(shù)據(jù)功能較為簡單,具有一定的局限性,無法很好的滿足實(shí)際工程中的各種靈活應(yīng)用,不過在WinCC flexible 中提供了對于運(yùn)行腳本的支持,為完成各種更加復(fù)雜的任務(wù)提供了良好的手段。因此可以借助腳本工具,通過功能強(qiáng)大的專業(yè)數(shù)據(jù)庫SQL來實(shí)現(xiàn)要求更高,運(yùn)用更靈活的各種應(yīng)用。要實(shí)現(xiàn)WinCC flexible 對SQL數(shù)據(jù)庫的操作需要完成三個工作:SQL數(shù)據(jù)庫自身的設(shè)置,建立WinCC flexible和SQL數(shù)據(jù)庫的連接,在WinCC flexible中通過腳本最終實(shí)現(xiàn)對SQL數(shù)據(jù)庫的交互操作?,F(xiàn)以WindowsXP操作系統(tǒng)、Microsoft SQL Server 2005 數(shù)據(jù)庫和WinCC flexible 2007 為平臺進(jìn)行介紹,以前兩步—SQL數(shù)據(jù)庫自身的設(shè)置,建立WinCC flexible和SQL數(shù)據(jù)庫的連接—為重點(diǎn)。至于第三步在WinCC flexible中通過腳本最終實(shí)現(xiàn)對SQL數(shù)據(jù)庫的交互操作,更加深入的知識可以參考其它各種SQL數(shù)據(jù)庫操作指令的描述及說明,本文僅給出簡單實(shí)例。

      1 SQL數(shù)據(jù)庫自身的設(shè)置

      首先運(yùn)行Microsoft SQL Server 2005的管理工具SQL Server Management Studio,服務(wù)器選擇“計算機(jī)名WinCC flexible”,進(jìn)入SQL數(shù)據(jù)庫管理界面,并通過右鍵點(diǎn)擊“數(shù)據(jù)庫”添加自己的數(shù)據(jù)庫名為“JL”,其中各選項(xiàng)保持默認(rèn)設(shè)置即可,添加完成后結(jié)果如圖1所示。

      在對象資源管理器中點(diǎn)擊“安全”展開樹狀圖,通過右鍵登錄名來建立我們需要的用戶并設(shè)定其權(quán)限,其目的是防止其它非法用戶對我們的數(shù)據(jù)進(jìn)行操作,具體權(quán)限可根據(jù)各種不同的實(shí)際應(yīng)用需求進(jìn)行設(shè)置。這里我們建立用戶“JLUser”,登錄方式選擇 SQL身份驗(yàn)證,設(shè)置并二次確認(rèn)該用戶的登錄密碼,這個密碼在后期WinCC flexible腳本中需要用到,只有兩者一致才能夠建立起與SQL數(shù)據(jù)庫的連接從而完成對其的操作。默認(rèn)數(shù)據(jù)庫選擇我們建立的“JL”,服務(wù)器角色選擇“sysadmin”,這里可根據(jù)具體實(shí)際使用要求進(jìn)行設(shè)置。完成后分別如圖2,圖3所示。

      圖1

      圖2

      圖3

      通過以上操作,我們在SQL數(shù)據(jù)庫系統(tǒng)中建立了自己所需要的數(shù)據(jù)庫,創(chuàng)建了用戶,并對其設(shè)置了權(quán)限。但在該數(shù)據(jù)庫中并沒有任何表以及操作,這些將全部通過WinCC flexible的腳本運(yùn)行系統(tǒng)來實(shí)現(xiàn),這也正是這種方法的靈活性所在,可以最大限度的來滿足我們在實(shí)際工程中各種復(fù)雜的應(yīng)用。

      2 建立WinCC flexible和SQL數(shù)據(jù)庫的連接

      我們是通過數(shù)據(jù)源管理器ODBC來實(shí)現(xiàn)WinCC flexible和SQL數(shù)據(jù)庫的連接的。ODBC是開放數(shù)據(jù)庫互連Open Database Connectivity的縮寫,是微軟公司開放服務(wù)結(jié)構(gòu)(WOSA,Windows Open Services Architecture)中有關(guān)數(shù)據(jù)庫的一個組成部分,它建立了一組規(guī)范,并提供了一組對數(shù)據(jù)庫訪問的標(biāo)準(zhǔn)API(應(yīng)用程序編程接口)。所有的數(shù)據(jù)庫操作由對應(yīng)的DBMS的ODBC驅(qū)動程序完成。也就是說,不論是FoxPro、Access還是Oracle數(shù)據(jù)庫,均可用ODBCAPI進(jìn)行訪問。由此可見,ODBC的最大優(yōu)點(diǎn)是能以統(tǒng)一的方式處理所有的數(shù)據(jù)庫。ODBC本身也提供了對SQL語言的支持,用戶可以直接將SQL語句送給ODBC。

      首先打開數(shù)據(jù)源管理器ODBC,其位于“設(shè)置 > 控制面板 > 管理工具”。選擇最左側(cè)標(biāo)簽欄“用戶DSN”,點(diǎn)擊添加按鈕,選擇SQL Sever,并點(diǎn)擊完成,如圖4所示。

      圖4

      單擊完成后,會自動彈出配置窗的第一窗口,在該窗口內(nèi)主要有三項(xiàng)設(shè)置:數(shù)據(jù)源名稱,數(shù)據(jù)源描述,以及服務(wù)器。第一項(xiàng)數(shù)據(jù)源名稱可隨意設(shè)定,這里設(shè)置為winccflexibleJLTEST,需注意的是該名稱即是在WinCC flexible腳本編程時所調(diào)用的數(shù)據(jù)源名稱,二者必須完全相同。第二項(xiàng)數(shù)據(jù)源描述則可以完全隨意填寫,也可不填。第三項(xiàng)服務(wù)器是指該數(shù)據(jù)源所連接的數(shù)據(jù)庫服務(wù)器,我們選擇本地計算機(jī)上的WinCC flexible服務(wù)器,即“計算機(jī)名WinCC flexible”,注意這里也可以選擇網(wǎng)絡(luò)上的其它計算機(jī),甚至Internet上的計算機(jī),從而實(shí)現(xiàn)將過程數(shù)據(jù)歸檔記錄到異地的專用數(shù)據(jù)服務(wù)器上,如圖5所示。

      圖5

      點(diǎn)擊下一步,進(jìn)入SQL Sever 登錄驗(yàn)證選項(xiàng),選擇“使用用戶輸入登錄ID和密碼的SQL Sever驗(yàn)證”。然后選中下面“連接SQL Sever以獲取其它配置選項(xiàng)的默認(rèn)設(shè)置”,同時輸入在SQL管理工具中設(shè)置的用戶名和密碼,這樣在下面的配置過程中數(shù)據(jù)源管理器ODBC將自動連接SQL Sever,從中讀出其設(shè)置,而無需再手動填寫,如圖6所示。

      圖6

      接下來所有設(shè)置窗口均直接點(diǎn)擊下一步,直至完成。在最終點(diǎn)擊“完成”按鈕后,會彈出該數(shù)據(jù)源的配置列表,經(jīng)核對無誤后可以點(diǎn)擊該窗口左下角“測試數(shù)據(jù)源”按鈕,系統(tǒng)將按照剛才的設(shè)置來對該數(shù)據(jù)源自動進(jìn)行檢測,顯示檢測步驟并給出最終檢測的結(jié)果,如圖7所示。

      圖7

      至此,在數(shù)據(jù)源管理器ODBC中添加了名為winccflexibleJLTEST的數(shù)據(jù)源,它指向本地計算機(jī)的WinCC flexible 數(shù)據(jù)庫服務(wù)器中的名為JL的數(shù)據(jù)庫,當(dāng)前該數(shù)據(jù)庫為空數(shù)據(jù)庫,其中既沒有任何用戶表,也沒有任何操作,對該數(shù)據(jù)庫的所有操作將在WinCC flexible 的腳本運(yùn)行系統(tǒng)中完成。

      3 WinCC flexible對SQL數(shù)據(jù)庫的腳本操作

      由于關(guān)于SQL數(shù)據(jù)庫操作指令介紹的文檔和資料較多,參考查閱較為方便,這里僅給出一個簡單實(shí)例進(jìn)行說明,更加復(fù)雜的應(yīng)用需讀者自行學(xué)習(xí)研究。

      實(shí)例描述:當(dāng)軋機(jī)速度穩(wěn)定達(dá)到150m/min時自動檢查數(shù)據(jù)庫中是否具有名為“參數(shù)150”的記錄表,如果沒有,則在數(shù)據(jù)庫中添加該表,并在表中寫入當(dāng)前卷材的一些相關(guān)數(shù)據(jù)記錄。如果數(shù)據(jù)庫中已經(jīng)存在該表,則在該表中添加當(dāng)前卷材的一些相關(guān)數(shù)據(jù)記錄。

      在WinCC flexible中添加并編寫腳本如下。

      Dim conn, rst ’定義變量conn和rst

      Set conn = CreateObject("ADODB.Connection") ’創(chuàng)建一個 Connection 連接的實(shí)例

      Set rst = CreateObject("ADODB.Recordset") ’創(chuàng)建一個 Recordset 數(shù)據(jù)集的實(shí)例

      conn.Open "Provider=MSDASQL;Persist Security Info=False;User ID=JLUser;

      pwd= JLUser1000;Data Source=winccflexibleJLTEST"

      ’使用 Connection 集合的 Open 方法與數(shù)據(jù)庫建立連接,其中參數(shù)User ID和pwd的賦值必須和前面建立數(shù)據(jù)庫時設(shè)置的用戶名以及密碼相符,參數(shù)Data Source則是在數(shù)據(jù)源管理器ODBC中建立的數(shù)據(jù)源的名稱

      Dim sql ’定義變量 sql

      sql="If object_id('參數(shù)150') is null " &_

      " begin " &_

      " CREATE TABLE 參數(shù)150 ( 采集時間 datetime , 卷號 CHAR(12) )"&_

      " INSERT INTO 參數(shù)150 VALUES ( getdate() , '"&SmartTags("觸摸屏字符串轉(zhuǎn)換DB.PI_CoilID")&"')"&_

      " end " &_

      ’以上操作檢查數(shù)據(jù)庫中如果沒有表“參數(shù)150”則在數(shù)據(jù)庫中建立該表,并在表中寫入數(shù)據(jù)記錄

      " Else " &_

      " INSERT INTO 參數(shù)150 VALUES ( getdate(), '"&SmartTags("觸摸屏字符串轉(zhuǎn)換DB.PI_CoilID")&"')"

      ’以上操作檢查數(shù)據(jù)庫中如果已經(jīng)具有表“參數(shù)150”則在其中添加數(shù)據(jù)記錄

      Set rst = conn.Execute(sql) ’執(zhí)行以上對數(shù)據(jù)庫的操作

      在腳本編寫完成后,只要軋機(jī)速度達(dá)到150m/min時在WinCC flexible中給其一個觸發(fā)信號,便可自動在SQL數(shù)據(jù)庫中記錄當(dāng)時料卷的相關(guān)數(shù)據(jù)。

      猜你喜歡
      管理器腳本數(shù)據(jù)源
      酒駕
      安奇奇與小cool 龍(第二回)
      應(yīng)急狀態(tài)啟動磁盤管理器
      Windows文件緩沖處理技術(shù)概述
      數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
      電子測試(2018年14期)2018-09-26 06:04:24
      Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
      快樂假期
      基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評價研究
      基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評價算法
      高集成度2.5A備份電源管理器簡化鋰離子電池備份系統(tǒng)
      卓资县| 清涧县| 罗源县| 汝州市| 右玉县| 襄垣县| 武陟县| 佳木斯市| 盱眙县| 城市| 新邵县| 公安县| 伽师县| 池州市| 巴林左旗| 关岭| 招远市| 屯昌县| 枝江市| 龙陵县| 和平区| 永和县| 定边县| 田东县| 晋宁县| 绩溪县| 金堂县| 旬阳县| 芦溪县| 双鸭山市| 永州市| 巢湖市| 电白县| 宿州市| 资源县| 稻城县| 烟台市| 仁化县| 平山县| 会昌县| 个旧市|