ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:303.32KB ,
资源ID:4169405      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4169405.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第24章 组态王历史库.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第24章 组态王历史库.docx

1、第24章 组态王历史库第24章 组态王历史库 数据存储功能对于任何一个工业系统来说都是至关重要的,随着工业自动化程度的普及和提高,工业现场对重要数据的存储和访问的要求也越来越高。一般组态软件都存在对大批量数据的存储速度慢、数据容易丢失、存储时间短、存储占用空间大、访问速度慢等不足之处,对于大规模的、高要求的系统来说,解决历史数据的存储和访问是一个刻不容缓的问题。组态王6.5顺应这种发展趋势,提供高速历史数据库,支持毫秒级高速历史数据的存储和查询。采用最新数据压缩和搜索技术,数据库压缩比低于20%,大大节省了磁盘空间。查询速度大大提高,一个月内数据按照每小时间隔查询,可以在百毫秒内迅速完成。完整

2、实现历史库数据的后期插入、合并。可以将特殊设备中存储的历史数据片段通过组态王驱动程序完整的插入到历史库中;也可以将远程站点上的组态王历史数据片段合并到历史数据记录服务器上,真正的解决了数据丢失的问题。 注意:由于组态王6.5采用了新的历史数据记录模式,组态王软件6.5以前版本所存储的历史库将与新的历史库不兼容,您所遇到的问题是查询不到以前的历史数据,请在采用新版本或升级时慎重考虑!24.1 组态王变量的历史记录属性在组态王中,离散型、整型和实型变量支持历史记录,字符串型变量不支持历史记录。组态王的历史记录形式可以分为数据变化记录、定时记录(最小单位为1分钟)和备份记录。记录形式的定义通过变量属

3、性对话框中提供的选项完成。在工程浏览器的数据词典中找到需要定义记录的变量,双击该变量进入“定义变量”对话框,选择“记录和安全区”属性页,如图24.1所示。图 24.1 记录属性设置记录属性的定义: 不记录:此选项有效时,则该变量值不进行历史记录。 数据变化记录:系统运行时,变量的值发生变化,而且当前变量值与上次的值之间的差值大于设置的变化灵敏度时,该变量的值才会被记录到历史记录中。这种记录方式适合于数据变化较快的场合。变化灵敏度:定义变量变化记录时的阈值。当“数据变化记录”选项有效时,“变化灵敏度”选项才有效。 例如:数据库中有一个实型变量,如果需要对该变量的值进行记录,而且规定其变化灵敏度为

4、1,则其记录过程如下:如果第一次记录值是10,当第二次的变量值为10.9时,由于10.9-10=0.91,即变化幅度大于设定的“变化灵敏度”,所以此次变量值才被记录到历史记录中。 定时记录:无论变量变化与否,系统运行时按定义的时间间隔将变量的值记录到历史库中,每隔设定的时间对变量的值进行一次记录。最小定义时间间隔单位为1分钟,这种方式适用于数据变化缓慢的场合。 备份记录:选择该项,系统在平常运行时,不再直接向历史库中记录该变量的数值,而是通过其它程序调用组态王历史数据库接口,向组态王的历史记录文件中插入数据。在进行历史记录查询等时,可以查询到这些插入的数据。这种方式一般用于环境复杂的、无人职守

5、数据采集点等场合。在这些场合使用的有些设备带有一定数量的数据存储器,可以存储一段时间的设备采集到的数据。但这些设备往往只是简单的记录数据,而不能进行历史数据的查询、浏览等操作,而且必须通过上位机的处理才可以看到。在组态王6.5的历史库中直接提供了这些处理的功能。 例如:如图24.2所示。远程有若干具有历史记录功能是数据采集设备,中心控制室通过拨号网络与这些站点循环连接。因为是与每个站点间断连接的,所以如果在中心站上直接记录数据的话,会造成历史记录为间断的现象。而设备中存储的记录如果此时直接插入到历史库中,也会造成历史库混乱。 在组态王6.5中完整的解决了这个问题。首先对应的变量的历史记录定义为

6、“备份记录”,则无论系统是否与数据采集设备相连接,变量都不会向历史库中记录数据。当系统与某个设备连通后,系统通过驱动程序将设备中存储的历史记录读取上来,并按照约定的时间格式和变量类型等插入到组态王的历史库中。这样就保证了历史库的完整性。图24.2 采集远程设备中的历史记录24.2 历史记录存储及文件的格式在组态王工程浏览器中,打开“历史记录配置”属性对话框。如图24.3所示。图24.3 历史记录配置 历史记录的启动选择:如果选择“运行时自动启动”选项,则运行系统启动时,直接启动历史记录。否则,运行时用户也可以通过系统变量“$启动历史记录”来随时启动历史记录。或通过选择运行系统中“特殊”菜单下的

7、“启动历史记录”命令来启动历史记录。 历史库文件保存时间长度设置:在“文件保存天数”编辑框中选择历史库保存的时间长度。最长为9999天,最短为1天。当到达规定的时间时,系统自动删除最早的历史记录文件。 历史库存储路径的选择:历史库的存储路径可以选择当前工程路径,也可以指定一个路径。如果工程为单机模式运行,则系统在指定目录下建立一个“本站点”目录,存储历史记录文件。如果是网络模式,本机为“历史记录服务器”,则系统在该目录下为每个与本机连接的IO服务器建立一个目录,分别保存来自各站点的历史数据。 历史记录文件格式:为了保证数据记录的快速和稳定,保证系统的运行效率,当被记录的变量的值发生变化或者定时

8、记录中所设定的时间间隔到达后,组态王的历史记录首先被记录到一个临时文件中,该文件的文件名格式类似为project200308200700.tmp(project年月日时.tmp),每一小时生成一个,该文件不是压缩文件,而每到整点时间如8点时,运行系统读出.temp文件中的数据进行压缩处理并生成真正的历史库记录文件.std文件,如project200308200700.std。数据压缩处理完成后,生成一个新的时刻的.tmp文件,上一个小时的.tmp文件则被消除。组态王每一天的历史数据保存为一个.std 文件。所以配置对话框中的“数据文件记录时数”将不在起作用,保留它只是为了保证版本的兼容性。24

9、.3 历史数据的查询在组态王运行系统中主要有两种方式可以查询得到历史数据:报表和历史趋势曲线以及历史趋势曲线控件,报表函数查询主要使用两个函数ReportsetHistdata()和ReportsetHistData2(),有关这两个函数的使用方法参见命令语言函数速查手册。趋势曲线的使用请参见“第8章 趋势曲线和其他曲线”。24.4 网络历史库的备份合并在使用组态王网络功能时,有些系统中历史记录服务器与IO服务器不是经常连接的,而是间断连接的,如拨号网络连接的网络系统。在这种情况下,IO服务器上变量的历史记录数据如果在网络不通的时候很容易丢失。为了解决这个问题,组态王中专门提供了网络历史库存储

10、“备份合并”的功能。在一般的网络里,IO服务器是不进行历史库记录的,而是将所有的数据都发送到历史记录服务器上记录。在组态王的“网络配置”中提供了一个选项“进行历史数据备份”。如图24.4所示。网络配置的其它选项及功能请参见“第21章 网络功能”。图24.4 IO服务器上选择历史库备份在IO服务器上选择该项,则系统运行时,IO服务器自动记录本机产生的历史记录。在历史记录服务器上建立远程站点时,可以看到IO服务器记录历史记录的选项,如图24.5所示。图24.5 在历史记录服务器上建立远程站点 注意:进行历史数据备份的站点,必须在“网络配置”中选择“本机是历史记录服务器”,否则无法进行历史记录。然后

11、定义历史记录服务器的节点类型,如图24.6所示。图24.6 定义历史记录服务器的节点类型这样当系统运行时,无论网络连通与否,历史记录服务器都不会记录来自IO服务器上的变量的实时库中的值。在网络连通时,需要用户通过命令语言调用组态王提供的历史库备份函数BackUpHistData()来将IO服务器上的历史库传送到历史记录服务器上。BackUpHistData()函数的使用方法: 函数名称:BackupStationData (Str *chMchinename, Long ftEndtime) 功能:通过网络与远程站点建立连接,将远程站点的数据从上一次备份的时间到ftEndtime的时间段之间的

12、数据备份到服务器中。 返回值:BOOL型 当函数调用成功函数返回TRUE,否则返回FALSE,当函数返回FALSE。 参数1:chMchinename 字符串型,远程站点IO服务器名称,服务程序通过该名称与远程站点建立连接。 参数2:ftEndtime 代表时间的长整型秒数,指定备份的结束时间。可以使用HTConvertTime()函数来获得结束时间的整型。 例如:在历史记录服务器上备份“IO采集站”的历史记录到当前时间。在命令语言中按照以下方法实现。long endTime;endTime=HTConvertTime($年,$月,$日,$时,$分,0);BackUpHistData(IO采集

13、站, endTime);历史库每次备份完成后,都会自动记录本次备份的结束时间,下次备份时,其始时间为上次备份结束的时间,所以在使用备份函数时,只需要定义结束时间即可。另外,为了让用户更清楚的了解到备份的过程进度和结果,以及获得出现的错误信息等,组态王提供了一下函数供用户使用。1. 获取备份进度函数int GetBackupProgress( Str szStationName);参数:远程站点名称。返回值:0100间的整型数值。功能:得到正在备份的站点的进度百分比。2. 获取备份状态函数BOOL GetStationStatus(Str szStationName);参数:远程站点名称。功能:

14、得到站点的状态值, 返回值0 正在备份数据 返回值 =0空闲。3. 停止备份函数BOOL StopBackupStation(Str szStationName);参数:远程站点名称。功能:强制停止正在备份的远程站点。 例如: 当用户使用BackUpHistData()函数后,可以在组态王的应用程序命令语言运行时,或画面命令语言存在时等里面周期性调用GetBackupProgress()函数和GetStationStatus()函数,获得备份进行的进度和备份的完成状态。如果用户想停止备份,可以在按钮中使用StopBackupStation()函数,立即停止历史记录的备份。24.5 组态王历史库服务程序为了方便多用户访问组态王历史库,历史库程序采用了服务的方式,在组态王6.5安装完成后,请重新启动计算机,以使历史库服务启动。在系统控制面板中打开“服务”窗口,可以在服务列表中找到“HistorySvr”,请保证其状态为“已启动”。如果运行系统出现异常,可以在此处重新启动历史库服务。如果在运行系统启动时,历史库服务没有启动,则系统会自动提示“历史库:历史库服务没有启动”。如果不启动历史库服务,则系统无法存储和查询历史数据。 图24.7 历史库服务除本章所描述的内容之外,组态王6.5为了方便用户对历史库的访问,提供了可供用户使用VBA编程访问的接口,具体请参见本手册附录B。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1