【技术实现步骤摘要】
一种工业控制系统高并发执行和资源调度方法及装置
[0001]本专利技术涉及工业控制系统领域,尤其涉及一种工业控制系统高并发执行和资源调度方法及装置。
技术介绍
[0002]现有工业自动化系统中IEC 61499应用难以兼顾并发和实时性。现有的基于事件
‑
时间混合驱动机制以保证实时性的IEC 61499执行调度方法,以循环队列为事件的存储实体,单次操作仅取出或插入单个事件,但是在并发场景下可能需要同时插入或取出多个事件进行执行调度。其余方法如非抢占式的调度方式,在功能块网络出现循环调用的时候会导致部分功能块所在线程持续挂起,整个资源会卡死,无法接收新的事件输入触发。缓冲顺序执行模型主要能够实现多线程并保持较低的内存消耗,通过每个资源都持有的事件调度器实现功能块网络的按序调度执行,但是其事件队列机制在功能块网络拓展、循环调用增多的情况下会出现明显的卡顿现象,存在性能瓶颈。
[0003]IEC 61499应用并发执行并保证实时性和可拓展性需要有明确的并发执行语义支撑,目前可以实现应用内功能块执行和资源调度 ...
【技术保护点】
【技术特征摘要】
1.一种工业控制系统高并发执行与资源调度方法,其特征在于,所述方法包括:核心并发执行线程调度方法、可拓展并发执行线程调度方法和离散事件调度方法,其中:所述核心并发执行线程调度方法,包括如下步骤:在初始化配置完成后,确定待创建的线程数量,根据所述线程数量创建线程,所示线程配置为支持并发执行,分配单个或多个所述核心并发执行线程到执行线程,所述执行线程分时执行所述核心并发执行线程;所述可拓展并发执行线程调度方法,包括如下步骤:接收到可拓展并发执行线程调度请求消息,给所述可拓展并发执行线程分配处于执行状态的执行线程,所述执行线程不包含核心并发执行线程所对应的执行线程,在所述分配的执行线程内执行所述可拓展并发执行线程;所述离散事件调度方法,包括如下步骤:步骤1:接收输出离散事件,将所述输出离散事件插入到存储队列;步骤2:等待所述输出离散事件队列扫描;步骤3:从所述存储队列中取出待执行的所述输出离散事件;步骤4:所述输出离散事件触发执行功能块逻辑;步骤5:循环执行步骤1至步骤4。2.如权利要求1所述的方法,其特征在于,所述并发执行线程的状态包括创建状态、就绪状态、执行状态和消亡状态;其中:所述创建状态,是所述并发执行线程的初始状态,是所述并发执行线程状态转换的起点;所述就绪状态,是所述并发执行线程还未消亡,可以接受新的并发执行过程执行,所述就绪状态可由所述创建状态转换得来,所述就绪状态的所述并发执行线程有执行资格,但还没有执行权;所述执行状态,是指所述并发执行线程处于执行状态,所述并发执行线程有执行资格和执行权,在所述并发执行线程执行结束后所述并发执行线程将回到就绪状态;所述消亡状态,在所述并发执行线程长期处于就绪状态或者需要停止执行时,所述并发执行线程将转为所述消亡状态。3.如权利要求1所述的方法,其特征在于,在所述核心并发执行线程调度方法中,所述线程数量由预先配置的最大核心并发执行线程数量和核心并发执行线程数确定,所述线程数量取所述最大核心并发执行线程数量和所述核心并发执行线...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。