(57)【特許請求の範囲】
【請求項１】
パソコン上で作成したエレベータの操作や動作確認のテストシナリオをエレベータの制御プログラムを格納している制御マイコンに転送し、該制御マイコンは前記制御プログラムとは別に予め実装されたテスト実行用プログラムと前記テストシナリオとに従ってエレベータの操作や動作確認の自動実行を行い、その確認結果を前記制御マイコンから前記パソコンに転送し、該パソコンで前記確認結果を予め設定した期待結果と比較して前記制御プログラムの合否を自動判定することを特徴とするエレベータのプログラム検証システム。
【請求項２】
複数台のエレベータを管理する群管理エレベータにおいて、パソコン上で作成したエレベータの操作や動作確認のテストシナリオを、エレベータの制御プログラムを格納している各エレベータの制御マイコン及び群管理制御用のプログラムを格納している群管理制御マイコンにそれぞれ転送し、前記各制御マイコン間及び群管理制御マイコンとの間で、号機間通信や群管理間通信により号機間の同期をとりながら、それぞれ予め実装されたテスト実行用プログラムと前記テストシナリオとに従ってエレベータの操作や動作確認の自動実行を行い、その確認結果を前記各制御マイコンと群管理制御マイコンとから前記パソコンに転送し、該パソコンでは前記確認結果を予め設定した期待結果と比較して前記エレベータ制御プログラム及び群管理制御プログラムの合否を自動判定することを特徴とするエレベータのプログラム検証システム。
【請求項３】
前記テスト実行用プログラムは、前記パソコンとの通信で前記テストシナリオに基づいてテスト操作、動作確認の内容、確認結果の受け渡しが可能なように拡張された通信モジュールと、前記パソコンから通信で受け取ったテスト操作、動作確認を実行するサーバーモジュールと、該サーバーモジュールでマイコン入出力を制御できるように拡張された入出力モジュールとからなることを特徴とする請求項１又は請求項２記載のエレベータのプログラム検証システム。
【請求項４】
前記テストシナリオの作成は、データベースに蓄積された過去のテストシナリオに基づいて、または過去における実際の呼び登録やスイッチ・釦操作などの操作履歴に基づいても行えるようにしたことを特徴とする請求項１乃至請求項３記載のエレベータのプログラム検証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムの検証の自動化に関し、特にエレベータのプログラムの開発時や修正時に有効なものである。
【背景技術】
【０００２】
一般的にコンピュータプログラムの開発において、新たに作成したプログラムが正しく動作するかどうかテストする必要がある。また、プログラムの修正を行った時に、その修正によって修正を加えていない部分に影響を与えていないかを調べるために、修正を行っていない箇所についても改めてテストを行う必要がある。その場合、限られたテスト期間の中で実際の使用状況をいかに多く想定し、テスト項目として実施するかがテストの精度を左右することになる。エレベータでは、このテストを専用の治具を用いて行っているが、特にエレベータの場合、呼び登録や各種スイッチ、釦操作などを組合わせてチェックすべき項目が非常に多岐に亘るため、全ての組合わせについて反復的，網羅的にテストすることは単調かつ煩雑であり、その結果エラーを見逃すことにもなりかねない。
【０００３】
一方、現地でプログラムの改造を行った場合には夜間に自動で改造後の試験を行う装置などが提案されている（例えば特許文献１）。
【０００４】
【特許文献１】特開２０００−３５１５３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記特許文献１に記載のエレベーター制御装置では、予めＲＯＭ内に所定の試験制御プログラムを組み込んでおき、所定条件成立時にＢＫＲＡＭ内に外部から登録した第２のプログラムを用いてエレベータの試験を自動で行うようにしている。しかしながら、この方法ではテストの実行内容と実行手順のすべてを含む試験制御プログラムを予め組み込んでおく必要があるために標準的或いは画一的なテストしか行うことができず、改造内容に特有の機能のチェックを行ったりテスト結果に応じ内容を変更して再テストを行うなど、臨機応変なテストを自動で行うことは困難である。
【０００６】
本発明は、上記の問題点に鑑みなされたもので、プログラムの開発や修正を行った時に、網羅的，反復的なテストだけでなく、手動では困難なタイミングでのテストや、更にテスト治具を用いた自動テストよりも精度の高いタイミングでのテストを容易にし、作業時間や労力の削減と共にプログラムにおける不良摘出の精度を向上することを目的としたものである。
【課題を解決するための手段】
【０００７】
本発明に係るエレベータのプログラム検証システムは、パソコン上で作成したエレベータの操作や動作確認のテストシナリオ（テストを実行するための一連の操作や動作確認の手順を記述したもの）をエレベータの制御プログラムを格納している制御マイコンに転送し、該制御マイコンは前記制御プログラムとは別に予め実装されたテスト実行用プログラムと前記テストシナリオとに従ってエレベータの操作や動作確認の自動実行を行い、その確認結果を前記制御マイコンから前記パソコンに転送し、該パソコンで前記確認結果を予め設定した期待結果と比較して前記制御プログラムの合否を自動判定することを特徴とするものである。
【０００８】
また、本発明に係るエレベータのプログラム検証システムにおいて、前記テストシナリオの作成は、データベースに蓄積された過去のテストシナリオに基づいて、または過去における実際の呼び登録やスイッチ・釦操作などの操作履歴に基づいても行えるようにしたことを特徴とするものである。
【発明の効果】
【０００９】
本発明によれば、パソコン上でテストのテストシナリオを容易に作成できるだけでなく、そのテストシナリオを制御マイコンに転送するだけでプログラムの検証をを自動的に行うことができ、単調なテストや煩雑なテストに要する時間と労力を削減することができる。
【００１０】
また本発明によれば、網羅的，反復的なテストだけでなく、手動テストでは困難なタイミングでのテストや、更にテスト治具を用いた自動テストよりも精度の高いタイミングでのテストも容易に行えるため、不良摘出の精度を確実に向上することができる。
【００１１】
また本発明によれば、過去の操作履歴や過去のトラブル事例、或いは設計したテストシナリオをデータベースに蓄積しそれを再利用することができるので、過去に行ったテストの再現や運転動作の確認、過去に発生した不適合事項が再発しないかの確認、その他過去に過去のトラブル事例を活かしたテストや大量のテストなどを容易に実施することができ、プログラムの品質，信頼性の向上を図ることができる。
【発明を実施するための最良の形態】
【００１２】
実施の形態１．
以下、本発明の一実施形態を図面に基づいて説明する。
図１は本発明の実施の形態１におけるプログラム検証システムの全体構成図で、ここではエレベータの設置現場ではなく、工場やプログラムの開発現場等においてシミュレータを利用しプログラムの動作確認を行う例を示している。
【００１３】
図１において、１０はエレベータの制御盤（図示省略）に組み込まれ、テストの対象となるエレベータの制御プログラムを格納しているエレベータの制御マイコンで、後で図２に示すように制御プログラムの他にテストシナリオに従ってプログラムのテストを自動で実行するためのテスト実行用プログラム（後述のホストＰＣ間との通信でテスト操作，動作確認の内容，確認結果の受け渡しが可能なように拡張された「通信モジュール」と、ホストＰＣからシリアル通信で受け取ったテスト操作，動作確認を実行する「サーバーモジュール」、及びこの「サーバーモジュール」でマイコン入出力を制御できるように拡張された「入出力モジュール」）を予め実装している。
【００１４】
２０は作業者がテストシナリオを作成するためのホストＰＣで、このホストＰＣ或いは後述のユーザーＰＣで作成したテストシナリオを制御マイコン１０及び後述のシミュレータに転送する。
３０は過去のテストシナリオや過去のトラブル事例、過去のテスト時の呼び釦や各種スイッチの実際の操作履歴或いはテスト結果の記録等を蓄積するためのデータベースサーバー、３１〜３３は作業者が自席などホストＰＣ２０と離れた場所でテストシナリオを設計するためのユーザーＰＣで、ホストＰＣ２０と同等の機能を有している。
【００１５】
４０はエレベータ制御マイコン周辺機器の動作をシミュレートするシミュレータで、制御マイコン１０と同様にホストＰＣ２０から転送されてきたテストシナリオに従ってテストを自動で実行するためのテスト実行用プログラムを備えている。
５０は、乗場やかごの呼び釦や表示装置、ホールランタン等の意匠器具の制御を行う意匠器具マイコンである。
なお、上記の構成において、ホストＰＣ２０とデータベースサーバー３０、ユーザーＰＣ３１〜３３は互いにＬＡＮで接続されているが、これらを１つのパソコンに集約した構成としてもよい。
【００１６】
図２は、ホストＰＣ２０と制御マイコン１０のプログラムの構成を示したものである。図2に示すように、ホストＰＣ２０には、作業者がキーボード２１からの入力でテストシナリオを新規に作成する場合や、過去のテストシナリオ或いは過去のテスト時の操作履歴等に基づいて容易にシナリオを作成できるよう、モニタ２２にテスト手順入力の案内表示を行ったりテスト項目をメニューから選択できるようにするためのテストシナリオ作成プログラム２３と、作成されたテストシナリオを制御マイコンやシミュレータが理解できるようにテストコマンドに変換するテストコマンド変換プログラム２４と、ホストＰＣと制御マイコンやシミュレータとの間でテストコマンドの通信処理を行うテストコマンド通信処理プログラム２５と、テスト終了後に転送されてきた確認結果の合否判定を行うテスト結果処理プログラム２６とが含まれている。
【００１７】
制御マイコン１０には、前述のようにテスト対象であるエレベータの制御プログラム１１の他にテストシナリオに従ってプログラムのテストを自動で実行するためのテスト実行用プログラムが実装されており、このテスト実行用プログラムは、ホストＰＣ間との通信でテスト操作，動作確認の内容，確認結果の受け渡しが可能なように拡張された通信モジュール１２と、ホストＰＣ２０から通信で受け取ったテスト操作，動作確認を実行するサーバーモジュール１３と、このサーバーモジュール１３でマイコン入出力を制御できるように拡張された入出力モジュール１４とからなっている。１５は意匠器具マイコンやシミュレータとの入出力制御を行うデバイスドライバである。
なお、ユーザーＰＣにもホストＰＣと同様のプログラムが含まれており、作業者はテストシナリオを作成するのにホストＰＣ２０或いはユーザーＰＣ３１〜３３のどれを用いてもよい。
【００１８】
図3は、本発明におけるプログラムテストの自動実行の手順を説明するフローチャートである。
まずホストＰＣ２０でテストシナリオを作成し、或いはユーザーＰＣ３１〜３３でテストシナリオを作成し、それをＬＡＮ経由でホストＰＣ２０に送信する（ステップＳ１）。このテストシナリオの作成は、作業者がキーボードから必要事項を入力して行うが、その際、一から独自に手順を作成することもできるが、データベースサーバー３０に蓄積された過去のテストシナリオテーブルや、過去のテスト時に呼び釦や各種スイッチなどを実際に操作した操作履歴を参照し、その中から必要なテスト項目を選択したり適宜組合わせるなどの編集を行って作成の効率化を図る。また、今回作成されたテストシナリオもデータベースに蓄積され、次回のテストシナリオの作成時に利用可能とする。
【００１９】
テストシナリオの一例を図４に示す。図４において、項目１は実行手順の順番を、項目２は制御対象となる号機を示し、エレベータが１台の場合は図示のように項目２は自動的にａ号機となるが、２カーや群管理エレベータの場合はａ，ｂ，ｃ…号機というように、任意の複数のテスト装置に対して操作や確認の指定ができる。
【００２０】
項目３は対象マイコンを表し、操作項目や確認項目の実行をどのマイコンで行うかを指定する。項目４は実行種別を表し、今入力しようとしている手順が「操作」なのか「確認」なのか、またはその手順の「実行タイミング」なのかを入力し指定する。
項目５は実行項目であり、項目４で入力したのが「操作」であるならば予め作成してある「操作項目リスト」から選択した項目が入力される。また「確認」や「実行タイミング」の場合は、「確認項目リスト」から選択した項目が入力される。
項目６は実行内容であり、目的の操作項目や確認項目が選択されたら選択項目に応じて更に詳細な操作・確認内容を設定する。
【００２１】
このようにしてテストシナリオが作成されると、図３に戻り、テストコマンド変換プログラムにより、そのテストシナリオはホストＰＣ２０内で制御マイコン１０やシミュレータ４０が理解できる「テストコマンド」という形にすべて変換され（ステップＳ２）、テストコマンド通信処理プログラム２５により制御マイコン１０やシミュレータ４０に転送される（ステップＳ３）。
【００２２】
制御マイコン１０やシミュレータ４０はこの受け取ったすべての「テストコマンド」をサーバーモジュール１３に一旦保持し、受け取った順にその内容を解析する（ステップＳ４）。
更にサーバーモジュール１３は、上記解析の内容に応じて入出力モジュール１４とテスト対象である制御プログラム１１との入出力データ受け渡しに割り込んで入力を入れたり、出力の確認するなどによりシナリオに従ってテストを順次実行する（ステップＳ５）。
【００２３】
テストの実行中はその確認結果をサーバーモジュール１３で一旦保持しておき（ステップＳ６）、テストを終了するとその確認結果をＬＡＮまたはシリアル通信を経由して、テストシナリオ作成元のホストＰＣ２０またはユーザーＰＣ３１〜３３に送信する（ステップＳ７）。
【００２４】
ホストＰＣ２０またはユーザーＰＣ３１〜３３では、テストシナリオ作成時に予め設定しておいた期待結果と制御マイコン１０から転送されてきた確認結果とを比較してテスト対象である制御プログラムの合否を判定し、テストを終了する（ステップＳ８）。
【００２５】
実施の形態２．
次に、本発明の別の実施形態について説明する。上記実施の形態１においてはエレベータが１台の場合について説明したが、複数台のエレベータを一群として管理する群管理エレベータの制御プログラムの検証を自動で行う場合にも、同様にして本発明を適用することができる。
【００２６】
図５は、一例としてＡ〜Ｂ号機の３台のエレベータからなる群管理エレベータに本発明を適用した場合の全体構成を示す図で、図１に相当する図であり、相当部分は同一符号にて示している。
【００２７】
図５において、１０Ａ〜１０ＣはそれぞれＡ号機〜Ｃ号機の制御マイコン、１０Ｇは群管理制御マイコン、４０Ａ〜４０ＣはそれぞれＡ号機〜Ｃ号機用のシミュレータであり、ホストＰＣ２０と各制御マイコン及びシミュレータはシリアル通信で接続されている。なお、各制御マイコン及びシミュレータはそれぞれ図２に示したものと同様の構成であり、また、ユーザーＰＣやデータベースサーバー、意匠器具マイコンは図示を省略している。
【００２８】
図５の構成においても、プログラムのテストの実行手順は基本的に図３に示した手順と同じであり、まずホストＰＣ２０でテストシナリオを作成すると、テストコマンド変換プログラムにより、ホストＰＣ２０内でそのテストシナリオを制御マイコンやシミュレータが理解できる「テストコマンド」という形にすべて変換され、テストコマンド通信処理プログラムにより各制御マイコン１０A〜１０Ｃや、群管理制御マイコン１０Ｇ、及び各シミュレータ４０Ａ〜４０Ｃに転送される。
【００２９】
各制御マイコンやシミュレータはこの受け取ったすべての「テストコマンド」をそれぞれのサーバーモジュールに一旦保持してその内容を受け取った順に解析し、更に上記解析の内容に応じて入出力モジュールとテスト対象である制御プログラムとの入出力データ受け渡しに割り込んで入力を入れたり、出力の確認するなどによりシナリオに従ってテストを順次実行する。このとき、呼びの割当て等、各エレベータ間で連携をとる必要のある操作や動作確認は、号機間通信や群管理間通信を経て同期信号をやり取りすることにより実行する。
【００３０】
テストの実行中はその確認結果をそれぞれのサーバーモジュールで一旦保持しておき、テストを終了するとその確認結果をＬＡＮまたはシリアル通信を経由して、テストシナリオ作成元のホストＰＣ２０に送信する。
ホストＰＣ２０では、テストシナリオ作成時に予め設定しておいた期待結果と各制御マイコン１０Ａ〜１０Ｃや群管理制御マイコン１０Ｇから転送されてきた確認結果とを比較してテスト対象である各号機の制御プログラムや群管理制御プログラムの合否を判定し、テストを終了する。
【００３１】
このように群管理エレベータにおいても、全体として１つのテストシナリオを作成し、該シナリオの各号機の制御プログラムや群管理制御プログラムに対応させてそれぞれの制御マイコンやシミュレータに転送することにより、エレベータが１台の場合と同様にプログラムの検証を自動で行うことができる。
【００３２】
その他の実施形態
上記の実施形態では、シミュレータを利用して工場やプログラム開発現場でテストを行う場合について説明したが、既設エレベータの制御マイコンにテストシナリオに従ってテストを自動で実行するためのプログラムを予め実装しておくことにより、テストシナリオを転送するだけで上記と同様に自動でテストを行うことができ、従って公衆回線網を利用すれば遠隔監視センター等の遠隔地からもプログラムの検証を自動で行うことができる。
また、上記の実施形態ではプログラムの合否の判定までとしたが、必要に応じてテスト結果の報告書を自動で作成するようにすることもできる。
【００３３】
その他、本発明は上記の実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で、種々の改変を施すことができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施の形態１におけるプログラム検証システムの全体構成図である。
【図２】図１のホストＰＣと制御マイコンのプログラムの構成を示す図である。
【図３】本発明の実施の形態１におけるプログラムテストの自動実行の手順を説明するフローチャートである。
【図４】本発明の実施の形態１におけるテストシナリオの一例を示す図である。
【図５】本発明の実施の形態２におけるプログラム検証システムの全体構成図である。
【符号の説明】
【００３５】
１０  制御マイコン
１１  制御プログラム
１２  通信モジュール
１３  サーバーモジュール
１４  入出力モジュール
２０  ホストＰＣ
３０  データベースサーバー
３１〜３３  ユーザーＰＣ
４０  シミュレータ
５０  意匠器具マイコン
【図１】
0005303968.tif 000002
【図２】
0005303968.tif 000003
【図３】
0005303968.tif 000004
【図４】
0005303968.tif 000005
【図５】
0005303968.tif 000006