(57)【特許請求の範囲】
【請求項１】
複数の汎用回路ブロックの組合せ及び使用順序を変えることによって再構成可能な入出力制御部を備え、第１の制御機器から入力される実入力信号を前記入出力制御部で処理して第２の制御機器へ出力信号を出力するユニットであって、
前記実入力信号及び予め作成された模擬入力信号のどちらを入力信号とするかを選択する入力セレクタと、
前記出力信号を前記第２の制御機器へ出力するか否かを選択する出力セレクタと、
前記複数の汎用回路ブロックの組合せ及び使用順序を設定した前記入出力制御部に、１ステップごとに前記入力信号を処理させて前記出力信号を外部装置へ送信するか、又は前記複数の汎用回路ブロックの組合せ及び使用順序を設定した前記入出力制御部に、２ステップ以上の設定期間、連続して前記入力信号を処理させてステップごとの前記出力信号をロガー部に格納させ、前記ロガー部に格納された前記設定期間分の出力信号を前記外部装置へ送信する演算部とを備えることを特徴とするユニット。 
【請求項２】
複数の汎用回路ブロックの組合せ及び使用順序を変えることによって再構成可能な入出力制御部を備え、第１の制御機器から入力される実入力信号を前記入出力制御部で処理して第２の制御機器へ出力信号を出力するユニットであって、
前記実入力信号及び予め作成された模擬入力信号のどちらを入力信号とするかを選択する入力セレクタと、
前記出力信号を前記第２の制御機器へ出力するか否かを選択する出力セレクタと、
前記複数の汎用回路ブロックの組合せ及び使用順序を設定した前記入出力制御部に、１ステップごとに前記入力信号を処理させて前記出力信号を外部装置へ送信する演算部とを備えることを特徴とするユニット。 
【請求項３】
演算処理ユニットを介して前記外部装置へ接続され、前記演算処理ユニットを経由して前記外部装置へ前記出力信号を送信することを特徴とする請求項１又は２に記載のユニット。 
【請求項４】
ネットワークを介して前記外部装置へ接続され、前記ネットワークを経由して前記外部装置へ前記出力信号を送信することを特徴とする請求項１又は２に記載のユニット。 
【請求項５】
複数の汎用回路ブロックの組合せ及び使用順序を変えることによって再構成可能な入出力制御部を備え、第１の制御機器から入力される実入力信号を前記入出力制御部で処理して第２の制御機器へ出力信号を出力するインテリジェント機能ユニットを有するプログラマブルロジックコントローラと、前記プログラマブルロジックコントローラのデバッグ機能を備えたエンジニアリングツールとを含むプログラマブルロジックコントローラシステムであって、
前記インテリジェント機能ユニットは、
前記実入力信号及び予め作成された模擬入力信号のどちらを入力信号とするかを選択する入力セレクタと、
前記出力信号を前記第２の制御機器へ出力するか否かを選択する出力セレクタと、
前記複数の汎用回路ブロックの組合せ及び使用順序を設定した前記入出力制御部に、１ステップごとに前記入力信号を処理させて前記出力信号を前記エンジニアリングツールへ送信するか、又は前記複数の汎用回路ブロックの組合せ及び使用順序を設定した前記入出力制御部に、２ステップ以上の設定期間、連続して前記入力信号を処理させてステップごとの前記出力信号をロガー部に格納させ、前記ロガー部に格納された前記設定期間分の出力信号を前記エンジニアリングツールへ送信する演算部とを備え、
前記エンジニアリングツールは、
前記模擬入力信号を生成して前記インテリジェント機能ユニットに送信する入力データ生成部と、
前記入出力制御部に１ステップごとに前記入力信号を処理させるか、前記設定期間連続して前記入力信号を処理させるかを前記演算部に指示するデバッグ期間指示部と、
前記インテリジェント機能ユニットから受信した前記出力信号を格納する出力データ格納部と、
前記出力データ格納部に格納された出力信号の波形を表示する表示部とを備えることを特徴とするプログラマブルロジックコントローラシステム。 
【請求項６】
前記入力データ生成部は、前記模擬入力信号を作成するためのグラフィカルユーザインタフェースを有し、
前記デバッグ期間指示部は、前記複数の汎用回路ブロックに１ステップごとに前記入力信号を処理させるか、前記設定期間連続して前記入力信号を処理させるかを前記演算部に指示するためのグラフィカルユーザインタフェースを有することを特徴とする請求項５に記載のプログラマブルロジックコントローラシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、汎用回路ブロックを組み合わせて機能を実現するインテリジェント機能ユニット及びこれを用いたプログラマブルロジックコントローラシステムに関する。
【背景技術】
【０００２】
プログラマブルロジックコントローラ用のユニットの一種であるインテリジェント機能ユニットは、クロック、カウンタ、比較器、セレクタ及び論理ゲートといった汎用回路ブロックを組み合わせて、パルスカウント、周波数測定、タイマ、パルス幅変調出力といった入出力制御に求められる各種機能を実現する。【０００３】
インテリジェント機能ユニットは、汎用回路ブロックを組み合わせて実現した機能に誤りがないかを検証するためのデバッグ機能が必要である。【０００４】
特許文献１には、再構成可能な回路において、ユーザ模擬信号と考える信号パターンと論理素子のスナップショットをシーケンシャルに出力したものとを比較して、論理素子の内部状態をモニタすることが開示されている。【０００５】
特許文献２には、再構成可能な論理セルアレイにおいて、システムクロックとシフトレジスタのアドレスを変化させて任意の時点で任意の論理セルの出力を知得することが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２００２−５４４５７６号公報
【特許文献２】特開平８−９５８１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１に開示される発明は、汎用回路ブロックにあたる論理素子ごとにレジスタ、メモリ、ネットワーク回路及びトリガ回路が付随した構成であり、回路規模が増大してしまう。また、再構成回路を搭載した製品のデバッグ結果を表示することについて開示していない。【０００８】
上記特許文献２に開示される発明は、汎用回路ブロックにあたる論理セルに試験用回路及び制御用入力端が必要となり、回路規模が増大してしまう。また、再構成回路を搭載した製品のデバッグ結果を表示することについて開示していない。【０００９】
本発明は、上記に鑑みてなされたものであって、回路規模の増大を抑えつつ、再構成回路のデバッグ結果を表示可能なユニットを得ることを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明は、複数の汎用回路ブロックの組合せ及び使用順序を変えることによって再構成可能な入出力制御部を備え、第１の制御機器から入力される実入力信号を入出力制御部で処理して第２の制御機器へ出力信号を出力するユニットであって、実入力信号及び予め作成された模擬入力信号のどちらを入力信号とするかを選択する入力セレクタと、出力信号を第２の制御機器へ出力するか否かを選択する出力セレクタと、複数の汎用回路ブロックの組合せ及び使用順序を設定した入出力制御部に、１ステップごとに入力信号を処理させて出力信号を外部装置へ送信するか、又は複数の汎用回路ブロックの組合せ及び使用順序を設定した入出力制御部に、２ステップ以上の設定期間、連続して入力信号を処理させてステップごとの出力信号をロガー部に格納させ、ロガー部に格納された設定期間分の出力信号を外部装置へ送信する演算部とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明にかかるユニットは、回路規模の増大を抑えつつ、再構成回路のデバッグ結果を表示可能であるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態１にかかるプログラマブルロジックコントローラシステムの構成を示す図
【図２】実施の形態１にかかるプログラマブルロジックコントローラシステムのエンジニアリングツールの構成を示す図
【図３】実施の形態１にかかるプログラマブルロジックコントローラシステムにおいてエンジニアリングツールプログラムを実行するコンピュータのハードウェア構成を示す図
【図４】実施の形態１にかかるプログラマブルロジックコントローラシステムにおいてエンジニアリングツールプログラムを実行中のコンピュータを示す図
【図５】実施の形態１にかかるプログラマブルロジックコントローラシステムのプログラマブルロジックコントローラの構成を示す図
【図６】実施の形態１にかかるプログラマブルロジックコントローラシステムのデバッグ動作の流れを示すフローチャート
【図７】実施の形態１にかかるプログラマブルロジックコントローラシステムのデバッグ動作の流れを示すフローチャート
【図８】実施の形態１にかかるプログラマブルロジックコントローラシステムのエンジニアリングツールの表示部が表示装置に表示させるエンジニアリングツール画面の一例を示す図
【図９】実施の形態１にかかるプログラマブルロジックコントローラシステムにおいて、通常モードからデバッグモードへ切り替えるためのメニュー項目を含むプルダウンメニューが表示されたエンジニアリングツール画面の一例を示す図
【図１０】実施の形態１にかかるプログラマブルロジックコントローラシステムにおいて、デバッグモードから通常モードへ切り替えるためのメニュー項目を含むプルダウンメニューが表示されたエンジニアリングツール画面の一例を示す図
【図１１】実施の形態１にかかるプログラマブルロジックコントローラシステムにおける、実入力信号を用いてデバッグを行うか、模擬入力信号を用いてデバッグを行うかの選択ダイアログの一例を示す図
【図１２】実施の形態１にかかるプログラマブルロジックコントローラシステムにおける、期間設定ダイアログの一例を示す図
【図１３】実施の形態１にかかるプログラマブルロジックコントローラシステムにおける、模擬入力信号設定ダイアログの一例を示す図
【図１４】実施の形態１にかかるプログラマブルロジックコントローラシステムにおける、デバッグ結果の通知方法の問い合わせ画面の一例を示す図
【図１５】実施の形態１にかかるプログラマブルロジックコントローラシステムにおけるデバッグ結果表示画面の一例を示す図
【図１６】実施の形態１にかかるプログラマブルロジックコントローラシステムのインテリジェントユニットの変形例を示す図
【図１７】本発明の実施の形態２にかかるインテリジェント機能ユニットの構成を示す図
【図１８】実施の形態２にかかるインテリジェント機能ユニットを備えたプログラマブルロジックコントローラを含むプログラマブルロジックコントローラシステムにおけるデバッグ動作の流れを示すフローチャート
【図１９】実施の形態２にかかるインテリジェント機能ユニットを備えたプログラマブルロジックコントローラを含むプログラマブルロジックコントローラシステムにおけるデバッグ動作の流れを示すフローチャート
【発明を実施するための形態】
【００１３】
以下に、本発明の実施の形態にかかるユニット及びプログラマブルロジックコントローラシステムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１４】
実施の形態１．
図１は、本発明の実施の形態１にかかるプログラマブルロジックコントローラシステムの構成を示す図である。プログラマブルロジックコントローラシステム４０は、第１の制御機器２０ａ及び第２の制御機器２０ｂを制御するプログラマブルロジックコントローラ１０と、プログラマブルロジックコントローラ１０の制御対象である第１の制御機器２０ａ及び第２の制御機器２０ｂと、プログラマブルロジックコントローラ１０の設定を行うエンジニアリングツール３０とを有する。
【００１５】
図２は、実施の形態１にかかるプログラマブルロジックコントローラシステムのエンジニアリングツールの構成を示す図である。エンジニアリングツール３０は、プログラマブルロジックコントローラ１０をデバッグするためのデバッグ機能部３１を備えている。デバッグ機能部３１は、実信号の代わりとする模擬入力信号を生成する入力データ生成部３２と、プログラマブルロジックコントローラ１０から受信したデータを格納する出力データ格納部３３と、プログラマブルロジックコントローラ１０に対してデバッグ期間を指示するデバッグ期間指示部３４と、デバッグ画面を後述する表示装置に表示させる表示部３５と、デバッグ動作を統括する制御部３６とを含む。
【００１６】
エンジニアリングツール３０は、コンピュータがエンジニアリングツールプログラムを実行することによって構成されている。図３は、実施の形態１にかかるプログラマブルロジックコントローラシステムにおいてエンジニアリングツールプログラムを実行するコンピュータのハードウェア構成を示す図である。コンピュータ５０は、演算処理を行う演算装置５１、演算装置５１がワークエリアに用いるメモリ５２、エンジニアリングツールプログラム６０及び情報を記憶する記憶装置５３、入力インタフェースである入力装置５４、情報を表示する表示装置５５及びプログラマブルロジックコントローラ１０との通信用の通信装置５６を備える。
【００１７】
図４は、実施の形態１にかかるプログラマブルロジックコントローラシステムにおいてエンジニアリングツールプログラムを実行中のコンピュータを示す図である。コンピュータ５０は、演算装置５１がメモリ５２をワークエリアに用いて、エンジニアリングツールプログラム６０を実行することによってエンジニアリングツール３０となっている。すなわち、図２に示した入力データ生成部３２、出力データ格納部３３、デバッグ期間指示部３４、表示部３５及び制御部３６は、演算装置５１がエンジニアリングツールプログラム６０を実行することにより、実現される。また、複数の演算装置及び複数のメモリが連携して上記機能を実行してもよい。
【００１８】
図５は、実施の形態１にかかるプログラマブルロジックコントローラシステムのプログラマブルロジックコントローラの構成を示す図である。プログラマブルロジックコントローラ１０は、予め設定されたパラメータに従ってラダープログラムを実行する演算処理ユニットであるＣＰＵ（Central  Processing  Unit）ユニット１００と、パラメータ及びラダープログラムに合わせて動作を変化させて第１の制御機器２０ａ及び第２の制御機器２０ｂを制御するインテリジェント機能ユニット１１０と、ＣＰＵユニットとインテリジェント機能ユニットとを接続する通信バス１２０とを有する。
【００１９】
ＣＰＵユニット１００は、パラメータ１１１ａ及びラダープログラム１１１ｂを格納するメモリ１１１と、メモリ１１１に格納されているラダープログラム１１１ｂを実行する演算部１１２と、エンジニアリングツール３０との通信用の通信インタフェース１１３と、通信バス１２０を通じた通信用の通信インタフェース１１４とを備える。
【００２０】
インテリジェント機能ユニット１１０は、後述する複数の汎用回路ブロックをどの順番で動作させるかを示す情報を記憶するメモリ１２１と、デバッグ動作を入出力制御部１２３に行わせる演算部１２２と、汎用回路ブロックを複数備えた再構成回路である入出力制御部１２３と、通信バス１２０を通じた通信用の通信インタフェース１２４と、第１の制御機器２０ａから実入力信号を受信する入力回路１２５と、第２の制御機器２０ｂへ出力信号を出力する出力回路１２６とを有する。実施の形態１において、第１の制御機器２０ａはセンサであり、第２の制御機器２０ｂはスイッチである。なお、第１の制御機器２０ａと第２の制御機器２０ｂとは同じ機器であっても良い。
【００２１】
入出力制御部１２３は、デバッグに用いる模擬入力信号を記憶する入力データ部１３０、デバッグ動作時に入力回路１２５を有効にするか無効にするかを切り替えることにより、実入力信号及び模擬入力信号のどちらを入力信号とするかを選択する入力セレクタ１３１、汎用回路ブロックの組合せ及び使用順序を変更可能な回路ブロック切替バス１３２及びデバッグ結果である出力信号を第２の制御機器２０ｂへ送信するか否かを選択する出力セレクタ１３３を有する。出力セレクタ１３３は、デバッグ動作時に出力回路１２６を無効にして、デバッグ結果を第２の制御機器２０ｂに出力しないようにする。
【００２２】
入出力制御部１２３が備える汎用回路ブロックは、数値を計数する複数のカウンタ１３４１から１３４ｚ、基本的な論理演算を行う複数の論理ゲート１３５１から１３５ｙ、入力信号のノイズを除去する複数のフィルタ１３６１から１３６ｘ、クロックを入出力制御部１２３内の各汎用回路ブロックに供給して動作させる複数のクロック部１３７１から１３７ｗ、予め設定した演算処理を行う複数の演算器１３８１から１３８ｖ及び比較処理を行う複数の比較器１３９１から１３９ｕである。入出力制御部１２３は、ステップごとのデバッグ結果である出力信号を格納するロガー部１４０を備える。なお、基本的な論理演算とは、論理否定、論理積、論理和、排他的論理和、否定論理和及び否定論理積である。
【００２３】
入力データ部１３０は、設定を記憶するレジスタ１３０１を有する。入力セレクタ１３１は、設定を記憶するレジスタ１３１１を有する。回路ブロック切替バス１３２は、設定を記憶するレジスタ１３２１を有する。出力セレクタ１３３は、設定を記憶するレジスタ１３３１を有する。カウンタ１３４１から１３４ｚは、設定を記憶するレジスタ１３４１１から１３４１ｚを有する。論理ゲート１３５１から１３５ｙは、設定を記憶するレジスタ１３５１１から１３５１ｙを有する。フィルタ１３６１から１３６ｘは、設定を記憶するレジスタ１３６１１から１３６１ｘを有する。クロック部１３７１から１３７ｗは、設定を記憶するレジスタ１３７１１から１３７１ｗを有する。演算器１３８１から１３８ｖは、設定を記憶するレジスタ１３８１１から１３８１ｖを有する。比較器１３９１から１３９ｕは、設定を記憶するレジスタ１３９１１から１３９１ｕを有する。ロガー部１４０は、設定を記憶するレジスタ１４０１を有する。
【００２４】
演算部１２２は、１ステップごとに入出力制御部１２３に入力信号を処理させて出力装置をエンジニアリングツール３０へ送信するか、又は２ステップ以上の設定期間連続して入出力制御部１２３に入力信号を処理させてステップごとの主力信号をロガー部１４０に格納させ、ロガー部１４０に格納した設定期間分の出力信号をエンジニアリングツール３０へ送信する。また、演算部１２２は、デバッグ動作時にはクロック部１３７１から１３７ｗに指示を送って、分周したクロックを汎用回路ブロックへ出力させる。
【００２５】
インテリジェント機能ユニット１１０は、複数の汎用回路ブロックの組合せ及び使用順序を変えることによって再構成可能な入出力制御部１２３を備え、入力信号を複数の汎用回路ブロックで処理してデバッグ結果である出力信号を出力する。
【００２６】
デバッグを実行しない通常モードにおいては、演算部１１２は、メモリ１１１に格納されているパラメータ１１１ａに基づいてラダープログラム１１１ｂを実行して、通信バス１２０を通じて演算部１２２に指示を送る。演算部１２２は、演算部１１２からの指示にしたがって、汎用回路ブロックの組合せ及び使用順序を決定し、レジスタ１３０１，１３１１，１３２１，１３３１，レジスタ１３４１１から１３４１ｚ，１３５１１から１３５１ｙ，１３６１１から１３６１ｘ，１３７１１から１３７１ｗ，１３８１１から１３８１ｖ，１３９１１から１３９１ｕに設定を記憶させる。この際、入力セレクタ１３１のレジスタ１３１１には、入力回路１２５を有効にする設定が記憶される。また、出力セレクタ１３３のレジスタ１３３１には、出力回路１２６を有効にする設定が記憶される。そして、第１の制御機器２０ａから入力される実入力信号を入出力制御部１２３で処理し、出力信号を出力回路１２６から第２の制御機器２０ｂへ出力する。
【００２７】
実施の形態１にかかるプログラマブルロジックコントローラシステムのエンジニアリングツールのデバッグ動作時の動作について説明する。図６及び図７は、実施の形態１にかかるプログラマブルロジックコントローラシステムのデバッグ動作の流れを示すフローチャートである。図８は、実施の形態１にかかるプログラマブルロジックコントローラシステムのエンジニアリングツールの表示部が表示装置に表示させるエンジニアリングツール画面の一例を示す図である。エンジニアリングツール画面８０は、メニューを表示するメニューバー８１と、デバッグ対象のハードウェアロジック８４を表示するワークウィンドウ８２と、ハードウェアロジック８４を構成する部品を表示する部品選択ウィンドウ８３とを有する。ハードウェアロジック８４を構成する部品の具体例を挙げると、パラレルエンコーダブロック、多機能カウンタブロック、論理演算ブロック及び機能ブロックである。
【００２８】
ステップＳ１０１において、エンジニアリングツール３０の制御部３６は、エンジニアリングツール画面８０のワークウィンドウ８２へハードウェアロジック８４を記述する操作を受け付ける。ハードウェアロジック８４の記述は、ユーザが、部品選択ウィンドウ８３で部品を選択し、ワークウィンドウ８２上に配置する操作を、入力装置５４で実行することによって行われる。
【００２９】
ステップＳ１０２において、制御部３６は、デバッグモードへの切替操作を受け付ける。エンジニアリングツール画面８０上でメニューバー８１内の「デバッグ」を選択する操作が入力装置５４に対して行われると、表示部３５は、通常モードとデバッグモードとを切り替えるためプルダウンメニューをエンジニアリングツール画面８０内に表示させる。通常モード中であれば、表示部３５は、デバッグモードへ移行するためのメニュー項目を含むプルダウンメニューをエンジニアリングツール画面８０内に表示させる。図９は、実施の形態１にかかるプログラマブルロジックコントローラシステムにおいて、通常モードからデバッグモードへ切り替えるためのメニュー項目を含むプルダウンメニューが表示されたエンジニアリングツール画面の一例を示す図である。制御部３６は、プルダウンメニュー８５内のモード切替メニュー項目８５１を選択する操作を受け付ける。
【００３０】
なお、デバッグモード中であれば、表示部３５は、通常モードへ移行するためのメニュー項目を含むプルダウンメニューをエンジニアリングツール画面８０内に表示させる。図１０は、実施の形態１にかかるプログラマブルロジックコントローラシステムにおいて、デバッグモードから通常モードへ切り替えるためのメニュー項目を含むプルダウンメニューが表示されたエンジニアリングツール画面の一例を示す図である。エンジニアリングツール画面８０内に表示されたプルダウンメニュー８６は、デバッグモードから通常モードへ移行するためのメニュー項目８６１を含んでいる。
【００３１】
デバッグモードへ移行するためのメニュー項目を選択する操作が入力装置５４に対して行われると、ステップＳ１０３において、制御部３６は、デバッグに用いる信号の種類を選択する操作を受け付ける。具体的には、表示部３５は、実入力信号を用いてデバッグを行うか、模擬入力信号を用いてデバッグを行うかの選択ダイアログをエンジニアリングツール画面８０上に表示させる。図１１は、実施の形態１にかかるプログラマブルロジックコントローラシステムにおける、実入力信号を用いてデバッグを行うか、模擬入力信号を用いてデバッグを行うかの選択ダイアログの一例を示す図である。選択ダイアログ８７は、実入力信号選択ボタン８７１と模擬入力信号選択ボタン８７２とを備えている。制御部３６は、実入力信号選択ボタン８７１が押下された場合には、実入力信号を用いてデバッグを行うことを選択する操作が行われたと判断する。また、制御部３６は、模擬入力信号選択ボタン８７２が押下された場合には、模擬入力信号を用いてデバッグを行うことを選択する操作が行われたと判断する。
【００３２】
実入力信号を用いてデバッグを行うことを選択する操作が入力装置５４に対して行われた場合は、ステップＳ１０４でＹｅｓとなる。ステップＳ１０５において、制御部３６は、ワークウィンドウ８２に記述されているハードウェアロジック８４についてのデバッグを、実入力信号を用いて行うことをプログラマブルロジックコントローラ１０に通知する。インテリジェント機能ユニット１１０の演算部１２２は、メモリ１２１に記憶されている情報を参照して、ハードウェアロジック８４の処理を実現するために用いる汎用回路ブロックの組合せ及び使用順序を決定し、レジスタ１３０１，１３１１，１３２１，１３３１，レジスタ１３４１１から１３４１ｚ，１３５１１から１３５１ｙ，１３６１１から１３６１ｘ，１３７１１から１３７１ｗ，１３８１１から１３８１ｖ，１３９１１から１３９１ｕに設定を記憶させる。この際、入力セレクタ１３１のレジスタ１３１１には、入力回路１２５を有効にする設定が記憶される。また、出力セレクタ１３３のレジスタ１３３１には、出力回路１２６を無効にする設定が記憶される。
【００３３】
ステップＳ１０６において、デバッグ期間指示部３４は、デバッグ期間の設定を受け付ける。具体的には、デバッグ期間指示部３４は、デバッグを開始するクロック指定と、１ステップずつデバッグを実行するか一定期間のデバッグを実行するかの選択と、デバッグ期間の設定とを行う期間設定ダイアログをエンジニアリングツール画面８０上に表示させる。図１２は、実施の形態１にかかるプログラマブルロジックコントローラシステムにおける、期間設定ダイアログの一例を示す図である。期間設定ダイアログ８８は、デバッグを開始するステップを指定する開始ステップ指定欄８８１と、１ステップずつデバッグを行うか、設定した期間連続してデバッグを行うかを選択する動作種類指定欄８８２と、デバッグを行う期間を指定する期間指定欄８８３とを有している。期間設定ダイアログ８８は、デバッグ期間指示部３４のグラフィカルユーザインタフェースである。したがって、１ステップずつデバッグを行うか、設定期間連続してデバッグを行うかの選択をグラフィカルユーザインタフェース環境下で行うことができる。動作種類指定欄８８２は、１ステップずつデバッグを行うか、設定した期間連続してデバッグを行うかの一方のみを選択可能なラジオボタンとなっている。デバッグ期間指示部３４は、期間設定ダイアログ８８への入力操作を受け付ける。
【００３４】
また、模擬入力信号を用いてデバッグを行うことを選択する操作が入力装置５４に対して行われた場合はステップＳ１０４でＮｏとなる。ステップＳ１０７において、制御部３６は、ワークウィンドウ８２に記述されているハードウェアロジック８４についてのデバッグを、模擬入力信号を用いて行うことをプログラマブルロジックコントローラ１０に通知する。インテリジェント機能ユニット１１０の演算部１２２は、メモリ１２１に記憶されている情報を参照して、ハードウェアロジック８４の処理を実現するために用いる汎用回路ブロックの組合せ及び使用順序を決定し、レジスタ１３０１，１３１１，１３２１，１３３１，１３４１１から１３４１ｚ，１３５１１から１３５１ｙ，１３６１１から１３６１ｘ，１３７１１から１３７１ｗ，１３８１１から１３８１ｖ，１３９１１から１３９１ｕに設定を記憶させる。この際、入力セレクタ１３１のレジスタ１３１１には、入力回路１２５からの信号を無効にし、入力データ部１３０からの信号を有効にする設定が記憶される。また、出力セレクタ１３３のレジスタ１３３１には、出力回路１２６を無効にする設定が記憶される。
【００３５】
ステップＳ１０８において、デバッグ期間指示部３４は、ステップＳ１０６と同様に、デバッグ期間の設定を受け付ける。ステップＳ１０８の後、ステップＳ１０９において、入力データ生成部３２は、模擬入力信号を作成する処理を受け付ける。具体的には、入力データ生成部３２は、模擬入力信号の設定ダイアログをエンジニアリングツール画面８０上に表示させる。図１３は、実施の形態１にかかるプログラマブルロジックコントローラシステムにおける、模擬入力信号設定ダイアログの一例を示す図である。模擬入力信号設定ダイアログ８９は、ステップごとに０又は１の値を入力するための数値入力欄８９１と、数値入力欄８９１に入力された数値を変換した波形が表示される波形表示欄８９２とを備えている。模擬入力信号は、ローレベルかハイレベルかを、ステップごとに０又は１の値で数値入力欄８９１において指定することによって作成される。模擬入力信号は、デバッグに使用するチャンネルの数だけ作成する。模擬入力信号設定ダイアログ８９は、入力データ生成部３２のグラフィカルユーザインタフェースである。したがって、模擬入力信号の作成は、グラフィカルユーザインタフェース環境下で行うことができる。
【００３６】
なお、模擬入力信号設定ダイアログ８９は、ファイル読み込みボタン８９３を備えている。ファイル読み込みボタン８９３が押下された場合には、カンマ区切りテキスト形式のファイルによる０及び１の羅列を記憶装置５３から読み込むことによって、数値入力欄８９１に、ステップごとに０又は１の値を入力する。
【００３７】
入力データ生成部３２は、ステップごとのレベルが０又は１で指定された模擬入力信号を波形に変換して波形表示欄８９２に表示する。波形表示欄８９２に模擬入力信号の波形を表示することにより、模擬入力信号のステップごとのハイレベル又はローレベルの指定に誤りがあった場合に視覚的に認識することが可能となり、模擬入力信号の設定の誤りを低減できる。
【００３８】
なお、ステップＳ１０８とステップＳ１０９とは、逆の順番で実行しても良い。すなわち、模擬入力信号を作成する処理を受け付けてからデバッグ期間の設定を受け付けるようにしても良い。
【００３９】
ステップＳ１１０において、制御部３６は、設定期間分の模擬入力信号のデータをプログラマブルロジックコントローラ１０へ送信する。インテリジェント機能ユニット１１０の演算部１２２は、模擬入力信号のデータを入力データ部１３０に格納する。
【００４０】
ステップＳ１０６又はステップＳ１１０の処理が完了すると、ステップＳ１１１において、制御部３６は、設定した期間分のデバッグを連続して行う設定であるか、１ステップずつデバッグを行う設定であるかを確認する。設定期間分のデバッグを連続して行う場合は、ステップＳ１１１でＮｏとなり、ステップＳ１１２において、制御部３６は、通信インタフェースを通じて設定期間分のデバッグの実行を演算部１２２に指示する。この場合、ロガー部１４０のレジスタ１４０１には、ロガー部１４０を有効にする設定が記憶される。
【００４１】
ステップＳ１１３において、演算部１２２は、設定期間分のデバッグを実行し、１ステップごとにデバッグ結果をロガー部１４０に格納する。具体的には、演算部１２２は、設定期間分のクロックをクロック部１３７１から１３７ｗから他の汎用回路ブロックに供給して、設定期間分連続して動作させる。
【００４２】
設定期間分のデバッグが完了したら、ステップＳ１１４において、演算部１２２は、ロガー部１４０のデータを読み出してエンジニアリングツール３０へ送信し、出力データ格納部３３に格納させる。
【００４３】
一方、１ステップずつデバッグを行う設定である場合は、ステップＳ１１１でＹｅｓとなり、ステップＳ１１５において、制御部３６は、通信インタフェースを通じて１ステップ分のデバッグの実行を演算部１２２に指示する。この場合には、ロガー部１４０のレジスタ１４０１には、ロガー部１４０を無効にする設定が記憶される。
【００４４】
このように、演算部１２２は、複数の汎用回路ブロックの組合せ及び使用順序を設定した入出力制御部１２３に、１ステップごと又は２ステップ以上の設定期間連続して入力信号を処理させる。
【００４５】
ステップＳ１１６において、演算部１２２は、１ステップ分のデバッグを実行する。具体的には、演算部１２２は、１クロックをクロック部１３７１から１３７ｗから他の汎用回路ブロックに供給して動作させる。そして、ステップＳ１１７において、演算部１２２は、デバッグ結果を通信インタフェースからエンジニアリングツール３０へ送信し、出力データ格納部３３に格納させる。
【００４６】
ステップＳ１１７の後、制御部３６は、ステップＳ１０６又はＳ１０８で設定したステップまでデバッグを行ったかを判断する。すなわち、演算部１２２は、指定ステップに到達したか否かを判断する。ステップＳ１０６又はＳ１０８で設定したステップまでデバッグを行ったならば、ステップＳ１１８でＹｅｓとなり、ステップＳ１１９へ進む。ステップＳ１０６又はＳ１０８で設定したステップまでデバッグを行っていなければ、ステップＳ１１８でＮｏとなり、ステップＳ１１５へ進む。
【００４７】
ステップＳ１１４の後又はステップＳ１１８でＹｅｓとなった後、ステップＳ１１９において、制御部３６は、デバッグ結果の通知方法をユーザに問い合わせる。具体的には、表示部３５は、表示装置５５にデバッグ結果を波形表示又はカンマ区切りテキスト形式でファイルを出力するかの問い合わせ画面を表示させる。図１４は、実施の形態１にかかるプログラマブルロジックコントローラシステムにおける、デバッグ結果の通知方法の問い合わせ画面の一例を示す図である。デバッグ結果の通知方法の問い合わせ画面９０は、波形表示選択ボタン９１、ファイル出力選択ボタン９２及び終了ボタン９３を備えている。
【００４８】
波形表示選択ボタン９１を押下する操作が入力装置５４に対して行われると、ステップＳ１１９で「波形表示」となる。ステップＳ１２０において、表示部３５は、デバッグ結果をエンジニアリングツール画面８０上に表示する。図１５は、実施の形態１にかかるプログラマブルロジックコントローラシステムにおけるデバッグ結果表示画面の一例を示す図である。デバッグ結果表示画面９１１には、指定したステップ数の分の入力信号の波形９１２、入出力制御部１２３の入出力のオンオフ状態９１３、入出力制御部１２３のカウント値９１４及び出力信号の波形９１５が表示される。
【００４９】
ファイル出力選択ボタン９２を押下する操作がなされた場合、ステップＳ１１９において「ファイル出力」となる。ステップＳ１２１において、制御部３６は、デバッグ結果を記憶装置５３に記憶させる。
【００５０】
終了ボタン９３を押下する操作がなされた場合、ステップＳ１１９において「なし」となり、デバッグ処理が終了する。
【００５１】
なお、上記の説明においては、エンジニアリングツール３０を操作することによって模擬入力信号を作成しているが、模擬入力信号は、インテリジェント機能ユニット１１０への操作で作成して入力データ部１３０に格納してもよい。
【００５２】
また、上記の説明において、インテリジェント機能ユニット１１０は、ＣＰＵユニット１００を介してエンジニアリングツール３０へ接続され、ＣＰＵユニット１００を経由してエンジニアリングツール３０へデバッグ結果を送信するが、インテリジェント機能ユニット１１０は、ネットワークを介してエンジニアリングツール３０へ接続され、ネットワークを経由してエンジニアリングツール３０へデバッグ結果を送信しても良い。
【００５３】
図１６は、実施の形態１にかかるプログラマブルロジックコントローラシステムのインテリジェントユニットの変形例を示す図である。インテリジェント機能ユニット１６０は、ネットワーク通信部１６１を有している点で、インテリジェント機能ユニット１１０と相違している。ネットワーク通信部１６１はネットワークを通じてエンジニアリングツール３０と通信するための通信インタフェースである。インテリジェント機能ユニット１６０は、ネットワーク通信部１６１を利用して、ネットワークを通じてデバッグ結果をエンジニアリングツール３０へ送信することができる。
【００５４】
なお、インテリジェント機能ユニット１１０は、変形例のインテリジェント機能ユニット１６０と比較するとネットワーク通信部１６１が不要であるため、回路規模の増大を抑える効果は、インテリジェント機能ユニット１１０の方が大きくなる。
【００５５】
実施の形態１にかかるプログラマブルロジックコントローラシステム４０のインテリジェント機能ユニット１１０は、デバッグ機能の実現のために入出力制御部１２３に設けられる構成要素は、入力データ部１３０、入力セレクタ１３１、出力セレクタ１３３及びロガー部１４０であり、汎用回路ブロックごとに構成要素を追加する必要がない。したがって、回路規模の増大を抑えることができる。また、演算部１２２は、デバッグを１ステップずつ実行する場合には、デバッグ結果をエンジニアリングツール３０に送信し、デバッグを設定期間分連続して実行する場合には、１ステップごとにデバッグ結果をロガー部１４０に格納する。演算部１２２は、設定期間分のデバッグが終了した後に、ロガー部１４０に格納した設定期間分のデバッグ結果をエンジニアリングツール３０へ送信する。したがって、インテリジェント機能ユニット１１０でのデバイス結果は、エンジニアリングツール３０のデバッグ結果表示画面９１１に表示することができる。
【００５６】
また、実施の形態１にかかるプログラマブルロジックコントローラシステム４０は、設定期間連続してデバッグを実行する場合には、制御部３６が演算部１２２に逐一デバッグ実行を指示する必要がないため、演算装置５１の負荷を低減することができる。
【００５７】
また、デバッグ動作時には、演算部１２２の指示により、クロック部１３７１から１３７ｗから分周したクロックを供給して他の汎用回路ブロックを動作させるため、通常モードでは演算部１２２よりも高速に動作している入出力制御部１２３内の汎用回路ブロックを演算部１２２の動作周期で動作させてデバッグを行い、デバッグ結果を確認できる。
【００５８】
実施の形態１にかかるプログラマブルロジックコントローラシステム４０は、汎用回路ブロックを入出力制御部１２３にハードウェアで複数実装し、インテリジェント機能ユニット１１０のレジスタ設定に合わせて、各汎用回路ブロックの動作モードを変更する。かつ、各汎用回路ブロックは、組合せを選択可能にしている。このため、多様な入出力制御を行うプログラマブルロジックコントローラ１０のインテリジェント機能ユニット１１０にて、各汎用回路ブロックの動作及び汎用回路ブロックを組み合わせた動作を検証するデバッグ機能を実現できる。
【００５９】
実施の形態２．
図１７は、本発明の実施の形態２にかかるインテリジェント機能ユニットの構成を示す図である。実施の形態２にかかるインテリジェント機能ユニット１５０は、実施の形態１にかかるインテリジェント機能ユニット１１０からロガー部１４０が省かれた構成となっている。ロガー部１４０を備えないことを除いては、実施の形態１にかかるインテリジェント機能ユニット１１０と同様である。
【００６０】
図１８及び図１９は、実施の形態２にかかるインテリジェント機能ユニットを備えたプログラマブルロジックコントローラを含むプログラマブルロジックコントローラシステムにおけるデバッグ動作の流れを示すフローチャートである。実施の形態１にかかるプログラマブルロジックコントローラシステム４０のデバッグ動作と比較すると、ステップＳ１０６及びＳ１０８がステップＳ１０６’及びＳ１０８’に変更されている点と、ステップＳ１１１からＳ１１４を有さない点とで相違する。これらの点以外は、実施の形態１にかかるプログラマブルロジックコントローラシステム４０のデバッグ動作と同じである。
【００６１】
ステップＳ１０６’及びＳ１０８’において、デバッグ期間指示部３４は、デバッグ期間の設定を受け付ける。具体的には、デバッグ期間指示部３４は、デバッグを開始するクロック指定と、デバッグ期間の設定とを行う期間設定ダイアログをエンジニアリングツール画面上に表示させる。すなわち、１ステップずつデバッグを行うか、設定した期間連続してデバッグを行うかの選択が、ステップＳ１０６’及びＳ１０８’で行われない点で、実施の形態１にかかるプログラマブルロジックコントローラシステム４０のデバッグ動作と相違している。
【００６２】
以降の処理においては、実施の形態１にかかるプログラマブルロジックコントローラシステム４０のデバッグ動作でのステップＳ１１１からステップＳ１１４に相当する処理を行わない。このため、ステップＳ１０６’又はＳ１０８’で１ステップずつデバッグを行うか、設定した期間連続してデバッグを行うかの選択を行わなくても、デバッグ動作は１ステップずつ実行される。
【００６３】
実施の形態２にかかるインテリジェント機能ユニット１５０は、１ステップごとのデバッグ実行に限定されるが、ロガー部が不要であり、構成を簡略化してコスト低減を図れる。
【００６４】
なお、実施の形態２においても、実施の形態１の変形例と同様に、ネットワークを通じてエンジニアリングツール３０と通信するための通信インタフェースであるネットワーク通信部を設けてもよい。
【００６５】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００６６】
１０  プログラマブルロジックコントローラ、２０ａ  第１の制御機器、２０ｂ  第２の制御機器、３０  エンジニアリングツール、３１  デバッグ機能部、３２  入力データ生成部、３３  出力データ格納部、３４  デバッグ期間指示部、３５  表示部、３６  制御部、５０  コンピュータ、５１  演算装置、５２，１１１，１２１  メモリ、５３  記憶装置、５４  入力装置、５５  表示装置、５６  通信装置、６０  エンジニアリングツールプログラム、８０  エンジニアリングツール画面、８１  メニューバー、８２  ワークウィンドウ、８３  部品選択ウィンドウ、８４  ハードウェアロジック、８５，８６  プルダウンメニュー、８７  選択ダイアログ、８８  期間設定ダイアログ、８９  模擬入力信号設定ダイアログ、９０  問い合わせ画面、９１  波形表示選択ボタン、９２  ファイル出力選択ボタン、９３  終了ボタン、１００  ＣＰＵユニット、１１０，１５０，１６０  インテリジェント機能ユニット、１１１ａ  パラメータ、１１１ｂ  ラダープログラム、１１２，１２２  演算部、１１３，１１４，１２４  通信インタフェース、１２０  通信バス、１２３  入出力制御部、１２５  入力回路、１２６  出力回路、１３０  入力データ部、１３１  入力セレクタ、１３２  回路ブロック切替バス、１３３  出力セレクタ、１３４１，１３４ｚ  カウンタ、１３５１，１３５ｙ  論理ゲート、１３６１，１３６ｘ  フィルタ、１３７１，１３７ｗ  クロック部、１３８１，１３８ｖ  演算器、１３９１，１３９ｕ  比較器、１４０  ロガー部、１６１  ネットワーク通信部、８５１，８６１  メニュー項目、８７１  実入力信号選択ボタン、８７２  模擬入力信号選択ボタン、８８１  開始ステップ指定欄、８８２  動作種類指定欄、８８３  期間指定欄、８９１  数値入力欄、８９２  波形表示欄、８９３  ファイル読み込みボタン、９１１  デバッグ結果表示画面、９１２  入力信号の波形、９１３  オンオフ状態、９１４  カウント値、９１５  出力信号の波形、１３０１，１３１１，１３２１，１３３１，１３４１１，１３４１ｚ，１３５１１，１３５１ｙ，１３６１１，１３６１ｘ，１３７１１，１３７１ｗ，１３８１１，１３８１ｖ，１３９１１，１３９１ｕ，１４０１  レジスタ。
【要約】
インテリジェント機能ユニット（１１０）は、実入力信号及び予め作成された模擬入力信号のどちらを入力信号とするかを選択する入力セレクタ（１３１）と、出力信号を第２の制御機器へ出力するか否かを選択する出力セレクタ（１３３）と、複数の汎用回路ブロックの組合せ及び使用順序を設定した入出力制御部（１２３）に、１ステップごとに入力信号を処理させて出力信号をエンジニアリングツールへ送信するか、又は複数の汎用回路ブロックの組合せ及び使用順序を設定した入出力制御部（１２３）に、２ステップ以上の設定期間連続して入力信号を処理させてステップごとの出力信号をロガー部（１４０）に格納させ、ロガー部（１４０）に格納した設定期間分の出力信号をエンジニアリングツールへ送信する演算部（１２２）とを備える。【図１】
0005955482.tif 000002
【図２】
0005955482.tif 000003
【図３】
0005955482.tif 000004
【図４】
0005955482.tif 000005
【図５】
0005955482.tif 000006
【図６】
0005955482.tif 000007
【図７】
0005955482.tif 000008
【図８】
0005955482.tif 000009
【図９】
0005955482.tif 000010
【図１０】
0005955482.tif 000011
【図１１】
0005955482.tif 000012
【図１２】
0005955482.tif 000013
【図１３】
0005955482.tif 000014
【図１４】
0005955482.tif 000015
【図１５】
0005955482.tif 000016
【図１６】
0005955482.tif 000017
【図１７】
0005955482.tif 000018
【図１８】
0005955482.tif 000019
【図１９】
0005955482.tif 000020