[发明专利]一种根据功能块图自动生成程序的系统、方法及装置有效
申请号: | 201910261994.5 | 申请日: | 2019-04-02 |
公开(公告)号: | CN110147226B | 公开(公告)日: | 2023-10-03 |
发明(设计)人: | 邬惠峰;严义;陈佰平;赵建勇 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/34;G06F8/41 |
代理公司: | 北京国翰知识产权代理事务所(普通合伙) 11696 | 代理人: | 卫翠婷 |
地址: | 310000 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 根据 功能块 自动 生成 程序 系统 方法 装置 | ||
本发明属于程序开发技术领域,具体涉及一种根据功能块图自动生成程序的系统、方法及装置。所述系统包括:功能块类单元,存储有至少一个功能块类,所述功能块类为功能块抽象封装成的一个类;有向图生成单元,将操作人员进行连线和/或赋值操作关联的两个功能块,转换为对应的有向图;指令集生成单元,对有向图进行遍历,并进行变量替换,生成指令集代码。转换过程简单高效,降低了程序开发的门槛,且标准化程度高,适用较广。
技术领域
本发明属于程序开发技术领域,具体涉及一种根据功能块图自动生成程序的系统、方法及装置。
背景技术
可编程控制器(PLC)在世界自动化领域广泛应用。随着越来越多的PLC厂商出现,各个厂商的PLC之间需要相互协作、相互移植的需求显著增多,一个明确规范的PLC编程语言标准就显得非常重要。IEC61131-3标准是由国际电工委员会(IEC)制定IEC61131标准的第3部分,用于规范PLC的编程语言规范。使得各个厂商之间的PLC程序更容易互相移植,互相兼容。
FBD功能块图语言是IEC61131-3标准规定的5种PLC编程语言之一。功能块图是一种图编程语言,它的编程方式类似于逻辑电路中的逻辑表达式,能够方便地描述复杂的功能,程序逻辑清晰、易于理解,但将功能块图程序编译为能在PLC设备上运行的可执行文件是PLC集成开发平台软件的难点之一。
指令集也是IEC61131-3标准规定的5中PLC编程语言之一,是一种类汇编语言,非常容易编译为对应的汇编语言,因此将功能块图转换为较容易编译的指令集语言,是功能块图编译的可行方案之一。但是PLC领域内传统的功能块图程序转换到指令集程序的方法有着建模复杂、流程繁琐、实现困难等缺点。
发明内容
有鉴于此,本发明的主要目的在于提供一种根据功能块图自动生成程序的系统、方法及装置,转换过程简单高效,且降低了程序开发的门槛,且标准化程度高,适用较广。
为达到上述目的,本发明的技术方案是这样实现的:
一种根据功能块图自动生成程序的系统,所述系统包括:
功能块类单元,存储有至少一个功能块类,所述功能块类为功能块抽象封装成的一个类;
有向图生成单元,将操作人员进行连线和/或赋值操作关联的两个功能块,转换为对应的有向图;
指令集生成单元,对有向图进行遍历,并进行变量替换,生成指令集代码。
进一步的,所述功能块类单元中存储的每个功能块类的成员属性均包括:功能块的位置、功能块的大小、功能块的外表图片、功能块的输入引脚、功能块的输出引脚和内嵌指令集代码。
进一步的,所述指令集生成单元包括:单个有向图遍历模块,用于对单个有向图进行遍历,并进行变量替换,生成指令集代码;多个有向图遍历模块,用于对多个有向图进行遍历,,并进行变量替换,生成指令集代码。
一种根据功能块图自动生成程序的方法,所述方法执行以下步骤:
将每个功能块抽象封装为一个类,并进行存储,一个功能块即一个功能块类的实例对象;
将操作人员进行连线和/或赋值操作关联的两个功能块,转换为对应的有向图;
对有向图进行遍历,并进行变量替换,生成指令集代码。
进一步的,所述将操作人员进行连线和/或赋值操作关联的两个功能块,转换为对应的有向图的方法执行以下步骤:以各个功能块作为有向图的顶点,各个功能块之间的连线作为边;当功能块的引脚进行赋值和连线操作时,该操作会改变功能块中引脚成员的赋值,将该赋值作为关联功能块实例的引用,这种对其他功能块的引用所表示的连接关系即有向图的边,边的方向为从一个功能块的输出引脚指向另一个功能块的输入引脚。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910261994.5/2.html,转载请声明来源钻瓜专利网。