[发明专利]一种在SocFPGA上实现PLC运行环境的方法在审
申请号: | 201510365185.0 | 申请日: | 2015-06-29 |
公开(公告)号: | CN105137903A | 公开(公告)日: | 2015-12-09 |
发明(设计)人: | 李维钊;国庆利;曹猛;陈江 | 申请(专利权)人: | 山东超越数控电子有限公司 |
主分类号: | G05B19/05 | 分类号: | G05B19/05 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜明 |
地址: | 250100 山东省*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 socfpga 实现 plc 运行 环境 方法 | ||
技术领域
本发明涉及一种PLC运行技术领域,具体地说是一种在SocFPGA上实现PLC运行环境的方法。
背景技术
可编程逻辑控制器(英文全称ProgrammableLogicController,简称PLC)是一种专门为工业自动控制而开发的通用自动控制装置,它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。它具有可靠性高、编程简单、使用方便、功能完善、通用性好等特点,并具有在线修改功能,给控制系统带来了很好的柔性。它可以灵活地以不同的组态来适应不同控制对象、控制规模和控制功能的要求,是实现“机电一体化”较理想的控制设备。一般的PLC控制系统分为两部分,一部分为编程环境:包括梯形图编辑显示,变量编辑,工程配置,程序编译等;另一部分为运行环境:主要将编程环境编译生成工程文件解释并执行。
目前国内的PLC运行环境的一般在专用的PLC芯片上,采用系统集成的profibus总线,专用的PLC芯片一般不包含操作系统,实现PLC的多任务切换十分复杂,文件存储及网络传输十分繁琐,profibus总线的带宽只有12M,传统PLC的逻辑运算部分和控制信号传输均通过专用芯片或者单片机进行运算和传输,总体执行效率较低。
SoC,英文全称SystemonaChip,翻译为片上系统。指的是在单个芯片上集成一个完整的系统,对所有或部分必要的电子电路进行包分组的技术。所谓完整的系统一般包括中央处理器(CPU)、存储器、以及外围电路等。SoC是与其它技术并行发展的,如绝缘硅(SOI),它可以提供增强的时钟频率,从而降低微芯片的功耗。由于空前绝后的高效集成性能,片上系统是替代集成电路的主要解决方案。SoC已经成为当前微电子芯片发展的必然趋势。
FPGA是英文Field-ProgrammableGateArray的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
SocFPGA是Altera的一款高端FPGA,内嵌了一颗双核ARMCortex-A9处理器,该处理器以硬核方式出现。如何使得该SocFPGA实现可编程逻辑控制器的运行环境,是目前本领域人员迫切需要解决的问题。
发明内容
本发明的技术任务是针对以上不足之处,提供一种在SocFPGA上实现PLC运行环境的方法。解决了如何在SocFPGA实现可编程逻辑控制器的运行环境的问题。
本发明解决其技术问题所采用的技术方案是:
一种在SocFPGA上实现PLC运行环境的方法,将PLC的运行环境分为逻辑运算部分和实时信号处理部分,逻辑运算部分采用SocFPGA上的ARM核进行实现,采用实时linux操作系统,用来解释梯形图算法;实时信号处理部分,采用SocFPGA上的FPGA进行实现,用来对数据进行打包和传输;ARM核和FPGA之间通过SocFPGA内部的高速总线进行通信。
ARM核和FPGA之间的通信协议为Avalon通信协议,寻址空间960M。
具体包括如下步骤:
(1)、将PLC的运行环境分为逻辑运算部分和实时信号处理部分;
(2)、逻辑运算部分采用SocFPGA上的ARM核进行实现,将linux操作系统移植到SocFPGA的ARM核,然后将PLC运行环境代码进行移植,使其能够在SocFPGA的linux操作系统上运行;
(3)、编写SocFPGA高速通信总线驱动程序,将PLC主站和从站之间的控制代码进行移植;
(4)、实时信号处理部分,采用SocFPGA上的FPGA进行实现;
(5)、通过Altera的Qsys软件编辑ARM核和FPGA之间的高速通信总线;
(6)、采用avalon通信协议,将FPGA的片上RAM映射成linux操作系统的一段内存,PLC运行环境将主站和从站的控制代码写入该内存,FPGA端编写内存读写程序,将控制代码打包通过外部实时总线输出控制其他从站和IO板卡,实现高速实时数据通信。
Linux操作系统在SocFPGA上的实现,包括如下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东超越数控电子有限公司,未经山东超越数控电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510365185.0/2.html,转载请声明来源钻瓜专利网。