[发明专利]一种梯形图内嵌组态算法的实现方法有效
| 申请号: | 200910099156.9 | 申请日: | 2009-06-01 |
| 公开(公告)号: | CN101566839A | 公开(公告)日: | 2009-10-28 |
| 发明(设计)人: | 严义;邬惠峰;李良;赵建勇 | 申请(专利权)人: | 杭州电子科技大学 |
| 主分类号: | G05B19/05 | 分类号: | G05B19/05 |
| 代理公司: | 杭州求是专利事务所有限公司 | 代理人: | 周 烽 |
| 地址: | 310018浙江省*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 梯形 图内嵌 组态 算法 实现 方法 | ||
1.一种梯形图内嵌组态算法的实现方法,其特征在于,包括如下步骤:
(1)使用者通过组态策略生成器进行组态设计,系统对设计结果进行描述,形成描述组态算法的XML形式描述文件;
(2)解析器对描述文件进行解析,对解析结果进行格式化处理;
(3)根据解析结果,生成数据和源代码;
(4)将源代码与数据内嵌入梯形图中;
(5)将梯形图与组态算法一起编译生成目标指令集;
(6)生成的指令集下载到目标平台运行。
2.根据权利要求1所述梯形图内嵌组态算法的实现方法,其特征在于,所述步骤(1)具体如下:
(A)通过图形化拖拉设计生成组态页面;
(B)将组态算法解析成各个正确而又有序的控制算法序列:解析组态算法采用自底向上的方式,也就是从输出控件为起点,向前进行搜索;
(C)依次将得到的组态算法序列中的控制算法与参数用XML语言描述到文件中。
3.根据权利要求2所述梯形图内嵌组态算法的实现方法,其特征在于,所述步骤(B)中,所述搜索具体如下:
(a)将一系列输出模块放入母堆栈中;
(b)弹出一个输出模块,建立一个子堆栈,并将输出模块压入栈中;此时,输出模块为当前模块;
(c)分析当前模块的输入线段,按输入的先后顺序将输入模块依次压入母堆栈中;
(d)检查母堆栈中是否还有模块,没有则搜索结束,最后得到的子堆栈就是组态算法序列;有则弹出模块,并设为当前模块,压入子堆栈中;如当前结点为输入模块,则进入步骤(d);如当前结点不是输入模块,则进入步骤(c)。
4.根据权利要求1所述梯形图内嵌组态算法的实现方法,其特征在于,所述步骤(2)采用XSLT模板对描述文件进行匹配生成代码,并产生几个相关的XML文件,具体如下:
(A)采用XSLT模板对描述文件进行匹配生成控制程序块,包括参数的初始化,控制算法的裁剪,控制算法的组态;控制算法的组态,关键在于数据流的关系;每个控制算法中至少包含一个输入或输出,各个模块之间的联系就是数据流的流向关系,在这里,用栈数据结构进行表示这种关系,包括以下三点规则:
(a)输入表示弹出栈动作,输入的点数决定弹出栈的数据个数;
(b)输出表示压入栈动作,输出的点数决定压入栈的数据个数;
(c)数据入栈时,按顺序入栈;数据出栈对变量进行赋值时,则要按反序进行赋值;
(B)根据上位机用户设定的地址表,生成组态算法到梯形图的地址映射表;
(C)结合地址表与参数列表,生成数据表,这些数据是写入到FLASH中,是可读可写的变量;针对用户要求修改的参数集合,必须给这些参数分配地址,以便用户在设计人机界面时可以进行配置而进行修改;内存按功能不同,可分为两块:梯形图内存与组态算法内存,用连续的空间分配这两块内存;这些参数在下载时更新相应的FLASH区,上电时将FLASH中的数据搬到RAM中,运行时用户可修改其值,断电时将RAM中的数据再搬回到FLASH中,以达到保存当前数据的目的;
(D)根据用户调用控制算法情况生成组态算法包,组态算法包是控制算法集合的子集,是通过裁剪得到需要的算法;上位机每个算法控件绑定一个组态算法,当拖拉时就会相应地生成控制算法。
5.根据权利要求1所述梯形图内嵌组态算法的实现方法,其特征在于,所述步骤(3)根据用户组态的情况,将所用的组态算法代码与XML文件进一步解析,生成与梯形图融合的数据与代码,具体如下:
(A)将用户所用的组态算法包进行匹配融合,保证组态算法包不存在相同的控制算法;
(B)添加用户所用的组态控制程序代码;将步骤2中所生成控制程序代码文件加入到梯形图程序中;
(C)组合用户所用的地址表,并依次递增划分内存,生成地址代码部份;
(D)组合用户所用的数据表,生成数据代码部份。
6.根据权利要求1所述梯形图内嵌组态算法的实现方法,其特征在于,所述步骤(4)具体如下:
(A)在梯形图软件设计中,划分出组态算法的执行区;梯形图中有快速逻辑区与慢速逻辑区,是根据梯形图执行周期长短设置的,现加入组态逻辑区,组态控制算法的执行周期比梯形图的慢速逻辑执行周期长;
(B)将组态算法以控件形式拖拉到组态执行区中,并可拖拉多个组态算法;
(C)根据组态算法调用情况,调用相关文件和生成相关代码与数据;
(D)根据执行周期不同,梯形图与组态形成多任务调度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910099156.9/1.html,转载请声明来源钻瓜专利网。





