一种控制器的调试方法和装置转让专利

申请号 : CN200610156451.X

文献号 : CN100582979C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 裘坤章凌吴欣吴洁芸

申请人 : 中控科技集团有限公司浙江大学

摘要 :

一种控制器的调试方法和装置,包括:预先在控制器中的信息流输入程序区和信息流输出程序区中分别设置第一屏蔽表征点和第二屏蔽表征点,生成与第一屏蔽表征点和第二屏蔽表征点相对应的第一屏蔽点和第二屏蔽点,设置第一屏蔽点与第二屏蔽点的物理地址值;运行信息流输入程序区中的程序,判断所述第一屏蔽点的物理地址值,如果值为开启,则屏蔽所述信息流输入程序区接收相连接的程序区或所述运行中设备的数据;运行所述信息流输出程序区中的程序,判断所述第二屏蔽点的物理地址值,如果值为开启,则屏蔽所述信息流输出程序区向相连接的程序区或所述运行中设备输出数据;调试与所述信息流输入程序区或所述信息流输出程序区相连接且未屏蔽的程序区。

权利要求 :

1、一种控制器的调试方法,控制器与运行中的设备相连接,其特征在于,包括: 预先在控制器中的信息流输入程序区和信息流输出程序区中设置屏蔽表征点,并生成与所述屏蔽表征点相对应的屏蔽点;其中,所述信息流输入程序区设置第一屏蔽表征点生成相对应的第一屏蔽点,所述信息流输出程序区设置第二屏蔽表征点生成相对应的第二屏蔽点,并设置所述第一屏蔽点与所述第二屏蔽点的物理地址值; 运行所述信息流输入程序区中的程序,判断所述第一屏蔽点的物理地址值,如果该物理地址值为开启状态,则屏蔽所述信息流输入程序区接收相连接的程序区或所述运行中设备的数据; 运行所述信息流输出程序区中的程序,判断所述第二屏蔽点的物理地址值,如果该物理地址值为开启状态,则屏蔽所述信息流输出程序区向相连接的程序区或所述运行中设备输出数据; 调试与所述信息流输入程序区和所述信息流输出程序区相连接且未屏蔽的程序区。

2、 根据权利要求1所述的方法,其特征在于,该方法进一步包括:在信息流输入程序区和信息流输出程序区中设置屏蔽表征点同 时,在控制器中功能块的程序区中设置第三屏蔽表征点,生成与所述 第三屏蔽表征点相对应的第三屏蔽点,设置所述第三屏蔽点的物理地 址值;运行所述功能块的程序区中的程序,判断所述第三屏蔽点的物理 地址值,如果该物理地址值为开启状态,则屏蔽所述功能块的程序区 中的程序。

3、 根据权利要求1所述的方法,其特征在于,在对所述控制器 进行调试之前包括:工程师站通过以太网发送命令到控制器,控制器接收到命令后, 设置所述屏蔽表征点。

4、 根据权利要求1所述的方法,其特征在于,在对所迷控制器进行调试之后包括:调试成功后,将所述屏蔽点的物理地址值设置为关闭,控制器运 行各个程序区中的程序控制所述运行的设备。

5、 一种控制器的调试装置,控制器与运行中的设备相连接,其 特征在于,包括:.写入单元,用于预先在控制器的程序区中设置屏蔽表征点; 设置单元,用于生成与所述屏蔽表征点相对应的屏蔽点,设置屏蔽点的物理地址值;处理单元,用于运行所述程序区中的程序,运行到所述屏蔽表征点时,通知所述判断单元,当接收到判断单元的回复后,执行屏蔽操作;判断单元,用于接收到处理单元的通知后,判断所述屏蔽点的物 理地址值,如果该物理地址值为开启状态,则回复处理单元;调试接口单元,与所述处理单元相连接,用于输入调试信息,调 试未屏蔽的程序区。

6、 根据权利要求5所述的装置,其特征在于,所述装置中程序 区是信息流输入程序区、信息流输出程序区或功能块的程序区。

7、 根据权利要求5所述的装置,其特征在于,所述装置还包括 接口单元,与所述写入单元相连接,用于通过以太网与工程师站相连接。

说明书 :

一种控制器的调试方法和装置

技术领域

本发明涉及工业控制技术领域,特别是指 一种控制器的调试方法 和装置。 背景技术
在工业控制领域中,为实现控制过程需要依据现场的条件和工艺 特性设计不同的控制方案。验证控制方案正确性的过程,是将现场表 征各种特性的物理量通过输入通道采集到控制器中,并依据各自特征 编制不同的控制程序,通过输出通道输送到现场中,驱动执行机构, 从而完成了一个控制过程。控制程序的正确性,对控制器所执行的控 制是至关重要的,这些控制程序在编译时可检查其语法的正确性,但 逻辑的正确性则需要借助其它手段实现。然而,在验证程序逻辑过程 中,总会对生产过程造成扰动,造成损失。因此控制器需要降低在程 序验证过程中对生产过程的干扰,从而减少损失,提高效率。
在控制器中的控制方案由控制段组成。控制段是实现固定功能的 一段程序,它具有代码和数据,分别表征了程序的运行方法、运行步 骤及运行结果。通过各种控制段的排列组合实现不同的控制方案和控 制策略。
验证控制方案正确性,较为常见的是采用仿真技术。仿真技术就 是模拟现场运行情况,以测试控制方案的正确性。各类仿真技术层出 不穷,这些技术或模拟现场的运行情况,或将程序运行在仿真控制器 中,重要的是程序的输入输出部分也进行仿真输入输出,隔绝与现场 的联系。仿真技术在一定程度上可以模拟程序运行的状况,找到程序 逻辑的某些问题,对现场也不会造成扰动。
但由于现场的工况是千变万化的,建立一个正确的仿真环境是比 较费时费力的。如果环境存在偏差,就无法保证程序能够适应实际现 场。对于那些运行在仿真控制器的程序,输入的信号是仿真信号,与 现场信号存在着一定的差别,且运行程序的栽体不是最终运行的环境。由于现场的状态千变万化,设计时不能全面,如果是设计所造成的问 题,采用该仿真方法难以检测,而一段逻辑复杂的控制程序,其运行 结果是环环相扣的。如果程序有多处出错,仿真方法就不能进行后续 相关逻辑的验证,发现了一个错误,必须修改程序才能够进行下一个 问题的查找。不能跳过出错程序,进行下一段程序的调试,影响系统 的调试效率。
随着控制技术的日趋完善,在线下载技术也走向成熟,当对现场 工艺进行改进时,通常会采用在线下载的方法,以减少对已正常运转 设备的影响。这些通过在线下载得到改动过的控制方案同样需要验证, 如果采用仿真技术的话,又需重复设备开启前的仿真过程,反而变得 更加不方便。特别是当新增的程序的输入是已运行程序中间的某个数 据时,又需将老的程序重新运行一遍,才能完成程序的整个调试流程, 过程烦瑣。
因此,对于这类下载的改进方案,进行调试时,采用的在线调试 技术,它借助禁止手段,禁止程序段的运行。当程序遇到禁止的程序 段,跳过该段程序进行下一个非禁止的程序段的运行。这种调试手段 基于程序实际运行环境,能够在一定程序上排查程序错误,但是不能 够对程序段内部的执行进行讽试。

发明内容

有鉴于此,本发明在于提供一种控制器的调试方法和装置,以解 决上述不能对程序段内部的执行进行调试的问题。
为解决上述问题,本发明提供一种控制器的调试方法,控制器与
运行中的设备相连接,包括:
预先在控制器中的信息流输入程序区和信息流输出程序区中设 置屏蔽表征点,并生成与所述屏蔽表征点相对应的屏蔽点;其中,所 述信息流输入程序区设置第 一屏蔽表征点生成相对应的第 一屏蔽点, 所述信息流输出程序区设置第二屏蔽表征点生成相对应的第二屏蔽 点,并设置所述第一屏蔽点与所迷第二屏蔽点的物理地址值;运行所述信息流输入程序区中的程序,判断所述第一屏蔽点的物 理地址值,如果所述物理地址值为开启状态,则屏蔽所述信息流输入 程序区接收相连接的程序区或所述运行中设备的数据;
运行所述信息流输出程序区中的程序,判断所述第二屏蔽点的物 理地址值,如果所述物理地址值为开启状态,则屏蔽所述信息流输出
程序区向相连接的程序区或所述运行中设备输出数据;
调试与所述信息流输入程序区或所述信息流输出程序区相连接
且未屏蔽的程序区。
其中,该方法进一步包括:
在信息流输入程序区和信息流输出程序区中设置屏蔽表征点同 时,在控制器中功能块的程序区中设置第三屏蔽表征点,生成与所述 第三屏蔽表征点相对应的第三屏蔽点,设置所述第三屏蔽点的物理地 址值;
运行所述功能块的程序区中的程序,判断所述第三屏蔽点的物理 地址值,如果所述物理地址值为开启状态,则屏蔽所述功能块的程序 区中的程序。
其中,在对所述控制器进行调试之前包括:
工程师站通过以太网发送命令到控制器,控制器接收到命令后, 设置所述屏蔽表征点。
其中,在对所述控制器进行调试之后包括:
调试成功后,将所述屏蔽点的物理地址值设置为关闭,控制器运 行各个程序区中的程序控制所述运行的设备。
本发明还提供一种控制器的调试装置,控制器与运行中的设备相 连接,包括:
写入单元,用于预先在控制器的程序区中设置屏蔽表征点; 设置单元,用于生成与所述屏蔽表征点相对应的屏蔽点,设置屏
蔽点的物理地址值;
处理单元,用于运行所述程序区中的程序,运fi"到所述屏蔽表征
点时,通知所述判断单元,当接收到判断单元的回复后,执行屏蔽作;判断单元,用于接收到处理单元的通知后,判断所述屏蔽点的物 理地址值,如果所述物理地址值为开启状态,则回复处理单元;
调试接口单元,与所述处理单元相连接,用于输入调试信息,调 试未屏蔽的程序区,所述未屏蔽的程序区。
其中,所述装置中程序区是信息流输入程序区、信息流输出程序 区或功能块的程序区。
其中,所述装置还包括接口单元,与所述写入单元相连接,用于 通过以太网与工程师站相连接。
本发明的方法和装置,与仿真技术不同的是,调试是完全基于程 序在现场的实际运行环境,控制方案最终将运行在该环境下。本发明 可以根据需求进行现场实际测点的采集,并依据该数据进行控制,控 制程序运行在实际控制器中,控制器与运行中的设备相连接。这样体 现出实际运行工况,提高调试的效率,较快的检测输入值是否等同于 设计特性。当某段程序调试成功后直接将程序退出调试状态,进行实 际运行,控制运行中的设备,操作方便。
与在线调试技术不同的是,基于信息流屏蔽的控制方案调试技术 不仅可以禁止程序段的运行,还可以将程序段的输入输出信息分别屏 蔽,以调试程序段的内部逻辑,并隔绝调试过程中各种中间值对其下 游程序段的影响。

附图说明

图1是控制器的结构图; 图2是本发明实施例一的流程图; 图3是各个功能块的连接示意图; 图4是本发明的装置结构图。

具体实施方式

为解决现场中的控制器中的控制方案发生变化后,对新的控制方
7案进行调试时,不能对其方案执行过程调试的问题。
本发明提出了基于信息流屏蔽的控制方案调试技术。在对控制方 案的调试过程中,通过对功能块的输入数据流和输出数据流的屏蔽后, 实现该功能块调试。将控制方案的所有功能块调试成功后,再将控制 器投入到工作中。本发明中的功能块,是指将控制程序按照其逻辑进 行划分,分为各个程序区。
下面结合附图详细说明本发明的具体实施例一 。
参见图1,工程师站与控制器相连接,控制器与工厂内的设备相 连接。在本实施例中,工程师站是计算机终端,当需要对工厂内的设 备添加新的控制方案或正在运行的控制方案发生变化时,需要在工程 师站对控制方案进行组态,组态的过程是用应用软件中提供的工具、 方法,完成控制工程中具体任务的过程。组态编-泽形成新的控制方案 下载到控制器中,调试合格后,通过控制器对工厂设备进行控制。
正如其它调试手段一样,本发明需要在程序设置某些特殊的标 志,当程序遇到这些标志时需要进行一些特殊处理。很多高级语言程 序中将这些标志称为断点,当执行到这些标志所在的代码行是暂停程 序的运行。而本发明中所提出的特殊标志有别于断点,本发明称之为 屏蔽点。当程序执行遇到屏蔽点时,跳过屏蔽点所标识的程序段,进 行下一段程序的运行。
本发明通过设置屏蔽点的方法,将程序在逻辑上进行分区,在调 试时根据需求将程序分为多个区,某个程序区出错,可以隔断该程序
区,进行下个程序区的调试。其中,实施例的具体流程图参见图2, 步骤S201:在程序区中设置屏蔽表征点;
在工程师站进行组态编译时,在输入程序区、输出程序区、复杂 程序区中分别设置屏蔽表征点。屏蔽表征点表示该程序区内的程序可 被跳过,直接运行下个程序区内的程序。
步骤S202:建立屏蔽表征点与屏蔽点的映射表; 在工程师站通过以太网,在控制程序区中的数据区建立映射表, 将各个可屏蔽的程序区中创建的屏蔽表征点存储到映射表中,在映射表中还要存储与屏蔽表征点相对应的屏蔽点。屏蔽点的信息包括有该 屏蔽点所对应的在控制器中的物理地址。
步骤S203:设置屏蔽点;
在将屏蔽表征点和屏蔽点的映射表创建成功后,需要对屏蔽点进 行设置。对于设置各个复杂程序区、输入程序区、输出程序区所包含 的屏蔽点时,通过工程师站向控制器发送以太网命令,控制器发送到 以太网控制器中的以太网数据处理区,控制器通过该命令对屏蔽点所 对应的物理地址进行写操作,将该物理地址中的存储值置为开启或关 闭。设置为开启后,该屏蔽点所对应的输入程序区、输出程序区或复 杂程序区将无法运行。
参见图1,在本实施例中,可屏蔽的程序区为1至N,不可屏蔽 的程序区为1至M。
步骤S204:运行各个程序区;
在映射表建立成功后,将需要屏蔽的各个屏蔽点的状态设置完 成,运行各个程序区,运行的过程中如果发现有屏蔽表征点,则执行 步骤S205。
步骤S205:判断屏蔽点状态;
在映射表中找出该程序表征点所对应的屏蔽点,判断屏蔽点所对 应的物理地址中屏蔽点状态,如果是关闭状态,则返回步骤S204,继 续运行各个程序区;如果是开启状态,则执行步骤S206。
步骤S206:调试该程序区中的程序。
此时转入到数据测试阶段,如果所屏蔽的是一个功能块中的输入 程序区,则该功能块运行输入数据时,无法去从信号输入输出处理区 中采集测量值。这样,保护该功能块的不受测量值影响,可以直接调 试,向功能块中赋值,并且通过该功能块的输出值来检测该功能块是 否在正常范围内。
当输出值在正常范围之内后,再去除屏蔽点,即将屏蔽点的状态 设置为关闭。在控制器中运行该功能块的程序,实现对设备的控制。
上面的实施例详细描述本发明工作的工作流程,下面结合图3详
9细描述调试多个功能块时应用本发明的实施例二 。
参见图3,在本实施例中,在编译时对该控制器中要调试的程序
进行分析,将该段程序分为9个程序区。备个程序区与图3所示各个 功能块及功能块中输入、输出相对应。
我们将功能块依据处理复杂度,分为复杂功能块和简单功能块。 对于复杂功能块,我们可以通过屏蔽点将其屏蔽,而简单的功能块则 可不必屏蔽,允许其运行。
9个程序区分别为:
功能块1的信息流输入程序区,用于将测量值1和测量值2输入 功能块1的IN1和IN2中,该段程序区可被屏蔽。
功能块l的程序运行区,由于功能块1为简单功能块,该段程序 区可不净皮屏蔽。
功能块1的信息流输出程序区,用于从功能块i的0UT1输出信息 流,该段程序区可被屏蔽。
功能块2的信息流输入程序区,用于将IN1、 IN2和IN3的数据输 入到功能块2中,该段程序区可被屏蔽。
功能块2的程序运行区,功能2为复杂功能块,该段程序可被屏蔽。
功能块2的信息流输出程序区,用于从功能块2的0UT1输出信息
流,该_敬程序可#:屏蔽。
功能块3的信息流输入程序区,用于向IN1中输入数据,将测量 值3、测量值4和输出1反馈输入到功能块3的IN2、工N3和IN4中, 该段程序可被屏蔽。
功能块3的程序运行区,功能3为复杂功能块,该段程序可被屏蔽。
功能块3信息流输出程序区,用于从0UT1输出数据,该段程序可 被屏蔽。
在上面的9个程序区,可以在可被屏蔽的程序区添加屏蔽表征点, 并设置屏蔽点。在对屏蔽点进行设置时,可以根据调试的需要进行设置。
在该实施例中,各个程序区逐个运行,运行功能块2的信息流输 入程序区时,发现有屏蔽表征点,找到相对应屏蔽点的物理地址,通
过物理地址的值判断出是关闭,未被屏蔽,那么功能块2的输入随着 IN1、 IN2和IN3的变化而变化;若是开启,则表示被屏蔽,那此时可 以通过调试界面给功能块2赋值。通过观测功能块2的输出值,来确 定功能块2的程序运行区是否运行正确。观测其输出值在正常范围内 后,去除功能块2的信息流输入程序区的屏蔽,在控制器中使用该功 能块2。
在调试功能块2的程序运行区时,可将功能块2的信息流输出程 序区屏蔽,使功能块3不会因为功能块2的测试而产生扰动。
在调试各个功能块时,还可以将三个功能块的信息流输入程序区、 输出程序区进行屏蔽,将三个功能块的程序运行区进行调试,当输入 值、输出值在正常的范围内后,去除各个屏蔽,在控制器中运行三个 功能块。
还可以进行整体调试,将功能块1的信息流输入程序区和功能块 3的信息流输出程序区屏蔽,进行调试。若调试过程中发现输出结果 脱离正常范围,可以将其中一个功能块的程序区屏蔽,只运行其它功 能块的程序区。若此时程序运行正确,那么可以推断出屏蔽的功能块 存在问题,需要修正。
本发明还提供 一 种控制器的调试装置,控制器与运行中的设备相 连接,调试装置即可在控制器中,也可在独立与控制器外,调试装置 包括:
写入单元401 ,用于预先在控制器的程序区中设置屏蔽表征点; 设置单元402,用于生成与所述屏蔽表征点相对应的屏蔽点,设
置屏蔽点的物理地址值;
处理单元403,用于运行所述程序区中的程序,运行到所述屏蔽
表征点时,通知所述判断单元404,当接收到判断单元404的回复后,
执行屏蔽操作;所述屏 蔽点的物理地址值,如杲值为开启,则回复处理单元403;
调试接口羊元406,与所述处理羊元403相连4妾,用于输入调试 信息,调试未屏蔽的程序区,所述未屏蔽的程序区。
在本发明的装置中,所述装置中程序区是信息流输入程序区、信 息流输出程序区或功能块的程序区。
在本发明的装置中,
所述处理单元403运行信息流输入程序区或/和信息流输出程序 区,运行到所述屏蔽表征点时,用于屏蔽所述信息流输入程序区接收 相连接的程序区或所述运行中设备的数据;或屏蔽所述信息流输出程
本发明的装置还包括接口单元405,与所述写入单元401相连接, 用于通过以太网与工程师站相连接。
本发明的方法和装置,与仿真技术不同的是,调试是完全基于程 序在现场的实际运行环境,控制方案最终将运行在该环境下。本发明 可以根据需求进行现场实际测点的采集,并依据该数据进行控制,控 制程序运行在实际控制器中,控制器与运行中的设备相连接。这样体 现出实际运行工况,提高调试的效率,较快的检测输入值是否等同于 设计特性。当某段程序调试成功后直接将程序退出调试状态,进行实
际运行,控制运4亍中的i殳备,操:作方^f更。
与在线调试技术不同的是,基于信息流屏蔽的控制方案调试技术 不仅可以禁止程序段的运行,还可以将程序段的输入输出信息分别屏 蔽,以调试程序段的内部逻辑,并隔绝调试过程中各种中间值对其下 游程序段的影响。
对于本发明的方法和装置,凡在本发明的精神和原则之内,所作 的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。