System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及可编程逻辑控制器编程软件领域,具体涉及一种将plc的梯形图转换为指令表的方法。
技术介绍
1、国际电工委员会制定的工业控制编程语言标准规定了五种plc的编程语言:梯形图(ld),指令表(il),功能模块图语言(fbd),顺序功能流程图语言(sfc)以及结构化文本语言(st)。相较于其他编程语言,梯形图语言具有更悠久的发展历程,但是它仍在今日应用广泛,因为其表达方式具有直观明了、易于掌握等特点。我们知道汇编语言可以直接操控计算机硬件,直接与计算机底层做交互,易于被pc的cpu执行。同理,梯形图不能直接被plc识别,需要将其转换为指令表语言,它同样是接近机器码的语言。因此在plc技术中,梯形图转换为语句表的过程特别重要。
2、现有技术梯形图转换为语句表,需要先将梯形图转换为顶点活动(activity onvertex,aov)图,再将aov图转换为二叉树,最终遍历二叉树生成指令表。这种表现形式会导致二叉树的深度过深,其宽度未被合理利用,大量浪费树的空间。现有技术也可以将梯形图转换为逻辑树,对aov图的连通分量进行串并联扫描,但每次扫描到具有关联元件的节点,需要重新开始扫描,大大降低扫描速率。并且对于连续串联元件和连续并联元件,传统的串并联扫描发效率并不高。
技术实现思路
1、为了提高梯形图转换为指令表的效率,本专利技术提出一种将plc的梯形图转换为指令表的方法,将梯形图转换为顶点活动图,采用动态优先级的串并联扫描法生成逻辑树,对逻辑树进行后续遍历,产生指令表结
2、101、将直接与当前元件直接串联或者直接并联元件的数量作为当前元件的优先级,按照优先级进行排序生成所有元件构成的向量集合l,根据向量集合l中每个元件生成一个树节点;
3、102、判断向量集合l中元件数量是否为1,若是则结束;
4、103、否则对向量集合l中优先级最高的节点e进行串联扫描,该节点与该节点串联的其他节点生成一个串联集合q;
5、104、若串联集合q中节点的数量大于1,则创建和逻辑节点xand插入到向量集合l中,并删除向量集合l中与串联集合q相同的节点;
6、105、根据直接与和逻辑节点连接的节点的数量更新和逻辑节点的优先级,并将直接与和逻辑节点串联或者并联的元件节点优先级加1;
7、106、生成第一树节点tand,将串联集合q中的节点作为第一树节点tand的子节点;
8、107、判断节点e的前驱节点是否为虚节点,若是则进行并联扫描,节点e与虚节点后继节点的后继节点与节点e的后继节点相同的节点合并为一个并联集合s;
9、108、若并联集合s中节点的数量大于1,创建或逻辑节点xor插入到向量集合l中,并删除向量集合l中与并联集合s相同的节点;
10、109、根据直接与或辑节点连接的节点的数量更新或逻辑节点的优先级,并将直接与或逻辑节点串联或者并联的元件节点优先级加1;
11、110、生成第二树节点tor,将并联集合s中的节点作为第二树节点tor的子节点;
12、111、返回步骤102。
13、与现有技术相比,本专利技术预处理机制极大简化了复杂的梯形图,可以减少对连续串联或连续并联原件的扫描步骤,动态优先级的串并联扫描可以充分减少不必要的节点扫描,极大地提高扫描效率;另外,本专利技术可以广泛地应用到plc中复杂的梯形图程序,可以极大提高串并联扫描发效率。
本文档来自技高网...【技术保护点】
1.一种将PLC的梯形图转换为指令表的方法,将梯形图转换为顶点活动图,其特征在于,采用动态优先级的串并联扫描法生成逻辑树,对逻辑树进行后续遍历,产生指令表结构,采用动态优先级的串并联扫描法生成逻辑树具体包括以下步骤:
2.根据权利要求1所述的一种将PLC的梯形图转换为指令表的方法,其特征在于,串联集合Q中的节点按照级联顺序进行排列,并将串联集合Q中第一个节点的前驱节点作为和逻辑节点xand的前驱节点、最后一个节点的后继节点作为和逻辑节点xand的后继节点。
3.根据权利要求1所述的一种将PLC的梯形图转换为指令表的方法,其特征在于,将并联集合S中任意一个节点的前驱节点作为或逻辑节点xor的前驱节点、任意一个节点的后继节点作作为或逻辑节点xor的后继节点。
4.根据权利要求1所述的一种将PLC的梯形图转换为指令表的方法,其特征在于,采用增删虚节点的方式得到映射的顶点活动图,包括:在梯形图平行连接交汇处添加虚拟节点,将所有节点存储在数据结构中,其中规定弧线只能向下或者向右,循环遍历每个节点,相关联的虚节点合并为一个虚节点,若扫描到当前节点的下一个节
5.根据权利要求1所述的一种将PLC的梯形图转换为指令表的方法,其特征在于,对逻辑树进行后续遍历的过程包括:
...【技术特征摘要】
1.一种将plc的梯形图转换为指令表的方法,将梯形图转换为顶点活动图,其特征在于,采用动态优先级的串并联扫描法生成逻辑树,对逻辑树进行后续遍历,产生指令表结构,采用动态优先级的串并联扫描法生成逻辑树具体包括以下步骤:
2.根据权利要求1所述的一种将plc的梯形图转换为指令表的方法,其特征在于,串联集合q中的节点按照级联顺序进行排列,并将串联集合q中第一个节点的前驱节点作为和逻辑节点xand的前驱节点、最后一个节点的后继节点作为和逻辑节点xand的后继节点。
3.根据权利要求1所述的一种将plc的梯形图转换为指令表的方法,其特征在于,将并联集合s中任意一个节点的前驱节点作为或逻辑节点xor的前驱节...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。