预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

万方数据 出(19。62:_耋.竺黧:氅DsP在交流词速中的⋯⋯“⋯⋯”一⋯用于PLC的华P语言编译器设计与实现沈阳理工大学学报郑阳,付丽君,黄志钢1华P语言命令集Li-jun,HUANGcompiler.Through摘要:PLC已广泛应用于工业领域中,PLC的软件设计大多采用梯形图编程,文中设计实现了一种新的PLC编程语言一一华P语言,并采用自顶向下逐句分析的方法设计了相应的华P语言到8051汇编语言的编译器。通过该编译器,可直接编译生成底层CPU需用的hex格式的机器码文件。最后通过对比梯形图指令,以实例分析得出华P语言的优势及应用的可行性。.关键词:PLC;华P语言;编译器;语义分析中图分类号:TP393文献标识码:ACompilerlanguage进入2l世纪,由于CPU的成本不断降低,生产PLC的硬件门槛在下降,国内软件技术水平大幅提升,已经具备了小型系统软件的研发能力,而国产PLC的市场贡献恰恰就在小型PLC的市场⋯。由于小型PLC多作为独立控制器运行,对通信能力要求不高,其技术的核心集中在开发PLC专用的语言程序上旧J。文中针对PLC的技术特点,设计实现了一种新的PLC编程语言一一华P语言及相应的华P一一8051编译器,华P语言使用中文编写,语言清晰,结构严谨,语言可读性强,可以应用于8051内核的小型PLC上。最后通过比较当前PLC流行的梯形图指令,以实例分析华P语言的优点及应用的可行性,为生产基于华P语言的小型PLC打下基础。根据PLC上通用的梯形图语言的格式和技术特点以及MCU的指令集系统,设计了”华P语言”UGONGDesignandRealizationoftheHua—PLanguageForPLCZHENGYang,FUZhi—gangapplicationfeasibilitylanguage;compiler;semantic作者简介:郑阳(1983一),男,硕士研究生;通讯作者:付丽君“””⋯“、9年10月第28卷第5期TRANSACTIONSOFSHENYANGUNIVERSITY文章编号:1003—1251(2009)05—0030—04(沈阳理工大学信息科学与工程学院,辽宁沈阳110168)(Shenyang10168,China)Abstract:PLCiswidelyusedinindustrydomain,Thesoftwaredesignmostlylad—derchartprogramming.Akindprogrammingdesignedrealizedthisarticle,usingtop-downbyanalysismethodcorrespondinghua—Pfor8051assemblycompiler,itdirectlybi—filehexformatrequiredbottomCPU.Finallythroughcontrastingladderin—struetion,thesuperiorityobtainedexam·pleanalysis.Keywords:PLC;Hua—P收稿日期:2008一i1—20应用、电力线通信技术、电气传动.20V01.28Oct.29University,Shenyangnewsentencetogeneratenary”一No.5Ligongusescallare 万方数据 华P语言编译器的设计3)代码扫描程序在扫描程序时,从语句中找第5期郑阳等:用于PLC的华P语言的编译器没计与实现的命令集。模仿梯形图左输入右输出的惯例,华P语言采用如下命令格式:命令名(输入信号)_+[输出信号]‘具体设计了8大类55条命令的中文命令集,其中部分命令易于用VLlw指令实现,部分命令宜于用协处理器命令实现。具体命令及编泽器界面如图1所示。从以上可以看出,华P语言为纯中文语言,从关键词中就能领会语句含义。使国人在程序设计上,容易上手,简单方便。该语言包含了PLC在实际应用中的大多数功能,尤其是在开关量的控制上,有很强的逻辑功能,所以在小型PLC应用领域,使用该语言设计程序完全可满足需求。22.1编译系统概述编译器是一个将高级语言源程序转换成能在一台计算机上执行的等价目标代码或机器语言程序的软件系统旧J。通常情况下,一个编译器的编译过程由一系列的阶段组成,这些阶段从要编译的源程序的字符序列开始,依次对一个给定形式的程序进行分析,并得到一种新的表示形式,在大多数情况下最终产生一个可以与其他目标代码链接,并装入一台机器的存储器中可执行的目标模块⋯。2.2编译器的程序结构1)主控模块华P语言编译器的主程序。2)变量扫描程序负责分配和初始化全程变量。到相应的关键字,将该关键字与关键字表进行对比,看是否匹配,并跳转到相应子程序,通过编译翻