随着工业生产对自动化系统的要求越来越高,在现有的SCADA系统上拓展功能已经是很常见的事情了。比如生产过程中数据报表、设备报警的统计分析等。因为WinCC对第三方控件的良好支持,使用C#开发自定义控件的需求也越来越多。既然是开发WinCC上的控件。那么难免要使用WinCC的资源。比如对WinCC的变量进行读写操作、归档的过程数据和报警消息的访问等。
CCAdvUDCFramework是一款专门用于开发WinCCgaoji控件的框架。它集成了控件开发过程中的主要功能。旨在提高WinCC控件的开发效率,降低开发难度和编码工作量。它集成的功能如下。
WinCC变量读写;
读取WinCC报警消息;
读取WinCC变量记录;
轻量级日志功能;
INI文件操作;
基于CodeFirst的第三方数据库操作;
集成了免费的第三方开源UI组件库;
上面的1-5是框架中的CCAdvUDC组件提供的功能。CCAdvUDC只能调用,不提供源码。它也是我们其它报表控件的底层核心组件。6-7是框架自身提供的功能,开放源代码。CCAdvUDCFramework相当于是我们的自定义控件和WinCC之间的一个桥梁。通过它可以快速访问WinCC的资源。下面以读取WinCC报警、归档变量等为例,简单介绍它的强悍功能。
读取WinCC的报警消息,只需要一行代码即可实现。
代码运行效果如下。
框架内置了WinCC的消息模型,你可以很方便地获取报警消息里面的详细信息,方便进一步分析。
如果要读取WinCC的归档变量数据也是一行代码搞定。
代码运行效果如下。
配合一些其它功能,你可以实现任何形式的报表,或者自定义的曲线展示等等。
如果你需要操作第三方数据库也很简单。框架集成了基于CodeFirst功能的ORM操作类。理论上支持任何数据库。包含SQL SERVER、SQLite、MySQL等。你不需要对数据库做任何事,完全基于代码的库表生成、查询、插入、删除等操作。大家可以通过Demo体会一下它的灵活、强大的功能。