曾几何时,操作界面显示一台台设备逼真的动画状态反映出现场设备的运行状态,是工控人的追求,也是向操作工炫耀的资本。
我公司当时正是快速发展期,很多项目当时也是高级语言编写得,界面精美,动画逼真。很长一段时间,我为了维护这些电脑,经常半夜被叫到车间处理各种输入错误、漏洞引起的生产问题,导致耳朵经常出现幻听,总以为有电话铃声响起。考虑到工业组态软件的昂贵,一些项目,我开始也采用visual BASIC编写,同样的问题,同样痛。随着时间的推移,我公司有些项目也用到了IFIX、WINCC这样的组态软件,画面确实不如自己遍的漂亮,可是胜在稳定,小问题少。
时间到了2007年,旧项目这些画面动画逼真的电脑快淘汰了,这些项目文件对工控机设置参数从CMOS,到环境变量,到COM参数设置,最坑的是COM参数设置被编译到软件可执行文件了,如果不是以前看见对方工程师更换过电脑,你根本不知道如何更换完电脑让它正常工作,能更换一台电脑让它正常运行工业软件,需要很专业知识和经验,甚至成了机密,但经常联系不到对方项目工程师。
我公司有多台旧电脑面临这些问题,我决定开始用组态软件来改造这些项目,选择当时手边有的WINCC6.0来替换原来C++应用程序,功能都很熟悉,就是动画做出来花了很多心血,毕竟操作工习惯原来画面效果,按照原来效果做了很多动画,功能也基本与原来没啥区别,其他就是习惯问题,天天指导操作工应用,项目总算改造完了,能正常采集数据,画面显示,操作等,然后就是观察、跟踪。
大概过了5天问题就出来了,操作界面弹出异常,然后程序就卡死了,有时候连异常都不弹出,直接画面假死了,只好强制关闭WINCC,重新开启又正常了。为了解决问题,天天蹲论坛上发求助帖,整理收集一些解决办法:先看看日志文件,发现经常提示采集变量超时,也将动画变量统一为一个,状态用显示与否来体现,画面变量更新采用立即更新,不必要动画与操作工商量后改为变色,这样问题基本上消失了。
后来的项目,我基本上都不采用动画了,每次保存画面都提示内存消耗过多报警,让人很不踏实。