日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

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

發(fā)布時(shí)間:2024/7/5 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ifix的MySQL数据库_iFIX 技术文章:iFIX历史数据库 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

如下:

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

定義每個(gè)采集組的參數(shù)(節(jié)點(diǎn)、采集速度、相位、控制標(biāo)簽、狀態(tài)和標(biāo)簽);采集速度越快,則數(shù)據(jù)越準(zhǔn)確,數(shù)據(jù)容量越大。iFIX定義的有效數(shù)據(jù)采集周期為:1s、2s、10s、20s、30s、1m、2m、10m、20m、30m(s:秒,m:分鐘)。iFIX推薦的最小采集周期為10秒,默認(rèn)值是30秒。

定義每個(gè)歷史數(shù)據(jù)文件存儲(chǔ)的時(shí)間長(zhǎng)度(以小時(shí)為單位,如4小時(shí)、8小時(shí)、24 小時(shí))。

在SCU中啟動(dòng)歷史采集程序htc.exe,指定文件存放位置。運(yùn)行iFIX,開(kāi)始采集數(shù)據(jù),并把數(shù)據(jù)保存在歷史數(shù)據(jù)文件中。

計(jì)算歷史數(shù)據(jù)需要占用的磁盤(pán)空間容量的公式如下:

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

A – 采集組的個(gè)數(shù);

B – 每個(gè)采集組包含的平均采集點(diǎn)數(shù);

C – 所有采集組將數(shù)據(jù)寫(xiě)入文件的次數(shù)(所有采集組每個(gè)標(biāo)簽點(diǎn)采集并寫(xiě)入文件的數(shù)據(jù)記錄條數(shù))

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

變量

數(shù)值

計(jì)算

A

2

2個(gè)采集組 / 文件

B

50

= (80+20) ÷ 2

C

480

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

將上表數(shù)值帶入公式計(jì)算歷史數(shù)據(jù)文件大小:

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

因此,此配置所生成的 4 小時(shí)歷史數(shù)據(jù)文件大約 200K。

[注]:此公式假定數(shù)據(jù)值在每個(gè)掃描周期都超過(guò)記錄死區(qū),因此并不是精確的評(píng)估。根據(jù)數(shù)據(jù)庫(kù)配置,結(jié)果可能有出入。

如下:

字段

數(shù)據(jù)類(lèi)型

字段長(zhǎng)度

含義

NODE

文本

8

節(jié)點(diǎn)名稱(chēng)

TAG

文本

32

標(biāo)簽名稱(chēng)

FIELD

字段

19

字段名稱(chēng)

VALUE

單精度型

默認(rèn)

DATETIME

日期/時(shí)間

默認(rèn)

日期時(shí)間

MODE

文本

10

模式

STATUS

文本

20

狀態(tài)

ALARM

文本

40

警告

INTERVAL

文本

9

間隔

[注]每個(gè)節(jié)點(diǎn)生成一個(gè)以節(jié)點(diǎn)名稱(chēng)為數(shù)據(jù)表名稱(chēng)的數(shù)據(jù)表

iFIX。為了實(shí)現(xiàn) ODBC 連接和 SQL 查詢(xún),確認(rèn) SQL 查詢(xún)語(yǔ)句里所查詢(xún)的表名和在歷史數(shù)據(jù)采集組中定義的節(jié)點(diǎn)名相同。使用 DSN 名稱(chēng) 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

總結(jié)

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

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。