




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 多核plc编程研究 董喆摘要:plc,即可编程逻辑控制器,广泛应用于工业生产中的自动化控制、信息采集环节。目前单核plc逐渐难以应对复杂的工业场景,多核处理器plc有异构等特性,在性能、功耗、响应和计算能力方面有显著优势。本文旨在分析多核处理器plc的优势与编程方案。关键词:可编程逻辑控制器;异构多核系统:tp311 :a :1009-3044(2016)33-0198-021 背景1.1 plc的诞生与发展plc全称是programmable logic controller,即可编程控制器,最早出现于20世纪60年代,伴随着微处理器(m
2、pu)和超大规模集成电路技术的发展迅速成长。至20世纪80年代,欧美开始使用微处理器作为plc的中央处理单元,确立了plc的哈佛结构。哈佛结构用不同的存储器分别存储程序指令和数据,这样使得数据和程序指令的读取可以同时进行,具有较高的执行效率。上世纪末,iec 61131成为plc国际标准,以及微处理器技术飞速发展,plc在体系结构上,就是多核化和异构化的发展趋势。本世紀以来,plc编程逐渐走向标准化,利用统一的编程标准,可以突破不同plc平台的限制,方便地进行plc程序移植;基于标准编写的程序,甚至可以在plc与非plc平台之间移植。1.2 多核plc前景多核处理器突破了单核处理器发展的瓶颈,
3、异构为多核带来了更多优点1:1)控制逻辑简单:单个核心处理的任务类型单一;2)高主频:全局信号少,减少了线延迟;3)强扩展性:各核处理特定任务,可以针对单个核心升级扩展而不影响其他任务;4)低功耗:多核体系中区分核内时钟和跨核时钟,降低驱动负载。传统plc大都采用分时任务操作系统,把cpu划分为多个时间片,每个任务轮流占用cpu;操作系统也有优先级策略,可以满足高响应速度需求的进程优先占用;但时间片是基本的执行单位,操作系统进行任务切换也需要开销,所以响应速度只能局限在毫秒级。当前plc应用在更大规模的问题上,数据和计算量都有了量级的提升,在更高精尖的领域,也需要更高的响应速度,单核plc的分
4、时系统已经难以满足求。多核plc中,采用分核操作系统实现,将特定任务分配给特定的核心执行,每个核心采用分时策略;对于需要快速响应的任务,通常可以使用专门的核心进行通信;大量的计算和数据流,可以交给多个io核心与计算核心并形完成。为了实现多个核心的协调,多核plc系统往往会有一个主核心,完成控制和协调工作。通过这种多核心任务分发,减轻单个核心的负载,对整个系统的计算能力和响应速度有很大的提升,是突破单核plc性能瓶颈的方案。2 plc图形编程模型plc大多数情况是面向非软专业件开发人员,所以通常采用图形化界面,无需代码,直观展示逻辑。plc编程中通常使用梯形图方式来表示器件,下面介绍一种plc梯
5、形图编程的设计思路。2.1 梯形图检查梯形图是用户编程的图形接口,需要进行基本的检查,类似于普通程序编译器中的语法检查2。检查过程如图1。短路判断:记录两并连线之间的元件个数n,如果n=0,则判断为短路。断路判断:沿着电路遍历元件,并对经过的元件设立标志位visited=true;梯形图中存在visited=false的元件,即可判断其断路。2.2构造逻辑树梯形图是电路逻辑的图形化表示,梯形图必须转化为指令表,进而编译成机器语言,才能在plc的微处理器上执行。梯形图整个编辑过程是动态添加与删除,故采用链表存储图形元素;再把已完成的梯形图构造为树3。经过2.1检查过的单个梯级图,总能用树形结构表
6、示。图2展示了一个梯级图转换为树形结构的结果。通过逐个元件遍历梯形图,就能从叶节点到根节点生成一棵树。树的每个叶节点与梯级图中的元件一一对应;每个非叶节点,存储了其子树代表的局部电路的连接关系。每个梯级图可转换为一棵单根树,该树的所有元件出现在叶子节点,所有的叶子节点都是元件。对于有多个梯级图的plc电路,会生成一个森林。梯级图的遍历方式与电流经过的路径一致,树的生成按照从叶子到根逐层升高,对应梯级图中从元件到局部电路再到全局电路的表示。2.3遍历逻辑树生成指令对每个逻辑树中的节点而言,需要回溯到其父节点,获取所有兄弟节点,并根据父节点提供的连接关系与兄弟节点生成电路逻辑,所以每个节点必须包含
7、如下信息:1) 节点信息:叶节点的元件类型或非叶节点的连接关系。2) 子节点:可以采用线性结构存储指向所有孩子的指针。3) 父节点:指向父节点的单个指针。一棵逻辑树中的根节点、非叶非跟节点、叶节点可以通过子节点和父节点是否为空判断。基于以上数据结构,可以通过树的从底向上遍历生成指令,规则如下:1) 起始时,申请一个栈,用来存储中间结果和原始操作数;2) ld,直接将操作数入栈;3) ald,栈顶两个元素出栈,进行与运算,结果入栈;4) old,栈顶两个元素出栈,进行或运算,结果入栈;5) =,栈顶元素出栈,并为当前操作数赋值;6) 运算指令,栈顶元素出栈,与当前操作数预算,结果入栈。3 并行化
8、方案传统的plc图形编程已经相对成熟,在传统的编程模型基础上,使用并行方案为不同的核心生成不同的控制逻辑与数据流,可以达到多核协作并发的目的。下面介绍几种并行方案。 3.1扩展编译器大多数的高级编程语言编写的程序,都是经过编译器转换为汇编指令,进而转换为机器码才能被处理器所执行。plc编程也要经过逻辑树转换为指令集,才能生成机器码供mpu执行,所以编译器plc程序执行的必由之路,也是并行化的重要途径4。编译器是根据用户编写的程序生成指令的工具,所以并行化过程对用户透明,不会给程序编写人员带来额外负担。在多核异构plc平台下,图形化编程将梯形图转化为指令表,可以在这一步加入并行编译器。编译器需要
9、绑定目标plc平台,根据核心分布情况,将不同的逻辑转换为对应核心的指令表。比如,io密集型和计算密集型的任務,需要分配给不同的核心。在实际应用中,系统需要根据各核心的负载情况和公共资源使用,编译器需要考虑到负载均衡、数据共享、访问控制,否则容易产生运算错误或过长的停止等待,影响多核的实际效率。由此可见,这个方案为编译器提出了更加苛刻的要求:对于复杂的代码,考虑到并行与体系结构的紧密相关性,编译器并不能识别很多并行代码,从而造成并行程度不足;对于复杂的体系结构和高关联性任务,编译器无法胜任负载均衡、多核优化等需求,使程序无法很好的并发执行。因此,扩展编译器对多核plc编程而言,是一种简单的实现方
10、案,但存在先天不足。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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 濮阳县2025年五年级数学第二学期期末监测模拟试题含答案
- 提升自动化水平选择好的电磁阀解决方案
- 供应商选择与评估管理制度制度
- 投影水幕设计施工方案
- 宁波单层厂房施工方案
- 电力抢修施工方案
- 汽车尾灯资料
- 2025年家居业务面试题及答案
- 6个红包纸折灯笼的制作方法
- 5年级下册英语单词第三单元带读音朗读
- 劳务派遣劳务外包项目方案投标文件(技术方案)
- 云南省教育科学规划课题开题报告 - 云南省教育科学研究院
- 03J111-1轻钢龙骨内隔墙
- SCL-90心理测试试卷
- 法语冠词总结
- 弱电工程验收报告模板
- 煤矿用80开关(QBZ80、120、200)
- 《并购专题》PPT课件.ppt
- 初一趣味英语竞赛PPT课件
- 柑橘种植示范园项目可行性研究报告-用于立项备案
- IPC-A-610E培训教材(完整版)
评论
0/150
提交评论