(57)【要約】【課題】設定データをダウンロードすることなく拡張ユニットの動作確認を行う。【解決手段】拡張ユニット４と接続した基本ユニット３において、プロジェクトデータの設定前に、拡張ユニット４の動作確認の指定および対象拡張ユニット４の選択がされると、その旨を拡張ユニット３に通知する。拡張ユニット４は通知に応じたテスト情報を基本ユニット３に返す。基本ユニット３は、取得したテスト情報に基づいて設定画面またはテスト画面を表示する。操作者によりその表示画面上で設定変更や動作確認開始の操作がされると、操作に応じたデータを拡張ユニット４に送信し、拡張ユニット４は操作に応じて設定変更やテスト動作を実行する。【選択図】図７
2016110393.tif 000002
【特許請求の範囲】
【請求項１】
ユーザプログラムを周期的に実行する基本ユニットと、それぞれが該基本ユニット及び外部機器に接続可能な複数種類の拡張ユニットとを有するプログラマブルコントローラであって、
前記基本ユニットは、
前記ユーザプログラムに関与するデバイスのデバイス値を表示する表示部を備え、
前記拡張ユニットは、
前記外部機器と接続するためのインターフェースを備え、
前記表示部には、前記拡張ユニットごとに、前記インターフェースに接続された前記外部機器からの入力又は前記インターフェースに接続された前記外部機器への出力に関して該拡張ユニットに応じたテストを行うためのテスト画面が表示されることを特徴とするプログラマブルコントローラ。
【請求項２】
前記表示部には、さらに、前記テストの内容を設定するための設定画面が表示されることを特徴とする請求項１に記載のプログラマブルコントローラ。
【請求項３】
前記基本ユニットは、前記表示部にデバイス値を表示させるための操作を受け付けるとともに、前記テストの対象となる拡張ユニットの選択を受け付ける操作部を備え、
前記表示部には、前記操作部により選択された拡張ユニットに応じたテストを行うためのテスト画面が表示されることを特徴とする請求項１又は２に記載のプログラマブルコントローラ。
【請求項４】
前記基本ユニット又は前記拡張ユニットは、前記拡張ユニットごとのテスト情報を記憶するテスト情報記憶部を備えることを特徴とする請求項１乃至３のいずれか一項に記載のプログラマブルコントローラ。
【請求項５】
前記基本ユニット又は前記拡張ユニットは、前記テスト情報記憶部に記憶されたテスト情報を前記表示部に表示させるテスト情報管理部を備えることを特徴とする請求項４に記載のプログラマブルコントローラ。
【請求項６】
前記テスト情報管理部は、前記操作部から入力されたテスト操作に基づいて、前記インターフェースにテスト信号を出力することを特徴とする請求項５に記載のプログラマブルコントローラ。
【請求項７】
前記テスト情報管理部は、前記操作部から入力されたテスト操作に基づいて、前記インターフェースからの入力に応じて前記インターフェースの状態を前記表示部に表示させることを特徴とする請求項５に記載のプログラマブルコントローラ。
【請求項８】
前記テスト情報管理部は、前記操作部により入力された設定変更操作に応じて、前記テストの設定内容を変更することを特徴とする請求項５乃至７のいずれか一項に記載のプログラマブルコントローラ。
【請求項９】
前記テスト情報管理部は、前記操作部により入力された、テスト対象を示すテスト識別情報に対応した表示情報を生成することを特徴とする請求項５乃至８のいずれか一項に記載のプログラマブルコントローラ。
【請求項１０】
前記拡張ユニットには、前記インターフェースと前記テスト情報記憶部と前記テスト情報管理部とが含まれることを特徴とする請求項５乃至９のいずれか一項に記載のプログラマブルコントローラ。
【請求項１１】
前記拡張ユニットは、当該拡張ユニットの選択を入力するための選択操作部を更に有し、
前記テスト情報管理部は、前記選択操作部により選択された拡張ユニットをテスト対象として、前記表示情報を生成することを特徴とする請求項１０に記載のプログラマブルコントローラ。
【請求項１２】
前記拡張ユニットは、前記拡張ユニットとの間で情報を交換するための一時記憶部を更に有し、
前記テスト情報は、前記テスト情報記憶部から前記基本ユニットへと、前記一時記憶部を介して送信されることを特徴とする請求項１０に記載のプログラマブルコントローラ。
【請求項１３】
前記インターフェースには、アナログ信号の入力と出力のうち少なくとも一方を行うアナログ機器を外部機器として接続するためのインターフェースを含み、
前記テスト情報管理部は、前記アナログ機器のための表示情報として、前記外部機器がアナログ機器であることと、アナログ信号の範囲を示す情報とを含む表示情報を生成し、前記操作部により入力された設定変更操作に応じて、前記アナログ信号の範囲の設定を変更することを特徴とする請求項１０乃至１２のいずれか一項に記載のプログラマブルコントローラ。
【請求項１４】
前記インターフェースには、位置決めを行う位置決め機器を外部機器として接続するためのインターフェースを含み、
前記テスト情報管理部は、前記位置決め機器のための表示情報として、前記外部機器が位置決め機器であることと、前記位置決め機器への出力信号の速度および接続方式とを含む表示情報を生成し、前記操作部により入力された設定変更操作に応じて、前記速度および接続方式の少なくとも一方の設定を変更することを特徴とする請求項１０乃至１２のいずれか一項に記載のプログラマブルコントローラ。
【請求項１５】
前記インターフェースには、１又は複数の二値信号を入出力する機器を外部機器として接続するためのインターフェースを含み、
前記基本ユニットは、前記二値信号を入出力する機器のための表示情報として、当該信号の値を表示することを特徴とする請求項１０乃至１２のいずれか一項に記載のプログラマブルコントローラ。
【請求項１６】
ユーザプログラムを周期的に実行する基本ユニットと、それぞれが該基本ユニット及び外部機器に接続可能な複数種類の拡張ユニットとを有するプログラマブルコントローラの試験方法であって、
前記基本ユニットは、前記ユーザプログラムに関与するデバイスのデバイス値を表示する表示部を備え、前記拡張ユニットは、前記外部機器と接続するためのインターフェースを備えており、
前記試験方法は、
前記表示部に、前記拡張ユニットごとに、前記インターフェースに接続された前記外部機器からの入力又は前記インターフェースに接続された前記外部機器への出力に関して該拡張ユニットに応じたテストを行うためのテスト画面を表示することを特徴とするプログラマブルコントローラの試験方法。
【請求項１７】
ユーザプログラムを周期的に実行する基本ユニットと、それぞれが該基本ユニット及び外部機器に接続可能な複数種類の拡張ユニットとを有するプログラマブルコントローラにおいて、
前記基本ユニットは、前記ユーザプログラムに関与するデバイスのデバイス値を表示する表示部を備え、前記拡張ユニットは、前記外部機器と接続するためのインターフェースを備えており、
前記基本ユニットにより実行され、前記表示部に、前記拡張ユニットごとに、前記インターフェースに接続された前記外部機器からの入力又は前記インターフェースに接続された前記外部機器への出力に関して該拡張ユニットに応じたテストを行うためのテスト画面を表示させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブル・ロジック・コントローラ及びプログラマブル・ロジック・コントローラの試験方法およびプログラムに関する。
【背景技術】
【０００２】
特許文献１が示すようにプログラマブル・ロジック・コントローラ（ＰＬＣ）の基本ユニットには拡張ユニットが接続される。拡張ユニットの構成や設定に関するデータ（設定データ）は、基本ユニットに接続されたコンピュータ等のプログラム作成支援装置により作成され、基本ユニットにダウンロードされる。この設定データに基づいて、基本ユニットは拡張ユニットの機能等を認識することができる。拡張ユニットは被制御装置に接続され、被制御装置に応じて、たとえばパルスモータにより制御対象の位置を決める位置決めユニットや、アナログ信号の入出力を行うアナログユニットなど、機能ユニットごとに異なる機能やインターフェースを有している。このため、外部装置との結線確認やＰＬＣの動作確認を行うためには、それらの機能やインターフェース等に応じた拡張ユニットの設定データがＰＬＣにダウンロードされている必要があり、プログラム作成支援装置が不可欠であった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−０５２６７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
設定データを予めＰＬＣにダウンロードしておかなければ外部装置の結線やＰＬＣの動作確認ができないため、たとえばＰＬＣを新たに設置した場合や再構成した場合等に拡張ユニットに応じた設定データのロードが必要であり、生産性や作業性の低下をもたらしていた。たとえば、プログラム作成支援装置を操作して設定データを作成するプログラマーと、基本ユニットに拡張ユニットを接続して生産ラインに設置するインストーラとは別であることが多い。従来は、インストーラがＰＬＣを設置しても設定データがないためにすぐにはＰＬＣの結線試験などを実行できなかった。つまり、インストーラはプログラマーに頼んで設定データを作成してもらい、ＰＬＣに設定データを転送してもらう必要があった。それゆえ、作業効率の向上余地があった。
【０００５】
本発明は上記従来例に鑑みて成されたもので、ＰＬＣに設定データをロードすることなく、外部装置との結線確認やＰＬＣの動作確認等を行うことができるプログラマブル・ロジック・コントローラ及びプログラマブル・ロジック・コントローラの試験方法（動作確認方法）およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本発明は、たとえば、ユーザプログラムを周期的に実行する基本ユニットと、それぞれが該基本ユニット及び外部機器に接続可能な複数種類の拡張ユニットとを有するプログラマブルコントローラであって、
前記基本ユニットは、
前記ユーザプログラムに関与するデバイスのデバイス値を表示する表示部を備え、
前記拡張ユニットは、
前記外部機器と接続するためのインターフェースを備え、
前記表示部には、前記拡張ユニットごとに、前記インターフェースに接続された前記外部機器からの入力又は前記インターフェースに接続された前記外部機器への出力に関して該拡張ユニットに応じたテストを行うためのテスト画面が表示されることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、拡張ユニットの設定データがなくともＰＬＣの結線や動作の確認を行うことができ、生産性や作業性の向上に資する。
【図面の簡単な説明】
【０００８】
【図１】ＰＬＣシステムの一例を示す図
【図２】ユーザプログラムの一例を示す図
【図３】プログラム作成支援装置の一例を示す図
【図４】ＰＬＣの一例を示す図
【図５】スキャンタイムを説明するための図
【図６】ベースレス・ビルディングタイプのＰＬＣの一例を示す図
【図７】基本ユニットおよび拡張ユニットそれぞれのＣＰＵが実現する機能の一例を示す図
【図８】拡張ユニットに対して構成ＩＤを割り当てる手順の例を示すフローチャート
【図９】（Ａ）拡張ユニットのテスト情報の一例を示す表、（Ｂ）（Ｃ）拡張ユニットの設定およびテストの表示画面例を示す図
【図１０】様々な拡張ユニットに係るテスト情報の例を示す図
【図１１】拡張ユニットの動作確認の処理手順の一例を示すフローチャート
【図１２】拡張ユニットの設定およびテストの他の表示画面例を示す図
【図１３】拡張ユニットの動作確認の処理手順の他の例を示すフローチャート
【発明を実施するための形態】
【０００９】
［第１実施形態］
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１０】
はじめにプログラマブル・ロジック・コントローラ（ＰＬＣ、単にプログラマブルコントローラと呼ばれてもよい）を当業者にとってよりよく理解できるようにするために、一般的なＰＬＣの構成とその動作について説明する。
【００１１】
図１は、本発明の実施の形態によるプログラマブル・ロジック・コントローラシステムの一構成例を示す概念図である。図１に示すように、このシステムは、ラダープログラムなどのユーザプログラムの編集を行うためのプログラム作成支援装置１と、工場等に設置される各種制御装置を統括的に制御するためのＰＬＣ（プログラマブル・ロジック・コントローラ）２とを備えている。ＰＬＣ２は、ＣＰＵが内蔵された基本ユニット３と１つないし複数の拡張ユニット４を備えている。基本ユニット３に対して１つないし複数の拡張ユニット４が着脱可能となっている。基本ユニット３は基本ユニットと呼ばれることもある。あるいはＣＰＵユニットと呼ぶこともある。
【００１２】
基本ユニット３には、表示部５及び操作部６が備えられている。表示部５には、基本ユニット３に取り付けられている各拡張ユニット４の動作状況などを表示することができ、表示部５の表示内容は、操作部６を操作することにより切り替えることができる。表示部５には、通常、ＰＬＣ２内のデバイスの現在値（デバイス値）やＰＬＣ２内で生じたエラー情報などが表示される。なお、デバイスとは、デバイス値を格納するために設けられたメモリ上の領域を指す名称である。デバイス値とは、入力機器からの入力状態、出力機器への出力状態およびユーザプログラム上で設定される内部リレー（補助リレー）、タイマー、カウンタ、データメモリ等の状態を示す情報である。本実施形態では、表示部５には拡張ユニットの設定やテストのための表示がされ、操作部６でそのための操作が行われる。
【００１３】
拡張ユニット４は、ＰＬＣ２の機能を拡張するために用意されており、基本ユニット３に対して側方から取り付けられる。１つ目の拡張ユニット４は、基本ユニット３に対して側方から直接的に取り付けられる。２つ目以降の拡張ユニット４は、既に取り付けられている拡張ユニット４に対して、側方から直列的に取り付けられる。たとえば、基本ユニット３の右側面と拡張ユニット４の左側面とが連結面になっている。同様に、１つ目の拡張ユニット４の右側面の形状等は基本ユニット３の右側面とほぼ同じであるため、１つ目の拡張ユニット４の右側面に２つ目の拡張ユニット４の左側面が連結される。このような連結方式は、数珠つなぎ方式とかデイジーチェーン方式と呼ばれてもよい。各連結面にはコネクタが設けられており、通信や電力供給を行うためのバスもコネクタを介して連結される。このようにして、基本ユニット３と複数の拡張ユニット４が直列的に取り付けられると、各拡張ユニット４内に備えられた配線（例：バス）を介して、各拡張ユニット４が基本ユニット３に対して通信可能に接続される。各拡張ユニット４には、その拡張ユニット４の機能に対応する被制御装置１６（図４）が接続され、これにより、各被制御装置１６が拡張ユニット４を介して基本ユニット３に接続される。被制御装置１６には、センサなどの入力装置や、アクチュエータなどの出力装置が含まれる。また被制御装置１６はＰＬＣの外部にあることから外部装置と呼ぶこともある。
【００１４】
プログラム作成支援装置１は、たとえば、携帯可能ないわゆるノートタイプやタブレットタイプのパーソナルコンピュータであって、表示部７及び操作部８が備えられている。ＰＬＣ２を制御するためのユーザプログラムの一例であるラダープログラムは、プログラム作成支援装置１を用いて作成され、その作成されたラダープログラムは、プログラム作成支援装置１内でニモニックコードに変換される。そして、プログラム作成支援装置１を、ＵＳＢ(Universal Serial Bus)などの通信ケーブル９を介してＰＬＣ２の基本ユニット３に接続し、ニモニックコードに変換されたラダープログラムをプログラム作成支援装置１から基本ユニット３に送ると、そのラダープログラムが基本ユニット３内でマシンコードに変換され、基本ユニット３に備えられたメモリ内に記憶される。
【００１５】
なお、図１では示していないが、プログラム作成支援装置１の操作部８には、プログラム作成支援装置１に接続されたマウスなどのポインティングデバイスが含まれていてもよい。また、プログラム作成支援装置１は、ＵＳＢ以外の他の通信ケーブル９を介して、ＰＬＣ２の基本ユニット３に対して着脱可能に接続されるような構成であってもよい。
【００１６】
図２は、ラダープログラムの作成時にプログラム作成支援装置１の表示部７に表示されるラダー図１７の一例を示す図である。図２に示すように、ＰＬＣ２を制御するためのラダープログラムは、プログラム作成支援装置１の表示部７にマトリックス状に表示される複数のセル１８内に仮想デバイスのシンボル１９を適宜配置して、視覚的なリレー回路を表すラダー図１７を構築することにより作成される。
【００１７】
ラダー図１７には、たとえば、１０列×Ｎ行（Ｎは任意の自然数）のセル１８が配置されている。そして、各行のセル１８内に、図２に示す左側から右側に向かって、時系列的に仮想デバイスのシンボル１９を適宜配置することにより、視覚的なリレー回路を作成することができる。作成されるリレー回路は、１行で表される直列的なリレー回路であってもよいし、複数行に並列的に表されたリレー回路を互いに結合することにより作成された、並列的なリレー回路であってもよい。
【００１８】
図２に示すリレー回路は、入力装置からの入力信号に基づいてオン／オフされる３つの仮想デバイス（以下、「入力デバイス」と呼ぶ。）のシンボル１９ａ，１９ｂ，１９ｃと、出力装置の動作を制御するためにオン／オフされる仮想デバイス（以下、「出力デバイス」と呼ぶ。）のシンボル１９ｄとが適宜結合されることにより構成されている。
【００１９】
各入力デバイスのシンボル１９ａ，１９ｂ，１９ｃの上方に表示されている文字（「Ｒ０００１」、「Ｒ０００２」及び「Ｒ０００３」）は、その入力デバイスのデバイス名（アドレス名）２１を表している。各入力デバイスのシンボル１９ａ，１９ｂ，１９ｃの下方に表示されている文字（「フラグ１」、「フラグ２」及び「フラグ３」）は、その入力デバイスに対応付けられたデバイスコメント２２を表している。出力デバイスのシンボル１９ｄの上方に表示されている文字（「原点復帰」）は、その出力デバイスの機能を表す文字列からなるラベル２３である。
【００２０】
図２に示す例では、デバイス名「Ｒ０００１」及び「Ｒ０００２」にそれぞれ対応する２つの入力デバイスのシンボル１９ａ，１９ｂが直列的に結合されることにより、ＡＮＤ回路が構成されている。また、これらの２つの入力デバイスのシンボル１９ａ，１９ｂからなるＡＮＤ回路に対して、デバイス名「Ｒ０００３」に対応する入力デバイスのシンボル１９ｃが並列的に結合されることにより、ＯＲ回路が構成されている。すなわち、このリレー回路では、２つのシンボル１９ａ，１９ｂに対応する入力デバイスがいずれもオンした場合、又は、シンボル１９ｃに対応する入力デバイスがオンした場合にのみ、シンボル１９ｄに対応する出力デバイスがオンされるようになっている。
【００２１】
図３は、図１のプログラム作成支援装置１の電気的構成について説明するためのブロック図である。図３に示すように、プログラム作成支援装置１には、ＣＰＵ２４、表示部７、操作部８、記憶装置２５及び通信部２６が備えられている。表示部７、操作部８、記憶装置２５及び通信部２６は、それぞれＣＰＵ２４に対して電気的に接続されている。記憶装置２５は、少なくともＲＡＭを含む構成であり、ラダープログラム記憶部２５ａと、編集ソフト記憶部２５ｂとを備えている。
【００２２】
ユーザは、編集ソフト記憶部２５ｂに記憶されている編集ソフトをＣＰＵ２４に実行させて、操作部８を通じてラダープログラムを編集する。ここで、ラダープログラムの編集には、ラダープログラムの作成及び変更が含まれる。編集ソフトを用いて作成されたラダープログラムは、ラダープログラム記憶部２５ａに記憶される。また、ユーザは、必要に応じてラダープログラム記憶部２５ａに記憶されているラダープログラムを読み出し、そのラダープログラムを、編集ソフトを用いて変更することができる。通信部２６は、通信ケーブル９を介してプログラム作成支援装置１を基本ユニット３に通信可能に接続するためのものである。
【００２３】
図４は、ＰＬＣ２の電気的構成について説明するためのブロック図である。図４に示すように、基本ユニット３には、ＣＰＵ１０、表示部５、操作部６、記憶装置１２及び通信部１４が備えられている。表示部５、操作部６、記憶装置１２、及び通信部１４は、それぞれＣＰＵ１０に電気的に接続されている。記憶装置１２は、ＲＡＭやＲＯＭ、メモリカードなどを含んでもよく、ラダープログラムなどが記憶される。記憶装置１２には、プログラム作成支援装置１から入力されたラダープログラムやユーザデータが上書きして記憶される。また、記憶装置１２には基本ユニット用の制御プログラムも格納されている。
【００２４】
図５は、本発明の実施の形態に係るプログラマブルコントローラの基本ユニット３でのスキャンタイムの構成を示す模式図である。図５が示すように１つのスキャンタイムＴは、入出力のリフレッシュを行うためのユニット間通信２０１、プログラム実行２０２、ＥＮＤ処理２０４により構成されている。ユニット間通信２０１で、基本ユニット３は、ラダープログラムを実行して得られた出力データを基本ユニット３内の記憶装置１２から外部機器などに送信するとともに、受信データを含めた入力データを基本ユニット３内の記憶装置１２に取り込む。プログラム実行２０２で、基本ユニット３は、更新された入力データを用いてプログラムを実行（演算）する。基本ユニット３はプログラムの実行によりデータを演算処理する。なお、ＥＮＤ処理とは、プログラム作成支援装置１や基本ユニット３に接続された表示器（図示せず）等の外部機器とのデータ通信、システムのエラーチェック等の周辺サービスに関する処理全般を意味する。
【００２５】
このように、プログラム作成支援装置１はユーザの操作に応じたラダープログラムを作成し、作成したラダープログラムをＰＬＣ２に転送する。ＰＬＣ２は、入出力リフレッシュ、ラダープログラムの実行およびＥＮＤ処理を１サイクル（１スキャン）として、このサイクルを周期的、すなわちサイクリックに繰り返し実行する。これにより、各種入力機器（センサ等）からのタイミング信号に基づいて、各種出力機器（モータ等）を制御する。よって、ＰＬＣ２は汎用のパーソナルコンピュータ（ＰＣ）とは全く異なる動きをする。
【００２６】
＜連結構造＞
図６（Ａ）はＰＬＣ２を構成する基本ユニット３、拡張ユニット４およびエンドユニット１１が連結される前の状態を示している。この例では、基本ユニット３の右方向に１つ以上の拡張ユニット４が連結される。最も右に位置する拡張ユニット４にはエンドユニット１１が連結される。エンドユニット１１は、最も右に位置する拡張ユニット４の右側面を保護するものであり、バスの終端機能を備えていてもよい。なお、拡張ユニット４の前面にはダイレクトアクセススイッチ４１が設けられてもよい。ダイレクトアクセススイッチ４１が操作されると、操作されたことを示す信号が通信バスを介して拡張ユニット４から基本ユニット３に伝達される。基本ユニット３は、この信号を受信することで、拡張ユニット４のダイレクトアクセススイッチ４１が操作されたことを認識し、所定の処理（テスト結果の表示など）を実行する。
【００２７】
図６（Ｂ）はＰＬＣ２を構成する基本ユニット３、拡張ユニット４およびエンドユニット１１が連結された状態を示している。このＰＬＣ２はベースレスのビルディングタイプであるため、ベースを使用せずに、基本ユニット３、拡張ユニット４およびエンドユニット１１が連結される。工場において制御盤に設置しやすくするために、ＰＬＣ２の背面にはＤＩＮレールなどの基準レール１３が取り付けられるようになっている。なお、基本ユニット３および拡張ユニット４の連結状態を維持するためにロック機構が採用されてもよい。
【００２８】
本実施形態では、基本ユニット３と拡張ユニット４とをつなぐバスとしては、たとえばアドレスとデータ、制御信号を並列に構成したパラレルバスや、アドレスやデータを引数とするコマンド及びレスポンスをパケットとして送受信するシリアルバスなど、種々の構成を採用できる。
【００２９】
＜ＰＬＣの機能＞
図７は、基本ユニット３及び拡張ユニット４それぞれの機能の一例を示す機能ブロック図である。これらの機能ブロックは、たとえばそれぞれのユニットのＣＰＵが制御プログラムを実行することで実現される。なお、各機能はＡＳＩＣ（特定用途集積回路）などの論理回路として実装されてもよい。基本ユニット（ＣＰＵユニットとも呼ぶ。）３は、表示・操作部７０１、テスト情報取得部７０２、操作情報通知部７０３を有する。表示・操作部７０１は、表示部５と操作部６とを含む。表示・操作部７０１は、たとえば、後述するテスト情報をＬＣＤ（液晶ディスプレイ）などの表示部５に表示し、キースイッチ等で構成された操作部６による出力操作や設定変更などの操作を受け付ける。
【００３０】
テスト情報取得部７０２は、拡張バス７２１を介して接続された拡張ユニット４のうち選択された拡張ユニットに対して当該拡張ユニットに係るテストのための情報（テスト情報）を要求し、選択された拡張ユニット（以下、選択拡張ユニットと呼ぶ。）４からテスト情報を取得する。取得したテスト情報は表示・制御部７０１による表示に反映される。操作情報通知部７０３は、操作部６による操作の内容を示す操作情報を表示操作部７０１から取得して選択拡張ユニットに通知する。基本ユニット３は拡張バス７２１を介して拡張ユニット４と接続されている。図７では、２つの拡張ユニット４が接続されている。拡張ユニット４は、被制御装置である外部機器の種類に応じて複数の種類が提供されている。たとえば外部機器がセンサであれば、拡張ユニット４はセンサからの検出信号を外部機器とのインターフェースを介して入力する。あるいは外部機器がアクチュエータであれば、アクチュエータを駆動するために信号を、外部機器とのインターフェースを介して出力する。このように拡張ユニット４は被制御装置の種類に応じて複数種類が用意されているが、図７の拡張ユニット４に示した構成は、それら種類の相違にかかわらず共通する構成であり、機種ごとに固有な機能を提供するための構成は省略されている。
【００３１】
一方拡張ユニット４において、外部機器Ｉ／Ｆ７１１は被制御装置である外部機器（例：モータ、アクチュエータ、センサ）と接続して入出力を行うためのインターフェース端子などを有する。テスト情報管理部７１２は、たとえば拡張ユニットの種類に応じたテスト情報と、テストのための設定データとを記憶し、基本ユニット３からの要求に応じて送信する。テスト情報は、本例ではテスト情報記憶部７１６に記憶されるが、テスト情報管理部７１２自身が記憶してもよい。テストのための設定データは、通常の運用で用いる設定データとは別に保持してもよいし、通常の運用で用いる設定データと共通に保持してもよい。またテスト情報管理部７１２は、基本ユニット３に通知する外部機器Ｉ／Ｆの情報を取得し、基本ユニット３からの操作情報を基に、あるいは設定データに応じた信号を外部Ｉ／Ｆ７１１から出力する。さらにテスト情報管理部７１２は、基本ユニット３で表示するための文字列等の情報を生成する。
【００３２】
バッファメモリ７１３は、基本ユニット３と拡張ユニット４との間のデータ、たとえばテスト情報のデータの受け渡しをするためのメモリであり、基本ユニット３からの入力データや、基本ユニット３への出力データを一時格納する。バッファメモリ７１３は、特定のアドレス毎に特定の機能が割り当てられている。たとえばバッファメモリ７１３には、被制御装置との間のデータの送受信のためのバッファや、拡張ユニット４の設定データなどを記憶する領域が割り当てられていてもよい。バッファメモリ７１３はたとえば拡張ユニット４と基本ユニット３の双方からアクセス可能な共有メモリで構成でき、それぞれのユニットが機能に応じたアドレスにデータを読み書きすることでデータのやり取りを行う。バッファメモリ７１３は、基本ユニット３とやり取りするデータのチャネル数に応じて、一つの拡張ユニット４に複数用意される場合もある。バッファメモリ７１３は、基本ユニット３からの拡張バス７２１を介した直接通信により読み書きされる。これにより、１つの拡張ユニット４に、たとえば複数の外部機器を接続し、それぞれの外部機器を制御することができる。なお、ここでいう直接通信とは、ユーザプログラム内に記述された直接通信命令（コマンド）に従って、プログラム実行２０２の期間中に、基本ユニット３と拡張ユニット４との間でデータ交換を行う通信を意味する。なお、例えばリフレッシュ２０１の期間中に直接通信を行ってもよい。
【００３３】
拡張ユニット４は更に選択操作部７１４と状態表示部７１５とを有する。選択操作部７１４はテスト対象となる拡張ユニット４を、拡張ユニットにおいて選択するための例えばスイッチ（上述したダイレクトアクセススイッチ４１等）などで構成される。状態表示部７１５は、テスト対象の拡張ユニット４に、テスト中であることを表示したり、あるいは入出力状態を表示したりするためのＬＥＤ等を含む。
【００３４】
＜構成ＩＤの割り当て＞
基本ユニット３は、拡張ユニット４を特定するために、構成ＩＤと呼ばれる識別情報を拡張ユニット４に割り当てる。本実施形態のテストにおいては基本ユニット３はその構成ＩＤを用いて拡張ユニットを特定する。構成ＩＤを割り当てるための機能ブロックは、図７には示していないが、ＣＰＵ３によりプログラムを実行することで実現される、たとえばユニット構成管理部などと呼ぶ機能ブロックである。
【００３５】
図８は基本ユニット用の制御プログラムにしたがってＣＰＵ１０が実行する構成ＩＤ割り当て処理の一例を示すフローチャートである。たとえば、基本ユニット３に外部電源から電力を供給されて起動すると、ＣＰＵ１０は構成ＩＤ割り当て処理を実行する。拡張ユニット４の追加や削除は、基本ユニット３に電力が供給されていない状態で実行される。よって、基本ユニット３は起動した直後に実行する初期化のシーケンスにおいて構成ＩＤ割り当て処理を実行する。
【００３６】
Ｓ８０１で、ＣＰＵ１０は拡張バス７２１を介して拡張ユニット４に対して機種問い合わせを送信する。機種問い合わせとは、拡張ユニット４がどのような機種であるかを問い合わせることをいう。機種問い合わせの宛先は特定されない。本例では、拡張バス７２１は物理的にはデイジーチェーンであり、基本ユニット３と或る拡張ユニット４との間で拡張バス７２１を送受信される通信信号は、介在する拡張ユニット４によりバケツリレー方式で伝達される。機種問い合わせはまず、基本ユニット３に直接連結された拡張ユニット４によって受信される。拡張ユニット４のＣＰＵは所定のプログラムを実行することで、自ユニットにはまだ構成ＩＤが割り当てられていないことを構成ＩＤの記憶領域を参照して認識すると、予め記憶されている自ユニットの識別情報（拡張ユニットの機種名や種別を示す情報）を基本ユニット３に返信する。なお、構成ＩＤを割り当てられていない拡張ユニット４が問い合わせを受信したときは、この問い合わせを別の拡張ユニットには中継しない。反対に、構成ＩＤを割り当てられている拡張ユニット４が問い合わせを受信したときは、応答することなく隣に接続されている別の拡張ユニットに問い合わせを中継する。
【００３７】
Ｓ８０３で基本ユニット３は拡張ユニット４から機種問い合わせに対する返信を受信する。この返信には、拡張ユニット４の機種を示す識別情報が含まれている。
【００３８】
Ｓ８０５で基本ユニット３は拡張ユニット４に対して構成ＩＤを割り当てる。構成ＩＤは、基本的に、接続位置を示す情報であるため、たとえば、連番となるように決定される。たとえば、基本ユニット３は構成ＩＤをカウントするためのカウンタを備え、構成ＩＤを割り当てるたびにカウンタを１つずつ増分させてもよい。基本ユニット３は拡張ユニットの管理テーブルにエントリーを作成し、そのエントリーに拡張ユニット４の構成ＩＤ、位置情報およびユニット種別（拡張ユニット４の識別情報）などを登録する。
【００３９】
Ｓ８０７で、基本ユニット３は拡張ユニット４に対して接続状態を問い合わせる。接続状態とは、その拡張ユニット４の隣に別の拡張ユニット４が接続されているかどうかである。接続状態の問い合わせを受信した拡張ユニット４は拡張バス７２１を介し、別の拡張ユニット４が接続されているかどうかを検知する。たとえば、これは通信バスにおける特定の信号線の信号レベルなどから判別可能である。拡張ユニット４は接続状態に対する返信（接続有り／接続無し）を作成し、拡張バス７２１を介して基本ユニット３に送信する。
【００４０】
Ｓ８０９で基本ユニット３は拡張ユニット４の返信を受信し、返信内容に基づき、別の拡張ユニット４が接続されているかどうかを判定する。構成ＩＤが割り当てられていない別の拡張ユニット４が存在する場合、Ｓ８０１に戻り、その別の拡張ユニット４に対して問い合わせを送信する。以下、基本ユニット３はＳ８０１〜Ｓ８０７を実行し、その別の拡張ユニット４に対しても同様に構成ＩＤを付与する。すべての拡張ユニット４に対して構成ＩＤが割り当てられると、Ｓ８０９でＮｏとなり、本処理を終了する。
【００４１】
なお、基本ユニット３は拡張ユニット４に送信する機種問い合わせ中に初期値を１としたホップ数（経由したバスの数）を含めておいてもよい。構成ＩＤが未設定であり、機種問い合わせの宛先となる拡張ユニット４は、受信したホップ数を自ユニットの構成ＩＤとしてセットする。拡張ユニット４はセットした構成ＩＤを識別情報の一部として基本ユニット３に応答する。一方構成ＩＤが設定済みであり、機種問い合わせを中継する拡張ユニット４は機種問い合わせに含まれたホップ数に１を加算し、隣接する拡張ユニットに転送する。このように構成して機種問い合わせと構成ＩＤの設定とを、一つの拡張ユニットにつき一回の通信で完了させることもできる。
【００４２】
また、構成ＩＤは、ＰＬＣ２の電源が落とされる毎にリセットされ、電源再投入によって新たに設定し直されるように構成することで、ＰＬＣ２の構成に応じた構成ＩＤを付与し直すことが可能となる。
【００４３】
以上のように構成することで、拡張ユニット４に構成ＩＤを割り当て、ユニットＩＤを含む設定データがロードされていない場合であっても、拡張ユニット４を構成ＩＤで指定して通信を行うことが可能となる。
【００４４】
＜テスト情報の例＞
さて、拡張ユニット４の外部インターフェース（外部Ｉ／Ｆ）がどのような接続形態となるかは、それぞれの拡張ユニットによって異なる。そのためそれぞれの外部機器Ｉ／Ｆに合わせた設定をしないと、適切な結線確認はできない。たとえば、アナログ入力ユニットの場合、入力されている電圧をＡ／Ｄ変換し電圧として表示しないと、正しい結線になっているかは確認できない。この場合、入力レンジの設定が必要となる。またたとえば、パルス出力タイプの位置決めユニットの場合、出力端子を１回ＯＮしただけでは接続機器を動作させることはできず、意図通りの結線になっているかは確認できない。この場合には、たとえば出力方式の設定や、パルス出力するための周波数設定などを行い、パルス出力する必要がある。
【００４５】
そこで、これら拡張ユニット毎に異なるテスト・設定内容については、各拡張ユニットのテスト情報管理部７１２にてテスト情報を記憶および／または生成する。こうすることで、これら拡張ユニット毎に異なるテスト内容及び設定内容を、設定データをプログラム作成支援装置１から転送することなく、ＰＬＣ２のみで結線確認等のためのテストをおこなうことができる。
【００４６】
図９にテスト情報の例を示す。図９は説明のためのものであって、実際のテスト情報は、テストＩＤごとに識別でき、その内容は、項目ごとに識別可能な情報であればよい。そのため図示した分類や備考などは情報として含まなくともよい。各項目は、たとえば項目を示す項目ＩＤとその値の対などから構成され、それをテストＩＤごとにまとめた情報がテスト情報となる。あるいは、項目ＩＤなしで、たとえば情報の順序で項目を示すこともできる。
【００４７】
図９（Ａ）に示すように、テスト情報はいくつかに分類できる。分類は、入力か出力かの別を示す入出力情報、どのような数値であるかを示す数値情報、基本ユニット３に表示される文字列である表示文字列情報、ユーザが選択する際の選択肢文字列情報等である。入出力情報には、項目として入出力方向と対象バッファメモリ番号とが含まれる。入出力方向情報は、拡張ユニットのもと対象バッファメモリ番号で指定されるバッファメモリが、入力と出力のいずれであるかを示す。対象バッファメモリ番号は、入出力方向にかかるバッファメモリを特定する情報である。このバッファメモリ番号をチャネル番号と呼ぶこともある。
【００４８】
数値情報には、項目として、対象バッファメモリ番号と、表示形式と、数値属性とを含む。対象バッファメモリ番号は、数値情報の対象となるバッファメモリの番号である。表示形式は、基本ユニット３で表示する際の表示形式で、たとえば１０進表示か、１６進表示かの別や、符号の有無などを示す。表示形式ではあるが、基本ユニット３で入力可能な数値であれば、入力の形式も表示形式により示される。数値属性は、たとえば基本ユニット３から見て読み出し専用か、読み書き可能か、などの別を示す。また、書き込み可能であれば、その上限値などの数値属性に含まれる。
【００４９】
表示文字列情報には、項目として基本ユニット３に表示される文字列情報を含む。
【００５０】
選択肢文字列情報には、項目として、選択肢番号格納バッファメモリ番号、選択肢個数、選択肢個数に応じた選択肢文字列を含む。選択肢番号格納バッファメモリ番号は、たとえば選択された選択肢の番号を拡張ユニット４に伝達するために、選択肢番号を書き込むバッファメモリ番号を示す。選択肢個数は、選択肢文字列の数を示す。選択肢文字列は、選択肢として基本ユニットが表示部５に表示する文字列である。なお、選択肢番号はたとえば０から昇順の整数を用いるなど、固定的にとり決めておくことで、拡張ユニット４では、選択された選択肢番号を受信すれば、番号に対応する選択肢を決定することができる。
【００５１】
図９（Ｂ）に、基本ユニット３の表示部５に表示されるテスト情報の例として、アナログ入力ユニットについての設定画面を示す。テスト情報はテストのための設定を行う設定画面と、テストを実行するテスト画面とで用いられる。テストのための設定画面も含めてテスト画面と称することもある。たとえば文字列９１１、９２１は表示文字列であり、基本ユニット３のＣＰＵは、拡張ユニットのテスト情報管理部７１２から取得したテスト情報のうち、表示文字列をそのまま表示する。また設定画面では、たとえば入力レンジを選択させるための選択肢文字列９１２を表示する。図９（Ｂ）では一度にひとつの選択肢文字列を表示しており、たとえば操作部の上下キーにより選択を変更し、選択されている選択肢の文字列が表示される。もちろん選択肢全てを表示してもよいが、選択肢の数がいくつになるか分からない場合には、本例のように一つずつ表示することが望ましい。選択状態にある選択肢文字列が表示された状態でたとえば確定キーを押すことで、その選択肢が選択されたこととなり、その選択肢番号が基本ユニット３から拡張ユニット４に送信される。また、図９（Ｃ）に示したアナログ入力ユニットのテスト画面では、テスト結果の値などである数値情報９２２が表示される。表示に際しては、テスト情報で特定されたバッファメモリ番号や形式、属性等にしたがってデータを取得し、表示する。
【００５２】
図１０にテスト情報の具体例を示す。たとえば入力ユニットＡのテストであれば、入出力方向は「入力」であり、対象バッファメモリ番号は０、表示する文字列は「入力ユニットＡ  ＩＮ０００」である。入力ユニットＡの入力はオン、オフいずれかであり、対象バッファメモリ番号から取得した情報「ＯＮ」を表示する。表示位置はたとえば表示文字列や取得情報等、情報の種類に応じて決めておけばよい。図１０の右から２番目の欄の位置決めユニットＣの設定画面については、表示文字列は「位置決めユニットＣ  軸１パルス出力  速度（Ｈｚ）」である。また、設定データは基本ユニット３から「読み書き可」であり、設定データを書き込むバッファメモリ番号は０ｘ１０００であり、表示（及び入力）は「符号なし１０進数」である。設定操作はたとえば上下キーで値を上下させ、所望の値となったところで確定キーを押す。もちろんテンキーがあればそれを利用することもできる。
【００５３】
最右端の欄の位置決めユニットＣのテストについては、表示文字列は「位置決めユニットＣ  軸１パルス出力（Ｈｚ）」である。また、バッファメモリ番号０のバッファメモリは出力用であり、たとえばテストの実行（オン）または停止（オフ）などを出力する。バッファメモリ番号０ｘ１０００からの数値は読み出し専用であり、符号なし１０進数で表示することが特定されている。この例では設定したパルスレート５００が基本ユニット３で読み取られて表示される。テストの実行の開始および停止は、たとえば操作部６のキー操作で行われる。文字「ＯＮ」はテスト中であることを示し、これは出力中であればＯＮが表示され、停止されればＯＦＦが表示される。
【００５４】
もちろんこれらは一例にすぎず、拡張ユニットの機能に応じてこれらテスト情報が拡張ユニット４で用意され、基本ユニット３に引き渡される。要するに、図１０から分かるように、テスト情報とは、少なくとも、拡張ユニット４の動作確認を行うためのテストの種類を文字列で表した文字列情報を含む情報である。
【００５５】
＜設定およびテストフロー＞
図１１に本実施形態における拡張ユニット４のテスト（動作確認）のためのフローチャートを示す。図１１のフローチャートは、基本ユニット３と拡張ユニット４とが接続され、さらに拡張ユニット４には被制御装置である外部機器が接続され、かつ、プログラム作成支援装置１からのプロジェクトデータがロードされていないＰＬＣ２により実行される。またこのＰＬＣ２は電源を投入され、図８で説明した構成ＩＤの割り当て処理が完了した状態にある。この状態では、ＰＬＣ２は電気的には構成済みであるが、従来は動作テストを行うことができなかった状態である。図１１において左側が基本ユニット３のＣＰＵにより実行される処理、右側が拡張ユニット４のテスト情報管理部７１２により実行される処理である。これらの間の通信はバッファメモリの特定のアドレスへの書き込むおよび読み出しで行われ、その特定のアドレスとは通信する内容に応じて決められている。
【００５６】
ステップＳ１１０１において処理が開始される。たとえばオペレータがテストを開始するためのキー入力を行うと、それを受け付けてステップＳ１１０１が行われる。なおたとえば電源投入で、図８の構成ＩＤの割り当てに引き続いてステップＳ１１０１からの処理が実行開始されるように構成してもよい。処理が開始されると、ＣＰＵ１０（より詳しくはテスト情報取得部７０２）は、拡張ユニット４に対してその旨を通知する。拡張ユニット４は通知に応じてテスト情報の準備を開始する。ただしこの段階では結線確認の対象となる対象拡張ユニットは選択されていないので、通知の対象はすべての拡張ユニットである。テスト情報の準備とは、たとえば送信すべきテスト情報を送信可能な状態におくことであるが、特に準備が必要でなければＳ１１０１の後では直ちにステップＳ１１０５に遷移し、ステップＳ１１０３をスキップしてもよい。またステップＳ１１０３を行うと、基本ユニット３に応答し、ステップＳ１１０５に移る。
【００５７】
ステップＳ１１０５では、テスト情報取得部７０２は、基本ユニット３の操作部６を用いて対象となる拡張ユニット（対象拡張ユニット）の選択を受け付ける。選択しようとする拡張ユニット４の選択操作部７１４をオペレータが操作すると、当該拡張ユニット４は、選択された旨の応答および構成ＩＤを基本ユニット３に送信する。基本ユニット３は、選択された拡張ユニットの構成ＩＤを選択された対象拡張ユニット４の構成ＩＤとして記憶する。この後の工程では、記憶した構成ＩＤにより対象拡張ユニットを特定する。なお基本ユニット３の構成ＩＤは、たとえば０に固定しておくことで、設定データがセットされていない場合でも、拡張ユニットから基本ユニットへの送信は可能である。
【００５８】
ステップＳ１１０７では、テスト情報の要求を受信したテスト情報管理部７１２は、状態表示部７１５により、選択状態にあることをたとえば点滅等で表示し、テスト情報の要求を受信したことを示す応答をテスト情報取得部７０２に応答する。
【００５９】
ステップＳ１１０９では、テスト情報取得部７０２は、テストＩＤ（テスト識別情報）の選択を受け付ける。テストＩＤは、テストの種別ごとに予め決められており、表示部５及び操作部６を用いてユーザがＩＤを選択し、決定することで特定される。テスト情報取得部７０２は、選択されたテストＩＤを、選択されている拡張ユニット４に送信する。
【００６０】
ステップＳ１１１１では、テスト情報管理部７１２は、指定されたテストＩＤに対応したテスト情報を生成する。テスト情報の例は図１０に示したとおりである。テスト情報は、テストＩＤごとに関連付けられており、また本例ではテストＩＤは、一つの機能であっても、その設定画面とテスト画面とに対してそれぞれ割り当てられる。もちろんこの限りではなく、一つの機能のテストに一つのテストＩＤを対応付け、その中に設定画面に係る情報とテスト画面に係る情報とを含めてもよい。たとえばアナログ入力ユニットＡについては、設定画面に係るテスト情報は図１０の右から４番目の欄に示し、テスト画面に係るテスト情報は右から３番目の欄に示したとおりである。これらの各欄に相当するテスト情報が指定されたテストＩＤに対応するテスト情報として生成される。なおテストＩＤに対応付けてテスト情報が格納されている場合には、特に生成するための処理は必要ないが、テスト情報をたとえば機種情報などに応じて必要となる都度生成する構成であれば、ステップＳ１１１１で拡張ユニットの機能情報に応じたテスト情報が生成される。
【００６１】
ステップＳ１１１３では、テスト情報取得部７０２が対象拡張ユニットからテスト情報を受信し、テストＩＤに応じた設定画面またはテスト画面を表示する。たとえば設定画面に関する図１０において右から４番目に示した「アナログ入力ユニットＡ  ＣＨ０入力レンジ」の設定画面がテストＩＤにより指定されると、表示用文字列を表示するとともに、３つの選択肢のうち選択されている選択肢番号に応じた選択肢文字列を表示する。一方、図１０の右から３番目に示した「アナログ入力ユニットＡ  ＣＨ０アナログ」のテスト画面がテストＩＤにより指定されると、その表示用文字列を表示する。
【００６２】
ステップＳ１１１５では、操作情報通知部７０３は、設定画面で操作部６からの操作入力を受け付け、設定完了の旨の入力があると、入力された設定値を、対象拡張ユニットに送信する。たとえば「アナログ入力ユニットＡ  ＣＨ０アナログ」のテストがテストＩＤにより指定されていると、３つの選択肢のうちのひとつが上下キーにより選択され、それが表示される。そして確定キーが押されたときに選択されている選択肢番号が、選択された入力レンジを示す設定データとして、対象バッファメモリ番号で示されるバッファメモリに書き込まれる。こうして対象拡張ユニットに設定値を引き渡す。設定される情報には、たとえば出力ユニットについては、出力する信号の値やパルス周波数などがある。また、操作情報通知部７０３は、テスト画面で操作部６によりテストの実行指示が入力されれば、対象拡張ユニットに対してテストの実行を指示する。
【００６３】
ステップＳ１１１７では、対象拡張ユニットのテスト情報管理部７１２は、基本ユニット３からの通知内容に応じて設定データを書き換えたり、あるいはテストを実行したりする。テストは、テスト実行時点で設定されている設定データおよび操作部６による操作に従って行われる。すなわち、対象拡張ユニットが出力ユニットであれば、基本ユニット３で行われたテスト操作の操作信号および設定データに基づいて、テスト情報管理部７１２は、外部機器インターフェース７１１にテスト信号を出力する。また対象拡張ユニットが入力ユニットであれば、基本ユニット３で行われたテスト操作の操作信号および設定データに基づいて、テスト情報管理部７１２は、外部機器インターフェース７１１からの入力信号または信号を数値化した情報をテスト結果情報として一時記憶する。そして実行したテストの結果、たとえば出力ユニットであれは、出力先である被制御装置の状態を示す信号を、また入力ユニットであればテスト結果情報を基本ユニット３に送信する。送信のための書き込み先はテスト情報で特定される番号のバッファメモリである。また設定変更した場合には、変更を行った旨の応答を基本ユニット３に返してもよい。なお拡張ユニットが出力ユニットか入力ユニットかの判定は、たとえばテスト情報に含まれた項目「入出力方向」に基づいて判断することができる。
【００６４】
ステップＳ１１１９では、対象拡張ユニットからテスト結果を受信した基本ユニット３のテスト情報取得部７０２は、バッファメモリから読み取ったテスト結果情報を、テスト画面に、テスト情報で指定された表示形式に従って表示する。また操作部６から入力されるテストの停止等の指示を受け付ける。一方、設定変更の完了を受信した場合には、図示は省略したが、ステップＳ１１１３に戻って再度設定値の変更を受け付けることができる。あるいは、テストＩＤの選択を受け付けて、ステップＳ１１１１に分岐する。
【００６５】
以上の手順によって、構成ＩＤをＰＬＣ２のみで拡張ユニットに割り当てることができる。そして基本ユニット３は、拡張ユニット４から、拡張ユニット４のテスト情報記憶部７１６に記憶されたテスト情報を取得し、そのテスト情報に従って設定データを変更したり、またはテストのための出力データを指定したりすることができる。さらに、指定した設定データに応じたテスト結果（テスト信号）を表示または入力することができる。この結果、プログラム作成支援装置の外部のコンピュータから設定データをロードすることなく、拡張ユニット４の設定変更を行うことも、また結線確認等を目的としたテストを実行することもできる。なおテスト情報記憶部７１６は、テスト情報管理部７１２に含まれていたり、あるいはバッファメモリ７１３の一部であったりという構成をとることもできる。
【００６６】
なお、図１１の手順において、対象拡張ユニットの選択操作を、ステップＳ１１０５において拡張ユニット４での操作により行っているが、選択操作を基本ユニット３で行うこともできる。この場合には、ステップＳ１１０３に引き続いて、表示部５に表示した構成ＩＤを上下ボタンで増減し、確定ボタンを押下することで実現できる。テスト情報取得部７０２は、さらに、選択された拡張ユニット４に対してテスト情報の要求を送信する。基本ユニット３は、選択された拡張ユニットの構成ＩＤを記憶しておく。この後のステップは図１１のとおりである。
【００６７】
また、テストの対象は対象拡張ユニットの有するチャネルのひとつとなるので、ステップＳ１１１７では、拡張ユニットについて入力か出力かを判定しているように説明したが、これは説明の便宜にすぎず、チャネルごとに判定される。このようにすれば、入力と出力の両方のチャネルを持つ拡張ユニットがあっても、それぞれのチャネルについて独立したテストを行える。
【００６８】
＜そのほかの表示例＞
図１２に、表示部５により表示される、図９に示したアナログ入力ユニット以外の設定画面の例を示す。図１２（Ａ）はアナログ出力ユニットのテスト画面の例である。ステップＳ１１１３では表示文字列１２０１が表示され、さらにステップＳ１１１５で設定した設定データである出力電圧１２０２が表示される。図１２（Ｂ）は位置決めユニットのパルスレートの設定画面の例である。ステップＳ１１１３では表示文字列１２１１が表示され、さらにステップＳ１１１５で設定した設定データであるパルスレート１２１２が表示される。図１２（Ｃ）は位置決めユニットの出力方式の設定画面の例である。ステップＳ１１１３では表示文字列２２１が表示され、さらにステップＳ１１１５で選択された設定データである方式を示す選択肢文字列１２２２が表示される。
【００６９】
もちろん図９や図１２に示した表示例がすべてではない。拡張ユニット４の機種、あるいは拡張ユニット４の有する外部装置インターフェースに応じてテスト情報は用意され、そのテスト情報に応じて設定およびテストが、図１１の手順で実行される。たとえば、少なくとも１つの二値のデジタル信号を入力または出力または入出力するための拡張ユニットについて本実施形態を適用することもできる。その場合には、基本ユニット３では、出力のテストであれば、出力する値を０または１（あるいはオンまたはオフなどの表記でもよい）の何れかに設定し、出力を実行する。また入力のテストであれば、拡張ユニット４から入力された信号値を、その値に応じて０または１で表示すればよい。いずれの場合にも、二値の入出力を行う外部装置（被制御装置）の識別情報や、拡張ユニットの構成ＩＤを表示してもよい。これは他の拡張ユニットについても同様である。二値の入出力を行う外部装置（被制御装置）に関しては、設定画面に係るテスト情報はなくともよく、テスト画面のための情報だけでもよい。逆に設定画面のテスト情報がない拡張ユニット（あるいはチャネル）については二値の入出力を行うためのものとして扱えばよい。
【００７０】
＜本実施形態まとめ＞
以上説明したように、本実施形態では、テスト情報をテスト対象の拡張ユニット４で用意（すなわち記憶または生成）しておき、基本ユニット３に送信する。基本ユニット３では、受信したテスト情報に含まれた文字列等を表示するとともに、操作に応じて入力された設定データから表示情報を生成してそれもまた表示する。さらに基本ユニット３では、テストのための設定およびテストの実行を行うことができる。またテストに際しては、テスト操作の情報を拡張ユニットに送信し、対象拡張ユニット４はその操作情報に応じたテスト信号を外部装置インターフェースに出力する。あるいは対象拡張ユニット４は、外部装置インターフェースから受信した信号に基づいた信号値を、基本ユニット３へと送信する。このためＰＬＣ２単独でテストを実行できる。また基本ユニット３で表示する表示情報には、動作確認の対象である拡張ユニット４が出力ユニットであれば、インターフェースに出力したテスト信号の情報が含まれ、また、対象拡張ユニット４が入力ユニットであれば、インターフェースの状態などが含まれる。
【００７１】
このように、本実施形態では、外部機器からの入力又は前記外部機器への出力に関するテスト情報を記憶するテスト情報記憶部７１６も、操作部から入力された操作に基づいて、テスト情報記憶部７１６に記憶されたテスト情報から表示情報を生成し、生成した表示情報を表示させるとともに、操作部から入力されたテスト操作に基づいてインターフェースにテスト信号を出力する、または、インターフェースからの入力に応じてインターフェースの状態を表示させるテスト情報管理部も拡張ユニット４に含まれている。
【００７２】
これにより、設定データをプログラム作成支援装置から転送することなしに動作確認を行うことが可能となる。たとえばＰＬＣ２の結線の確認等を、ＰＬＣ２を組み立てた作業者により行うことができる。このためＰＬＣの構成および試験の生産性を向上させることができる。
【００７３】
テスト情報を拡張ユニット４に保持させたことで、新たな機種の拡張ユニットが追加された場合にも、その拡張ユニットにテスト情報を記憶または生成させることで、新たな拡張ユニットのテストに対応させることが容易である。より具体的には、新たな機種の拡張ユニットが入力ユニットである場合には、テスト情報として、外部機器からの入力に関するテストの設定を行うための設定画面の情報（表示項目、画面レイアウトなど）と、外部機器からの入力に関するテストを実行するためのテスト画面の情報（表示項目、画面レイアウトなど）とがテスト情報記憶部に記憶されているので、設定データをＰＬＣ２にダウンロードしていなくても、ユーザは、ＰＬＣの動作確認などの各種テストを実行することができる。また、新たな機種の拡張ユニットが出力ユニットである場合には、テスト情報として、外部機器へ出力に関するテストの設定を行うための設定画面の情報（表示項目、画面レイアウトなど）と、外部機器への出力に関するテストを実行するためのテスト画面の情報（表示項目、画面レイアウトなど）とがテスト情報記憶部に記憶されているので、設定データをＰＬＣ２にダウンロードしていなくても、ユーザは、テスト実行時の外部機器の動き（例えばアクチュエータの動き等）を視認することで、外部機器の結線確認などの各種テストを実行することができる。
【００７４】
［第２実施形態］
図１３にもう一つの実施形態のＰＬＣ２によるテスト手順を示す。システムの構成や動作は、拡張ユニット４の機種ごとのテスト情報がそれぞれの拡張ユニットではなく基本ユニット３に格納されていること、および、テストの手順が図１３の手順であることを除いて第１の実施形態と同様である。すなわち、本実施形態では、基本ユニット３は図７におけるテスト情報取得部７０２に代えてテスト情報記憶部７１６を有しており、また拡張ユニット４のテスト情報管理部７１２は、テスト情報の記憶および生成の機能を有しておらず、テストのための設定変更やテストの実行の機能のみとなる。また、基本ユニット３は、テスト情報管理部７１２の機能のうち、テスト情報記憶部７１６に記憶されたテスト情報を表示部５に表示させる機能を少なくとも有している。
【００７５】
図１３のステップＳ１３０３において、基本ユニット３は、対象拡張ユニットの選択と、テストＩＤの選択を行い、選択されていることを対象拡張ユニットに通知する。ステップＳ１３０５で、選択された対象拡張ユニットは選択状態にあることを表示する。ステップＳ１３０７で基本ユニット３においてテストＩＤが選択されると、基本ユニット３は、ステップＳ１３０９で、拡張ユニットの機種およびテストＩＤに応じたテスト情報を、テスト情報記憶部から取得して設定画面またはテスト画面を表示する。拡張ユニットの機種情報については、基本ユニット３の電源投入時に構成ＩＤを付与する処理で、基本ユニット３が各拡張ユニット４から獲得しているため、それを利用できる。ステップＳ１３１１以降は図１１のステップＳ１１１５以降と同様である。
【００７６】
このように、本実施形態では、外部機器からの入力又は前記外部機器への出力に関するテスト情報を記憶するテスト情報記憶部も、操作部から入力された操作に基づいて、テスト情報記憶部に記憶されたテスト情報から表示情報を生成し、生成した表示情報を表示させるとともに、操作部から入力されたテスト操作に基づいてインターフェースにテスト信号を出力する、または、インターフェースからの入力に応じてインターフェースの状態を表示させるテスト情報管理部も基本ユニット３に含まれている。
【００７７】
このように構成することによっても、ＰＬＣのみにより結線テスト等の各拡張ユニット４についての試験を実現することができる。また本実施形態では、テスト情報を基本ユニット３が集中管理することで、拡張ユニットの構成を簡素にすることができる。
【図１】
2016110393.tif 000003
【図２】
2016110393.tif 000004
【図３】
2016110393.tif 000005
【図４】
2016110393.tif 000006
【図５】
2016110393.tif 000007
【図６】
2016110393.tif 000008
【図７】
2016110393.tif 000009
【図８】
2016110393.tif 000010
【図９】
2016110393.tif 000011
【図１０】
2016110393.tif 000012
【図１１】
2016110393.tif 000013
【図１２】
2016110393.tif 000014
【図１３】
2016110393.tif 000015