组态调试器-数控滚圆机滚弧机张家港电动液压滚圆机滚弧机缩管机
作者:lujianjun | 来源:欧科机械 | 发布时间:2018-12-06 15:29 | 浏览次数:

在工业过程控制领域,常常需要对控制器内的复杂控制逻辑进行单步执行、断点调试,以便明确诊断逻辑的正确性和合理性,但目前各厂家的工业控制器并不具备该功能。为了解决该问题,对高级编程语言C/C++的调试器功能进行了系统的研究,包括其程序断点的设计原理和调试器的实现机制。结合工业控制器算法组态的语言特点,设计了一种面向算法组态的调试器,并将其运用到工业控制器的嵌入式软件系统中。通过与算法逻辑运算单元的交互设计,成功实现了复杂控制逻辑的单步执行、逐页逐模块以及断点调试等功能。试验结果表明,集成组态调试器功能的工业控制器,能够极大地方便项目实施过程中的现场组态和深入调试,有效降低组态算法的错误率和提高工程调试的效率。该控制器为工业控制器的全方位诊断功能以及虚拟仿真的实现提供了一定的参考。 但是工业控制器对算法逻辑的处理一般分为两类,本文有公司网站全自动缩管机采集转载中国知网整理  http://www.suoguanji.cc 组态调试器-数控滚圆机滚弧机张家港电动液压滚圆机滚弧机缩管机即解释执行机制和编译执行机制。采用解释执行机制的控制器,其内核对算法逻辑边解释边执行。而采用编译执行机制的控制器,其内核执行的是由算法逻辑语言编译形成的机器指令码。如前文所述,如果在采用编译执行机制的工业控制器上实现调试器,则需要维护算法组态和目标程序之间的调试信息。本文的工业控制器采用的是解释执行机制,故可以省去调试信息的维护设计环节。但二者的基本原理是完全相通的[8]。1.2.1组态断点定义基于功能块图组态的算法逻辑结构如图1所示。其中,最小逻辑单位是功能模块,如加法块、逻辑与、PID模块等。但为了方便用户和工程人员应用,常常会根据现场应用的需要,对这些由基本功能模块组成的算法逻辑进行分页。图1算法逻辑结构e因此,定义页号和模块号作为组态断点的描述信息,可以完全记录算法逻辑的执行步骤信息。故将“页号+模块号”的组合信息作为组态断点数据结构。由于调试器通常支持多个断点,故在控制器中定义如图2所示的组态断点链表,对调试过程中设置的组态断点进行统一管理和维护。图2组态断点链表Fi因为组态断点信息描述的是算法逻辑中的某个模块逻辑地址信息,所以当用户设置断点后,在算法逻辑顺序执行过程中,一定会执行到组态断点处。此时控制器命中组态断点,停止算法逻辑的执行运算,并将相关数据信息上传给组态工具显示。1.2.2软组态断点和硬组态断点断点命中时,用户通过初步观察之后,可以停止调试,也可以继续通过逐页、逐模块等调试指令来进一步观察算法逻辑的演变过程。通常情况下,控制器会将这两种调试指令分别组态调试器-数控滚圆机滚弧机张家港电动液压滚圆机滚弧机缩管机本文有公司网站全自动缩管机采集转载中国知网整理  http://www.suoguanji.cc