NO.1NO.2 实时数据库(Real TimeDatabase,RTDB)是信息化的重要组成部分 是实现先进过程控制、全流程模拟和生产调度优化的基础用途数据的自动采集、存储和监视 并行地处理成千上万的实时数据 记录过程报警 功能部件的数据共享 实时数据库NO.3 实时数据库(Real TimeDatabase,RTDB)是MCGS的核心,MCGS将整个实时数据库作为一个对象封装起来,提供一系列的方法和属性,使外部程序通过这些方法和属性能对MCGS进行各种操作 实时数据库是MCGS工程的数据交换和数据处理中心,系统各个部分及其各种功能性构件分别独立地向实时数据库输入和输出数据,以实时数据库为公用区交换数据,实现各个部分协调动作,形成互相关联的整体 实时数据库NO.4 数据对象是构成实时数据库的基本单元,构造实时数据库的过程,实际就是定义数据对象的过程,是按用户需求对被测参数的属性进行设置 当MCGS运行起来后,实时数据库的对象被暴露出来,通过对象的链接和嵌入操作(OLE)取到实时数据库对象,从而做到直接操作MCGS的目的。
实时数据库NO.5数据对象的类型开关型数据对象数值型数据对象字符型数据对象事件型数据对象组对象不同类型的数据对象,属性不同,用途也不同内部数据对象NO.6开关量的输入/输出 ;对象的状态 0或1,一般对应关和开状态 不超过32个字符(16个汉字) 开关型数据对象NO.7模拟量的输入/输出负数从 -3.402823E38 到 -1.401298E-45,正数从 1.401298E-45 到 3.402823E38 数值型数据对象NO.8存放文字信息;描述外部对象的状态特征 多个字符组成的字符串 最长64KB 字符型数据对象NO.9记录和标识某种事件产生或状态改变的时间信息 19个字符组成的定长字符串,保留最近一次事件产生的时刻 事件型数据对象NO.10多个数据对象的集合,用于把相关的多个数据对象集合在一起,作为一个整体来定义和处理 组对象NO.11读取系统内部设定的参数 $,用于区别用户自定义数据对象组态时可被调用,或为用户变量赋值内部数据对象NO.12数据对象的建立 要建立一个合理的实时数据库,在建立实时数据库之前,首先应了解整个工程的系统构成和工艺流程,弄清被控对象的特征,明确主要的监控要求和技术要求等。
对实际工程问题进行简化和抽象化处理,将代表工程特征的所有物理量,作为系统参数加以定义 NO.13内部数据对象的调用 内部数据对象一般只具有只读属性,即可以读取其相关数值或字符,其数据为系统的内部设定值 调用这些数据对象的值,一般是在用户窗口中显示系统的设定值,如日期、时刻等,或者在脚本程序中应用语言将系统变量为某个用户变量赋值NO.14内部数据对象的调用 利用内部数据变量分别创建数值型数据对象year1、month1、day1、hour1、minute1、second1,并进一步建立字符型数据对象date1和time1,以分别用来在窗口中显示当前日期和时间,通过下列语句:year1=$year //将系统内部变量的值赋给用户变量month1=$monthday1=$dayhour1=$hourminute1=$minutesecond1=$seconddate1=!str(year1)+"."+!str(month1)+"."+!str(day1) //对获得的数据进行下一步转换和处理,成为对系统有用的数据对象date1和time1time1=!str(hour1)+":"+!str(minute1)+":"+!str(second1)NO.15供暖锅炉系统中实时数据库的创建某供暖锅炉系统工艺流程图 NO.16供暖锅炉系统中实时数据库的创建以温度、压力、液位应作为研究的对象进行监测和控制。
控制要求:1、温度正常范围60℃℃80℃℃,低于65℃℃供气阀调大,高于75℃℃调小供气阀; 2、压力正常情况低于0.12MPa,当压力高于0.11MPa时,打开放气阀; 3、液位要求在0.8m1.0m,低于0.8m时,给水阀调大,高于1.0m时,给水阀调小;4、系统运行时能够从运行画面中反映系统当前运行时间以及运行状态是正常还是报警NO.17组供暖锅炉系统中实时数据库的创建模拟量输出,反映供气阀状态,0~100%变化 模拟量输出,反映给水阀状态, 0~100%变化 开关量输出,反映放气阀状态,=0:要求开 数值量输入,反映锅炉温度,正常范围:60℃℃~80℃℃ 数值量输入,反映锅炉压力,正常范围:低于0.12MP 数值量输入,反映锅炉液位,正常范围:0.8~1.0m 字符显示:正常或报警 调用内部数据对象控制按钮NO.18供暖锅炉系统中实时数据库的创建变量名系统启停供气阀给水阀放气阀温度压力液位运行状态锅炉类型开关数值数值开关数值数值数值字符初值0550200.10.8正常组NO.19系统内部变量的调用NO.20数据对象的存盘属性设置 MCGS把数据的存盘处理作为一种属性或者一种操作方法,封装在数据内部,作为整体处理。
运行过程中,实时数据库可以自动完成数据存盘工作,不必考虑这些数据如何存储以及存储在什么地方 用户创建的数据对象都具有存盘属性的设置,如前所述,除组对象外,其他四种数据对象的存盘属性设置内容相同数据对象存盘属性的设置需要根据系统对数据的要求来设定 NO.21开关型、数值型和字符型数据对象的存盘属性在脚本程序中调用!SaveData(DataName)函数,数据对象DataName必须设置为定时存盘,且存盘周期需设为0秒 以便下次进入运行时,恢复该数据对象退出时的值 NO.22组对象的存盘属性提取组对象对应的存盘数据表之前,应进入MCGS的运行环境运行一次,建立对应存盘数据表,即可进行组态设置NO.23数据对象的定时存盘用于对开关量和数值量以及组对象的定时存盘以便支持实时数据/曲线和历史数据/曲线的刷新,存盘周期一般在1分钟以上NO.24数据对象按变化量存盘用于一些开关量的状态变化或者数值量变化幅度太大情况的记录,以便实时监测系统的变化动态对于开关型数据对象,变化量默认为1,对于数值型数据对象可根据实际要求调整 NO.25数据对象存盘函数的调用在脚本程序中实现本函数的操作使对应的数据对象的值存盘一次,定时存盘周期设为0。
数据对象的当前值存入组态结果数据库中为初始值,以便下次启动时这些数据对象能自动恢复其值按照指定时间保存数据对象 NO.26Access数据库中数据对象的列表 系统运行一次以后,打开存储数据对象的Access数据库,可以得到所有的数据对象列表 NO.27“锅炉_MCGS”Access表中所有的成员和对应的历史数据 NO.28数据对象的报警属性设置 在MCGS中,报警被作为数据对象的属性,封装在数据对象内部,由实时数据库统一处理,用户只需按照报警属性窗口页中所列的项目正确设置,如数值量的报警界限值、开关量的报警状态等 运行时,由实时数据库自动判断有没有报警信息产生、什么时候产生、什么时候结束、什么时候应答,并通知系统的其它部分NO.29开关型数据对象的报警属性 只有状态报警属性 NO.30数值型数据对象的报警属性 限值报警属性 字符型数据对象和组对象没有报警属性NO.31数据对象的报警值存盘 允许此数据对象报警为前提产生报警的对象名称、报警产生时间、报警结束时间、报警应答时间、报警类型、报警限值、报警时数据对象的值、用户定义的报警内容注释NO.32数据对象报警值修改 在脚本程序中使用:!SetAlmValue(DatName,Value,Flag)Flag:数值型,标志要操作何种限值,具体意义如下: =1 下下限报警值; =2 下限报警值; =3 上限报警值; =4 上上限报警值; =5 下偏差报警限值; =6 上偏差报警限值; =7 偏差报警基准值;NO.33数据对象报警值应答 报警应答的作用是告诉系统,操作员已经知道对应数据对象的报警产生,并作了相应的处理,同时,MCGS将自动记录下应答的时间(要选取数据对象的报警信息自动存盘属性才有效)。
报警应答可在数据对象策略构件中实现,也可在脚本程序中使用系统内部函数AnswerAlm来实现,如果对应的数据对象没有报警产生或已经应答,则本函数无效 在实际应用中,对重要的报警事件都要由操作员进行及时的应急处理,报警应答机制能记录下报警产生的时间和应答报警的时间,为事后进行事故分析提供实际数据 NO.34供暖锅炉系统数据对象报警属性设置变量名供气阀给水阀放气阀温度压力液位运行状态锅炉报警类型打开,即0 下限:60℃℃上限:80℃℃ 上限0.12 下限:0.8m上限:1.0m要求:当报警产生时要能够实现对报警的应答,并且对于所有报警能自动保存报警的信息 NO.35 如果数据库的某段特定的数据需要做一些修改,当需要修改的数据量较大时,逐行修改数据库的数据纪录是很费时费力的,可以采用“修改数据库”功能构件完成数据对象的替换 在工业生产中,经常需要实现数据库之间的数据表的拷贝、存盘数据提取以及生成各种各样的数据报表来对生产进行总结、调度和计划,MCGS还提供了相当丰富的存盘数据操作方法 谢谢观赏!谢谢观赏!。