为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

iFIX趋势曲线的实现

2019-08-19 5页 doc 20KB 59阅读

用户头像

is_531654

暂无简介

举报
iFIX趋势曲线的实现基于VBA技术的大型组态软件—iFIX趋势曲线的实现2006-08-13 基于VBA技术的大型组态软件—iFIX趋势曲线的实现 Realizing the Trend of iFIX based on VBA Technology 本文来自2003年第12期“计算机控制,监测与管理”上 ,已经被阅读过433次 作 者 :武汉大学自动化系 李世红 关键词: 趋势曲线,iFIX 1  引言 iFIX组态软件是由美国Intellution公司开发的基于Windows 2000&NT的大型组态软件,它提供了灵活的组态、严密的安全措...
iFIX趋势曲线的实现
基于VBA技术的大型组态软件—iFIX趋势曲线的实现2006-08-13 基于VBA技术的大型组态软件—iFIX趋势曲线的实现 Realizing the Trend of iFIX based on VBA Technology 本文来自2003年第12期“计算机控制,监测与管理”上 ,已经被阅读过433次 作 者 :武汉大学自动化系 李世红 关键词: 趋势曲线,iFIX 1  引言 iFIX组态软件是由美国Intellution公司开发的基于Windows 2000&NT的大型组态软件,它提供了灵活的组态、严密的安全措施,以及优美的画面和强大的控制及组网能力,为使用者提供了丰富的选择。其中,趋势曲线的构建几乎是每个用户都关心的,通过历史趋势曲线用户可以观察到任意时间段的介质使用情况,并根据历史趋势后期历史数据,合理安排生产,提高生产效率。 安装iFIX的同时,也安装了演示例程iFIX sample system,其中的趋势曲线画面功能丰富,可以说能满足大多数用户的需求。用户可以在下拉列框选择实时和历史数据块,可以自定义历史数据的显示时间段,放大趋势曲线,改变趋势曲线的显示方向等等。它还可以随意删除和增加数据块。其实,实现这些功能并不困难,只需移植演示例程中的趋势曲线画面iFIX1_Trend.grf,并做适当的改动。 2  实现过程 (1) 历史定义 定义几组历史数据,全部为24小时文件。同时,还需要把HTC.EXE增加到SCU后台启动列表。 (2) 拷贝画面 假设iFIX安装在D盘。拷贝D:DynamicsSampleSystem Picture目录中的iFIX1_Trend.grf到D:DynamicsPIC目录下,这样,iFIX1_Trend.grf出现在工作台的系统树中,在其它画面设置切换按钮可以切换到此趋势画面。同时将D:DynamicsSampleSystemPicture中 的user.fxg和plugandsolve.fxg拷贝到D:DynamicsPIC。 (3) 导出文件 运行演示例程,查看趋势曲线画面iFIX1_Trend.grf的脚本。导出project_plugandsolve 和project_user中的模块和窗体到某个文件夹。记录project_plugandsolve和project_user的“引用”项(VBA中“工具”菜单下的“引用”)。 (4) 调整画面 打开IFIX工作台,修改iFIX1_Trend.grf的画面属性为“运行时画面可视”。去掉画面中的“采集值”,“平均值”,“高限值”,“低限值”,“从MSACCESS读取lab数据”,帮助按钮,”显示网格“按钮。调整趋势曲线显示区域和画面整体的布局。 (5) 配置Visionx控件 Vxcombo 控件和Vxdata控件相结合以显示数据块和连接数据库。和实时数据有关的控件为VxcmbRTpens(Vxcombo 控件)和VxdataRTpens(Vxdata控件),和历史数据有关的控件为VxcmbHistpens(Vxcombo 控件)和VxdataHistpens(Vxdata控件)。两个Vxcombo 控件属性不变,2个Vxdata控件的属性如附表所示。 (6) 修改VBA代码 在VBA编辑状态下,将3中导出的文件导入到相应的工程中,并对照"引用"项是否相符。 修改工程画面Project_iFIX1_Trend的VBA代码。 Private Sub CFixPicture_Initialize() 中注释掉Call SetPaths,vxDataHistPens.DBConnect,SetHelpFileLocation Me,ChangeFontsIfBelow1024x768 Me。相应的可以去掉和这四个函数相关的定义。同时,第五行修改双引号中的字符串为fix,即strChartStartDT = FindHistoricalFiles("fix")(0)。 事件Private Sub cmdAddHistPen_MouseDown中修改sNodeName的值,即sNodeName="Hist.fix."。 事件Private Sub cmdAddRTPen_Click()的代码改动以后如下: Dim objPen As Object, sTagName As String, sNextTag As String, sNextTagType As String Dim sNodeName As String, spotname As String, iPen As Integer, n As Integer Dim boolFound As Boolean On Error GoTo HandleError sNodeName = "Fix32.FIX." If vxcmbRTPens.Text <> "" Then Delete the place holder pen sTagName = Trim(vxcmbRTPens.Text) n = InStr(sTagName, ",") - 1 spotname = Left(sTagName, n) there add code sNextTag = ReadValue(sNodeName + spotname + ".A_NEXT", 1) If Err.Number=0 And sNextTag<>"" Then sNextTagType = ReadValue("Fix32.FIX." + sNextTag + ".A_NAME") If sNextTagType = "ETR" Then spotname = sNextTag + ".T_DATA" Else spotname = spotname + ".F_CV" End If DeleteDefaultPen Set objPen = objMainChart.AddPen(sNodeName + spotname, False) objPen.duration = ChartPenDuration End If Exit Sub HandleError: Exit here on error 在例程中,VxcmbRTpens列出的是数据块的名称,通常不便于操作员识别和操作,尤其是数据量比较大的时候,比较理想的做法是同时显示数据块名称和描述。由于VxdataRTpens"数据源"不支持直接连接两个字符串,所以笔者将数据块的描述做统一的定义,以满足这种要求。例如名为F101的数据块,它的描述定义为"F101,二号炼钢氧气用量"。这样列表框仅显示一个描述域就可以了。上面的代码就是针对这一目的做的改动。 3  操作方法 在"实时数据"的下拉列表框中,根据数据块名称和对应的描述选出要查看的变量,点击旁边的“增加笔”按扭即可。默认的显示时间段为“1小时”,查看实时数据时,最好选择“5分钟”,也可以根据需要选择“15分钟”,“30分钟”等等,这些选择都集中在“时间范围”组合框里。 在“历史数据”的下拉列表框中,参考“实时数据”列表框的变量及描述,选中要查看的变量,点击旁边的“增加笔”按扭即可。“时间范围”一般选择“6小时”,“12小时”,此时,历史趋势曲线仍是空白的。点击“起始日期及时间”按钮,出现对话框,设置历史数据的显示时间。 历史和实时数据块的趋势曲线可以按上述方法,同时显示多个。而且各个数据块的名称及描述以不同的颜色显示在图表的底端,用鼠标点击相应的数据块,则图表的横坐标和纵坐标以和此数据块相同的颜色“高亮显示”,纵坐标显示此数据块的量程。点击“删除笔”按钮,“高亮显示”的数据块从图表中删除。 默认的趋势曲线显示方式为从右至左,可以点击“从左至右显示数据”按钮,改变显示方向。此外,还可以进行多数据值显示、多时间段显示、局部放大显示。 4  应用实例 如图1所示,江苏某钢厂有炼铁、轧钢、炼钢、发电厂、制氧等生产区,iFIX通过工业以太网从下位机采入的实时数据有各车间的气(氧气、氮气、液化气、蒸汽、压缩空气等)、水(化学水、净化水、软化水等)、油、电四大项内容。主要完成厂级各生产部门的数据计量,并完成运行工况的自动监视、自动计量、经济核算、自动报表等任务,从而达到有效的生产调度、合理配置资源、提高生产效率的目的。由于测点多、介质使用量大,经常出现供大于求或供不应求的现象,一方面造成了严重的浪费,另一方面又影响了生产。以氧气为例,假如某车间某日需用氧气量10000L,而实际供给该车间的氧气量为15000L,那么多余的5000L就会以过剩量的形式放散掉,这样就造成了很大的浪费,有时会出现实际的氧气供给量达不到10000L的现象。用户通过查看各介质的历史显示趋势曲线,可以一目了然的观察到各介质的使用情况,根据趋势显示来确定各介质的供给量,这样就可以避免上述两种现象的发生,节约了大量的资源。据统计,自投入使用以来,本系统运行稳定,能够达到指导生产、提高生产效率的目的,每年为该厂节约上百万的资金。 5  结束语 江苏某钢厂动力计量系统采用本文介绍的方法,取得了良好的效果。使用该方法一张图表能同时显示多个历史和实时数据块,而不必为每一个数据块单独设计图表,所以比较灵活,实用性强。这种方法几乎不需编程,操作简便,用户很容易掌握,以其灵活、可靠、方便而深受用户好评。本技术也同样适用于其他运用工控组态软件iFIX的电力、化工、冶金、石油等国民经济各领域。
/
本文档为【iFIX趋势曲线的实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索