摘要
梯形图是IEC 61131-3标准定义的4种可编程逻辑控制器(programmable logic controller, PLC)编程语言之一,但因为梯形图无法被处理器直接执行,所以大多数商用PLC编程系统都会将梯形图转换为类似汇编语言的指令表,便于生成机器指令。该文提出一种基于AOV(activity on vertex)图和广义表的转换算法,相比基于广义表的现有算法,重点解决了多线圈输出问题。此外,该文提出了遍历带有输出标志位的广义表的深度优先搜索算法,以生成对应的指令表。算法时间复杂度最佳情况为O(n),最差为O(n2)。
- 单位