iFix培训手册V01.doc_第1页
iFix培训手册V01.doc_第2页
iFix培训手册V01.doc_第3页
iFix培训手册V01.doc_第4页
iFix培训手册V01.doc_第5页
免费预览已结束,剩余69页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

iFix培训手册前言制作本手册的目的,是协助工程师在进行实际项目中,顺利完成iFix上位系统工程。在进行简单的原理介绍及选型方法后,将着重讲解正常的工程制作过程,以及常见问题的解决方法,以供参考。目录iFix培训手册1前言1一、iFix原理介绍41.网络结构42.通讯方式5二、选型方式6三、建立新工程8四、网络和冗余配置111.Hosts文件配置122.SCU文件配置143.工作台配置16五、画面绘制171.新建画面182.图例选择223.流程图绘制244.属性修改24六、通讯配置251.OPC驱动配置262.MBE驱动配置32七、数据库建立341.过程数据库362.iFix历史库413.报警ODBC库50八、点位连接521.开关量单点显示522.模拟量单点显示543.数字量单点操作554.模拟量单点操作565.阀门状态连接576.模拟量显示59九、面板制作591.面板画面602.标签组文件配置613.画面设置62十、报表制作631.制作模板642.数据读取643.数据处理664.数据显示70十一、工程备份与还原701.工程备份702.工程恢复73十二、技术支持74一、iFix原理介绍1.网络结构iFix节点分为三类-SCADA Server、iClient、和HMI Pak:l SCADA Server节点可以从数据PLC等设备中采集、控制数据,但是无法显示图形界面,可以称为盲节点(Blind SCADA)。 l iClient则可以根据SCADA Server中读到的数据显示在图形界面中,且可以多个客户端读取同一个服务器,但是不能直接从数据中读取数据。l HMI Pak同时具备数据采集和图形界面显示功能的节点,它不但可以自身显示图形界面,也可以让其他客户端读取数据。SCADA服务器以及通讯网络均可实现冗余功能。因此,常见的系统构架方式如下图所示:2.通讯方式iFix的通讯为I/O驱动、过程数据库(PDB)、iFix工作台三层式结构: l I/O驱动与下位设备的通讯软件(如RSLink)进行连接,将现场数据放入计算机内存中 l 过程数据库通过SAC (扫描、报警控制任务)读取驱动中的数据,并作为一个OPC/EDA服务器向外发送数据 iFix工作台作为一个OPC客户端读取OPC/EDA服务器中的数据。由图中可以看出,SAC任务可以读取第三方I/O驱动中的数据,但是其通讯速度和稳定性未必有iFix自带的好。而工作台也可以作为OPC客户端读取其他OPC服务器发送的数据,且当该OPC服务器直接读取现场设备的时候,其通讯速度将比正常方式更快。但以这种方式通讯来的数据不进入过程数据库,不能实现报警等功能,也不能配以描述,不方便管理。因此可以根据需要选择适当的通讯方式。二、选型方式iFix的选型,相对于其他上位软件来说比较简单。因为其程序全部相同,只是由不同硬件狗将其部分功能进行了限制。而且iFix本身可以记录历史数据供历史趋势、报表等使用。具体选型由如下几项内容组成。按连接现场的I/O点的数量划分75点、150点、300点、900点、Unlimted(无限点);按数据采集/显示功能分为SCADA 版、iClient 版、SCADA Pak(HMI Pal)版;按使用方式划分为开发版(Developer)、运行版(RunTime)、只读版(ReadOnly);按组件功能分为标准版(Standard)、增强版(PLUS) 、专业版(Profression);类型功能iFIX Standard 标准版(Std) iFIX Plus 增强版 iFIX Professional 专业版(Pro) FIX Historian(历史数据) All Database Blocks(数据库块) 无SQL块 有SQL块 有SQL块 VBA Editor(VBA 编辑器) Event Schduler (事件调度) Workspace(工作台) Database Pack(VisiconX, SQL, ODBC) 数据控件 Distributed,Client/Server Networking网络功能 Auto Failover(冗余切换) Auto AlarmO(自动报警) Recipe(处方) OPC Pack (iFIX workspace OPC Client, iFIX PDB OPC Server) 对于功能组件的选择,有如下说明:1.由于实际工程通常需要对历史库的支持,以及服务器与客户端之间的网络通讯功能。因此一般需要选择增强版以上的版本。2.如果需要服务器的冗余功能,则需要专业版。但由于专业版的其余功能实际用处较小,可采用专业版+冗余功能模块的方式。综合上述各方面,产生出最终选择出的型号,如:iFIX Plus SCADA Pak Unlimited Developer Ver 5.0 ChineseiFIX Plus SCADA Pak Unlimited Runtime Ver 5.0 ChineseiFIX Standard HMI Pak 900 I/O Developer Ver 5.0 ChineseiFIX Standard HMI Pak 900 I/O Runtime Ver 5.0 Chinese三、建立新工程对于大多数软件来说,建立一个新工程是个很简单的事情,一般只需一到两步。但是iFix建立新工程的方法较为复杂,因此特设此章节进行具体讲解。首先需要打开iFix启动界面。点击运行系统配置应用,进入iFix进行管理配置的专用工具SCU。新的工程,就是由新的配置文件开始的。如果默认打开的配置文件已经是配置好的状态,则点击文件新建。首先需要指定新建工程的存储位置,点击配置路径。点击项目后面的按钮或手动填写工程路径。需要指出的是,新建项目不要放在默认也就是iFix的源目录中,否则当工程出现错误时,将会使整个iFix软件出现问题,而重新安装iFix也比较复杂。在更改完项目的地址后,点击更改项目按钮,本工程所属的各文件夹路径也会进行相应变更。点击出现提示时,选择是。设定完毕后点击确定,出现提示,选择创建全部。之后的警告选择继续。此时可以在资源管理器中看到新建的工程文件夹已经被建立,并且其大小不为0。此时工程的基础已经建立,其他的各项配置在稍后各章节介绍。此时选择文件另存为,把次SCU配置文件存入该工程的/LOCAL子目录中。注意此处不可直接选择保存,否则将会影响到其他iFix工程的运行。另存时,提示选择是。表明以后启动iFix时,将默认启动该工程。再次进入iFix启动界面,可以看到SCU文件已是刚才新建立的了。若想启动其他工程,则选择对应的SCU文件即可。点击左方按钮,便可启动该工程。四、网络和冗余配置iFix网络中的每个个体,被称为节点,节点名是其唯一标识。在制作一个项目之前,一定要规划好网络中各个节点的节点名。因为每个数据源都是以节点名.数据名.点域的形式连接的,如果在连点完成后才修改节点名,将会是非常浩大的工作量。如果本工程为单站系统,可以选择启用本地节点别名,在以后连点时,节点名均使用.ThisNode,这样在工程完成后若需更改节点名或者将该工程拷贝到其他电脑上运行,都会避免不必要的麻烦。启用的方法为:打开SCU配置文件,在菜单配置本地启动中,勾选本地节点别名。iFix的网络及冗余结构已经在第一章介绍过了,本章节介绍其具体的配置方法。1.Hosts文件配置Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,其位置为C:WINDOWSsystem32driversetchosts。我们以冗余服务器FIXSVR1、FIXSVR2和客户端FIXOPT为例,进行网络和冗余的配置。以IP地址、Tab、节点名形式进行填写 若做双网冗余,则在第二个IP地址对应的节点名上加-R 可以在运行中输入CMD 以“PING 节点名”的形式测试网络连接。2.SCU文件配置 具体需要如下三个配置:服务器 FIXSVR1、FIXSVR2的冗余和网络配置 客户端 FIXOPT与逻辑节点FIX间的网络配置 其中服务器的两个SCU文件配置相似。两个服务器的实际节点组合成一个冗余的逻辑节点,对于客户端来说其读取数据仅指向逻辑节点而不指向某个实际节点。在SCADA配置中点击启动故障切换。第一次配置时,会弹出本地启动定义,分别写入本地节点名FIXSVR1和本地逻辑节点名FIX。若需从新配置,可在配置菜单中选择本地启动选项。设FIXSVR1为主、FIXSVR2为备,此处选择节点为主并填入备节点名。再打开网络配置,可以看到冗余服务器节点FIX已在远程节点列表中,此时输入客户端节点FIXOPT点击添加。3.工作台配置分别配置好FIXSVR1、FIXSVR2、FIXOPT的网络和冗余后,从新启动工程,便可以在客户端中访问服务器的数据库,图中可以看出冗余服务器节点FIX已在可用节点列表。在客户端的公示编辑器中也可选择服务器中的数据,进行动画连接。五、画面绘制在搭建出系统后,一般上位工程的第一步就是根据设计给出的P&ID图,绘制出静态的流程图,该步骤在工程启动后的操作台中完成。1.新建画面在建立画面时,就要对画面的构造进行好规划,防止后期修改出现问题。常见的方式为,上方页眉,用于放置画画切换以及各种功能按钮;中部为流程图;下方则为报警栏。当然页眉及其他画面的具体内容不一定会现在就定好,但是各画面大小及位置一经确定就不可随意改变。找到左边树形图中的画面,右键菜单中选择新建画面。可以选择由预定配置创建画面,点击下一步。勾选在运行方式工作台全屏,点击下一步。可选择一种合适的配置方式,如需具体调整可点击修改配置。完成配置以后,点击下一步,分别填入三个窗口的名称。点击下一步,核对配置无误后,便可以点击完成。创建画面后,效果如图。三幅画面已经建立,现在需要调整其背景颜色,右键点击相应画面,选择画面选型。点击背景颜色进行选择。全部配置完毕后,可以点击工作台菜单中的全屏按钮,看其效果。2.图例选择在绘制流程图前,为了防止绘制过程中反复改图以及多人绘制时风格不统一,需要首先确定各个设备的图例。常用的图例包括阀(手阀、电动阀、调节阀等)、泵、罐等等。可以在树形图中展开图符集,查找各类图例。再找到合适的图例后,可以自己建立一个图符集,方便日后的调用。右键点击图符集,选择创建新的图符集,创建后把找到的各图例拖入,并保存。若需要把该图符集备份或传给他人,可以右键该图符集选择文件属性。在资源管理器中按照该路径找到该图符集文件,可以进行相应的处理。3.流程图绘制绘制画面主要是用到工具箱,若出现工作台中工具箱消失的情况,则可在菜单首页设置工具栏中选择。勾选工具箱,便可。具体的绘制方法比较简单,与其他同类软件类似。4.属性修改对于画面中图形的简单修改,如颜色、旋转等,可以在该图形上单击右键,于菜单中进行选择。而比较复杂的属性可以如此修改:在右键菜单中选择属性窗口,或在左面属性图中点击属性窗口。可以发现,iFix的画面与VB十分相近,画面中的每个图形,甚至包括画面本身都是一个个对象。而每个对象都有一系列的属性,从长宽、颜色到可见性等都属于属性。在对iFix熟悉以后,可以直接修改属性,以便快速修改。六、通讯配置首先需要明确iFix与下位之间的通讯方式,如OPC或MODBUS,选择对应的iFix驱动软件。而其具体的操作和配置方式则大同小异。下面以OPC驱动为例进行通讯配置的介绍,再讲述MBE驱动配置中的不同点。需要说明的是通讯配置需要在与实际PLC通讯的情况下才可顺利完成,尤其是OPC驱动需要在PLC通讯点配置完成时才可配置。而如果未完成驱动配置,则在实时数据库中无法写入其地址。因此在实际项目的进行中,需要上下位制作进度的合理配合优化。1.OPC驱动配置OPC驱动为iFix默认安装的驱动,无需安装,需要首先再SCU中加载。在文件菜单配置SCADA中点击I/O驱动器名称后面的按钮。选择 OPC驱动。添加完成后,在已配置的I/O驱动器列表中选中OPC,点击配置,便可进入iFix专用的OPC驱动配置文件PowerTool 。PowerTool 为iFix自带的驱动配置工具,将变量以三层的结构进行管理。OPC驱动为ServerGroupItem三层结构。iFix的OPC驱动是以服务器为单位进行数据的扫描和读取,因此若添加多个Server则可增加同一时间内的通讯量,但是应对的也会提高计算机的负担,因此我们需要根据现场的实际情况合理的进行配置。利用PowerToll下方按钮分别进行Server、Group、Item的添加,点击 Add multiple Items按钮可以进行批量Items添加。批量加点的时候可以根据下位程序中的路径和标签进行选择。若数字量以数组形式进行通讯则直接选择数组即可通讯其中全部变量。但是若想批量添加驱动,则必须在与下位正常通行的情况下才可完成。分别将Server、Group、Item的Enable进行勾选。若需批量勾选Item则需如下设置:在菜单optionssetupAdvanced中勾选Enable Childre。另,应将I/O Server的Auto全选为On,以保证OPC驱动自动启动。点击Statistics按钮, 可观察驱动的通讯状态。更详细的信息,可以点击Data Monitor进行查看。将驱动配置完成并保存后,需要将其设置为默认运行文件。在菜单optionssetupDefault Path中分别填入保存的文件名及其路径,并再次保存以完成I/O驱动的配置。2.MBE驱动配置MBE是用来进行MODBUS通行的驱动。基本配置方法与OPC驱动相同,下面介绍其主要区别。MBE驱动需要先进行安装,各类驱动可以从iFix安装光盘找到,或由GE官网下载。在SCU中加载MBE驱动后,可以打开MBE的PowerTool。其为ChannelDeviceBlock三层结构。在Device中需要写入所读取设备的IP地址和设备号。有时由于通讯方式的不同,会需要数据进行位变换或者字变换,则需要在该DataBlock中点击Advanced,勾选或者取消勾选Swap Bytes Swap Words等选项。调整完成后,可在Data Monitor中观察读取数据是否正确。需要特别注意的是,有的设备的4区无法下发数据,可以在Device配置中点击Advanced,在Optional Function Codes中能看到三个复选框,分别代表驱动是否需要支持15、16和21号MODBUS功能码。某些设备无法支持21号功能码,因此此处配置必须去掉21号功能码的复选框。七、数据库建立iFix包括多个数据库,首先是实时数据库PDB,其次是iFix本身的历史库,最后还需要用来记录历史事件的报警ODBC库。有的工程还需要关系型数据库的配合使用。具体几个数据库的相同点与不同点:数据库类型名称内容写入方式实现功能实时数据库过程数据库下位数据I/O驱动工作台画面历史数据库iFix历史库模拟量数据iFix自动历史趋势等关系型数据库各种数据均可SQT、SQD块灵活应用报警ODBC库报警记录ODBC 事件记录共通点:这四种数据库均可以ODBC作为读取方式,而iFix历史库和报警ODBC库实际为一种特殊的关系型数据库。iFix历史库与其他关系型数据库比较:两种数据库均可作为历史数据库通过相同方式来实现报表等功能。写入方面由于iFix历史库与iFix工程自动连接,更为快捷、稳定。读取方面SQL等关系型数据库更为灵活。实际工程中为实现历史趋势功能必须开启iFix历史库记录,同时可完成其他功能。而关系型数据库则可根据需要进行配置。下面就介绍一个工程各个数据库的配置方法。1.过程数据库iFix的过程数据库(PDB)通过SAC(扫描、报警控制任务)将I/O驱动中的数据进行处理。可以基于时间处理或者基于事件处理。SAC:处理周期 (最快):1s内20次循环,即50ms数据库处理优先级 SAC也是iFix客户端版授权所禁止的内容,也就是说客户端版的iFix无法从PLC直接读数。 SAC任务在iFix工程启动后在后台运行,可以看到其进程。若驱动与数据库间的通讯有问题,则可观察其进程是否运行。启动iFix工程,打开过程数据库,进行添加数据块等配置。根据所需类型添加数据,类型在选择好后不能进行更改。填好标签名、描述等信息,在驱动器中选择对应的驱动。必须在SCU中配置驱动后才可选择。若出现 则需将iFix安装目录下的default.OPC文件考入本工程目录的PDB文件夹下,其他驱动同理。选择好驱动后,便可根据刚才驱动中的配置,按照Server;Group;ItemID的格式填写地址。或者点击浏览进行选择。注意这里Item用的是它与下位的通讯地址而非Item本身的名称。 同时这一步也是观察驱动与数据库直接连接是否正常的一个标志。建好点以后,点击视图菜单中的刷新,观察当前值中有无数值,若为?则说明连接未成功,否则会显示出该点的当前值。若一次添加的通讯点比较多且驱动中的数据正常,但数据库中无数据,则可以保存数据库后从新启动整个iFix工程。在实际项目中,不可能所有点都以上述方法建立。应首先把现有的数据库导出成.CSV文件,用EXCEL打开,可以方便的进行复制粘贴等批量操作。完成后保存再于数据库中导入,使建点更加方便、迅速。2.iFix历史库iFix历史库的首要功能就为显示历史趋势,同时记录在其内的数据也可以通过ODBC通讯作为报表的数据源。首先需要配置iFix数据写入历史库的条件和范围。打开历史库定义,选择每份文件的记录量,如图将每24小时生成一个.h24文件存储在工程目录下的HTRDATA文件夹内。可选择自动删除旧数据,最大为200天。数据按组进行配置,每组可设置其写入周期、相位,方便管理,组中可以根据标签名添加数据,注意限制(即死区)默认为0.5,应根据数据变化规律进行调整。尤其是记录液位、压力等较小的数值时。完成历史库的定义后,在iFix工程开启的情况下,配置好的数据便会自动记录。可以在历史趋势中添加HIST.的点。此外,历史库中的数据还可以通过ODBC连接到iFix画面中。在控制面板管理工具数据源 (ODBC)中可以看到iFix历史库为系统DSN,在安装软件的时候已完成ODBC的配置。分别选择工具箱中的VisiconX数据控件用以控制数据连接;VisiconX网格控件用以画面显示。双击数据控件,在提供者中选择ODBC Drivers;在数据库中选择FIX Dynamics Historical Data并测试连接。在记录源中可直接填写SQL语句,也可运行SQL向导进行配置。下面将通过SQL向导具体介绍SQL语句的应用。首先选择操作的类型,选择SQL Select命令。选择数据库的表名,iFix历史库的表名为其节点名。选择需要显示的列,iFix历史库的列即为其点域,如标签名、值、时间、间隔等。选择过滤条件,若只需查看带有某段字符标签名,则应如下配置 ,参数QP1稍后讲解。选择排序条件。最后生成SQL语句,SELECT为命令类型,下方为需要显示的列名 ,FROM后为表名即节点名;WHERE后为过滤条件 Like %QP1%即为标签名中含有QP1;ORDER BY后为排序条件。查看数据控件的属性,将参数QP1根据需要进行修改,如只需查看液位数据,其标签名中均带有 LEVEL。完成数据控件的配置后,在网格控件动画高级动画行为中勾选ADORecords,将数据转换选为对象,选择数据源。数据源指向刚配置好的数据控件的ADORecords属性。完成设置后,切换到运行模式,观察数据库连接结果。3.报警ODBC库报警ODBC库是由iFix报警功能自动写入的关系型数据库,ODBC配置及读取方式与其他关系型数据库基本相同。下面着重介绍iFix端报警记录配置。新建一个ACCESS数据库ALM,在ODBC中进行配置。在SCU的菜单配置报警中选择启动Alarm ODBC Service,并点击修改配置。选择数据库类型和标识符FIXALM后对列进行配置并点击现在创建表。打开刚创建的ALM数据库,可以看见列已经创建成功,配置完成后需要从新启动系统以使其正常工作。八、点位连接在画完静态流程图,并配置完过程数据库后,便可以进行点位连接。1.开关量单点显示为最简单,也是最基本的连接。通常用来显示液位开关、报警灯等状态。通常为正常状态绿色,报警状态红色或者闪烁。双击状态指示或者右键选择动画。点击前景后面的按钮。在数据源中填入所要连接的点位,也可点击右方的按钮进行选择。从左到右分别选择节点名、标签名和域名。若需要选择该点的当前值便选择F_CV。在下方选择该值为0和为1时的显示颜色,若需闪烁则再选上闪烁颜色。2.模拟量单点显示在画面上也经常需要显示各种模拟量。单独显示时则需要用到工具条中的数据连接戳。点击后写入数据源并选择相关配置。确定后选择其摆放位置。3.数字量单点操作最常用的操作便是点击按钮,也是需要先打开该对象的画面,选择点击。若需要点击使点置0则选择打开数字量标签专家;若需要置1则选择关闭数字量标签专家;若需切换0/1则选择切换数字量标签专家。选择完成后再输入数据源。也可以直接选择编辑代码,写入相应的VBA代码。4.模拟量单点操作若需要进行设定值输入等操作,需首先选择要输入数据的对象,再在菜单工具中选择数据输入专家。同样需要选择数据源,输入方式可以选择数字输入或滑动输入等。5.阀门状态连接通常一个阀门在画面上需要显示阀门开到位、关到位、故障、就地远控和手自动状态,并且在点击时弹出其操作面板。故障、就地远控等状态的连接就是对应开关量的单点连接,而开到位或者关到位状态则需要同时连到阀体上。这时便需要写入表达式,具体如图将开到位点x10再加上关到位点。会产生00 01 10 11四种情况,选择对应的颜色,开到位显示绿色,关到位显示红色,动作中显示黄色闪烁。在连接好该阀的所有点位后,可以将阀的各个部分成组方便操作。在配置好该阀的单击打开面板操作后,单个阀门便制作完成。具体的面板制作方法稍后讲解。其他阀门可以把做好的阀门复制粘贴到相应位置,修改连接的点位则需选中该阀,选中替换,查找原阀门的位号,全部替换为新阀门的位号。6.模拟量显示一个模拟量点不但要在画面上显示其当前值,还要显示其位号、说明、单位、高报/低报状态等信息。数字连接的方法之前已经介绍过了,这时主要是配置高低报时的颜色显示。在显示的数字上选择画面,配置高级动画。点击颜色选型卡,数据源选择该模拟量点的.a_cualm点域,可以看到下方的条件变为LO HI等,选择对应的颜色便可以。制作完成单个模拟量点后也可以用查找替换位号的方法复制粘贴到别的位置。九、面板制作为了操作阀门,便需要制作控制面板。通常需要采取制作一个公共面板,点击不同阀门的时候给面板赋值调用的方式。1.面板画面面板本身需要显示阀门的位号、开到位、关到位、就地远控、故障、超时、手自动等状态和开阀、关阀、手自动切换按钮。其连接方式在点位连接章节已经介绍。值得注意的是,作为一个公共面板不能直接连接具体的点位,这时便需要用到形式参数,如图。可以看到数据源的节点位置写为了NODE,位号部分则写为了NUM_LR。面板中的其他数据源也全部写成该形式。开阀关阀等操作一般需要进行二次确认,这便需要用到Msgbox和if等VBA代码。2.标签组文件配置面板本身制作完成后便可以配置调用文件了。在左方树形图中打开标签组,选择标签组编辑器。制作一个阀门的标签组文件,符号处写入中的形式参数,替换中写入该阀门对应的位号。如此NUM_LR便成为了HV1021_LR了。每个用到公共面板的阀门均需配置它的标签组文件。3.画面设置上两步配置完成后,便需要在流程图画面中连接上阀门。选择一个制作好的阀门的动画点击打开画面专家。画面名选择制作好的公共面板,勾选启用标签组,选择该阀对应的标签组文件。为了简便操作也可以在脚本中编写。全部完成后,该阀门的画面就完成配置。在引用该阀配置其他阀门的时候,查找需勾选包括脚本,这样标签组文件也会相应的替换过来。十、报表制作报表是一个上位系统制作后期难度较大的一部分工作。iFix工程则可利用其本身的历史库,通过中间件ODBC,运用iFix画面中的VBA代码将报表写入EXCEL进程,并将其插入到iFix的运行画面中。与其他上位软件通用的做法相比,不必另行配置历史库软件;也不必直接打开EXCEL文件。下面介绍其具体方法:1.制作模板首先我们需要根据业主需要显示的数据,制作一个EXCEL表格。为了报表能直接在iFix画面中引用,制作完成后需另存成.htm格式。2.数据读取进行报表数据读取的方式被称为ADO读取,其数据源有iFIX历史数据库或者ACCESS等关系型数据库两种,而我们通常不采用关系型数据库,其原因是要另外购买且采样周期太长,不能准确反映现场历史情况。ADO-Recordset ,可认为是内存表。所谓内存表就是放在内存中的表。数据没有读取出来是放在外存的数据库中。当数据读出来后可以放在自定义的一个dataset(内存中的数据容器)中,这时的dataset就保存在内存了,现在你对dataset的操作即为对内存表的操作了。当然不一定要放在dataset中,任何你创建的数据载体实例在它的生命期内都是存在于内存中的。 报表的实现方法便是VBA代码。一般组态软件制作报表,需将VBA代码写入EXCEL中,而iFix由于自带VBA,可将代码直接写到画面中,方便处理。需先在 工具引用中 引用EXCEL控件。在报表画面中制作生成报表按钮,数据读取部分如下。关键为SQL语句部分,用以筛选数据的时间,数据库选择。Private Sub CommandButton1_Click()Dim strSQL As StringDim strDate As StringDim strDate1 As StringstrDate = Format(报表.dtpTime.Value, yyyy-mm-dd)strDate1 = Format(DateAdd(d, 1, 报表.dtpTime.Value), yyyy-mm-dd)strSQL = SELECT * FROM FIX WHERE (FIX.DATETIME = ts & strDate & 09:00:00) AND (FIX.DATETIME = ts & strDate1 & 08:00:00) AND (FIX.INTERVAL = 01:00:00) Set Cn = New ADODB.ConnectionSet Rs = New ADODB.RecordsetCn.ConnectionString = Provider = Microsoft OLE DB Provider for ODBC Drivers;DSN=FIX Dynamics Historical Data;UID=;PWD=;Cn.Open Cn.ConnectionString, , , -1Rs.CursorLocation = adUseClientRs.Open strSQL, Cn, adOpenDynamic, adLockUnspecified, -13.数据处理继续讲解生成报表按钮,数据处理部分的代码,此部分将会根据所需读取的TAG NAME及其在报表中的位置有所不同。Dim xlApp As Excel.ApplicationDim xlBook As Excel.WorkbookDim xlSheet As Excel.WorksheetDim i As IntegerSet xlApp = New Excel.ApplicationxlApp.Visible = FalsexlApp.DisplayAlerts = FalseSet xlBook = xlApp.Workbooks.Open(D:PROJECTFIXTRAPP报表.htm)Set xlSheet = xlBook.Worksheets(1)读取制作好的EXCEL模板Dim tRS As New ADODB.RecordsetDim tsql As StringxlSheet.Cells(3, 3) = Format(报表.dtpTime.Value, yyyy年mm月dd日)将生成报表的日期计入表格中Set tRS = Rs.ClonetRS.Filter = Tag=AI1选取数据库中Tag名为AI的点tRS.MoveFirstFor i = 6 To (tRS.RecordCount + 5) xlSheet.Cells(i, 24) = tRS.Fields(3).Value & tRS.MoveNextNext i运用循环语句,将AI1 24小时整点的数据,从EXCEL表格中第24列的第6行顺序写到第24列的第29行。Set tRS = NothingSet tRS = Rs.ClonetRS.Filter = Tag=AI2tRS.MoveFirstFor i = 6 To (tRS.Reco

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论