JP7208441B1 - FA control test support program, FA control test support device, FA control test support method and FA control test support system - Google Patents
FA control test support program, FA control test support device, FA control test support method and FA control test support system Download PDFInfo
- Publication number
- JP7208441B1 JP7208441B1 JP2022529932A JP2022529932A JP7208441B1 JP 7208441 B1 JP7208441 B1 JP 7208441B1 JP 2022529932 A JP2022529932 A JP 2022529932A JP 2022529932 A JP2022529932 A JP 2022529932A JP 7208441 B1 JP7208441 B1 JP 7208441B1
- Authority
- JP
- Japan
- Prior art keywords
- test
- information
- program
- unit
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 358
- 238000000034 method Methods 0.000 title claims description 16
- 238000000605 extraction Methods 0.000 claims abstract description 13
- 239000000284 extract Substances 0.000 claims abstract description 12
- 230000008859 change Effects 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 14
- 230000008676 import Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000005401 electroluminescence Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
Abstract
FA制御テスト支援プログラムがインストールされたコンピュータの一例としてのFA制御テスト支援装置(100)において、テスト対象部情報指定部(112)は、プログラムのルーチンを構成する複数のコマンドのうちの一のコマンドを最小単位としてプログラムからテスト対象部分情報を指定する。変数定義部分情報抽出部(113)は、プログラムから変数定義部分情報を抽出する。テストプログラム生成部(130)は、テスト対象部分情報と変数定義部分情報とに基づいてテストプログラムを生成する。In an FA control test support device (100) as an example of a computer in which an FA control test support program is installed, a test target part information designation unit (112) specifies one command out of a plurality of commands constituting a routine of the program. Specify the test target part information from the program as the minimum unit. A variable definition partial information extraction unit (113) extracts variable definition partial information from a program. A test program generation unit (130) generates a test program based on the test target portion information and the variable definition portion information.
Description
本開示は、FA制御テスト支援プログラム、FA制御テスト支援装置、FA制御テスト支援方法及びFA制御テスト支援システムに関する。 The present disclosure relates to an FA control test support program, an FA control test support device, an FA control test support method, and an FA control test support system.
従来、コンピュータが実行するプログラムをテストするテストプログラムを自動生成することで当該プログラムのテストを支援する装置、システムが知られている。特許文献1には、C言語、FORTRAN及びCOBOLといったプログラミング言語で記述されたプログラムのうちからサブルーチンをキーボードによって指定し、指定されたサブルーチンの動作を確認するテストプログラムを自動生成するプログラム管理装置が開示されている。
2. Description of the Related Art Conventionally, devices and systems are known that support testing of a program executed by a computer by automatically generating a test program for testing the program.
また、特許文献2には、オブジェクト指向型言語で記述されたソースファイルのうちの試験対象となる関数に対する単体試験を自動実行する支援装置が開示されている。また、特許文献3には、Java(登録商標)及び.NETといったプログラミング言語で記述されたプログラムのうちのテスト対象となるメソッド毎にテストを行うテストコードを生成するテスト支援システムが開示されている。なお、特許文献1の「サブルーチン」、特許文献2の「関数」、特許文献3の「メソッド」は、同一の意味で用いられた用語であるため、以降これらを単に「サブルーチン」と記載する。
Further,
特許文献1~3に記載された構成では、一般的なプログラミング言語で記述されたプログラムのサブルーチンをテストの最小単位とするテストプログラムを生成するので、サブルーチンの内容によってテスト可能な項目が制限される問題がある。また、特許文献1~3に記載された構成では、工場の自動化、所謂FA(Factory Automation)の制御で使用するラダー言語、ST言語といったFA制御プログラミング言語で記述されたプログラムをテストすることを想定していない。FA制御プログラミング言語は、サブルーチンを定義せずにプログラムを記述することが多い。このため、特許文献1~3に記載された構成では、FA制御プログラミング言語で記述されたサブルーチンがないプログラムのテストプログラムを生成しようとすると、メインルーチン全体をテストするテストプログラムしか生成できず、テスト可能な項目が更に制限される。この結果、特許文献1~3に記載された構成では、FA制御プログラミング言語で記述されたプログラムについて効率的にテストできない問題がある。
In the configurations described in
本開示は、上記実情に鑑みてなされたものであり、FA制御プログラミング言語で記述されたプログラムのテストの効率を向上することを目的とする。 The present disclosure has been made in view of the above circumstances, and aims to improve the efficiency of testing programs written in the FA control programming language.
上記目的を達成するため、本開示に係るFA制御テスト支援プログラムは、コンピュータを、FA制御プログラミング言語で記述されたプログラムのルーチンを構成する複数のコマンドのうちの一のコマンドを最小単位として、プログラムからテストの対象となる部分を示す情報であるテスト対象部分情報を指定するテスト対象部分情報指定部、プログラムからテストの対象となる部分において使用されている変数を定義している部分を示す情報である変数定義部分情報を抽出する変数定義部分情報抽出部、プログラムを実行することで被制御部を制御するFA制御装置の制御部がテストプログラムを実行したときにユーザが期待する結果を示す情報である期待結果情報を指定する期待結果情報指定部、テスト対象部分情報と変数定義部分情報と期待結果情報とに基づいてテストプログラムを生成するテストプログラム生成部、制御部がテストプログラムを実行したときの実行結果を示す情報である実行結果情報に基づいてテストの結果を示す情報であるテスト結果情報を生成するテスト結果情報生成部、テスト結果情報を表示するテスト結果情報表示部、として機能させる。また、本開示に係るFA制御テスト支援プログラムでは、期待結果情報は、テストプログラムを繰り返し実行したときに変化する可能性がある被制御部の出力値に対するユーザの期待値を実行回数毎に特定可能な情報であり、実行結果情報は、テストプログラムを繰り返し実行したときの出力値と期待値とを実行回数毎に比較した結果を特定可能な情報である。 In order to achieve the above object, the FA control test support program according to the present disclosure causes a computer to use one of a plurality of commands constituting a routine of a program written in the FA control programming language as a minimum unit. [in] The test target part information specification part that specifies the test target part information, which is the information that indicates the part to be tested, and the information that indicates the part that defines the variables used in the test target part from the program A variable definition partial information extraction unit that extracts certain variable definition partial information, and information that indicates the results expected by the user when the control unit of the FA control device that controls the controlled unit by executing the program executes the test program. An expected result information specification part that specifies certain expected result information, a test program generation part that creates a test program based on the test target part information, the variable definition part information, and the expected result information, and when the control part executes the test program It functions as a test result information generation unit that generates test result information, which is information indicating the test result, based on the execution result information, which is information indicating the execution result, and a test result information display unit that displays the test result information . Further, in the FA control test support program according to the present disclosure, the expected result information can specify the user's expected value for the output value of the controlled unit that may change when the test program is repeatedly executed for each execution. The execution result information is information that can specify the result of comparing the output value and the expected value when the test program is repeatedly executed for each execution count.
本開示によれば、FA制御テスト支援プログラムは、プログラムのルーチンを構成する複数のコマンドのうちの一個のコマンドをテストの最小単位として当該プログラムから指定したテスト対象部分情報に基づいてテストプログラムを生成する。このため、本開示に係るFA制御テスト支援プログラムは、プログラムのサブルーチンをテストの最小単位として当該プログラムから指定したテスト対象部情報分に基づいてテストプログラムを生成するFA制御テスト支援プログラムよりもテスト可能な項目が制限され難くなる。したがって、本開示に係るFA制御テスト支援プログラムは、FA制御プログラミング言語で記述されたプログラムのテストの効率を向上できる。 According to the present disclosure, the FA control test support program generates a test program based on test target portion information specified from the program using one command out of a plurality of commands constituting a routine of the program as the minimum unit of testing. do. For this reason, the FA control test support program according to the present disclosure generates a test program based on the test target part information specified from the program as a subroutine of the program as the minimum unit of testing. More testable than the FA control test support program items are difficult to be restricted. Therefore, the FA control test support program according to the present disclosure can improve test efficiency of programs written in the FA control programming language.
以下、本開示を実施するための形態に係るFA(Factory Automation)制御テスト支援プログラム、FA制御テスト支援装置、FA制御テスト支援方法及びFA制御テスト支援システムについて図面を参照して詳細に説明する。なお、図中同一又は相当する部分には同じ符号を付す。 Hereinafter, an FA (Factory Automation) control test support program, an FA control test support device, an FA control test support method, and an FA control test support system according to embodiments for implementing the present disclosure will be described in detail with reference to the drawings. The same reference numerals are given to the same or corresponding parts in the drawings.
(FA制御テスト支援システム1について)
本開示の実施の形態1に係るFA制御テスト支援システム1は、例えば、ラダー言語、ST言語といったFA制御プログラミング言語で記述されたプログラムのテストを支援するシステムである。(Regarding FA control test support system 1)
The FA control
図1に示すように、FA制御テスト支援システム1は、FA制御プログラミング言語で記述されたプログラムのテストを支援するFA制御テスト支援プログラムがインストールされたコンピュータの一例としてのFA制御テスト支援装置100を備える。また、FA制御テスト支援システム1は、FA制御プログラミング言語で記述されたプログラムによって制御するFA制御装置200を備える。
As shown in FIG. 1, the FA control
FA制御テスト支援システム1では、FA制御テスト支援装置100は、取得したプログラムからテストの対象となる部分を示す情報であるテスト対象部分情報を指定し、指定したテスト対象部分情報に基づくテストプログラムを生成してFA制御装置200に出力する。この結果、FA制御テスト支援システム1は、FA制御装置200が出力されたテストプログラムを実行することで当該プログラムのテストを行うことができるので、FA制御テスト支援装置100によって当該プログラムのテストを支援できる。
In the FA control
(FA制御テスト支援装置100について)
FA制御テスト支援装置100は、例えば、サーバとしての機能を有するコンピュータ装置である。図2に示すように、FA制御テスト支援装置100は、プログラムを編集するプログラム編集部110、テストプログラムを編集するテストプログラム編集部120を含む。また、FA制御テスト支援装置100は、テストプログラムを生成するテストプログラム生成部130、テストプログラムに関する情報の通信を行うテストプログラム通信部140を含む。また、FA制御テスト支援装置100は、テストの結果を示す情報であるテスト結果情報を生成するテスト結果情報生成部150、テスト結果情報を表示するテスト結果情報表示部160を含む。また、FA制御テスト支援装置100は、プログラムのテストに関する情報を記憶する記憶部170を含む。(Regarding FA control test support device 100)
The FA control
プログラム編集部110は、プログラムの編集画面を表示するプログラム編集画面表示部111を含む。また、プログラム編集部110は、テスト対象部分情報を指定するテスト対象部分情報指定部112を含む。また、プログラム編集部110は、プログラムからテストの対象となる部分において使用されている変数を定義している部分を示す情報である変数定義部分情報を抽出する変数定義部分情報抽出部113を含む。
The
テストプログラム編集部120は、テストプログラムの編集画面を表示するテストプログラム編集画面表示部121を含む。また、テストプログラム編集部120は、FA制御装置200がテストプログラムを実行したときにユーザが期待する結果を示す情報である期待結果情報を指定する期待結果情報指定部122を含む。また、テストプログラム編集部120は、テストプログラムを記述するFA制御プログラミング言語を示す情報であるプログラミング言語情報を指定するプログラミング言語情報指定部123を含む。また、テストプログラム編集部120は、テストプログラムの用途を示す情報である用途情報を指定する用途情報指定部124を含む。また、テストプログラム編集部120は、テストプログラムに関連する情報であるテストプログラム関連情報を管理するテストプログラム関連情報管理部125を含む。また、テストプログラム編集部120は、テストプログラム関連情報をエクスポートするエクスポート部126、テストプログラム関連情報をインポートするインポート部127を含む。
The test
テストプログラム通信部140は、テストプログラムを出力するテストプログラム出力部141、テストプログラムの実行結果情報を取得する実行結果情報取得部142を含む。
The test
記憶部170は、テストプログラムに関連する情報であるテストプログラム関連情報を記憶するテストプログラム関連情報記憶部171、テストで実行エラーが発生した原因を特定可能な情報であるエラー原因情報記憶部172を含む。
The
(FA制御装置200について)
FA制御装置200は、例えば、FA機器を制御するPLC(Programmable Logic Controller)を含む装置である。FA制御装置200は、制御部の一例としてのFAコントローラ210、被制御部の一例としてのFA機器220を含む。FAコントローラ210は、テストプログラムを取得するテストプログラム取得部211、テストプログラムを実行するテストプログラム実行部212を含む。また、FAコントローラ210は、テストプログラムを実行したときの実行結果を示す情報である実行結果情報を出力する実行結果情報出力部213を含む。FA機器220は、例えば、サーボアンプ221、サーボモータ222を含む。(About FA control device 200)
The
(FA制御テスト支援装置100のハードウェア構成について)
図3に示すように、FA制御テスト支援装置100は、制御プログラム59に従って処理を実行する制御部51を備える。制御部51は、CPU(Central Processing Unit)を備える。制御部51は、制御プログラム59に従って、図2に示す、変数定義部分情報抽出部113、テストプログラム関連情報管理部125、エクスポート部126、インポート部127、テストプログラム生成部130、テスト結果情報生成部150として機能する。(Hardware configuration of FA control test support device 100)
As shown in FIG. 3 , the FA control
図3に戻り、FA制御テスト支援装置100は、制御プログラム59をロードし、制御部51の作業領域として用いられる主記憶部52を備える。主記憶部52は、RAM(Random Access Memory)を備える。
Returning to FIG. 3 , the FA control
また、FA制御テスト支援装置100は、制御プログラム59を予め記憶する外部記憶部53を備える。外部記憶部53は、制御部51の指示に従って、このプログラムが記憶するデータを制御部51に供給し、制御部51から供給されたデータを記憶する。外部記憶部53は、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の不揮発性メモリを備える。外部記憶部53は、図2に示す記憶部170として機能する。
The FA control
図3に戻り、FA制御テスト支援装置100は、ユーザに操作される操作部54を備える。操作部54を介して、入力された情報が制御部51に供給される。操作部54は、キーボード、マウス、タッチパネル等の情報入力部品を備える。操作部54は、図2に示す、テスト対象部分情報指定部112、期待結果情報指定部122、プログラミング言語情報指定部123、用途情報指定部124として機能する。
Returning to FIG. 3, the FA control
図3に戻り、FA制御テスト支援装置100は、操作部54を介して入力された情報及び制御部51が出力した情報を表示する表示部55を備える。表示部55は、LCD(Liquid Crystal Display)、有機EL(Electro-Luminescence)ディスプレイ等の表示装置を備える。表示部55は、図2に示す、プログラム編集画面表示部111、テストプログラム編集画面表示部121、テスト結果情報表示部160として機能する。
Returning to FIG. 3 , the FA control
図3に戻り、FA制御テスト支援装置100は、情報を送受信する送受信部56を備える。送受信部56は、ネットワークに接続する通信網終端装置、無線通信装置等の情報通信部品を備える。送受信部56は、図2に示すテストプログラム出力部141、実行結果情報取得部142として機能する。
Returning to FIG. 3, the FA control
図3に戻り、FA制御テスト支援装置100では、主記憶部52、外部記憶部53、操作部54、表示部55及び送受信部56はいずれも内部バス50を介して制御部51に接続されている。
Returning to FIG. 3, in the FA control
FA制御テスト支援装置100は、制御部51が主記憶部52、外部記憶部53、操作部54、表示部55及び送受信部56を資源として用いることによって、図2に示す上記の各部111~113、121~127、130、141、142、150~170の機能を実現する。例えば、FA制御テスト支援装置100は、プログラム編集画面表示部111が行うプログラム編集画面表示ステップ、テスト対象部分情報指定部112が行うテスト対象部分情報指定ステップ、変数定義部分情報抽出部113が行う変数定義部分情報抽出ステップを実行する。
In the FA control
また、例えば、FA制御テスト支援装置100は、テストプログラム編集画面表示部121が行うテストプログラム編集画面表示ステップを実行する。また、例えば、FA制御テスト支援装置100は、期待結果情報指定部122が行う期待結果情報指定ステップ、プログラミング言語情報指定部123が行うプログラミング言語情報指定ステップ、用途情報指定部124が行う用途情報指定ステップを実行する。また、例えば、FA制御テスト支援装置100は、テストプログラム関連情報管理部125が行うテストプログラム関連情報管理ステップ、エクスポート部126が行うエクスポートステップ、インポート部127が行うインポートステップを実行する。
Also, for example, the FA control
また、例えば、FA制御テスト支援装置100は、テストプログラム生成部130が行うテストプログラム生成ステップ、テストプログラム出力部141が行うテストプログラム出力ステップ、実行結果情報取得部142が行う実行結果情報取得ステップを実行する。また、例えば、FA制御テスト支援装置100は、テスト結果情報生成部150が行うテスト結果情報生成ステップ、テスト結果情報表示部160を行うテスト結果情報表示ステップ、記憶部170が行う記憶ステップを実行する。
Further, for example, the FA control
(FA制御装置200のハードウェア構成について)
また、図3に示すように、FA制御装置200もFA制御テスト支援装置100と同様に、制御部51、主記憶部52、外部記憶部53、操作部54、表示部55、送受信部56を備える。制御部51は、制御プログラム59に従って、図2に示すFAコントローラ210として機能する。図3に戻り、FA制御装置200は、制御部51が主記憶部52、外部記憶部53、操作部54、表示部55及び送受信部56を資源として用いることによって、FAコントローラ210の機能を実現する。例えば、FA制御装置200は、テストプログラム取得部211が行うテストプログラム取得ステップ、テストプログラム実行部212が行うテストプログラム実行ステップ、実行結果情報出力部213が行う実行結果情報出力ステップを実行する。(Hardware configuration of FA control device 200)
As shown in FIG. 3, the
(FA制御テスト支援装置100の機能構成の詳細について)
図2に戻り、テスト対象部分情報指定部112は、プログラムのルーチンを構成する複数のコマンドのうちの一のコマンドを最小単位として当該プログラムからテスト対象部分情報を指定する。例えば、テスト対象部分情報指定部112は、図示しないプログラムの編集画面に表示されているプログラムのうちから図3に示す操作部54を用いてユーザが選択した範囲の部分を示す情報をテスト対象部分情報として指定する。また、テスト対象部分情報指定部112は、当該プログラムからテスト対象部分情報を抽出する。(About the details of the functional configuration of the FA control test support device 100)
Returning to FIG. 2, the test target portion
ここで、本開示において、「プログラム」の記述の形式には、文字データの形式だけでなく図形データの形式も含まれる。このため、「プログラムのルーチンを構成する複数のコマンドのうちの一のコマンド」には、文字データで記述されたコマンドだけでなく、図形データで記述されたコマンドも含まれる。よって、「プログラムのルーチンを構成する複数のコマンドのうちの一のコマンド」は、例えば、ST言語であればソースコードにおける一の文であってもよく、ラダー言語であればラダー・ダイアグラムにおける一個のラングであってもよい。なお、本実施の形態における「ユーザが選択した範囲の部分」とは、例えば、ST言語であればソースコードにおける一以上の文であり、ラダー言語であればラダー・ダイアグラムにおける一個以上のラングである。 Here, in the present disclosure, the format of the description of the “program” includes not only the format of character data but also the format of graphic data. Therefore, "one command out of a plurality of commands constituting a routine of a program" includes not only a command described with character data but also a command described with graphic data. Therefore, "one command out of a plurality of commands constituting a program routine" may be, for example, one sentence in the source code in the case of the ST language, or one in the ladder diagram in the case of the ladder language. may be a rung of In addition, the "portion of the range selected by the user" in the present embodiment is, for example, one or more sentences in the source code in the case of the ST language, and one or more rungs in the ladder diagram in the case of the ladder language. be.
図2に戻り、変数定義部分情報抽出部113は、テスト対象部分情報に基づいて、プログラムからテストの対象となる部分であるテスト対象部分において使用されているローカル変数を定義している変数定義部分情報を抽出する。また、変数定義部分情報抽出部113は、テスト対象部分情報に基づいて、プログラムからテスト対象部分において使用されているグローバル変数を定義している変数定義部分情報を抽出する。
Returning to FIG. 2, the variable definition portion
テストプログラム編集画面表示部121は、図4~図8に示すテストプログラムの編集画面300を表示する。編集画面300は、図4~図8に示すように、左端上部に情報を選択する情報選択部310、情報選択部310の右方に編集する情報を表示する情報表示部320を有する。情報選択部310には、上から順番に、テスト対象部分を選択するテスト対象部分選択タブ311、ローカル変数を選択するローカル変数選択タブ312、グローバル変数を選択するグローバル変数選択タブ313、プログラミング言語を選択するプログラミング言語選択タブ314、期待結果情報の期待値を選択する期待値選択タブ315、用途を選択する用途選択タブ316、テストプログラムの一覧を選択するテストプログラム一覧選択タブ317が設けられている。
The test program editing
例えば、編集画面300は、図3に示す操作部54を用いてユーザがテスト対象部分選択タブ311を選択した場合、図4に示すように、情報表示部320にテスト対象部分情報指定部112によって指定されたテスト対象部分情報321を表示する。このとき、情報表示部320には、テストプログラムの名称を示す情報であるテストプログラム名称情報322、テストプログラムの自動生成を開始するときに操作される自動生成ボタン323が表示される。
For example, when the user selects the test target
ここで、図4に示すように、テスト対象部分情報321は、例えば、「(…前略…)bEnable:=TRUE;(…後略…)」とのソースコードの文字列を特定可能な情報である。また、テストプログラム名称情報322は、テストプログラムの名称を示す「プログラム名称」の項目に対応する情報が特定可能な情報であり、例えば、テストプログラムの名称が「サーボON」であると特定可能な情報である。なお、編集画面300では、ユーザが操作部54を用いてテスト対象部分情報321及びテストプログラム名称情報322を編集することでテストの対象となる部分及びテストプログラムの名称について追記・変更することが可能となっている。また、編集画面300では、ユーザが操作部54を用いて自動生成ボタン323を操作することが可能となっている。
Here, as shown in FIG. 4, the test
また、例えば、編集画面300は、操作部54を用いてユーザがローカル変数選択タブ312を選択した場合、図5に示すように、情報表示部320に変数定義部分情報抽出部113によって抽出されたローカル変数の変数定義部分情報324をテーブルの形式で表示する。このとき、情報表示部320には、変数定義部分情報324をチェックする変数定義チェックボタン325が表示される。
Also, for example, when the user selects the local variable selection tab 312 using the operation unit 54, the
ここで、図5に示すように、変数定義部分情報324は、ローカル変数の名称を示す「変数名」、ローカル変数のデータ型を示す「データ型」、ローカル変数の初期値を示す「初期値」、ローカル変数の説明を示す「説明」の項目に対応する情報がローカル変数毎に特定可能な情報である。変数定義部分情報324は、例えば、変数名が「iSpeed」のローカル変数は、データ型が「INT」、初期値が「100」、説明が「速度」であると特定可能な情報である。なお、編集画面300では、ユーザが操作部54を用いて変数定義部分情報324を編集することでローカル変数を追加したり、変更したりすることが可能となっている。また、編集画面300では、ユーザが操作部54を用いて変数定義チェックボタン325を操作することが可能となっている。
Here, as shown in FIG. 5, the variable
なお、図示は省略するが、例えば、編集画面300は、操作部54を用いてユーザがグローバル変数選択タブ313を選択した場合、情報表示部320に変数定義部分情報抽出部113によって抽出されたグローバル変数の変数定義部分情報324をテーブルの形式で表示する。このとき、情報表示部320には、変数定義チェックボタン325が表示される。また、編集画面300では、ユーザが操作部54を用いて変数定義部分情報324を編集することでグローバル変数を追加したり、変更したりすることが可能となっている。また、編集画面300では、ユーザが操作部54を用いて変数定義チェックボタンを操作することが可能となっている。
Although illustration is omitted, for example, when the user selects the global variable selection tab 313 using the operation unit 54, the
また、例えば、編集画面300は、操作部54を用いてユーザがプログラミング言語選択タブ314を選択した場合、図6に示すように、テストプログラムを生成可能なFA制御プログラミング言語を表示する。このとき、情報表示部320には、FA制御プログラミング言語を示すプログラミング言語情報326が表示される。
Further, for example, when the user selects the programming language selection tab 314 using the operation unit 54, the
ここで、図6に示すように、プログラミング言語情報326は、ユーザが選択したテストプログラムを生成するときのFA制御プログラミング言語が特定可能な情報である。プログラミング言語情報326は、例えば、テストプログラムを生成するときのFA制御プログラミング言語として、「ST言語」及び「ラダー言語」のうちから「ST言語」を選択した旨を特定可能な情報である。なお、編集画面300では、ユーザが操作部54を用いてプログラミング言語情報326を編集することでテストプログラムを生成するときのFA制御プログラミング言語を指定することが可能となっている。
Here, as shown in FIG. 6, the
また、例えば、編集画面300は、操作部54を用いてユーザが期待値選択タブ315を選択した場合、図7に示すように、情報表示部320に期待結果情報327をテーブルの形式で表示する。ここで、期待結果情報327では、例えば、期待値の番号を示す「No.」、期待値の条件式を示す「期待値条件式」をFA機器220からの出力値毎に特定可能な情報である。期待結果情報327では、例えば、番号が「1」の期待値は、条件式が「送り現位置=iSpeed * iTime」であると特定可能な情報である。なお、編集画面300では、ユーザが操作部54を用いて期待結果情報327を編集することで期待結果情報を指定することが可能となっている。
Further, for example, when the user selects the expected value selection tab 315 using the operation unit 54, the
なお、図示は省略するが、例えば、編集画面300は、操作部54を用いてユーザが用途選択タブ316を選択した場合、情報表示部320に用途情報を表示する。ここで、用途情報は、例えば、テストプログラムの用途としての「サーボON」、「サーボOFF」、「速度制御」、「位置決め」、「初期値設定」等を特定可能な情報である。なお、編集画面300では、ユーザが操作部54を用いて用途情報を編集することで予め定められた複数種類の用途のうちから一の用途を指定することが可能となっている。
Although illustration is omitted, for example, the
また、例えば、編集画面300は、操作部54を用いてテストプログラム一覧選択タブ317を選択した場合、図8に示すように、情報表示部320にテストプログラムの一覧を示す情報であるテストプログラム一覧情報328をテーブルの形式で表示する。また、このとき、情報表示部320には、テストプログラムを実行するときに操作されるテストプログラム実行ボタン329が表示される。
Further, for example, when the test program
ここで、図8に示すように、テストプログラム一覧情報328は、テストプログラムの番号を示す「No.」、テストプログラムを実行するか否かを示す「選択」、テストプログラムの名称を示す「名称」、テストプログラムの情報を示す「プログラム情報」、テストプログラムの実行結果を示す「実行結果」、テストプログラムが実行エラーであったときのエラーの詳細内容を示す「エラー詳細」の項目に対応する情報がテストプログラム毎に特定可能な情報である。テストプログラム一覧情報328では、例えば、番号が「1」のテストプログラムは、テストプログラム実行ボタン329が操作されたときに実行していることを特定可能である。また、テストプログラム一覧情報328では、例えば、番号が「1」のテストプログラムは、名称が「サーボON」であり、実行結果が「OK」であり、実行エラーがないことを特定可能である。
Here, as shown in FIG. 8, the test program list information 328 includes "No." indicating the number of the test program, "Select" indicating whether or not to execute the test program, and "Name" indicating the name of the test program. ", "Program information" indicating the information of the test program, "Execution result" indicating the execution result of the test program, and "Error details" indicating the details of the error when the test program is an execution error. The information is information that can be specified for each test program. In the test program list information 328, for example, it is possible to specify that the test program numbered "1" is being executed when the test
なお、編集画面300では、ユーザが操作部54を用いてテストプログラム一覧情報328を編集することで、テストプログラム実行ボタン329が操作されたときに実行するテストプログラムを指定することが可能となっている。また、編集画面300では、ユーザが操作部54を用いてテストプログラム一覧情報328を編集することで、テストプログラムの各情報を確認可能としたり、後述する実行エラーの詳細内容を確認したりすることが可能となっている。また、編集画面300では、ユーザが操作部54を用いてテストプログラム実行ボタン329を操作することが可能となっている。
On the
図2に戻り、期待結果情報指定部122は、FAコントローラ210がテストプログラムを実行してFA機器220を制御したときのFA機器220からの出力値に対するユーザの期待値を示す情報を期待結果情報327として指定する。なお、期待結果情報327は、上述したように期待値の条件式を特定可能な情報であるため、テストプログラムを繰り返し実行したときの期待値を実行回数毎に特定可能な情報である。期待結果情報指定部122は、図7に示す編集画面300において操作部54を用いてユーザが入力した期待値の条件式を特定可能な情報を期待結果情報327として指定する。
Returning to FIG. 2, the expected result
図2に戻り、プログラミング言語情報指定部123は、図6に示す編集画面300において操作部54を用いてユーザが選択したFA制御プログラミング言語を特定可能な情報をプログラミング言語情報326として指定する。
Returning to FIG. 2, the programming language
図2に戻り、用途情報指定部124は、編集画面300において操作部54を用いてユーザが選択したテストプログラムの用途を特定可能な情報を用途情報として指定する。
Returning to FIG. 2, the usage
テストプログラム関連情報管理部125は、複数種類のテストプログラム関連情報をテストプログラム毎に管理する。ここで、図9に示すように、テストプログラム関連情報350は、テスト対象部分情報321、変数定義部分情報324、プログラミング言語情報326、期待結果情報327、用途情報351、テストプログラムのソースを示す情報であるソース情報352及びテストプログラムをコンパイルした結果を示す情報であるコンパイル情報353を含む情報である。図2に戻り、テストプログラム関連情報管理部125は、図4~図8に示す編集画面300において編集された情報を新たなテストプログラム関連情報350として取得して管理することが可能である。なお、テストプログラム編集画面表示部121は、テストプログラム関連情報管理部125が管理しているテストプログラム関連情報350を編集画面300に表示することが可能となっている。
The test program related
図2に戻り、エクスポート部126は、テストプログラム関連情報管理部125が管理しているテストプログラム関連情報350をテストプログラム関連情報記憶部171に記憶させることでテストプログラム関連情報350をエクスポートする。なお、テストプログラム関連情報管理部125は、例えば、管理している複数種類のテストプログラム関連情報350のうち、編集も実行もされないテストプログラムのテストプログラム関連情報350をエクスポート部126にエクスポートさせる。具体的には、テストプログラム関連情報管理部125は、図8に示す編集画面300のテストプログラム一覧情報328に表示されたテストプログラムのうち、編集、実行の選択がされていないテストプログラムのテストプログラム関連情報350をエクスポートさせる。
Returning to FIG. 2 , the
図2に戻り、インポート部127は、テストプログラム関連情報記憶部171が記憶しているテストプログラム関連情報350を取得してテストプログラム関連情報管理部125に出力することでテストプログラム関連情報350をインポートする。なお、テストプログラム関連情報管理部125は、例えば、テストプログラム関連情報記憶部171が記憶しているテストプログラム関連情報350のうち、編集又は実行するテストプログラムのテストプログラム関連情報350をインポート部127にインポートさせる。具体的には、テストプログラム関連情報管理部125は、図8に示す編集画面300に表示されているテストプログラム一覧情報328のうち、編集の対象となっているテストプログラム又は実行の対象となっているテストプログラムのテストプログラム関連情報350をインポートさせる。
Returning to FIG. 2, the
テストプログラム生成部130は、編集画面300において編集されたテスト対象部分情報321、変数定義部分情報324、プログラミング言語情報326、期待結果情報327、用途情報351に基づいてテストプログラムを生成する。テストプログラム生成部130は、図4に示す編集画面300においてユーザが操作部54を用いて自動生成ボタン323を操作したとき、テストプログラムの生成を開始する。
The test
先ず、テストプログラム生成部130は、変数定義部分情報324から特定したローカル変数及びグローバル変数が定義されている部分である変数定義部分が適切であるか否かを判定する。なお、テストプログラム生成部130は、自動生成ボタン323が操作されていなくても、図5に示す編集画面300においてユーザが操作部54を用いて変数定義チェックボタン325を操作すればローカル変数及びグローバル変数が適切に定義されているか否かを判定する。
First, the test
また、テストプログラム生成部130は、期待結果情報327から特定した期待値の条件式が適切であるか否かを判定する。また、テストプログラム生成部130は、変数定義部分情報324、期待結果情報327以外のテスト対象部分情報321、プログラミング言語情報326、用途情報351といったテストプログラムの生成に必要な情報を全て取得する。また、テストプログラム生成部130は、テスト対象部分情報321から特定したテスト対象部分に基づいて、プログラミング言語情報326から特定したプログラミング言語で記述したテスト対象部分を生成する。このとき、テストプログラム生成部130は、テスト対象部分を抽出した元のプログラムのプログラミング言語とテストプログラムのプログラミング言語とが同一であれば、テスト対象部分情報321から特定したテスト対象部分をテストプログラムのテスト対象部分とする。
In addition, the test
また、テストプログラム生成部130は、変数定義部分情報324から特定した変数定義部分に基づいて、指定されたプログラミング言語で記述した変数定義部分を生成する。このとき、テストプログラム生成部130は、変数定義部分を抽出した元のプログラムのプログラミング言語とテストプログラムのプログラミング言語とが同一であれば、変数定義部分情報324から特定した変数定義部分をテストプログラムの変数定義部分とする。
Also, the
また、テストプログラム生成部130は、期待結果情報327から特定された期待値の条件式に基づく期待値とFA機器220からの出力値とを比較する処理を指定されたプログラミング言語で記述した部分である比較処理部分を生成する。
In addition, the test
また、テストプログラム生成部130は、実行結果情報を生成する処理を指定されたプログラミング言語で記述した部分である実行結果情報生成部分を生成する。ここで、実行結果情報は、FAコントローラ210がテストプログラムを実行したときに実行エラーが発生せず且つ期待値と出力値との差分値が予め定めた閾値を超えない場合、「TRUE」を示す戻り値が特定可能な情報である。また、実行結果情報は、FAコントローラ210がテストプログラムを実行したときに実行エラーが発生した場合、エラーコードを示す戻り値が特定可能な情報である。また、実行結果情報は、FAコントローラ210がテストプログラムを実行したときに実行エラーが発生しないが期待値と出力値との差分値が閾値を超えた場合、「FALSE」を示す戻り値が特定可能な情報である。
In addition, the test
また、テストプログラム生成部130は、用途情報351から特定された用途に基づいて、テストプログラムのIF(IntarFace)を定義した部分であるIF定義部分を生成する。また、テストプログラム生成部130は、テスト対象部分、変数定義部分、比較処理部分、実行結果情報生成部分、IF定義部分を組み合わせてテストプログラムのソース情報352を生成する。したがって、ソース情報352で特定されるテストプログラムのソースは、IF定義部分を除いた実際の処理を行う部分が、テスト対象部分、変数定義部分、比較処理部分、実行結果情報生成部分によって構成されている。そして、テストプログラム生成部130は、テストプログラムのソース情報352をコンパイルし、コンパイル情報353を一時記憶する。
Also, the test
テストプログラム出力部141は、テストプログラムのコンパイル情報353をFA制御装置200のFAコントローラ210に出力する。なお、テストプログラム関連情報管理部125は、図8に示す編集画面300においてユーザが操作部54を用いてテストプログラム実行ボタン329を操作したとき、テストプログラム出力部141にテストプログラムのコンパイル情報353を出力させる。
The test
図2に戻り、実行結果情報取得部142は、FA制御装置200のFAコントローラ210から出力されたテストプログラムの実行結果情報を取得する。なお、テストプログラム関連情報管理部125は、テストプログラム出力部141にテストプログラムのコンパイル情報353を出力させた後、実行結果情報取得部142に実行結果情報を取得させ、実行結果情報に基づくテスト結果情報をテスト結果情報生成部150に生成させる。
Returning to FIG. 2 , the execution result
テストプログラム関連情報記憶部171は、エクスポート部126からエクスポートされた図9に示すテストプログラム関連情報350をテストプログラム毎に記憶する。
図2に戻り、エラー原因情報記憶部172は、図10に示すエラー原因情報を記憶する。ここで、図10に示すように、エラー原因情報は、例えば、実行エラーの区分を示す「区分」、実行エラーのエラーコードを示す「コード」、実行エラーの詳細内容を示す「詳細内容」の項目に対応する情報が実行エラー毎に特定可能な情報である。例えば、エラー原因情報は、エラーコードが「0A01」の実行エラーについて、区分が「1」のエラーであり、詳細内容が「JOG始動時にJOG速度が設定範囲外になっている。」であると特定可能な情報である。The test program related
Returning to FIG. 2, the error cause
テスト結果情報生成部150は、実行結果情報に基づいてテスト結果情報を生成する。テスト結果情報生成部150は、実行結果情報から「TRUE」を示す戻り値を特定した場合、「OK」を示すテスト結果情報を生成する。また、テスト結果情報生成部150は、実行結果情報から「FALSE」を示す戻り値を特定した場合、「NG」を示すテスト結果情報を生成する。また、テスト結果情報生成部150は、実行結果情報からエラーコードを示す戻り値を特定した場合、エラー原因情報記憶部172が記憶しているエラー原因情報を参照し、エラーコードに対応する詳細内容を特定し、「NG」及び実行エラーの詳細内容を特定可能なテスト結果情報を生成する。
テスト結果情報表示部160は、図8に示す編集画面300にテスト結果情報を表示する。The test result
The test result
(FA制御装置200の機能構成の詳細について)
テストプログラム取得部211は、FA制御テスト支援装置100から出力されたテストプログラムのコンパイル情報353を取得する。
テストプログラム実行部212は、コンパイル情報353を用いてテストプログラムを実行する。
実行結果情報出力部213は、テストプログラムの実行結果情報をFA制御テスト支援装置100に出力する。(Details of the functional configuration of the FA control device 200)
The test
The test
The execution result
(プログラム編集処理について)
次に、フローチャートを用いてFA制御テスト支援装置100がプログラムからテスト対象部分情報321及び変数定義部分情報324を抽出してテストプログラムの編集画面300に表示する動作について説明する。FA制御テスト支援装置100は、図示しないプログラムの編集画面を表示すると、図11に示すプログラム編集処理の実行を開始する。先ず、テスト対象部分情報指定部112は、ユーザによって編集画面において表示されているプログラムからテスト対象部分が選択されたか否かを判定する(ステップS101)。(Regarding program editing processing)
Next, the operation of the FA control
テスト対象部分情報指定部112は、テスト対象部分が選択されていない場合(ステップS101;N)、テスト対象部分が選択されるまでステップS101の処理を繰り返す。一方、テスト対象部分情報指定部112は、テスト対象部分が選択された場合(ステップS101;Y)、プログラムからテスト対象部分情報321を抽出する(ステップS102)。次に、変数定義部分情報抽出部113は、プログラムからテスト対象部分で使用されているローカル変数の変数定義部分情報324を抽出する(ステップS103)。次に、変数定義部分情報抽出部113は、プログラムからテスト対象部分で使用されているグローバル変数の変数定義部分情報324を抽出する(ステップS104)。
If the test target portion is not selected (step S101; N), the test target portion
次に、プログラム編集部110は、抽出したテスト対象部分情報321と変数定義部分情報324とをテストプログラム編集部120に出力する(ステップS105)。そして、テストプログラム編集部120は、テストプログラム編集画面表示部121によって図4及び図5に示すテストプログラムの編集画面300にテスト対象部分情報321及び変数定義部分情報324を表示させ(ステップS106)、処理を終了する。
Next, the
(テストプログラム生成処理について)
次に、フローチャートを用いてFA制御テスト支援装置100がテストプログラムを生成する動作について説明する。FA制御テスト支援装置100は、図4に示すテストプログラムの編集画面300において自動生成ボタン323が操作されると、図12に示すテストプログラム生成処理の実行を開始する。先ず、テストプログラム生成部130は、変数定義部分情報324から特定したローカル変数が適切に定義されているか否かを判定する(ステップS201)。テストプログラム生成部130は、ローカル変数が正しく定義されている場合(ステップS201;Y)、変数定義部分情報324から特定したグローバル変数が正しく定義されているか否かを判定する(ステップS202)。テストプログラム生成部130は、グローバル変数が正しく定義されている場合(ステップS202;Y)、期待結果情報327から特定した期待値の条件式が正しいか否かを判定する(ステップS203)。(Regarding test program generation processing)
Next, the operation of the FA control
テストプログラム生成部130は、ローカル変数が正しく定義されていない場合(ステップS201;N)、又は、グローバル変数が正しく定義されていない場合(ステップS202;N)、又は、期待値の条件式が正しくない場合(ステップS203;N)、テストプログラムを作成せずに処理を終了する。一方、テストプログラム生成部130は、期待値の条件式が適切である場合(ステップS203;Y)、テストプログラムの生成に必要な情報を全て取得する(ステップS204)。
If the local variables are not defined correctly (step S201; N), or if the global variables are not defined correctly (step S202; N), or if the conditional expression of the expected value is not correct, the test
次に、テストプログラム生成部130は、テスト対象部分情報321から特定したテスト対象部分に基づいてプログラミング言語情報326から特定したテストプログラムのプログラミング言語で記述したテスト対象部分を生成する(ステップS205)。次に、テストプログラム生成部130は、変数定義部分情報324から特定した変数定義部分に基づいてテストプログラムのプログラミング言語で記述した変数定義部分を生成する(ステップS206)。
Next, the test
次に、テストプログラム生成部130は、期待結果情報327から特定された期待値の条件式に基づいて比較処理部分を生成し(ステップS207)、実行結果情報生成部分を生成する(ステップS208)。次に、テストプログラム生成部130は、用途情報351から特定された用途に基づいてIF定義部分を生成する(ステップS209)。次に、テストプログラム生成部130は、テスト対象部分、変数定義部分、比較処理部分、実行結果情報生成部分、IF定義部分を組み合わせてソース情報352を生成する(ステップS210)。そして、テストプログラム生成部130は、テストプログラムのソース情報352をコンパイルしてコンパイル情報を生成し(ステップS211)、コンパイル情報353を一時記憶し(ステップS212)、処理を終了する。
Next, the test
(テスト結果情報生成処理について)
次に、フローチャートを用いてFA制御テスト支援装置100がテスト結果情報を生成、表示する動作について説明する。FA制御テスト支援装置100は、図8に示すテストプログラムの編集画面300においてテストプログラム実行ボタン329が操作されると、図13に示すテスト結果情報生成処理の実行を開始する。先ず、テストプログラム関連情報管理部125は、実行結果情報取得部142がFAコントローラ210から出力された実行結果情報を取得したか否かを判定する(ステップS301)。テストプログラム関連情報管理部125は、実行結果情報を取得していない場合(ステップS301;N)、実行結果情報を取得するまでステップS301の処理を繰り返す。(Regarding test result information generation processing)
Next, the operation of the FA control
一方、テストプログラム関連情報管理部125は、実行結果情報を取得した場合(ステップS301;Y)、実行結果情報に基づくテスト結果情報をテストプログラム生成部130に生成させる。具体的には、先ず、テストプログラム生成部130は、実行結果情報から「TRUE」又は「FALSE」を示す戻り値を特定したか否かを判定する(ステップS302)。テストプログラム生成部130は、実行結果情報から「TRUE」又は「FALSE」を示す戻り値を特定した場合(ステップS302;Y)、「OK」又は「NG」を示すテスト結果情報を生成する(ステップS303)。
On the other hand, when the execution result information is acquired (step S301; Y), the test program related
一方、テストプログラム生成部130は、実行結果情報から「TRUE」又は「FALSE」を示す戻り値を特定していない場合(ステップS302;N)、すなわち、実行結果情報からエラーコードを示す戻り値を特定した場合、エラー原因情報記憶部172が記憶しているエラー原因情報を参照する。また、テストプログラム生成部130は、エラー原因情報からエラーコードに対応する詳細内容を特定し、「NG」及び実行エラーの詳細内容を特定可能なテスト結果情報を生成する(ステップS304)。テストプログラム生成部130がテスト結果情報を生成した後、テストプログラム関連情報管理部125は、テスト結果情報表示部160によって図8に示すテストプログラムの編集画面300にテスト結果情報を表示させ(ステップS305)、処理を終了する。
On the other hand, if the return value indicating "TRUE" or "FALSE" is not specified from the execution result information (step S302; N), the test
以上説明したように、本実施の形態に係るFA制御テスト支援システム1によれば、FA制御テスト支援装置100において、テスト対象部分情報指定部112は、プログラムのルーチンを構成する複数のコマンドのうちの一のコマンドを最小単位としてプログラムからテスト対象部分情報321を指定する。また、変数定義部分情報抽出部113は、プログラムからテスト対象部分において使用されている変数の変数定義部分情報324を抽出する。また、テストプログラム生成部130は、テスト対象部分情報321と変数定義部分情報324とに基づいてテストプログラムを生成する。また、テストプログラム出力部141は、テストプログラムをFA制御装置200に出力する。そして、FA制御装置200において、FAコントローラ210では、テストプログラム実行部212がテストプログラムを実行してFA機器220を制御可能である。
As described above, according to the FA control
このようにすることで、本実施の形態に係るFA制御テスト支援システム1は、プログラムのサブルーチンをテストの最小単位として当該プログラムから指定したテスト対象部分情報に基づいてテストプログラムを生成するFA制御テスト支援システムよりもテスト可能な項目が制限され難くなる。したがって、本実施の形態に係るFA制御テスト支援システム1は、プログラムにおけるユーザが確認したい任意の部分のテストを容易に生成し易くなる。このため、本実施の形態に係るFA制御テスト支援システム1は、テストプログラムを生成する作業量、作業時間といったコストを低減できるとともに、プログラムの問題を分析する時間を低減できる。この結果、本実施の形態に係るFA制御テスト支援システム1は、FA制御プログラミング言語で記述されたプログラムのテストの効率を向上できる。
By doing so, the FA control
また、本実施の形態に係るFA制御テスト支援システム1によれば、FA制御テスト支援装置100において、期待結果情報指定部122は、図7に示す期待結果情報327を指定する。また、テストプログラム生成部130は、図4に示すテスト対象部分情報321と図5に示す変数定義部分情報324と期待結果情報327とに基づいてテストプログラムを生成する。また、FA制御装置200において、FAコントローラ210では、実行結果情報出力部213がテストプログラムを実行したときのFA機器220の出力値と期待値とを比較した結果を特定可能な実行結果情報をFA制御テスト支援装置100に出力する。また、FA制御テスト支援装置100において、テスト結果情報生成部150は、実行結果情報に基づいてテスト結果情報を生成し、テスト結果情報表示部160は、テスト結果情報を表示する。
Further, according to the FA control
このようにすることで、本実施の形態に係るFA制御テスト支援システム1では、ユーザは、FA機器220の出力値と期待値との差分値についてユーザが許容できるか否かを自動的に判定した結果を確認できる。したがって、本実施の形態に係るFA制御テスト支援システム1は、実行結果情報に基づいてテスト結果情報を生成、表示しないFA制御テスト支援システムよりもプログラムの問題を分析する時間を低減できる。この結果、本実施の形態に係るFA制御テスト支援システム1は、プログラムのテストの効率を向上できる。
By doing so, in the FA control
ここで、上述した特許文献1~3のように、一般的なプログラミング言語で記述されたプログラムでは、サブルーチンを繰り返し実行した場合、通常であれば同一の入力値から同一の出力値が得られる。このため、一般的なプログラミング言語で記述されたプログラムのサブルーチンに基づくテストプログラムは、同一の入力値で繰り返し実行しても出力値の期待値が変化しない。しかしながら、FA制御プログラミング言語で記述されたプログラムに基づくテストプログラムは、繰り返し実行した場合、同一の入力値であってもFA機器220の出力値の期待値が変化することがある。
Here, in a program written in a general programming language, such as the above-mentioned
例えば、サーボモータ222を通電させ制御を開始する指令であるサーボON指令をサーボアンプ221に出力するコマンドを含むプログラムについて考える。このプログラムに基づいて生成するテストプログラムの実行結果情報は、サーボアンプ221の外部からサーボON又はサーボOFFの状態を示す信号値である出力値と期待値とを比較した結果を特定可能な情報とする。この場合、サーボON指令が出力される前後で出力値であるサーボON又はサーボOFFの状態を示す信号値が変化する。このため、テストプログラムは、例えば、予め定めた期間が経過する度に繰り返し実行されることで、出力値の期待値も変化する。例えば、当該テストプログラムでは、1回目の期待値がサーボOFF、2回目の期待値がサーボON、2回目の期待値がサーボON、…である可能性がある。
For example, consider a program including a command for outputting to the servo amplifier 221 a servo ON command, which is a command for energizing the
また、例えば、サーボモータ222を駆動して図示しない可動部材を3cmずつ移動させるコマンドを含むプログラムについて考える。このプログラムに基づいて生成するテストプログラムの実行結果情報は、基準位置からの移動距離の累積値である出力値と期待値とを比較した結果を特定可能な情報とする。この場合、テストプログラムを実行する度に移動距離の累積値が増加する。このため、テストプログラムは、繰り返し実行されることで、出力値の期待値も変化する。具体的には、当該テストプログラムでは、1回目の期待値が3cm、2回目の期待値が6cm、3回目の期待値が9cm、…である。
Also, for example, consider a program including a command to drive the
しかしながら、上述した特許文献1~3のように、プログラムのサブルーチンに基づくテストプログラムは、繰り返し実行することで変化する可能性がある出力値と期待値とを比較することを想定して生成されていないため、正確な実行結果情報が得られない問題がある。
However, as in
これに対して、本実施の形態に係るFA制御テスト支援システム1によれば、テストプログラムを生成するときに使用する期待結果情報327は、テストプログラムを繰り返し実行したときに変化する可能性があるFA機器220の出力値に対する期待値を実行回数毎に特定可能な情報である。また、生成したテストプログラムの実行結果情報は、テストプログラムを繰り返し実行したときのFA機器220の出力値と期待値とを実行回数毎に比較した結果を特定可能な情報である。
このようにすることで、本実施の形態に係るFA制御テスト支援システム1は、テストプログラムを繰り返し実行しても実行回数毎に変化する出力値と期待値とを比較することができ、正確な実行結果情報を得ることができる。On the other hand, according to the FA control
By doing so, the FA control
また、本実施の形態に係るFA制御テスト支援システム1によれば、テストプログラム生成部130は、期待結果情報から特定された期待値の条件式に基づく期待値とFA機器220からの出力値とを比較する比較処理部分を生成する。
このようにすることで、本実施の形態に係るFA制御テスト支援システム1は、比較処理部分を含むテストプログラムを実行することにより、元のプログラムにFA機器220の出力値を得るコマンドがなくても当該出力値と期待値とを比較できる。Further, according to the FA control
By doing so, the FA control
例えば、上述したサーボON指令を出力するコマンドを含むプログラムであれば、サーボON又はサーボOFFの状態を示す信号値を取得するコマンドが含まれていない場合がある。また、例えば、可動部材を3cmずつ移動させるコマンドを含むプログラムであれば、移動距離の累積値を取得するコマンドが含まれていない場合がある。これらの場合であっても、本実施の形態に係るFA制御テスト支援システム1では、上述した信号値、累積値といった出力値を示す変数を変数定義部分に追加した変数定義部分情報324と、当該出力値の期待値に基づく期待結果情報327とを使用すれば、生成されたテストプログラムには、比較処理部分に当該出力値を取得して期待値と比較するコマンドが含まれる。この結果、本実施の形態に係るFA制御テスト支援システム1では、元のプログラムに出力値を取得するコマンドがなくても出力値と期待値とを比較できる。
For example, a program that includes a command for outputting the above-described servo-ON command may not include a command for obtaining a signal value indicating a servo-ON or servo-OFF state. Further, for example, a program that includes a command to move the movable member by 3 cm may not include a command to acquire the cumulative value of the movement distance. Even in these cases, in the FA control
また、本実施の形態に係るFA制御テスト支援システム1によれば、FA制御テスト支援装置100において、エクスポート部126は、テストプログラム関連情報350をテストプログラム関連情報記憶部171に記憶させる。また、インポート部127は、テストプログラム関連情報記憶部171が記憶しているテストプログラム関連情報350を取得する。
このようにすることで、本実施の形態に係るFA制御テスト支援システム1では、ユーザは、テストプログラム関連情報記憶部171が記憶しているテストプログラム関連情報350を繰り返し利用できる。この結果、本実施の形態に係るFA制御テスト支援システム1は、テストプログラム関連情報350を繰り返し作成しなくてもよいので、テストプログラム関連情報をエクスポート及びインポートしないFA制御テスト支援システムよりもテストプログラム関連情報350が利用可能となるまでの作業量、作業時間といったコストを低減できるとともに、プログラムの問題を分析する時間を低減できる。Further, according to the FA control
By doing so, in the FA control
また、このようにすることで、本実施の形態に係るFA制御テスト支援システム1は、テストプログラムを作成する業務とテストを実行する業務とを分離できるので、例えば、テストの担当者の業務レベルに応じて仕事の割り振りをするといったことが可能となる。
In addition, by doing so, the FA control
また、本実施の形態に係るFA制御テスト支援システム1によれば、FA制御テスト支援装置100において、用途情報指定部124は、用途情報351を指定し、テストプログラム生成部130は、テスト対象部分情報321と変数定義部分情報324と用途情報351とに基づいてテストプログラムを生成する。
このようにすることで、本実施の形態に係るFA制御テスト支援システム1は、用途に合わせたテストプログラムを生成できる。この結果、本実施の形態に係るFA制御テスト支援システム1は、用途情報351に基づいてテストプログラムを生成しないFA制御テスト支援システムよりも用途毎の定型のテスト項目のテストプログラムを作成する時間を短縮できる。Further, according to the FA control
By doing so, the FA control
また、本実施の形態に係るFA制御テスト支援システム1によれば、FA制御テスト支援装置100において、プログラミング言語情報指定部123は、プログラミング言語情報326を指定し、テストプログラム生成部130は、テスト対象部分情報321と変数定義部分情報324とプログラミング言語情報326とに基づいてテストプログラムを生成する。
このようにすることで、本実施の形態に係るFA制御テスト支援システム1は、ユーザが選択したFA制御プログラミング言語で記述したテストプログラムを生成できる。この結果、本実施の形態に係るFA制御テスト支援システム1は、例えば、テスト対象部分を抽出した元のプログラムを記述したFA制御プログラミング言語でテストプログラムを生成したり、テストの内容を適切に記述可能なFA制御プログラミング言語でテストプログラムを生成したりすることができる。Further, according to the FA control
By doing so, the FA control
また、本実施の形態に係るFA制御テスト支援システム1によれば、テストプログラム生成部130は、テスト対象部分、変数定義部分、比較処理部分、実行結果情報生成部分、IF定義部分を組み合わせてテストプログラムのソースを生成する。
このようにすることで、本実施の形態に係るFA制御テスト支援システム1は、これらの部分を組み合わせてテストプログラムのソースを生成しないFA制御テスト支援システムよりもソースからテストに不要な部分を低減でき、テストプログラムの情報量を低減できる。この結果、テストプログラム関連情報管理部125は、管理するテストプログラム関連情報350の情報量を低減でき、一時記憶量、演算の負荷といったコストを低減でき、管理性が向上する。また、テストプログラム関連情報記憶部171では、記憶するテストプログラム関連情報350の情報量を低減でき、記憶量を低減できる。Further, according to the FA control
By doing so, the FA control
実施の形態1に係るFA制御テスト支援システム1は、FA制御テスト支援装置100、FA制御装置200を備えている。しかしながら、FA制御テスト支援システム1の構成については、FA制御テスト支援装置100がFA制御装置200を制御するプログラムのテストを支援できる限りにおいてこれに限定されない。例えば、テストプログラムは、実際のFA制御装置200ではなく、仮想のFA制御装置で実行されてもよい。以下、図14、図15を参照して、実施の形態2に係るFA制御テスト支援システム1について、詳細に説明する。なお、実施の形態2では、実施の形態1と異なる構成について説明し、実施の形態1と同一の構成については冗長であるため説明を省略する。
The FA control
(FA制御テスト支援システム1について)
図14に示すように、本開示の実施の形態2に係るFA制御テスト支援システム1は、FA制御装置200に替えてFA制御装置200のシミュレータであるFA制御装置シミュレータ400を備える。(Regarding FA control test support system 1)
As shown in FIG. 14 , the FA control
(FA制御装置シミュレータ400について)
図15に示すように、FA制御装置シミュレータ400は、例えば、FAコントローラ210のシミュレータであるFAコントローラシミュレータ410、FA機器220のシミュレータであるFA機器シミュレータ420を含む。FAコントローラシミュレータ410は、テストプログラム取得部211、テストプログラム実行部212、実行結果情報出力部213を含む。また、FA機器シミュレータ420は、例えば、サーボアンプ221のシミュレータであるサーボアンプシミュレータ421、サーボモータ222のシミュレータであるサーボモータシミュレータ422を含む。(Regarding the FA control device simulator 400)
As shown in FIG. 15 , the
(FA制御装置シミュレータ400のハードウェア構成について)
なお、本実施の形態に係るFA制御装置シミュレータ400のハードウェア構成については、「FA制御装置200」を「FA制御装置シミュレータ400」、「FAコントローラ210」を「FAコントローラシミュレータ410」とすれば実施の形態1と同様の説明となる。よって、本実施の形態では、冗長な説明を低減するため、詳細な説明を省略する。(Hardware configuration of FA control device simulator 400)
Regarding the hardware configuration of FA
(FA制御テスト支援装置100の機能構成の詳細について)
本実施の形態では、テストプログラム出力部141は、テストプログラムのコンパイル情報353をFAコントローラシミュレータ410に出力する。また、実行結果情報取得部142はFAコントローラシミュレータ410から出力されたテストプログラムの実行結果情報を取得する。
なお、本実施の形態に係るFA制御テスト支援装置100のその他の機能構成の詳細については、実施の形態1と同様の説明となる。よって、本実施の形態では、冗長な説明を低減するため、詳細な説明を省略する。(About the details of the functional configuration of the FA control test support device 100)
In this embodiment, the test
Details of other functional configurations of the FA control
以上説明したように、本実施の形態に係るFA制御テスト支援システム1によれば、FA制御テスト支援装置100において、テストプログラム出力部141は、テストプログラムをFA制御装置シミュレータ400に出力する。そして、FA制御装置シミュレータ400において、FAコントローラシミュレータ410では、テストプログラム実行部212がテストプログラムを実行してFA機器220を制御可能である。
As described above, according to FA control
また、FAコントローラシミュレータ410では、実行結果情報出力部213がテストプログラムを実行したときのFA機器220の出力値と期待値とを比較した結果を特定可能な実行結果情報をFA制御テスト支援装置100に出力する。そして、FA制御テスト支援装置100において、テスト結果情報生成部150は、実行結果情報に基づいてテスト結果情報を生成し、テスト結果情報表示部160は、テスト結果情報を表示する。
Further, in the
このようにすることで、本実施の形態に係るFA制御テスト支援システム1は、実施の形態に係るFA制御装置200に替えてFA制御装置シミュレータ400がテストプログラムを取得、実行して実行結果情報をFA制御テスト支援装置100に出力することができる。その他、本実施の形態に係るFA制御テスト支援システム1は、上記の実施の形態1に係るFA制御テスト支援システム1と同様の作用効果を奏する。
By doing so, in the FA control
[変更例]
なお、上記の実施の形態2では、FA制御装置シミュレータ400をFA制御テスト支援装置100とは別体の装置としたが、FA制御装置シミュレータ400をFA制御テスト支援装置100と一体の装置としてもよい。この場合、例えば、FA制御テスト支援装置100は、FA制御装置シミュレータ400の機能をプログラムによって実現してもよい。すなわち、FA制御テスト支援装置100は、制御部51が主記憶部52、外部記憶部53、操作部54、表示部55及び送受信部56を資源として用いることによって、FAコントローラシミュレータ410、FA機器シミュレータ420の機能を実現してもよい。[Change example]
In the above second embodiment, the FA
なお、上記の実施の形態1、2のように、ユーザがテストプログラムを記述するFA制御プログラミング言語を選択可能であることが好ましいが、ユーザがテストプログラムを記述するFA制御プログラミング言語を選択可能でなくてもよい。例えば、テストプログラムを記述するFA制御プログラミング言語が予め定められていてもよい。 As in the first and second embodiments, it is preferable that the user can select the FA control programming language for writing the test program. It doesn't have to be. For example, an FA control programming language for writing test programs may be predetermined.
なお、上記の実施の形態1、2のように、ユーザがテストプログラムの用途を選択可能であることが好ましいが、ユーザがテストプログラムの用途を選択可能でなくてもよい。この場合、例えば、テストプログラム生成部130がテスト対象部分情報321、変数定義部分情報324、期待結果情報327から推測される用途に基づいてテストプログラムを生成してもよい。また、例えば、テストプログラム生成部130が用途を特定せずに予め定めたテスト形式に基づいてテストプログラムを生成してもよい。
Although it is preferable that the user can select the purpose of the test program as in the first and second embodiments, the user may not be able to select the purpose of the test program. In this case, for example, the test
なお、上記の実施の形態1、2のように、テスト結果情報生成部150が実行結果情報に基づいてテスト結果情報を生成し、テスト結果情報表示部160がテスト結果情報を表示することが好ましいが、テスト結果情報を生成、表示しなくてもよい。この場合、ユーザがFAコントローラ210、FAコントローラシミュレータ410が出力した実行結果情報を確認したり、FA機器220、FA機器シミュレータ420が制御された結果を確認したりしてテストの結果を分析する必要がある。
It is preferable that the test result
なお、上記の実施の形態1、2のように、期待結果情報327がテストプログラムを繰り返し実行したときに変化する可能性があるFA機器220、FA機器シミュレータ420の出力値に対する期待値を実行回数毎に特定可能な情報であることが好ましいが、これに限定されない。例えば、FA機器220、FA機器シミュレータ420の出力値がテストプログラムを繰り返し実行しても変化しない場合、期待結果情報327が当該出力値に対する一の期待値を特定可能な情報であってもよい。具体的には、期待結果情報327が期待値の条件式ではなく、一の期待値そのものであってもよい。
As in the first and second embodiments, the expected
なお、上記の実施の形態1、2のように、テスト結果情報生成部150がエラー原因情報を参照してエラーコードに対応する詳細内容を特定可能であることが好ましいが、テスト結果情報生成部150がエラーコードに対応する詳細内容を特定しなくてもよい。この場合、ユーザがテスト結果情報、FA機器220、FA機器シミュレータ420の制御結果を分析して詳細情報に相当するエラー原因を特定する必要がある。
It should be noted that it is preferable that the test result
なお、上記の実施の形態1、2では、テストプログラム生成部130は、用途情報351から特定された用途に基づいてIF定義部分を生成したが、用途に基づいて生成するテストプログラムの部分についてはこれに限定されない。例えば、テストプログラム生成部130は、用途情報351から特定された用途と期待結果情報327から特定された期待値の条件式とに基づいて比較処理部分を生成してもよい。また、例えば、テストプログラム生成部130は、用途情報351から特定された用途に基づいて実行結果情報生成部分を生成してもよい。
In the first and second embodiments described above, the test
なお、制御部51、主記憶部52、外部記憶部53、操作部54、表示部55、送受信部56、内部バス50等を備える各装置100、200、400が処理を行う中心となる部分は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、前記の動作を実行するためのコンピュータプログラムとしてのFA制御テスト支援プログラムを、コンピュータが読み取り可能な記録媒体、例えば、フラッシュメモリ、DVD-ROM(Read-Only Memory)等に格納して配布し、当該FA制御テスト支援プログラムをインストールすることにより、上記の処理を実行するコンピュータを構成してもよい。また、LAN(Local Area Network)、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該FA制御テスト支援プログラムを格納しておき、通常のコンピュータシステムがダウンロードすることでコンピュータを構成してもよい。
Note that the central part of the processing performed by each
また、各装置100、200、400の機能は、OS(オペレーティングシステム)とアプリケーションプログラムの分担、又はOSとアプリケーションプログラムとの協働により実現する場合には、アプリケーションプログラム部分のみを記録媒体又は記憶装置に格納してもよい。
The functions of the
また、搬送波にFA制御テスト支援プログラムを重畳し、通信ネットワークを介して提供することも可能である。例えば、通信ネットワーク上の掲示板(BBS、Bulletin Board System)にFA制御テスト支援プログラムを掲示し、ネットワークを介してFA制御テスト支援プログラムを提供してもよい。そして、FA制御テスト支援プログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行してもよい。 It is also possible to superimpose an FA control test support program on a carrier wave and provide it via a communication network. For example, the FA control test support program may be posted on a bulletin board (BBS, Bulletin Board System) on the communication network, and the FA control test support program may be provided via the network. Then, the FA control test support program may be activated and executed in the same manner as other application programs under the control of the OS to execute the above processing.
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。 This disclosure is capable of various embodiments and modifications without departing from the broader spirit and scope of this disclosure. In addition, the embodiments described above are for explaining the present disclosure, and do not limit the scope of the present disclosure. In other words, the scope of the present disclosure is indicated by the claims rather than the embodiments. Various modifications made within the scope of the claims and within the scope of equivalent disclosure are considered to be within the scope of the present disclosure.
1…FA制御テスト支援システム、50…内部バス、51…制御部、52…主記憶部、53…外部記憶部、54…操作部、55…表示部、56…送受信部、59…制御プログラム、100…FA制御テスト支援装置、110…プログラム編集部、111…プログラム編集画面表示部、112…テスト対象部分情報指定部、113…変数定義部分情報抽出部、120…テストプログラム編集部、121…テストプログラム編集画面表示部、122…期待結果情報指定部、123…プログラミング言語情報指定部、124…用途情報指定部、125…テストプログラム関連情報管理部、126…エクスポート部、127…インポート部、130…テストプログラム生成部、140…テストプログラム通信部、141…テストプログラム出力部、142…実行結果情報取得部、150…テスト結果情報生成部、160…テスト結果情報表示部、170…記憶部、171…テストプログラム関連情報記憶部、172…エラー原因情報記憶部、200…FA制御装置、210…FAコントローラ、220…FA機器、211…テストプログラム取得部、212…テストプログラム実行部、213…実行結果情報出力部、221…サーボアンプ、222…サーボモータ、300…編集画面、310…情報選択部、311…テスト対象部分選択タブ、312…ローカル変数選択タブ、313…グローバル変数選択タブ、314…プログラミング言語選択タブ、315…期待値選択タブ、316…用途選択タブ、317…テストプログラム一覧選択タブ、320…情報表示部、321…テスト対象部分情報、322…テストプログラム名称情報、323…自動生成ボタン、324…変数定義部分情報、325…変数定義チェックボタン、326…プログラミング言語情報、327…期待結果情報、328…テストプログラム一覧情報、329…テストプログラム実行ボタン、350…テストプログラム関連情報、351…用途情報、352…ソース情報、353…コンパイル情報、400…FA制御装置シミュレータ、410…FAコントローラシミュレータ、420…FA機器シミュレータ、421…サーボアンプシミュレータ、422…サーボモータシミュレータ。
Reference Signs List 1 FA control test support system, 50 internal bus, 51 control unit, 52 main storage unit, 53 external storage unit, 54 operation unit, 55 display unit, 56 transmission/reception unit, 59 control program, 100 --- FA control test support device, 110 --- Program editing unit, 111 --- Program editing screen display unit, 112 --- Test target partial information designating unit, 113 --- Variable definition partial information extracting unit, 120 --- Test program editing unit, 121 --- Test Program edit screen display unit 122 Expected result information designation unit 123 Programming language information designation unit 124 Application information designation unit 125 Test program related information management unit 126 Export unit 127 Import unit 130 Test program generation unit 140 Test program communication unit 141 Test program output unit 142 Execution result information acquisition unit 150 Test result information generation unit 160 Test result information display unit 170 Storage unit 171 Test program related information storage unit 172 Error cause information storage unit 200 FA control device 210 FA controller 220 FA equipment 211 Test program acquisition unit 212 Test program execution unit 213 Execution result information Output section 221 Servo amplifier 222 Servo motor 300 Edit screen 310 Information selection section 311 Test target portion selection tab 312 Local variable selection tab 313 Global variable selection tab 314 Programming language Selection tab 315 Expected value selection tab 316 Application selection tab 317 Test program list selection tab 320 Information display section 321 Test target portion information 322 Test program name information 323 Automatic generation button 324... Variable definition
Claims (5)
FA制御プログラミング言語で記述されたプログラムのルーチンを構成する複数のコマンドのうちの一のコマンドを最小単位として、前記プログラムからテストの対象となる部分を示す情報であるテスト対象部分情報を指定するテスト対象部分情報指定部、
前記プログラムから前記テストの対象となる部分において使用されている変数を定義している部分を示す情報である変数定義部分情報を抽出する変数定義部分情報抽出部、
前記プログラムを実行することで被制御部を制御するFA制御装置の制御部がテストプログラムを実行したときにユーザが期待する結果を示す情報である期待結果情報を指定する期待結果情報指定部、
前記テスト対象部分情報と前記変数定義部分情報と前記期待結果情報とに基づいて前記テストプログラムを生成するテストプログラム生成部、
前記制御部が前記テストプログラムを実行したときの実行結果を示す情報である実行結果情報に基づいて前記テストの結果を示す情報であるテスト結果情報を生成するテスト結果情報生成部、
前記テスト結果情報を表示するテスト結果情報表示部、
として機能させ、
前記期待結果情報は、前記テストプログラムを繰り返し実行したときに変化する可能性がある前記被制御部の出力値に対する前記ユーザの期待値を実行回数毎に特定可能な情報であり、
前記実行結果情報は、前記テストプログラムを繰り返し実行したときの前記出力値と前記期待値とを実行回数毎に比較した結果を特定可能な情報である、
FA制御テスト支援プログラム。 the computer,
A test that designates test target portion information, which is information indicating a portion to be tested from the program, using one command among a plurality of commands constituting a routine of a program written in the FA control programming language as a minimum unit. target portion information specification unit,
A variable definition partial information extracting unit for extracting variable definition partial information, which is information indicating a portion defining variables used in a portion to be tested, from the program;
An expected result information specifying unit that specifies expected result information that is information indicating the result expected by the user when the control unit of the FA control device that controls the controlled unit by executing the program executes the test program,
a test program generation unit that generates the test program based on the test target portion information, the variable definition portion information, and the expected result information;
a test result information generating unit that generates test result information that is information indicating the result of the test based on execution result information that is information indicating the execution result when the control unit executes the test program;
a test result information display unit for displaying the test result information;
function as
The expected result information is information that can specify the user's expected value for the output value of the controlled unit that may change when the test program is repeatedly executed, for each execution number,
The execution result information is information that can specify the result of comparing the output value and the expected value when repeatedly executing the test program for each execution number.
FA control test support program.
少なくとも前記テスト対象部分情報と前記変数定義部分情報と前記テストプログラムとを含む情報であって前記テストプログラムに関連する情報であるテストプログラム関連情報を記憶部に記憶させるエクスポート部、
前記記憶部が記憶している前記テストプログラム関連情報を取得するインポート部、
として機能させる請求項1に記載のFA制御テスト支援プログラム。 said computer,
an export unit for storing in a storage unit test program-related information, which is information including at least the test target portion information, the variable definition portion information, and the test program and is related to the test program;
an import unit that acquires the test program-related information stored in the storage unit;
The FA control test support program according to claim 1, which functions as a FA control test support program.
前記プログラムのルーチンを構成する複数のコマンドのうちの一のコマンドを最小単位として、前記プログラムから前記テストの対象となる部分を示す情報であるテスト対象部分情報を指定するテスト対象部分情報指定部と、
前記プログラムから前記テストの対象となる部分において使用されている変数を定義している部分を示す情報である変数定義部分情報を抽出する変数定義部分情報抽出部と、
前記プログラムを実行することで被制御部を制御するFA制御装置の制御部がテストプログラムを実行したときにユーザが期待する結果を示す情報である期待結果情報を指定する期待結果情報指定部と、
前記テスト対象部分情報と前記変数定義部分情報と前記期待結果情報とに基づいて前記テストプログラムを生成するテストプログラム生成部と、
前記制御部が前記テストプログラムを実行したときの実行結果を示す情報である実行結果情報に基づいて前記テストの結果を示す情報であるテスト結果情報を生成するテスト結果情報生成部と、
前記テスト結果情報を表示するテスト結果情報表示部と、
を備え、
前記期待結果情報は、前記テストプログラムを繰り返し実行したときに変化する可能性がある前記被制御部の出力値に対する前記ユーザの期待値を実行回数毎に特定可能な情報であり、
前記実行結果情報は、前記テストプログラムを繰り返し実行したときの前記出力値と前記期待値とを実行回数毎に比較した結果を特定可能な情報である、
FA制御テスト支援装置。 An FA control test support device that supports testing of a program written in an FA control programming language,
a test target portion information specifying unit that specifies test target portion information, which is information indicating the test target portion from the program, using one command among a plurality of commands constituting a routine of the program as a minimum unit; ,
a variable definition partial information extraction unit for extracting variable definition partial information, which is information indicating a portion defining variables used in the test target portion, from the program;
An expected result information specifying unit that specifies expected result information that is information indicating the result expected by the user when the control unit of the FA control device that controls the controlled unit by executing the program executes the test program;
a test program generation unit that generates the test program based on the test target portion information, the variable definition portion information, and the expected result information;
a test result information generation unit that generates test result information, which is information indicating the result of the test, based on execution result information, which is information indicating the result of execution when the control unit executes the test program;
a test result information display unit for displaying the test result information;
with
The expected result information is information that can specify the user's expected value for the output value of the controlled unit that may change when the test program is repeatedly executed, for each execution number,
The execution result information is information that can specify the result of comparing the output value and the expected value when repeatedly executing the test program for each execution number.
FA control test support device.
前記プログラムのルーチンを構成する複数のコマンドのうちの一のコマンドを最小単位として、コンピュータが前記プログラムから前記テストの対象となる部分を示す情報であるテスト対象部分情報を指定するテスト対象部分情報指定ステップと、
前記コンピュータが前記プログラムから前記テストの対象となる部分において使用されている変数を定義している部分を示す情報である変数定義部分情報を抽出する変数定義部分情報抽出ステップと、
前記プログラムを実行することで被制御部を制御するFA制御装置の制御部がテストプログラムを実行したときにユーザが期待する結果を示す情報である期待結果情報を前記コンピュータが指定する期待結果情報指定ステップと、
前記コンピュータが前記テスト対象部分情報と前記変数定義部分情報と前記期待結果情報とに基づいて前記テストプログラムを生成するテストプログラム生成ステップと、
前記制御部が前記テストプログラムを実行したときの実行結果を示す情報である実行結果情報に基づいて前記テストの結果を示す情報であるテスト結果情報を前記コンピュータが生成するテスト結果情報生成ステップと、
前記コンピュータが前記テスト結果情報を表示するテスト結果情報表示ステップと、
を含み、
前記期待結果情報は、前記テストプログラムを繰り返し実行したときに変化する可能性がある前記被制御部の出力値に対する前記ユーザの期待値を実行回数毎に特定可能な情報であり、
前記実行結果情報は、前記テストプログラムを繰り返し実行したときの前記出力値と前記期待値とを実行回数毎に比較した結果を特定可能な情報である、
FA制御テスト支援方法。 An FA control test support method for supporting a test of a program written in an FA control programming language,
Designation of test target portion information in which the computer designates test target portion information, which is information indicating the test target portion from the program, using one command among a plurality of commands constituting a routine of the program as a minimum unit. a step;
a variable definition partial information extraction step in which the computer extracts variable definition partial information, which is information indicating a portion defining variables used in the test target portion, from the program;
Expected result information designation by which the computer designates expected result information indicating the result expected by the user when the control unit of the FA control device that controls the controlled unit by executing the program executes the test program. a step;
a test program generation step in which the computer generates the test program based on the test target portion information, the variable definition portion information, and the expected result information;
a test result information generation step in which the computer generates test result information, which is information indicating a result of the test, based on execution result information, which is information indicating an execution result when the control unit executes the test program;
a test result information display step in which the computer displays the test result information;
including
The expected result information is information that can specify the user's expected value for the output value of the controlled unit that may change when the test program is repeatedly executed, for each execution number,
The execution result information is information that can specify the result of comparing the output value and the expected value when repeatedly executing the test program for each execution number.
FA control test support method.
前記FA制御装置は、
前記プログラムを実行することで被制御部を制御する制御部、
を含み、
前記FA制御テスト支援装置は、
前記プログラムのルーチンを構成する複数のコマンドのうちの一のコマンドを最小単位として、前記プログラムから前記テストの対象となる部分を示す情報であるテスト対象部分情報を指定するテスト対象部分情報指定部と、
前記プログラムから前記テストの対象となる部分において使用されている変数を定義している部分を示す情報である変数定義部分情報を抽出する変数定義部分情報抽出部と、
前記制御部がテストプログラムを実行したときにユーザが期待する結果を示す情報である期待結果情報を指定する期待結果情報指定部と、
前記テスト対象部分情報と前記変数定義部分情報と前記期待結果情報とに基づいて前記テストプログラムを生成するテストプログラム生成部と、
前記テストプログラムを前記FA制御装置に出力するテストプログラム出力部と、
を含み、
前記制御部は、前記テストプログラムを実行して前記被制御部を制御可能であり、
前記FA制御テスト支援装置は、
前記制御部が前記テストプログラムを実行したときの実行結果を示す情報である実行結果情報に基づいて前記テストの結果を示す情報であるテスト結果情報を生成するテスト結果情報生成部と、
前記テスト結果情報を表示するテスト結果情報表示部と、
を更に含み、
前記期待結果情報は、前記テストプログラムを繰り返し実行したときに変化する可能性がある前記被制御部の出力値に対する前記ユーザの期待値を実行回数毎に特定可能な情報であり、
前記実行結果情報は、前記テストプログラムを繰り返し実行したときの前記出力値と前記期待値とを実行回数毎に比較した結果を特定可能な情報である、
FA制御テスト支援システム。 An FA control test support system comprising an FA control device controlled by a program written in an FA control programming language and an FA control test support device supporting testing of the program,
The FA control device
a control unit that controls a controlled unit by executing the program;
including
The FA control test support device is
a test target portion information specifying unit that specifies test target portion information, which is information indicating the test target portion from the program, using one command among a plurality of commands constituting a routine of the program as a minimum unit; ,
a variable definition partial information extraction unit for extracting variable definition partial information, which is information indicating a portion defining variables used in the test target portion, from the program;
an expected result information specifying unit that specifies expected result information that is information indicating a result expected by a user when the control unit executes the test program;
a test program generation unit that generates the test program based on the test target portion information, the variable definition portion information, and the expected result information;
a test program output unit that outputs the test program to the FA control device;
including
The control unit is capable of controlling the controlled unit by executing the test program,
The FA control test support device is
a test result information generation unit that generates test result information, which is information indicating the result of the test, based on execution result information, which is information indicating the result of execution when the control unit executes the test program;
a test result information display unit for displaying the test result information;
further comprising
The expected result information is information that can specify the user's expected value for the output value of the controlled unit that may change when the test program is repeatedly executed, for each execution number,
The execution result information is information that can specify the result of comparing the output value and the expected value when repeatedly executing the test program for each execution number.
FA control test support system.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/047688 WO2023119519A1 (en) | 2021-12-22 | 2021-12-22 | Fa control test assistance program, fa control test assistance device, fa control test assistance method, and fa control test assistance system |
Publications (3)
Publication Number | Publication Date |
---|---|
JP7208441B1 true JP7208441B1 (en) | 2023-01-18 |
JPWO2023119519A1 JPWO2023119519A1 (en) | 2023-06-29 |
JPWO2023119519A5 JPWO2023119519A5 (en) | 2023-11-21 |
Family
ID=84939288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022529932A Active JP7208441B1 (en) | 2021-12-22 | 2021-12-22 | FA control test support program, FA control test support device, FA control test support method and FA control test support system |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP7208441B1 (en) |
CN (1) | CN117642727A (en) |
WO (1) | WO2023119519A1 (en) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05165677A (en) * | 1991-12-16 | 1993-07-02 | Mitsubishi Electric Corp | Test program generating device |
JPH0668190A (en) * | 1992-08-24 | 1994-03-11 | Mitsubishi Electric Corp | Function test program generation system |
JPH08110754A (en) * | 1994-10-11 | 1996-04-30 | Arefu Logic:Kk | Algorithm education supporting system |
JP2001022412A (en) * | 1999-07-09 | 2001-01-26 | Toshiba Corp | Programming device, programmable controller, and computer readable recording medium storing program |
JP2002148317A (en) * | 2000-11-07 | 2002-05-22 | Yokogawa Electric Corp | Test program generation device and test program generation method |
JP2005043931A (en) * | 2003-07-22 | 2005-02-17 | Hitachi Ltd | System for automatically generating program and method for automatically generating program |
JP2005044316A (en) * | 2003-07-25 | 2005-02-17 | Omron Corp | Simulation support tool, verification system for ladder program, and program product |
JP2007249785A (en) * | 2006-03-17 | 2007-09-27 | Fujitsu Ltd | Compile program, production method for virtual database remote access program and remote access method for virtual database |
JP2011113277A (en) * | 2009-11-26 | 2011-06-09 | Mitsubishi Electric Corp | Apparatus, method and program for testing program |
JP2015043140A (en) * | 2013-08-26 | 2015-03-05 | 三菱電機株式会社 | Source code generation device |
JP2017166967A (en) * | 2016-03-16 | 2017-09-21 | 株式会社ジェイテクト | Inspection system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003140714A (en) * | 2001-11-05 | 2003-05-16 | Mitsubishi Heavy Ind Ltd | Graphic language program preparing program and its device |
WO2005026962A2 (en) * | 2003-09-15 | 2005-03-24 | Selex Sensors And Airborne Systems Limited | Improvements in or relating to test systems or programs |
JP2005310056A (en) * | 2004-04-26 | 2005-11-04 | Mitsubishi Electric Corp | Program execution control system |
JP2012103791A (en) * | 2010-11-08 | 2012-05-31 | Mitsubishi Electric Corp | Program testing device, program testing method and program testing program |
KR101627488B1 (en) * | 2014-05-08 | 2016-06-03 | 미쓰비시덴키 가부시키가이샤 | Engineering tool, program editing device, and program editing system |
-
2021
- 2021-12-22 CN CN202180100104.8A patent/CN117642727A/en active Pending
- 2021-12-22 WO PCT/JP2021/047688 patent/WO2023119519A1/en active Application Filing
- 2021-12-22 JP JP2022529932A patent/JP7208441B1/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05165677A (en) * | 1991-12-16 | 1993-07-02 | Mitsubishi Electric Corp | Test program generating device |
JPH0668190A (en) * | 1992-08-24 | 1994-03-11 | Mitsubishi Electric Corp | Function test program generation system |
JPH08110754A (en) * | 1994-10-11 | 1996-04-30 | Arefu Logic:Kk | Algorithm education supporting system |
JP2001022412A (en) * | 1999-07-09 | 2001-01-26 | Toshiba Corp | Programming device, programmable controller, and computer readable recording medium storing program |
JP2002148317A (en) * | 2000-11-07 | 2002-05-22 | Yokogawa Electric Corp | Test program generation device and test program generation method |
JP2005043931A (en) * | 2003-07-22 | 2005-02-17 | Hitachi Ltd | System for automatically generating program and method for automatically generating program |
JP2005044316A (en) * | 2003-07-25 | 2005-02-17 | Omron Corp | Simulation support tool, verification system for ladder program, and program product |
JP2007249785A (en) * | 2006-03-17 | 2007-09-27 | Fujitsu Ltd | Compile program, production method for virtual database remote access program and remote access method for virtual database |
JP2011113277A (en) * | 2009-11-26 | 2011-06-09 | Mitsubishi Electric Corp | Apparatus, method and program for testing program |
JP2015043140A (en) * | 2013-08-26 | 2015-03-05 | 三菱電機株式会社 | Source code generation device |
JP2017166967A (en) * | 2016-03-16 | 2017-09-21 | 株式会社ジェイテクト | Inspection system |
Also Published As
Publication number | Publication date |
---|---|
WO2023119519A1 (en) | 2023-06-29 |
CN117642727A (en) | 2024-03-01 |
JPWO2023119519A1 (en) | 2023-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4454198B2 (en) | Automatic test equipment with easy programming | |
US10146672B2 (en) | Method and system for automated user interface (UI) testing through model driven techniques | |
US8788239B2 (en) | Methods, apparatus and articles of manufacture to test batch configurations | |
US9176490B2 (en) | Control program generation device, control program generation program, and control program generation method | |
US20080276221A1 (en) | Method and apparatus for relations planning and validation | |
CN108459792B (en) | Flow switching method and device and computer equipment | |
CN109324799A (en) | A kind of code compiling method, computer installation and computer readable storage medium | |
JP6950665B2 (en) | Engineering equipment, control methods and programs for engineering equipment | |
TW201642058A (en) | Program generation device, program generation method, and program generation program | |
KR101350798B1 (en) | Robot system controlled on the basis of opros platform and control method thereof | |
CN113986741A (en) | Component debugging method and device and computer equipment | |
CN110554861B (en) | Software development environment with compile and read-evaluate-print-loop operations | |
JP7208441B1 (en) | FA control test support program, FA control test support device, FA control test support method and FA control test support system | |
CN110806891B (en) | Method and device for generating software version of embedded device | |
JP4735854B2 (en) | PLC program development support device | |
JP2005242682A (en) | Graphical programming apparatus and programmable display unit | |
CN108304184B (en) | Compiling method and device | |
JP2016224559A (en) | Program creation support device, control method and program | |
KR102258103B1 (en) | Method for generating control program automatically and computing device for performing the method | |
JP4767309B2 (en) | Information processing apparatus, information processing method, and computer program | |
EP3832410A1 (en) | Information processing device and display program | |
US20230134007A1 (en) | Support device, non-transitory computer-readable storage medium, and support method | |
US20180267680A1 (en) | Screen creation apparatus, simulation apparatus and recording medium | |
JP2008003841A (en) | Build processing method, device and program | |
KR101767723B1 (en) | Method for verifying plc instruction using ld program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220523 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220523 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20220523 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220621 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220808 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20221011 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221129 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20221129 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20221212 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20221213 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230104 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230105 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7208441 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |