【技术实现步骤摘要】
一种控制器任务切换方法、装置、设备及可读存储介质
本专利技术涉及控制器领域,特别涉及一种控制器任务切换方法、装置、设备及计算机可读存储介质。
技术介绍
工业控制系统(IndustrialControlSystem,ICS)应用于冶金、化工、建材、电力等多个行业,由于其控制的设备均为重要的工业设备,因此对安全性具有很高的需求。控制器是工业控制系统的核心设备,控制器的运行安全在整个控制系统中占重要地位。在控制器中,每个任务具备各自独立的栈内存空间,控制器根据各个任务的优先级高低进行任务切换,而大部分控制器故障均由任务切换导致。例如,任务切换过程中,首先要将当前任务A的上下文数据保存在当前的任务栈内存中,然后执行任务B。在任务B执行过程中,出现了栈溢出或者野指针非法访问等行为改写了任务A的栈中的上下文数据。待下一次任务A得到调度执行前,操作系统从任务A的任务栈内存中恢复上下文数据,而此时任务栈内存中的上下文数据实际上已经遭到破坏,任务A执行时必然会造成非预期的故障结果,进而导致控制故障,对现场人员生命和财产设备安全造成威胁 ...
【技术保护点】
1.一种控制器任务切换方法,应用于DCS控制器,其特征在于,包括:/n在接收到切换指令后,获取当前任务的上下文数据,并将所述上下文数据保存至任务栈内存和数据备份区中;/n在接收到重新执行所述当前任务的信号后,判断所述任务栈内存中的所述上下文数据是否被更改;/n若否,则读取所述任务栈内存中的所述上下文数据并执行所述当前任务;/n若是,则进行故障记录并报警,从所述数据备份区中获取所述上下文数据并执行所述当前任务。/n
【技术特征摘要】
1.一种控制器任务切换方法,应用于DCS控制器,其特征在于,包括:
在接收到切换指令后,获取当前任务的上下文数据,并将所述上下文数据保存至任务栈内存和数据备份区中;
在接收到重新执行所述当前任务的信号后,判断所述任务栈内存中的所述上下文数据是否被更改;
若否,则读取所述任务栈内存中的所述上下文数据并执行所述当前任务;
若是,则进行故障记录并报警,从所述数据备份区中获取所述上下文数据并执行所述当前任务。
2.根据权利要求1所述的控制器任务切换方法,其特征在于,在将所述上下文数据保存至数据备份区之后,还包括:
获取所述数据备份区的地址信息,并利用所述当前任务的任务信息和所述地址信息建立内存管理表项;
将所述内存管理表项保存到内存管理表中。
3.根据权利要求2所述的控制器任务切换方法,其特征在于,还包括:
删除所述当前任务对应的所述内存管理表项。
4.根据权利要求2所述的控制器任务切换方法,其特征在于,在将所述上下文数据保存至任务栈内存和数据备份区之前,还包括:
计算所述上下文数据的校验标准值,并将所述校验标准值存入所述内存管理表项中。
5.根据权利要求4所述的控制器任务切换方法,其特征在于,利用独立哈希运算引擎计算所述校验标准值。
6.根据权利要求4所述的控制器任务切换方法,其特征在于,判断所述任务栈内存中的所述上下文数据是否被更改,包括:
计算所述任务...
【专利技术属性】
技术研发人员:王欣,黄玲,李蒙,
申请(专利权)人:杭州和利时自动化有限公司,北京和利时系统工程有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。