摘要
针对可编程逻辑控制器(Programmable Logic Controller,PLC)的编程语言不支持程序的并行编译,无法使控制程序并行执行于多核处理器的问题,根据功能块图的可拆分性,提出了用有向无环图(Directed Acyclic Graph,DAG)任务模型表示PLC控制程序的方法,并采用静态列表任务调度算法,优化DAG中的任务节点在不同CPU核上的分配调度,解决了PLC控制程序并行执行时会遇到的通信延时问题。此外,针对变量资源的竞争问题提出了使用互斥量的方法。实验结果表明,此方法能有效地将PLC控制程序并行运行在多核处理器上,大大缩短了程序的执行时间。
The programming language for PLC does not support parallel compiling so that the control program cannot run in parallel on multi-core processor. By means of the feature that Functional Block Diagram can be split, a method is proposed in this work,which uses DAG task model to represent the PLC control program to solve this problem. Moreover, static list scheduling algorithm is used to deploy the tasks in DAG for different CPU cores and handle with the problem of communication delay when PLC control program is executing in parallel. Besides,this paper proposes a mutex-based method to resolve the variable resources competition. Experimental results show that these methods succeed in making PLC control program run in parallel and reduce the execution time of the program.
出处
《华东理工大学学报(自然科学版)》
CAS
CSCD
北大核心
2016年第6期820-826,850,共8页
Journal of East China University of Science and Technology