在中秋佳节之际,相对有暇,来谈谈ifix。随手写来,难免遗漏,请大家补充。
ifix毋庸置疑,是个强大的软件,从结构上,从性能、功能上,太强大了。
比起那些单机架构的软件来说。ifix的强大之处在于:
1.真实的C/S架构,客户端和数据库之间的数据访问非常迅速,采用的是类似OPC方式,灵活、有序、快速、可靠。但又不像OPC那样受到操作系统的限制,
ifix的C/S模式非常稳定,好像没听说过客户端的数据和服务器之间不一致的情况。
使用ifix没有用到c/s模式(网络版),可以说没有体会到ifix的精髓。
2.灵活的脚本系统
ifix不是编译型系统,而是解释型系统。按道理来说,解释型系统速度比较慢。但ifix这点做的相当好。
同时,ifix又把解释型系统的优点发挥出来了:
VBA脚本实现灵活编程,使得各种功能都能方便实现,同时脚本还支持调试模式,非常爽!
所见既所得,开发环境和运行环境集成在一起。CTRL+W来回切换很爽。每个画面又独立,所以,在ifix里从来不会发生,一个断电,导致整个工程损坏的情况,最多损害一个画面而已
由于是解释型,开发环境和运行环境合在一起,所以,脚本也可以用来制作开发工具,所以,我们可以看到ifix里很多开发工具就是用VBA做的。我们也可以自己制作自己的开发工具,加快开发过程,这也是为什么经常见到ifix用于做DCS系统的监控界面,而别的软件却没见到的原因之一
3.模块化的驱动
ifix的数据库性能很好,能够应付多个客户端的快速访问要求,同时,驱动和数据库又相对独立。驱动可以不断优化,使得整个系统性能
有改进空间。
4.报警系统
ifix的报警系统基于队列,而且队列支持网络发布,速度也很快。如果能编程,访问报警队列。那就能很容易实现诸如语音报警,短信报警的功能
可惜的是ifix自身提供的“报警一览”控件,不是很好用。
5.扩展功能
由于ifix有统一的内核。扩展功能比较方便,使用其提供的EDA/HDA接口,可以访问其实时数据库和历史数据库,包括读写数值,读写属性。
很多报表就是这样做的。
当然这点很多别的软件也有,例如Intouch的Ptacc接口也相当方便。但intouch由于是编译型系统,Ptacc接口只对运行系统有效,所有的改动随着运行系统的关闭全都没了。而ifix是解释型,如果用它的接口改变的某个测点的上下限、单位、描述后,可以进行保存,同时改完立刻有效,画面上立刻反应出来。基于这点,我们可以自己制作自己的系统维护工具,来维护数据库。本人就利用excel表格做了类似工具,维护数据库时,直接在excel里面改,然后利用接口写入ifix的实时数据库,多次操作后,最后保存ifix数据库。
扩展功能也是ifix能做为DCS系统监控系统的原因之一。
总体感觉,ifix在内核方面做的很好,正是内核好,ifix有很多可玩的地方,能允许你玩出很多花样。这点不是别的软件所有的。
但ifix在外围功能上还有待加强的地方。ifix版本升级了不少,但感觉功能没什么变化,性能没什么提高。
比较一下ifix2.2 和ifix4.0 就知道。
难道版本升级就是为了让大家知道ifix还在走。但这不是往前走,而是在绕圈圈走。
在此,从应用上,提几个希望ifix具备的功能:
1.脚本加密功能
ifix的脚本很灵活,可开发的余地很大,但为了保护工程师的辛勤汗水,是否需要能加密脚本呢
2.ifix的报警功能已经挺不错了,但有个问题,报警队列容易溢出,从而导致报警计数器经常计算不准确,是否加个计数器复位功能呢?
3.历史数据库
ifix的历史数据在ifix的强大功能中,属于弱项。性能不够快,当然如果采用IH,又加大了投资,同时加大系统复杂程度,以前老版本
有个超级历史模块,速度相当块,可后来取消了
*4.链接自数据源的函数
ifix的链接数据源支持函数,但不能支持自定义函数,这个如果能加上,那就太好了。
*5.位运算功能,位链接功能
在数据链接时,经常会用到一个整数的其中一个位,但ifix没有这个功能。
比如说,一个设备的状态字,16个位分别表示了不同的含义,此时,要在ifix里表达这个状态字,很麻烦
*6.更高性能的IO驱动
ifix的6.x版本的驱动虽然旧,但是性能很好,也比较稳定。基于以太网模式下,实现2万点的每秒刷新也没问题。
ifix7.x版本的驱动虽然说界面比较友好,但性能相对于7.x来说,下降了不少,而且不够稳定。大约估计下,只能实现几千点的每秒刷新
如果能够结合一下二者好处就太好了
*7.曲线
ifix的曲线功能比较简单,也没有提供X-Y曲线。同时实时和历史曲线是分开的,当然可能有人说实时历史可以合在一起的。但效果不是很好
带*的表示本人特别期望。
QQ:564734347
1.脚本加密功能
ifix的脚本很灵活,可开发的余地很大,但为了保护工程师的辛勤汗水,是否需要能加密脚本呢
这个难度很大,IFIX没有开放出来类似globalfacotory.fxg功能
2.ifix的报警功能已经挺不错了,但有个问题,报警队列容易溢出,从而导致报警计数器经常计算不准确,是否加个计数器复位功能呢?
改大BUFFER或查SAC的参数,关掉一些不必要的报警信息
3.历史数据库
ifix的历史数据在ifix的强大功能中,属于弱项。性能不够快,当然如果采用IH,又加大了投资,同时加大系统复杂程度,以前老版本
有个超级历史模块,速度相当块,可后来取消了
不满意用EDA写一个驱动同,存自已的格式
*4.链接自数据源的函数
ifix的链接数据源支持函数,但不能支持自定义函数,这个如果能加上,那就太好了。
用成组读写或脚本
*5.位运算功能,位链接功能
在数据链接时,经常会用到一个整数的其中一个位,但ifix没有这个功能。
比如说,一个设备的状态字,16个位分别表示了不同的含义,此时,要在ifix里表达这个状态字,很麻烦
用D16块
*6.更高性能的IO驱动
ifix的6.x版本的驱动虽然旧,但是性能很好,也比较稳定。基于以太网模式下,实现2万点的每秒刷新也没问题。
ifix7.x版本的驱动虽然说界面比较友好,但性能相对于7.x来说,下降了不少,而且不够稳定。大约估计下,只能实现几千点的每秒刷新
如果能够结合一下二者好处就太好了
这个不是IO驱动的问题,是因为使用VBA后,内部使用OLE 1.0进行通讯,速度上不如FIX处理速度快了
*7.曲线
ifix的曲线功能比较简单,也没有提供X-Y曲线。同时实时和历史曲线是分开的,当然可能有人说实时历史可以合在一起的。但效果不是很好
这个也得自已写,或用VB的上的一CHART控件来改