【原创】IFIX的强大与弱点分析 点击:2769 | 回复:16



工控 狂人

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 8回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2008-09-13 15:24:30
楼主

在中秋佳节之际,相对有暇,来谈谈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




shangzhen

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 51回
  • 年度积分:0
  • 历史总积分:213
  • 注册:2005年1月12日
发表于:2008-09-15 22:27:44
1楼

5.位运算功能,位链接功能
  在数据链接时,经常会用到一个整数的其中一个位,但ifix没有这个功能。
  比如说,一个设备的状态字,16个位分别表示了不同的含义,此时,要在ifix里表达这个状态字,很麻烦

这个功能有的啊,对应数值是f_cv,对应其中的位就是f_0,f_1~~~~~

工控 狂人

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 8回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2008-09-17 12:21:18
2楼
f_0,f_1 不是拆位使用的,而是按地址顺延使用。F_1表示是下一字,而不是同一个字的下一位。

jansonwu

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:34
  • 注册:2003年9月18日
发表于:2008-09-17 12:34:22
3楼

如果是DR类型的点 F_0,F_1就是下一个位,如果是AR类型的点,F_0,F_1就表示下一个word了 

欢迎光临  www.chinawiser.com

 

工控 狂人

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 8回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2008-09-17 12:44:06
4楼

所谓拆位,当然是针对字类型的块而言,就是希望对于,AI、AO、AR等字类型块能有拆位功能,而DR本身就是位块,不在考虑之内

 

jansonwu

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:34
  • 注册:2003年9月18日
发表于:2008-09-17 12:52:38
5楼

原来是要取出一个字的每一位啊,可以用专门的D16块。

欢迎光临  www.chinawiser.com

死亡骑士

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 1774回
  • 年度积分:0
  • 历史总积分:2630
  • 注册:2006年7月17日
发表于:2008-09-18 13:07:02
6楼

如果是原创 就应该加精                  

展翅飞翔

  • 精华:6帖
  • 求助:0帖
  • 帖子:49帖 | 707回
  • 年度积分:0
  • 历史总积分:6576
  • 注册:2001年11月14日
发表于:2008-09-18 23:51:30
7楼

看来楼主 对iFix的理解颇深。

有空切磋一下。

deng_lp

  • 精华:5帖
  • 求助:0帖
  • 帖子:65帖 | 2669回
  • 年度积分:0
  • 历史总积分:2876
  • 注册:2001年6月19日
发表于:2008-09-20 17:03:41
8楼

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控件来改
 

啸傲乾坤

  • 精华:0帖
  • 求助:0帖
  • 帖子:34帖 | 638回
  • 年度积分:0
  • 历史总积分:1394
  • 注册:2006年4月18日
发表于:2008-09-20 17:16:17
9楼

优点已经被狂人说过了,缺点我再加一条,图库相对其他组态软件来说有点少

虽然有符号工厂作为辅助,但是总感觉没有那么得心应手

希望能有更好的版本面世,期待中。。。。

老泉

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 136回
  • 年度积分:0
  • 历史总积分:445
  • 注册:2006年2月19日
发表于:2008-10-21 21:34:02
10楼
学习了,我是新手,希望楼主多发点帖子

小龙俺

  • 精华:0帖
  • 求助:0帖
  • 帖子:36帖 | 228回
  • 年度积分:0
  • 历史总积分:339
  • 注册:2005年6月16日
发表于:2008-10-29 20:35:51
11楼

我现在正在学习这个,望这个封面的可以 一起交流!QQ:287793702

EMAIL:hacklongping@yahoo.com.cn

Dec

  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 109回
  • 年度积分:0
  • 历史总积分:425
  • 注册:2002年11月04日
发表于:2008-11-10 12:55:39
12楼
不行就写脚本喔.........................

club

  • 精华:0帖
  • 求助:0帖
  • 帖子:47帖 | 739回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2008-11-14 14:11:41
13楼

学习                                       

 

夏维光

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:3
  • 注册:2008年11月05日
发表于:2009-06-04 13:14:12
14楼
gao ren    狂人

碧海长空

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 53回
  • 年度积分:0
  • 历史总积分:215
  • 注册:2004年7月12日
发表于:2009-06-28 16:42:12
15楼

图形不好画

图形大小不好调整

做弹出窗不能非常精确地确定弹出位置

虽支持像索,但好像实际上确不好控制

标记点导放导出较慢

一些驱动,如Si7,运行监控时要先连接通信,而且通信启动通常都很慢

要做历史曲线查询比较困难,历史报警同样

用户登录及安全使用非常不方便

新建工程,以及打开其它工程都要去得新配置,也不方便

对于VBA脚本,也是不好用,还不如WinCC和RSview32

 

碧海长空

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 53回
  • 年度积分:0
  • 历史总积分:215
  • 注册:2004年7月12日
发表于:2009-06-28 16:43:48
16楼

是窗口大小不好调整,窗口位子也不好调

 


热门招聘
相关主题

官方公众号

智造工程师