发明名称 |
一种基于发电机组控制器的PLC梯形图转指令表的方法 |
摘要 |
本发明提供一种基于发电机组控制器的PLC梯形图转指令表的方法,包括以下步骤:步骤1:根据PLC梯形图构建中间树;步骤2:遍历中间树;步骤3:输出步骤2中生成的指令表。本发明方法提供了一种由PLC梯形图的生成指令表的方法,可自动检测错误和冗余,由PLC梯形图生成中间树结构,然后由树结构生成指令表。 |
申请公布号 |
CN104331314A |
申请公布日期 |
2015.02.04 |
申请号 |
CN201410599966.1 |
申请日期 |
2014.10.31 |
申请人 |
郑州众智科技股份有限公司 |
发明人 |
冯斌;王向前;王磊;刘蕊;董俊丽 |
分类号 |
G06F9/45(2006.01)I;G05B19/05(2006.01)I |
主分类号 |
G06F9/45(2006.01)I |
代理机构 |
郑州德勤知识产权代理有限公司 41128 |
代理人 |
黄军委 |
主权项 |
一种基于发电机组控制器的PLC梯形图转指令表的方法,其特征在于:包括以下步骤:步骤1:根据PLC梯形图构建中间树:其中,所述中间树的节点包括叶子节点和关系节点,所述关系节点为PLC梯形图逻辑节点的父节点,包括串联节点S和并联节点P;所述叶子节点为PLC梯形图中逻辑节点开关量;每个叶子节点必须有个关系父节点,如果关系节点的子节点为关系节点,关系子节点不能与父节点类型相同; 步骤2:遍历中间树;a、如果PLC梯形图中只有一个叶子节点和一个输出,判断该叶子节点的极性,如果是常开的,生成指令“LD”,如果是常闭的,则生成“LDNOT”;b、如果PLC梯形图中有多个节点:先判断节点是否为关系节点的第一个子节点;如果是第一个子节点,根据节点的极性,生成“LD”指令或“LDNOT”指令;如果不是,当节点的父节点是串联节点S时,根据节点的极性,生成“AND”指令或“ANDNOT”指令,当节点的父节点是并联节点P时,根据节点的极性,生成“OR”指令或“ORNOT”指令;当一个关系节点的所有子节点都遍历后,判断该关系节点是否是其父节点的第一子节点,如果是第一子节点,则不生成指令,如果不是第一子节点,则根据该节点的类型,串联节点S生成“ORLD”指令,并联节点生成“ANDLD”指令;若某个关系节点的子节点也是关系节点,则递归调用步骤b; 步骤3:输出步骤2中生成的指令表。 |
地址 |
450001 河南省郑州市高新技术产业开发区金梭路28号 |