[发明专利]一种用于在线修改控制系统逻辑算法程序的方法有效
申请号: | 201310481575.5 | 申请日: | 2013-10-15 |
公开(公告)号: | CN103529743B | 公开(公告)日: | 2017-01-04 |
发明(设计)人: | 师嘉;王鼎;刘刚;黄磊;焦邵华 | 申请(专利权)人: | 北京四方继保自动化股份有限公司 |
主分类号: | G06F12/00 | 分类号: | G06F12/00;G05B19/048 |
代理公司: | 北京金阙华进专利事务所(普通合伙)11224 | 代理人: | 吴鸿维 |
地址: | 100085 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 在线 修改 控制系统 逻辑 算法 程序 方法 | ||
技术领域
本发明属于工业自动化控制系统技术领域,更具体地说,涉及一种用于在线修改控制系统逻辑算法程序的方法。
背景技术
在工业自动化控制中,由组态软件与控制器(也称为上位机与下位机)组成的控制系统广泛的应用于各控制领域:如分布式控制系统(DCS)、可编程控制器(PLC)、安全仪表控制系统(SIS)等。通常,组态软件(上位机)完成控制算法的组态、算法程序的生成、算法程序下载至控制器、以及算法执行情况的在线监视等工作;控制器(下位机)完成算法任务调度、控制算法执行、现场数据采集等工作,是工业控制的核心部分。目前工业控制系统对于控制的实时性、连续性、稳定性、安全性都提出了越来越高的要求。在控制系统对工业现场进行控制的过程中,可能会需要修改已有的控制算法,已达到更理想的控制效果,那么如何在控制系统已运行算法程序的情况下,可以不对控制器运行状态进行扰动,完成控制器中算法程序的更新,实现新旧控制算法的无缝切换,是工业自动化控制领域必须要解决的问题。
目前在线修改控制系统逻辑算法程序通常采用以下两种方式:
第一种方式是,控制器的存储区中采用一块代码区与一块数据区的方式,其算法程序中每个子算法程序保存在指定的区域,新增的子程序保存在新的区域,变化的子程序可以在停止任务执行后进行替换,也可以执行过程中替换,但替换后的子程序不可以被执行,该方法对于控制的实时性具有较大影响;
第二种方式是,控制器中存储区中采用两块代码区,两块代码区同用一块数据区,该方法可以在不影响运行程序的前提下,对另一块代码区进行配置,满足控制实时性的要求,但其缺点在于修改程序后可能要求对原有变量的内存空间进行初始化,若该阶段执行后发生异常,系统无法退回到原算法程序运行的状态,存在算法扰动的风险,第一种方式也存在同样的问题。
发明内容
为克服现有技术存在的上述问题,本发明提供一种用于在线修改控制系统逻辑算法程序的方法,实现对控制过程无扰动的情况下更新算法程序的目的,并且更新过程的任何阶段出现异常,都可以继续执行原算法程序,不会对控制系统造成不必要的扰动。
本发明所述控制系统包含组态软件和控制器两大部分,组态软件负责生成修改后的算法程序及生成需要在线修改的数据;控制器使用组态软件生成的数据,进行算法程序的在线修改;
所述控制器包括一套微处理器和存储器,存储器进一步包括:
两份代码区,保存算法程序数据,其中只有一份代码区中的算法程序被执行;
两份数据区,保存分别对应两份代码区中算法程序使用的变量信息,每个变量对应惟一的一片内存空间;
两份辅助区,保存对应两份代码区中算法程序的数据区排布信息、数据区配置命令;
当前运行的算法程序对应的代码区、数据区、辅助区为活动区,另一份为备用区;
采用两份代码区和数据区,在线修改过程中出现任何异常,都可以继续使用活动区的数据来完成工程控制,不会对修改前算法的执行造成任何影响。
所述控制系统以任务调度的方式对算法程序进行执行,控制系统支持多任务调度方式;
所述算法程序由若干子程序组成,不同子程序完成不同的控制功能,不同的子程序可以被不同的任务调度;
所述数据区中每一个变量对应惟一的一片内存空间,根据算法中数据的类型分配不同大小的内存空间,不同变量的内存空间不会重叠;
所述数据区排布信息进一步指,算法程序中使用的所有变量数据,其数据内容包括变量名称、变量在数据区的相对偏移地址、变量的大小信息。
本发明具体采用以下技术方案:
一种用于在线修改控制系统逻辑算法程序的方法,包括以下步骤:
(1)数据生成阶段:组态软件从控制器读取当前运行算法程序的信息,生成待修改的算法程序在修改后的算法程序数据、新的数据区排布信息、备用数据区的配置命令;
(2)数据下载阶段:组态软件将生成的所述修改后的算法程序数据下载到控制系统中,控制器验证下载数据正确后,将修改后的算法程序数据保存到备用代码区,将新的数据区排布信息、备用数据区配置命令保存到备用辅助区;
(3)程序配置阶段:控制器在周期执行算法程序的空闲时间内,根据备用数据区配置命令完成备用数据区的状态配置,使备用数据区保持在运行的算法程序中数据的运算状态;
(4)程序切换阶段:控制器配置完成后,在所有任务周期执行结束后,停止旧的算法程序,切换至备用代码区,继续执行备用代码区中新的算法程序。
本发明还可以进一步优选以下技术方案:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京四方继保自动化股份有限公司,未经北京四方继保自动化股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310481575.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:信息处理装置
- 下一篇:一种电源系统丧失及后果的分析方法