IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シュナイダーエレクトリックホールディングス株式会社の特許一覧

特開2024-79394データ作成装置、プロトコルドライバ動作試験システムおよび検証装置
<>
  • 特開-データ作成装置、プロトコルドライバ動作試験システムおよび検証装置 図1
  • 特開-データ作成装置、プロトコルドライバ動作試験システムおよび検証装置 図2
  • 特開-データ作成装置、プロトコルドライバ動作試験システムおよび検証装置 図3
  • 特開-データ作成装置、プロトコルドライバ動作試験システムおよび検証装置 図4
  • 特開-データ作成装置、プロトコルドライバ動作試験システムおよび検証装置 図5
  • 特開-データ作成装置、プロトコルドライバ動作試験システムおよび検証装置 図6
  • 特開-データ作成装置、プロトコルドライバ動作試験システムおよび検証装置 図7
  • 特開-データ作成装置、プロトコルドライバ動作試験システムおよび検証装置 図8
  • 特開-データ作成装置、プロトコルドライバ動作試験システムおよび検証装置 図9
  • 特開-データ作成装置、プロトコルドライバ動作試験システムおよび検証装置 図10
  • 特開-データ作成装置、プロトコルドライバ動作試験システムおよび検証装置 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024079394
(43)【公開日】2024-06-11
(54)【発明の名称】データ作成装置、プロトコルドライバ動作試験システムおよび検証装置
(51)【国際特許分類】
   G06F 11/36 20060101AFI20240604BHJP
   G05B 19/05 20060101ALI20240604BHJP
【FI】
G06F11/36 184
G05B19/05 L
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022192311
(22)【出願日】2022-11-30
(71)【出願人】
【識別番号】317014747
【氏名又は名称】シュナイダーエレクトリックホールディングス株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】斉藤 昌夫
(72)【発明者】
【氏名】白石 篤志
(72)【発明者】
【氏名】植木 晴彦
(72)【発明者】
【氏名】井上 顕一
【テーマコード(参考)】
5B042
5H220
【Fターム(参考)】
5B042HH13
5B042HH17
5H220BB09
5H220BB15
5H220CC07
5H220CC09
5H220CX05
5H220JJ12
5H220LL06
(57)【要約】
【課題】プロトコルドライバの動作を試験するためのデータを容易に作成する。
【解決手段】PC(1)は、プログラマブル表示器が制御機器と通信するためのプロトコルドライバの動作に伴って送信されたコマンドに対してレスポンスを送信する制御機器のシミュレータ(22)に与える指示データを作成するデータ作成部(3)を備える。データ作成部(3)は、制御機器に対応したコマンドおよびレスポンスの仕様であるコマンド・レスポンス仕様とコマンドおよびレスポンスの要素とを含む通信仕様データと、テストのために想定される各種のテストパターンを含むテストパターン群とに基づいて、テストパターン群から要素に対応するテストパターンを抽出する抽出部(311)と、テストパターンとコマンド・レスポンス仕様とを組み合わせて、コマンドに対してシミュレータ(22)からのレスポンスの送信パターンを規定する組合せ部(312)とを有する。
【選択図】図1
【特許請求の範囲】
【請求項1】
プログラマブル表示器が制御機器と通信するための、通信プロトコルに準拠したプロトコルドライバの動作に伴って送信されたコマンドに対してレスポンスを送信するように前記制御機器をシミュレートしたシミュレータを動作させるために当該シミュレータに与える指示データを作成する作成部を備え、
前記作成部は、前記制御機器に対応した前記コマンドおよび前記レスポンスの仕様であるコマンド・レスポンス仕様と前記コマンドおよび前記レスポンスの要素とを含む通信仕様データと、テストのために想定される各種のテストパターンを含むテストパターン群とに基づいて、前記テストパターン群から前記要素に対応する前記テストパターンを抽出する抽出部と、
当該テストパターンと前記コマンド・レスポンス仕様とを組み合わせることにより、送信される前記コマンドに対して前記シミュレータが送信する前記レスポンスの送信パターンを規定した前記指示データを作成する組合せ部とを有していることを特徴とするデータ作成装置。
【請求項2】
前記作成部は、前記テストパターン群に含まれる、受信した正常コマンドに対して異常レスポンスを送信する異常パターンと、前記コマンド・レスポンス仕様とに基づいて、前記指示データを作成することを特徴とする請求項1に記載のデータ作成装置。
【請求項3】
前記作成部は、前記テストパターン群に含まれる、前記異常パターン、および受信した前記正常コマンドに対して正常レスポンスを送信する正常パターンと、前記コマンド・レスポンス仕様とに基づいて、前記指示データを作成することを特徴とする請求項2に記載のデータ作成装置。
【請求項4】
請求項1から3のいずれか1項に記載のデータ作成装置によって作成された前記指示データにしたがって、前記プロトコルドライバが動作することにより送信されたコマンドに対してレスポンスを送信するように前記制御機器をシミュレートしたシミュレータを備えていることを特徴とするプロトコルドライバ動作試験システム。
【請求項5】
前記作成部は、前記通信仕様データの前記要素と、前記指示データとに基づいて、前記プロトコルドライバの挙動を規定した挙動データを作成することを特徴とする請求項1から3のいずれか1項に記載のデータ作成装置。
【請求項6】
請求項5に記載のデータ作成装置によって作成された前記挙動データにしたがった通信が前記プロトコルドライバを動作させることにより前記コマンドを送信する送信元と前記シミュレータとの間で行われているか否かを検証する検証部を備え、
前記検証部は、前記送信元と前記シミュレータとの間で行われた通信の通信記録と、前記シミュレータから送信されたエラーレスポンスまたは異常レスポンスによって前記送信元で認識されたエラーのエラー記録とに基づいて、前記挙動データに規定された前記挙動の個々が行われているか否かを確認することにより検証を行うことを特徴とする検証装置。
【請求項7】
プログラマブル表示器が制御機器と通信するための、通信プロトコルに準拠したプロトコルドライバを動作させる動作プログラムに、前記プロトコルドライバを動作させるために与える指示データを作成する作成部を備え、
前記作成部は、前記制御機器に対応したコマンドおよびレスポンスの仕様であるコマンド・レスポンス仕様と前記コマンドおよび前記レスポンスの要素とを含む通信仕様データと、テストのために想定される各種のテストパターンを含むテストパターン群とに基づいて、前記テストパターン群から前記要素に対応する前記テストパターンを抽出する抽出部と、
当該テストパターンと前記コマンド・レスポンス仕様とを組み合わせることにより、送信装置が送信する前記コマンドの送信パターンを規定した前記指示データを作成する組合せ部とを有していることを特徴とするデータ作成装置。
【請求項8】
請求項7に記載のデータ作成装置によって作成された前記指示データにしたがって前記プロトコルドライバに前記コマンドを送信させる送信装置を備えていることを特徴とするプロトコルドライバ動作試験システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プロトコルドライバの動作を試験するためのデータを作成するデータ作成装置などに関する。
【背景技術】
【0002】
プログラマブル表示器は、通信プロトコルに準拠した、通信のためのプログラムであるプロトコルドライバで規定された処理を行うことにより、接続された制御機器と通信を行う。プロトコルドライバの開発においては、プロトコルドライバが正常に動作することを確認するための動作試験が行われる。
【0003】
例えば、特許文献1には、被試験通信制御プログラムの動作の正当性をチェックするためのシミュレートをする動作条件を作成することが開示されている。当該動作条件は、入出力装置によって、動作指示簡易言語に基づき簡単な文法で試験実施者によって記述される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平4-349556号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に開示された技術では、試験実施者が動作条件を入力するため、経験、知識、ノウハウなどを有していない試験実施者にとって動作条件の入力は容易ではない。
【0006】
本発明の一態様は、プロトコルドライバの動作を試験するためのデータを容易に作成することを目的とする。
【課題を解決するための手段】
【0007】
上記の課題を解決するために、本発明の一態様に係るデータ作成装置は、プログラマブル表示器が制御機器と通信するための、通信プロトコルに準拠したプロトコルドライバの動作に伴って送信されたコマンドに対してレスポンスを送信するように前記制御機器をシミュレートしたシミュレータを動作させるために当該シミュレータに与える指示データを作成する作成部を備え、前記作成部は、前記制御機器に対応した前記コマンドおよび前記レスポンスの仕様であるコマンド・レスポンス仕様と前記コマンドおよび前記レスポンスの要素とを含む通信仕様データと、テストのために想定される各種のテストパターンを含むテストパターン群とに基づいて、前記テストパターン群から前記要素に対応する前記テストパターンを抽出する抽出部と、当該テストパターンと前記コマンド・レスポンス仕様とを組み合わせることにより、送信される前記コマンドに対して前記シミュレータが送信する前記レスポンスの送信パターンを規定した前記指示データを作成する組合せ部とを有している。
【0008】
上記の課題を解決するために、本発明の他の態様に係るデータ作成装置は、プログラマブル表示器が制御機器と通信するための、通信プロトコルに準拠したプロトコルドライバを動作させる動作プログラムに、前記プロトコルドライバを動作させるために与える指示データを作成する作成部を備え、前記作成部は、前記制御機器に対応したコマンドおよびレスポンスの仕様であるコマンド・レスポンス仕様と前記コマンドおよび前記レスポンスの要素とを含む通信仕様データと、テストのために想定される各種のテストパターンを含むテストパターン群とに基づいて、前記テストパターン群から前記要素に対応する前記テストパターンを抽出する抽出部と、当該テストパターンと前記コマンド・レスポンス仕様とを組み合わせることにより、送信装置が送信する前記コマンドの送信パターンを規定した前記指示データを作成する組合せ部とを有している。
【発明の効果】
【0009】
本発明の一態様によれば、プロトコルドライバの動作を試験するためのデータを容易に作成することができる。
【図面の簡単な説明】
【0010】
図1】本発明の一実施形態に係るシミュレーションシステムの構成を示すブロック図である。
図2】上記シミュレーションシステムに含まれるPCのハードウェア構成を示すブロック図である。
図3】上記PCの補助記憶装置に記憶されるテストパターン群に含まれる正常コマンドコード群およびそれに対する正常レスポンスコード群を示す図である。
図4】上記テストパターン群に含まれる正常範囲の読出コマンドおよびそれに対するレスポンスを示す図である。
図5】上記テストパターン群に含まれる正常範囲を超える読出コマンドおよびそれに対するエラーレスポンスを示す図である。
図6】上記テストパターン群にテストパターンとして登録されている登録コードおよび登録されていない未登録コードを示す図である。
図7】上記テストパターン群に含まれる、バイト数が異常であるテストパターンを示す図である。
図8】上記テストパターン群に含まれる、チェックコードが異常であるテストパターンの一例を示す図である。
図9】上記PCによる指示データおよび挙動データの作成の手順を示すフローチャートである。
図10】通信仕様データおよび上記テストパターン群に基づいて上記指示データを作成することを示す図である。
図11】作成された上記指示データの一例を示す図である。
【発明を実施するための形態】
【0011】
〔実施形態〕
本発明の一実施形態について図1図11に基づいて説明すると、以下の通りである。
【0012】
図1は、本実施形態に係るシミュレーションシステム100の構成を示すブロック図である。図2は、シミュレーションシステム100に含まれるPCのハードウェア構成を示すブロック図である。
【0013】
〈シミュレーションシステムの概要〉
図1に示すように、シミュレーションシステム100は、PC1(データ作成装置)と、試験システム2(プロトコルドライバ動作試験システム)と、を備えている。シミュレーションシステム100は、作成されたプロトコルドライバの動作を試験するために、プロトコルドライバによって送信されるコマンドに対するレスポンスの送信、レスポンスに対する処理などの各種の動作をシミュレーションする。
【0014】
プロトコルドライバは、プログラマブル表示器がPLC(Programmable Logic Controller)などの制御機器と通信を行うための通信のプログラムであって、通信の手順を規定した通信プロトコルに準拠している。通信プロトコルは、通信フレームを構成するヘッダ部、ボディ部およびフッタ部のそれぞれについてのプロパティ(属性情報)を規定している。
【0015】
PC1は、汎用のコンピュータ機器によって構成され、試験システム2で用いられる指示データを作成するデータ作成装置として機能する。具体的には、PC1は、後述する送受信装置21(送信装置)において、プロトコルドライバを動作させるための指示データとしてドライバ指示データを作成する。また、PC1は、後述するシミュレータ22において、送受信装置21から送信されるコマンドに対して応答するための指示データとしてシミュレータ指示データを作成する。また、PC1は、試験システム2において検証装置23によるプロトコルドライバの挙動の検証を行うためにプロトコルドライバの挙動を規定した挙動データを作成する。
【0016】
ドライバ指示データとシミュレータ指示データは密接に関係しており、指示データにおけるコマンドとレスポンスとのやり取りの都合上、不可分である。このため、指示データは、ドライバ指示データとシミュレータ指示データとを含んでいる。したがって、PC1は、ドライバ指示データとシミュレータ指示データとを個別に作成するのではなく、両者が混在する指示データを作成する。
【0017】
試験システム2は、上記の指示データにしたがって、送受信装置21とシミュレータ22との間でコマンドおよびレスポンスの送受信を行う。また、試験システム2は、検証装置23によるプロトコルドライバの挙動の検証を行う。試験システム2は、送受信装置21と、シミュレータ22と、検証装置23とを有している。
【0018】
送受信装置21は、プログラマブル表示器が制御機器と通信するためのプロトコルドライバを動作させることにより、コマンドの送信を行うとともに、シミュレータ22からのレスポンスに対する処理を行う。送受信装置21は、例えば、プログラマブル表示器の機能を実現するアプリケーションプログラムがインストールされることにより、プログラマブル表示器と同等に機能する汎用のコンピュータ機器(以降「コンピュータ表示器」と称する)である。
【0019】
コンピュータ表示器は、プログラマブル表示器と同様に、画面データに基づいて、試験の対象となるプロトコルドライバを動作させる環境を有しており、上記のコマンドを送信する機能などを有している。画面データは、プログラマブル表示器に画面を表示させるためのデータであり、画面作成プログラムによって作成される。
【0020】
送受信装置21は、コンピュータ表示器であってもよいが、プロトコルドライバの動作に特化した、ドライバ指示プログラムを実行するための汎用のコンピュータ機器(以降「コンピュータドライバ」と称する)として構成されることが好ましい。ドライバ指示プログラム(動作プログラム)は、プロトコルドライバに送信させるコマンドのデータ、シミュレータ22からのレスポンスに対する具体的な処理内容を規定するデータなどを処理している。
【0021】
コンピュータ表示器で試験を行う場合、プログラマブル表示器における実際の表示に用いられる画面データを利用するので、プロトコルドライバの開発の最終段階に適している。これに対し、ドライバ指示プログラムによれば、画面データに規定された機能を実現することができる。具体的には、デバイスへの読み出しや書き込みの要求を行い、読み出しデータに基づいて、予め設定されている方法にしたがって、読み出したデータを数値で表示したり、読み出したビットデータに基づいてビットをON/OFFで表示したりすることができる。コンピュータドライバとシミュレータ22とは、あるコマンドに対して定まったレスポンスを応答するというように、コマンドとレスポンスとが1対1の関係にある。したがって、開発途上の段階では、PC上での作業が中心となるため、ドライバ指示データに基づいてドライバ指示プログラムを動作させる環境によって試験を効率的に行うことができる。
【0022】
シミュレータ22は、汎用のコンピュータ機器においてシミュレーションプログラムを実行することにより、制御機器の機能を模擬的に実現する、すなわち制御機器をシミュレートする。シミュレータ22は、送受信装置21から送信されるコマンドに対するレスポンスを上記のシミュレータ指示データに基づいて送信する。
【0023】
検証装置23は、上述した挙動データにしたがった通信が送受信装置21(送信元)とシミュレータ22との間で行われているか否かを検証する。
【0024】
送受信装置21、シミュレータ22および検証装置23については、後に詳細に説明する。
【0025】
なお、試験システム2における、送受信装置21、シミュレータ22および検証装置23は、個々に汎用のコンピュータ機器においてプログラムを実行することにより、それぞれの機能を実現する。これに限らず、試験システム2は、単一の汎用のコンピュータ機器において、送受信装置21、シミュレータ22および検証装置23の各機能を実現するためのプログラムを実行するように構成されていてもよい。
【0026】
〈PCのハードウェア構成〉
図2に示すように、PC1は、汎用のOS(Operating System)を実装したパーソナルコンピュータであり、以下のように、アプリケーションプログラムを実行する環境を備えている。
【0027】
図2に示すように、PC1は、CPU(Central Processing Unit)11と、メインメモリ12と、ROM(Read Only Memory)13と、補助記憶装置14と、表示パネル15と、入力装置16と、通信部17とを備えている。
【0028】
CPU11は、OSの管理下でアプリケーションプログラムを実行する処理装置である。具体的には、CPU11は、アプリケーションプログラムの実行に際して、補助記憶装置14、入力装置16などからデータを受け取り、当該データに対して演算または加工を施した結果を、補助記憶装置14、表示パネル15などに出力する。
【0029】
メインメモリ12は、PC1における主記憶装置を構成するメモリであり、DRAM(Dynamic Random Access Memory)によって構成される。ROM13は、OSの他、PC1の起動時やリセット時に実行されるBIOS(Basic Input Output System)などの、PC1の動作に不可欠なプログラムを記憶している。
【0030】
補助記憶装置14は、PC1が保持すべき各種のデータ、アプリケーションプログラムなどを記憶するために設けられている。補助記憶装置14は、HDD(Hard Disk Drive)、SSD(Solid State Drive)などによって構成されている。
【0031】
表示パネル15は、PC1の基本操作を実現するための画面、アプリケーションプログラムが実行された結果として表示される画面などを表示するために設けられている。
【0032】
入力装置16は、ユーザによる操作に応じて各種の入力を受け付ける装置である。入力装置16としては、マウス、キーボード、タッチパネルなどが設けられる。
【0033】
通信部17は、試験システム2との間で行う通信の機能を有している。
【0034】
〈PCのシステム構成〉
図1に示すように、PC1はデータ作成部3を有している。データ作成部3は、上述した指示データおよび挙動データを作成する。PC1は、データ作成部3を備えることにより、データ作成装置として機能する。
【0035】
データ作成部3は、アプリケーションプログラムとしてのデータ作成プログラムがCPU11によって実行されることで実現される機能ブロックの部分である。データ作成部3は、上述した指示データを作成するために、指示作成部31(作成部)を有している。指示作成部31は、抽出部311と、組合せ部312とを有している。
【0036】
抽出部311は、シミュレータ指示データおよびドライバ指示データを作成するために共通して用いられる。具体的には、抽出部311は、コマンド・レスポンス仕様とコマンドおよびレスポンスの要素とを含む通信仕様データと、テストパターン群とに基づいて、テストパターン群から要素に対応するテストパターンを抽出する。コマンド・レスポンス仕様は、制御機器に対応したコマンドおよびレスポンスの仕様である。テストパターン群は、テストのために想定される各種のテストパターンを含んでいる。
【0037】
組合せ部312は、テストパターンとコマンド・レスポンス仕様とを組み合わせることにより、送信されるコマンドに対してシミュレータ22が送信するレスポンスの送信パターンを規定したシミュレータ指示データを作成する。また、組合せ部312は、テストパターンとコマンド・レスポンス仕様とを組み合わせることにより、送受信装置21が送信するコマンドの送信パターンを規定したドライバ指示データを作成する。組合せ部312は、作成した指示データを補助記憶装置14に保存する。
【0038】
データ作成部3は、前記テストパターン群に含まれる、異常パターンと、コマンド・レスポンス仕様とに基づいて、指示データを作成する。また、データ作成部3は、テストパターン群に含まれる、異常パターンおよび正常パターンと、コマンド・レスポンス仕様とに基づいて、指示データを作成する。ここで、異常パターンは、受信した正常コマンドに対して異常レスポンスを送信するテストパターンである。また、正常パターンは、受信した正常コマンドに対して正常レスポンスを送信するテストパターンである。
【0039】
なお、データ作成部3は、項目設定画面(図示せず)を表示パネル15に表示させてもよい。項目設定画面は、指示データに規定されているテスト項目のうち実行するテスト項目と、挙動データに規定されている検証および検証についての結果予測の要否とについて、チェックボックスによって選択可能な形式で構成されている。基本的には、全てのテストを行うが、後にバグ修正や何らかのケースを徹底的にテストしたいような場合、項目設定画面においてテスト項目を絞り込むことができる。
【0040】
ここで、テストパターン群について説明する。図3は、PC1の補助記憶装置14に記憶されるテストパターン群に含まれる正常コマンドコード群およびそれに対する正常レスポンスコード群を示す図である。図4は、上記テストパターン群に含まれる正常範囲の読出コマンドおよびそれに対するレスポンスを示す図である。図5は、上記テストパターン群に含まれる正常範囲を超える読出コマンドおよびそれに対するエラーレスポンスを示す図である。図6は、上記テストパターン群にテストパターンとして登録されている登録コードおよび登録されていない未登録コードを示す図である。図7は、上記テストパターン群に含まれる、バイト数が異常であるテストパターンを示す図である。図8は、上記テストパターン群に含まれる、チェックコードが異常であるテストパターンの一例を示す図である。
【0041】
テストパターン群は、正常系のテストパターン(正常パターン)と、エラー系のテストパターン(エラーパターン)と、異常系のテストパターン(異常パターン)とを含むことにより、例えば補助記憶装置14に構築されるデータベースである。
【0042】
図3に示すように、正常パターンは、複数の正常コマンドコードからなる正常コマンドコード群および複数の正常レスポンスコードからなる正常レスポンスコード群を含んでいる。図4に示すように、読出コマンドは、正常コマンドコードに付随した、読み出し先のアドレスの範囲と、読み出すデータの数とを規定している。正常レスポンスは、正常レスポンスコードに付随した、読出コマンドに対して制御機器から返すデータと、バイト数とを規定している。バイト数は、どの程度のデータがあるかを表している。
【0043】
正常パターンとしては、アドレス、データ数などの範囲についてのテストパターンが設けられている。例えば、アドレス最小値およびデータ数最大値の和がアドレス範囲内であるかどうかをテストするパターンがある。このテストパターンでは、例えば、アドレス範囲がD0000~D1999であり、読み出し数が100ワードであり、最大256ワードまで読み出せる場合、アドレス最小値は「D0000」であり、データ数最大値は「256」である。D1900から256ワードを読み出す場合、アドレス範囲を超えるので不適切となる。
【0044】
また、「アドレス最大値+1-データ数最小値」と「データ数最小値」との関係について、(D1999+1-1)=D1999のアドレスに対して最小データ数「1」を読み出す場合にエラーが返送されるかというような、正常範囲の限界付近での上下限でテストする。このテストパターンにより、上下限にコマンドのパラメータを設定しても正常に書き込みおよび読み出しができるかを確認する。正常パターンでは、このような計算式が予め定式化されている。
【0045】
図5に示すように、エラーパターンは、正常範囲を超える読出コマンドと、当該読出コマンドに対するエラーレスポンスを含んでいる。このようなエラーコマンドおよびエラーレスポンスは、プロトコルドライバに仕様として規定されている本来あり得るエラーコマンドおよびエラーレスポンスである。例えば、アドレスの範囲を超えている、存在しない変数を指定している、存在しないデバイスアドレスを指定している、ということに対して、プロトコルドライバの仕様で定義されているエラーに該当する。
【0046】
異常パターンは、制御機器が正常に動作していれば通常は返送されないレスポンスを規定している。例えば、制御機器としてPLC以外の機器を用い、当該機器がPLCと同じ通信プロトコルを使用する場合(無理に同じ通信プロトコルをエミュレートしている場合)、当該通信プロトコルで他の機器と通信できてしまう。このような機器は、PLCの通信仕様をすべてサポートしていない場合、本来はあり得ないやり取りが生じることがある。また、新製品のPLCであれば、バグの存在が疑われるので、そのような場合でも異常なレスポンスが返送されることがある。
【0047】
異常応答が生じる場合、プログラマブル表示器が制御機器からの異常レスポンスによりハングアップを起こす恐れがある。この結果、プログラマブル表示器が画面上に制御機器の状態を表示(モニタ)できないこと、プログラマブル表示器を画面上で操作することができないことなどが生じる。プログラマブル表示器をハングアップ状態から復帰させるために、電源を投入してプログラマブル表示器だけを再起動しようとするが、その電源がプログラマブル表示器のための単独電源ではないので、制御システム全体の一括電源を再投入することが必要となる。このため、一時的に生産を停止しなければならないという重大な事態を招くことがあり得る。このような事態を回避するため、異常応答については想定して検証する必要がある。異常パターンとしては、コマンドコードおよびレスポンスコードの異常、数値の異常、チェックコードの異常などが設けられている。
【0048】
図6に示すように、コマンドコードおよびレスポンスコードの異常は、登録されているそれぞれのコード群に対して未登録のコードを使用するパターンである。制御機器(シミュレータ22)は、未登録のコードを使用しないので、通常の動作でそのようなコードを出力することはあり得ない。そのような未登録のコードに対してプログラマブル表示器が行うべき、エラー処理、コマンドの再送などを挙動データで規定する。
【0049】
数値の異常は、データ数、バイト数などがフレーム内の付随する情報と一致しないパターンである。例えば、図7に示す例では、2バイトを有するデータのデータ数「n」が10である場合、バイト数は10進数で20が正しいが、20以外の数値を用いる場合である。
【0050】
チェックコードの異常は、フッタに通常含まれる、チェックサム、CRC、パリティなどの通信エラーなどを検出および補正するためのチェックコードと実際のフレームにおける計算値とが一致しないパターンである。例えば、図8に示す例は、チェックサムの計算範囲の計算値がチェックコードの値と一致していないパターンである。プログラマブル表示器は、このような異常応答に対しても、ハングアップしないようにエラー処理できる必要がある。
【0051】
異常パターンは、IID(Irregular ID)という異常系に特化したIDに基づいて定義されている。異常パターンとしては、データの範囲外、レスポンスデータ長範囲外、多重レスポンス異常、変数名異常、レスポンス異常、レスポンスコード異常、コマンドコード異常、通信タイミング異常などのパターンが規定されている。
【0052】
ここで、テストパターン群には、コマンドおよびレスポンスの要素のデータ(要素データ)のパターンが含まれている。このパターンは、設計データ(設計上の要素データ)であり、DID(Design ID)というデータに特化したIDに基づいて管理されており、異常パターン(IID)、正常パターンおよびエラーパターンとの対応関係を表す情報を含んでいる。当該パターンは、コマンドコード、レスポンスコード、データ長、デバイスコード、デバイスアドレス、レスポンスサブコード、レスポンスタイム、コマンドサブコード、エラーコード、送信ウエイトタイムなどのパターンを規定している。これは、正常パターンおよびエラーパターンについても同様であり、正常パターンおよびエラーパターンについてはそれぞれに特有のIDに基づいて定義されている。
【0053】
続いて、通信仕様データについて説明する。
【0054】
通信仕様データは、上述したように、コマンド・レスポンス仕様とコマンドおよびレスポンスの要素とを含んでいる。通信仕様データは、別途、プロトコルドライバの作成プログラムによって作成されたフレーム設計データを利用することが可能である。フレーム設計データは、通信フレームを構成する、ヘッダ部、ボディ部、フッタ部についての設計データを含んでおり、特に、ボディ部の設定データとして、コマンドおよびレスポンスを形成する各種の情報を含んでいる。
【0055】
また、データ作成部3は、仕様作成部32を有しており、仕様作成部32により通信仕様データを作成してもよい。仕様作成部32は、通信仕様を作成るための入力画面(図示せず)をユーザインタフェースとして提供し、表示パネル15に表示させる。仕様作成部32は、作成した通信仕様データを補助記憶装置14に保存する。
【0056】
上記の入力画面では、コマンドについて、コード、アドレス、データ長などが要素として入力可能であり、正常レスポンスについて、コード、データ長、データなどが要素として入力可能であり、エラーレスポンスについて、コード、アドレス範囲エラー、データ長エラーなどが入力可能である。また、当該入力画面では、コマンドコード範囲、レスポンスコード範囲などの範囲(要素の範囲仕様すなわちコマンド・レスポンス仕様)や、上述したIIDで定義される異常パターンなども入力可能である。
【0057】
仕様作成部32は、コマンドおよびレスポンスと要素の範囲仕様とが入力画面から入力されると、要素データがテストパターン群に存在しているか否かを確認する。仕様作成部32は、要素データがテストパターン群に存在している場合、入力されたコマンドおよびレスポンスの型式と、エラーレスポンスと、要素の範囲仕様と、DID番号とを通信仕様データとして出力する。仕様作成部32は、要素データがテストパターン群に存在していない場合、要素データの追加が指示されると、新規のDID番号と、追加された要素データと、コマンドおよびレスポンスの型式と、エラーレスポンスと、要素の範囲仕様とを通信仕様データとして出力する。
【0058】
仕様作成部32は、正常レスポンス以外のレスポンスがシミュレータ22から送信された場合に、送受信装置21で行われる再送処理およびエラー表示についても、通信仕様データに規定する。
【0059】
データ作成部3は、上述した挙動データを作成するために、挙動作成部33を有している。
【0060】
挙動作成部33は、通信仕様データの要素と、指示データに規定されているレスポンスの送信パターンとに基づいて挙動データを作成する。通信仕様データには、異常レスポンスについて、表示される異常レスポンスエラーや、当該異常レスポンスエラーに対して送信されるべきコマンドも規定されている。挙動作成部33は、そのような通信仕様データからの異常レスポンスの要素と、指示データに規定された送信パターンとに基づいて、異常レスポンスに関するプロトコルドライバの挙動を作成する。挙動作成部33は、作成した挙動データを補助記憶装置14に保存する。
【0061】
〈PCによる指示データおよび挙動データの作成〉
図9は、PC1による指示データおよび挙動データの作成の手順を示すフローチャートである。図10は、通信仕様データおよびテストパターン群に基づいて指示データを作成することを示す図である。図11は、作成された指示データの一例を示す図である。
【0062】
図9に示すように、まず、データ作成部3の抽出部311は、通信仕様データの要素データに含まれるDID番号を読み出す(ステップS1)。図10に示すように、抽出部311は、要素データEDからコマンドコードを表すDID1などのDID番号を読み出す。
【0063】
次いで、抽出部311は、読み出したDID番号がテストパターン群に含まれるか否かを判定する(ステップS2)。ステップS2において、抽出部311は、DID番号がテストパターン群に含まれていると判定すると(YES)、DID番号に対応するテストパターンをテストパターン群から読み出す(ステップS3)。
【0064】
続いて、組合せ部312は、コマンド・レスポンス要素に対応したテストパターンから指示データを作成する(ステップS4)。指示データの作成において、組合せ部312は、図10に示すように、コマンド・レスポンス仕様CRSと、抽出部311によって読み出されたテストパターンとを組み合わせることにより、指示データを作成する。なお、図10では、便宜上、コマンド・レスポンス仕様CRSの図示を省略している。
【0065】
さらに、挙動作成部33は、通信仕様データと、上記のようにして作成された指示データとから挙動データを作成する(ステップS5)。挙動データの作成において、挙動作成部33は、例えば、通信仕様データの要素データEDとして異常レスポンスのコードと、送信パターンとしてレスポンスコードの異常を表すレスポンスを送信する送信パターンとを取得して、これらを組み合わせる。また、挙動作成部33は、例えば、挙動データにおいて、上記のレスポンスに対して送受信装置21が読出コマンドを再送することを規定する。
【0066】
そして、データ作成部3は、次の通信仕様データ形式があるか否かを判定する(ステップS6)。ステップS6において、データ作成部3は、次の通信仕様データ形式がないと判定すると(NO)、処理を終える。また、ステップS6において、データ作成部3は、次の通信仕様データ形式があると判定すると(YES)、処理をステップS1に戻す。
【0067】
また、ステップS2において、抽出部311は、DID番号がテストパターン群に含まれていないと判定すると(NO)、該当するDID番号をスキップするか否かを判定する(ステップS7)。ステップS7において、抽出部311は、該当するDID番号をスキップすると判定した場合(YES)、処理をステップS6に移行させる。また、ステップS7において、抽出部311は、該当するDID番号をスキップしないと判定した場合(NO)、エラーを表示パネル15に表示させて(ステップS8)、処理を終える。
【0068】
以上のようにして作成された指示データは、図11に示すように、「読出コマンド受信」というような指示事項と、コマンドおよびレスポンスとを対応させている。
【0069】
以上のように、PC1は、データ作成部3の指示作成部31を備えることにより、プロトコルドライバが、シミュレータ22のレスポンスに対して正しく動作するか否かを試験するための指示データを作成することができる。また、指示作成部31により、経験、知識、ノウハウなどを必要とすることなく指示データを作成することができる。
【0070】
また、制御機器は、プロトコルドライバにより送信された正常コマンドを受信すると、正常レスポンスを送信するが、バグなどの異常がない限り、異常コマンドを送信することはない。このため、制御機器に異常が生じた場合を想定した検証を行うことは困難であった。これに対し、指示作成部31によれば、指示データが異常パターンに基づいて作成されるので、制御機器に異常が生じた場合を想定した検証を行うことができる。
【0071】
また、正常コマンドに対して送信された正常レスポンスを受信すれば正常に動作していると認めることができるプロトコルドライバは存在する。これに対し、プロトコルドライバによっては、様々な要因によって、正常コマンドに対して正常レスポンスを送信すべき場合と正常コマンドに対して異常レスポンスを送信すべき場合とが混在することもある。指示作成部31によれば、このようなプロトコルドライバに対して、適切に検証を行うことができるだけでなく、バグのようなプロトコルドライバの潜在的な不具合を見つけ出すことができる。
【0072】
潜在的な不具合としては、比較的単純な不具合だけでなく、例えば、正常レスポンスのみの試験では発生しない、また、異常レスポンスのみの試験では発生しない、というような内部的に潜在する不具合もある。上記の構成によれば、従来の試験では見つけ出すことができない、このような内部的に潜在する不具合をも見つけ出すことができる。
【0073】
また、PC1は、データ作成部3の挙動作成部33を備えることにより、挙動データに基づいて、プロトコルドライバが、シミュレータ22のレスポンスに対して正しく動作するか否かということを検証することができる。具体的には、エラーコードの処理、コマンドの再送処理などが正しく行われるか否かが検証される。
【0074】
〈指示データによるテスト〉
試験システム2において、送受信装置21は、補助記憶装置14からドライバ指示データとして指示データを取得し、当該指示データにしたがってプロトコルドライバを動作させることによりコマンドを送信する。一方、試験システム2において、シミュレータ22は、補助記憶装置14からシミュレータ指示データとして指示データを取得し、送信されたコマンドを受信すると、当該指示データに基づいて、当該コマンドに対応するレスポンスを送信する。これに対し、送受信装置21は、指示データに基づいて、当該コマンドに対する処理を行う。
【0075】
送受信装置21は、プロトコルドライバで発生したエラー、具体的には、シミュレータ22から送信されたエラーレスポンスまたは異常レスポンスによって送受信装置21で認識されたエラーについて、エラーログデータ(エラー記録)を出力して保存する。一方、シミュレータ22は、受信したコマンドに対してレスポンスを返送したというような、送受信装置21とシミュレータ22との間で行われた通信の通信ログについて、通信ログデータ(通信記録)を出力して保存する。
【0076】
試験システム2においては、従来行われていた、正常コマンドに対する正常レスポンスの送信や、エラーコマンドに対するエラーレスポンスの送信についての試験を行うことができる。さらに、試験システム2においては、送受信装置21が、異常パターンに基づいて作成されたドライバ指示データに基づいて、上述したドライバ指示プログラムを実行する。これにより、実機のプログラマブル表示器を使用した通信テストでは実施できないような、コマンドコード異常やアドレス範囲外などの通常の異常系のテストを行うことができる。具体的には、ドライバ指示プログラムがプロトコルドライバのインタフェースを直接コールすることにより、上記のテストを実施する。
【0077】
実機のプログラマブル表示器を用いた場合、通常エラー確認(タイムアウトエラー、レスポンスコード異常エラー)などのシミュレータ22で行うことができる、一般的な異常系のテストが行われる。これに対し、ドライバ指示プログラムを実行する送受信装置21では、コマンドコード異常、アドレス範囲外、データ長超過などのプログラマブル表示器からの要求で異常となるテストを行うことができる。
【0078】
〈挙動データによる検証〉
試験システム2において、検証装置23は、補助記憶装置14から挙動データを取得し、当該挙動データにしたがって送受信装置21とシミュレータ22との間で行われる通信を検証する。検証装置23は、検証のために検証部231を有している。検証部231は、挙動データにしたがった通信が、プロトコルドライバを動作させることによりコマンドを送信する送受信装置21(送信元)とシミュレータ22との間で行われているか否かを検証する。
【0079】
具体的には、検証部231は、送受信装置21から取得したエラーログデータと、シミュレータ22から取得した通信ログデータとに基づいて、挙動データに規定された挙動の個々が行われているか否かを確認することにより検証を行う。通信ログデータには、コマンドおよびレスポンスの内容などが含まれている。また、エラーログデータには、エラーコードの内容が含まれている。検証部231は、このような通信ログデータおよびエラーログデータに基づいて検証した結果として検証データを生成する。
【0080】
ここで、通信ログデータは、送受信装置21とシミュレータ22との間のコマンドおよびレスポンスのデータ(回線のデータ)である。このため、回線上でプロトコルアナライザによって解析されたデータを通信ログデータとして採用してもよいし、試験システム2が単一のコンピュータ機器で構成される場合、当該コンピュータ機器でコマンドおよびレスポンスのログを記録していてもよい。
【0081】
検証データには、テストに関する振る舞い、具体的には、テストの内容に関する情報と、送受信装置21では発生すべきエラーに関する情報と、エラーに対して送受信装置21からコマンドが再送されているかという情報とが含まれる。エラーコードが発生していることは、エラーログデータからわかる。例えば、「Error0x2BAを表示する」というエラーに関する情報が検証データに含まれている場合、送受信装置21において当該情報に対するエラーコードが発生していれば、挙動データに規定されていた通りの結果が得られたことになる。検証部231は、その結果を検証データに記録する。
【0082】
また、検証部231は、エラーに対するコマンドが送受信装置21から再送されているかどうかを通信ログデータに基づいて判断する。通信ログデータから、コマンドが送信されたことに対する異常レスポンスが返送され、それに対して送受信装置21からコマンドが再送されているということがわかれば、挙動データに規定されていた通りの結果が得られたことになる。検証部231は、その結果を検証データに記録する。
【0083】
以上のように、試験システム2は、検証装置23を備えることにより、送受信装置21と、指示データにしたがって動作するシミュレータ22との間の通信において得られた通信ログデータおよびエラーログデータに基づいて検証が行われる。これにより、プロトコルドライバの動作試験の結果を高精度で検証することができる。
【0084】
〔ソフトウェアによる実現例〕
PC1の機能は、PC1をデータ作成装置として機能させるためのプログラムにより実現することができる。当該プログラムは、具体的には、データ作成部3としてPC1を機能させるためのプログラムである。
【0085】
この場合、PC1は、上記プログラムを実行するためのハードウェアとして、少なくとも1つのCPU11と少なくとも1つのメインメモリ12を有する。CPU11およびメインメモリ12により上記プログラムを実行することにより、上記実施形態で説明した各機能が実現される。
【0086】
上記プログラムは、一時的ではなく、コンピュータ読み取り可能な、1または複数の記録媒体に記録されていてもよい。この記録媒体は、PC1が備えていてもよいし、備えていなくてもよい。後者の場合、上記プログラムは、有線または無線の任意の伝送媒体を介して上記装置に供給されてもよい。
【0087】
〔まとめ〕
本発明の態様1に係るデータ作成装置は、プログラマブル表示器が制御機器と通信を行うための、通信プロトコルに準拠したプロトコルドライバの動作に伴って送信されたコマンドに対してレスポンスを送信するように前記制御機器をシミュレートしたシミュレータを動作させるために当該シミュレータに与える指示データを作成する作成部を備え、前記作成部が、前記制御機器に対応した前記コマンドおよび前記レスポンスの仕様であるコマンド・レスポンス仕様と前記コマンドおよび前記レスポンスの要素とを含む通信仕様データと、テストのために想定される各種のテストパターンを含むテストパターン群とに基づいて、前記テストパターン群から前記要素に対応する前記テストパターンを抽出する抽出部と、当該テストパターンと前記コマンド・レスポンス仕様とを組み合わせることにより、送信される前記コマンドに対して前記シミュレータが送信する前記レスポンスの送信パターンを規定した前記指示データを作成する組合せ部とを有している。
【0088】
上記の構成によれば、プロトコルドライバが、シミュレータのレスポンスに対して正しく動作するか否かを試験することができる。また、作成部により、経験、知識、ノウハウなどを必要とすることなく指示データを作成することができる。
【0089】
本発明の態様2に係るデータ作成装置は、態様1において、前記作成部が、前記テストパターン群に含まれる、受信した正常コマンドに対して異常レスポンスを送信する異常パターンと、前記コマンド・レスポンス仕様とに基づいて、前記指示データを作成してもよい。
【0090】
制御機器は、プロトコルドライバにより送信された正常コマンドを受信すると、正常レスポンスを送信するが、バグなどの異常がない限り、異常コマンドを送信することはない。このため、制御機器に異常が生じた場合を想定した検証を行うことは困難であった。これに対し、上記の構成によれば、指示データが異常パターンに基づいて作成されるので、制御機器に異常が生じた場合を想定した検証を行うことができる。
【0091】
本発明の態様3に係るデータ作成装置は、態様2において、前記作成部が、前記テストパターン群に含まれる、前記異常パターン、および受信した前記正常コマンドに対して正常レスポンスを送信する正常パターンと、前記コマンド・レスポンス仕様とに基づいて、前記指示データを作成してもよい。
【0092】
上記の構成によれば、上述したような、様々な要因によって、正常コマンドに対して正常レスポンスを送信すべき場合と正常コマンドに対して異常レスポンスを送信すべき場合とが混在するプロトコルドライバに対して、適切に検証を行うことができる。また、上述したようなプロトコルドライバの潜在的な不具合を見つけ出すことができる。
【0093】
本発明の態様4に係る試験システムは、態様1から3のいずれかのデータ作成装置によって作成された前記指示データにしたがって、前記プロトコルドライバが動作することにより送信されたコマンドに対してレスポンスを送信するように前記制御機器をシミュレートしたシミュレータを備えている。
【0094】
上記の構成によれば、プロトコルドライバが、シミュレータのレスポンスに対して正しく動作するか否かを試験することができる。
【0095】
本発明の態様5に係るデータ作成装置は、態様1から3のいずれかにおいて、前記作成部が、前記通信仕様データの前記要素と、前記指示データとに基づいて、前記プロトコルドライバの挙動を規定した挙動データを作成してもよい。
【0096】
上記の構成によれば、挙動データに基づいて、プロトコルドライバが、シミュレータのレスポンスに対して正しく動作するか否かということを検証することができる。具体的には、エラーコードの処理、コマンドの再送処理などが正しく行われるか否かが検証される。
【0097】
本発明の態様6に係る検証装置は、態様5のデータ作成装置によって作成された前記挙動データにしたがった通信が前記プロトコルドライバを動作させることにより前記コマンドを送信する送信元と前記シミュレータとの間で行われているか否かを検証する検証部を備え、前記検証部が、前記送信元と前記シミュレータとの間で行われた通信の通信記録と、前記シミュレータから送信されたエラーレスポンスまたは異常レスポンスによって前記送信元で認識されたエラーのエラー記録とに基づいて、前記挙動データに規定された前記挙動の個々が行われているか否かを確認することにより検証を行う。
【0098】
上記の構成によれば、送信元と、データ作成装置によって作成された指示データにしたがって動作するシミュレータとの間の通信において得られた通信記録およびエラー記録に基づいて検証が行われる。これにより、プロトコルドライバの動作試験の結果を高精度で検証することができる。
【0099】
本発明の態様7に係るデータ作成装置は、プログラマブル表示器が制御機器と通信を行うための、通信プロトコルに準拠したプロトコルドライバを動作させる動作プログラムに、前記プロトコルドライバを動作させるために与える指示データを作成する作成部を備え、前記作成部が、前記制御機器に対応したコマンドおよびレスポンスの仕様であるコマンド・レスポンス仕様と前記コマンドおよび前記レスポンスの要素とを含む通信仕様データと、テストのために想定される各種のテストパターンを含むテストパターン群とに基づいて、前記テストパターン群から前記要素に対応する前記テストパターンを抽出する抽出部と、当該テストパターンと前記コマンド・レスポンス仕様とを組み合わせることにより、送信装置が送信する前記コマンドの送信パターンを規定した前記指示データを作成する組合せ部とを有している。
【0100】
上記の構成によれば、指示データに基づいて、上述したような、異常コマンド、異常要求などの、上記の送信装置では従来表現できない異常系のコマンドパターンを有するコマンドを生成して送信することができる。
【0101】
本発明の態様8に係る試験システムは、態様7のデータ作成装置によって作成された前記指示データにしたがって前記プロトコルドライバに前記コマンドを送信させる送信装置を備えている。
【0102】
上記の構成によれば、送信装置が、指示データに基づいてプロトコルドライバを動作させることで、異常コマンド、異常要求などのコマンドを生成して送信することができる。
【0103】
〔付記事項〕
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。また、実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0104】
1 PC(データ作成装置)
2 試験システム(プロトコルドライバ動作試験システム)
21 送受信装置(送信元,送信装置)
22 シミュレータ
23 検証装置
31 指示作成部(作成部)
311 抽出部
312 組合せ部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11