一种针对含有时间控制的plc程序自动测试的方法

文档序号:6381302阅读:1608来源:国知局
专利名称:一种针对含有时间控制的plc程序自动测试的方法
技术领域
本发明涉及程序测试技术领域,尤其涉及一种针对含有时间控制的PLC程序自动测试的方法及装置。
背景技术
PLC是一种工业自动控制中使用的计算装置。它广泛应用于钢铁、石油、化工、电力、建材、机械制造、汽车、轻纺、交通运输、航天、环保及文化娱乐等各个行业, 小到家用设备,大到航天工业,都有PLC的应用。典型的PLC包含一个专用的CPU,一个存储器和一组输入输出端口及其他装置。它通过输入端口接收来自传感器的信号,并通过输出端口发出控制信号驱动同它连接的外部设备。存储器中安放PLC控制程序,系统的活动由PLC控制程序所驱动。PLC程序开发出来之后,必须通过大量的测试,排除错误之后才能投入正式运行。目前采用的测试方法有如下几种
I)现场测试把编写好的程序直接安装到现场的PLC机器中,通过现场运行检验程序的正确性。比如把控制电梯的PLC程序安装到电梯中的PLC机器中,通过操纵电梯按钮,观察电梯的运行是否符合要求。这种方法虽然是必不可少的环节,但是它们消耗时间很长,测试的覆盖面有限,而且在学校教学也不便使用。2)离线测试在PLC软件模拟器中运行PLC程序,测试员点击屏幕按钮产生PLC的输入信号,然后观察指示灯是否按照预期的次序和组合方式显示预期输出信号。这种方式不需要使用工作现场的机器,有助于尽早排除PLC程序的错误。但是,手工输入信号的方式效率低,而且测试过程无法重用。假设测试过程需要I千个测试输入,程序调试修改20次,那么总共就需要2万次测试输入。3)手工测试输入按钮装置这种装置可以直接同PLC机器连接,装置上有手工按钮,按钮的输入可以直接送入PLC机器。操作员通过手工产生输入信号,测试PLC的运行是否符合预期要求。这种测试方法同离线测试类似,只是把电脑内部的虚拟按钮改成了实际按钮。它同前一种方法具有相同的缺点,就是测试效率低。为了解决上述测试方法存在的各种缺陷,申请号为“201010591420. 3”、名称为“一种对PLC程序自动测试的方法”的中国专利申请提出了一种对PLC程序进行自动测试的方法,该方法能够有效的帮助检查不含定时器控制的PLC程序的运行是否正确。然而,上述专利申请中的测试方法虽然能够对不含定时器控制的PLC程序进行有效测试,但是对于某些含有时间控制的PLC程序,其输入的变量值有时仅在某些指定时刻才发生变化,而在两个时刻之间,虽然此PLC程序可能执行了数量可观的周期数,但是各输入的变量值却保持不变。因而,上述专利申请中的测试方法对含有时间控制的PLC程序并不适用。因此,有必要提出一种针对含有时间控制的PLC程序进行测试的方法。

发明内容
本发明的目的在于提供一种针对含有时间控制的PLC程序自动测试的方法及装置,以解决现有的针对PLC程序自动测试的方法及装置无法准确地对含有时间控制的PLC程序进行测试的问题。为了解决上述问题,本发明提出一种针对含有时间控制的PLC程序自动测试的方法,其中,所述PLC程序中包含有定时器,该方法包括以下步骤
输入步骤输入待测试的PLC程序和针对所述待测试的PLC程序的测试数据文件,其中,所述测试数据文件中包含若干条测试数据记录;
语法分析步骤从所述待测试的PLC程序中分析出各输入变量、各输出变量、定时器变量以及逻辑运算结构;并从所述测试数据文件中分析出各条测试数据记录中的输入的变量值、与该输入的变量值相应的预期输出的变量值、以及各条测试数据记录的类别;其中,每条测试数据记录的类别包括在指定时刻处理的测试数据记录,以及一个扫描周期中的测试数据记录;
测试步骤启动测试,根据从所述测试数据文件中分析出的各条测试数据记录的类别驱动对该条测试数据记录进行测试,将该条测试数据记录中的输入的变量值代入到所述待测试的PLC程序中对应的输入变量中,通过所述逻辑运算结构得到实际输出结果,该实际输出结果保存在所述待测试的PLC程序的输出变量中;
比较步骤将保存在所述待测试的PLC程序的输出变量中的实际输出结果与所述测试数据文件中对应测试数据记录中的预期输出的变量值进行比较,如果相同,该所述待测试的PLC程序正确,如果不同,该所述待测试的PLC程序出错;
显示步骤将所述比较步骤的结果作为测试结果进行显示。较佳地,当对所述一个扫描周期中的测试数据记录进行测试时,在读入输入变量值之后立即测试;当对所述指定时刻处理的测试数据记录进行测试时,在指定时刻未到达之前,重复使用上一条测试数据记录进行测试,并在指定时刻到达时启动对该条测试记录的测试。较佳地,所述的测试数据文件的第一行的格式为周期标题、各输入变量、各输出变量,其中所述各输入变量和所述各输出变量之间通过一符号隔开,所述测试数据文件自第一行后为所述测试数据记录,并且每一行代表一条测试数据记录,每条测试数据记录的输入的变量值和预期输出的变量值分别与第一行的同列各输入变量和各输出变量相对应。较佳地,所述在指定时刻处理的测试数据记录的第一列用一个字母紧跟一个数字表示,该数字表示从对该条测试数据记录进行测试开始到对下条测试数据记录进行测试需要经历的时间;所述一个扫描周期中的测试数据记录用一个整数表示。较佳地,在所述比较步骤中,如果实际输出结果与预期输出的变量值不同,则停止测试,显示测试结果;其中,所述测试结果包含通过测试的测试数据、出错的测试数据所在的触发时间或所在行、各输入的变量值、预期输出的变量值和实际输出结果。
较佳地,该方法在所述显示步骤之后进一步包括用户根据显示的测试结果对所述待测试的PLC程序进行修改,并在修改后继续使用所述测试数据文件对修改后的待测试的PLC程序重新启动测试;如此循环,直到所有测试数据都通过测试。同时,为了解决上述问题,本发明还提出一种针对含有时间控制的PLC程序自动测试的装置,该装置包括
输入模块用于输入待测试的PLC程序和针对所述待测试的PLC程序的测试数据文件,其中,所述测试数据文件中包含若干条测试数据记录;
语法分析模块用于对所述输入模块输入的所述待测试的PLC程序和所述测试数据文件进行语法分析,从所述待测试的PLC程序中分析出各输入变量、各输出变量、定时器变量以及逻辑运算结构;从所述测试数据文件中分析出输入的变量值、与该输入的变量值相应的预期输出的变量值、以及各条测试数据记录的类别;其中,每条测试数据记录的类别包括在指定时刻处理的测试数据记录,以及一个扫描周期中的测试数据记录;
测试模块用于启动测试,根据从所述测试数据文件中分析出的各条测试数据记录的类别驱动对该条测试数据记录进行测试,将该条测试数据记录中的输入的变量值代入到所述待测试的PLC程序中对应的输入变量中,通过所述逻辑运算结构得到实际输出结果,并将该实际输出结果保存在所述待测试的PLC程序的输出变量中;
比较模块用于将保存在所述待测试的PLC程序的输出变量中的实际输出结果与所述测试数据文件中对应测试数据记录中的预期输出的变量值进行比较,如果相同,该所述待测试的PLC程序正确,如果不同,该所述待测试的PLC程序出错;
显示模块用于将所述比较模块得到的结果作为测试结果进行显示。较佳地,当所述测试模块对所述一个扫描周期中的测试数据记录进行测试时,在读入输入变量值之后立即测试;当所述测试模块对所述指定时刻处理的测试数据记录进行测试时,在指定时刻未到达之前,重复使用上一条测试数据记录进行测试,并在指定时刻到达时启动对该条测试记录的测试。较佳地,所述语法分析模块包括测试数据分析器以及PLC语法分析器,其中,所述测试数据分析器对所述测试数据文件进行语法分析,从所述测试数据文件中分析出输入的变量值、与该输入的变量值相应的预期输出的变量值、以及各条测试数据记录的类别;所述PLC语法分析器对所述待测试的PLC程序进行语法分析,从所述待测试的PLC程序中分析出各输入变量、各输出变量、定时器变量以及逻辑运算结构。与现有技术相比,本发明提供的针对含有时间控制的PLC程序自动测试的方法通过先分析出各条测试数据记录的类别,然后根据测试数据记录的类别驱动对该条测试数据记录进行测试,从而可将含有时间控制的PLC程序中的一个扫描周期中的测试数据记录及指定时刻处理的测试数据记录进行区别测试,进而能够有效帮助检查基于时间控制的PLC程序的运行是否正确,提高了基于时间控制的PLC程序的可靠性以及方便了 PLC的教学,更好地满足了当今工作的需求。


图1为本发明实施例提供的针对含有时间控制的PLC程序自动测试的装置结构框 图2为本发明应用例提供的被测试的基于时间控制的PLC程序的梯形图。
具体实施例方式以下结合附图和具体实施例对本发明提出的针对含有时间控制的PLC程序自动测试的方法及装置作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用于方便、明晰地辅助说明本发明实施例的目的。为了提高基于时间控制的PLC程序的可靠性,本发明实施例提供了一种针对含有时间控制的PLC程序自动测试的方法,其中,所述PLC程序中构造有定时器,该方法包括以下步骤
输入步骤输入待测试的PLC程序和针对所述待测试的PLC程序的测试数据文件,其中,所述测试数据文件中包含若干条测试数据记录;
语法分析步骤从所述待测试的PLC程序中分析出各输入变量、各输出变量、定时器变量以及逻辑运算结构;并从所述测试数据文件中分析出各条测试数据记录中的输入的变量值、与该输入的变量值相应的预期输出的变量值、以及各条测试数据记录的类别;其中,每条测试数据记录的类别包括在指定时刻处理的测试数据记录,以及一个扫描周期中的测试数据记录;
测试步骤启动测试,根据从所述测试数据文件中分析出的各条测试数据记录的类别驱动对该条测试数据记录进行测试,将该条测试数据记录中的输入的变量值代入到所述待测试的PLC程序中对应的输入变量中,通过所述逻辑运算结构得到实际输出结果,该实际输出结果保存在所述待测试的PLC程序的输出变量中;
比较步骤将保存在所述待测试的PLC程序的输出变量中的实际输出结果与所述测试数据文件中对应测试数据记录中的预期输出的变量值进行比较,如果相同,该所述待测试的PLC程序正确,如果不同,该所述待测试的PLC程序出错;
显示步骤将所述比较步骤的结果作为测试结果进行显示。在较佳实施例中,所述的测试数据文件的第一行的格式为周期标题、各输入变量、各输出变量,其中所述各输入变量和所述各输出变量之间通过一符号隔开,所述测试数据文件自第一行后为所述测试数据记录,并且每一行代表一条测试数据记录,每条测试数据记录的输入的变量值和预期输出的变量值分别与第一行的同列各输入变量和各输出变量相对应。并且,所述在指定时刻处理的测试数据记录的第一列用一个字母紧跟一个数字表示,该数字表示从对该条测试数据记录进行测试开始到对下条测试数据记录进行测试需要经历的时间;所述一个扫描周期中的测试数据记录用一个整数表示。当对所述一个扫描周期中的测试数据记录进行测试时,在读入输入变量之后立即测试;当对所述指定时刻处理的测试数据记录进行测试时,在指定时刻未到达之前,重复使用上一条测试数据记录进行测试,并在指定时刻到达时启动对该条测试记录的测试。并且在较佳实施例中,在所述比较步骤中,如果实际输出结果与预期输出的变量值不同,则停止测试,显示测试结果;其中,所述测试结果包含通过测试的测试数据、出错的测试数据所在的触发时间或所在行、各输入的变量值、预期输出的变量值和实际输出结果O并且,该方法在所述显示步骤之后进一步包括用户根据显示的测试结果对所述待测试的PLC程序进行修改,并在修改后继续使用所述测试数据文件对修改后的待测试的PLC程序重新启动测试;如此循环,直到所有测试数据都通过测试。请参考图1,本发明实施例还提供了一种针对含有时间控制的PLC程序自动测试的装置100,该装置100包括
输入模块用于输入待测试的PLC程序2和针对所述待测试的PLC程序2的测试数据文件1,其中,所述测试数据文件I中包含若干条测试数据记录;
语法分析模块110 :用于对所述输入模块输入的所述待测试的PLC程序2和所述测试数据文件I进行语法分析,从所述待测试的PLC程序2中分析出各输入变量、各输出变量、定时器变量以及逻辑运算结构;从所述测试数据文件I中分析出输入的变量值、与该输入的变量值相应的预期输出的变量值、以及各条测试数据记录的类别;其中,每条测试数据记录的类别包括在指定时刻处理的测试数据记录,以及一个扫描周期中的测试数据记录;具体地,所述语法分析模块110包括测试数据分析器111以及PLC语法分析器112,其中,所述测试数据分析器111对所述测试数据文件I进行语法分析,从所述测试数据文件I中分析出输入的变量值、与该输入的变量值相应的预期输出的变量值、以及各条测试数据记录的类别;所述PLC语法分析器112对所述待测试的PLC程序2进行语法分析,从所述待测试的PLC程序2中分析出各输入变量、各输出变量、定时器变量以及逻辑运算结构;
测试模块120 :用于启动测试,根据从所述测试数据文件I中分析出的各条测试数据记录的类别驱动对该条测试数据记录进行测试,将该条测试数据记录中的输入的变量值代入到所述待测试的PLC程序2中对应的输入变量中,通过所述逻辑运算结构得到实际输出结果,并将该实际输出结果保存在所述待测试的PLC程序2的输出变量中;
具体地,当所述测试模块120对所述一个扫描周期中的测试数据记录进行测试时,在读入输入变量之后立即测试;当所述测试模块120对所述指定时刻处理的测试数据记录进行测试时,在指定时刻未到达之前,重复使用上一条测试数据记录进行测试,并在指定时刻到达时启动对该条测试记录的测试;
比较模块130 :用于将保存在所述待测试的PLC程序2的输出变量中的实际输出结果与所述测试数据文件I中对应测试数据记录中的预期输出的变量值进行比较,如果相同,该所述待测试的PLC程序2正确,如果不同,该所述待测试的PLC程序2出错;
显示模块140 :用于将所述比较模块130得到的结果作为测试结果进行显示。
应用例
为了使本发明更清楚明了,以下结合音乐喷泉PLC程序的测试过程来说明本发明的具体实施过程。该音乐喷泉PLC程序的梯形图如图2所示,这个程序控制A、B、C三个喷头,为了进行测试工作,设计了下述测试数据文件
Cycles X000 XOOl | Y000 YOOl Y0020 10 10 0 T10 0 0 0 11
T10 0 0 0 01
T10 0 0 11 0
T5 0 0 111
T10 0 0 0 0 0 T5 0 0 1 0 0 T10 0 0 0 11
T10 0 0 0 0 1 T10 0 0 11 0
T5 0 0 111
T10 0 0 0 0 0 T5 0 0 1 0 0 10 10 0 0
上述,XOOO和X001分别表示启动按钮和停止按钮,Y000, Y001, Y002分别表示喷头A, B,C。第一列中T10表示该触发时间点需要延时运行10秒;测试文件的前两行表示在启动 按钮按下之后,喷头A开始喷水,在第10秒,喷头A停止喷水,同时喷头B和C分别开始_ 水。第三行表示,再过10秒之后,喷头B停止喷水,喷头C继续喷水;第四行表示,再过1C 秒之后,A,B开始喷水,C停止喷水。为了测试该音乐喷泉PLC程序的运行是否正确,使用本发明提供的针对含有时间 控制的PLC程序自动测试的方法对该音乐喷泉PLC程序进行测试,具体步骤如下
第一步,输入步骤输入此音乐喷泉的PLC程序,该程序图如图2所示;输入上述已设 计好的针对此PLC程序的测试数据文件;
第二步,语法分析步骤从此首乐喷泉的PLC程序中分析出各输出变量、各输出变量、 定时器变量以及逻辑运算结构;从所述测试数据文件中分析出各条测试数据记录中的输入 的变量值、与该输入的变量值相应的预期输出的变量值、以及各条测试数据记录的类别; 第三步,测试步骤启动测试,根据从所述测试数据文件中分析出的各条测试数据记录 的类别驱动对该条测试数据记录进行测试,将该条测试数据记录中的输入的变量值代入到 该音乐喷泉的PLC程序中对应的输入变量中,通过所述逻辑运算结构得到实际输出结果, 该实际输出结果保存在该音乐喷泉的PLC程序的输出变量中;
第四步,比较步骤将保存在该音乐喷泉的PLC程序的输出变量中的实际输出结果与 所述测试数据文件中对应测试数据记录中的预期输出的变量值进行比较,如果相同,该音 乐喷泉的PLC程序正确,如果不同,该音乐喷泉的PLC程序出错;
第五步,显示步骤将所述比较步骤的结果作为测试结果进行显示。经过上述测试步骤之后得到的该音乐喷泉PLC程序的测试结果如下
C 1 1 0 1 0 0 — 1 0 0 0.00s M0=1 Y000=1
T 10002 0 0 0 11—011 1.00s M0=0 T0=0 Y000=0 T 20002 0 0 0 0 1—001 2.00s M1=0 T1=0 Y001=0 T 30002 0 0 111—110 3.00s Ml=l M2=0 M0=1 T2=0cycle 30002 (time 30): program output incorrectinputs: 0 0
expected outputs: 110 program outputs: 111
为了加速测试过程,这里把时间压缩了十倍,用I秒代替10秒,上述测试结果表明,该音乐喷泉PLC程序在第3秒(即相当于原来要求的第30秒)时运行出现错误,程序的运行结果中Y002=l,按照要求此时Y002应该为0,这一测试发现了喷头并没有在指定时刻按要求停止,因此这个程序需要修改,修改之后可以继续使 用这个测试数据文件重新启动测试,看是否能够通过。这一过程显示,测试数据可以重复使用,在调试过程中,不需要每次到现场去测试,提高了调试的效率,也方便了 PLC的教学,更好地满足了当今工作的需求。为了将测试信息表示得更清楚,本发明还对测试数据文件的输入格式进行了改进,提出了一种变量赋值的输入形式,其中,每一个变量赋值的形式是,《变量名》=《变量值》。它在数据行中表示,该数据行出现时刻的变量值的变化。例如,上述音乐喷泉PLC程序的测试数据文件的前三行用变量赋值的形式可表示如下
Cycles X000 X001 | Y000 YOOl Y002
OXOOO=I YOOO=I
TlO XOOO=O YOOO=O YOOl=I Y002=l
上述格式的测试文件的第二行表示,在周期O中,变量XOOO的值变为1,同时Υ000的值也变为I。第三行表示,10秒钟之后,Χ000和Υ000的值都变为0,同时Υ001和Υ002的值则从O变为I。在数据量大的时候,这个格式的优点是比较简短,信息表示更清楚。当然,本发明提供的针对含有时间控制的PLC程序自动测试的方法及装置不仅可以适用于音乐喷泉PLC程序的测试,也能够适用于任何其它含有时间控制的PLC程序的自动测试。并且,虽然本发明实施例只例举了对含有时间控制的PLC程序进行自动测试的方法,但是应该认识到,本发明提出的针对含有时间控制的PLC程序自动测试的方法及装置也适用于对不包含有时间控制的PLC程序进行自动测试。显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1. 一种针对含有时间控制的PLC程序自动测试的方法,其中,所述PLC程序中包含有定时器,其特征在于,该方法包括以下步骤 输入步骤输入待测试的PLC程序和针对所述待测试的PLC程序的测试数据文件,其中,所述测试数据文件中包含若干条测试数据记录; 语法分析步骤从所述待测试的PLC程序中分析出各输入变量、各输出变量、定时器变量以及逻辑运算结构;并从所述测试数据文件中分析出各条测试数据记录中的输入的变量值、与该输入的变量值相应的预期输出的变量值、以及各条测试数据记录的类别;其中,每条测试数据记录的类别包括在指定时刻处理的测试数据记录,以及一个扫描周期中的测试数据记录; 测试步骤启动测试,根据从所述测试数据文件中分析出的各条测试数据记录的类别驱动对该条测试数据记录相关的测试,将该条测试数据记录中的输入变量值代入到所述待测试的PLC程序中对应的输入变量中,通过所述逻辑运算结构得到实际输出结果,该实际输出结果保存在所述待测试的PLC程序的输出变量中; 比较步骤将保存在所述待测试的PLC程序的输出变量中的实际输出结果与所述测试数据文件中对应测试数据记录中的预期输出的变量值进行比较,如果相同,该所述待测试的PLC程序正确,如果不同,该所述待测试的PLC程序出错; 显示步骤将所述比较步骤的结果作为测试结果进行显示。
2.如权利要求1所述的针对含有时间控制的PLC程序自动测试的方法,其特征在于,当对所述一个扫描周期中的测试数据记录进行测试时,在读入输入变量之后立即测试;当对所述指定时刻处理的测试数据记录进行测试时,在指定时刻未到达之前,重复使用上一条测试数据记录进行测试,并在指定时刻到达时启动对该条测试记录的测试。
3.如权利要求1所述的针对含有时间控制的PLC程序自动测试的方法,其特征在于,所述的测试数据文件的第一行的格式为周期标题、各输入变量、各输出变量,其中所述各输入变量和所述各输出变量之间通过一符号隔开,所述测试数据文件自第一行后为所述测试数据记录,并且每一行代表一条测试数据记录,每条测试数据记录的输入的变量值和预期输出的变量值分别与第一行的同列各输入变量和各输出变量相对应。
4.如权利要求3所述的针对含有时间控制的PLC程序自动测试的方法,其特征在于,所述在指定时刻处理的测试数据记录的第一列用一个字母紧跟一个数字表示,该数字表示从对该条测试数据记录进行测试开始到对下条测试数据记录进行测试需要经历的时间;所述一个扫描周期中的测试数据记录用一个整数表示。
5.如权利要求1所述的针对含有时间控制的PLC程序自动测试的方法,其特征在于,在所述比较步骤中,如果实际输出结果与预期输出的变量值不同,则停止测试,显示测试结果;其中,所述测试结果包含通过测试的测试数据、出错的测试数据及所在的触发时间或所在行、各输入的变量值、预期输出的变量值和实际输出结果。
6.如权利要求5所述的针对含有时间控制的PLC程序自动测试的方法,其特征在于,该方法在所述显示步骤之后进一步包括用户根据显示的测试结果对所述待测试的PLC程序进行修改,并在修改后继续使用所述测试数据文件对修改后的待测试的PLC程序重新启动测试;如此循环,直到所有测试数据都通过测试。
7.一种针对含有时间控制的PLC程序自动测试的装置,其特征在于,该装置包括输入模块用于输入待测试的PLC程序和针对所述待测试的PLC程序的测试数据文件,其中,所述测试数据文件中包含若干条测试数据记录; 语法分析模块用于对所述输入模块输入的所述待测试的PLC程序和所述测试数据文件进行语法分析,从所述待测试的PLC程序中分析出各输入变量、各输出变量、定时器变量以及 逻辑运算结构;从所述测试数据文件中分析出输入的变量值、与该输入的变量值相应的预期输出的变量值、以及各条测试数据记录的类别;其中,每条测试数据记录的类别包括在指定时刻处理的测试数据记录,以及一个扫描周期中的测试数据记录; 测试模块用于启动测试,根据从所述测试数据文件中分析出的各条测试数据记录的类别驱动对该条测试数据记录进行测试,将该条测试数据记录中的输入的变量值代入到所述待测试的PLC程序中对应的输入变量中,通过所述逻辑运算结构得到实际输出结果,并将该实际输出结果保存在所述待测试的PLC程序的输出变量中; 比较模块用于将保存在所述待测试的PLC程序的输出变量中的实际输出结果与所述测试数据文件中对应测试数据记录中的预期输出的变量值进行比较,如果相同,该所述待测试的PLC程序正确,如果不同,该所述待测试的PLC程序出错; 显示模块用于将所述比较模块得到的结果作为测试结果进行显示。
8.如权利要求7所述的针对含有时间控制的PLC程序自动测试的装置,其特征在于,当所述测试模块对所述一个扫描周期中的测试数据记录进行测试时,在读入输入变量之后立即测试;当所述测试模块对所述指定时刻处理的测试数据记录进行测试时,在指定时刻未到达之前,重复使用上一条测试数据记录进行测试,并在指定时刻到达时启动对该条测试记录的测试。
9.如权利要求8所述的针对含有时间控制的PLC程序自动测试的装置,其特征在于,所述语法分析模块包括测试数据分析器以及PLC语法分析器,其中,所述测试数据分析器对所述测试数据文件进行语法分析,从所述测试数据文件中分析出输入的变量值、与该输入的变量值相应的预期输出的变量值、以及各条测试数据记录的类别;所述PLC语法分析器对所述待测试的PLC程序进行语法分析,从所述待测试的PLC程序中分析出各输入变量、各输出变量、定时器变量以及逻辑运算结构。
全文摘要
本发明公开了一种针对含有时间控制的PLC程序的自动测试方法。通过先分析出各条测试数据记录的类别,然后根据测试数据记录的类别驱动与该条测试数据记录相关的测试,从而将含有时间控制的PLC程序中的一个扫描周期的测试数据记录及指定时刻处理的测试数据记录进行区别测试,进而能有效帮助检查基于时间控制的PLC程序的运行是否正确,提高了基于时间控制的PLC程序的可靠性及方便了PLC的教学,更好地满足了当今工作的需求。同时还公开了一种针对含有时间控制的PLC程序自动测试的装置,该装置基于分析出的各条测试数据记录的类别驱动对该条测试数据记录进行测试,从而提高了基于时间控制的PLC程序的可靠性及方便了PLC的教学。
文档编号G06F11/36GK103019930SQ20121045790
公开日2013年4月3日 申请日期2012年11月15日 优先权日2012年11月15日
发明者陈钢 申请人:陈钢
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1