针对可编程逻辑控制器(PLC)的功能块(Function BlockDiagrams,FBD)程序指令类型多、串并联复杂和多重输出等问题,提出一种基于顶点活动图(Activity on Vertex,AOV)和多叉树的功能块程序编译算法。该算法将功能块程序映射为AOV图,首先用...针对可编程逻辑控制器(PLC)的功能块(Function BlockDiagrams,FBD)程序指令类型多、串并联复杂和多重输出等问题,提出一种基于顶点活动图(Activity on Vertex,AOV)和多叉树的功能块程序编译算法。该算法将功能块程序映射为AOV图,首先用邻接表存储AOV图中的顶点信息和顶点之间的连接信息,对功能块程序进行语法检查,然后通过邻接表建立表示功能块间逻辑关系的多叉树,通过先根遍历算法遍历多叉树确定功能块执行顺序,最后按照遍历顺序和PLC指令结构将功能块程序转换成二进制代码,形成目标程序。该算法能将PLC支持的功能块指令程序编译为目标程序,具有通用性,已经成功应用在PLC开发平台软件PLC_Config中。展开更多
文摘针对可编程逻辑控制器(PLC)的功能块(Function BlockDiagrams,FBD)程序指令类型多、串并联复杂和多重输出等问题,提出一种基于顶点活动图(Activity on Vertex,AOV)和多叉树的功能块程序编译算法。该算法将功能块程序映射为AOV图,首先用邻接表存储AOV图中的顶点信息和顶点之间的连接信息,对功能块程序进行语法检查,然后通过邻接表建立表示功能块间逻辑关系的多叉树,通过先根遍历算法遍历多叉树确定功能块执行顺序,最后按照遍历顺序和PLC指令结构将功能块程序转换成二进制代码,形成目标程序。该算法能将PLC支持的功能块指令程序编译为目标程序,具有通用性,已经成功应用在PLC开发平台软件PLC_Config中。