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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/472014.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python只能以程序方式执行死刑_Python程序设计基础_2020智慧树网课答案章节答案...

Python程序设计基础_2020智慧树网课答案章节答案答案&#xff1a;更多相关问题审判时怀孕的妇女&#xff0c;无论犯了多么严重的罪&#xff0c;最高可以判处()。A.死刑立即执行B.无期徒刑C.有期徒刑甲见他人贩卖毒品获得巨额暴利,遂起贩毒之意,但苦于无毒品来源,便制造了大量假…

WPF系列 自定控件

引言 WPF中微软提供了一些基本的控件&#xff0c;但是工作中这些基础的控件往往不能满足我们的需求&#xff0c;这个时候我们就需要根据实际的需求去开发自己的控件&#xff0c;但要注意不是所有功能不满足的情况都需要通过自定义控件来实现。实际上一旦用到自定义控件&#xf…

Paddle 使用预训练模型 实现快递单信息抽取

文章目录1. 导包2. 数据处理3. 辅助函数3.1 评估函数3.2 预测函数3.3 预测结果解码4. 训练填写快递单据可以直接把所有信息直接粘贴进客户端&#xff0c;客户端自动识别 省市、人名、电话等信息&#xff0c;分类填入&#xff0c;然后打印出来粘贴。无须人工填写&#xff0c;加快…

java oracle 分区查询_深入学习Oracle分区表及分区索引

深入学习Oracle分区表及分区索引关于分区表和分区索引(About Partitioned Tables and Indexes)对于10gR2而言&#xff0c;基本上可以分成几类&#xff1a;•    Range(范围)分区•    Hash(哈希)分区•    List(列表)分区•    以及组合分区&a…

python3 可执行文件_将python3打包成为exe可执行文件(pyinstaller)

我们工作中可能会遇到&#xff0c;客户需要一个爬虫或者其他什么功能的python脚本。这个时候&#xff0c;如果我们直接把我们的python脚本发给客户&#xff0c;会有两个问题&#xff1a;1、客户的电脑或者服务器可能并没有安装python环境&#xff0c;这样就直接导致客户拿到pyt…

LeetCode 1935. 可以输入的最大单词数

文章目录1. 题目2. 解题1. 题目 键盘出现了一些故障&#xff0c;有些字母键无法正常工作。 而键盘上所有其他键都能够正常工作。 给你一个由若干单词组成的字符串 text &#xff0c;单词间由单个空格组成&#xff08;不含前导和尾随空格&#xff09;&#xff1b; 另有一个字符…

C# DateTime简单的定时器用法

DateTime是C#中的时间类&#xff0c;有公共索引器Now可以获取当前时间。 如果制作简单定时器的话&#xff0c;可以这样: 初始化&#xff1a;DateTime lasttimeDateTime.Now; TimeSpan timeintervalnew TimeSpan(1000); bool CheckTimer() { if(DateTime.Now.Substract(lasttime…

java 播放swf_我用java写了一个播放swf动画的类运行时报错了,代码和报错如下…...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼哪位高手帮小妹看看哈&#xff1b;谢谢啦&#xff0c;代码如下import java.awt.BorderLayout;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.SwingUtilities;import chrriis.common.UIUtils;import chr…

python rsa 公钥解密_python使用rsa库做公钥解密(网上别处找不到)

版权申明&#xff1a;本文为博主窗户(Colin Cai)原创&#xff0c;欢迎转帖。如要转贴&#xff0c;必须注明原文网址http://www.cnblogs.com/Colin-Cai/p/8013009.html作者&#xff1a;窗户QQ&#xff1a;6679072E-mail&#xff1a;6679072qq.com使用RSA公钥解密&#xff0c;用o…

立足现在,规划未来

Now Linux ShellPythonCREsed/awk LispSQE ISO9001/TS16949SPCSQL MySQLNoSQLLCDMore MBA转载于:https://www.cnblogs.com/omicron/p/4495644.html

LeetCode 1936. 新增的最少台阶数

文章目录1. 题目2. 解题1. 题目 给你一个 严格递增 的整数数组 rungs &#xff0c;用于表示梯子上每一台阶的 高度 。 当前你正站在高度为 0 的地板上&#xff0c;并打算爬到最后一个台阶。 另给你一个整数 dist 。 每次移动中&#xff0c;你可以到达下一个距离你当前位置&am…

mysql事务与jdbc事务_事务(mysql事务、jdbc事务)

一、MYSQL事务1、事务概念&#xff1a;事务是一个用户定义的数据库操作序列&#xff0c;这些操作要么全做要么全不做&#xff0c;是一个不可分割的工作单位。事务可以是一条sql语句&#xff0c;一组sqi语句或者整个程序。特性(ACDI)&#xff1a;(1)原子性&#xff1a;一个事务中…

access 如何使用dolby_Access/VBA/Excel-Access表及字段创建-03

Part 1&#xff1a;前面的话对Access数据库的大部分操作都可以通过SQL语言来实现SQL:Structure Query Language&#xff0c;结构化查询语言&#xff0c;语法简单&#xff0c;非常容易学SQL语言的执行可借助于ADO&#xff0c;ADO本身也支持对数据库的各种操作&#xff0c;但是涉…

LeetCode 1937. 扣分后的最大得分(动态规划)

文章目录1. 题目2. 解题1. 题目 给你一个 m x n 的整数矩阵 points &#xff08;下标从 0 开始&#xff09;。 一开始你的得分为 0 &#xff0c;你想最大化从矩阵中得到的分数。 你的得分方式为&#xff1a;每一行 中选取一个格子&#xff0c;选中坐标为 (r, c) 的格子会给你…

java代码测试---插入排序和选择排序

1 public class QuickSort {2 3 //插入排序4 //插入前的序列是排序好的&#xff0c;将新插入的数值与之前的数值比较5 //直到找到合适的位置6 public static int[] quickSort(int[] arr){7 8 for(int j1;j<arr.length;j){9 …

mysql正则表达式配置_G. MySQL正则表达式

附录G&#xff1a;MySQL正则表达式正则表达式是为复杂搜索指定模式的强大方式。MySQL采用Henry Spencer的正则表达式实施&#xff0c;其目标是符合POSIX1003.2。请参见附录C&#xff1a;感谢。MySQL采用了扩展的版本&#xff0c;以支持在SQL语句中与REGEXP操作符一起使用的模式…

python列表appendtext_python-默认文本以及列表textvariable Entry小部...

为了将默认文本放在Entry小部件中,可以使用here所述的insert()方法.box.insert(0, "Value 1") # Set default text at cursor position 0.现在,为了在用户在框内单击鼠标后更改框的内容,您需要将事件绑定到Entry对象.例如,以下代码在单击该框时将其删除. (您可以阅读…

逻辑斯谛回归模型

逻辑斯谛回归模型是研究因变量为二分类或多分类观察结果与影响因素之间的关系的一种概率型非线性回归模型。逻辑斯谛回归系数通过最大似然估计得到。Logistic函数如下&#xff1a; 式中x为 这里是输入变量的n个特征&#xff0c;然后按照Logistic函数形式求出。 假设有n个独立变…

mysql监控平台怎么做_MySQL监控平台的构建方法

MySQL监控平台的构建方法发布时间&#xff1a;2020-05-23 14:13:12来源&#xff1a;亿速云阅读&#xff1a;159作者&#xff1a;鸽子概述对于MySQL的监控平台&#xff0c;相信大家实现起来有很多了&#xff1a;基于天兔的监控&#xff0c;还有基于zabbix相关的二次开发。相信很…

查看宝塔面板账号密码命令_宝塔面板升级到最新版图文教程

往期教程&#xff1a;宝塔面板教程&#xff08;1&#xff09;基于云服务器搭建宝塔面板教程最全详解宝塔面板教程&#xff08;2&#xff09;宝塔面板添加WordPress站点详细图文教程宝塔面板教程&#xff08;3&#xff09;基于宝塔面板成功配置网站SSL安全证书宝塔面板教程&…