工控plc软件有哪些(国产PLC软件PikePLC编译器介绍)

针对PikePLC的编译器,此处只作简单的介绍,毕竟要想详细介绍编译器需要很长的篇幅。

PikePLC中内置了四款编译器,分别是:

  1. 将梯形图编写的POU转换为ST语言的编译器;
  2. 将用FBD编写的POU转换为ST语言的编译器;
  3. 将ST语言转换为C头文件和源文件的编译器;
  4. 开源的GNU编译器,将C文件编译为最终在目标环境中运行的二进制文件。

针对Ladder和FBD转换为ST语言的编辑器,实现起来比较简单,基本上就是根据Ladder和FBD的模型,分析出逻辑关系,然后将其转换为对应的ST语句即可。

而真正有技术难度的是ST编译器。PikePLC所使用的StructuredText(ST)编译器基于Eclipse开源基金会的xtext(https://www.eclipse.org/Xtext/)项目开发。至于xtext项目的介绍以及使用,读者可以前往其官网进行查看,这里就不再准备介绍它。

基于xtext最重要的就是实现描述ST语言词法和语法规则的.xtext文件。然后是基于规则文件进行一些语法分析以及语法检查的功能扩展。其实xtext已经为开发者做了很多工作,所以实现起来也会事半功倍。

PikePLC基于xtext实现的词法和语法模型,包含了IEC61131-3 v2.0中描述的PLC软件模型,按照范围从大到小以及组织层级关系,分为:

  1. 配置-CONFIGURATION
  2. 资源-RESOURCE
  3. 任务-TASK
  4. POU-PROGRAM、FB、FC统称为POU
  5. 当然还有用户自定义数据类型、全局变量以及变量地址配置等

然后就是基于xtext构建的模型,对ST代码进行语法分析,如:类型匹配分析、调用关系分析、循环依赖分析、变量使用分析等等

工控plc软件有哪些(国产PLC软件PikePLC编译器介绍)(1)

检测在POU中被定义但未被使用的变量

工控plc软件有哪些(国产PLC软件PikePLC编译器介绍)(2)

数据类型匹配分析

然后是基于xtext构建的语法模型,生成对应的C头文件和源文件

工控plc软件有哪些(国产PLC软件PikePLC编译器介绍)(3)

POU与C文件的对应关系

最后调用GCC交叉编译工具链,将生成的一堆C文件编译为在Linux上可运行的二进制文件。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页