论文部分内容阅读
在佳能控制系统(上海)有限公司承接的很多工控方面的应用项目中常需要使用工控组态软件。作为这些项目主要参与者,作者对国内外的组态软件进行了调查与研究。目前,主流组态软件有Wonderware公司的InTouch、Intellution公司的Fix、CiT公司的Citech、西门子公司的WinCC等。这些组态软件都基于32位的Windows平台,支持OPC(OLE for Process Control)和脚本语言。但是它们都价格昂贵,根据支持的IO点数不同,每个授权在五万至十五万人民币之间。另外,由于这些组态软件均是通用的,功能庞大,虽然都支持按客户需求定制,但最终运行版的效率依然较低,这无疑又提高了电脑硬件投资。因此,需要开发一种轻量级、高效能、低价格而又能满足应用的组态软件,作者参与了这个自主开发的C-through组态软件的整个过程。首先,本文由工控组态软件的需求进行了用例分析,提出了一个自动控制系统监控层一级的、看似简单但可以使用,而扩展性强大的容器—控件—驱动的三层架构,应用于C-through组态软件的开发。然后,以面向对象的方法对此三层架构作了进一步的阐述。阐明了容器、控件和驱动三者之间的关系。同时,依据轻量级、高效能、低价格和通用性的要求和特点,具体阐述了实现这一架构所采用的技术——基于ATL活动模板库的COM组件技术。轻量级,要求二进制代码的字节数,主程序小于150KB,每个控件小于30KB。如果使用ATL活动模板库以外的开发方法,需要开发人员花费很多的时间按照微软的规范实现如IOleInplaceFrame, IOleInPlaceUIWindow, IOleClientSite, IOleInPlaceSite, IOleControlSite, IDispatch, IProperytNotifySink等接口。这不仅花费时间,而且会因为开发人员的水平从而不能达到轻量级的要求。高效能,要求I/O访问时间低于20ms,在10万数据点时系统仍然能够稳定运行。实验证明,在组态软件的各个环节中,与硬件设备的数据传递成为运行效率的瓶颈。为此,采用COM的进程内服务器和通知读取数据的方式来实现驱动程序大大提高了运行效能。低价格,要求价格在万元以内,利于在中国等低收入国家和地区的推广。通用性,要求能够随时添加新的组态控件及I/O驱动,而不用修改主程序。由于控件采用基于COM技术的ActiveX控件,由ActiveX控件的特点决定了本组态软件的高通用性。最后,本文阐述了如何将此组态软件应用于一个数控可视化编程的项目中。以现有的控件设计了此项目的用户主界面及设置数控可视化编程所需的工件、加工坐标、加工工具及其补偿等信息的配置界面。定制了生成加工程序和模拟加工轨迹的ActiveX控件。目前,此数控可视化编程项目已通过测试,提交用户,得到了用户的认可。本文的意义在于,不仅提出实现工控组态软件可以使用的三层架构,以及完成所需要的技术,而且设计并完成了一套自主开发的具有轻量级、高效能、低价格和通用性的工控组态软件。还将其成功地应用在了实际的项目中。此软件还具有良好的推广性。