[发明专利]一种结构化文本代码处理方法和系统在审
申请号: | 201710052306.5 | 申请日: | 2017-01-22 |
公开(公告)号: | CN106844310A | 公开(公告)日: | 2017-06-13 |
发明(设计)人: | 陈宏君;张磊;周磊;谭良良;刘克金;文继锋;徐卫峰;周强;牛洪海 | 申请(专利权)人: | 南京南瑞继保电气有限公司;南京南瑞继保工程技术有限公司 |
主分类号: | G06F17/22 | 分类号: | G06F17/22 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 211106 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 结构 文本 代码 处理 方法 系统 | ||
1.一种结构化文本代码处理方法,其特征在于,包括:
将结构化文本代码按照程序组织单元转换为C代码文件;
在上述转换过程中嵌入预定义的接口函数;
将各个程序组织单元转换后的C代码文件编译为独立的二进制组件库;
装置获取并加载若干上述二进制组件库,运行接口函数。
2.如权利要求1所述的一种结构化文本代码处理方法,其特征在于,装置的功能代码由若干编译后二进制组件构成,装置在初始化时加载各个组件,获取固定名称的C接口函数地址,形成初始化、运行函数链表。
3.如权利要求1所述的一种结构化文本代码处理方法,其特征在于,装置运行过程中,替换更新二进制组件库;
装置在非实时线程中更新替换加载组件,记录新的接口函数地址,在实时任务运行阶段更新组件接口函数地址,实现组件增量更新。
4.如权利要求1所述的一种结构化文本代码处理方法,其特征在于,单个程序组织单元转换后的C代码文件包括如下内容:输入变量声明、输出变量声明、功能块实例名声明、系统功能回调函数指针变量、组件的初始化接口函数、组件的任务接口函数、组件变量读写接口函数。
5.如权利要求1所述的一种结构化文本代码处理方法,其特征在于,在代码转换前,预先建立IEC61131-3标准定义的变量类型、函数、功能块、语句的转换映射表,根据转换映射表,将结构化文本代码转换为有限子集的C代码。
6.如权利要求1所述的一种结构化文本代码处理方法,其特征在于,所述的装置包括嵌入式装置和PC机虚拟装置;
针对嵌入式Linux操作系统的装置,组件编译为*.so文件;
针对嵌入式Vxworks操作系统的装置,组件编译为*.cdf文件;
针对PC机虚拟装置,组件编译为*.dll文件。
7.如权利要求2所述的一种结构化文本代码处理方法,其特征在于,装置在加载组件时,将全局变量读写接口函数地址赋给组件内系统功能回调函数指针变量,组件之间的数据交互通过调用函数指针实现。
8.一种结构化文本代码处理系统,其特征在于,所述系统包括:结构化文本编辑模块、代码转换模块、代码编译模块、通信模块和系统软件模块,其中:
所述的结构化文本编辑模块,提供文本编辑界面,编写结构化文本代码,并以程序组织单元为单位存储多个文本代码;
所述的代码转换模块,以程序组织单元为单位分析结构化文本代码,转换为对应的C代码文件,并在C代码中嵌入系统软件模块预定义的接口函数;
所述的代码编译模块,自动形成Makefile文件,调用嵌入式装置或PC机虚拟装置对应的编译器,将C代码文件编译形成二进制组件库;
所述的通信模块,用于将编译后的二进制组件传输到装置指定目录;
所述的系统软件模块,运行在装置中;
装置系统软件模块在初始化时加载各个组件,获取固定名称的C接口函数地址,形成初始化、运行函数链表;
在实时任务中运行各个组件的任务函数;
装置运行过程中,系统软件模块的非实时线程可更新替换加载组件,记录新的接口函数地址,在实时任务运行阶段更新组件接口函数地址,实现组件增量更新。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京南瑞继保电气有限公司;南京南瑞继保工程技术有限公司,未经南京南瑞继保电气有限公司;南京南瑞继保工程技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710052306.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种连杆式偏心破袋机
- 下一篇:一种含导电无纺布底膜的PET膜的撕膜设备