(57)【特許請求の範囲】
【請求項１】
少なくとも一以上のサブシステムから構成される制御対象システム及び前記制御対象システムを制御する制御装置のシステム構成情報を参照し、
前記制御対象システムを制御するためのシステム制御コマンドスクリプト記述を、制御システムの基幹処理を行うホストにおける処理を示すホスト用コードと、前記制御対象システムを制御するコントローラにおける処理を示すコントローラ用コードとに分離することで、前記システム制御コマンドスクリプト記述を再構築するスクリプト記述分離再構築手段を備え、
前記スクリプト記述分離再構築手段は、
前記システム構成情報を参照して、前記システム制御コマンドスクリプト記述の各記述内容の属性を判定し、その属性情報を出力する属性判定手段と、
前記属性情報を用いて、前記ホスト内での処理と、前記コントローラでの処理の組み合わせで表現された組み合わせコードを生成する組み合わせコード構築手段とを備える、
スクリプト記述分離再構築装置。
【請求項２】
前記スクリプト記述分離再構築手段は、
前記組み合わせコードを分離して前記ホスト用コード及び前記コントローラ用コードを生成し、生成した前記ホスト用コード及び前記コントローラ用コードを出力するコード出力手段を更に備える請求項１に記載のスクリプト記述分離再構築装置。
【請求項３】
前記システム構成情報は、
前記制御対象システムのサブシステム構成に関する情報と、前記コントローラに関する情報と、前記制御対象システムの各構成要素が接続される前記コントローラを示す情報とを備えた請求項１または請求項２に記載のスクリプト記述分離再構築装置。
【請求項４】
前記属性判定手段は、
処理の実行情報を示す属性、または入力処理であるか否か及び出力処理であるか否かを示す属性、または入出力の対象となる前記制御対象システムの構成要素を示す属性、のいずれか一つ以上を含む前記属性情報を出力する請求項１〜３のいずれか１項に記載のスクリプト記述分離再構築装置。
【請求項５】
前記スクリプト記述分離再構築手段は、
前記ホスト用コードまたは前記コントローラ用コードを中間コードとして出力し、前記中間コードを前記ホストまたは前記コントローラ毎に固有のコードへ変換する少なくとも１つのコード変換手段をさらに備える請求項１乃至４のいずれか一に記載のスクリプト記述分離再構築装置。
【請求項６】
前記コード変換手段は、
前記中間コードを前記サブシステムのレジスタ設定値に変換する請求項５に記載のスクリプト記述分離再構築装置。
【請求項７】
少なくとも一以上のサブシステムから構成される制御対象システム及び前記制御対象システムを制御する制御システムのシステム構成情報を参照し、
前記制御対象システムを制御するためのシステム制御コマンドスクリプト記述を、前記制御システムの基幹処理を行うホストにおける処理を示すホスト用コードと、前記制御対象システムを制御するためのコントローラにおける処理を示すコントローラ用コードとに分離することで、前記システム制御コマンドスクリプト記述を再構築するスクリプト記述分離再構築手段を備え、
前記スクリプト記述分離再構築手段は、
前記システム構成情報を参照して、前記システム制御コマンドスクリプト記述の各記述内容の属性を判定し、その属性情報を出力する属性判定手段と、
前記属性情報を用いて、前記ホスト内での処理と、前記コントローラでの処理の組み合わせで表現された組み合わせコードを生成する組み合わせコード構築手段とを備える、
制御装置。
【請求項８】
前記システム構成情報を保持するシステム構成情報保持手段を備えた請求項７に記載の制御装置。
【請求項９】
前記ホスト用コードを実行する制御手段を備えた請求項７または請求項８に記載の制御装置。
【請求項１０】
前記コントローラ用コードを実行するコントローラを備えた請求項７乃至９いずれか一に記載の制御装置。
【請求項１１】
請求項７乃至１０いずれかに記載の制御装置と少なくとも一以上の制御対象システムとを備える処理システム。
【請求項１２】
制御対象システムを制御するためのシステム制御コマンドスクリプト記述を処理するためのスクリプト記述分離再構築装置における処理方法であって、
前記スクリプト記述分離再構築装置内のスクリプト記述分離再構築手段は、少なくとも一以上のサブシステムから構成される前記制御対象システム及び前記制御対象システムを制御する制御システムのシステム構成情報を参照し、
前記制御対象システムを制御するためのシステム制御コマンドスクリプト記述を、前記制御システムの基幹処理を行うホストにおける処理を示すホスト用コードと、前記制御対象システムを制御するためのコントローラにおける処理を示すコントローラ用コードとに分離することで、前記システム制御コマンドスクリプト記述を再構築し、
前記スクリプト記述分離再構築手段は、
前記システム構成情報を参照して、前記システム制御コマンドスクリプト記述の各記述内容の属性を判定し、その属性情報を出力する属性判定手段と、
前記属性情報を用いて、前記ホスト内での処理と、前記コントローラでの処理の組み合わせで表現された組み合わせコードを生成する組み合わせコード構築手段と、を備える、
スクリプト記述分離再構築方法。
【請求項１３】
コンピュータに、
少なくとも一以上のサブシステムから構成される制御対象システム及び前記制御対象システムを制御する制御装置のシステム構成情報を参照し、
前記制御対象システムを制御するためのシステム制御コマンドスクリプト記述を、前記制御対象システムの基幹処理を行うホストにおける処理を示すホスト用コードと、前記制御対象システムを制御するコントローラにおける処理を示すコントローラ用コードとに分離することで、前記システム制御コマンドスクリプト記述を再構築するスクリプト記述分離再構築ステップを実行させるためのプログラムであって、
前記スクリプト記述分離再構築ステップは、
前記システム構成情報を参照して、前記システム制御コマンドスクリプト記述の各記述内容の属性を判定し、その属性情報を出力する属性判定ステップと、
前記属性情報を用いて、前記ホスト内での処理と、前記コントローラでの処理の組み合わせで表現された組み合わせコードを生成する組み合わせコード構築ステップと、
を備える、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はシステム制御コマンドスクリプトを用いて少なくとも１以上のサブシステムから構成される制御対象システムを制御する制御装置における、スクリプト記述分離再構築装置、スクリプト記述分離再構築方法及びスクリプト記述分離再構築プログラムに関する。
【背景技術】
【０００２】
近年、組み込みシステムまたは産業システム等に代表される様々なシステムは、各企業等が様々なバリエーションのものを製造、提供している。このため、複数のシステムいずれも、同一の目的に利用することが可能な状態が発生している。また、これらのシステムは、システムの更新時期に合わせて、その時点における最新のシステムに置き換えることで、既存の機能に加えて、さらに機能を追加することが可能である。【０００３】
一方、これらのシステムは、システム毎に異なる仕様に基づいて構成されている。このため、このようなシステムを制御するコントローラは、同一の操作を行いたい場合であっても、それぞれのシステムに合わせて制御手順を修正する必要があった。つまり、コントローラに接続される制御対象システムが異なれば、コントローラはその制御対象システムの仕様に合わせてコマンドスクリプトを変更する必要があった。【０００４】
特許文献１に記載のコントローラは、図２９に示すように、予め制御対象システムに類似する機種に共通なドライバを備え、制御対象システムは、自身に類似する機種同士の差異を吸収するためのプロトコルデータを備える。この機種同士の差異を吸収するために必要な情報として、プロトコルデータは、この制御対象システムにおいて実行する処理のコマンド番号を示した定義情報に加えて、この制御対象システムの（１）ＢＵＳＹ値、（２）ＴＩＭＥＯＵＴ値、（３）ＳＴＯＲＯＢＥ値を含む。【０００５】
特許文献１に記載のコントローラは、プロトコルデータに基づき、ＢＵＳＹ値に示されるインターバルで制御対象システムへ制御信号を送信する。このコントローラが制御対象システムへ制御信号を送信した後、プロトコルデータのＴＩＭＥＯＵＴ値に示される時間以上経過しても、この制御対象システムから制御信号の応答を受信しなかったとき、コントローラはこの制御対象システムの異常を検知する。さらにコントローラは、このプロトコルデータに基づき、ＳＴＯＲＯＢＥ値に示される制御信号を連続で制御対象システムへ送信する。上記の一連の処理により、コントローラは、自身のプログラムの書き直しを行わなくても制御対象システムを制御できる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１６５６８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１記載のコントローラ及び制御対象システムには以下の問題点がある。特許文献１記載のコントローラ及び制御対象システムによっては、単一のシステムから構成される制御対象システムで利用していたコマンドスクリプトが、複数のサブシステムを組み合わせて構成される制御対象システムに対して流用できない。この問題は、制御対象システムが複数のサブシステムから構成されることに伴い、一般に複数のコントローラから構成される制御システムを用いることとなるが、複数のコントローラを連携させて、単一のシステムから構成される制御対象システムで利用していたコマンドスクリプトと同じ制御を行うには、制御システム全体で同じ制御となるように特別に構成されたコマンドスクリプトをコントローラ毎に準備しなければならないことに起因する。同様の問題は、複数のサブシステムからなる制御対象システム用のコマンドスクリプトを、複数のサブシステムからなる別構成の制御対象システムや単一のシステムから構成される制御対象システムで流用する場合にも発生する。【０００８】
本発明は、このような問題点を解決するためになされたものであり、制御対象システムのサブシステム構成及び制御装置の構成、及びコマンドスクリプトの種類にかかわらず、同一の操作を同一のコマンドスクリプトで記述できるスクリプト記述分離再構築装置、スクリプト記述分離再構築方法及びスクリプト記述分離再構築プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明にかかるスクリプト記述分離再構築装置の一態様は、少なくとも一以上のサブシステムから構成される制御対象システム及び前記制御対象システムを制御する制御システムのシステム構成情報を参照し、前記制御対象システムを制御するためのシステム制御コマンドスクリプト記述を、前記制御システムの基幹処理を行うホストにおける処理を示すホスト用コードと、前記制御対象システムを制御するコントローラにおける処理を示すコントローラ用コードとに分離することで、前記システム制御コマンドスクリプト記述を再構築するスクリプト記述分離再構築手段を備えるものである。【００１０】
本発明にかかるスクリプト記述分離再構築方法の一態様は、少なくとも一以上のサブシステムから構成される制御対象システム及び前記制御対象システムを制御する制御システムのシステム構成情報を参照し、前記制御対象システムを制御するためのシステム制御コマンドスクリプト記述を、前記制御システムの基幹処理を行うホストにおける処理を示すホスト用コードと、前記制御対象システムを制御するためのコントローラにおける処理を示すコントローラ用コードとに分離することで、前記システム制御コマンドスクリプト記述を再構築するものである。【００１１】
本発明にかかるスクリプト記述分離再構築プログラムの一態様は、制御対象システムを制御するためのシステム制御コマンドスクリプト記述を処理するためのプログラムが格納された非一時的なコンピュータ可読媒体であって、前記処理は、少なくとも一以上のサブシステムから構成される前記制御対象システム及び前記制御対象システムを制御する制御システムのシステム構成情報を参照し、前記制御対象システムを制御するための前記システム制御コマンドスクリプト記述を、前記制御システムの基幹処理を行うホストにおける処理を示すホスト用コードと、前記制御対象システムを制御するためのコントローラにおける処理を示すコントローラ用コードと、に分離することにより前記システム制御コマンドスクリプト記述を再構築するものである。
【発明の効果】
【００１２】
本発明によれば、制御対象システムのサブシステム構成、制御装置の構成、またはコマンドスクリプトの種類にかかわらず、同一の操作を同一のコマンドスクリプトで記述できるスクリプト記述分離再構築装置、スクリプト記述分離再構築方法、及びスクリプト記述分離再構築プログラムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１にかかるスクリプト記述分離再構築装置の概略を示すブロック図である。
【図２】実施の形態１にかかる構成を示すブロック図である。
【図３】実施の形態１にかかるスクリプト記述分離再構築部２２の構成を示すブロック図である。
【図４】実施の形態１にかかるシステム制御装置の処理フローを示すフローチャートである。
【図５】実施の形態１にかかるシステム制御コマンドスクリプト記述８１の記述例である。
【図６】実施の形態１にかかる制御対象システム１の構成の第１の例である。
【図７】実施の形態１にかかる制御対象システム１の構成の第１の例におけるシステム構成情報８２である。
【図８】実施の形態１にかかる制御対象システム１の構成の第１の例における属性情報７１である。
【図９Ａ】実施の形態１にかかる制御対象システム１の構成の第１の例における組み合わせコード７２である。
【図９Ｂ】実施の形態１にかかる制御対象システム１の構成の第１の例における組み合わせコード７２である。
【図１０】実施の形態１にかかる制御対象システム１の構成の第２の例である。
【図１１】実施の形態１にかかる制御対象システム１の構成の第２の例におけるシステム構成情報８２である。
【図１２】実施の形態１にかかる制御対象システム１の構成の第２及び第３の例における属性情報７１である。
【図１３Ａ】実施の形態１にかかる制御対象システム１の構成の第２の例における組み合わせコード７２である。
【図１３Ｂ】実施の形態１にかかる制御対象システム１の構成の第２の例における組み合わせコード７２である。
【図１４】実施の形態１にかかる制御対象システム１の構成の第３の例におけるシステム構成情報８２である。
【図１５】実施の形態１にかかる制御対象システム１の構成の第３の例における組み合わせコード７２である。
【図１６】実施の形態１にかかる制御対象システム１の構成例である。
【図１７】実施の形態１にかかる制御対象システム１の構成例におけるシステム構成情報８２である。
【図１８】実施の形態１にかかる制御対象システム１の構成例におけるシステム構成情報８２である。
【図１９】実施の形態２にかかる構成を示すブロック図である。
【図２０】実施の形態２にかかる制御装置の処理フローを示すフローチャートである。
【図２１】本発明の実施例の構成を示すブロック図である。
【図２２】本発明の実施例における制御装置の処理フローを示すフローチャートである。
【図２３】本発明の実施例におけるデバッグ環境制御言語記述８１−１の記述例である。
【図２４】本発明の実施例における組み合わせコード７２の出力例である。
【図２５】本発明の実施例におけるデバッグ対象システムの構成例である。
【図２６】本発明の実施例におけるシステム構成情報８２の例である。
【図２７】本発明の実施例における属性情報７１の例である。
【図２８Ａ】本発明の実施例における組み合わせコード７２の例である。
【図２８Ｂ】本発明の実施例における組み合わせコード７２の例である。
【図２９】特許文献１に開示されたコントローラの構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。
まず、図１を用いて、本発明の実施の形態１にかかるスクリプト記述分離再構築装置のシステム構成の概要について説明する。図１は、実施の形態１にかかるスクリプト記述分離再構築装置の概要を示すブロック図である。本実施の形態のシステム制御コマンドスクリプト記述８１は、制御対象システム及び制御装置の構成にかかわらず、統一した記法で、制御対象システムを制御する記述が定義されたものである。システム構成情報８２は、制御対象システム及び制御装置の構成を表す情報が記載されている。システム構成情報８２は、制御対象システムのサブシステム構成に関する情報と、コントローラに関する情報と、制御対象システムの各構成要素が接続されるコントローラを示す情報とを有する。システム構成情報８２の詳細は後述する。スクリプト記述分離再構築部２２は、システム制御コマンドスクリプト記述８１とシステム構成情報８２とを入力とし、システム制御コマンドスクリプト記述８１を分離して再構築することにより、コントローラ内での処理とホスト側とで処理されるコード８０を出力する。
【００１５】
なお、スクリプト記述分離再構築装置は、ＣＰＵにコンピュータプログラムを実行させることにより実現するソフトウェアプログラムとして説明する。また、ＣＰＵが実行するコンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の通信媒体を介して伝送することにより提供することも可能である。また、非一時的なコンピュータ可読媒体には、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＲＯＭカートリッジ、バッテリバックアップ付きＲＡＭメモリカートリッジ、フラッシュメモリカートリッジ、不揮発性ＲＡＭカートリッジ等が含まれる。また、通信媒体には、電話回線等の有線通信媒体、マイクロ波回線等の無線通信媒体等が含まれる。
【００１６】
次に、図２を用いて、本発明の第１の実施形態における制御システムの詳細を示す。図２は、本発明の第１の実施の形態における制御システムの全体構成の詳細を示すブロック図である。図２には、制御の対象となる制御対象システム１と、制御対象システム１の制御を行う制御装置４とが示されている。制御装置４は、制御装置４の基幹となるホスト３を備える。ホスト３は、システム制御コマンドスクリプト処理装置２と、制御部３１とを備える。制御対象システム１は、さらに、サブシステムＡ１１と、サブシステムＢ１２とを備え、制御装置４内にはそれぞれのサブシステムを制御するコントローラＡ４１と、コントローラＢ４２とを備える。システム制御コマンドスクリプト処理装置２及び制御部３１は、ホスト３上で動作する。さらに、システム制御コマンドスクリプト処理装置２は、システム構成情報保持部２１と、スクリプト記述分離再構築部２２とを備える。
【００１７】
次に、本実施の形態のシステム制御コマンドスクリプト処理装置２で処理を行うシステム制御コマンドスクリプト記述８１と、システム構成情報８２とについて説明する。
【００１８】
システム制御コマンドスクリプト記述８１には、制御対象システム１及び制御装置４の構成に関わらず統一された記法にて制御対象システム１の制御手順が記述されている。システム制御コマンドスクリプト記述８１は、システムを操作する出力記述と、出力記述を実行する判断条件などに用いられる入力記述とを有する。出力記述は、制御対象システム１の動作を停止、実行再開するなどの実行制御と、制御装置４の制御と、及びレジスタや変数の値を変更する記述等とを含む。入力記述は、制御対象システム１及び制御装置４の状態を取得する記述と、制御対象システム１での特定の動作を検出したことを示すイベント情報を取得する記述等とを含む。また、システム制御コマンドスクリプト記述８１は出力記述と、入力記述とを含み、条件判断などの記述も必要に応じて含む。
【００１９】
システム構成情報８２は、制御対象システム１及び制御装置４の構成を表す。システム構成情報８２には、制御対象システム１がどのようなサブシステムによって構成されているかを示す情報と、制御装置４の構成に関する情報と、コントローラに関する情報と、サブシステム及びサブシステム内の各リソースがそれぞれどのコントローラに属するかを示す情報とが含まれる。
【００２０】
次に、第１の実施形態における制御システムを構成する各部の詳細を説明する。システム構成情報保持部２１は、システム構成情報８２を保持する。
【００２１】
スクリプト記述分離再構築部２２は、システム構成情報保持部２１により保持されるシステム構成情報８２を用い、システム制御コマンドスクリプト記述８１を各コントローラ内での処理とホスト側での処理に分離して再構築する。スクリプト記述分離再構築部２２は、各コントローラ用コード（図２におけるコントローラＡ用コード８３、コントローラＢ用コード８４）及びホスト用コード８５を出力する。
【００２２】
制御部３１は、スクリプト記述分離再構築部２２の出力コードのうちホスト用コード８５を実行し、コントローラＡ４１、コントローラＢ４２に対する制御指示の送受信、動作状況などの送受信を行い、制御装置全体を操作することで制御対象システム１を制御する。
【００２３】
制御装置４内のコントローラＡ４１は、スクリプト記述分離再構築部２２の出力コードのうちコントローラＡ用コード８３を基に、制御部３１からの指示と連携して動作し、サブシステムＡ１１を制御する。制御装置４内のコントローラＢ４２は、スクリプト記述分離再構築部２２の出力コードのうちコントローラＢ用コード８４を基に、制御部３１からの指示と連携して動作し、サブシステムＡ１２を制御する。
【００２４】
次に、図３を用いて、スクリプト記述分離再構築部２２の詳細について説明する。図３は、スクリプト記述分離再構築部２２の構成を示すブロック図である。スクリプト記述分離再構築部２２は、属性判定部２２１と、組み合わせコード構築部２２２と、コード出力部２２３とを備える。
【００２５】
属性判定部２２１は、システム制御コマンドスクリプト記述８１を入力とし、システム構成情報８２を用いて、システム制御コマンドスクリプト記述８１の各行の属性情報７１を出力する。属性情報７１は、システム制御コマンドスクリプト記述８１のそれぞれの行が入力であるか出力であるか、または入力・出力の対象は何か(サブシステム、コントローラ、変数他)等の情報から構成される。
【００２６】
組み合わせコード構築部２２２は、属性情報７１を用いて、システム制御コマンドスクリプト記述８１を各コントローラでの処理と、ホストでの処理との組み合わせで表現することにより再構築する。組み合わせコード構築部２２２は、これを組み合わせコード７２として出力する。再構築を行うにあたり、組み合わせコード構築部２２２は、属性情報７１の情報を基に、システム制御コマンドスクリプト記述８１を、コントローラまたは制御部内部で処理が閉じるローカルアクションと、複数のコントローラまたは制御部に跨る処理を必要とするグローバルアクションとに自動分類する。
【００２７】
組み合わせコード構築部２２２は、出力記述実行の条件に用いられている入力の発生元と出力記述の対象が同じコントローラまたは制御部内であれば、ローカルアクションとして分類する。なお、特に、コントローラがシーケンサを内蔵しない場合など、本来ローカルアクションとしての処置が望ましいものであっても、ホスト側での処理を必要とするコントローラが存在する。この場合、ローカルアクションとして分類可能な範囲であるか否かに関わらずグローバルアクションとして分類する。ローカルアクションに分類された箇所は、そのままコントローラまたはホストでの処理として扱われる。グローバルアクションに分類された箇所は、更にコントローラ内での処理と、ホスト側での処理とに分離する形で再構築される。ここで、コントローラ内での処理と、ホストの処理とに分離するにあたって、組み合わせコード構築部２２２は、システム制御コマンドスクリプト記述８１の手順どおりに全体が動作するよう、必要に応じて通信処理、同期処理を補う。
【００２８】
コード出力部２２３は、組み合わせコード７２をコントローラ、及びホストごとに分離し、コード８０として出力する。ここでのコード８０は、図２におけるコントローラＡ用コード８３と、コントローラＢ用コード８４と、ホスト用コード８５とに相当する。各コントローラ用に出力されるコードは、各コントローラのローカルアクションに分類された記述と、グローバルアクションのうち再構築されたコントローラ内での処理等とが含まれる。
【００２９】
なお、図２において制御対象システム１はサブシステムＡ１１、サブシステムＢ１２の２つからなるシステムとしているが、本実施の形態のスクリプト記述分離再構築装置は任意の数のサブシステムからなる制御対象システムに対応したシステムに容易に拡張できる。また、図２において、サブシステムＡ、サブシステムＢ用のコントローラＡ４１、コントローラＢ４２をホスト３とは別に構成しているが、ホスト３用のソフトウェアとして構成する等の方法でホスト３内に含まれる構成や、制御対象システム１内の一部として構成してもよい。
【００３０】
次に、図４のフローチャートを用いて、本実施の形態にかかる処理システムの動作について説明する。
【００３１】
属性判定部２２１は、システム構成情報８２を用いて、システム制御コマンドスクリプト記述８１の各行の記述内容の属性情報７１を出力する（Ｓ１１）。組み合わせコード構築部２２２は、属性情報７１を用いてシステム制御コマンドスクリプト記述８１を各コントローラでの処理とホストでの処理との組み合わせで表現することで再構築する。これを、組み合わせコード７２として出力する（Ｓ１２）。最後にコード出力部２２３は、組み合わせコード７２のうち、コントローラＡ４１側での処理をコントローラＡ用コード８３、コントローラＢ４２側での処理をコントローラＢ用コード８４、ホスト側の処理をホスト用のコード８５として出力する（Ｓ１３）。
【００３２】
この後、システムを実際に動作させる（Ｓ１４、Ｓ１５）。まず動作前にコントローラＡ用コード８３、コントローラＢ用コード８４はそれぞれ制御装置４内のコントローラＡ４１、コントローラＢ４２上にロードされる。また、ホスト用コード８５は制御部３１上にロードされる（Ｓ１４）。その後、システムを動作させる段階において、コントローラＡ４１及びコントローラＢ４２は、制御部３１からの指示と連携して動作する（Ｓ１５）。
【００３３】
次に、システム制御コマンドスクリプト処理システムの動作の詳細について、システム制御コマンドスクリプト８１の一例として図５のケースを用いて説明する。ここでは、コアＡ１３とコアＢ１４とを備える制御対象システム１において、コアＡ１３とコアＢ１４の双方の実行停止を待った後に、変数ａ、変数ｂ、変数ｃの値を変更し、コアＡ１３とコアＢ１４の実行を再開する。図５では、説明のため自然言語でシステム制御コマンドスクリプト８１を表記しているが、実際には一般的にコマンドスクリプトに用いられるスクリプト言語により表記される。
【００３４】
制御対象システム１の構成の第１の例として、図６に示すものを挙げる。図６の制御対象システム１は、サブシステムＡ１１を制御するコントローラＡ４１と、サブシステムＢ１２を制御するコントローラＢ４２と、記憶領域１５とから構成される。更にサブシステムＡ１１はコアＡ１３を含み、サブシステムＢ１２はコアＢ１４を含む。また、記憶領域１５は、コアＡ１３専用のメモリ領域１５１の変数ａ１５４と、コアＢ１２専用のメモリ領域１５２の変数ｂ１５５と、コアＡ１１およびコアＢ１２双方から読み書きできる共有メモリ領域１５３の変数ｃ１５６とを備える。
【００３５】
最初に、属性判定部２２１は、図５のシステム制御コマンドスクリプト記述８１から、図７のシステム構成情報８２を用いて図８の属性情報７１を出力する。ここで、図７のシステム構成情報８２には、制御装置４がコントローラＡおよびコントローラＢの２つから構成されることと、コントローラＡ、コントローラＢとも単純処理のみ可能なコントローラであることと、制御対象システム１のサブシステム構成が、サブシステムＡ及びサブシステムＢの２つからなり、サブシステムＡはコントローラＡによって、サブシステムＢはコントローラＢによって制御されることと、制御対象システム１はコアＡ及びコアＢを含むが、コアＡはサブシステムＡに含まれることと、コアＢはサブシステムＢに含まれることと、変数ａ、ｂ、ｃは、それぞれコアＡ、コアＢ、コアＡまたはコアＢからアクセス可能なこととが示されている。
【００３６】
図８の属性情報７１は、システム制御コマンドスクリプト記述８１の１行目が、サブシステムＡ及びサブシステムＢからコントローラＡ及びコントローラＢを経由して入力を行うことと、２行目がコントローラＡを経由して変数への出力を行うことと、３行目がコントローラＢを経由して変数への出力を行うことと、４行目がコントローラＡ、コントローラＢのいずれかを経由して変数への出力を行うことと、５行目がコントローラＡ及びコントローラＢを経由してサブシステムへの出力を行うこととを示している。
【００３７】
次に組み合わせコード構築部２２２は、システム構成情報８２及び属性情報７１を用いて、図５のシステム制御コマンドスクリプト記述８１を各コントローラでの処理とホストでの処理との組み合わせで表現することで再構築し、図９に示すような組み合わせコード７２を出力する。なお、ここでは説明のため、組み合わせコード７２を図の形式にて表記しているが、実際には組み合わせコード７２はコンピュータ処理が容易な形式にて出力される。以下に、図９に示す組み合わせコード７２の説明を行う。
【００３８】
システム制御コマンドスクリプト記述８１の１行目のコアＡ、コアＢ双方の停止を待つ処理は、属性情報８２の１行目がコントローラＡ、コントローラＢの双方からの入力であることから、コントローラＡ、コントローラＢ側での停止イベント待ち処理と、ホストへのイベント通知送信処理と、ホスト側での通知待ち処理とに再構築される。
【００３９】
次に、システム制御コマンドスクリプト記述８１の２行目の変数ａの書き換え処理は、属性情報８２がコントローラＡへの出力であることから、ホスト側での変数ａ書き換え指示送信処理と、コントローラＡ側での指令受信待ち処理と、変数ａ書き換え処理とに再構築される。なお、システム制御コマンドスクリプト記述８１の３、４行目も同様に再構築される。ここで、システム制御コマンドスクリプト記述８１の４行目の処理は、コントローラＡ、コントローラＢの双方で処理が可能であることから、ここでは３行目の処理と連続して扱うことで効率化を図っている。
【００４０】
最後にシステム制御コマンドスクリプト記述８１の５行目の処理は、コントローラＡまたはコントローラＢに対する出力処理である。ここで、システム制御コマンドスクリプト記述８１の２〜４行目の処理は出力対象が変数であったが、５行目の処理は出力対象がサブシステム、つまりサブシステムの制御が目的である。よって、一旦４行目までの処理が終了するのを待つ処理が追加される。終了待ち後、５行目の処理はホスト側でのコントローラＡ及びコントローラＢへの制御指令送信と、コントローラ側での指令受信待ちと、サブシステム制御処理と、に再構築される。
【００４１】
この後、コード出力部２２３は、ホスト側の処理である図９Ｉをホスト用のコード８５として、サブシステムＡ１１を制御するコントローラＡ４１の処理である図９ＩＩをコントローラＡ用コード８３として、サブシステムＢ１２を制御するコントローラＢ４２の処理である図９ＩＩＩをコントローラＢ用コード８４として出力する。
【００４２】
制御対象システム１の構成の第２の例として、図１０に示すものを挙げる。図１０の制御対象システム１は、サブシステムＡ１１及びサブシステムＢ１２双方をコントローラＡ４１で制御する構成をとる。制御システム１は、記憶領域１５も備える。更にサブシステムＡ１１はコアＡ１３を含み、サブシステムＢ１２はコアＢ１４を含む。また、記憶領域１５は、コアＡ１３専用のメモリ領域１５１の変数ａ１５４と、コアＢ１２専用のメモリ領域１５２の変数ｂ１５５と、コアＡ１１およびコアＢ１２双方から読み書きできる共有メモリ領域１５３の変数ｃ１５６とを備える。
【００４３】
まず属性判定部２２１は、図５のシステム制御コマンドスクリプト記述８１から、図１１のシステム構成情報８２を用いて、図１２の属性情報７１を出力する。
【００４４】
次に組み合わせコード構築部２２２は、システム構成情報８２及び属性情報７１を用いて、図５のシステム制御コマンドスクリプト記述８１をホスト３での処理とコントローラＡ４１での処理との組み合わせで表現することで再構築し、図１３に示すような組み合わせコード７２を出力する。なお、ここでは説明のために、組み合わせコード７２は図の形式にて表記されているが、実際にはコンピュータ処理が容易な形式で出力される。以下に、図１３に示す組み合わせコード７２の説明を行う。
【００４５】
システム制御コマンドスクリプト記述８１の１行目のコアＡ、コアＢ双方が停止するのを待つ処理は、属性情報８２の１行目がコントローラＡからの入力であることから、コントローラＡ側での停止イベント待ち処理と、ホストへのイベント通知送信処理と、ホスト側での通知待ち処理とに再構築される。
【００４６】
次にシステム制御コマンドスクリプト記述８１の２行目の変数ａの書き換え処理は、属性情報８２がサブシステムＡへの出力であることから、ホスト側での変数ａ書き換え指示送信処理と、コントローラＡ側での指令受信待ち処理と、変数ａ書き換え処理とに再構築される。システム制御コマンドスクリプト記述８１の３、４行目の変数ｂ、ｃの書き換え処理も同様に再構築される。ここでは、いずれの変数もコントローラＡ経由で扱うことから、変数ａ、ｂ、ｃの書き換え処理がまとめて扱われている。
【００４７】
システム制御コマンドスクリプト記述８１の５行目の処理は、サブシステムＡ、及びサブシステムＢに対する出力処理である。ここで、システム制御コマンドスクリプト記述８１の２〜４行目の処理は出力対象が変数であったが、５行目の処理は出力対象がサブシステム、つまりサブシステムの制御が目的である。よって、組み合わせコード７２には、一旦４行目までの処理が終了するのを待つ処理が追加される。終了待ち後、システム制御コマンドスクリプト記述８１の５行目は、ホスト側でのコントローラＡへの制御指令送信と、コントローラ側での指令受信待ちとサブシステム制御処理と、に再構築される。
【００４８】
この後、コード出力部２２３は、ホスト３側の処理である図１３Ｉをホスト用のコード８５として、サブシステムＡ及びサブシステムＢを制御するコントローラＡの処理である図１３ＩＩをコントローラＡ用コード８３として出力する。
【００４９】
制御対象システム１の構成の第３の例として、図１０に示す制御対象システム１を挙げる。第２の例では、コントローラＡ４１は単純処理のみ行える構成であったが、第３の例では、図１４のシステム構成情報８２に示すように、コントローラＡ４１は高度処理が可能となっている点が異なる。高度処理は、単純にホストからの指示に応じた処理を行うのみではなく、コントローラ内で様々な条件判断などを含む一連の処置を独立して行えるものである。
【００５０】
属性判定部２２１は、図５のシステム制御コマンドスクリプト記述８１から、図１４のシステム構成情報８２を用いて、図１２の属性情報７１を出力する。ここまでの処理は第２の例と同様の処理である。
【００５１】
次に組み合わせコード構築部２２２は、システム構成情報８２及び属性情報７１を用いて、図５のシステム制御コマンドスクリプト記述８１を図１５のようにホストでの処理と各サブシステムでの処理の組み合わせで表現することで再構築する。本構成においては、コントローラＡは高度処理が可能であることから、システム制御コマンドスクリプト記述８１はほぼそのままコントローラＡ用の処理として扱われる。コントローラＡ側の処理には、ホスト側との制御開始、終了処理に伴う連携処理のみが追加される。
【００５２】
この後、コード出力部２２３は、ホスト側の処理である図１５Ｉをホスト用のコード８５として、サブシステムＡ及びサブシステムＢを制御するコントローラＡの処理である図１５ＩＩをコントローラＡ用コード８３として出力する。
【００５３】
その他の制御対象システム１の構成の例として、図１６に示すものを挙げる。図１６の制御対象システム１は、サブシステムＡ１１がコアＡ１３及びコアＢ１４を含む点で図１０と異なる。
【００５４】
この構成の制御対象システム１において、コントローラＡが単純処理にのみ対応する場合、システム構成情報８２は図１７に示すものとなる。一方、コントローラＡが高度処理に対応する場合、システム構成情報８２は図１８に示すものとなる。本構成においても、システム構成情報８２が図１７に示すものである場合、組み合わせコード構築部２２２は、図１３と同様の処理手順で組み合わせコード７２を出力する。システム構成情報８２が図１８に示すものである場合、組み合わせコード構築部２２２は、図１５と同様の処理手順で組み合わせコード７２を出力する。ただし、サブシステムＢの代わりにサブシステムＡを扱うようにそれぞれ再構築される。
【００５５】
次に、第１の実施形態におけるシステム制御コマンドスクリプト処理装置２の効果について説明する。一般に、コントローラ単体で扱える処理及びホストを含めて扱う必要がある処理は、制御対象システムによって制御システム構成やコントローラの機能が異なるためそれぞれ異なる。このため、一般的には個別のシステムごとに固有のシステム制御コマンドスクリプトを用意しなければいけない。
【００５６】
しかし、本システムでは、上述した一連の処理により、制御対象システムを制御するためのシステム制御コマンドスクリプト記述を、制御システムの基幹処理を行うホストにおける処理を示すホスト用コードと、コントローラにおける処理を示すコントローラ用コードとに分離する。制御対象システムは、ホスト用コードとコントローラ用コードによって制御することが可能である。よって、同一のシステム制御コマンドスクリプト８１を用いれば、制御システムの構成、コントローラの機能によらず、同一の処理を制御対象システム１に行わせることが可能となる。このため、制御対象システム１のサブシステム構成及びコントローラが変わっても、システム制御コマンドスクリプトを容易に使い回すことができる。
【００５７】
また、制御対象システム１の構成ごとに専用のシステム制御コマンド処理システムを作成する方法で、統一されたシステム制御コマンドスクリプト８１を流用可能とする方法は、処理システムの構築コストの観点から現実的でない。一方で本システムでは、システム構成情報８２を用いることにより、制御対象システム１の構成によらず一つの処理系で対応することができる。
【００５８】
実施の形態２
本発明の実施の形態２は、システム制御コマンドスクリプト処理装置２が各コントローラ用のコードコンバータを備える。
【００５９】
前述の特許文献１に記載のシステムでは、各制御対象システムが予め共通のプロトコルを備えることを前提条件として、コマンドスクリプトを流用可能なコントローラが構成されている。そのため、制御対象システムに自身に類似する機種同士の差異を吸収するためのプロトコルデータを備えることができない場合など、異なるコマンドスクリプトを採用するコントローラや制御対象システムを統合して扱うことができない。本実施の形態は、このような問題を解決することができるスクリプト記述分離再構築装置にかかるものである。
【００６０】
本実施の形態にかかる制御システムの全体構成を図１９に示す。本実施の形態にかかるシステム制御コマンドスクリプト処理装置２は、実施の形態１と異なり、コントローラＡ用コードコンバータ２３と、コントローラＢ用コードコンバータ２４と、ホスト用コードコンバータ２５とを更に備える。図１８におけるコントローラＡ４１は高度処理が可能なコントローラ、コントローラＢ４２は単純処理のみ可能なコントローラが用いられているものとする。
【００６１】
コードコンバータは、スクリプト記述分離再構築部２２が出力するコードを、各コントローラまたは制御部が採用するコード形式に変換し、出力する。一般にコントローラまたは制御部が採用する制御手順を記述するコード形式は、そのコントローラまたは制御部に固有のものとなっていることが多い。このため、コードコンバータは各コントローラや制御部が採用するコード形式ごとに追加される。スクリプト記述分離再構築部２２内のコード出力部２２３の出力コードは、コードコンバータによって変換された後に制御部３１またはコントローラＡ４１、コントローラＢ４２で使用されるため、中間コードとしての扱いとなる。
【００６２】
ここで、単純処理のみ可能なコントローラなど、コントローラの構成によってはコマンドスクリプトによって制御手順を設定するのではなく、レジスタの値によって動作を設定するタイプのコントローラも存在する。このため、このようなタイプのコントローラ用のコードコンバータは、中間コードをコントローラのレジスタ設定値に変換する。ただし、制御中の指示はホスト上の制御部３１から与えられる事が多いため、ここでのレジスタ設定値は主にコントローラのレジスタ初期設定などに用いられる。
【００６３】
コードコンバータは、ホスト及びコントローラの全てについて必ずしも付加する必要はない。スクリプト記述分離再構築部２２の出力コードをそのまま使用可能な箇所には設置せず、コードの変換が必要な箇所のみに追加する構成も可能である。
【００６４】
次に図２０のフローチャートを用いて、本実施の形態におけるシステムの動作について説明する。
【００６５】
属性判定部２２１は、システム構成情報８２を用いて、システム制御コマンドスクリプト記述８１の各記述内容を属性情報７１として出力する（Ｓ２１）。次に、組み合わせコード構築部２２２は、属性情報７１を用いて、システム制御コマンドスクリプト記述８１を各コントローラでの処理とホストでの処理との組み合わせで表現することで再構築する。これを、組み合わせコード構築部２２２は、組み合わせコード７２として出力する（Ｓ２２）。
【００６６】
続いて、コード出力部２２３は、組み合わせコード７２のうち、コントローラＡ４１、コントローラＢ４２側での処理をそれぞれコントローラＡ用中間コード８６、コントローラＢ用中間コード８７として、ホスト３側（制御部３１）の処理をホスト用の中間コード８８として出力する（Ｓ２３）。ここでの出力コードは、次のコードコンバータによって変換された後にコントローラＡ４１、コントローラＢ４２、または制御部３１で使用されるため、中間コードとしての扱いとなる。
【００６７】
最後にコントローラＡ用コードコンバータ２３は、コントローラＡ用中間コード８６を、コントローラＡ４１が採用するコード形式に変換し、コントローラＡ用コード８３を出力する。コントローラＢ用コードコンバータ２４は、コントローラＢ用中間コード８７を、コントローラＢ４１が採用するコード形式に変換し、コントローラＢ用設定情報８９を出力する。同様に、ホスト用コードコンバータ２５は、ホスト用中間コード８８を制御部３１が採用するコード形式に変換し、ホスト用コード８５を出力する（Ｓ２４）。
【００６８】
この後、システムを実際に動作させる（Ｓ２５、Ｓ２６）。システムを動作させる際、まず動作前にコントローラＡ用コード８３、コントローラＢ用設定情報８９はそれぞれ制御装置４を構成するコントローラＡ４１、コントローラＢ４２上にロードされる。また、ホスト用コード８３はホスト３内の制御部３１上にロードされる（Ｓ２５）。その後、システムを動作させる段階において、コントローラＡ４１とコントローラＢ４２は、制御部３１からの指示と連携して動作する（Ｓ２６）。
【００６９】
次に、本発明の第２の実施形態におけるシステム制御コマンドスクリプト処理システムの効果について説明する。
【００７０】
本実施の形態のシステム制御コマンドスクリプト処理装置２は、制御対象システム１に自身に類似する機種同士の差異を吸収するためのプロトコルデータを備えることができない場合等、異なるコマンドスクリプトを採用するコントローラや制御対象システム１であっても、統合して扱うことができる。これは、スクリプト記述分離再構築部２２が出力するコードを、各コントローラや制御部３１が採用するコード形式に変換し、出力するコードコンバータを備えたことによる。
【００７１】
またコードコンバータによって様々なコード形式への対応が行われるため、スクリプト記述分離再構築部２２は、単一のコード形式の出力のみに対応すればよい。このため、異なるコード形式を採用する様々なコントローラに対応するスクリプト記述分離再構築部２２を構築する必要がなくなる。
【００７２】
また、本実施形式のシステム制御コマンドスクリプト処理装置２では、これまでにない新規のコード形式を採用するコントローラを新たにシステムに組み込んだ場合でも、スクリプト記述分離再構築部２２を修正せずに、新たにシステムに組み込んだコントローラ用のコードコンバータのみ追加すれば対応可能となる。
【００７３】
具体的な実施例
続いて、具体的な実施例を用いて、本発明を実施するための構成及び動作を説明する。以下に述べる実施例は、システムのテスト・デバッグを行う環境に本実施の形態のシステム制御コマンドスクリプト処理システムを適用したものである。
【００７４】
図２１は、本実施の形態の実施例におけるデバッグ処理システムの全体構成を示すブロック図である。デバッグシステム４−１は、デバッグ対象システム１−１をデバッグするためのシステムである。デバッグシステム４−１は、基幹となるホスト３と、システム制御コマンドスクリプト処理装置２とを備える。デバッグ対象システム１−１は、さらに、コアＡ１３と、コアＢ１４とを備える。デバッグシステム４−１内にはそれぞれのコアを制御するデバッグ制御ユニットＡ４１−１と、デバッグ制御ユニットＢ４２−１とを備える。本実施例のシステム制御コマンドスクリプト処理装置２及び統合デバッガ３１−１は、ホスト３上で動作する。
【００７５】
システム制御コマンドスクリプト処理装置２は、システム構成情報保持部２１と、スクリプト記述分離再構築部２２と、デバッグ制御ユニットＡ用コードコンバータ２３−１と、デバッグ制御ユニットＢ用コードコンバータ２４−１と、ホスト用コードコンバータ２５とを備える。デバッグ対象システム１−１のサブシステムは、それぞれ１つのコアから構成されるものとして表記を省略し、コアのみ示している。また、図２１では、デバッグ制御ユニットＡ４１−１は高度処理が可能なデバッグ制御ユニットが用いられているものとする。一方、デバッグ制御ユニットＢ４２−１は単純処理のみ可能なデバッグ制御ユニットが用いられているものとする。
【００７６】
システム構成情報保持部２１は、デバッグ対象システム１−１と、デバッグシステム４−１との構成を表すシステム構成情報８２とを保持する。システム構成情報８２は、デバッグ対象システム１−１の構成に関する情報と、デバッグシステム（コンピュータ上で動作するデバッグツール、ＣＰＵ（Central Processing Unit:中央演算処理装置）またはＤＳＰ（Digital Signal Processor）などを対象としたＪＴＡＧ−ＩＣＥなどのハードウェアデバッガ、デバッグ対象システム上のデバッグ用回路及びデバッグ用ソフトウェア等のデバッグ制御ユニット一式）全体がどのような構成であるかを示す情報と、コアなどの制御対象と、デバッグ対象システムから通知される情報（観測データなど）の発信元がどのデバッグ制御ユニットに属するかと、が含まれる。
【００７７】
スクリプト記述分離再構築部２２は、システム構成情報保持部２１によって保持されるシステム構成情報８２を用い、システム制御コマンドスクリプト記述８１を各デバッグ制御ユニット内での処理とホスト３側での処理とに分離する形で再構築する。スクリプト記述分離再構築部２２は、各デバッグ制御ユニット用中間コード（図２１におけるデバッグ制御ユニットＡ用中間コード８６−１、デバッグ制御ユニットＢ用中間コード８７−１）及びホスト用中間コード８８を出力する。
【００７８】
デバッグ対象システム１−１の制御手順は、デバッグ対象システム１−１及びデバッグシステム４−１の構成に関わらず統一されたデバッグシステム制御言語８１−１で記述されている。デバッグシステム制御言語記述８１−１は、システムを操作する出力記述、出力記述を実行する判断条件などに用いられる入力記述を有する。出力記述は、デバッグ対象システム１−１の動作を停止、実行再開するなどの実行制御、デバッグシステム４−１の制御、またはレジスタや変数の値を変更する記述などが含む。入力記述は、デバッグ対象システム１−１及びデバッグシステム４−１の状態を取得する記述と、デバッグ対象システム１−１での特定の動作を検出したことを示すイベント情報を取得する記述等とが含まれる。また、出力記述、入力記述のほか、条件判断などの記述も必要に応じて含まれる。
【００７９】
コードコンバータ（デバッグ制御ユニットＡ用コードコンバータ２３−１、デバッグ制御ユニットＢ用コードコンバータ２４−１、ホスト用コードコンバータ２５）は、スクリプト記述分離再構築部２２が出力する中間コードを、各デバッグ制御ユニットや統合デバッガ３１−１が採用するコード形式に変換し、出力する。
【００８０】
一般にデバッグ制御ユニットや統合デバッガが採用する制御手順を記述するコード形式は、そのデバッグ制御ユニットや統合デバッガに固有のものとなっていることが多い。このため、コードコンバータはデバッグ制御ユニットや統合デバッガが採用するコード形式ごとに追加される。ここで、単純処理のみ可能なデバッグ制御ユニットなど、デバッグ制御ユニットの構成によってはコマンドスクリプトによって制御手順を設定するのではなく、レジスタの値によって動作を設定するタイプのデバッグ制御ユニットも存在する。このため、このようなタイプのデバッグ制御ユニット用のコードコンバータは、中間コードをデバッグ制御ユニットのレジスタ設定値に変換する。ただし、制御中の指示はホスト上の統合デバッガ３１−１から与えられる事が多いため、ここでのレジスタ設定値は主にデバッグ制御ユニットのレジスタ初期設定などに用いられる。また、コードコンバータは、デバッグ制御ユニット及びホストの全てについて必ずしも付加する必要はない。スクリプト記述分離再構築部２２の出力コードをそのまま使用可能な箇所には設置せず、コードの変換が必要な箇所のみに追加する構成を取ることが可能である。
【００８１】
統合デバッガ３１−１は、ホスト用コードコンバータ２５の出力コードであるホスト用コード８５を実行し、デバッグ制御ユニット４１−１、及びデバッグ制御ユニット４２−１に対する制御指示の送受信、動作状況などの送受信を行い、デバッグシステム４−１全体を操作することでデバッグ対象システム１−１を制御する。
【００８２】
本実施例において、デバッグシステム４−１内のデバッグ制御ユニットＡ４１−１は、高度処理が可能となっている。このため、デバッグ制御ユニットＡ用コードコンバータ２３−１からは制御ユニットＡ内蔵シーケンサ用コード８３−１が出力される。デバッグ制御ユニットＡ４１−１は、この制御ユニットＡ内蔵シーケンサ用コード８３−１に従って統合デバッガ３１−１からの指示と連携して動作し、コアＡ１３を制御する。
【００８３】
一方、本実施例において、デバッグ制御ユニットＢ４２は、単純処理のみ可能となっている。このため、デバッグ制御ユニットＢ用コードコンバータ２４−１は初期設定に用いられる制御ユニットＢ用設定情報８９−１のみを出力する。デバッグ制御ユニットＢ４２−１は制御開始前にこの設定情報を元に初期化され、制御の際には統合デバッガ３１−１からの指示によって動作し、コアＢ１４を制御する。
【００８４】
次に図３を用いて、スクリプト記述分離再構築部２２の詳細について説明する。なお、本実施例のスクリプト記述分離再構築部２２は、第１の実施形態における構成と同様であるため、図３を用いて説明する。スクリプト記述分離再構築部２２は、属性判定部２２１と、組み合わせコード構築部２２２と、コード出力部２２３とから構成される。
【００８５】
属性判定部２２１は、デバッグシステム制御言語記述８１−１から、システム構成情報８２を用いてデバッグシステム制御言語記述８１−１の各行の属性情報を属性情報７１として出力する。属性情報７１は、デバッグシステム制御言語記述８１−１のそれぞれの行が入力であるか出力であるか、または入力・出力の対象は何か(コア、デバッグ制御ユニット、変数他)等の情報から構成される。
【００８６】
組み合わせコード構築部２２２は、属性情報７１を用いて、デバッグシステム制御言語記述８１−１をホスト３での処理と、各デバッグ制御ユニットでの処理との組み合わせで表現することで再構築する。組み合わせコード構築部２２２は、これを組み合わせコード７２として出力する。
【００８７】
再構築にあたり、組み合わせコード構築部２２２は、属性情報７１の情報を基に、デバッグシステム制御言語記述８１−１を、デバッグ制御ユニットまたは統合デバッガ３１−１内部で処理が閉じるローカルアクションと、複数のデバッグ制御ユニットまたは統合デバッガ３１−１に跨る処理を必要とするグローバルアクションとに自動分類する。出力記述実行の条件に用いられている入力の発生元と出力記述の対象が同じデバッグ制御ユニット、または統合デバッガ３１−１内であればローカルアクションとして分類する。
【００８８】
なお、特にデバッグ制御ユニットがシーケンサを内蔵しない場合など、本来ローカルアクションとしての処理が望ましいものであっても、ホスト３側での処理を必要とするデバッグ制御ユニットが存在する。この場合、組み合わせコード構築部２２２は、アクションが閉じる範囲に関わらず、該当箇所をグローバルアクションとして分類する。ローカルアクションに分類された箇所は、そのままデバッグ制御ユニットまたは統合デバッガ３１−１内部での処理として扱われる。グローバルアクションに分類された箇所は、更にデバッグ制御ユニット内での処理とホスト３側での処理に分離する形で再構築される。ここで、デバッグ制御ユニット内での処理とホスト３の処理に分離するにあたって、組み合わせコード構築部２２２は、システム制御コマンドスクリプト記述８１の手順通りに全体が動作するよう、必要に応じて通信処理、同期処理を補う。
【００８９】
コード出力部２２３は、組み合わせコード７２をデバッグ制御ユニットやホストごとの処理に分離し、コード８０として出力する。コード８０は、図２１における制御ユニットＡ内蔵シーケンサ用コード８３−１と、制御ユニットＢ用設定情報８９−１と、ホスト用コード８５とに相当する。各デバッグ制御ユニット用に出力されるコードは、各デバッグ制御ユニットのローカルアクションに分類された記述と、グローバルアクションのうち再構築されたデバッグ制御ユニット内での処理等とを含む。
【００９０】
なお、図２１においてデバッグ対象システム１−１はコアＡ１３、コアＢ１４の２つからなるシステムとしているが、システム制御コマンドスクリプト処理装置２は任意の数のコアからなるデバッグ対象システム１−１に対応したシステムに容易に拡張できる。また、図２１において、コアＡ１３用のデバッグ制御ユニットＡ４１−１、及びコアＢ１４用のデバッグ制御ユニットＢ４２−１をホスト３とは別に構成されるものとして記載しているが、これに限られるものではない。例えば、デバッグ制御ユニットＡ４１−１及びデバッグ制御ユニットＢ４２−１をホスト３用のソフトウェアとして構成するなどの方法でホスト３内に含む構成や、デバッグ対象システム１−１内の一部として構成する方法をとることも可能である。
【００９１】
次に、図２２のフローチャートを用いて、本実施例におけるシステム制御コマンドスクリプト処理システムの動作について説明する。
【００９２】
属性判定部２２１は、システム構成情報８２を用いて、デバッグシステム制御言語記述８１−１の各記述内容の属性情報７１を出力する（Ｓ３１）。組み合わせコード構築部２２２は、属性情報７１を用いてデバッグシステム制御言語記述８１−１を各デバッグ制御ユニットでの処理とホスト３での処理との組み合わせで表現することで再構築する。組み合わせコード構築部２２２は、これを組み合わせコード７２として出力する（Ｓ３２）。
【００９３】
コード出力部２２３は、組み合わせコード７２のうち、デバッグ制御ユニットＡ４１−１側での処理をデバッグ制御ユニットＡ用中間コード８６−１として出力する。また、デバッグ制御ユニットＢ４２−１側での処理をデバッグ制御ユニットＢ用中間コード８７−１として出力する。同様に、コード出力部２２３は、ホスト３側（統合デバッガ３１−１）の処理をホスト用の中間コード８８として出力する（Ｓ３３）。この出力コードは、次のコードコンバータによって変換された後にデバッグ制御ユニットＡ４１−１、デバッグ制御ユニットＢ４２−１、統合デバッガ３１−１で使用されるため、中間コードとしての扱いとなる。
【００９４】
最後に、デバッグ制御ユニットＡ用コードコンバータ２３−１はデバッグ制御ユニットＡ用中間コード８６−１をデバッグ制御ユニットＡ４１−１が採用するコード形式に変換し、デバッグ制御ユニットＡ内蔵シーケンサ用コード８３−１を出力する。デバッグ制御ユニットＢ用コードコンバータ２４−１はデバッグ制御ユニットＢ用中間コード８７−１をデバッグ制御ユニットＢ４２−１が採用するコード形式に変換し、デバッグ制御ユニットＢ用設定情報８９−１を出力する。同様に、ホスト用コードコンバータ２５は、統合デバッガ３１−１が採用するコード形式に変換し、ホスト用コード８５を出力する（Ｓ３４）。
【００９５】
この後、システムを実際に動作させる（Ｓ３５、Ｓ３６）。システムを動作させる際、まず動作前にデバッグ制御ユニットＡ内蔵シーケンサ用コード８３−１、デバッグ制御ユニットＢ用設定情報８９−１はそれぞれデバッグシステム４−１を構成するデバッグ制御ユニットＡ４１−１、デバッグ制御ユニットＢ４２−１上に、ホスト用コード８３はホスト３内の統合デバッガ３１−１上にそれぞれロードされる（Ｓ３５）。そののち、システムを動作させる段階において、デバッグ制御ユニットＡ４１−１、デバッグ制御ユニットＢ４２−１は、統合デバッガ３１−１からの指示と連携して動作する（Ｓ３６）。
【００９６】
次に、デバッグ環境制御言語記述の再構築の一例を図２３に示す。図２３は、コアＡとコアＢの双方がブレイクポイントで停止した後に、変数ａ，ｂ，ｃの値を変更し、コアＡとコアＢ双方の実行を再開する処理を示す。なお、図２３では、説明のため、処理を自然言語で表記したが、実際にはスクリプト形式で表記される。
【００９７】
１つのデバッグ制御ユニット(デバッガ等)で２つのコアを制御するシステムでは、この記述は全てローカルアクションとなり、記述は再構築されない。よって、図２４の制御を行う指示がデバッグ制御ユニットに対して行われる。
【００９８】
一方で、２つのデバッグ制御ユニットを用いるシステムでは、デバッグ環境制御言語記述の再構築が必要となる。ここでは、図２５に示すシステムは、コアＡ１３を制御するデバッグ制御ユニットＡ４１−１と、コアＢ１４を制御するデバッグ制御ユニットＢ４２−１とから構成され、更にコアＡローカル領域の変数ａ１５４と、コアＢローカル領域の変数ｂ１５５と、共有領域の変数ｃ１５６とを扱う場合についての動作を示す。
【００９９】
属性判定部２２１は、図２３のデバッグ環境制御言語記述８１−１から、図２６のシステム構成情報８２を用いて図２７の属性情報７１を出力する。属性情報７１は、それぞれがどのデバッグ制御ユニットを対象としたものであるか、入力であるか出力であるか、または入力・出力の対象は何か(コア、デバッグ制御ユニット、変数他)などの情報から構成される。
【０１００】
次に組み合わせコード構築部２２２は、属性情報７１を用いて図２３のデバッグシステム制御言語記述を図２８のように再構築し、組み合わせコード７２として出力する。図２３のデバッグシステム制御言語記述８１−１の１行目のコアＡ、コアＢ双方がブレイクポイントで停止するのを待つ処理は、属性情報７１がデバッグ制御ユニットＡ、デバッグ制御ユニットＢ双方からの入力であることから、デバッグ制御ユニットＡ、及びデバッグ制御ユニットＢ側でのコアＡ及びコアＢのブレイクポイント停止イベント待ちと、ホストへのイベント通知送信処理と、ホスト側での通知待ち処理とに再構築される。
【０１０１】
図２３のデバッグシステム制御言語記述８１−１の２行目の変数ａの書き換え処理は、属性情報がデバッグ制御ユニットＡへの出力であることから、ホスト側での変数ａ書き換え指示送信と、デバッグ制御ユニットＡ側での指令受信待ち処理と、変数ａ書き換え処理とに再構築される。図２３のデバッグシステム制御言語記述８１−１の３、４行目の処理も同様に再構築される。図２３のデバッグシステム制御言語記述８１−１の４行目の処理はデバッグ制御ユニットＡ、デバッグ制御ユニットＢの双方で処理が可能であることから、ここでは３行目の処理と連続して扱うことで効率化を図っている。
【０１０２】
図２３のデバッグシステム制御言語記述８１−１の５行目の処理は、デバッグ制御ユニットＡ、及びデバッグ制御ユニットＢに対する出力処理である。ここで、図２３のデバッグシステム制御言語記述８１−１の２〜４行目の処理は出力対象が変数であったが、５行目の処理はコアであるため、一旦４行目までの処理が終了するのを待つ処理が追加される。終了待ち後、５行目の処理はホスト側でのデバッグ制御ユニットＡ及びデバッグ制御ユニットＢへの制御指令送信と、デバッグ制御ユニット側での指令受信待ちと、コア制御処理へと、に再構築される。
【０１０３】
次にコード出力部２２３は、組み合わせコード７２のうち、デバッグ制御ユニットＡ４１−１での処理である図２８ＩＩをデバッグ制御ユニットＡ用中間コード８６−１として出力する。また、コード出力部２２３は、デバッグ制御ユニットＢ４２−１側での処理である図２８ＩＩＩをデバッグ制御ユニットＢ用中間コード８７−１として出力する。同様に、コード出力部２２３は、ホスト側の処理である図２８Ｉをホスト用の中間コード８８として出力する。
【０１０４】
最後に、デバッグ制御ユニットＡ用コードコンバータ２３−１はデバッグ制御ユニットＡ用中間コード８６をデバッグ制御ユニットＡ４１−１が採用するコード形式に変換し、デバッグ制御ユニットＡ内蔵シーケンサ用コード８３−１を出力する。デバッグ制御ユニットＢ用コードコンバータ２４−１はデバッグ制御ユニットＢ用中間コード８７をデバッグ制御ユニットＢ４２−１が採用するコード形式に変換し、デバッグ制御ユニットＢ用設定情報８９−１を出力する。同様に、ホスト用コードコンバータ２５は、統合デバッガ３１−１が採用するコード形式に変換し、ホスト用コード８５を出力する。
【０１０５】
次に、本実施例におけるシステム制御コマンドスクリプト処理システムの効果について説明する。
【０１０６】
一般に、デバッグ制御ユニット単体で扱える処理と、ホスト含めて扱う必要がある処理は、デバッグ対象システムによってデバッグシステム構成が異なるためそれぞれ異なる。このため、一般的には個別のシステムごとにデバッグシステムの制御スクリプトを用意しなければいけない。
【０１０７】
しかし本システムでは、制御言語で記述した動作どおりにデバッグシステム全体が動作する。上述した一連の処理により、デバッグ対象システムを制御するためのデバッグシステム制御言語記述を、ホストにおける処理を示すホスト用コードと、デバッグ制御ユニットにおける処理を示すコードとに分離する。デバッグ対象システムは、ホスト用コードとデバッグ制御ユニット用のコードによって制御することが可能である。よって、同一の制御記述を用いれば、デバッグ対象システム及びデバッグシステムの構成によらず、同一の処理をデバッグシステムにさせることが可能となる。このため、システムが変わっても同一の制御記述を容易に使い回しができる。
【０１０８】
また、デバッグシステムの構成ごとに専用の制御言語処理システムを作成する方法で、統一されたデバッグシステム制御言語を流用可能とする方法は処理システムの構築コストの観点から現実的でない。一方、本システムでは、システム構成情報を用いることでデバッグ対象システム及びデバッグシステムの構成によらず一つの処理系で対応することができる。
【０１０９】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【０１１０】
この出願は、２００９年５月２２日に出願された日本出願特願２００９−１２４１５９を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１１１】
本発明は、例えば任意のシステムのテスト・デバッグを行う環境に対して利用可能性を有する。
【符号の説明】
【０１１２】
１  制御対象システム
１−１  デバッグ対象システム
１１  サブシステムＡ
１２  サブシステムＢ
１３  コアＡ
１４  コアＢ
２  システム制御コマンドスクリプト処理装置
２１  システム構成情報保持部
２２  スクリプト記述分離再構築部
２２１  属性判定部
２２２  組み合わせコード構築部
２２３  コード出力部
２３  コントローラＡ用コードコンバータ
２３−１  デバッグ制御ユニットＡ用コードコンバータ
２４  コントローラＢ用コードコンバータ
２４−１  デバッグ制御ユニットＢ用コードコンバータ
２５  ホスト用コードコンバータ
３  ホスト
３１  制御部
３１−１  統合デバッガ
４  制御装置
４−１  デバッグシステム
４１  コントローラＡ
４１−１  デバッグ制御ユニットＡ
４２  コントローラＢ
４２−１  デバッグ制御ユニットＢ
７１  属性情報
７２  組み合わせコード
８０  コード
８１  システム制御コマンドスクリプト記述
８２  システム構成情報
８２−１  デバッグシステム構成情報
８３  コントローラＡ用コード
８３−１  デバッグ制御ユニットＡ用コード
８４  コントローラＢ用コード
８５  ホスト用コード
８６  コントローラＡ用中間コード
８６−１  デバッグ制御ユニットＡ用中間コード
８７  コントローラＢ用中間コード
８７−１  デバッグ制御ユニットＢ用中間コード
８８  ホスト用中間コード
８９  コントローラＢ用設定情報
８９−１  デバッグ制御ユニットＢ用設定情報
９１  コントローラ
９２  制御対象システム
９３  接続媒体
９４、９５  記憶部
９６、９７  制御処理部
９８、９９  入出力部
９４１、９５１  制御機器Ｉ／Ｏ処理プロトコルデータ
９４２、９５２  ＩＣタグ処理プロトコルデータ
９４３、９５３  制御機器初期化処理プロトコルデータ
９６１、９７１  プロトコルデータ交換部
９６２、９７２  機器制御ドライバ部
【図１】
0005472296.tif 000002
【図２】
0005472296.tif 000003
【図３】
0005472296.tif 000004
【図４】
0005472296.tif 000005
【図５】
0005472296.tif 000006
【図６】
0005472296.tif 000007
【図７】
0005472296.tif 000008
【図８】
0005472296.tif 000009
【図９Ａ】
0005472296.tif 000010
【図９Ｂ】
0005472296.tif 000011
【図１０】
0005472296.tif 000012
【図１１】
0005472296.tif 000013
【図１２】
0005472296.tif 000014
【図１３Ａ】
0005472296.tif 000015
【図１３Ｂ】
0005472296.tif 000016
【図１４】
0005472296.tif 000017
【図１５】
0005472296.tif 000018
【図１６】
0005472296.tif 000019
【図１７】
0005472296.tif 000020
【図１８】
0005472296.tif 000021
【図１９】
0005472296.tif 000022
【図２０】
0005472296.tif 000023
【図２１】
0005472296.tif 000024
【図２２】
0005472296.tif 000025
【図２３】
0005472296.tif 000026
【図２４】
0005472296.tif 000027
【図２５】
0005472296.tif 000028
【図２６】
0005472296.tif 000029
【図２７】
0005472296.tif 000030
【図２８Ａ】
0005472296.tif 000031
【図２８Ｂ】
0005472296.tif 000032
【図２９】
0005472296.tif 000033