西门子WINCC V7.0开发版512点
品牌:siemens/西门子 产品规格:全新原装
上海桀呈工业自动化设备有限公司
联系人:李萧
24小时销售技术服务热线:138-1888-0443(微信同步)
Q Q:1123522411
组态软件是数据采集与过程控制的专用软件,是建立在系统监控层的软件平台和开发环境。以组态方式提供用户开发界面和使用方法,组态软件的结构可分三个层次,如图1所示[1]。
组态软件的层次结构
图1 组态软件的层次结构
Fig.1 Hiberarchy of configuration software
**层是与现场控制站相连的I/O驱动程序接口模块,它主要完成上层软件与现场控制站之间的数据信号的转换和缓存。I/O驱动程序之上的中间层是实时数据库控制模块,实现实时数据、历史数据、设备数据等数据之间的关联和控制,并对图形显示模块、实时趋势模块和报警模块进行通信控制。最上层是关系型数据库控制模块。主要完成用户对数据库提出的各种操作查询请求,根据要求定期对数据库进行维护管理和备份,包括实时数据记录库、登录库和其它的事件、操作、故障记录库,并通过它实现报表生成、历史曲线的显示等功能。
2 实时数据库系统的设计
实时数据库是组态软件的核心,实时数据库能够及时准确地获取现场数据是整个工业控制系统正常工作的基本前提。实时数据库管理系统是事务调度中心,数据采集事务、图形显示事务、报警事务、历史存盘事务等都由实时数据库系统中的事务调度系统完成,从而达到监控的实时性、正确性和一致性。
2.1实时数据库的存储策略
设计实时数据库系统时,考虑到时空矛盾,应该优先考虑系统的效率。实时数据库是组态软件的核心,应该根据组态软件对不同类型的数据所要求的响应速度以及数据量的大小来制定数据的存储策略。为此,我们采用传统的数据库系统、文件管理系统和内存缓冲区三者相结合的方法,利用多种存储介质来构建组态软件的实时数据库。
(1)对于需要长期保存的非共享数据(如采样值的数模转换系数、控制组态值等)采用文件管理系统直接存取。
(2)对于数据量大而工控软件无特殊要求的共享数据(如操作者纪录等),将其存放在外存数据库中。外存数据库采用Microsoft SQL Server数据库,由实时数据库提供的接口函数对它进行操作。
(3)对于每个采样周期都要更新的数据。这样,通过使用外存数据库(Microsoft SQL Server数据库)、文管系统和内存数据库(实时数据库),既保证了数据的共享性、独立性、安全性、完整性,又节约了内存,保证了系统的响应速度。
2.2实时数据库的功能模块
我们采用面向对象编程(OOP)技术,将实时数据库定义为类的形式。各功能模块通过对实时数据库的接口函数调用实现与实时数据库的关联,现将实时数据库类的各操作函数定义为几个操作模块,如图2所示。
现将图2中各模块说明如下:
(1)初始化模块:实时数据库是以数据链表的方式存放在内存中,在系统运行之初,按照用户组织好的数据库动态生成实时数据库类,并根据组态数据库域的内容给相应的实时数据库类对象赋值,从而完成初始化工作。同时建立SQL历史数据库和实时数据库各数据对象对应的对象名索引,从而提高访问数据的速度。
(2)基本操作模块:提供对数据对象的基本操作,如对数据对象的查找操作,通过数据对象名或ID取得数据对象的其他属性,或通过名称取得数据对象的ID等等。
(3)数据采集模块:实时数据库中的每个数据对象都对应于工业现场的某种实时量,并与现场状态保持一致。数据采集模块负责对指定设备进行读操作,将现场设备值写入内存缓冲区。
(4)读写数据模块:根据实时数据库类对象的属性调用相应的读写方法,实现对数据对象的读写操作。
(5)计算模块:完成实时数据库的计算功能,并触发相应事件。
(6)显示链接模块:主要完成动态显示、实时趋势功能,使图形、实时数据报表、实时曲线图的显示与现场数据的变化保持一致。
(7)数据存储模块:按照实时数据库类对象的属性决定记录方式,并触发相应方法将需要保存的数据存入SQL Server数据库中。
(8)报警模块:读取数据对象的报警上下限,以及存储报警信息。
(9)事故处理模块:进行事故判断、报警、防止事故扩大对有关设备的操作,保存事故前的操作记录及现场参数值。
资讯来源:13818880443
|