论文部分内容阅读
可编程逻辑控制器(Program Logic Controller)始于20世纪70年代,凭借其高可靠性、长寿命、简单易懂、操作方便等一系列优点,在工业控制领域得到了推广使用。随着工业控制自动化水平的提高,PLC的软件规模迅速膨胀,使得PLC无法满足所有实际应用的性能要求。国内外学者已开始寻找更好的实现PLC实时高速的方法,其中基于FPGA并行架构的超高速可编程控制器的研究成为工业控制研究领域的热点。本研究针对PLC梯形图并行性识别与并行机制实现的问题。从数据和控制依赖两方面建立了梯级间的依赖关系,提出了基于梯形图依赖关系分解的方法,得出梯级并行执行层次。最后通过FPGA实现高速并行PLC。论文工作主要包括以下几个方面:(1)在详细分析了传统PLC工作方式的基础上,提出了基于FPGA的可编程逻辑控制器总体设计方案,包括硬件平台、软件流程、梯形图到VHDL转换的并行编译等各项关键的实现技术。(2)对梯形图进行语义分析,划分梯形图梯级间的依赖关系,提出控制依赖(Control dependence)与数据依赖(Data dependence)模型,并提出并行依赖关系的分解算法,确定并行执行的层次,最终实现PLC程序的并发执行。该分析技术有效地挖掘梯形图并发性,建立并发模型,解决当前国内外只有简单数值依赖关系的可编程控制器并行编译方法与理论的问题。最终建立基于FPGA并行架构可编程控制器编译方法和理论。(3) FPGA实现并行PLC控制逻辑,需先实现LD-VHDL的转换。提出了梯形图到VHDL转换的桥梁——逻辑表达式。建立AOV图模型,作为符合IEC61131-3标准梯形图到逻辑表达式转换的辅助表示形式,易于向目标代码转换,同时给出梯形图对应的布尔逻辑表达式、定时器/计数器逻辑表达式和功能块指令逻辑表达式的转化算法和例子。(4)提出了PLC特有的循环扫描执行工作方式在FPGA上的实现方法。构建了模拟PLC工作模式的有限状态机模型,利用进程实现各个梯级逻辑。利用控制信号的自触发变化来控制状态的转换,实现循环扫描执行。同时,本文还给出了其在FPGA中的具体实现代码。(5)提出了梯形图布尔逻辑、定时器、计数器、功能块的VHDL代码的自动生成算法,实现逻辑表达式到VHDL的转换。为了验证基于PLC并行依赖关系的分解结果在性能和控制逻辑方面的正确性,给出了印刷立体图硬模的纹理切割实验,在FPGA实验平台匕对生成的VHDL语言进行了编译仿真,实现梯形图程序在FPGA上的并发执行。最后给出基于FPGA的PLC与传统的PLC性能比较结果。目前基于传统的PLC功能已经非常完善,与它们相比,本系统仅实现初步的并行PLC系统,在完善各项功能方面都还需要进一步的分析、研究和调试工作。本文的工作为形成一个较为成熟的产品以及下一代高性能PLC的研究进行了有益的探索和尝试。