编译型PLC的设计与实现

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:zengdf
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
PLC指令执行方式通常有两种,解释执行和编译执行。传统的解释型PLC,易于移植,但是执行效率低。而传统的编译型PLC,采用把PLC源代码直接翻译为目标机器码的方式,执行效率高,但是移植性差。  基于传统解释执行和编译执行方式的优缺点,本文提出了一种新的指令编译执行方式,即首先把PLC源代码编译为C代码,然后采用交叉编译工具把C代码编译为目标机器所能识别的二进制码。由于C语言编译器的种类繁多,根据不同的目标机器采用对应的交叉编译工具,可以有效解决编译执行方式移植性差的问题。本文主要分为两部分,一部分是PLC源代码到C代码的编译系统的设计实现,另一部分是C代码的交叉编译过程。编译系统主要由词法分析、语法分析、语义分析、代码生成、符号表和错误处理构成,其中,词法分析采用词法分析器生成工具Flex来生成,语法分析采用语法分析器生成器Bison来生成,语义分析主要进行静态类型检查,代码生成进行代码变换,符号表和错误处理存在于编译系统的各个步骤中。经过编译系统生成的C代码会被封装成一个Function()函数,它是整个嵌入式软件中的逻辑运算部分,而PLCRun部分主要是进行外设的驱动、初始化,以及主函数中循环调用Function()函数。本文中,目标机器选择意法半导体的stm32芯片,交叉编译工具链是基于gcc的arm-none-eabi-gcc。而且,PLCRun部分和Funciton()函数被烧录到stm32内Flash的不同地址块,它们之间通过指针跳转来实现函数调用,通过在SRAM中设置一块专用的地址块来实现参数传递。这种分开烧录的方式能有效节省烧录时间,提升开发效率。  本文最终在stm32F103ZGT6芯片上进行验证,主要进行了三个方面的分析,正确性分析、执行效率分析、代码占用空间分析。正确性分析是采用输入接按键,输出接LED的方式验证,执行效率和代码占用空间均是与解释型PLC进行对比,结果显示执行效率显著提升,代码占用空间降低。
其他文献
随着遥感技术的发展,遥感卫星的应用范围在军用和民用中逐步扩大,用户对于遥感卫星的应用要求也在不断地提高,这使得遥感卫星及其地面站扮演的角色越来越不可替代。面向遥感卫星
光电跟踪测量技术的飞速发展,对新一代光电测量设备和指挥系统提出了更高的要求,一方面为了提高光电跟踪测量系统的测量精度,大量采用高分辨率、高帧频图像传感器以提高空间分辨
为适应声纳体系一体化的发展需求,现代声纳系统要求具备标准、开放的网络接口以实现数据的共享。本文以拖曳式线列阵声纳为实际应用背景,结合嵌入式和千兆以太网技术,设计并实现
在近几年移动互联网、可穿戴设备蓬勃发展和工业4.0技术革命驱动下,位置感知正成为未来物联网技术体系的重要组成部分。现阶段大量消费类和行业应用正迅速涌现。作为以GPS和北
目的:14-3-3蛋白是一类在真核生物中广泛表达,氨基酸序列高度保守的蛋白家族。近年来研究发现该类蛋白质可以与众多的原癌基因产物和信号分子以及细胞骨架蛋白相结合,从而在细胞
近年来,多源时空序列数据,作为空间大数据的典型代表,蕴含着丰富的数据本征信息,被广泛应用到传染病、气候、环境监测等领域。同时,相关性分析,因具有快捷、高效地发现事物内在关联
随着信息技术的发展,实现便捷接入Internet的IEEE802.11无线局域网(WLAN)正改善了人们的生活方式。尽管Wi-Fi网络可通过提供无缝覆盖与近距离可靠的数据服务来使用户获得良好
医学模拟教学是利用模拟技术创造出高仿真模拟病人和模拟临床场景,代替真实病人进行临床教学和实践的教学方法。医学教育的模拟教学方法源于解剖学的兴起,现代医学模拟教学以
请下载后查看,本文暂不支持在线获取查看简介。 Please download to view, this article does not support online access to view profile.
非洲猪瘟在我国的出现与发生,给广大养殖户、猪肉市场等都带来了不小的影响与挑战,在这一场非洲猪瘟安全度过之后,我们需要居安思危,思考一下后非洲猪瘟时代,如何采取积极的