[发明专利]一种将C语言代码自动封装为功能块的方法和系统在审
申请号: | 202210469723.0 | 申请日: | 2022-04-30 |
公开(公告)号: | CN115033231A | 公开(公告)日: | 2022-09-09 |
发明(设计)人: | 邬惠峰;孙丹枫;陈佰平;胡俊杰 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | G06F8/36 | 分类号: | G06F8/36;G06F8/51;G06F8/30;G05B19/05 |
代理公司: | 浙江永鼎律师事务所 33233 | 代理人: | 陆永强 |
地址: | 310018*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 语言 代码 自动 封装 功能块 方法 系统 | ||
1.一种将C语言代码自动封装为功能块的方法,其特征在于,至少包括以下步骤:
步骤S1:获取导入的C代码文本;
步骤S2:从导入的C代码文本中划分出若干个代码块,生成待封装的C代码块的集合并遍历该集合;
步骤S3:将每个待封装的C代码块的参数映射到功能块的引脚;
步骤S4:根据步骤S3的映射结果生成与该待封装的C代码块功能一致的功能块XML节点;
步骤S5:将XML节点导出,以作为功能块进行调用。
2.根据权利要求1所述的将C语言代码自动封装为功能块的方法,其特征在于,还包括:
对所述每一个待封装的C代码块进行语法校验,以预先判断该代码块是否可以被封装为功能块。
3.根据权利要求2所述的将C语言代码自动封装为功能块的方法,其特征在于,待封装的C代码块为C语言函数。
4.根据权利要求3所述的将C语言代码自动封装为功能块的方法,其特征在于,步骤S3中,映射符合从C语言标准C18规定的变量类型到PLC编程标准IEC61131-3规定的变量类型的转换。
5.根据权利要求4所述的将C语言代码自动封装为功能块的方法,其特征在于,步骤S4中,所生成的XML节点可被PLC编程软件导入。
6.根据权利要求5所述的将C语言代码自动封装为功能块的方法,其特征在于,步骤S5中,还包括:
对功能块列表中的对应节点进行增删改处理,以进行去重操作。
7.根据权利要求5所述的将C语言代码自动封装为功能块的方法,其特征在于,步骤S4中,将映射后的代码按照标准的功能块存储格式来保存,根据标准的功能块XML模板节点和映射后的代码来生成新的功能块XML节点。
8.根据权利要求7所述的将C语言代码自动封装为功能块的方法,其特征在于,标准功能块XML模板节点包括引脚节点和代码节点两个子节点。
9.根据权利要求7所述的将C语言代码自动封装为功能块的方法,其特征在于,封装后的功能块都以XML文本文件的形式保存。
10.一种将C语言代码自动封装为功能块的系统,其特征在于,至少包括封装单元和文件单元,其中,
文件单元至少包括导入模块和导出模块,分别用于导入C函数代码块以及输出功能块节点;
封装单元至少包括语法校验模块、集合管理模块、映射模块和XML解析模块,其中,语法校验模块用于初步分析封装的可行性;集合管理模块用于同时维护C代码的函数集合和现有功能块节点的集合;映射模块用于根据C语言代码到可编程语言代码的转换规则完成C代码的映射转换;XML解析模块用于将C函数中的参数、代码块信息解析到功能块XML模板节点中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210469723.0/1.html,转载请声明来源钻瓜专利网。