多核PLC编程研究

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:xiaoquan1234
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:PLC,即可编程逻辑控制器,广泛应用于工业生产中的自动化控制、信息采集环节。目前单核PLC逐渐难以应对复杂的工业场景,多核处理器PLC有异构等特性,在性能、功耗、响应和计算能力方面有显著优势。本文旨在分析多核处理器PLC的优势与编程方案。
  关键词:可编程逻辑控制器;异构多核系统
  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)33-0198-02
  1 背景
  1.1 PLC的诞生与发展
  PLC全称是Programmable Logic Controller,即可编程控制器,最早出现于20世纪60年代,伴随着微处理器(MPU)和超大规模集成电路技术的发展迅速成长。至20世纪80年代,欧美开始使用微处理器作为PLC的中央处理单元,确立了PLC的哈佛结构。哈佛结构用不同的存储器分别存储程序指令和数据,这样使得数据和程序指令的读取可以同时进行,具有较高的执行效率。
  上世纪末,IEC 61131成为PLC国际标准,以及微处理器技术飞速发展,PLC在体系结构上,就是多核化和异构化的发展趋势。
  本世紀以来,PLC编程逐渐走向标准化,利用统一的编程标准,可以突破不同PLC平台的限制,方便地进行PLC程序移植;基于标准编写的程序,甚至可以在PLC与非PLC平台之间移植。
  1.2 多核PLC前景
  多核处理器突破了单核处理器发展的瓶颈,异构为多核带来了更多优点[1]:
  1)控制逻辑简单:单个核心处理的任务类型单一;
  2)高主频:全局信号少,减少了线延迟;
  3)强扩展性:各核处理特定任务,可以针对单个核心升级扩展而不影响其他任务;
  4)低功耗:多核体系中区分核内时钟和跨核时钟,降低驱动负载。
  传统PLC大都采用分时任务操作系统,把CPU划分为多个时间片,每个任务轮流占用CPU;操作系统也有优先级策略,可以满足高响应速度需求的进程优先占用;但时间片是基本的执行单位,操作系统进行任务切换也需要开销,所以响应速度只能局限在毫秒级。
  当前PLC应用在更大规模的问题上,数据和计算量都有了量级的提升,在更高精尖的领域,也需要更高的响应速度,单核PLC的分时系统已经难以满足求。多核PLC中,采用分核操作系统实现,将特定任务分配给特定的核心执行,每个核心采用分时策略;对于需要快速响应的任务,通常可以使用专门的核心进行通信;大量的计算和数据流,可以交给多个IO核心与计算核心并形完成。为了实现多个核心的协调,多核PLC系统往往会有一个主核心,完成控制和协调工作。通过这种多核心任务分发,减轻单个核心的负载,对整个系统的计算能力和响应速度有很大的提升,是突破单核PLC性能瓶颈的方案。
  2 PLC图形编程模型
  PLC大多数情况是面向非软专业件开发人员,所以通常采用图形化界面,无需代码,直观展示逻辑。PLC编程中通常使用梯形图方式来表示器件,下面介绍一种PLC梯形图编程的设计思路。
  2.1 梯形图检查
  梯形图是用户编程的图形接口,需要进行基本的检查,类似于普通程序编译器中的语法检查[2]。检查过程如图1。
  短路判断:记录两并连线之间的元件个数N,如果N=0,则判断为短路。
  断路判断:沿着电路遍历元件,并对经过的元件设立标志位VISITED=TRUE;梯形图中存在VISITED=FALSE的元件,即可判断其断路。
  2.2构造逻辑树
  梯形图是电路逻辑的图形化表示,梯形图必须转化为指令表,进而编译成机器语言,才能在PLC的微处理器上执行。梯形图整个编辑过程是动态添加与删除,故采用链表存储图形元素;再把已完成的梯形图构造为树[3]。
  经过2.1检查过的单个梯级图,总能用树形结构表示。图2展示了一个梯级图转换为树形结构的结果。通过逐个元件遍历梯形图,就能从叶节点到根节点生成一棵树。树的每个叶节点与梯级图中的元件一一对应;每个非叶节点,存储了其子树代表的局部电路的连接关系。每个梯级图可转换为一棵单根树,该树的所有元件出现在叶子节点,所有的叶子节点都是元件。对于有多个梯级图的PLC电路,会生成一个森林。
  梯级图的遍历方式与电流经过的路径一致,树的生成按照从叶子到根逐层升高,对应梯级图中从元件到局部电路再到全局电路的表示。
  2.3遍历逻辑树生成指令
  对每个逻辑树中的节点而言,需要回溯到其父节点,获取所有兄弟节点,并根据父节点提供的连接关系与兄弟节点生成电路逻辑,所以每个节点必须包含如下信息:
  1) 节点信息:叶节点的元件类型或非叶节点的连接关系。
  2) 子节点:可以采用线性结构存储指向所有孩子的指针。
  3) 父节点:指向父节点的单个指针。
  一棵逻辑树中的根节点、非叶非跟节点、叶节点可以通过子节点和父节点是否为空判断。基于以上数据结构,可以通过树的从底向上遍历生成指令,规则如下:
  1) 起始时,申请一个栈,用来存储中间结果和原始操作数;
  2) LD,直接将操作数入栈;
  3) ALD,栈顶两个元素出栈,进行与运算,结果入栈;
  4) OLD,栈顶两个元素出栈,进行或运算,结果入栈;
  5) =,栈顶元素出栈,并为当前操作数赋值;
  6) 运算指令,栈顶元素出栈,与当前操作数预算,结果入栈。
  3 并行化方案
  传统的PLC图形编程已经相对成熟,在传统的编程模型基础上,使用并行方案为不同的核心生成不同的控制逻辑与数据流,可以达到多核协作并发的目的。下面介绍几种并行方案。   3.1扩展编译器
  大多数的高级编程语言编写的程序,都是经过编译器转换为汇编指令,进而转换为机器码才能被处理器所执行。PLC编程也要经过逻辑树转换为指令集,才能生成机器码供MPU执行,所以编译器PLC程序执行的必由之路,也是并行化的重要途径[4]。
  编译器是根据用户编写的程序生成指令的工具,所以并行化过程对用户透明,不会给程序编写人员带来额外负担。
  在多核异构PLC平台下,图形化编程将梯形图转化为指令表,可以在这一步加入并行编译器。编译器需要绑定目标PLC平台,根据核心分布情况,将不同的逻辑转换为对应核心的指令表。比如,IO密集型和计算密集型的任務,需要分配给不同的核心。在实际应用中,系统需要根据各核心的负载情况和公共资源使用,编译器需要考虑到负载均衡、数据共享、访问控制,否则容易产生运算错误或过长的停止等待,影响多核的实际效率。
  由此可见,这个方案为编译器提出了更加苛刻的要求:对于复杂的代码,考虑到并行与体系结构的紧密相关性,编译器并不能识别很多并行代码,从而造成并行程度不足;对于复杂的体系结构和高关联性任务,编译器无法胜任负载均衡、多核优化等需求,使程序无法很好的并发执行。因此,扩展编译器对多核PLC编程而言,是一种简单的实现方案,但存在先天不足。
  3.2扩展串行语言
  扩展串行语言有很多方式,在高级编程语言中,OpenMP是基于该方案一种流行的API。这类方案通过调用为使串行语言支持并行模型,例如多核情况下的消息通信、数据共享等。与编译器扩展方案不同,这种方式需要一定地代码修改,显式地调用相关API,指定并发的代码段和同步方案。
  OpenMP值得借鉴的是,其与平台无关的实现形式,这在多品牌、多型号的PLC市场显得尤为重要。
  OpenMP的思想应用到多核PLC平台,就需要PLC硬件对用户提供多线程指令,同时需要主控核心执行这些指令,将对应的线程分配到对应的核心。但是,PLC编程不是面向专业的程序开发人员或硬件设计人员,所以直接操控硬件资源分配的编程方式具有很大的风险,对PLC程序的稳定性构成了一定威胁。
  考虑到扩展方式的优势和风险,可以通过基于PLC虚拟机的集成开发环境实现。用户根据串行方案编写程序后,集成开发环境可以调用相关API做并行优化,并在PLC虚拟机上执行优化后的机器码,同时根据仿真情况给出性能报告,通过自优化和用户改进提高并行效率,是一种可行的并行化方案。
  4 结论
  传统计算机的多核编程方案对PLC编程有一定的借鉴意义,相信随着PLC异构多核技术的成熟与多核编程方案的成熟,多核PLC的应用也会更加广泛。
  参考文献:
  [1] 陶旭东.用于先进PLC的异构多核MPU研究与设计[D].沈阳理工大学,2011.
  [2] 莫易敏,章德平,周哲.PLC梯形图转化为指令表算法及实现[J].控制工程,2006(6).
  [3] 保慧.PLC图形化编程系统的研究与实现[J].现代机械,2006(1).
  [4] 伊君翰.基于多核的并行编程模型[D].复旦大学,2008.
  [5] 汪前进,高勇,李存华.基于多核处理器的多任务并行处理技术研究[J].计算机应用与软件,2012(4).
其他文献
从分析机载电子产品研制过程的多业务体系参与入手,提出了机载电子产品复杂研制过程的流程特性、复杂流程分解与协同逻辑,以及流程梳理和表达的实施方案。说明了用工作流管理
摘要:无线传感器网络的能量消耗直接影响到整个通信系统的运行效率,本文主要针对无线传感器网络的拓扑结构特点,对其链路层的低能耗功率控制进行研究。通过降低冗余发射功率、提高信号的有效辐射、采用干扰消除技术以及进行干扰避免等策略完成了系统的低功耗功率控制。经过试验测试,本文提出的低功耗拓扑控制策略能够在一定程度上降低网络系统的能量消耗。  关键词:无线传感器网络;低能耗;功率控制;拓扑结构  中图分类号
连锁企业在市场推广中都会面临这些问题:是选择消费密集型市场,还是另辟空白市场:是与对手进行硬碰硬火拼呢,还是另寻新法呢……本期案例以席殊书屋的连锁推广实际操作为范例,希望
企业集团核心能力是集团整体的资源,它的培育是跨部门、跨企业的战略性行动。企业集团首先必须弄清楚企业的外部环境和内部资源条件,然后确立目标,找出影响企业集团核心能力形成
中国特色社会主义事业获得全效发展,当中各类业务开始对于互联网技术产生高度依赖特性,一旦说操作沿用期间衍生任何故障危机,都会直接令特定区域经济、文化、政治和谐地位遭
加强国有资产监管,落实国有资产保值增殖责任,维护所有者权益,建立有效的企业激励和约束机制,这些措施的贯彻实行过程当中都离不开国有资产经营者的责权利问题。那么如何对国有资
摘要:该文介绍了四轴飞行器的基本结构组成形式,并在此基础上根据牛顿第二定律和欧拉方程建立了四轴飞行器的系统动力学模型。  关键词:四轴飞行器;结构形式;动力学模型  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)09-0239-02  1 引言  四轴飞行器是一种旋翼飞行器,它利用四个电机分别控制其四个螺旋桨片的旋转,从而产生上升的动力,并实现指定路径飞行或远程遥
摘要:对数学专业实验课教学现状进行了分析,提出了基于云平台的数学实验教学模式,给出了一种具体的云平台教学实验室的硬件建设和软件建设方案。该方案转变了传统数学实验的管理模式和教学模式,解决了目前高校数学专业实验教学模式单一、学生积极性低、实验室建设成本高,管理效率、利用率、资源共享率低等问题,云平台的使用提高了实验教学效果。  关键词:云平台;数学专业实验;虚拟化;虚拟桌面;实验教学管理系统  中图