基于armfpga的plc源程序编译系统的设计

基于ARM+FPGA的PLC源程序编译系统的设计蒋玉新蔡启仲李克俭张炜(广西工学院电子信息与控制工程系广西柳州545006)摘要基于ARM+FPGA的PLC主机结构,在研究PLC程序编译执行过程和新指令特点的基础之上,提出一种新型PLC指令的编译方法。静态编译将指令的操作数转换为PLC软元件的直接地址,建立转移类指令的转移地址链表,编译成为新的PLC程序代码序列;动态编译在PLC程序执行过程中将新程序指令中操作数的直接地址转换为立即数,由FPGA模块执行。通过对PLC用户源程序的编译与执行,表明该方法能够充分应用FPGA髙速并行处理的功能,提高了PLC程序执行的速度。关键词PLC编译软元件ARMFPGA中图分类号TP314文献标识码ACompilationsystemofPLCSourceProgramBasedonARM+FPGAJiangYuxinCaiQizhongLiKejianZhangWei(ElectronicInformationandControlEngineering,GuangxiUniversityofTechnology.Liuzhou545006・China)AbstractBasedonthestudyofcompilationandexecutionprocessofPLCprogramandfeaturesofnewinstructions,proposedanewcompilationmethodofPLCprogramonaPLCplatformdesignedbyARMandFPGA.ThestaticcompilationconvertsinstructionoperandstodirectaddressofPLCsoftcomponents,setsupthebranchaddresslinklistofbranchinstnictionsandwouldbecompliedtonewPLCprogramcodesequencewhilethedynamiccompilationconvertsthedirectaddressofoperandsfromnewprogramcommandstoimmediatedatainPLCexecutionprocessbyFPGA.Finally,bycompilingandexecutingPLCsourceprogram,thetestresultshowsthatourproposedmethodcanspeeduptheprocessingofPLCprogrambyfullyutilizingthehighspeedparallelprocessinglunctionsofFPGA.KeywordsPLCcompilationsoftcomponentARMFPGAo引言可编程控制器(PLC)四|•多年来一直在工业控制各领域得到广泛的应川和发展。随着现代计算机技术的飞速发展,尤其是嵌入式系统的出现,国内外开展了应川ARM作为控制核心芯片,或者■应用FPGA作为控制核心芯片实现PLC功能的研究以及采川ARM和FPGA相结合实现PLC功能的开发研究$儿对于PLC用户程序的编译方法通常是在上位机将梯形图程序编译成为嵌入式芯片能够识别的指令序列代码,然后将其下载到嵌入式芯片中执行加叫本文在采用ARM和FPGA相结合的PLC结构中,依据指令集设计编译器,PLC指令在ARM中被编译生成FPGA可执行的指令代码,并下载到FPGA内部,由FPGA执行逻辑对代码进行逐条执行,充分应川FPGA高速并行处理的功能。1新型指令特点及其编译方案在ARM+FPGA新型PLC结构中,FPGA系统最主要的任务是完成PLC程序中绝大部分逻辑运算指令的逻辑运算,完成定时器、计数器的定时和计数功能"相比于三菱指令,新型指令的改进也主耍集中在逻辑运算指令上。因此,文中主耍分析逻辑运算指令的特点,其他指令与三菱PLC指令系统并无出入。蒋玉新等:基于ARM+FPGA的PLC源程序编译系统的设计1.1LD、AND和LDR、OR指令的分析在三菱PLC基木指令规范中,LD、AND和OR指令只能带一个操作数,而新型指令系统中LD、AND、LDR和OR都可带多个操作数。新型AND指令只能出现在询一条指令是OR或ORB,后-•条指令是LD指令的情况中。在LD指令后紧跟OR指令的情况下,新型LDR指令取代LD和OR指令。1.2编程比较图1所示的梯形图是应用LDR、LD、OR和AND指令编制的一个程序模块。图1LDR、LD、OR、AND指令的编程举例用三菱PLC指■令编写该程序模块的程序,如表1所示需要15条指令。表1三菱PLC指令编写的程序序号指令序号指令1LDFX02ORTO3ORIM04LDM155ANDM1()6ORIM57ORM208ANB9ANDIX1610ANDFCO11OUTYO12ANDC313ANDIXO14ANDPM1315OUTMO用新指令编写程序只需8条指令,如表2所农2新指令编写的程序序号指令序号指令1LDRXOF,TO,MOI2LDN4I5,MIO3ORM5I,M204ANB5ANDXI61,COF6OUTYO7ANDC3,XOI,M13P8OUTMO注:I:动断触头:P:动合上升沿,F:动断下升沿,三个符号的基本含义与三菱PLC指令相同,但其符号写在元件编号Z后。由于一条指令后可带多个操作数,ARM编译过程和FPGA指令执行过程对操作码的判断以及対指令是否结束的判断只需进行-•次,多个操作数的逻辑运算可以一次性完成。...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?