ST语言编程平台的设计及其到C语言的转换

来源 :杭州电子科技大学 | 被引量 : 0次 | 上传用户:UltraUnAsm
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在PLC的编程规范——IEC61131-3中,介绍了用于PLC编程的五种相关语言,分别是:梯形图(LD)、功能块图(FBD)、顺序流程图(SFC)、结构化文本语言(ST)和指令表语言(IL)。其中ST语言是一种类似于PASCAL、C语言的高级文本语言,它编程格式自由、程序紧凑、具有很强的数据处理能力,使用ST语言可以比较方便地实现复杂控制程序的编写。在PLC的软件系统中实现对ST语言编程的支持,会大大提高PLC的编程效率,丰富PLC平台的功能。在杭州电子科技大学智能与控制实验室自主研发的PLC软件平台——CASS系统中,目前已经实现了LD、FBD、SFC和IL指令四种语言编程,并且创造性地实现了在图形化语言中嵌入C语言的编程。为了完善CASS系统的编程功能,使其成为完全符合IEC61131-3国际标准的专业化的工业控制软件编程系统平台,现需要设计实现对ST语言编程方式的支持。基于CASS系统中实现的嵌C语言编程的功能,本文采用语言转换的思想,即将ST语言转换到C语言,来实现ST语言的编程。文中首先对ST语言的编程特点以及语言转换的相关技术进行了大量研究,提出了一种以ST语言的语法分析为核心,对源程序的语法单元进行递归识别及转换处理的转换算法。该算法主要包括ST语言的词法分析算法、递归下降语法分析、基于控制流分析技术的转换算法以及C语言代码的生成,与传统的用编译原理技术实现转换的方法相比,本文的算法具有结构简洁、实现方便且代码复杂度小的优点。此外,本文还实现了ST语言编程平台界面的设计。最后本文通过理论证明以及大量的实验对该转换算法的正确性、源代码膨胀率、转换的自动化程度等性能进行了验证。实验证明,本文所设计的转换算法,不但正确地实现了ST语言到C语言的自动转换,而且具有较小的源代码膨胀率和较好的执行效率。
其他文献
随着网络技术的飞速发展,网络安全问题已经成为社会关注的焦点。对于一个单位网络而言,由于内部人员比外部人员更加容易获得系统的权限并且内部人员的不合法操作很难被发现,
随着计算机技术的飞速发展,新一代通信技术和互联网技术迅速崛起。作为传统科学(地理等)与现代科学技术相结合的产物,地理信息系统(GIS)从上世纪后期开始得到迅猛发展,其提供
XXXX卫星地面通信系统承担着卫星原始资料、卫星测控和轨道数据、指挥调度信息等数据的远程传输任务,对我国的XXXX卫星事业有着举足轻重的作用。其中,通信分系统主要负责实时
软件体系结构作为20世纪90年代国际软件工程领域出现的一个新兴的重要研究方向,日益受到国内外学术界和工业界的关注。软件体系结构描述是软件体系结构中一个非常重要的研究内
近年来,随着CT设备图像质量及成像速度的大幅提高,CT在医学诊断、治疗中的应用越来越广泛。与其他影像检查手段,如X线相比,由于CT是断层成像,且有较高的分辨率,所以具有很大
网格计算旨在发现、分配并协商使用Internet可以访问范围内的各种服务能力,使其以统一的方式进行交互和运作,以实现资源的高度共享和协同工作。随着OGSA(Open GridServices Arc
随着社保审计范围不断扩大,需要处理的业务数据呈现多源化、异构化、海量化等特点,因此如何实现异构分布式数据源信息共享成为当前亟待解决的问题。本文研究的数据集成技术对
网络信息安全在计算机应用越来越普及的今天变得十分重要,它关系到人们日常生活的方方面面。密码技术作为网络信息安全的一个重要分支,正在得到越来越多的研究和关注,这些都促使
本课题提供了一种IMS领域内CENTREX业务的计费方案。通过研究3GPP最新的关于计费的规范和新的计费架构,制定方案,并且进行AVP设计,话单设计,流程设计,测试等环节,设计并实现
随着建筑行业的飞速发展,计算机在建筑业的应用越来越受到广泛重视。当前在建筑工程结构设计中,一般都采用手工或AutoCAD软件进行各部分的平面图绘制。但是二维平面图不能反映