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历史数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: word 插入代码_突破Word页码困境
- 下一篇: 请输入星期的第一个字母c语言,C语言经典