论文部分内容阅读
自主PLC(可编程逻辑控制器)主要用于工业控制领域,力求快速反映生产设备的实时状况。工业生产过程中出现的生产意外、非正常报警等,可以通过实时数据库实时反馈到监控中心,以便监控人员能做出快速响应。因此,工业控制过程要求整个PLC系统具有较高的实时性。由于PLC系统存在这一特性而传统的关系数据库难以满足PLC系统的实时性要求,因此需要设计实现应用于自主PLC系统的实时数据库,其目的是进行数据的统一管理和紧急性事务的调度。本文实时数据库系统研发的目的在于为数据监控软件提供数据管理平台,主要从数据采集与输出、实时数据处理、报警服务和历史数据转储等几个方面对系统的设计与实现过程进行说明。本文的主要研究内容和结果可概括如下:1)简要介绍自主PLC设备和数据监控软件体系结构,分析实时数据库研发的必要性。对实时数据库系统特征、功能和开发本系统时所涉及的技术进行深入分析,在此基础上,设计其整体结构。2)为实现实时高效的数据采集与输出,在进行实时数据采集与输出时,根据PLC设备的数据特点设计私有的通信规约,采用一问一答的方式在PLC与实时数据库间进行数据通信;与此同时,设计基于死区的数据变更转发机制,将其作为本文两级数据压缩过程中的第一级数据压缩。3)根据系统实时性要求,设计专门的实时数据处理模块,对采集上来的实时数据进行统一处理;根据自主PLC实际应用时数据量情况,设计基于共享内存的“二进四出”的内存数据表供实时数据处理的数据出入方式。实现有效的实时报警功能,实时有效的报警是实时数据库系统必需具备的功能,本文根据实际情况设计报警判断机制将报警数据写入实时报警表,并通过报警管理模块周期读取报警信息。4)在进行历史数据存储时,充分利用现有关系数据库强大的数据管理能力,采用MySQL数据库存储经过压缩处理后的历史数据。运用所设计的综合压缩算法对历史数据队列中的数据进行第二级数据压缩,大大降低了历史数据的体量。5)设计提出符合系统特性的实时事务调度策略,考虑到当前系统的并发度不高且实时数据库系统中的事务大多数是软实时性事务的情况,设计基于静态优先级且同等优先级遵循FCFS(先来先服务)的事务调度策略,这一策略对于进一步提升系统实时性具有重要的意义。6)在测试时,对用到的MySQL数据库在本地进行MyISAM引擎下数据插入与查询测试,对内存数据库进行数据插入和查询测试,并对PLC设备产生的数据进行短时间的压缩处理,测试压缩效果。最后,通过基于实时数据库开发的数据监控软件与PLC平台建立双容水箱应用实例,对实时数据库整体性能作初步评估。经过实时数据库与上位机数据监控软件在基于PLC搭建的双容水箱测试环境中进行集成使用以及一系列的测试,证明了本次开发的实时数据库的实时性和可用性,整体运行效果和性能达到了初步的预期效果。