日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

ifix的MySQL数据库_iFIX 技术文章:iFIX历史数据库

發布時間:2024/7/5 数据库 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ifix的MySQL数据库_iFIX 技术文章:iFIX历史数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如下:

定義所需采集數據的標簽名(或者數據源), 并定義采集組存放這些標簽;

定義每個采集組的參數(節點、采集速度、相位、控制標簽、狀態和標簽);采集速度越快,則數據越準確,數據容量越大。iFIX定義的有效數據采集周期為:1s、2s、10s、20s、30s、1m、2m、10m、20m、30m(s:秒,m:分鐘)。iFIX推薦的最小采集周期為10秒,默認值是30秒。

定義每個歷史數據文件存儲的時間長度(以小時為單位,如4小時、8小時、24 小時)。

在SCU中啟動歷史采集程序htc.exe,指定文件存放位置。運行iFIX,開始采集數據,并把數據保存在歷史數據文件中。

計算歷史數據需要占用的磁盤空間容量的公式如下:

文件占用字節數 = (3500×A) + ((8×B)×C)

A – 采集組的個數;

B – 每個采集組包含的平均采集點數;

C – 所有采集組將數據寫入文件的次數(所有采集組每個標簽點采集并寫入文件的數據記錄條數)

【例】以歷史定義為 2 個采集組,采集速度為 1 分鐘,使用 4 小時的文件格式。一個組包含 80 個標簽名,而另一個包含 20 個。在此情況下,A、B 和 C 的值如下:

變量

數值

計算

A

2

2個采集組 / 文件

B

50

= (80+20) ÷ 2

C

480

60條(每分鐘一條)/ 小時 × 4小時(4小時文件)×2(個采集組)= 480

將上表數值帶入公式計算歷史數據文件大小:

(3500 x 2) + ((8 x 50) x 480) = 199,000 bytes

因此,此配置所生成的 4 小時歷史數據文件大約 200K。

[注]:此公式假定數據值在每個掃描周期都超過記錄死區,因此并不是精確的評估。根據數據庫配置,結果可能有出入。

如下:

字段

數據類型

字段長度

含義

NODE

文本

8

節點名稱

TAG

文本

32

標簽名稱

FIELD

字段

19

字段名稱

VALUE

單精度型

默認

DATETIME

日期/時間

默認

日期時間

MODE

文本

10

模式

STATUS

文本

20

狀態

ALARM

文本

40

警告

INTERVAL

文本

9

間隔

[注]每個節點生成一個以節點名稱為數據表名稱的數據表

iFIX。為了實現 ODBC 連接和 SQL 查詢,確認 SQL 查詢語句里所查詢的表名和在歷史數據采集組中定義的節點名相同。使用 DSN 名稱 FIX Dynamics Historical Data。

以下為使用

Private Sub QueryDatabase(strTag As String, strStartTime As String, strEndTime As String)

Dim conn As Connection

Dim rs As Recordset

Dim strQuery As String

strQuery = "SELECT * FROM THISNODE " + _

"WHERE TAG = '" + strTag + "' " + _

"AND INTERVAL = '1.0' " + _

"AND (DATETIME >={ts '" + strStartTime + "'} AND " + _

"DATETIME <={ts '" + strEndTime + "'})"

If conn Is Nothing Then

Set conn = New Adodb.Connection

conn.ConnectionString = "DSN=FIX Dynamics Historical Data;UID=sa;PWD=;"

conn.Open

End If

If rs Is Nothing Then

Set rs = New Adodb.Recordset

End If

rs.Open strQuery, conn, adOpenForwardOnly, adLockReadOnly, adCmdText

If rs.RecordCount > 0 Then

'讀取記錄

Do While (Not rs.BOF And Not rs.EOF)

strTime =rs.Fields("DATETIME").Value & ""

'下一條

rs.MoveNext

Loop

End If

rs.Close

conn.Close

Set conn = Nothing

Set rs = Nothing

End Sub

總結

以上是生活随笔為你收集整理的ifix的MySQL数据库_iFIX 技术文章:iFIX历史数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。