深入了解IFIX标签域名的含义和使用
- 格式:docx
- 大小:431.23 KB
- 文档页数:6
关于IFIX历史报警数据存储与查询实例一.ODBC服务的连接开始-设置-控制面板-管理工具-数据源ODBC选用户DNS-添加-选Microsoft Access Driver(*.mdb)数据源名:Myalarm选(或创建)数据库名:Alarm.mdb, 文件类型:Access,驱动器D:连接池-禁止二.系统SCU的配置SCU-IFIX-配置-报警-报警ODBC服务,启动-修改-区域(A):从报警区域数据库中选择- CLQS-ALM-增加-确定配置:数据库类型:Access数据库标识符:Myalarm列配置:选9项现在创建表:FIXALARMS(默认表名)其它默认-确定三.控件的引用1.日期时间控件典型装VB6.0后, 双击选Microsoft date and time picker控件日期控件-属性-格式:1-dtpShortDate,有效前不打勾。
其它默认,时间控件-属性-格式:2-dtpTime, 有效前不打勾。
其它默认2.vxData控件(数据管道)IFIX4.0工具箱底部vxData图标右键-属性vxData对象-提供者:Microsoft OLE DB Provider for ODBC Drivers数据库:DNS名:Myalarm,用户名密码选项均空---测试连接-测试连接成功-确定记录源:命令类型:SQL命令应用-确定3.vxGrid控件(显示)工具箱底部vxGrid图标选控件 vxGrid1-右键-动画-高级-高级动画配置-行为-ADORecords-动画打勾数据源:报警记录一览表.vxData1.ADORecords数据转换:对象四.VBA脚本的编写1.初始化脚本代码'初始化设置Private Sub CFixPicture_Initialize()'设定默认开始时间Me.DTPFromDate = DateAdd("d", -1, Now)Me.DTPFromTime = ("00:00:00")'设默认结束时间Me.DTPEndDate = NowMe.DTPEndTime = Now'设置时间'vxData1.QP1 = Format(Me.DTPFromDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPFromTime.Value, "HH:MM:SS")'vxData1.QP2 = Format(Me.DTPEndDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPEndTime.Value, "HH:MM:SS")End Sub2. 查询按扭CmbSearch代码如下:'开始查询Private Sub CmbSearch_Click()'连接自动刷新Me.vxData1.AutoRefresh = True'Format函数用于设定时间格式vxData1.QP1 = Format(Me.DTPFromDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPFromTime.Value, "HH:MM:SS")vxData1.QP2 = Format(Me.DTPEndDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPEndTime.Value, "HH:MM:SS")'设定查询内容'从数据库中查询符合时间段的数据Me.vxData1.SQLCommand = "SELECT *FROM FIXALARMS WHERE" & _"(FIXALARMS.ALM_NATIVETIMEIN >= {ts'QP1'})AND(FIXALARMS.ALM_NATIVETIMELAST <= {ts 'QP2'})"'刷新数据Me.vxData1.RefreshMe.vxGrid1.RefreshEnd Sub3. 完整的VBA按扭代码如下:'初始化设置Private Sub CFixPicture_Initialize()'设定默认开始时间Me.DTPFromDate = DateAdd("d", -1, Now)Me.DTPFromTime = ("00:00:00")'设默认结束时间Me.DTPEndDate = NowMe.DTPEndTime = Now'设置时间'vxData1.QP1 = Format(Me.DTPFromDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPFromTime.Value, "HH:MM:SS")'vxData1.QP2 = Format(Me.DTPEndDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPEndTime.Value, "HH:MM:SS")End SubPrivate Sub CFixPicture_KeyDown(ByVal KeyCode As Long, ByVal Shift As Long, ContinueProcessing As Boolean)End Sub'开始查询Private Sub CmbSearch_Click()'连接自动刷新Me.vxData1.AutoRefresh = True'Format函数用于设定时间格式vxData1.QP1 = Format(Me.DTPFromDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPFromTime.Value, "HH:MM:SS")vxData1.QP2 = Format(Me.DTPEndDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPEndTime.Value, "HH:MM:SS")'设定查询内容'从数据库中查询符合时间段的数据Me.vxData1.SQLCommand = "SELECT *FROM FIXALARMS WHERE" & _"(FIXALARMS.ALM_NATIVETIMEIN >= {ts'QP1'})AND(FIXALARMS.ALM_NATIVETIMELAST <= {ts 'QP2'})"'刷新数据Me.vxData1.RefreshMe.vxGrid1.RefreshEnd Sub以上工作结束后保存,退出。
第二章iFIX结构本节目的本节讲述iFIX软件的基本情况,包括以下内容●iFIX功能●产品能力介绍●系统结构概述2.1.基本结构图2-1:分布式配置示例2.2.l/0驱动器A.过程数据●ifix用于连接工厂中的过程硬件●传感器和控制器数据送入过程硬件中的寄存器,过程硬件包括:-PLC可编程控制器-DCS-分布式控制系统-简单I/0设备iFIX软件从过程硬件中获取源数据B. IO驱动器●iFIX和PLC之间的接口称为IO驱动器●每一个IO驱起器支特指定的硬件●IO驱动器功能-从IO设备中读(写)数据(称为轮询polling)-将数据传/输出至驱动器映像表(Driver Image Table)中的地址中-DIT有时也称为轮询表(Poll表)●IO驱动器以Poll记录的格式收集数据-用PLC寄存器中的地址轮询(Poll)记录-轮询记录可以是单个数据,也可以是一段数据-轮询记录的数据一般具有相同的类型-例如:20个连续的整数可以配置为一个轮询记录●.IO contol用来监视和控制IO驱动器-它是任务控制(Mission Control)的一部分,后面的章节将进行讨论C. DIT(驱动器映像表(Driver Image Table)●是在SCADA服务器内存中存储IO驱动器存储轮询记录数据的区域●IO驱动器刷新DIT中的记录-每一个轮询记录有一个刷新率-刷新率称为轮询(Poll)时间●例如:-下图中,两个IO驱动器将数据读入DIT表-这种情况下,两种不同的过程硬件就有两个IO驱动器图1-3:基本结构(I/O驱动器)2.3.过程数据库A. 扫描、报警和控制(SAC)●SAC功能包括:-从DIT中读取数据-将数据传至过程数据库PDB-数据超过报警设定值则报警●SAC从DIT中读取数据的速率称为扫描时间●可以使用"任务控制"程序(Mission Control)进行SAC监视-任务控制在后面的章节进行讨论B. 过程数据库PDB●代表由标签变量(也叫块)组成的一个过程●标签是一个完成某个过程功能的指令单元●标签功能包括:-将过程值与报警限进行比较-基于特殊的过程数据进行计算-将数据写入过程硬件●一系列标签可以连接在一起,形成链-链(chain)可以完成监视或控制回路2.4.图形显示A. 操作员显示●一旦数据进入PDB,它们可以用图形方式进行显示●Intellution Workspace以运疗模式提供HMI功能-HMI人机接口(有时也称MMI)-它可与图形显示结合使用●图形对象用于显示数据库值-图形对象包括:a)图表b)数据c)图形动画●这些图形对象可以显示:-报警信息-数据库信息-某标签的特殊信息2.5 分布式结构A. 数据库的标识信息●数据源提供了数据信息标识的基本方法●句法:SERVER.NODE.TAG.FIELD-SERVER:OPC数据服务器的名称-NODE:数据库所在的节点名-TAG:数据库中的标签名称-FIELD:标签的特殊参数信息(域名)●例如,FIX32.SCADA1. FLOW-IN.F_CV-显示FLOW-IN的当前值(F-CV)-FLOW-IN驻留在SCADA1节点的PDB里-SCADA1的数据来自OPC服务器FIX32●使用数据源的名称,可以从本地或远程节点浏览数据B. 理解域(FiELD)●一般来说,有三种类型的域●数字数据类型、文本数据类型和图形数据类型●数字数据类型:F_*(F为浮点)例如:F_CV 表示当前值●文本数据类型:A_*(A为ASCII码)例如:A_CV 表示当前值●图形数据类型:T_*(F为浮点)例如:T_DATA 表示当前数据C. 数据流●IO驱动器读取过程硬件-IO驱动器从过程硬件的寄存器中读取数据-该数据传入DIT-驱动器读取数据的速率称为poll时间●.SAC扫描DIT-SAC从DIT中读数-该数据传入过程数据库PDB-SAC读数的速率称为扫描时间●InteHIlumWorkspace向PDB发出请求-图形显示中的对象显示PDB的数据-其它应用可向PDB请求数据D.数据流-逆向●.数据也可写入硬件-反顺序执行上述过程,可以完成该功能-数据从图形显示送入PDB,再传到DIT-IO驱动器从DIT中取数,再写入PLC图1-6:基本网络结构。
域参数索引自动/手动状态 (_AUTO)显示块的自动/手动状态。
此状态确定块如何取值。
如果状态为:则数值取自:自动 I/O设备。
手动操作员输入或来自另一块,CDA或处方的数值。
如果块连接为手动状态,按切换为自动状态。
如果块连接为自动状态,按切换为手动状态。
注: 也可以用只读的浮点格式(F_AUTO)显示此域格式。
当块为自动方式时此域参数显示1,当为手动方式时显示0。
如果想要基于块的特殊条件动态改变画面中对象的颜色,可以应用此工具。
扩展趋势块域参数下列特殊块域参数应用于扩展趋势块。
那些可以用浮点格式的域用红色标识。
域参数显示... 有效输入A_BC 输入于清除缓冲区域的清除缓冲区标志状态。
显示是或否。
是,否A_GET1 其值被级联的趋势块。
点名输入于输入域。
输入以下格式的点名: [ETR block].F_INP 扩展趋势块点名A_INP 通过输入于输入域的扩展趋势块传送给块的输入值。
数字值A_TIME 输入于平均/Com 压力域的数字。
数字值G_DATA 图形连接中用于显示趋势信息的数据。
只显示I/O地址域参数 (_IOAD)I/O工程变换域参数 (_IOSC)I/O驱动器名称域参数 (_IODV)I/O硬件类型域参数 (_IOHT)On-Off控制块域参数下列特殊块域参数应用于On-Off控制块。
那些可以用浮点格式的域用红色标识。
域参数显示... 有效输入A_C1ENA 联系1 是否被允许的状态。
状态输入于激活域。
显示是或否。
是,否A_C2ENA 联系2 是否被允许的状态。
状态输入于激活域。
显示是或否。
是,否A_HI1 联系1的高限。
值输入于 C1-OFF 域。
数字值A_HI2 联系2的高限。
值输入于 C2-OFF 域。
数字值A_IOAD1 输入于低联系数据组框 I/O 地址域的 I/O 地址。
参见I/O 驱动器手册查看有效输入A_IOAD2 输入于高联系数据组框 I/O 地址域的 I/O 地址。
ifix教程ifix教程编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(ifix教程)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为ifix教程的全部内容。
ifix教程目录1......................................................... IFix的安装1 1。
1安装准备 (1)1。
2安装 (1)2。
基本功能和原理 (3)2。
1基本功能 (3)2.2工作原理 (4)2.3 典型的系统结构 (5)3、新建工程 (6)4、iFix开发设计 (10)4.1 iFix工作台简介 (10)4。
2 画面设计 (12)5、 SCADA系统 (19)5。
1数据库管理器 (19)5。
2 I/O驱动的配置 (23)6、实现动画 (27)6。
1 数据源 (27)6.2 动画设计 (28)6。
3 共享阈值表 (30)6.4 使用标签组 (32)7、安全配置 (34)7.1 权限配置 (34)7。
2 配置运行环境 (35)8、VBA脚本设计 (36)8。
1 VBA编辑环境 (36)8.2 脚本编辑 (37)1.IFix的安装1.1安装准备安装IFix前请先安装好office软件,推荐使用office2010版本,Ifix5.1之前的版本不支持Windows7及以上的操作系统1。
2安装安装过程中的选项如下选择典型安装为了方便在不同电脑间移植工程请用默认安装路径选SCADA服务器,节点名保持默认点跳过选择否结束安装安装结束后重启电脑2。
基本功能和原理2.1基本功能iFIX执行基本功能以使特定的应用程序执行所赋予的任务。
iFIX 技术文章:深入了解标签域名的含义和使用
我们在这里和大家探讨的并不是插入数据链接的步骤,节点域名的含义和用途。
请完整地阅读本文,相信看后会使你对节点域名有一个深入的理解。
首先,我们先回想一下在iFIX画面中插入数据链接的操作,插入节点.标签.域名F_CV是最为普遍的操作,其插入过程如下:
1. 在工具栏中点击【数据连接戳】,在弹出的数据连接对话框中点击【…】。
插入标签域名操作步骤一操作演示图
2. 在弹出的表达式编辑对话框中,进行如下操作。
插入标签域名操作步骤二操作演示图3. 完成操作后返回数据连接对话框。
插入标签域名操作步骤二操作演示图
4. 点击【确定】后,在画面对应的位置点击鼠标左键,完成数据连接戳的插入。
接下来,我们一起关注表达式编辑器中域名选项。
刚才我们选择的是F_CV(节点标签的当前值)。
其他域名是指什么呢?先了解一下域名名称前缀A_*、F_*、E_* 的含义。
A_*、F_*、E_* 等表示字段存储数据的类型(format)。
格式含义如下:
格
式格式含义使用范围
A_* ASCII 码格式。
画面中的数据连接和对象。
F_* 浮点数格式。
画面中的数据连接和对象,和块到块的引用。
E_* 15 位精度格
式。
画面中的数据连接和对象,和块到块的引用。
有效值为+/-3.40282300000000e+/-38,精度为15
位。
T_* 图形格式。
图表。
域名格式列表
从上面的表格中不难看出我们在插入A_为前缀的域名时其实是获得了一个对应的字符串(文本),而F_和E_为前缀的域名则获得的是精度不同的数值。
T_为图形格式。
[提示]当我们读取或写入某个标签的F_CV域名时,就是读取或写入该标签一个浮点型数值。
由此我们可以做出一个简单的结论,如果向该标签的F_CV中123、123.0、123.12等数值时都能够正确执行,但是写入值“ABC”的话显然不正确,因为“ABC”不是数值。
如果要向标签里写入“ABC”的话,一定是向A_CV中写值。
接下来我们一起关注域名格式符(A_、F_、E_T_)后部分(如CV、HI等)的含义。
先看一张图,或许看了这张图后你会马上明白这个部分所表示的含义了。
模拟量输入-基本选项卡
这是模拟量输入设定(基本选项卡)的对话框示意图,我们在新建数据块时需要对相应的设定选项进行设定,如标签名、高限、低限等。
其实iFIX系统在我们设定并保存的数据块各项设定内容记录在这个数据块中对应的域名中(以面对对象编程思想为思考方式,也可以把它理解成字段或成员、属性)。
在iFIX运行时,我们可以随时读取或修改数据块的部分信息。
如我们在画面中,或某个函数中想获取或修改这个数据块的描述内容时,只要读取或修改这个数据块A_DESC的域名字段值即可。
回到iFIX数据块这个“对象”,它具有很多属性,有名称(标签名),有对应的驱动器和地址(数据来源),有对应的报警要求…。
当然数据块也会因为类别的不同,具备不同的属性。
另外有些属性系统允许我们读取,有些则被隐藏起来由系统控制使用,有些只能读取不能更改,有些可以随时变动…
相信到这里,你应该对域名有了一个较为深入的了解了。
接下来,就是对几个常用数据块类型的域名做一个整理,以便使用时能够快速的找到对应的域名。
在这里,我们将我们做的整理和大家一起分享一下。
∙模拟输入块(AI) 字段图解
∙模拟输入块(AI) 字段速查
∙模拟输出块(AO) 字段图解
∙模拟输出块(AO) 字段速查
∙数字输入块(DI) 字段图解
∙数字输入块(DI) 字段速查
∙数字输出块(DO) 字段图解
∙数字输出块(DO) 字段速查
‹iFIX 技术文章:IGS支持的数据类型速查
TCP/IP 数据包结构详解。