當前位置:編程學習大全網 - 編程語言 - 世紀星組態軟件的第四章

世紀星組態軟件的第四章

第四章 變量數據庫

世紀星提供的變量數據庫是壹個實時變量數據庫,運行時,數據庫中保存的是所有變量的實時數據。運行系統采集工業現場的數據,將采集的數據、用戶輸入的數據以及數據庫中的數據進行實時處理,再送回工業現場,同時更新變量數據庫。 在變量數據庫中定義變量時,用戶必須為每個變量定義壹種數據類型,這樣用戶才能使用該變量。本系統提供四大類型變量:系統變量、內存變量、IO變量和特殊變量。

1、系統變量

系統變量是系統預先設置的變量,這些變量用戶可以直接使用。系統變量又分為系統離散、系統整數、系統實數、系統信息。系統變量設有只讀和讀寫屬性,只讀變量如系統時間等,由系統自動更新,用戶不能改變這些變量的數值;對於具有讀寫屬性的系統變量,用戶可以改變變量的數值。

2、內存變量

內存變量是用戶定義在系統內部的變量,這些變量不同外部進行數據交換,主要存放計算處理的中間值,以及在系統仿真時模擬IO變量。

內存變量又分為內存離散變量、內存整數變量、內存實數變量和內存信息變量四種。

① 內存離散變量

布爾(BOOL)型變量。

內存離散變量的值只能為:0(關,OFF,FALSE)和1(開、ON,TRUE)兩種,壹般用於表示開關量。

② 內存整數變量

32位整數變量。

內存整數變量的取值範圍:-2,147,483,648 ~ 2,147,483,647。

③ 內存實數變量

十進制浮點型變量。

內存實數的取值範圍:-3.4e 38 ~ 3.4e 38。

④ 內存信息變量

字符串變量。

內存信息變量的取值範圍:最長能存儲131個字符。

3、IO變量

IO變量是能與其他應用程序進行數據交換的變量。本系統的IO變量能以多種數據交換協議同外部應用程序進行數據交換,如Windows動態數據交換(DDE)協議、OPC、網絡、串口、總線、板卡等通訊協議。

具有讀寫屬性的IO變量數據變化時,系統立即將IO變量的值寫到外部應用程序。IO變量的值也可以由外部應用程序更新。

IO變量又分為IO離散變量、IO整數變量、IO實數變量、IO信息變量四種,其變量數據類型和取值範圍同內存變量相同。

4、特殊變量

特殊變量類型有報警窗口變量、歷史曲線變量兩種。主要用於系統報警顯示和歷史趨勢曲線顯示。

① 報警窗口變量

報警窗口變量主要用來將用戶繪制的報警窗口同數據庫連接,達到顯示報警的目的。用戶可以用命令語言來讀取或改變報警窗口的壹些特性,如獲取當前報警窗口的報警數量等。

② 歷史曲線變量

歷史曲線變量將用戶繪制的歷史趨勢曲線同數據庫連接,達到顯示歷史趨勢數據的目的。用戶可以用命令語言編制程序來設置歷史趨勢曲線的壹些特性,如改變歷史趨勢曲線的起始時間或顯示的時間長度等。 變量的域是為反映變量具有的屬性。如實數變量的報警具有“高報警限”、“低報警限”等屬性,歷史曲線變量具有曲線起始時間、曲線時間長度等屬性。

在定義變量時,同時需要設置變量的域值。

用戶可以用命令語言編制程序來讀取或設置變量的域,變量的域具有只讀和讀寫兩種類型。

變量的域的表示方法:變量.域。 在工業現場,采集的IO整數和IO實數變量根據現場工藝要求,要進行各種方式的數據轉換。世紀星提供的IO變量數據轉換方式包括:線性轉換方式、開方轉換方式、累計轉換方式、分段線性轉換方式 等多種轉換方式。

1、線性轉換方式

線性轉換方式就是將IO變量(包括:IO整數、IO實數)的采集值(即:原始值)和數據庫中使用的變量值進行線性插值轉換。

線性轉換方式計算公式:

數據庫變量值=最小值+(IO原始值-最小值)*(最大值-最小值)/(最大值-最小值)

其中:

數據庫變量值:轉換後變量在數據庫中的值。

IO原始值:IO變量(包括:IO整數、IO實數)的采集值。

最小值:變量在數據庫中的最小值。

最大值:變量在數據庫中的最大值。

最小值:I/O變量的最小原始值。

最大值:I/O變量的最大原始值。

2、開方轉換方式

開方轉換方式就是將IO變量(包括:IO整數、IO實數)的采集值(即:原始值)和數據庫中使用的變量值進行平方根插值轉換。

開方轉換方式計算公式:

數據庫變量值=最小值+(IO原始值-最小值)*sqrt(最大值-最小值)/sqrt(最大值-最小值)

其中:

數據庫變量值:轉換後變量在數據庫中的值。

IO原始值:IO變量(包括:IO整數、IO實數)的采集值。

最小值:變量在數據庫中的最小值。

最大值:變量在數據庫中的最大值。

最小值:I/O變量的最小原始值。

最大值:I/O變量的最大原始值。

3、累計轉換方式

在工業現場經常需用在流量、電量等方面進行累計計算。累計轉換方式有兩種:直接累計和差值累計。

① 直接累計:IO變量(包括:IO整數、IO實數)的采集值(即:原始值),經過線性轉換後直接與該變量在數據庫中使用的變量值相加。

直接累計計算公式:

變量新值=變量舊值+采集新值

其中:

變量新值:直接累計轉換後變量在數據庫中的值。

變量舊值:直接累計轉換前變量在數據庫中的值。

采集新值:IO變量本次的采集值經過線性轉換後的值。

註:當累計後的變量的數值超過在數據庫中的最大值時,變量的數值將恢復為變量在數據庫中的最小值。

② 差值累計:變量在每次進行累計時,將變量實際采集到的數值與上次采集的數值求差值,對其差值進行累計計算。當本次采集的數值小於上次數值時,即差值為負時,將通過變量定義的畫面中的最大值和最小值進行轉化。

差值累計計算公式:

變量新值=變量舊值+(采集新值-采集舊值)

當采集新值小於采集舊值時,公式為:

變量新值=變量舊值+(采集新值-采集舊值)+(變量最大值-變量最小值)

其中:

變量新值:直接累計轉換後變量在數據庫中的值。

變量舊值:直接累計轉換前變量在數據庫中的值。

采集新值:IO變量本次的采集值經過線性轉換後的值。

采集舊值:IO變量上次的采集值經過線性轉換後的值。

最小值:變量在數據庫中的最小值。

最大值:變量在數據庫中的最大值。

註:當累計後的變量的數值超過在數據庫中的最大值時,變量的數值將恢復為變量在數據庫中的最小值。

4、分段線性轉換方式

在工業現場有壹些數據(如熱電阻、熱電偶等)為非線性信號,如果按照線性轉換方式進行計算,得到工程值的誤差會很大。為此,我們采用分段線性查表方式,進行非線性數據轉換。

分段線性轉換方式分兩步進行:

① 變量先通過線性轉換方式轉換後得到壹個中間值(以下稱:原始值)。

② 將原始值按照分段線性表進行查表轉換,得到變量的變量在數據庫中的值(以下稱:工程值)。

分段線性表的查表計算公式:

工程值=上壹個工程值+(原始值-上壹個原始值)*(下壹個工程值-上壹個工程值)/(下壹個原始值-上壹個原始值)

工程值:變量在數據庫中的值。

原始值:變量通過線性轉換方式轉換後得到壹個中間值。

上壹個原始值:原始值在表格中原始值項對應位置的上壹個原始值。

下壹個原始值:原始值在表格中原始值項對應位置的下壹個原始值。

上壹個工程值:表格中“上壹個原始值”對應的工程值。

下壹個工程值:表格中“下壹個原始值”對應的工程值。

說明:上表中,當 原始值=4.5 時,上壹個原始值=4,下壹個原始值=5,上壹個工程值=25,下壹個工程值=36,則計算公式為:

工程值=25+(4.5-4)*(36-25)/(5-4)=30.5 選擇“系統/變量數據庫”菜單,或選擇瀏覽器中的“變量字典”項,彈出變量數據庫管理對話框,如圖4-2所示:

變量數據庫管理的對話框說明如下:

新建:進入變量數據庫對話框,創建新變量。

組建:進入成組創建變量對話框,成組創建變量

修改:進入變量數據庫對話框,修改指定的變量。用鼠標左鍵雙擊變量名也可以修改變量。

刪除:刪除指定的變量,若變量為系統變量或已經被使用(變量計數大於零),比如此變量和某壹個圖素建立了動畫連接或出現在命令語言中,則提示不能刪除。

排序:使對話框具有排序功能。當變量數量超過1萬個時,如果具有排序功能,則顯示本對話框的速度可能較慢,用戶可以選擇是否帶有排序功能。

退出:退出“變量數據庫”對話框。

變量過濾:按用戶指定條件過濾變量數據庫,進入變量過濾對話框。

過濾後變量數量:按用戶指定的條件過濾後變量數據庫中變量的數量,默認條件下是指沒有經過過濾的變量數據庫中變量的數量。 新建或修改變量時,彈出變量字典的對話框,如圖4-3所示:

變量數據庫的對話框中包含變量的如下參數:

1、變量定義

變量名:變量在變量數據庫中的名稱,同壹應用程序中數據變量不能重名,數據變量名區分大小寫,最長不能超過32個字符。用鼠標單擊編輯框的任何位置進入編輯狀態,用戶此時可以輸入變量名字,變量名可以是漢字或英文名字或$、@、#、_、?,但第壹個字符不能是數字且變量名不能是命令語言的關鍵字或函數名稱。

類 型:在對話框中只能定義以下基本類型中的壹種:內存離散、內存整數、內存實數、內存信息、IO離散、IO整數、IO實數、IO信息、歷史曲線、報警窗口。

描 述:變量的註釋信息。

報警組名:是指變量所屬的報警組,定義報警組是通過菜單命令“系統/報警組定義”完成的。

只讀、只寫、讀寫屬性:表明變量的讀寫屬性。

2、數據設定

初始值:系統開始運行時變量的初始值。初始值與所定義的變量類型有關,定義整數或實數類型變量時可以輸入壹個整數或實數;定義離散類型變量時可以選擇開或關;定義信息類型變量時可以輸入字符串。

最小值:變量在數據庫中的最小值。

最大值:變量在數據庫中的最大值。

數據變化靈敏度:數據類型為整數類型、實數類型時此項有效。只有當該數據變量的值變化幅度超過“數據變化靈敏度”時,系統才更新與之相連接的圖素。

最小值:I/O變量的最小原始值。

最大值:I/O變量的最大原始值。

保存變量值:是系統退出時保存變量的值。

Web 發布:選中時,該變量可以在遠程瀏覽。

數據轉換方式:指定IO整數或IO實數對應的原始數值到數據庫使用數值的值的轉換方式。

線性轉換方式:IO整數和IO實數對應的原始數值和數據庫使用值用線性插值進行轉換。

開方轉換方式:用IO整數和IO實數對應的原始數值的平方根進行轉換。

3、設備對象

設備對象名:選擇已安裝的驅動設備,配置與所定義變量有關的參數。

數據類型:選擇從設備對象中采集得到的數據類型。

采集頻率:設置從設備對象中采集數據的頻率。

寄存器:選擇設備對象中數據采集的寄存器。

4、記錄參數

記 錄:當變量值發生變化時,是否將此時的變量值存到磁盤上(即:歷史記錄),具有離散類型、整數類型和實數類型的變量可以記錄。包括不記錄、按靈敏度記錄、定時記錄等三種選擇。

記錄變化靈敏度:只有變量值的變化幅度大於此值時才被記錄到磁盤上。當“是否記錄”選項有效時,“記錄變化靈敏度”選項才有效,其缺省值為1,用戶可根據需要修改。

示例:數據庫中有壹個模擬型變量,如果要將此變量的值記錄到硬盤上,而且規定其記錄變化靈敏度為3,則其記錄過程如下所示:如果第壹次記錄值是10,當第二次的變量值為12時,由於12-10=2〈3,也就是第二次變量值相對第壹次記錄值的變化小於設定的“記錄變化靈敏度”,所以第二次變量值不記錄到硬盤上;當第三次變量值為14時,由於14-10=4〉3,即變化幅度大於設定的“記錄變化靈敏度”,所以此次溫度值記錄到磁盤上。

間隔:定時存儲的時間間隔,範圍:1~3153600秒。

5、報警參數

報 警:變量是否具有報警功能。選擇此項下面的離散報警(對離散類型變量)或報警參數(對整數類型、實數類型變量)才有效。

優先級:是報警事件重要程度的度量,數字1的級別最高,999為最低級別,給每個要監視的變量規定壹個報警優先級可以分層次管理報警事件。

離散值報警:是對離散量的開或關進行報警。

模擬值報警:對變量類型為整數類型、實數類型的變量有效。有7種報警:低低、低、高、高高、小偏差、大偏差、變化率。

報警限:變量報警的上下限,整數類型、實數類型的變量有四種報警可選項:低低、低、高、高高。在低低和低報警的情況下,每當變量值小於報警下限時就出現報警;在高高和高報警的情況下,每當變量值大於報警上限值時就出現報警。正常區域和報警區域的確定要根據低低,低,高,高高這四種報警設定值來進行。如圖4-4所示:

幫助:進入幫助系統。

示例:

設定某鍋爐控制溫度在高高報警值=150,高報警值=130,低報警值=50,低低報警值=30,則當鍋爐溫度變化時會出現以下控制情況:

鍋爐溫度>=150 高高報警

130=<鍋爐溫度<150 高報警

50<鍋爐溫度<130 正常工作狀態

30<鍋爐溫度<=50 低報警

鍋爐溫度<=30 低低報警

偏差: 是經模擬量相對目標值(基準值)上下波動的百分比來定義,有小偏差和大偏差兩種報警條件,目標值(基準值)由後面編輯框輸入。當波動的百分比小於小偏差或大於大偏差時,分別出現報警。

偏差=((當前值-目標值)÷(最大值-最小值))×100

由於偏差有正負,在偏差範圍內相對目標值(基準值)上下波動的模擬量最小分界值稱為最小當前值,相對目標值(基準值)上下波動的模擬量最大分界值稱為最大當前值,則有:

最小當前值=目標值-(偏差/100)×(最大值-最小值);

最大當前值=目標值+(偏差/100)×(最大值-最小值);

示例:某變量的最小值=-1000,最大值=1000,設定其小偏差=10,大偏差=15,目標值=500,則可計算出小偏差報警和大偏差報警的條件如下:

小偏差報警:

最小當前值=500-(10/100)×(1000-(-1000))=500-200=300

最大當前值=500+(10/100)×(1000-(-1000))=500+200=700

則:模擬變量值>=700或模擬變量值<=300時,出現小偏差報警

300<模擬變量值<700時,為正常工作範圍

大偏差報警:

最小當前值=500-(15/100)×(1000-(-1000))=500-300=200

最大當前值=500+(15/100)×(1000-(-1000))=500+300=800

則:模擬變量值>=800或模擬變量值<=200時,出現大偏差報警

200<模擬變量值<800時,為正常工作範圍

變化率:選擇模擬量在給定時間內的變化率報警。每當變量發生變化時,就計算變化率以決定是否報警。若計算結果大於報警限值,則出現報警。時,分,秒按鈕用於選擇時間單位。單位的選擇不影響檢查變化率的時間,每次變量變化時,就計算變化率。變化率的計算公式如下:

變化率=[(當前值-上壹次值)/(最大值-最小值)/(當前時間-上壹次值變化的時間)]×100%

6、變量過濾對話框

單擊變量數據庫管理對話框中的 “>”按鈕,進入變量過濾對話框,如圖4-5所示:

過濾名稱:在此欄中可輸入壹個新過濾名稱,也可選擇已有的過濾名稱

過濾條件:這裏有變量名稱、變量類型、設備對象、報警組、註釋等 5 個條件任意組合作為過濾的條件。

您還可刪除您認為不需要的過濾名稱。 單擊變量數據庫管理對話框中的“組建”按鈕,進入成組創建變量對話框,如圖4-6所示:

成組創建變量與新建壹個變量基本類似,有以下幾點需要註意:

1、變量名:創建的變量都是以該變量名開頭,後接數字作為變量名。

2、定義變量數量:想要定義的變量數量,範圍為:1~1000。

3、成組變量起始編號:成組定義變量的起始編號。範圍為:1~9999。

示例:在成組創建變量中“變量名”輸入“IO”,“定義變量數量”中輸入 10,“成組變量起始編號”中輸入1,單擊“確定”後會將在變量數據庫中定義 IO1~IO10 十個變量。 數據庫維護的大部分工作都是由系統自動完成的,設計者需要做的是在完成最後階段“刪除未用變量”。在刪除未用變量之前需要更新變量計數,目的是確定變量是否有動畫連接或在命令語言中使用過,只有沒使用過(變量計數=0)的變量才可以刪除。更新變量計數之前要求關閉所有畫面。

1、更新變量計數

選取菜單“系統/更新變量計數”, 更新變量計數結束時,彈出“用戶變量計數”對話框,如圖4-7所示:

2、刪除未用變量

檢查完畢後,選取菜單“系統/刪除未用變量”,如果沒有未使用的變量,系統提示如圖4-8所示:

如果有未使用的變量,則彈出“刪除未用變量”對話框,如圖4-9所示:

用鼠標選擇未用變量,單擊“刪除”按鈕,刪除選中的變量,單擊“關閉”按鈕,完成“刪除未用變量”的操作。

3、變量使用查詢

在用開發系統開發自己的應用程序時,用戶經常會碰到這樣壹種情況:變量在某畫面或某命令語言中使用過,用“更新變量計數”和“刪除未用變量”時,無法刪除該變量,又想改變變量屬性或刪除該變量,可以用“變量使用查詢”功能,找到某個變量使用的具體位置。選擇“系統”菜單,彈出下拉菜單,如圖4-10所示:

選擇“變量使用查詢”菜單,彈出提示對話框,如圖4-11所示:

單擊“取消”按鈕:不進行“變量使用查詢”操作;單擊“確定”按鈕:彈出“變量使用查詢”對話框,如圖4-12所示:

單擊“〉”按鈕,彈出“變量選擇”對話框,如圖4-13所示:

用鼠標左鍵雙擊或選中某變量後按“確定”按鈕,如選擇“生產線移動3”,“變量使用查詢”對話框,如圖4-14所示:

按“〉”圖標:重新選擇變量;按“取消”按鈕:放棄“變量使用查詢”操作;按“確定”按鈕:系統開始查詢變量使用情況,當查詢結束後,彈出“變量使用查詢”對話框,如圖4-15所示:

對話框參數說明:

序號:查詢編號。

畫面名稱或命令語言名稱:使用變量的畫面名稱或命令語言名稱。

動畫連接或命令語言描述:使用變量的動畫連接或命令語言描述。

次數:在“動畫連接或命令語言描述”中變量使用計數。

坐標[(x1,y1) -- (x2,y2)]:在畫面中使用變量的圖素的坐標。

  • 上一篇:主角每過壹關都有壹個高科技的“系統”。(等級好像是按村來的。城鎮。城市。。國家。)會的
  • 下一篇:如何用java語言加密即時通訊軟件
  • copyright 2024編程學習大全網