您的位置:控制工程论坛网论坛 » 自动化软件 » 组态王的十宗罪

magie

magie   |   当前状态:离线

总积分:184  2024年可用积分:0

注册时间: 2005-03-05

最后登录时间: 2009-08-01

空间 发短消息加为好友

组态王的十宗罪

magie  发表于 2009/10/16 20:51:36      8147 查看 34 回复  [上一主题]  [下一主题]

手机阅读

不好意思,我要给板内喜欢用组态王软件的朋友泼冷水了,这是西门子的工程师写的组态王的评价,仅供大家参考。不过就我本人的经验来看,组态王算是盗版iFix起家的,而且还盗版的不成功。

在下以前从未用过组态王,最近由于偶然的机遇,接手别人留下的半拉子工程,有幸真正接触并使用了一次组态王软件,想组态王被业界誉为最好的国产组态软件,所以开始使用时还是充满信心的,但未想到,几个回合下来,大失所望,故总结了软件使用过程中的若干问题,发表出来,供各位同仁共同讨论,更希望亚控公司的技术开发人员,能够亲自了解这些问题,并给出适当的解答。如不幸被言中确实存在的问题,也希望在以后的升级过程中加以完善和改进。
  
  1、关于画面编辑器
   请问画面编辑器窗口的最小化按钮和关闭按钮有什么区别啊?依我看,好像是完全一样的功能,就是最小化而已。从这里,其实我想说的是,退出画面编辑器真的好难!即便是用菜单命令的“退出”,最终其实也并未退出,而是被最小化了。
   看组态王软件很多地方和intouch很相似,难道,这个坏习性也是跟INTOUCH学来的?既然开发基于WINDOWS的软件,就要遵从WINDOWS软件的使用风格吧,总不能自己随便修改风格,然后却美其名曰符合中国人的使用习惯?
   其实按照多文档文本的风格设计,想来也不是多难,包括存盘命令,也不能一键完成,总要多一些另外的操作。真是麻烦!
   要说因为多文件保存的缘故,整个组态王资源管理器退出的时候,倒也能逐一跳出提示框,对被修改的画面要求保存,还不是一样。(这是唯一的能够真正退出画面编辑器的方法,怪怪!)
  
  2、组态王的文件类型
   画面的文件,定义为*.PIC,无话可说。但备份文件,叫做什么*.111,什么玩艺?真是不敢苟同了。从这一点上看,根本不像一个正式软件,倒是很像一个大学生的编程作业,编程时候文件类型随便定义为111,222,123就行了,程序能运行就行。所以从这里来看,我宁愿称组态王为一个程序,而不愿称之为软件了,对设计开发者,我也觉得和我等差不多的编程者而已。
   正式的软件,总要将文件的类型定义到系统注册表中,至少作为一个占用的声明,即便这个文件并不是一个文档文件,没有可绑定的程序将其打开。当然,这个声明也不能太滥,像超级解霸,将大概相关和不相关的类型都强行定义到自己名下,比如*.VBS等等也不嫌弃,并为之绑上自己的播放程序,倒是非常令人讨厌了。
  
  3、画面内控件的属性设计
   按照一般的使用习惯,一个控件或者对象,鼠标点中之后跳出的快捷菜单,最后一项一般来说是属性,选择属性命令,根据这个对象的特性,会跳出与之相关的系列属性设置对话窗口,文字,按钮,图像,线段各不相同。但一些通用的属性,如在画面之中的位置,前景、背景颜色等等,大致在同样的界面中出现。
   但咱们组态王?完全不是,最优先跳出的,不是这个对象,而是所在画面的属性页。不管点中的是画面还是画面之中的控件。搞不懂。画面的属性就那么重要吗?那么需要随时更改吗?
   反倒各种控件,修改的方法千差万别,但就不能统一,比如文字,内容的修改有字符串替换的专用命令,但其他,如颜色,字体、字号等等,则只有从工具箱的快捷工具之中才能找到。快捷工具能实现一些功能,固然欣慰,但我认为,一个功能的实现,不应当只有一个渠道,而是很多渠道实现,软件才叫完善。比如autocad,要画一个圆,就有很多方法实现这个命令,不是吗?
  
  4、按钮、指示灯等控件
   对于普通的画面对象,比如自己画的一个圆,它的背景色可以绑定到i/o的bool变量,根据逻辑状态的不同,可以显示不同的状态。但指示灯等标准控件,则不可以!要对指示灯控件选择绑定变量的时候,鬼使神差的只能选择“内存离散”,而不能选择“i/o离散”类型的变量。那些变量给屏蔽过滤掉了!变量不能显示外面世界的状态,还有什么用啊?难道非要在系统里面编程转化才行?但内存变量还不是一样要算在许可点数之内。况且自定义对象完全可以,所以我看还是定义为bug最容易理解。
   另外,组合对象不能编程,我认为是很大的垢病,如果我这个组合对象,要针对现场的某个变量的不同状态,表现不同的状态,比如位置、颜色、隐藏等等,那么还非要每个对象逐一修改才行?当然,这在程序设计上存在难度,不容易实现,可以理解。
  
  5、一些自说自话的功能
   一些功能,貌似看起来很体贴的,但有的时候却未必准确,反倒成为拦路虎。比如变量定义之中的线性变换,不管希望与否,一概变换,如果没有加以注意,超出了变换范围之外,比如现场出现了负数,而却省定义变换范围的下限为0,那么系统就不认识!
   大哥!我不想变换,我只想如实得到现场的实际值,可以吗?
   还有,变量输入的对话框,非要给一个上下限的范围,我不想要,可以吗?拜托!
   另外,这个软键盘的输入对话框,最好位置可以移动啊,把我的画面都挡住啦!有的时候,我想在输入的时候还想参考一下画面运行的其它值啊。
  
  6、控件的x,y位置
   在需要实现动画的时候,这两个值是很重要的,但和上一条一样自说自话的毛病,如果你想将一个物体从左边界移出视线之外,静态设计时可以,但动画编程时则绝对不可以!因为系统已经自作主张的认定坐标值不能为负,殊不知,如果一个100x100的矩形,如果只显示一半的话,它这时的x坐标位-50!
  
  7、变量名称更换
   这个功能,说来算是不错的,将变量名字修改之后,项目中所有引用到此变量的画面和程序,变量名称同样随之更改。但可惜用户界面不友好,或者说根本没有考虑到用户怎么使用!
   按照通常的使用习惯,画面中应首先显示变量本来的名字,然后才是要修改的目标值,光标停留在这个文本框之中。善意的功能,可能认为目标名字总要和旧名字类似,所以可以将原名字copy一份,并却省全部文字选择,供使用者在此基础上修改或者完全替换。
   而现在的情况呢?我都伤心的不想描述了。有兴趣的自己使用试试!我曾经想将一批变量的名字前面均添加一个A#的前缀,天知道我做的时候多么伤心和失望!对这部分功能的设计者。
   或许会有个把高人建议我导出为CSV之后修改,STOP!还不如一个一个地改成功的可能性大哩。
   顺便提一下,系统的变量使用交叉索引,功能不够强大!搜索到在某一个画面中使用,但不能指明引用的空间的性质,却只能大致的指向一个位置方位,和算命的差不多!
   除了变量的交叉索引,画面的交叉索引也比较现实!
  
  8、ODBC功能
   说实话,组态王对数据的处理大量使用了ODBC,而且是完全离不开的,但是这带来的毛病就是,项目程序的可移植性差,一旦用户计算机系统崩溃,恐怕除了原设计者,没有几个人能完成恢复,特别是仅仅依靠使用单位的维修人员,太困难了!
   所以,既然使用ODBC,就要有功能,在系统开始运行时,有方法判断系统DSN是否已经存在,未存在,则自动给予建立。
   初次接触,研究数天,未找到解决的方法。
  
  9、DLL功能
   其实是上一问题的延续,既然系统没有提供功能,则可以自己调用相关DLL程序实现吧?
   可惜,搜索所有HELP文档,唯一与DLL相关的条目也是在讲其它的问题。
   该不会有人建议用shell+rundll32+dll文件的方式吧?
   另:VBA和VBS编程语言支持是现今非常流行的,组态王,努力啊!
  
  10、系统函数的返回值
   不管组态王的脚本编程语言是类似C多一些,还是类似BASIC多一些,但系统提供的那些函数,其原型的描述却不甚准确,尤其是个函数的返回值的类型,大多不讲的,所以函数调用的情况,成功与否,很难得知。
  
   比如用户登陆的LogOn()函数和选择配方RecipeSelect()函数,运行是有模式对话框的,但如何知道最终用户是选择了确定还是取消呢?
  
  
  注:
   本人接触并使用的组态王版本为6.02,听闻又出了新版软件,想,如果上面的问题在新版中如果已不再,则当欣喜过望矣!或有侠客高人,能给出现有条件下的应对方案,也必将重谢之。
   著此文,完全从技术探讨的角度出发,无有对任何个人和公司诽谤和打击之意,如有个别词语过于激烈,使您受到不应当的伤害的话,请及时通知本人!

 

 

1楼 0 0 回复
  • magie

    magie   |   当前状态:离线

    总积分:184  2024年可用积分:0

    注册时间: 2005-03-05

    最后登录时间: 2009-08-01

    空间 发短消息加为好友

    magie   发表于 2007/1/12 21:09:54

    明明选择了工控软件与MES结果还是到电机来了,每次都这样?!
    2楼 回复本楼

    引用 magie 2007/1/12 21:09:54 发表于2楼的内容

  • 马军成

    马军成   |   当前状态:在线

    总积分:13914  2024年可用积分:0

    注册时间: 2006-12-01

    最后登录时间: 2022-06-28

    空间 发短消息加为好友

    马军成   发表于 2007/1/13 7:40:20

    是一个组态参考资料
    3楼 回复本楼

    引用 马军成 2007/1/13 7:40:20 发表于3楼的内容

  • panwen

    panwen   |   当前状态:离线

    总积分:131  2024年可用积分:0

    注册时间: 2006-12-01

    最后登录时间: 2018-05-08

    空间 发短消息加为好友

    panwen   发表于 2007/1/13 11:12:52

    4楼 回复本楼

    引用 panwen 2007/1/13 11:12:52 发表于4楼的内容

  • 218hty

    218hty   |   当前状态:在线

    总积分:9071  2024年可用积分:0

    注册时间: 2006-08-18

    最后登录时间: 2019-06-25

    空间 发短消息加为好友

    218hty   发表于 2007/1/15 11:57:01

    不过我对组态王还是初步的了解,还在学习中呢
    5楼 回复本楼

    引用 218hty 2007/1/15 11:57:01 发表于5楼的内容

  • lyysj

    lyysj   |   当前状态:离线

    总积分:78  2024年可用积分:0

    注册时间: 2003-10-22

    最后登录时间: 2012-04-09

    空间 发短消息加为好友

    lyysj   发表于 2007/1/19 18:28:54

    不过我对组态王还是初步的了解,还在学习中呢
    6楼 回复本楼

    引用 lyysj 2007/1/19 18:28:54 发表于6楼的内容

  • blue520

    blue520   |   当前状态:在线

    总积分:1506  2024年可用积分:0

    注册时间: 2006-12-02

    最后登录时间: 2013-11-26

    空间 发短消息加为好友

    blue520   发表于 2007/1/19 19:03:15

    值得学习,分析得比较好
    7楼 回复本楼

    引用 blue520 2007/1/19 19:03:15 发表于7楼的内容

  • swp

    swp   |   当前状态:离线

    总积分:60  2024年可用积分:0

    注册时间: 2007-01-26

    最后登录时间: 2007-06-27

    空间 发短消息加为好友

    swp   发表于 2007/1/26 22:16:46

    看来,我不准备碰它了。
    8楼 回复本楼

    引用 swp 2007/1/26 22:16:46 发表于8楼的内容

  • 金色阳光

    金色阳光   |   当前状态:离线

    总积分:157  2024年可用积分:0

    注册时间: 2007-02-28

    最后登录时间: 2007-02-28

    空间 发短消息加为好友

    金色阳光   发表于 2007/2/28 21:23:03

    9楼 回复本楼

    引用 金色阳光 2007/2/28 21:23:03 发表于9楼的内容

  • 瑞雪照丰年

    瑞雪照丰年   |   当前状态:在线

    总积分:4510  2024年可用积分:0

    注册时间: 2007-02-01

    最后登录时间: 2016-01-14

    空间 发短消息加为好友

    瑞雪照丰年   发表于 2007/2/28 21:45:32

    有见解!!!

    10楼 回复本楼

    引用 瑞雪照丰年 2007/2/28 21:45:32 发表于10楼的内容

  • xxkjfw

    xxkjfw   |   当前状态:在线

    总积分:6843  2024年可用积分:0

    注册时间: 2005-04-18

    最后登录时间: 2019-09-14

    空间 发短消息加为好友

    xxkjfw   发表于 2007/3/7 12:38:10

    改进、完善,就可进步。有国产组态软件,并在国内应用中占有一席之地,才能扼制老外的天价组态软件。
    11楼 回复本楼

    引用 xxkjfw 2007/3/7 12:38:10 发表于11楼的内容

总共 , 当前 /, 1234【下一页】