登录
首页 工控软件 工控软件
回帖 发帖
正文

主题:一款新颖的报表软件

点击:2370 回复:1


今天收到一个朋友推荐的报表软件,初始用了一下感觉很一般,没有什么特别的和excel操作没有什么两样,不过测试了一段时间发现这个报表软件还是有自己的特点的,它采用报表模板和报表脚本的表现形式,以前接触的多数报表工具都是简单公式罗列和集成SQL查询,整个软件分为两大部分,第一部分就是常规的数据采集部分,他的采集器分为两种一种是通过OPC形式把组态软件实时数据定时存储,另一种就是可以同步wincc、intouch、Ifix的历史库,第二种方式很有杀伤力,一般报表软件多数采用OPC或者低级dde数据采集然后数据存储,这样会造成报表库的数据和组态软件的历史库数据在某一时间点上不一样,但是它解决这个问题,它是同步组态软件的历史数据保证数据统一性。这款软件也没有脱离其他报表软件的俗套,同样选取了SQL server来做报表数据库载体,也许这是一个较为成熟的存储方案,不过从数据获取技术角度来看开发者确实用了一定心的。再来看看模版设计算是一个不错的设计理念,类似excel表格操作方式,最大的特点就是报表模版右侧有三个list控件,分别显示连接报表数据库的库名、数据库中有那些数据表、表中有多少报表变量是有效的,这样设计很有特点,常规报表工具都是需要用户自己记录变量名字,并设计摆放位置。开发者在设计连接数据库的形式上采用OLEDB的弹出对话框形式,可以让用户选用SQL server然后选取库体并写入用户名和密码通过测试以后刚才三个列表就会出现库名、表名、变量名。通常报表都是要自己编写odbc的DSN连接字或者自己写OLEDB的连接串,这样的报表数据库连接是比较人性化和严谨的。
通过报表模版设计后就要进入脚本开发了,我发现模版设计就是设计静态模版样式,没有任何地方写公式或者查询公式,但进入脚本开发环境我发现玄机在此,亮点也是在这里,此款脚本竟然支持VBS脚本,多数报表软件的脚本只是支持简单四则运算、最大值、最小值、平均值和SQL查询,这款软件更像excel支持VBA的形式,也能看得出来开发者借鉴了excel做报表的设计理念,对于表格的动态数据和运算以及从数据库获取都是通过VBS脚本来操作,它封装了几个对象,1、FthDB是报表数据库的对象,它能够支持OLEDB的字符串的连接和SQL查询语法;2、FthRPT是报表模版对象,他能够支持使用cellwrite和cellread两个方法对报表模版进行读写;3、data数组对象,它是SQL查询后返回的结果记录集,以类型为string二维数组形式存在。但在编写脚本时也发现一些问题,就是返回来的记录集是字符串形式如果需要计算或者求最大值、最小值和平均值,需要在脚本上使用类型转换成real型在计算,这一点不是很方便但是也可以理解开发者的这样处理的行为,因为返回数据类型并不知道是什么类型,只能采用String这种通用类型。有一点很爽就是想怎么计算就可以怎么计算了,完全符合VBS语法以及支持VBS全部函数,就连msgbox和inputbox都能够支持,真是算是很强大了。通过vbs的集成,可以让这款软件做很多报表本职工作以外的工作。
此款软件包含一个runtime的环境,可以运行测试报表模版和报表脚本是否正确显示,并可以支持打印和导出为csv、xls形式,因为VBS语言属于解释性语言,没有编译功能,只能通过runtime运行一下才能看出来模版设计和动态数据的显示效果,但这个runtime其实只是一个测试工具,真正的运行的组件是一个叫fthrpt-share.ocx控件,它才是真正地运行内核,他可以支持嵌入到任何组态软件中,通过属性设置报表模板路径和报表脚本路径然后再调用方法run就可以在组态软件运行当中看到你想要的报表,并可以通过调用方法printout和printpreview来实现报表打印和预览,也可以通过调用方法export来把运行的报表数据导出为csv、xls形式存储。
我分别在wincc中测试了一下同步历史库,非常方便而且数据准确性就跟你在使用wincc的历史库一样一分不差。另外我在AB的FTVIEW SE中测试了一下,如果使用OPC实时数据采集数据准确性很高,但就是需要增加RSLINX OPC的授权,同时我也测试了采用FTVIEW SE采用odbc存储历史数据,这样的情况下报表软件模版和脚本可以直接访问odbc接口,不需要在进行实时数据采集而直接访问odbc的数据库接口就可以了,使用非常方便和强大。这个软件最大的特点就是支持vbs脚本和同步访问常规组态软件的历史库,大家都知道组态软件的报表功能一直是一个软肋,很多人都采用excel+vba来实现,但是excel也是有问题就是不能前台显示,一般都是后台直接打印或者存储。
从我来看这款软件的开发者可以和那些组态软件厂商谈合作或者直接OEM形式,当成组件嵌入到安装包里,这样真可以弥补组态软件在报表的不足。另外这款软件最重要的它是free的,因为他的核心ocx是免费的,可以随以分发,随意集成。只要模版和脚本设计好,放在哪个组态软件中都可以实现,另外用户还可以自己开发自己公司报表模版,以后就是直接改脚本文件就可以了,开发者这样分开设计我想原因也是因为此吧。强烈推荐FTVIEW SE用户尝试体验一下,你还在为FTViewSE中没有报表功能困扰吗?
下载连接: http://dl.dbank.com/c0papnwqfy
12-07-22 22:07
纵横通ZHT-PTH01温湿度一体变送器通过按键手动设定报警阀值,监测环境温度、湿度,当环境温度和湿度低于或高于设定的上、下限值时输出开关量信号。
12-07-23 11:28

工控新闻

更多新闻资讯