(57)【特許請求の範囲】
【請求項１】
基本ユニットと、１つ又は複数の増設ユニットと、を備えるプログラマブルコントローラであって、
前記基本ユニットは、
処理部と、記憶部と、を備え、
前記基本ユニット又は前記増設ユニットは、
外部入力機器から入力信号が入力され又は外部出力機器へ出力信号を出力する回路基板を実装可能であり、
前記回路基板は、
前記回路基板の入出力型式を特定するための入出力信号型式情報と、前記回路基板が有する入出力点数を特定するための専有入出力点数情報と、を含む基板情報を記憶する基板情報回路を備え、
前記記憶部は、
前記外部入力機器及び前記外部出力機器との間での入出力制御を実行するための入出力制御プログラムが外部ツールから転送格納される第１メモリ領域と、前記基本ユニット又は前記増設ユニットに実装される前記回路基板の前記基板情報が記述されている基板編成設定データが前記外部ツールから転送格納される第２メモリ領域と、を有し、
前記処理部は、
前記処理部の運転開始時に、前記基本ユニット又は前記増設ユニットに実装されている前記回路基板の前記基板情報を読み出して基板編成現状データを作成する現状編成読出解読処理を実行し、
前記基本ユニット又は前記増設ユニットに第１の前記回路基板が実装されており、前記基本ユニット又は前記増設ユニットに第２群の前記回路基板が実装されていない場合において、前記基板編成現状データ内の前記第１の回路基板の第１の前記基板情報と、前記基板編成設定データ内の第２群の前記回路基板の第２群の前記基板情報と、を比較し、前記第１の基板情報の全ての前記入出力信号型式区分と、前記第２群の基板情報の全ての入出力信号型式区分と、が一致しており、且つ、前記第１の基板情報の前記専有入出力点数と、前記第２群の基板情報の各々の前記専有入出力点数の合計と、が一致しているときには、前記第２群の回路基板の前記第１の回路基板への統合は互換性があると判定し、前記基本ユニット又は前記増設ユニットに第３の前記回路基板が実装されておらず、前記基本ユニット又は前記増設ユニットに第４群の前記回路基板が実装されている場合において、前記基板編成設定データ内の前記第３の回路基板の第３の前記基板情報と、前記基板編成現状データ内の前記第４群の回路基板の第４群の前記基板情報と、を比較し、前記第３の基板情報の全ての前記入出力信号型式区分と、前記第４群の基板情報の全ての入出力信号型式区分と、が一致しており、且つ、前記第３の基板情報の前記専有入出力点数と、前記第４群の基板情報の各々の前記専有入出力点数の合計と、が一致しているときには、前記第３の回路基板の前記第４群の回路基板への分割は互換性があると判定する点数等価判定処理を実行し、
前記基板編成設定データと前記基板編成現状データとが不一致であるときに、基板編成が異常であると判定し、前記入出力制御プログラムの実行を禁止する編成異常判定処理を実行し、
前記編成異常判定処理で基板編成が異常であると判定された場合であっても、前記点数等価判定処理で複数の前記回路基板の１つの前記回路基板への統合又は１つの前記回路基板の複数の前記回路基板への分割は互換性があると判定されていたら、前記入出力制御プログラムの実行を許可する特別許可処理を実行する、ことを特徴とするプログラマブルコントローラ。
【請求項２】
前記基板情報回路は、複数対の回路パターンの端子間を短絡又は開放して得られる複数ビット幅の論理信号を出力するパターンスイッチであり、
前記複数ビット幅の論理信号は、前記基板情報を符号化した機種コードであり、
前記記憶部は、前記機種コードを復号化するためのテーブルであって、前記増設ユニットに実装され得る前記回路基板の前記基板情報が記載された機種コードデータテーブルを格納しており、
前記処理部は、前記機種コードに基づいて、前記機種コードデータテーブルを参照することで、前記機種コードを復号化して前記基板情報を取得することを特徴とする、請求項１に記載のプログラマブルコントローラ。
【請求項３】
前記基板情報回路は、複数対の回路パターンの端子間を短絡又は開放して得られる複数ビット幅の論理信号を出力するパターンスイッチであり、
前記複数ビット幅の論理信号は、前記回路基板が実装されるユニットが前記基本ユニットであるか又は前記増設ユニットであるかを表すユニット識別情報と、前記回路基板が入力回路基板であるか又は出力回路基板であるかを表す基板識別情報と、前記入出力型式情報と、前記入出力点数情報と、に基づいて前記回路基板に付与された機種番号であり、
前記記憶部は、前記機種コードを復号化するためのテーブルであって、前記増設ユニットに実装され得る前記回路基板の前記基板情報が記載された機種コードデータテーブルと、前記機種番号と前記機種コードとを対応づけた機種番号データテーブルと、を格納しており、
前記処理部は、前記機種番号に基づいて、前記機種番号データテーブルを参照することで、前記機種コードを取得し、取得した前記機種コードに基づいて、前記機種コードデータテーブルを参照することで、前記機種コードを復号化して前記基板情報を取得することを特徴とする、請求項１に記載のプログラマブルコントローラ。
【請求項４】
前記回路基板の前記入出力型式は、オン又はオフに切り替わるオンオフ信号の入出力を行うデジタル入力型式及びデジタル出力型式、並びに、アナログ信号の入出力を行うアナログ入力型式及びアナログ出力型式を含み、
前記専有入出力点数情報は、基礎点数に乗じられることで入出力点数が算出される倍率であり、
前記基礎点数は、前記デジタル入力型式及び前記デジタル出力型式と、前記アナログ入力型式及び前記アナログ出力型式と、では値が異なっており、
前記点数等価判定処理は、前記デジタル入力型式及び前記デジタル出力型式と、前記アナログ入力型式及び前記アナログ出力型式と、の両方に実行されることを特徴とする、請求項２又は請求項３に記載のプログラマブルコントローラ。
【請求項５】
前記機種コードデータテーブルは、前記基本ユニット又は前記増設ユニットに実装されていない回路基板であって、前記入出力型式が特定されていない前記回路基板の前記基板情報を含み、
前記機種番号データテーブルは、実装されていない前記回路基板に付与された前記機種番号と実装されていない前記回路基板の前記機種コードとを対応づけた情報を含み、
前記基板編成設定データは、前記回路基板の前記基板情報に加えて、前記回路基板の前記処理部からの接続順位を含み、
前記現状編成読出解読処理は、実装されていない前記回路基板の前記基板情報が前記基板編成設定データ内に記載されている場合は、実装されていない前記回路基板の前記基板情報に含まれている入出力点数分の前記入出力番号を空き番号とした上で、前記基本ユニット又は前記増設ユニットに実装されている前記回路基板の接続順位に基づいて、実装されている前記回路基板の前記入出力点へ一連の前記入出力番号を付与し、
前記編成異常判定処理は、前記基板編成現状データにおいて前記入出力番号に空き範囲があり、前記空き範囲に相当する実装されていない前記回路基板の前記基板情報が前記基板編成設定データに含まれていたら、前記空き範囲は異常と判定しないことを特徴とする、請求項３または４に記載のプログラマブルコントローラ。
【請求項６】
前記処理部は、
前記基板編成現状データが、実装されていない前記回路基板の前記基板情報に対応する、実装されている前記回路基板の前記基板情報を含んでいる場合は、前記点数等価判定処理で、実装されていない前記回路基板と実装されている前記回路基板との間での基板の統合又は分割は互換性があると判定して、前記入出力制御プログラムの実行を許可し、
実装されていない前記回路基板の前記基板情報が前記入出力型式情報を含まない場合は、実装されている前記回路基板の前記入出力型式は任意のものとすることができることを特徴とする、請求項５に記載のプログラマブルコントローラ。
【請求項７】
前記処理部は、更に、
前記編成異常判定処理で基板編成が異常であると判定された場合であっても、前記基板編成現状データが前記基板編成設定データには含まれない前記入出力番号であって前記基板編成設定データ内に前記基板情報が記載されている前記入出力回路基板に付与されている入出力番号の１番大きい値よりも大きい前記入出力番号である老番番号が付与されていることを除いて、前記基板編成現状データと前記基板編成設定データとが一致していたら、前記入出力制御プログラムの実行を許可する老番許可判定処理、
前記編成異常判定処理で基板編成が異常であると判定された場合であっても、前記基板編成現状データ内における、前記回路基板のうちの入力回路基板の接続順位が、前記基板編成設定データ内における、前記回路基板のうちの出力回路基板の接続順位の前又は後に変更されているが、前記基板編成現状データ内において、複数の前記入力回路基板の間での接続順位の変更及び複数の前記出力回路基板の間での接続順位の変更が行われていなかったら、前記入出力制御プログラムの実行を許可する配置変更判定処理、
又は、
前記編成異常判定処理で基板編成が異常であると判定された場合であっても、前記記憶部の前記第２メモリ領域に、前記基板編成設定データが格納されていなかったら、前記入出力制御プログラムの実行を許可する未設定判定処理、
を実行することを特徴とする、請求項１に記載のプログラマブルコントローラ。
【請求項８】
前記処理部は、
前記処理部の動作開始時に、前記入出力制御プログラムの中に、ユーザによってアクセス可能な予め定められた番号の特殊デバイスが任意の命令型式でプログラム記述されているか否かを判定し、前記入出力制御プログラムの中に前記特殊デバイスがプログラム記述されていたら、前記点数等価判定処理、前記老番許可判定処理、前記配置変更判定処理又は前記未設定判定処理の実行を有効にし、前記入出力制御プログラムの中に前記特殊デバイスがプログラム記述されていなかったら、前記点数等価判定処理、前記老番許可判定処理、前記配置変更判定処理又は前記未設定判定処理の実行を無効とする特殊デバイス検索処理を実行することを特徴とする、請求項７に記載のプログラマブルコントローラ。
【請求項９】
前記特殊デバイスは、第１番号から第５番号までの特殊補助リレーの一部又は全部であり、
前記処理部は、
前記編成異常判定処理で前記基板編成設定データと前記基板編成現状データとが一致して基板編成が正常と判定された場合に、第１番号の前記特殊補助リレーを閉路駆動し、
前記点数等価判定処理で複数の前記回路基板の１つの前記回路基板への統合又は１つの前記回路基板の複数の前記回路基板への分割は互換性があると判定された場合に、第２番号の前記特殊補助リレーを閉路駆動し、
前記老番許可判定処理で前記老番番号が付与されていることを除いて、前記基板編成現状データと前記基板編成設定データとが一致していると判定された場合に、第３番号の前記特殊補助リレーを閉路駆動し、
前記配置変更判定処理で前記基板編成現状データ内における、前記回路基板のうちの入力回路基板の接続順位が、前記基板編成設定データ内における、前記回路基板のうちの出力回路基板の接続順位の前又は後に変更されているが、前記基板編成現状データ内において、複数の前記入力回路基板の間での接続順位の変更及び複数の前記出力回路基板の間での接続順位の変更が行われていないと判定された場合に、第４番号の前記特殊補助リレーを閉路駆動し、
前記未設定判定手段で前記記憶部の前記第２メモリ領域に前記基板編成設定データが格納されていないと判定された場合に、第５番号の前記特殊補助リレーを閉路駆動することを特徴とする、請求項８に記載のプログラマブルコントローラ。
【請求項１０】
前記外部ツールは、第１の外部ツール又は第２の外部ツールであり、
前記第１の外部ツールは、
プログラム及びデータを格納する第１の記憶部と、
前記第１の記憶部に格納されているプログラムを実行する第１の処理部と、
前記第２の外部ツールよりも多くの操作キーを含む第１のキーボードと、
前記第２の外部ツールよりも大画面の第１の表示装置と、を備え、
前記第１の処理部は、
前記第１のキーボードを用いて前記第１の表示装置の画面上に作画されたシーケンス制御回路図に基づいて、シーケンス言語で記述された前記入出力制御プログラムを生成するとともに、前記第１のキーボードを用いて前記第１の表示装置の画面上に作画されたユニット編成図に基づいて、前記基板編成設定データを生成し、前記入出力制御プログラム及び前記基板編成設定データを前記第１の記憶部に一旦は格納し、前記入出力制御プログラム及び前記基板編成設定データを前記基本ユニットの前記第２メモリ領域に格納する第１の転送書込処理を実行し、
前記第２の外部ツールは、
プログラム及びデータを格納する第２の記憶部と、
前記第２の記憶部に格納されているプログラムを実行する第２の処理部と、
前記第１のキーボードよりも少ない操作キーを含む第２のキーボードと、
前記第１の表示装置よりも小画面の第２の表示装置と、を備え、
前記第２の処理部は、
前記第２のキーボードを用いて入力された、シーケンス言語で記述された前記入出力制御プログラムを前記第２の記憶部に一旦は格納し、前記入出力制御プログラムを前記基本ユニットの前記記憶部に転送し、
前記第１及び第２の外部ツールは、
前記基板編成現状データを前記基本ユニットの前記記憶部から読み出して前記基本ユニットの前記第２メモリ領域に格納する第２の転送書込処理を実行し、
前記第１及び第２の転送書込処理は、前記第１及び第２の外部ツールのシステムメモリをバージョンアップすることにより実行可能となることを特徴とする、請求項１に記載のプログラマブルコントローラ。
【請求項１１】
前記第１の処理部及び前記第２の処理部は、
汎用のデータ転送命令と特定のデータレジスタ番号との組み合わせを用いるか又は専用命令を用いて、前記基板編成設定データを生成し、前記基板編成設定データを前記基本ユニットの前記記憶部の前記第２メモリ領域に書き込むことができる設定データ生成処理を実行し、
前記設定データ生成処理は、前記第１及び第２の外部ツールのシステムメモリをバージョンアップすることによって実行可能となることを特徴とする、請求項１０に記載のプログラマブルコントローラ。
【請求項１２】
前記第１の外部ツールは、
前記基板編成現状データと、前記基板編成設定データ又は前記入出力制御プログラムと、を、前記基本ユニットから読み出し、
前記基板編成現状データに基づく現状基板編成と前記基板編成設定データに基づく設定基板編成とを対比することで、前記現状基板編成と前記設定基板編成とが一致している適合入出力番号範囲と、前記現状基板編成には存在し前記設定基板編成には存在しない未設定入出力番号範囲と、前記現状基板編成には存在せず前記設定基板編成には存在する未使用入出力番号範囲と、を一覧表示するか、又は、前記現状基板編成と前記入出力制御プログラムの中で使用されている入出力番号範囲である制御プログラム編成とを対比して、前記現状基板編成と前記制御プログラム編成とが一致している共通入出力番号範囲と、前記現状基板編成には存在し前記制御プログラム編成には存在しない未制御入出力番号範囲と、前記現状基板編成には存在せず前記制御プログラム編成には存在する未接続入出力番号範囲とを一覧表示する、入出力番号表示処理を実行することを特徴とする、請求項１０又は請求項１１に記載のプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラ（ＪＩＳ  Ｂ  ３５０２：２０１１、programmable  controllers（ＰＬＣ））に関連する。
【背景技術】
【０００２】
産業機械において、操作スイッチ及び各種センサから入力される入力信号の状態と、入出力制御プログラムの内容と、に基づいて、電気負荷である各種アクチェータ及び表示機器の駆動制御を行なうプログラマブルコントローラが用いられている。プログラマブルコントローラは、基本ユニットと、装置に必要とされる入出力の点数規模に基づいて基本ユニットに順次接続される増設ユニットと、を備える。各増設ユニットには、入出力回路基板が搭載される。
【０００３】
例えば、下記の特許文献１には、複数の配置ユニット夫々に対応して、当該配置ユニットのユニット識別情報と、当該配置ユニットの位置を識別する配置情報とを含むユニット構成情報を作成するためのユニット構成作成部と、実機のプログラマブルコントローラと通信するための通信部と、ユニット構成作成部により作成されたユニット構成情報と、通信部を介して受信した、実機のプログラマブルコントローラのユニット構成情報とを比較するための比較部と、比較部による比較の結果を表示するための表示処理部と、を備える、コントローラ開発支援装置が記載されている。
【０００４】
また、下記の特許文献２には、基本ユニットと、該基本ユニットに接続される複数の拡張ユニットとを有し、外部に接続されるプログラム作成支援装置から各ユニットへの処理を規定する制御プログラムを含む設定情報を取得可能であって、取得した設定情報に基づき動作するプログラマブルコントローラにおいて、前記設定情報は、前記複数の拡張ユニットの各々を識別するための識別情報が記述された制御プログラムと、前記基本ユニットと前記複数の拡張ユニットのユニット構成を示すユニット構成と、前記プログラム作成支援装置にて設定され、前記基本ユニットと接続未確定の接続未確定拡張ユニットを示す情報と、が含まれており、前記プログラム作成支援装置から前記設定情報を取得する設定情報取得手段と、前記基本ユニットに接続されている拡張ユニットのユニット構成を特定する特定手段と、前記設定情報取得手段により取得した前記設定情報に含まれるユニット構成と、前記特定手段により特定されたユニット構成とを照合する照合手段と、を備え、前記照合手段の照合結果に基づいて、前記接続未確定拡張ユニットが接続されていない場合に、前記制御プログラムにおいて該接続未確定拡張ユニットを識別するための識別情報に基づく特定の命令が処理対象から除外されるように動作することを特徴とするプログラマブルコントローラが記載されている。
【０００５】
なお、特許文献２においては、プログラム作成支援装置で作成されたユニット構成の設定データと入出力制御プログラムには、接続未確定拡張ユニットの設定データと、これに対して予定されている入出力制御プログラムを含めることができるようになっており、プログラマブルコントローラは接続未確定拡張ユニットがまだ接続されていないときには、接続未確定拡張ユニットへの入出力制御は処理対象から除外し、ユニット構成の不一致判定も行わないようになっている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−０２５３６２号公報
【特許文献２】特開２０１４−０５２６７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載のプログラム作成支援装置では、机上編成による入出力制御プログラムであっても、予め実機のユニット構成情報と照合が行われているので、設定編成と制御プログラムとの一体性が確保されている。しかしながら、産業機械が設置された現場サイドにおいて、配置ユニットの接続順位変更又は適用ユニットの機種変更などのハードウエア上の変更が行われると、プログラマブルコントローラの制御動作が異常となる。これを回避するためには、実機編成データをプログラム作成支援装置に再度転送して、設定編成及び制御プログラムを変更する必要がある。従って、本来は現場サイドの責任で許容してもよいようなハードウエア上の小変更であっても、手軽には行えない問題点がある。
【０００８】
これに対し、特許文献２に記載のプログラマブルコントローラは、ユニット構成データが予め組み込まれている接続未確定拡張ユニットであれば、現場サイドで追加接続することができる。しかしながら、上記以外のユニット構成の変更を行うと、異常動作は行わないが、制御動作は停止する。従って、本来は現場サイドの責任で許容してもよいようなハードウエア上の小変更であっても、手軽には行えないという、特許文献１と同様の問題点がある。
【０００９】
本発明は、上記に鑑みてなされたものであって、現場環境での設備の保守及び維持管理並びにハードウエア上の変更を容易に行うことができるプログラマブルコントローラを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明にかかるプログラマブルコントローラは、基本ユニットと、１つ又は複数の増設ユニットと、を備えるプログラマブルコントローラであって、前記基本ユニットは、処理部と、記憶部と、を備え、前記基本ユニット又は前記増設ユニットは、外部入力機器から入力信号が入力され又は外部出力機器へ出力信号を出力する回路基板を実装可能であり、前記回路基板は、前記回路基板の入出力型式を特定するための入出力信号型式情報と、前記回路基板が有する入出力点数を特定するための専有入出力点数情報と、を含む基板情報を記憶する基板情報回路を備え、前記記憶部は、前記外部入力機器及び前記外部出力機器との間での入出力制御を実行するための入出力制御プログラムが外部ツールから転送格納される第１メモリ領域と、前記増設ユニットに実装される前記回路基板の前記基板情報が記述されている基板編成設定データが前記外部ツールから転送格納される第２メモリ領域と、を有し、前記処理部は、前記処理部の運転開始時に、前記基本ユニット又は前記増設ユニットに実装されている前記回路基板の前記基板情報を読み出して基板編成現状データを作成する現状編成読出解読処理を実行し、前記基本ユニット又は前記増設ユニットに第１の前記回路基板が実装されており、前記基本ユニット又は前記増設ユニットに第２群の前記回路基板が実装されていない場合において、前記基板編成現状データ内の前記第１の回路基板の第１の前記基板情報と、前記基板編成設定データ内の第２群の前記回路基板の第２群の前記基板情報と、を比較し、前記第１の基板情報の全ての前記入出力信号型式区分と、前記第２群の基板情報の全ての入出力信号型式区分と、が一致しており、且つ、前記第１の基板情報の前記専有入出力点数と、前記第２群の基板情報の各々の前記専有入出力点数の合計と、が一致しているときには、前記第２群の回路基板の前記第１の回路基板への統合は互換性があると判定し、前記基本ユニット又は前記増設ユニットに第３の前記回路基板が実装されておらず、前記基本ユニット又は前記増設ユニットに第４群の前記回路基板が実装されている場合において、前記基板編成設定データ内の前記第３の回路基板の第３の前記基板情報と、前記基板編成現状データ内の前記第４群の回路基板の第４群の前記基板情報と、を比較し、前記第３の基板情報の全ての前記入出力信号型式区分と、前記第４群の基板情報の全ての入出力信号型式区分と、が一致しており、且つ、前記第３の基板情報の前記専有入出力点数と、前記第４群の基板情報の各々の前記専有入出力点数の合計と、が一致しているときには、前記第３の回路基板の前記第４群の回路基板への分割は互換性があると判定する点数等価判定処理を実行し、前記基板編成設定データと前記基板編成現状データとが不一致であるときに、基板編成が異常であると判定し、前記入出力制御プログラムの実行を禁止する編成異常判定処理を実行し、前記編成異常判定処理で基板編成が異常であると判定された場合であっても、前記点数等価判定処理で複数の前記回路基板の１つの前記回路基板への統合又は１つの前記回路基板の複数の前記回路基板への分割は互換性があると判定されていたら、前記入出力制御プログラムの実行を許可する特別許可処理を実行することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、現場環境での設備の保守及び維持管理並びにハードウエア上の変更を容易に行うことができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態１にかかるプログラマブルコントローラの構成を示す図
【図２】基本ユニットと外部ツールとの接続構成図
【図３】デバイスメモリの一覧を示す図
【図４】シーケンス制御回路の一例を示す図
【図５】シーケンス命令リストを示す図
【図６】機種コードデータテーブルの一例を示す図
【図７】点数換算基準を示す図
【図８】基板編成情報の一例を示す図
【図９】基板編成情報の他の例を示す図
【図１０】外部ツールの動作を示すフローチャート
【図１１】基本ユニットのマイクロプロセッサの動作を示すフローチャート
【図１２】本発明の実施の形態２にかかるプログラマブルコントローラの構成を示す図
【図１３】基本ユニットと外部ツールとの接続構成図
【図１４】機種番号データテーブルの一例を示す図
【図１５】機種番号データテーブルの一例を示す図
【図１６】機種番号データテーブルの一例を示す図
【発明を実施するための形態】
【００１３】
実施の形態１．
図１は、本発明の実施の形態１にかかるプログラマブルコントローラの構成を示す図である。図１に示すように、プログラマブルコントローラ１００Ａは、基本ユニット１１０Ａと、増設ユニット１４０Ａ、１５０Ａ、１６０Ａ及び１７０Ａと、を備える。
【００１４】
なお、実施の形態１において、基本ユニット１１０Ａは、入力回路基板又は出力回路基板を内蔵しないタイプである。
【００１５】
基本ユニット１１０Ａは、マイクロプロセッサ１１１と、システムメモリ１１２Ａと、プログラムメモリ１１３Ａと、ＲＡＭ１１５と、バッテリ１１７と、シリアルインタフェース１１８と、定電圧電源ユニット１１９と、状態切換スイッチ１２０と、を備える。マイクロプロセッサ１１１は、システムメモリ１１２Ａ、プログラムメモリ１１３Ａ、ＲＡＭ１１５及びシリアルインタフェース１１８と、バス接続されている。
【００１６】
マイクロプロセッサ１１１が、本発明の処理部に対応し、システムメモリ１１２Ａ、プログラムメモリ１１３Ａ及びＲＡＭ１１５が、本発明の記憶部に対応する。
【００１７】
定電圧電源ユニット１１９は、例えばＡＣ１００ＶからＡＣ２４０Ｖの商用電源である外部電源１０９から給電され、例えばＤＣ５Ｖの定電位Ｖｃｃ及びＤＣ２４Ｖの定電位Ｖ２４を生成する。定電位Ｖｃｃ及び定電位Ｖ２４は、接地電位ＧＮＤを共通にしている。定電位Ｖｃｃ及び定電位Ｖ２４は、増設ユニット１４０Ａ、１５０Ａ、１６０Ａ及び１７０Ａにも給電されている。
【００１８】
システムメモリ１１２Ａ及びプログラムメモリ１１３Ａは、不揮発性のメモリ、例えばフラッシュメモリ（登録商標）である。
【００１９】
システムメモリ１１２Ａは、プログラマブルコントローラ１００Ａを製造するメーカである第１メーカによって作成されたシステムプログラムを格納している。
【００２０】
プログラムメモリ１１３Ａは、第１メモリ領域と、第２メモリ領域と、を有する。第１メモリ領域は、プログラマブルコントローラ１００Ａを搭載した機械を製造するメーカである第２メーカにおいて第１の外部ツール２００Ａ又は第２の外部ツール２００Ｂを用いて作成された入出力制御プログラム７０７を、格納している。第２メモリ領域は、基板編成設定データ１１４Ａを、格納している。なお、以降において、第２メーカをユーザということがある。
【００２１】
ＲＡＭ（Random  Access  Memory）１１５は、マイクロプロセッサ１１１の演算処理のワークメモリである。バッテリ１１７は、ＲＡＭ１１５の一部領域に対して常時給電する。バッテリ１１７から常時給電されているＲＡＭ１１５の一部領域は、格納内容を保持し続けることができる。
【００２２】
ＲＡＭ１１５は、入力リレーＸ、出力リレーＹ、補助リレーＭ、タイマＴ、カウンタＣ及びデータレジスタＤのデータを格納するデバイスメモリ１１６を有する。デバイスメモリ１１６は、第２メーカによって自由にアクセス可能である。つまり、デバイスメモリ１１６は、入出力制御プログラム７０７からアクセス可能である。
【００２３】
デバイスメモリ１１６は、符号Ｘ、Ｙ、Ｍ、Ｔ、Ｃ又はＤに続く８進番号、１０進番号又は１６進番号によって、細分化されている。なお、予め定められた番号の補助リレーＭ及びデータレジスタＤは、機能が第１メーカによって予め定義されている特殊補助リレー及び特殊データレジスタとなっている。但し、これらの特殊補助リレー及び特殊データレジスタには、パラメータメモリを表す専用の符号を与えておくようにすることもできる。
【００２４】
シリアルインタフェース１１８は、図示しない脱着コネクタを介して第１の外部ツール２００Ａ又は第２の外部ツール２００Ｂと接続されている。第１の外部ツール２００Ａ又は第２の外部ツール２００Ｂは、シリアルインタフェース１１８を介して、基本ユニット１１０Ａへの制御プログラムの書き込み及び基本ユニット１１０Ａの運転状態の監視を行うことができる。
【００２５】
状態切換スイッチ１２０は、基本ユニット１１０Ａの制御実行（ＲＵＮ）状態と、制御を停止してプログラムの書き換えが可能な停止（ＳＴＰ）状態と、を切り換えるためのスイッチである。
【００２６】
増設ユニット１４０Ａには、入力回路基板１４９Ａが収納されている。入力回路基板１４９Ａは、入力インタフェース回路１４２Ａと、交信切換回路１４３と、を備える。入力インタフェース回路１４２Ａには、例えば２４点のオン又はオフの開閉信号が外部入力機器１４１Ａから入力される。
【００２７】
入力インタフェース回路１４２Ａは、例えばＤＣ２４Ｖ系の入力信号をＤＣ５Ｖ系の入力信号に変換する図示しない系電圧変換回路と、基板情報を指定するパターンスイッチである基板情報回路１４２ａと、局番設定メモリ１４２ｂと、データセレクタである入力信号回路１４２ｃと、を備える。
【００２８】
増設ユニット１５０Ａには、出力回路基板１５９Ａが収納されている。出力回路基板１５９Ａは、出力インタフェース回路１５２Ａと、交信切換回路１５３と、を備える。出力インタフェース回路１５２Ａは、給電駆動出力を、例えば１６点のオン又はオフを行う外部出力機器１５１Ａに出力する。
【００２９】
出力インタフェース回路１５２Ａは、例えばＤＣ５Ｖ系の制御出力信号でＤＣ２４Ｖ系の電磁リレーの励磁コイルを駆動し、出力接点によってＡＣ１００Ｖ系の電気負荷である外部出力機器１５１Ａに給電する図示しない系電圧変換回路と、基板情報を指定するパターンスイッチである基板情報回路１５２ａと、局番設定メモリ１５２ｂと、ラッチメモリである出力信号回路１５２ｃと、を備える。
【００３０】
増設ユニット１６０Ａには、入力回路基板１６９Ａが収納されている。入力回路基板１６９Ａは、入力インタフェース回路１６２Ａと、交信切換回路１６３と、を備える。入力インタフェース回路１６２Ａには、例えば８点のアナログ電圧信号が外部入力機器１６１Ａから入力される。
【００３１】
入力インタフェース回路１６２Ａは、基板情報を指定するパターンスイッチである基板情報回路１６２ａと、局番設定メモリ１６２ｂと、例えば０Ｖから１０Ｖの可変アナログ信号電圧を１２ビット幅のデジタル値に変換する多チャンネルのＡＤ変換器１６２ｃと、ＡＤ変換器１６２ｃによって変換されたデジタル値を格納する８チャンネル分の図示しないバッファメモリと、を備える。
【００３２】
増設ユニット１７０Ａには、出力回路基板１７９Ａが収納されている。出力回路基板１７９Ａは、出力インタフェース回路１７２Ａと、交信切換回路１７３と、を備える。出力インタフェース回路１７２Ａは、信号電圧を、例えば４点のアナログ信号電圧を受け付ける外部出力機器１７１Ａに出力する。
【００３３】
出力インタフェース回路１７２Ａは、基板情報を指定するパターンスイッチである基板情報回路１７２ａと、局番設定メモリ１７２ｂと、例えば１２ビット幅のデジタル値を０Ｖから１０Ｖの可変アナログ信号電圧に変換する多チャンネルのＤＡ変換器１７２ｃと、ＤＡ変換器１７２ｃでアナログ変換される前のデジタル値を格納しておく４チャンネル分の図示しないバッファメモリと、を備える。
【００３４】
なお、以降において、入力回路基板及び出力回路基板を、入出力回路基板又は回路基板ということがある。また、入力インタフェース回路及び出力インタフェース回路を、入出力インタフェース回路ということがある。また、外部入力機器及び外部出力機器を、外部入出力機器ということがある。また、プログラマブルコントローラをＰＬＣということがある。
【００３５】
マイクロプロセッサ１１１と、入出力インタフェース回路１４２Ａ、１５２Ａ、１６２Ａ及び１７２Ａと、は貫通バス信号線ＢＵＳによって接続されている。貫通バス信号線ＢＵＳは、例えば１６ビット幅のデータバスと、各種の制御信号線と、を含んでいる。
【００３６】
貫通バス信号線ＢＵＳは、あるときは、入出力インタフェース回路１４２Ａ、１５２Ａ、１６２Ａ及び１７２Ａに局番を設定するためのアドレスバスに使用される。また、貫通バス信号線ＢＵＳは、他のあるときは、情報を入出力インタフェース回路１４２Ａ、１５２Ａ、１６２Ａ及び１７２Ａから読み出したり、外部入力機器１４１Ａ及び１６１Ａから入力される入力信号を入出力インタフェース回路１４２Ａ、１５２Ａ、１６２Ａ及び１７２Ａから読み出したりするための読み出し用のデータバスに使用される。また、貫通バス信号線ＢＵＳは、また他のあるときは、局番設定信号及び外部出力機器１５１Ａ及び１７１Ａへの制御出力データを入出力インタフェース回路１４２Ａ、１５２Ａ、１６２Ａ及び１７２Ａに書き込むための書き込み用のデータバスに使用される。貫通バス信号線ＢＵＳの使い分けは、マイクロプロセッサ１１１が発生するコマンドデータに基づいて決定される。
【００３７】
また、アナログ用の入出力インタフェース回路１６２Ａ及び１７２Ａは、多数の入出力データの交信を要する。従って、マイクロプロセッサ１１１と入出力インタフェース回路１６２Ａ及び１７２Ａとの間では、複数回の交信によって全ての入出力データの転送が行なわれる。マイクロプロセッサ１１１から入出力インタフェース回路１６２Ａ及び１７２Ａへの読み書きのタイミングは、マイクロプロセッサ１１１から出力される制御信号であるタイミング信号に基づいて決定される。
【００３８】
なお、貫通バス信号線ＢＵＳは、例えばマイクロプロセッサ１１１から入出力インタフェース回路１４２Ａ、１５２Ａ、１６２Ａ及び１７２Ａへの下り専用のシリアル通信回線と、入出力インタフェース回路１４２Ａ、１５２Ａ、１６２Ａ及び１７２Ａからマイクロプロセッサ１１１への上り専用のシリアル通信回線と、に置き換えることも可能である。
【００３９】
交信切換回路１４３、１５３、１６３及び１７３は、局番設定を実現する回路の一例である。交信切換回路１４３、１５３、１６３及び１７３は、マイクロプロセッサ１１１から送信される局番設定制御信号ＣＮＴに対応して、基板情報を基板情報回路１４２ａ、１５２ａ、１６２ａ及び１７２ａから読み出してマイクロプロセッサ１１１に送信する。次いで、交信切換回路１４３、１５３、１６３及び１７３は、マイクロプロセッサ１１１から送信される局番を、局番設定メモリ１４２ｂ、１５２ｂ、１６２ｂ及び１７２ｂに書き込む。
【００４０】
具体的には、初段の交信切換回路１４３は、局番設定制御信号ＣＮＴを受信すると、交信許可信号ＰＭＴを入力インタフェース回路１４２Ａに出力する。これにより、入力インタフェース回路１４２Ａとマイクロプロセッサ１１１とは、交信が可能となる。マイクロプロセッサ１１１は、貫通バス信号線ＢＵＳを介して、基板情報を基板情報回路１４２ａから読み出し、局番を局番設定メモリ１４２ｂに書き込む。そして、交信切換回路１４３は、設定完了信号ＦＩＮを入力インタフェース回路１４２Ａから受信すると、局番設定制御信号ＣＮＴを次段の交信切換回路１５３に伝達する。以降、マイクロプロセッサ１１１と交信切換回路１５３、１６３及び１７３との間で、上記と同様の基板情報の読み出しと局番の設定とが行われる。
【００４１】
なお、上記の説明では、マイクロプロセッサ１１１が、１つの増設ユニットに対して１つの局番を設定した。しかしながら、例えば、マイクロプロセッサ１１１が、８点の入力単位又は８点の出力単位で局番設定を行う、つまり１つの増設ユニットに対して複数の局番を設定することもできる。
【００４２】
入出力回路基板１４９Ａ、１５９Ａ、１６９Ａ及び１７９Ａには、基板情報格納メモリとなるパターンスイッチである基板情報回路１４２ａ、１５２ａ、１６２ａ及び１７２ａが夫々設けられている。パターンスイッチは、入出力回路基板１４９Ａ、１５９Ａ、１６９Ａ及び１７９Ａに夫々設けられた複数対の回路パターンの端子間を短絡又は開放して得られる複数ビット幅の論理信号によって、想定される多様な基板情報を網羅した機種コードの内の１つを直接指定することができる。なお、機種コードについては、後述する。
【００４３】
基板情報は、型式情報と、専有入出力点数情報と、を含む。型式情報は、自入出力回路基板が内蔵されているユニットが基本ユニットであるか増設ユニットであるかを表すユニット識別情報と、自入出力回路基板が入力回路基板であるか出力回路基板であるかを表す基板識別情報と、自入出力回路基板の入力型式又は出力型式を特定する入出力信号型式情報と、を含む。専有入出力点数情報は、予め定められた基礎点数に乗じる倍率である。基礎点数と倍率とを乗ずることで、入出力回路基板の入出力点数が算出される。
【００４４】
図２は、基本ユニットと外部ツールとの接続構成図である。基本ユニット１１０Ａ内のシステムメモリ１１２Ａは、各種プログラムを格納している。システムメモリ１１２Ａに格納されているプログラムは、後述する現状編成読出解読ステップＳ２０６を実行するための現状編成読出解読プログラム、後述する特殊デバイス検索ステップＳ２０７を実行するための特殊デバイス検索プログラム、後述する特別運転許可ステップＳ２０８を実行するための特別運転許可プログラム及び後述する編成異常判定ステップＳ２０９を実行するための編成異常判定プログラムを含む。また、システムメモリ１１２Ａに格納されているプログラムは、シーケンス言語で記述されている入出力制御プログラム７０７をマイクロプロセッサ１１１の機械言語へ変換する言語変換プログラムであるインタプリタを含む。
【００４５】
また、システムメモリ１１２Ａは、パラメータメモリ領域を有している。パラメータメモリ領域には、機種コードデータテーブル４００が格納されている。機種コードデータテーブル４００については、後述する。
【００４６】
プログラムメモリ１１３Ａには、入出力制御プログラム７０７と、基板編成設定データ１１４Ａと、が格納されている。また、プログラムメモリ１１３Ａには、外部入出力機器１４１Ａ、１５１Ａ、１６１Ａ及び１７１Ａへのコメント記事を格納することができるファイルレジスタが設けられている。
【００４７】
また、ＲＡＭ１１５の一部領域であるデバイスメモリ１１６の中の予め定められた番号のデータレジスタＤには、マイクロプロセッサ１１１によって読み出された基板編成現状データが書き込まれる。
【００４８】
第１の外部ツール２００Ａは、マイクロプロセッサ２１１Ａと、システムメモリ２１２Ａと、プログラムメモリ２１３Ａと、ＲＡＭ２１５と、シリアルインタフェース２１８と、定電圧電源ユニット２１９と、キーボード２２０Ａと、表示装置２３０Ａと、を備える。マイクロプロセッサ２１１Ａは、システムメモリ２１２Ａ、プログラムメモリ２１３Ａ、ＲＡＭ２１５、シリアルインタフェース２１８、キーボード２２０Ａ及び表示装置２３０Ａと、バス接続されている。
【００４９】
定電圧電源ユニット２１９は、例えばＡＣ１００ＶからＡＣ２４０Ｖの商用電源である外部電源１０９から給電され、例えばＤＣ５Ｖの定電位Ｖｃｃを生成する。
【００５０】
第１の外部ツール２００Ａは、シリアルインタフェース２１８を介して基本ユニット１１０Ａと接続され、入出力制御プログラム７０７及び基板編成設定データ１１４Ａの基本ユニット１１０Ａへの転送書き込み及びプログラマブルコントローラ１００Ａの運転状態の監視を行うことができる。
【００５１】
システムメモリ２１２Ａは、回路画面作成プログラム、命令変換プログラム、編成画面作成プログラム、設定データ作成プログラム及び転送書込プログラムを格納している。
【００５２】
回路画面作成プログラムは、キーボード２２０Ａへのキー操作入力に基づいて、表示装置２３０Ａの画面上にシーケンス回路図を作成するプログラムである。命令変換プログラムは、作画されたシーケンス回路図からシーケンス命令リストである入出力制御プログラム７０７を生成するプログラムである。編成画面作成プログラムは、キーボード２２０Ａへのキー操作入力に基づいて、表示装置２３０Ａの画面上にユニット編成図を生成するプログラムである。設定データ作成プログラムは、作画されたユニット編成図から基板編成設定データ１１４Ａを生成するプログラムである。
【００５３】
基板編成設定データ１１４Ａは、入出力回路基板の基板情報、より具体的には基板情報を符号化した機種コードと、マイクロプロセッサ１１１からの接続順位つまり局番と、を含む。
【００５４】
転送書込プログラムは、入出力制御プログラム７０７及び基板編成設定データ１１４Ａを一旦は第１の外部ツール２００Ａ側のプログラムメモリ２１３Ａに格納し、次いで入出力制御プログラム７０７及び基板編成設定データ１１４Ａを基本ユニット１１０Ａ側のプログラムメモリ１１３Ａに転送書き込みするプログラムである。
【００５５】
システムメモリ２１２Ａは、パラメータメモリ領域を有する。システムメモリ２１２Ａのパラメータメモリ領域には、機種コードデータテーブル４００が格納されている。機種コードデータテーブル４００については、後述する。
【００５６】
システムメモリ２１２Ａは、更に、後述する運転状態監視表示ステップＳ１１８を実行するための監視プログラム、基本ユニット１１０Ａに転送されている基板編成設定データ１１４Ａ又は基本ユニット１１０Ａ側で生成された実機の基板編成現状データを第１の外部ツール２００Ａ側に読み出す基板編成読出プログラム、並びに、後述する入出力番号表示ステップＳ１１３を実行するための入出力番号点検プログラムを、格納している。
【００５７】
なお、外部ツール２００Ａが基本ユニット１１０Ａの動作状態を監視するときには、基本ユニット１１０Ａ側のデバイスメモリ１１６の現在値情報が外部ツール２００Ａ側のデバイスメモリ２１６に転送される。そして、基本ユニット１１０Ａの動作状態は、表示装置２３０Ａの画面上のシーケンス回路図によって表示される。
【００５８】
次に、実施の形態１におけるデバイスメモリの一覧、シーケンス制御回路及びシーケンス命令リストについて説明する。
【００５９】
図３は、デバイスメモリの一覧を示す図である。図３に示すように、入力リレーＸは、例えば８進番号でＸ０００からＸ１７７までの１２８点を有する。図１に示した場合であれば、増設ユニット１４０Ａに設けられた２４点の入力端子Ｘ０００からＸ００７まで、Ｘ０１０からＸ０１７まで及びＸ０２０からＸ０２７までのいずれかに開閉信号が入力されると、開閉信号が入力された番号の入力リレーＸ０００からＸ０２７までのいずれかが活性化する。そして、入出力制御プログラム７０７は、仮想無接触出力接点Ｘ０００からＸ０２７までの中の活性化された仮想無接触出力接点を、自由に使用することができる。
【００６０】
また、図３に示すように、出力リレーＹは、例えば８進番号でＹ０００からＹ１７７までの１２８点を有する。図１の場合であれば、入出力制御プログラム７０７は、増設ユニット１５０Ａに設けられた１６点の出力端子Ｙ０００からＹ００７まで及びＹ０１０からＹ０１７までのいずれかに接続されている電気負荷を駆動したいときには、出力リレーＹ０００からＹ０１７までの中の駆動したい番号の出力リレーを、ＯＵＴ命令によって駆動することができる。
【００６１】
また、図３に示すように、ユーザが入出力制御プログラム７０７で自由に使用できる補助リレーＭには、停電保持しない一般用補助リレーと、バッテリ１１７により常時電力が供給される停電保持用補助リレーと、機能が第１メーカによって予め定義されている特殊補助リレーがある。一般用補助リレーは、１０進番号でＭ０００からＭ３８３までの３８４点を有する。停電保持用補助リレーは、Ｍ３８４からＭ５１１までの１２８点を有する。特殊補助リレーは、Ｍ８０００からＭ８２５５までの２５６点を有する。
【００６２】
また、図３に示すように、ユーザが入出力制御プログラム７０７で自由に使用できるタイマＴは、１０進番号でＴ００からＴ６３までの６４点を有する。タイマＴは、番号範囲によって動作仕様が異なっている。タイマＴ００からＴ６２までの６３点は、１００ｍｓでの動作となる。但し、補助リレーＭ８０２６がオンのとき、タイマＴ３２からＴ６２までの３１点は、１０ｍｓ単位での動作となる。また、タイマＴ６３の１点は、１ｍｓ単位での動作となる。
【００６３】
また、図３に示すように、ユーザが入出力制御プログラム７０７で自由に使用できるカウンタＣは、１０進番号でＣ００からＣ３１まで及びＣ２３５からＣ２５５までの５３点を有する。カウンタＣは、番号範囲によって動作仕様が異なっている。
【００６４】
また、図３に示すように、ユーザが入出力制御プログラム７０７で自由に使用できるデータレジスタＤは、１０進番号でＤ０００からＤ２５５まで及びＤ８０００からＤ８２５５までの５１２点を有する。データレジスタＤは、番号範囲によって適用仕様が異なっている。
【００６５】
図４は、シーケンス制御回路の一例を示す図である。図５は、シーケンス命令リストを示す図である。
【００６６】
図４に示すシーケンス制御回路８００において、特殊補助リレーＭ８２００は、後述する編成異常判定ステップＳ２０９で正常編成と判定されたときに、閉路駆動される。また、特殊補助リレーＭ８２０１は、後述する特別運転許可ステップＳ２０８内での点数等価判定処理で正常等価と判定されたときに、閉路駆動される。また、特殊補助リレーＭ８２０２は、後述する特別運転許可ステップＳ２０８内での老番許可判定処理で正常老番と判定されたときに、閉路駆動される。また、特殊補助リレーＭ８２０３は、後述する特別運転許可ステップＳ２０８内での配置変更判定処理で正常配置変更と判定されたときに、閉路駆動される。また、特殊補助リレーＭ８２０４は、後述する特別運転許可ステップＳ２０８での未設定判定処理で未設定と判定されたときに、閉路駆動される。
【００６７】
従って、特殊補助リレーＭ８２００の出力接点によって駆動される補助リレーＭ３００は、後述する編成異常判定ステップＳ２０９で正常編成と判定されたときに、駆動される。
【００６８】
また、特殊補助リレーＭ８２００が不作動である、つまり編成異常判定ステップＳ２０９で異常編成と判定されても、特殊補助リレーＭ８２０１からＭ８２０４までのいずれかが閉路駆動されていれば、補助リレーＭ３０１が駆動される。
【００６９】
図５のシーケンス命令リスト８１０の第１行８１１のシーケンス命令「ＬＤ  Ｍ８２００」は、図４のシーケンス制御回路８００の特殊補助リレーＭ８２００に対応しており、常開接点の母線接続命令である。
【００７０】
シーケンス命令リスト８１０の第２行８１２のシーケンス命令「ＯＵＴ  Ｍ３００」は、シーケンス制御回路８００の補助リレーＭ３００に対応しており、出力命令である。
【００７１】
シーケンス命令リスト８１０の第３行８１３のシーケンス命令「ＬＤ  Ｍ８２０１」は、シーケンス制御回路８００の特殊補助リレーＭ８２０１に対応しており、常開接点の母線接続命令である。
【００７２】
シーケンス命令リスト８１０の第４行８１４のシーケンス命令「ＯＲ  Ｍ８２０２」は、シーケンス制御回路８００の特殊補助リレーＭ８２０２に対応しており、常開接点の並列接続命令である。
【００７３】
シーケンス命令リスト８１０の第５行８１５のシーケンス命令「ＯＲ  Ｍ８２０３」は、シーケンス制御回路８００の特殊補助リレーＭ８２０３に対応しており、常開接点の並列接続命令である。
【００７４】
シーケンス命令リスト８１０の第６行８１６のシーケンス命令「ＯＲ  Ｍ８２０４」は、シーケンス制御回路８００の特殊補助リレーＭ８２０４に対応しており、常開接点の並列接続命令である。
【００７５】
シーケンス命令リスト８１０の第７行８１７のシーケンス命令「ＡＮＩ  Ｍ８２００」は、シーケンス制御回路８００の特殊補助リレーＭ８２００に対応しており、常閉接点の直列接続命令である。
【００７６】
シーケンス命令リスト８１０の第８行８１８のシーケンス命令「ＯＵＴ  Ｍ３０１」は、シーケンス制御回路８００の補助リレーＭ３０１に対応しており、出力命令である。
【００７７】
図６は、機種コードデータテーブルの一例を示す図である。図６の機種コードデータテーブル４００に示すように、入出力回路基板１４９Ａ、１５９Ａ、１６９Ａ及び１７９Ａの機種コードは、ビットｂ１５からビットｂ０までの１６ビット幅の数値データで表現される。
【００７８】
ビットｂ１５は、通常は論理１である。ビットｂ１５が論理０に設定されると、現在は入出力回路基板が非接続つまり非実装であるが将来は接続つまり実装されることが予約されることになる。ビットｂ１５が論理０の場合には、ビットｂ１４からビットｂ８は無視される。
【００７９】
ビットｂ１４＝０の場合は、基本ユニットを表す。ビットｂ１４＝１の場合は、増設ユニットを表す。
【００８０】
ビットｂ１３＝０の場合は、基本ユニット又は増設ユニットの電源がＤＣ２４Ｖ電源であることを表す。ビットｂ１３＝１の場合は、基本ユニット又は増設ユニットの電源がＡＣ１００からＡＣ２４０Ｖ電源であることを表す。
【００８１】
ビットｂ１２＝０の場合は、増設ユニットがデジタル入出力であることを表す。ビットｂ１２＝１の場合は、増設ユニットがアナログ入出力であることを表す。
【００８２】
なお、ビットｂ１３＝１且つビットｂ１２＝１の場合は、増設ユニットがパルス出力ユニット、位置決め制御ユニットなどの特殊ユニットであることを表す。ビットｂ１３＝１且つビットｂ１２＝１の場合は、ビットｂ１４からビットｂ０の構成は、図６とは異なったものとなる。
【００８３】
ビットｂ１１及びｂ１０により、４種類の出力型式の何れかが指定される。ビットｂ１２＝０の場合は、リレー出力型式Ｒ、トライアック出力型式Ｓ及びトランジスタ出力型式Ｔの３種類の中の何れかの出力型式が指定される。ビットｂ１２＝１の場合は、ＤＣ０ＶからＤＣ１０Ｖ、ＤＣ−１０ＶからＤＣ＋１０Ｖ、４ｍＡから２０ｍＡ又は−２０ｍＡから＋２０ｍＡの４種類の中の何れかの出力型式が指定される。
【００８４】
ビットｂ９及びｂ８により、４種類の入力型式の何れかが指定される。ビットｂ１２＝０の場合は、ＤＣ２４Ｖ入力、ＡＣ１００Ｖ系入力及びＡＣ２００Ｖ系入力の３種類の中の何れかの入力型式が指定される。ビットｂ１２＝１の場合は、ＤＣ０ＶからＤＣ１０Ｖ、ＤＣ−１０ＶからＤＣ＋１０Ｖ、４ｍＡから２０ｍＡ及び−２０ｍＡから＋２０ｍＡの４種類の中の何れかの入力型式が指定される。
【００８５】
ビットｂ７からビットｂ４までにより、１倍から１５倍までの範囲の倍率が指定される。つまり、基礎点数Ｎにビットｂ７からビットｂ４までで表される倍率を乗じた専有出力点数が指定される。
【００８６】
ビットｂ１２＝０の場合は、基礎点数Ｎ＝８となり、ビットｂ１２＝１の場合は、基礎点数Ｎ＝２となる。ビットｂ７からビットｂ４までの全てのビットが０の場合は、出力点数は０となり、対象となる増設ユニットが入力専用ユニットであることを表す。
【００８７】
ビットｂ３からビットｂ０までにより、１倍から１５倍までの範囲の倍率が指定される。つまり、基礎点数Ｎにビットｂ３からビットｂ０までで表される倍率を乗じた専有入力点数が指定される。
【００８８】
ビットｂ１２＝０の場合は、基礎点数Ｎ＝８となり、ビットｂ１２＝１の場合は、基礎点数Ｎ＝２となる。ビットｂ３からビットｂ０までの全てのビットが０の場合は、入力点数は０となり、対象となる増設ユニットが出力専用ユニットであることを表す。
【００８９】
ここで、プログラマブルコントローラ１００Ａの動作の概要について説明する。まず、ユーザが基本ユニット１１０Ａに設けられた状態切換スイッチ１２０を運転状態にし、図示しない電源スイッチを閉路して定電圧電源ユニット１１９に給電する。すると、マイクロプロセッサ１１１は、増設ユニット１４０Ａ、１５０Ａ、１６０Ａ及び１７０Ａに夫々実装されている入出力回路基板１４２Ａ、１５２Ａ、１６２Ａ及び１７２Ａの基板情報回路１４２ａ、１５２ａ、１６２ａ及び１７２ａからの基板情報より具体的には基板情報を符号化した機種コードの読み出しと、入出力回路基板１４２Ａ、１５２Ａ、１６２Ａ及び１７２Ａの局番設定メモリ１４２ｂ、１５２ｂ、１６２ｂ及び１７２ｂへの局番設定を行う。
【００９０】
マイクロプロセッサ１１１は、基板情報回路１４２ａ、１５２ａ、１６２ａ及び１７２ａから読み出された、基板情報より具体的には基板情報を符号化した機種コードと、基本ユニット１１０Ａからの接続順位つまり局番と、を含む基板編成現状データを、デバイスメモリ１１６の特殊データレジスタＤに格納する。マイクロプロセッサ１１１は、基板編成現状データと、プログラムメモリ１１３Ａに予め格納されている基板編成設定データ１１４Ａと、を対比する。
【００９１】
マイクロプロセッサ１１１は、基板編成現状データと、基板編成設定データ１１４Ａと、が一致していれば、プログラムメモリ１１３Ａに予め格納されている入出力制御プログラム７０７を実行して、運転動作を開始する。マイクロプロセッサ１１１は、基板編成現状データと、基板編成設定データ１１４Ａと、が不一致であっても、後述する特別運転許可ステップＳ２０８内での点数等価判定処理で点数等価と判定されたら、入出力制御プログラム７０７を実行して、運転動作を開始する。
【００９２】
運転動作が開始されると、プログラマブルコントローラ１００Ａは、外部入力機器１４１Ａ及び１６１Ａの入力信号状態と、プログラムメモリ１１３Ａに予め格納されている入出力制御プログラム７０７と、に基づいて、外部出力機器１５１Ａ及び１７１Ａを駆動制御する。
【００９３】
次に、増設ユニットの入力点数及び出力点数の換算基準について説明する。図７は、点数換算基準を示す図である。同一入出力型式の１つの大型増設ユニット及び複数の小型増設ユニットにおいて、１つの大型増設ユニットの入出力点数と、複数の小型増設ユニットの入出力点数の合計値と、が式（１）から式（５）までの何れかの関係を満たしている場合は、１つの大型増設ユニットと、複数の小型増設ユニットと、は相互に互換性があると判定される。
【００９４】
式（１）は、１つの大型増設ユニットの入出力点数が１６点であり、１個の小型増設ユニットの入出力点数が８点であり、もう１個の小型増設ユニットの入出力点数が８点である場合は、１つの大型増設ユニットと、２個の小型増設ユニットと、は相互に互換性があることを表す。
【００９５】
式（２）は、１つの大型増設ユニットの入出力点数が２４点であり、１個の小型増設ユニットの入出力点数が１６点であり、もう１個の小型増設ユニットの入出力点数が８点である場合は、１つの大型増設ユニットと、２個の小型増設ユニットと、は相互に互換性があることを表す。また、式（２）は、１つの大型増設ユニットの入出力点数が２４点であり、１個の小型増設ユニットの入出力点数が８点であり、もう１個の小型増設ユニットの入出力点数が１６点である場合は、１つの大型増設ユニットと、２個の小型増設ユニットと、は相互に互換性があることを表す。また、式（２）は、１つの大型増設ユニットの入出力点数が２４点であり、１個目の小型増設ユニットの入出力点数が８点であり、２個目の小型増設ユニットの入出力点数が８点であり、３個目の小型増設ユニットの入出力点数が８点である場合は、１つの大型増設ユニットと、３個の小型増設ユニットと、は相互に互換性があることを表す。
【００９６】
式（３）は、１つの大型増設ユニットの入出力点数が３２点であり、１個の小型増設ユニットの入出力点数が２４点であり、もう１個の小型増設ユニットの入出力点数が８点である場合は、１つの大型増設ユニットと、２個の小型増設ユニットと、は相互に互換性があることを表す。また、式（３）は、１つの大型増設ユニットの入出力点数が３２点であり、１個の小型増設ユニットの入出力点数が８点であり、もう１個の小型増設ユニットの入出力点数が２４点である場合は、１つの大型増設ユニットと、２個の小型増設ユニットと、は相互に互換性があることを表す。また、式（３）は、１つの大型増設ユニットの入出力点数が３２点であり、１個の小型増設ユニットの入出力点数が１６点であり、もう１個の小型増設ユニットの入出力点数が１６点である場合は、１つの大型増設ユニットと、２個の小型増設ユニットと、は相互に互換性があることを表す。
【００９７】
式（４）は、１つの大型増設ユニットの入出力点数が４８点であり、１個の小型増設ユニットの入出力点数が２４点であり、もう１個の小型増設ユニットの入出力点数が２４点である場合は、１つの大型増設ユニットと、２個の小型増設ユニットと、は相互に互換性があることを表す。
【００９８】
式（５）は、１つの大型増設ユニットの入出力点数が６４点であり、１個目の小型増設ユニットの入出力点数が２４点であり、２個目の小型増設ユニットの入出力点数が２４点であり、３個目の小型増設ユニットの入出力点数が１６点である場合は、１つの大型増設ユニットと、３個の小型増設ユニットと、は相互に互換性があることを表す。また、式（５）は、１つの大型増設ユニットの入出力点数が６４点であり、１個の小型増設ユニットの入出力点数が３２点であり、もう１個の小型増設ユニットの入出力点数が３２点である場合は、１つの大型増設ユニットと、２個の小型増設ユニットと、は相互に互換性があることを表す。
【００９９】
なお、式（３）の右辺の中の１６点又は２４点は、式（１）又は式（２）によってさらに細分化可能である。また、式（４）又は式（５）の右辺の中の１６点、２４点又は３２点は、式（１）から式（３）までによってさらに細分化可能である。
【０１００】
また、細分化された小型増設ユニットの接続順位は、連続しているという条件が満たされれば、順位の変更は自由に行うことができる。
【０１０１】
図８は、基板編成情報の一例を示す図である。現状基板編成５００は、マイクロプロセッサ１１１によって読み出された実機の基板編成現状データに基づく入出力番号範囲である。また、設定基板編成５０１は、プログラムメモリ１１３Ａに予め格納されている基板編成設定データ１１４Ａに基づく入出力番号範囲である。
【０１０２】
後述する編成異常判定処理で正常編成であると判定される場合は、現状基板編成５００と設定基板編成５０１とは、全部一致している。
【０１０３】
しかし、先に説明した機種コードデータテーブル４００のビットｂ１５＝０の場合は、基板編成設定データ１１４Ａには現在は非接続つまり実装されていないが将来は接続つまり実装されることが予約された入出力回路基板の情報が含まれることになる。従って、将来接続つまり実装されることが予約された入出力回路基板が実際に接続つまり実装されるまでは、未使用入出力番号範囲５０１ａが発生することになる。
【０１０４】
また、現状基板編成５００が設定基板編成５０１には無い増設ユニットを含んでいる場合は、未設定入出力番号範囲５００ａが発生し、現状基板編成５００と設定基板編成５０１との共通部分は、適合入出力番号範囲５００ｂとなる。
【０１０５】
図９は、基板編成情報の他の例を示す図である。現状基板編成５００及び入出力制御プログラム７０７の中で使用されている入出力番号範囲である制御プログラム編成５０２には、未制御入出力番号範囲５００ｃと、適合入出力番号範囲５００ｄと、未接続入出力番号範囲５０２ｂと、がある。
【０１０６】
例えば、制御プログラム編成５０２に存在し且つ現状基板編成５００には存在しない未接続入出力番号範囲５０２ｂは、入出力制御プログラム７０７で必要とされる入力信号が供給されない又は入出力制御プログラム７０７で対象負荷を駆動できないことを意味し、付帯設備に将来接続つまり実装される予定の未接続つまり非実装の増設ユニットが存在することを表す。
【０１０７】
また、制御プログラム編成５０２に存在せず且つ現状基板編成５００には存在する未制御入出力番号範囲５００ｃは、増設ユニットが予め接続されているが、まだ具体的に制御内容が決定されていないことを表す。現状基板編成５００と制御プログラム編成５０２との共通部分は、適合入出力番号範囲５００ｄとなる。
【０１０８】
図１０は、外部ツールの動作を示すフローチャートである。図１０のステップＳ１００において、図示しない電源スイッチが閉路されたら、ステップＳ１０１において、外部ツール２００Ａのマイクロプロセッサ２１１Ａが動作を開始する。
【０１０９】
マイクロプロセッサ２１１Ａは、ステップＳ１０２において、外部ツール２００Ａがシリアルインタフェース１１８及び２１８を介して基本ユニット１１０Ａに接続されているか否かを判定し、接続されていればＹＥＳの判定を行ってステップＳ１０３へ処理を移行し、接続されていなければＮＯの判定を行ってステップＳ１１１へ処理を移行する。
【０１１０】
マイクロプロセッサ２１１Ａは、ステップＳ１０３において、ユーザが入出力制御プログラム７０７又は基板編成設定データ１１４Ａの作成を所望するか否かを判定する。ユーザは、入出力制御プログラム７０７又は基板編成設定データ１１４Ａの作成を所望するのであれば、キーボード２２０Ａへ作成を所望する旨のキー操作入力を行い、入出力制御プログラム７０７又は基板編成設定データ１１４Ａの作成を所望しないのであれば、キーボード２２０Ａへ作成を所望しない旨のキー操作入力を行う。
【０１１１】
マイクロプロセッサ２１１Ａは、ステップＳ１０３において、ユーザが入出力制御プログラム７０７又は基板編成設定データ１１４Ａの作成を所望するキー操作入力をキーボード２２０Ａへ行ったら、ＹＥＳの判定を行ってステップＳ１０４へ処理を移行する。一方、マイクロプロセッサ２１１Ａは、ステップＳ１０３において、ユーザが入出力制御プログラム７０７又は基板編成設定データ１１４Ａの作成を所望しないキー操作入力をキーボード２２０Ａへ行ったら、ＮＯの判定を行ってステップＳ１１５へ処理を移行する。
【０１１２】
マイクロプロセッサ２１１Ａは、ステップＳ１０４において、ユーザが基本ユニット１１０Ａのプログラムメモリ１１３Ａに格納されている入出力制御プログラム７０７の転送読み出しを所望するか否かを判定する。ユーザは、入出力制御プログラム７０７の転送読み出しを所望するのであれば、キーボード２２０Ａへ転送読み出しを所望する旨のキー操作入力を行い、入出力制御プログラム７０７の転送読み出しを所望しないのであれば、キーボード２２０Ａへ転送読み出しを所望しない旨のキー操作入力を行う。
【０１１３】
マイクロプロセッサ２１１Ａは、ステップＳ１０４において、ユーザが入出力制御プログラム７０７の転送読み出しを所望するキー操作入力をキーボード２２０Ａへ行ったら、ＹＥＳの判定を行ってステップＳ１０５へ処理を移行する。一方、マイクロプロセッサ２１１Ａは、ステップＳ１０４において、ユーザが入出力制御プログラム７０７の転送読み出しを所望しないキー操作入力をキーボード２２０Ａへ行ったら、ＮＯの判定を行ってステップＳ１０６へ処理を移行する。
【０１１４】
マイクロプロセッサ２１１Ａは、ステップＳ１０５において、基本ユニット１１０Ａのプログラムメモリ１１３Ａに格納されている入出力制御プログラム７０７を読み出して、外部ツール２００Ａのプログラムメモリ２１３Ａに転送してから、ステップＳ１０６へ処理を移行する。
【０１１５】
マイクロプロセッサ２１１Ａは、ステップＳ１０６において、ユーザが基板編成設定データ１１４Ａ及び基板編成現状データを含む基板編成データの転送読み出しを所望するか否かを判定する。ユーザは、基板編成データの転送読み出しを所望するのであれば、キーボード２２０Ａへ転送読み出しを所望する旨のキー操作入力を行い、基板編成データの転送読み出しを所望しないのであれば、キーボード２２０Ａへ転送読み出しを所望しない旨のキー操作入力を行う。
【０１１６】
マイクロプロセッサ２１１Ａは、ステップＳ１０６において、ユーザが基板編成データの転送読み出しを所望するキー操作入力をキーボード２２０Ａへ行ったら、ＹＥＳの判定を行ってステップＳ１０７へ処理を移行する。一方、マイクロプロセッサ２１１Ａは、ユーザが基板編成データの転送読み出しを所望しないキー操作入力をキーボード２２０Ａへ行ったら、ＮＯの判定を行ってステップＳ１１１へ処理を移行する。
【０１１７】
マイクロプロセッサ２１１Ａは、ステップＳ１０７において、ユーザが基板編成設定データ１１４Ａの転送読み出しを所望するか否かを判定する。ユーザは、基板編成設定データ１１４Ａの転送読み出しを所望するのであれば、キーボード２２０Ａへ転送読み出しを所望する旨のキー操作入力を行い、基板編成設定データ１１４Ａの転送読み出しを所望しないのであれば、キーボード２２０Ａへ転送読み出しを所望しない旨のキー操作入力を行う。
【０１１８】
マイクロプロセッサ２１１Ａは、ステップＳ１０７において、ユーザが基板編成設定データ１１４Ａの転送読み出しを所望するキー操作入力をキーボード２２０Ａへ行ったら、ＹＥＳの判定を行ってステップＳ１０８へ処理を移行する。一方、マイクロプロセッサ２１１Ａは、ユーザが基板編成設定データ１１４Ａの転送読み出しを所望しないキー操作入力をキーボード２２０Ａへ行ったら、ＮＯの判定を行ってステップＳ１０９へ処理を移行する。
【０１１９】
マイクロプロセッサ２１１Ａは、ステップＳ１０８において、基本ユニット１１０Ａのプログラムメモリ１１３Ａに格納されている基板編成設定データ１１４Ａを読み出して外部ツール２００Ａのプログラムメモリ２１３Ａへ転送してから、ステップＳ１０９へ処理を移行する。
【０１２０】
マイクロプロセッサ２１１Ａは、ステップＳ１０９において、ユーザが基板編成現状データの転送読み出しを所望するか否かを判定する。ユーザは、基板編成現状データの転送読み出しを所望するのであれば、キーボード２２０Ａへ転送読み出しを所望する旨のキー操作入力を行い、基板編成現状データの転送読み出しを所望しないのであれば、キーボード２２０Ａへ転送読み出しを所望しない旨のキー操作入力を行う。
【０１２１】
マイクロプロセッサ２１１Ａは、ステップＳ１０９において、ユーザが基板編成現状データの転送読み出しを所望するキー操作入力をキーボード２２０Ａへ行ったら、ＹＥＳの判定を行ってステップＳ１１０へ処理を移行する。一方、マイクロプロセッサ２１１Ａは、ユーザが基板編成現状データの転送読み出しを所望しないキー操作入力をキーボード２２０Ａへ行ったら、ＮＯの判定を行ってステップＳ１１１へ処理を移行する。
【０１２２】
マイクロプロセッサ２１１Ａは、ステップＳ１１０において、基本ユニット１１０Ａのデバイスメモリ１１６に格納されている基板編成現状データを読み出して外部ツール２００Ａのデバイスメモリ２１６へ転送してから、ステップＳ１１１へ移行する。
【０１２３】
ステップＳ１１１は、設定データ生成ステップである。マイクロプロセッサ２１１Ａは、ステップＳ１１１において、キーボード２２０Ａ及び表示装置２３０Ａを用いてユーザの入力を受け付け、入出力制御プログラム７０７の新規作成又はステップＳ１０５で読み出された既存の入出力制御プログラム７０７を活用しながらの新たな入出力制御プログラム７０７の編集作成を行う。また、マイクロプロセッサ２１１Ａは、ステップＳ１１１において、キーボード２２０Ａ及び表示装置２３０Ａを用いてユーザの入力を受け付け、基板編成設定データ１１４Ａの新規作成、又はステップＳ１０８で読み出された既存の基板編成設定データ１１４Ａ若しくはステップＳ１１０で読み出された基板編成現状データを活用しながらの新たな基板編成設定データ１１４Ａの編集作成を行う。
【０１２４】
マイクロプロセッサ２１１Ａは、ステップＳ１１２において、ユーザが入出力番号一覧表の表示を所望するキー操作入力をキーボード２２０Ａへ行ったら、ＹＥＳの判定を行ってステップＳ１１３へ移行し、ユーザが入出力番号一覧表の表示を所望しないキー操作入力をキーボード２２０Ａへ行ったら、ＮＯの判定を行ってステップＳ１１４へ移行する。
【０１２５】
ステップＳ１１３は、前述した入出力番号表示処理ステップである。マイクロプロセッサ２１１Ａは、ステップＳ１１３において、図８及び図９で説明した２種類の入出力番号の一覧表示を行って、ステップＳ１１４へ移行する。具体的には、マイクロプロセッサ２１１Ａは、ステップＳ１１３において、図８で説明した現状基板編成５００と設定基板編成５０１との対比により、未設定入出力番号範囲５００ａ、適合入出力番号範囲５００ｂ及び未使用入出力番号範囲５０１ａを抽出して表示する。また、マイクロプロセッサ２１１Ａは、ステップＳ１１３において、図９で説明した現状基板編成５００と制御プログラム編成５０２との対比により、未制御入出力番号範囲５００ｃ、適合入出力番号範囲５００ｄ及び未接続入出力番号範囲５０２ｂを抽出して表示する。
【０１２６】
マイクロプロセッサ２１１Ａは、ステップＳ１１４において、他の制御プログラムを実行して、予め定められた時間内に再度ステップＳ１０１へ移行して、ステップＳ１０１からステップＳ１１４までのステップを繰り返して実行する。
【０１２７】
マイクロプロセッサ２１１Ａは、ステップＳ１０３でＮＯと判定したときに移行するステップＳ１１５において、ユーザが外部ツール２００Ａから基本ユニット１１０Ａへのプログラムの転送書き込みを所望するか否かを判定する。ユーザは、外部ツール２００Ａから基本ユニット１１０Ａへのプログラムの転送書き込みを所望するのであれば、キーボード２２０Ａへ相応のキー操作入力を行い、外部ツール２００Ａから基本ユニット１１０Ａへのプログラムの転送書き込みを所望しないのであれば、キーボード２２０Ａへ相応のキー操作入力を行う。
【０１２８】
マイクロプロセッサ２１１Ａは、ステップＳ１１５において、ユーザが外部ツール２００Ａから基本ユニット１１０Ａへのプログラムの転送書き込みを所望するキー操作入力をキーボード２２０Ａへ入力したら、ＹＥＳの判定を行ってステップＳ１１６へ移行する。一方、マイクロプロセッサ２１１Ａは、ステップＳ１１５において、ユーザが外部ツール２００Ａから基本ユニット１１０Ａへのプログラムの転送書き込みを所望しないキー操作入力をキーボード２２０Ａへ入力したら、ＮＯの判定を行ってステップＳ１１８へ移行する。
【０１２９】
マイクロプロセッサ２１１Ａは、ステップＳ１１６において、基本ユニット１１０Ａに設けられた状態切換スイッチ１２０が運転停止となっているかどうかを判定し、運転停止となっていればＹＥＳの判定を行ってステップＳ１１７へ移行し、運転となっていればＮＯの判定を行ってステップＳ１１８へ移行する。
【０１３０】
ステップＳ１１７は、転送書込ステップである。マイクロプロセッサ２１１Ａは、ステップＳ１１７において、ステップＳ１１１で新規作成又は編集作成された入出力制御プログラム７０７及び基板編成設定データ１１４Ａを、外部ツール２００Ａのプログラムメモリ２１３Ａから基本ユニット１１０Ａのプログラムメモリ１１３Ａに転送書き込みして、ステップＳ１１４へ移行する。
【０１３１】
ステップＳ１１８は、前述した運転状態監視表示ステップである。マイクロプロセッサ２１１Ａは、ステップＳ１１８において、基本ユニット１１０Ａのデバイスメモリ１１６の内容を受信してプログラマブルコントローラ１００Ａの運転状態を監視し、プログラマブルコントローラ１００Ａの運転状態を表示装置２３０Ａの画面上に表示して、ステップＳ１１４へ移行する。次いで、予め定められた時間後に、マイクロプロセッサ２１１Ａは、ステップＳ１０１に移行して、ステップＳ１０１、ステップＳ１０３、ステップＳ１１５、ステップＳ１１８及びステップＳ１１４の循環動作を行う。
【０１３２】
図１１は、基本ユニットの動作を示すフローチャートである。ステップＳ２０１において、図示しない電源スイッチが閉路されたら、基本ユニット１１０Ａのマイクロプロセッサ１１１は、続くステップＳ２０２において、動作を開始する。
【０１３３】
マイクロプロセッサ１１１は、ステップＳ２０３において、基本ユニット１１０Ａがシリアルインタフェース１１８及び２１８を介して外部ツール２００Ａに接続されているか否かを判定する。マイクロプロセッサ１１１は、基本ユニット１１０Ａと外部ツール２００Ａとが接続されていればＹＥＳの判定を行ってステップＳ２０４へ移行し、基本ユニット１１０Ａと外部ツール２００Ａとが接続されていなければＮＯの判定を行ってステップＳ２０５へ移行する。
【０１３４】
マイクロプロセッサ１１１は、ステップＳ２０４において、マイクロプロセッサ２１１Ａの図１０で説明したステップＳ１０３からステップＳ１１８までの動作と連動して、外部ツール２００Ａとの間で交信を行う。マイクロプロセッサ１１１は、図１０で説明したステップＳ１１７でマイクロプロセッサ２１１Ａから転送された入出力制御プログラム７０７及び基板編成設定データ１１４Ａを受信して、プログラムメモリ１１３Ａに書き込み、ステップＳ２０５へ移行する。
【０１３５】
マイクロプロセッサ１１１は、ステップＳ２０５において、運転開始後の初回動作であるか否かを判定し、初回動作であればＹＥＳの判定を行ってステップＳ２０６へ移行し、初回動作でなければＮＯの判定を行ってステップＳ２０９へ移行する。
【０１３６】
ステップＳ２０６は、前述した現状編成読出解読ステップである。マイクロプロセッサ１１１は、ステップＳ２０６において、制御信号ＣＮＴによって局番設定を行いながら、入出力回路基板１４９Ａ、１５９Ａ、１６９Ａ及び１７９Ａの基板情報回路１４２ａ、１５２ａ、１６２ａ及び１７２ａから機種コードを夫々読み出す。更に、マイクロプロセッサ１１１は、システムメモリ１１２Ａに格納されている機種コードデータテーブル４００を参照しながら基板編成現状データを生成して、デバイスメモリ１１６の特殊データレジスタＤに書き込む。
【０１３７】
ステップＳ２０７は、前述した特殊デバイス検索ステップである。マイクロプロセッサ１１１は、ステップＳ２０７において、図４で説明した特殊補助リレーＭ８２００、Ｍ８２０１、Ｍ８２０２、Ｍ８２０３及びＭ８２０４が、入出力制御プログラム７０７の中に含まれているか否かを検索する。
【０１３８】
ステップＳ２０８は、前述した特別運転許可ステップである。マイクロプロセッサ１１１は、ステップＳ２０８において、プログラムメモリ１１３Ａに格納されている基板編成設定データ１１４Ａと、ステップＳ２０６で特殊データレジスタＤに書込みされた基板編成現状データと、を比較するとともに、運転許可を行うか否かの判定を行う。
【０１３９】
具体的には、マイクロプロセッサ１１１は、ステップＳ２０８において、まず基板編成設定データ１１４Ａと基板編成現状データとが一致しているか否かを判定し、一致しているときには、正常と判定して、入出力制御プログラム７０７の実行が許可される。一方、マイクロプロセッサ１１１は、基板編成設定データ１１４Ａと基板編成現状データとが不一致であるときには、異常と判定して、入出力制御プログラム７０７の実行を禁止し、入出力制御動作を禁止する。
【０１４０】
更に、マイクロプロセッサ１１１は、ステップＳ２０８において、点数等価判定処理を実行する。具体的には、マイクロプロセッサ１１１は、増設ユニット１４０Ａ、１５０Ａ、１６０Ａ及び１７０Ａの何れかに或る第１の入出力回路基板が実装されており、増設ユニット１４０Ａ、１５０Ａ、１６０Ａ及び１７０Ａの何れにも或る第２群の入出力回路基板が実装されていない場合において、基板編成現状データ内の第１の入出力回路基板の第１の基板情報と、基板編成設定データ１１４Ａ内の第２群の入出力回路基板の第２群の基板情報と、を比較する。そして、マイクロプロセッサ１１１は、第１の基板情報の全ての入出力信号型式区分と、第２群の基板情報の全ての入出力信号型式区分と、が一致しており、且つ、第１の基板情報の専有入出力点数と、第２群の基板情報の各々の専有入出力点数の合計と、が一致しているときには、第２群の回路基板の第１の回路基板への統合は互換性があると判定する。
【０１４１】
また、マイクロプロセッサ１１１は、増設ユニット１４０Ａ、１５０Ａ、１６０Ａ及び１７０Ａの何れにも或る第３の入出力回路基板が実装されておらず、増設ユニット１４０Ａ、１５０Ａ、１６０Ａ及び１７０Ａの何れかにある第４群の入出力回路基板が実装されている場合において、基板編成設定データ１１４Ａ内の第３の入出力回路基板の第３の基板情報と、基板編成現状データ内の第４群の入出力回路基板の第４群の基板情報と、を比較する。そして、マイクロプロセッサ１１１は、第３の入出力基板情報の全ての入出力信号型式区分と、第４群の基板情報の全ての入出力信号型式区分と、が一致しており、且つ、第３の基板情報の専有入出力点数と、第４群の基板情報の各々の専有入出力点数の合計と、が一致しているときには、第３の入出力回路基板の第４群の入出力回路基板への分割は互換性があると判定する。
【０１４２】
マイクロプロセッサ１１１は、上記のように、第２群の回路基板の第１の回路基板への統合は互換性があると判定するか又は第３の入出力回路基板の第４群の入出力回路基板への分割は互換性があると判定したら、基板編成設定データ１１４Ａと基板編成現状データとは等価と判定して、特別運転を許可する。つまり、マイクロプロセッサ１１１は、入出力制御プログラム７０７の実行を許可する。
【０１４３】
また、マイクロプロセッサ１１１は、ステップＳ２０８において、老番許可判定処理を実行する。具体的には、マイクロプロセッサ１１１は、基板編成現状データが基板編成設定データ１１４Ａには含まれない老番番号である入出力番号を含んでいることを除いて、基板編成現状データと基板編成設定データ１１４Ａとが相互に一致している、つまり正常老番と判定したときには、特別運転を許可する。つまり、マイクロプロセッサ１１１は、入出力制御プログラム７０７の実行を許可する。
【０１４４】
ここで、老番番号とは、マイクロプロセッサ１１１から、より遠隔位置に接続されている入出力回路基板に割り付けられる入出力番号である。つまり、老番番号は、基板編成設定データ１１４Ａ内の入出力番号の１番大きい値よりも大きい入出力番号である。
【０１４５】
また、マイクロプロセッサ１１１は、ステップＳ２０８において、配置変更判定処理を実行する。具体的には、マイクロプロセッサ１１１は、基板編成現状データにおける、入力回路基板の接続順位が、基板編成設定データ１１４Ａにおける、出力回路基板の前又は後に変更されているが、基板編成現状データにおいて、複数の入力回路基板の間での接続順位の変更及び複数の出力回路基板の間での接続順位の変更が行われていない、つまり正常配置変更と判定したときには、特別運転を許可する。つまり、マイクロプロセッサ１１１は、入出力制御プログラム７０７の実行を許可する。
【０１４６】
また、マイクロプロセッサ１１１は、ステップＳ２０８において、未設定判定処理を実行し、プログラムメモリ１１３Ａに基板編成設定データ１１４Ａが書き込まれていない、つまり基板編成が未設定と判定したときには、特別運転を許可する。
【０１４７】
但し、これらの特別運転許可を実際に有効にするために、プログラムメモリ１１３Ａに格納される入出力制御プログラム７０７の中に、ユーザによってアクセス可能な予め定められた番号の特殊デバイスである特殊補助リレーＭ８２００、Ｍ８２０１、Ｍ８２０２、Ｍ８２０３及びＭ８２０４を、任意の命令型式でプログラムしておくこととする。
【０１４８】
なお、特殊補助リレーＭ８２００は、後述する編成異常判定ステップＳ２０９で正常編成と判定されたときに閉路駆動される。特殊補助リレーＭ８２０１は、上記した点数等価判定処理で正常等価と判定されたときに閉路駆動される。特殊補助リレーＭ８２０２は、上記した老番許可判定処理で正常老番と判定されたときに閉路駆動される。特殊補助リレーＭ８２０３は、上記した配置変更判定処理で正常配置変更と判定されたときに閉路駆動される。特殊補助リレーＭ８２０４は、上記した未設定判定処理で未設定と判定されたときに閉路駆動される。
【０１４９】
ステップＳ２０９は、前述した編成異常判定ステップである。マイクロプロセッサ１１１は、ステップＳ２０９において、ステップＳ２０８で異常編成と判定されたか否かをチェックし、異常編成と判定されたのであればＹＥＳの判定を行ってステップＳ２１０へ移行し、正常編成と判定されたのであれば、特殊補助リレーＭ８２００を閉路駆動し、ＮＯの判定を行ってステップＳ２１１へ移行する。
【０１５０】
ステップＳ２１０は、特別許可実行ステップである。マイクロプロセッサ１１１は、ステップＳ２１０において、ステップＳ２０８で特別運転許可と判定されており、且つ、ステップＳ２０７で特殊補助リレーＭ８２０１、Ｍ８２０２、Ｍ８２０３及びＭ８２０４が検出されていた、つまり運転許可の場合にＹＥＳの判定を行ってステップＳ２１１へ移行し、運転不許可の場合にＮＯの判定を行ってステップＳ２１３へ移行する。
【０１５１】
マイクロプロセッサ１１１は、ステップＳ２１１において、基本ユニット１１０Ａの状態切換スイッチ１２０が運転状態となっているか否かを判定し、運転状態であればＹＥＳの判定を行ってステップＳ２１２へ移行し、運転停止であればＮＯの判定を行ってステップＳ２１３へ移行する。
【０１５２】
マイクロプロセッサ１１１は、ステップＳ２１２において、入出力制御プログラム７０７を実行することにより入出力制御動作を行い、ステップＳ２１４へ移行する。
【０１５３】
マイクロプロセッサ１１１は、ステップＳ２１３において、入出力制御動作を停止する。そして、マイクロプロセッサ１１１は、異常停止の場合には、異常報知を行うとともに、異常発生情報である異常履歴を、ＲＡＭ１１５の常時給電される領域のデータレジスタＤに書き込み保存し、ステップＳ２１４へ移行する。
【０１５４】
マイクロプロセッサ１１１は、ステップＳ２１４において、他の制御プログラムを実行して、予め定められた時間内には再度ステップＳ２０２へ移行して、ステップＳ２０２からステップＳ２１４までのステップを繰り返して実行する。
【０１５５】
なお、マイクロプロセッサ１１１は、ステップＳ２１２の実行中においても、入出力制御プログラムの制御フローに基づいて定期的にステップＳ２１４へ移行して、再びステップＳ２１２を実行する。
【０１５６】
上記の説明では、基本ユニット１１０Ａは入出力回路基板を内蔵できないタイプのものとなっているが、基本ユニット１１０Ａに代えて、実施の形態２で後述するように、入出力回路基板を内蔵可能なタイプのものを使用することもできる。
【０１５７】
また、外部ツール２００Ａは、多くの操作キーを含むキーボード２２０Ａ及び大画面の表示装置２３０Ａを備え、キーボード２２０Ａを用いて表示装置２３０Ａの画面上に作画されたシーケンス制御回路図に基づいて、シーケンス言語で記述された入出力制御プログラム７０７を自動的に生成するとともに、作画されたユニット編成図に基づいて、基板編成設定データ１１４Ａを自動的に生成する機能のものとした。しかし、外部ツール２００Ａは、このようなものに限定されず、機能を簡素化した、後述する簡易版の外部ツール２００Ｂを使用することもできる。
【０１５８】
また、入出力制御プログラム７０７を作成する機能は有しないが、デバイスメモリ１１６への書き込み機能及びデバイスメモリ１１６からの読み出し機能を有する設定表示ユニットを用いてもよい。このような設定表示ユニットを用いて、基本ユニット１１０Ａから基板編成現状データを読み出して、読み出した基板編成現状データを基板編成設定データ１１４Ａとし、基本ユニット１１０Ａへ転送書込みすることができる第３の外部ツールを用いることも可能である。
【０１５９】
上記の説明では、基板情報は、機種コードに基づいて、図６で示した機種コードデータテーブル４００を参照することで、取得したが、これに代わって、実施の形態２で説明する機種番号データテーブルを併用することで取得するようにすることも可能である。
【０１６０】
上記の通り、実施の形態１にかかるプログラマブルコントローラ１００Ａは、基本ユニット１１０Ａと、増設ユニット１４０Ａ、１５０Ａ、１６０Ａ及び１７０Ａと、を備える。基本ユニット１１０Ａは、マイクロプロセッサ１１１と、マイクロプロセッサ１１１と協働するシステムメモリ１１２Ａと、ユーザによって作成された入出力制御プログラム７０７が格納されるプログラムメモリ１１３Ａと、入出力情報を記憶する演算処理用のＲＡＭ１１５と、を備える。
【０１６１】
増設ユニット１４０Ａ、１５０Ａ、１６０Ａ及び１７０Ａは、マイクロプロセッサ１１１に選択的に交信接続される複数の入出力回路基板１４９Ａ、１５９Ａ、１６９Ａ及び１７９Ａを夫々内蔵する。複数の入出力回路基板１４９Ａ、１５９Ａ、１６９Ａ及び１７９Ａは、マイクロプロセッサ１１１からの接続順位に対応して、マイクロプロセッサ１１１により局番設定が行われる。局番に対応して入出力制御プログラム７０７内に記述された入出力番号と、入出力回路基板１４９Ａ、１５９Ａ、１６９Ａ及び１７９Ａに接続された外部入出力機器１４１Ａ、１５１Ａ、１６１Ａ及び１７１Ａの入出力点に付与された入出力番号と、が対応する。
【０１６２】
プログラマブルコントローラ１００Ａは、外部入力機器１４１Ａ及び１６１Ａから入力された入力信号情報と、プログラムメモリ１１３Ａの内容と、に基づいて、外部出力機器１５１Ａ及び１７１Ａへの制御出力信号を発生する。入出力回路基板１４９Ａ、１５９Ａ、１６９Ａ及び１７９Ａは、入出力型式区分と、専有入出力点数と、を特定するための機種コードを夫々有する基板情報回路１４２ａ、１５２ａ、１６２ａ及び１７２ａを夫々備えている。
【０１６３】
そして、プログラムメモリ１１３Ａは、入出力制御プログラム７０７が格納される第１メモリ領域と、基板編成設定データ１１４Ａが格納される第２メモリ領域と、を備える。基板編成設定データ１１４Ａは、増設ユニット１４０Ａ、１５０Ａ、１６０Ａ及び１７０Ａに内蔵される入出力回路基板の基板編成と、増設ユニット１４０Ａ、１５０Ａ、１６０Ａ及び１７０Ａに内蔵される入出力回路基板の基本ユニットからの接続順位と、を設定するデータである。なお、基板編成設定データ１１４Ａは、後述する実施の形態２のように基本ユニット１１０Ａが入出力回路基板を内蔵するタイプの場合には、基本ユニット１１０Ａに内蔵される入出力回路基板の基板編成と、基本ユニット１１０Ａからの接続順位と、を含む。基板編成設定データ１１４Ａは、入出力制御プログラム７０７を作成する外部ツール２００Ａにおいて生成されて、プログラムメモリ１１３Ａの第２メモリ領域に転送書き込みされる。
【０１６４】
システムメモリ１１２Ａに格納されるプログラムは、現状編成読出解読ステップＳ２０６を実行するためのプログラム、特別運転許可ステップＳ２０８を実行するためのプログラム及び編成異常判定ステップＳ２０９を実行するためのプログラムを含む。
【０１６５】
現状編成読出解読ステップＳ２０６では、マイクロプロセッサ１１１の運転開始時に、増設ユニット１４０Ａ、１５０Ａ、１６０Ａ及び１７０Ａに内蔵されている入出力回路基板の基板情報と、増設ユニット１４０Ａ、１５０Ａ、１６０Ａ及び１７０Ａに内蔵されている入出力回路基板の接続順位と、が検出され、マイクロプロセッサ１１１からの接続順位に対応して、増設ユニット１４０Ａ、１５０Ａ、１６０Ａ及び１７０Ａに内蔵されている入出力回路基板の入出力点へ付与する一連の入出力番号が決定される。
【０１６６】
そして、特別運転許可ステップＳ２０８内の点数等価判定処理では、増設ユニット１４０Ａ、１５０Ａ、１６０Ａ及び１７０Ａの何れかにある第１の入出力回路基板が実装されており、増設ユニット１４０Ａ、１５０Ａ、１６０Ａ及び１７０Ａの何れにもある第２群の入出力回路基板が実装されていない場合において、基板編成現状データ内の第１の入出力回路基板の第１の基板情報と、基板編成設定データ１１４Ａ内の第２群の入出力回路基板の第２群の基板情報と、が比較される。そして、第１の基板情報の全ての入出力信号型式区分と、第２群の基板情報の全ての入出力信号型式区分と、が一致しており、且つ、第１の基板情報の専有入出力点数と、第２群の基板情報の各々の専有入出力点数の合計と、が一致しているときには、第２群の回路基板の第１の回路基板への統合は互換性があると判定される。
【０１６７】
また、増設ユニット１４０Ａ、１５０Ａ、１６０Ａ及び１７０Ａの何れにもある第３の入出力回路基板が実装されておらず、増設ユニット１４０Ａ、１５０Ａ、１６０Ａ及び１７０Ａの何れかにある第４群の入出力回路基板が実装されている場合において、基板編成設定データ１１４Ａ内の第３の入出力回路基板の第３の基板情報と、基板編成現状データ内の第４群の入出力回路基板の第４群の基板情報と、が比較される。そして、第３の入出力基板情報の全ての入出力信号型式区分と、第４群の基板情報の全ての入出力信号型式区分と、が一致しており、且つ、第３の基板情報の専有入出力点数と、第４群の基板情報の各々の専有入出力点数の合計と、が一致しているときには、第３の入出力回路基板の第４群の入出力回路基板への分割は互換性があると判定される。
【０１６８】
上記のように、第２群の回路基板の第１の回路基板への統合は互換性があると判定されるか又は第３の入出力回路基板の第４群の入出力回路基板への分割は互換性があると判定されたら、基板編成設定データ１１４Ａと基板編成現状データとは等価と判定されて、特別運転が許可される。つまり、入出力制御プログラム７０７の実行が許可される。
【０１６９】
編成異常判定ステップＳ２０９では、基板編成設定データ１１４Ａと、現状編成読出解読ステップＳ２０６で読み出された基板編成現状データと、が不一致であるときには、異常と判定されて入出力制御プログラム７０７の実行が禁止され、入出力制御動作が禁止される。しかしながら、特別運転許可ステップＳ２０８内の点数等価判定処理で、複数の基板の１つの基板への統合又は１つの基板の複数の基板への分割は互換性があると判定されたときには、入出力制御プログラム７０７の実行が特別許可され、入出力制御動作が実行される。つまり、現状編成読出解読ステップＳ２０６で読み出された基板情報に基づいて、入出力制御プログラム７０７の実行が許可される。
【０１７０】
基板情報は、型式情報と、専有入出力点数情報と、を含む。型式情報は、自基板が内蔵されているユニットが基本ユニットであるか増設ユニットであるかを表すユニット識別情報と、自基板が入力回路基板であるか出力回路基板であるかを表す基板識別情報と、自基板の入力型式又は出力型式を特定する入出力信号型式情報と、を含む。専有入出力点数情報は、予め定められた基礎点数に乗じる倍率で表される。
【０１７１】
基板情報は、複数ビット幅のパターンスイッチ信号によって直接指定される機種コードに符号化されている。現状編成読出解読ステップＳ２０６では、読み出された機種コードに基づいて、想定される多様な基板情報を網羅した機種コードデータテーブル４００を参照することで、機種コードを復号化して基板情報を取得できる。機種コードデータテーブル４００は、システムメモリ１１２Ａのパラメータメモリ領域に格納されている。
【０１７２】
上記の通り、実施の形態１にかかるプログラマブルコントローラ１００Ａは、基本ユニット１１０Ａに、必要とされる入出力点数規模に対応して増設ユニット１４０Ａ、１５０Ａ、１６０Ａ及び１７０Ａが接続される。増設ユニット１４０Ａ、１５０Ａ、１６０Ａ及び１７０Ａに夫々接続された外部入出力機器１４１Ａ、１５１Ａ、１６１Ａ及び１７１Ａの入出力番号は、マイクロプロセッサ１１１への接続順位に基づいて決定される。マイクロプロセッサ１１１と協働するプログラムメモリ１１３Ａには、入出力制御プログラム７０７と、基板編成設定データ１１４Ａと、が格納される。現状編成読出解読ステップＳ２０６で検出された基板編成現状データと、予め書き込みされている基板編成設定データ１１４Ａと、が不一致であれば、入出力制御プログラム７０７の実行が許可されず、入出力制御動作が停止される。しかしながら、特別運転許可ステップＳ２０８内での点数等価判定処理で、複数の基板の１つの基板への統合又は１つの基板の複数の基板への分割は互換性があると判定されたときには、入出力制御プログラム７０７の実行が特別許可される。
【０１７３】
従って、プログラマブルコントローラ１００Ａは、多入出力点数の入出力回路基板を内蔵した１つの大型増設ユニットを、少入出力点数の入出力回路基板を夫々内蔵した複数の小型増設ユニットに分割するか、又は複数の小型増設ユニットを１つの大型増設ユニットに統合する場合に、１つの大型増設ユニットと複数の小型増設ユニットとの間の相互の入出力型式が一致していれば、プログラム作成用の外部ツール２００Ａが無くてもプログラマブルコントローラ１００Ａの運転が可能となる。これにより、プログラマブルコントローラ１００Ａは、現場環境での設備の保守管理及びハードウエア上の変更が容易となる効果を奏する。
【０１７４】
例えば、プログラマブルコントローラ１００Ａは、設備を順次拡張する段階で逐次追加された複数の小型の入力増設ユニットを、設備の拡張が完了した段階で大型の１つの入力増設ユニットに交換すると、装置全体が小型安価となる効果を奏する。
【０１７５】
一方、プログラマブルコントローラ１００Ａは、出力点数の多いリレー出力型の増設ユニットを、出力点数の少ない複数のリレー出力型の増設ユニットに分割すると、リレー出力の寿命に伴う保守交換単位を安価なものにすることができる効果を奏する。
【０１７６】
特に、設備の製造メーカがプログラム作成用の外部ツール２００Ａを保有しており、エンドユーザが旧型式のプログラムツールを有するか又は基板編成設定データ１１４Ａの生成及び書込機能を有さない簡易なプログラムツールを有する場合、或いはエンドユーザがプログラムツールを持たない場合に、プログラマブルコントローラ１００Ａによれば、プログラマブルコントローラ１００Ａ自体が運転可否を決定し、現場ニーズに適合した機種編成に変更することができる。これにより、プログラマブルコントローラ１００Ａは、保守及び維持管理が容易となる効果を奏する。
【０１７７】
また、プログラマブルコントローラ１００Ａは、単独では基板編成設定データ１１４Ａの書き換え変更を行わない。従って、プログラマブルコントローラ１００Ａに対応した入出力制御プログラム７０７及び基板編成設定データ１１４Ａの保存データを有する旧来の外部ツールを、プログラマブルコントローラ１００Ａに接続した場合に、基板編成設定データ１１４Ａの不一致異常が発生しない。これにより、プログラマブルコントローラ１００Ａは、旧来の外部ツールとの間で互換性を維持することができる効果を奏する。
【０１７８】
上記の通り、基板情報は、ユニット識別情報、基板識別情報及び入出力信号型式情報を含む型式情報と、専有入出力点数情報と、を含む。基板情報は、複数ビット幅のパターンスイッチ信号である機種コードに符号化されている。また、システムメモリ１１２Ａのパラメータメモリ領域には、機種コードデータテーブル４００が格納されている。
【０１７９】
従って、回路基板に設けられた複数対の回路パターンによる端子間を短絡又は開放して得られる複数ビット幅のパターンスイッチ信号によって、想定される多様な基板情報を網羅した機種コードの１つを直接指定することができる。これにより、プログラマブルコントローラ１００Ａは、少ないパターンスイッチで機種コードを表すことができ、機種コードに基づいて、小規模な機種コードデータテーブル４００を参照することで、機種コードを復号化して基板情報を取得することができる効果を奏する。
【０１８０】
入出力回路基板１４９Ａ、１５９Ａ、１６９Ａ及び１７９Ａの入出力型式は、オン又はオフ信号の入出力を行うデジタル入力型式及びデジタル出力型式、並びにアナログ信号の入出力を行うアナログ入力型式及びアナログ出力型式に大別される。専有入出力点数を算出するための基礎点数は、デジタル入出力型式とアナログ入出力型式とでは異なった値が適用される。点数等価判定処理は、デジタル入力型式とデジタル出力型式並びにアナログ入力型式とアナログ出力型式の両方の入出力型式に適用される。
【０１８１】
上記の通り、点数等価判定処理は、デジタル入出力型式及びアナログ入出力型式の両方に対して適用される。専有入出力点数を特定するための基礎点数は、デジタル入出力型式と、アナログ入出力型式と、で異なった値が用いられる。
【０１８２】
従って、プログラマブルコントローラ１００Ａは、例えばデジタル入出力型式の基礎点数Ｎ＝８点、アナログ入出力型式の基礎点数Ｎ＝２点とし、基礎点数Ｎに乗じる倍率を４ビット幅の数値とすると、デジタル入出力型式では０点から１２０点、アナログ入出力型式では０点から３０点の入力点数又は出力点数を指定することができる。これにより、プログラマブルコントローラ１００Ａは、少ないパターンスイッチにより、広範囲に入出力点数を指定することができる効果を奏する。
【０１８３】
基板情報の詳細を定義した機種コードデータテーブル４００は、入出力型式を特定しない架空の、つまり非接続の回路基板と、架空の回路基板の専有入力点数又は専有出力点数と、に対応した機種コードを含むことができる。これは、架空の、つまり非接続の回路基板の基板情報のビットｂ１５＝０とすれば良い。
【０１８４】
基板編成設定データ１１４Ａは、マイクロプロセッサ１１１からの接続順位に、架空のつまり非実装の基板の接続順位を含めることができる。現状編成読出解読ステップＳ２０６では、基板編成設定データ１１４Ａを参照して、架空の基板の基板情報及び接続順位が存在する場合は、架空の基板の基板情報に基づく入出力点数分の入出力番号を空き番号とした上で、実装されている入出力回路基板の入出力点へ付与する一連の入出力番号が決定される。編成異常判定ステップＳ２０９では、現状編成読出解読ステップＳ２０６で読み出された基板編成現状データにおいて、入出力番号に空白部分があり、且つ、基板編成設定データ１１４Ａが架空の基板の基板情報及び接続順位を含んでいる場合は、空白部分への異常判定は行われない。
【０１８５】
従って、プログラマブルコントローラ１００Ａは、現状のユニット編成から特定ユニットが削除された場合は、基板編成設定データ１１４Ａに記述されていた特定ユニットの基板の基板編成及び接続順位に代えて、同じ入出力点数の架空の基板の基板情報及び接続順位を記述すると良い。これにより、プログラマブルコントローラ１００Ａは、後続の入出力番号に変動を生じない効果を奏する。
【０１８６】
また、プログラマブルコントローラ１００Ａは、現状のユニット編成に対して追加接続される可能性のある増設ユニットが想定される場合には、想定される入出力点数の架空のつまり非実装の回路基板の基板編成及び接続順位を基板編成設定データ１１４Ａに予め記述しておくと良い。これにより、プログラマブルコントローラ１００Ａは、増設ユニットを実際に実装したときに、後続の入出力番号に変動を生じない効果を奏する。
【０１８７】
基板編成設定データ１１４Ａが、１又は複数の架空の基板の基板編成及び接続順位を含んでおり、且つ、現状編成読出解読ステップＳ２０６で読み出された基板編成現状データが、１又は複数の架空の基板の基板編成に対応した入出力回路基板が実装されていることを示す情報を含んでいる場合には、特別運転許可ステップＳ２０８内の点数等価判定処理で、１又は複数の架空の基板と実装されている入出力回路基板と間の統合又は分割が容認される。また、架空の基板の基板編成が入出力信号型式情報を含んでいない場合には、実装されている入出力回路基板の入出力信号型式は、任意のものを選択することができる。
【０１８８】
上記の通り、特別運転許可ステップＳ２０８内の点数等価判定処理で、架空つまり非実装の基板と、実装されている入出力回路基板と、の間の統合又は分割が許可される。また、架空の基板情報において未指定であった入出力信号型式が、実装されている入出力回路基板の基板情報において特定されても、異常編成とはならない。
【０１８９】
従って、プログラマブルコントローラ１００Ａは、将来の実装が予約されている、任意の入出力信号型式の架空の入出力回路基板と、実装されている特定の入出力信号型式の入出力回路基板と、の間で専有入出力点数の合計値を一致させておけば、任意の架空の入出力回路基板と、実装されている入出力回路基板と、の間の統合又は分割を行うことができる効果を奏する。
【０１９０】
特別運転許可ステップＳ２０８は、更に、老番許可判定処理、配置変更判定処理又は未設定判定処理を含む。老番許可判定処理、配置変更判定処理及び未設定判定処理の各々は、編成異常判定ステップＳ２０９で基板編成現状データと基板編成設定データ１１４Ａとを対比して不一致、つまり編成異常と判定されている場合であっても、マイクロプロセッサ１１１による入出力制御動作を特別許可するか否かを判定する処理である。
【０１９１】
老番許可判定処理は、基板編成現状データが基板編成設定データ１１４Ａには含まれていない老番番号である入出力番号を含んでいることを除いて、基板編成現状データと基板編成設定データ１１４Ａとが一致しているか否かを判定する処理である。老番番号は、マイクロプロセッサ１１１から、より遠隔位置に接続されている入出力回路基板に割り付けられる入出力番号である。つまり、老番番号は、基板編成設定データ１１４Ａには含まれない入出力番号であって、基板編成設定データ１１４Ａ内に基板情報が記載されている入出力回路基板に付与されている入出力番号の１番大きい値よりも大きい入出力番号である。
【０１９２】
配置変更判定処理は、基板編成現状データ内の入力回路基板及び出力回路基板の接続順位が、基板編成設定データ１１４Ａと比して前後に変更されているが、複数の入力回路基板間での接続順位の変更及び複数の出力回路基板間の接続順位の変更が行われていないか否かを判定する処理である。
【０１９３】
未設定判定処理は、プログラムメモリ１１３Ａの第２メモリ領域に、基板編成設定データ１１４Ａが書込まれていないか否かを判定する処理である。
【０１９４】
上記の通り、プログラマブルコントローラ１００Ａは、基板編成現状データと基板編成設定データ１１４Ａとが不一致である、つまり編成異常判定ステップＳ２０９で編成異常と判定されている場合であっても、入出力番号に変動が発生していないと判定されるか、基板編成設定データ１１４Ａが未設定であって、入出力番号に変動が発生していると特定できないときは、マイクロプロセッサ１１１による入出力制御動作が特別許可される。
【０１９５】
従って、プログラマブルコントローラ１００Ａが使用されている例えば設備機械の立上げ又は試運転調整段階において、プログラマブルコントローラ１００Ａは、運転禁止要件を緩和して、作業能率を向上することができる効果を奏する。
【０１９６】
ユーザは、特別運転許可ステップＳ２０８を有効にするときには、プログラムメモリ１１３Ａに格納される入出力制御プログラム７０７の中に、ユーザによってアクセス可能な予め定められた番号の特殊デバイスを任意の命令型式でプログラム記述しておく。特殊デバイス検索ステップＳ２０７では、マイクロプロセッサ１１１の運転開始時に、入出力制御プログラム７０７の中に予め定められた番号の特殊デバイスが含まれているか否かを判定する。そして、特殊デバイス検索ステップＳ２０７では、入出力制御プログラム７０７の中に予め定められた番号の特殊デバイスが含まれていれば特別運転許可ステップＳ２０８を有効とする。一方、特殊デバイス検索ステップＳ２０７では、入出力制御プログラム７０７の中に予め定められた番号の特殊デバイスが含まれていなければ特別運転許可ステップＳ２０８を無効とし、特別許可が行われないようにすることができる。
【０１９７】
上記の通り、プログラマブルコントローラ１００Ａは、ユーザプログラムつまり入出力制御プログラム７０７の中に予め定められた番号の特殊デバイスをプログラム記述しておくか否かによって、特別運転許可ステップＳ２０８を有効又は無効にすることができる。
【０１９８】
従って、プログラマブルコントローラ１００Ａは、基板編成設定データ１１４Ａと現状編成読出解読ステップＳ２０６で読み出された基板編成現状データとが不一致であるときに、無条件で特別運転許可ステップＳ２０８を実行するのではなく、ユーザプログラムつまり入出力制御プログラム７０７による許可の下で特別運転許可ステップＳ２０８を実行する。これにより、プログラマブルコントローラ１００Ａは、入出力制御プログラム７０７による許可がなければ、たとえ特別運転許可ステップＳ２０８で特別運転許可と判定されるような条件が整っていても入出力制御プログラム７０７を実行せず、入出力制御動作を停止し、不必要に入出力制御動作が行われることがないようにすることができるという効果を奏する。
【０１９９】
なお、予め定められた番号の特殊デバイスを記述した入出力制御プログラム７０７の作成は、バージョンアップされていない旧型式の外部ツールによっても可能となる特徴がある。
【０２００】
また、プログラマブルコントローラ１００Ａは、特別運転許可ステップＳ２０８が実装されていない旧型式のプログラマブルコントローラで実行されていた入出力制御プログラムを用いて、特別運転許可ステップＳ２０８が実装された新型式のプログラマブルコントローラ１００Ａを運転した場合に、不必要に入出力制御動作が行われることがない。これにより、プログラマブルコントローラ１００Ａは、旧型式のプログラマブルコントローラとの互換性を維持することができる。
【０２０１】
また、プログラマブルコントローラ１００Ａは、必要により、予め定められた番号の特殊デバイスを入出力制御プログラム７０７の中に追記述すれば、新機能つまり特別運転許可ステップＳ２０８を有効活用することができる効果を奏する。
【０２０２】
なお、プログラマブルコントローラ１００Ａは、プログラムメモリ１１３Ａへの入出力制御プログラム７０７の書き込みには、暗証番号による資格認定を要求することによって、不必要に運転が許可されることがないように保護することができる。
【０２０３】
予め定められた番号の特殊デバイスには、第１番号の特殊補助リレーＭ８２００から第５番号の特殊補助リレーＭ８２０４までの一部又は全部を使用することができる。
【０２０４】
第１番号の特殊補助リレーＭ８２００は、編成異常判定ステップＳ２０９で正常と判定されたときに、閉路駆動される。
【０２０５】
第２番号の特殊補助リレーＭ８２０１は、特別運転許可ステップＳ２０８内の点数等価判定処理で正常等価と判定されたときに、閉路駆動される。
【０２０６】
第３番号の特殊補助リレーＭ８２０２は、特別運転許可ステップＳ２０８内の老番許可判定処理で正常老番と判定されたときに、閉路駆動される。
【０２０７】
第４番号の特殊補助リレーＭ８２０３は、特別運転許可ステップＳ２０８内の配置変更判定処理で正常配置変更と判定されたときに、閉路駆動される。
【０２０８】
第５番号の特殊補助リレーＭ８２０４は、特別運転許可ステップＳ２０８内の未設定判定処理で未設定と判定されたときに、閉路駆動される。
【０２０９】
上記の通り、予め定められた番号の特殊デバイスには、特殊補助リレーＭ８２００から特殊補助リレーＭ８２０４までの一部又は全部が使用される。そして、特別運転許可の場合には、該当する番号の特殊補助リレーが閉路駆動される。
【０２１０】
従って、プログラマブルコントローラ１００Ａは、特別運転許可ステップＳ２０８を有効にする場合に、入出力制御プログラム７０７内に特殊補助リレーＭ８２００から特殊補助リレーＭ８２０４までをモニタするモニタ回路を作成記述しておけば、どの判定処理によって運転許可が行われているかを監視することができる効果を奏する。これは、後述の実施形態２についても同様である。
【０２１１】
シリアルインタフェース１１８及び２１８を介して基本ユニット１１０Ａに接続されるプログラムツールである外部ツールには、高機能版の第１の外部ツール２００Ａと、実施の形態２で詳述する簡易版の第２の外部ツール２００Ｂとがある。第１の外部ツール２００Ａは、第２の外部ツール２００Ｂのキーボードより多くの操作キーを含むキーボード２２０Ａと、第２の外部ツール２００Ｂの表示装置より大画面の表示装置２３０Ａを備える。
【０２１２】
第１の外部ツール２００Ａは、キーボード２２０Ａの操作キーを用いて表示装置２３０Ａの画面上に作画されたシーケンス制御回路図に基づいて、シーケンス言語で記述された入出力制御プログラム７０７を自動的に生成する。また、第１の外部ツール２００Ａは、キーボード２２０Ａの操作キーを用いて表示装置２３０Ａ上に作画されたユニット編成図に基づいて、基板編成設定データ１１４Ａを自動的に生成する。そして、第１の外部ツール２００Ａは、入出力制御プログラム７０７及び基板編成設定データ１１４Ａを、第１の外部ツール２００Ａのプログラムメモリ２１３Ａに一旦は格納し、入出力制御プログラム７０７を基本ユニット１１０Ａ内のプログラムメモリ１１３Ａに転送することができる。
【０２１３】
なお、第２の外部ツール２００Ｂは、第１の外部ツール２００Ａよりは少ない操作キーのキーボード２２０Ｂと狭角の表示装置２３０Ｂとを備える。第２の外部ツール２００Ｂは、操作キーを用いてシーケンス言語で記述された入出力制御プログラム７０７を生成するとともに、汎用のデータ転送命令と特定のデータレジスタ番号との組み合わせを用いるか又は専用命令を用いて基板編成設定データ１１４Ａを生成することができるようになっている。
【０２１４】
第２の外部ツール２００Ｂは、第１の外部ツール２００Ａのキーボード２２０Ａより少ない操作キーを含むキーボード２２０Ｂと、第１の外部ツール２００Ａの表示装置２３０Ａよりも小画面の表示装置２３０Ｂと、を備える。第２の外部ツール２００Ｂは、操作キーを用いてシーケンス言語で記述された入出力制御プログラム７０７を生成して、第２の外部ツール２００Ｂのプログラムメモリに一旦は格納し、入出力制御プログラム７０７を基本ユニット１１０Ａ内のプログラムメモリ１１３Ａに転送することができる。
【０２１５】
第１の外部ツール２００Ａ及び第２の外部ツール２００Ｂは、基本ユニット１１０Ａにおいて現状編成読出解読ステップＳ２０６で読み出された基板編成現状データを一旦は第１の外部ツール２００Ａ及び第２の外部ツール２００Ｂに読み出してから、基板編成現状データを基本ユニット１１０Ａのプログラムメモリ１１３Ａに転送する転送書込ステップＳ１１７を実行する。転送書込ステップＳ１１７は、第１の外部ツール２００Ａに設けられたシステムメモリ２１２Ａ及び第２の外部ツール２００Ｂに設けられたシステムメモリ２１２Ｂをバージョンアップすることによって実行可能となるものである。
【０２１６】
上記の通り、入出力制御プログラム７０７の生成ツールである外部ツールは、２種類の外部ツール２００Ａ及び２００Ｂを含む。高機能版の第１の外部ツール２００Ａでは、基板編成設定データ１１４Ａの作成が可能である。これに対し、簡易版の第２の外部ツール２００Ｂは、プログラマブルコントローラ１００Ａのマイクロプロセッサ１１１によって読み出された現状の基板編成現状データを読み出して、基板編成現状データをプログラマブルコントローラ１００Ａのプログラムメモリ１１３Ａに転送書き込みすることができる。
【０２１７】
従って、少ない操作キーと小画面を有する第２の外部ツール２００Ｂは、複雑な操作で基板編成設定データ１１４Ａを生成する必要がない。その結果、第２の外部ツール２００Ｂは、プログラマブルコントローラ１００Ａで実行される現状編成読出解読ステップＳ２０６を活用して、手軽に基板編成設定データ１１４Ａの書き込みを行うことができる効果を奏する。
【０２１８】
第１の外部ツール２００Ａ及び第２の外部ツール２００Ｂは、汎用のデータ転送命令と特定のデータレジスタ番号との組み合わせを用いるか又は専用命令を用いて、基板編成設定データ１１４Ａを生成する。そして、第１の外部ツール２００Ａ及び第２の外部ツール２００Ｂは、基板編成設定データ１１４Ａを基本ユニット１１０Ａのプログラムメモリ１１３Ａの第２メモリ領域に書き込むことができる設定データ生成ステップＳ１１１を実行する。設定データ生成ステップＳ１１１は、第１の外部ツール２００Ａに設けられたシステムメモリ２１２Ａ及び第２の外部ツール２００Ｂに設けられたシステムメモリ２１２Ｂをバージョンアップすることによって実行可能となる。
【０２１９】
上記の通り、第１の外部ツール２００Ａ及び第２の外部ツール２００Ｂは、汎用命令又は専用命令を用いて、基板編成設定データ１１４Ａを基本ユニット１００Ａのプログラムメモリ１１３Ａの第２メモリ領域に書き込むことができる。
【０２２０】
従って、第２の外部ツール２００Ｂは、少ない操作キー及び小画面によって、手軽に基板編成設定データ１１４Ａを生成することができる効果を奏する。
【０２２１】
第１の外部ツール２００Ａは、現状編成読出解読ステップＳ２０６で読み出された基板編成現状データとプログラムメモリ１１３Ａに格納されている基板編成設定データ２１４Ａ又は入出力制御プログラム７０７とを第１の外部ツール２００Ａに読み出すとともに、入出力番号表示ステップＳ１１３で入出力番号を一覧表示する。第１の外部ツール２００Ａは、入出力番号表示ステップＳ１１３では、基板編成現状データに基づく現状基板編成５００と基板編成設定データ１１４Ａに基づく設定基板編成５０１とを対比することで、現状基板編成５００と設定基板編成５０１とが一致、つまり共通している適合入出力番号範囲５００ｂと、現状基板編成５００には存在し設定基板編成５０１には存在しない未設定入出力番号範囲５００ａと、現状基板編成５００には存在せず設定基板編成５０１には存在する未使用入出力番号範囲５０１ａと、を一覧表示する。又は、第１の外部ツール２００Ａは、現状基板編成５００と入出力制御プログラム７０７の中で使用されている入出力番号範囲である制御プログラム編成５０２とを対比して、現状基板編成５００と制御プログラム編成５０２とが一致、つまり共通している適合入出力番号範囲５００ｄと、現状基板編成５００には存在し制御プログラム編成５０２には存在しない未制御入出力番号範囲５００ｃと、現状基板編成５００には存在せず制御プログラム編成５０２には存在する未接続入出力番号範囲５０２ｂとを一覧表示する。
【０２２２】
上記の通り、第１の外部ツール２００Ａは、現状基板編成５００と、設定基板編成５０１又は制御プログラム編成５０２と、を対比して、現状基板編成５００と、設定基板編成５０１又は制御プログラム編成５０２と、の共通している番号範囲と、現状基板編成５００と、設定基板編成５０１又は制御プログラム編成５０２と、が不一致つまり共通していない番号範囲とを、一覧表示する。
【０２２３】
従って、第１の外部ツール２００Ａは、現状基板編成５００と、設定基板編成５０１又は制御プログラム編成５０２と、が不一致つまり共通していない入出力番号に注目して、プログラマブルコントローラ１００Ａの増設ユニット編成及び入出力制御プログラム７０７の未完成部分を抽出することができる特徴がある。
【０２２４】
実施の形態２．
次に、本発明の実施の形態２について説明する。なお、実施の形態１と同一の構成要素については、同一の符号を付して説明を省く。
【０２２５】
図１２は、本発明の実施の形態２にかかるプログラマブルコントローラの構成を示す図である。図１２に示すように、プログラマブルコントローラ１００Ｂは、基本ユニット１１０Ｂと、増設ユニット１４０Ｂ、１５０Ｂ、１６０Ｂ、１７０Ｂ及び１８０Ｂと、を備える。
【０２２６】
基本ユニット１１０Ｂは、マイクロプロセッサ１１１と、システムメモリ１１２Ｂと、プログラムメモリ１１３Ｂと、ＲＡＭ１１５と、バッテリ１１７と、シリアルインタフェース１１８と、定電圧電源ユニット１１９と、状態切換スイッチ１２０と、入力回路基板１２９Ｂと、出力回路基板１３９Ｂと、を備える。
【０２２７】
システムメモリ１１２Ｂは、プログラマブルコントローラ１００Ｂを製造するメーカである第１メーカによって作成されたシステムプログラムを格納している。
【０２２８】
システムメモリ１１２Ｂのパラメータ領域には、実施の形態１で前述した機種コードデータテーブル４００と、後述する機種番号データテーブル１０００、１１００及び１２００と、が格納されている。
【０２２９】
また、プログラムメモリ１１３Ｂは、プログラマブルコントローラ１００Ｂを搭載した機械を製造するメーカである第２メーカにおいて第２の外部ツール２００Ｂ又は第１の外部ツール２００Ａを用いて作成された入出力制御プログラム７０７と、基板編成設定データ１１４Ｂと、を格納している。
【０２３０】
入力回路基板１２９Ｂは、例えば３２点のオン又はオフ開閉信号を発生する外部入力機器１２１Ｂからの入力信号が図示しない端子台を介して入力される入力インタフェース回路１２２Ｂと、交信切換回路１２３と、を備える。
【０２３１】
入力インタフェース回路１２２Ｂは、例えばＤＣ２４Ｖ系の入力信号をＤＣ５Ｖ系の入力信号に変換する図示しない系電圧変換回路と、基板情報を指定するパターンスイッチである基板情報回路１２２ａと、局番設定メモリ１２２ｂと、データセレクタである入力信号回路１２２ｃと、を備える。
【０２３２】
出力回路基板１３９Ｂは、例えば２４点のオン又はオフ給電を受ける外部出力機器１３１Ｂに対して、図示しない端子台を介して給電駆動出力を供給する出力インタフェース回路１３２Ｂと、交信切換回路１３３と、を備える。
【０２３３】
出力インタフェース回路１３２Ｂは、例えばＤＣ５Ｖ系の制御出力信号でＤＣ２４Ｖ系の電磁リレーの励磁コイルを駆動し、電磁リレーの出力接点によってＡＣ１００Ｖ系の電気負荷である外部出力機器１３１Ｂに給電する図示しない系電圧変換回路と、基板情報を指定するパターンスイッチである基板情報回路１３２ａと、局番設定メモリ１３２ｂと、ラッチメモリである出力信号回路１３２ｃと、を備える。
【０２３４】
なお、入力回路基板１２９Ｂ及び出力回路基板１３９Ｂは、１枚の入出力回路基板とすることができる。入力回路基板１２９Ｂ及び出力回路基板１３９Ｂを１枚の入出力回路基板とした場合、局番設定用の交信切換回路１２３及び１３３は、１つの交信切換回路にすることができ、基板情報回路１２２ａ及び１３２ａは、１つの基板情報回路にすることができ、局番設定メモリ１２２ｂ及び１３２ｂは、１つの局番設定メモリにすることができる。
【０２３５】
増設ユニット１４０Ｂ、１５０Ｂ、１６０Ｂ及び１７０Ｂは、実施の形態１で前述した増設ユニット１４０Ａ、１５０Ａ、１６０Ａ及び１７０Ａに相当する。プログラマブルコントローラ１００Ｂは、さらに、増設ユニット１８０Ｂを追加で備える。
【０２３６】
増設ユニット１４０Ｂ、１５０Ｂ、１６０Ｂ、１７０Ｂ及び１８０Ｂは、入出力回路基板１４９Ｂ、１５９Ｂ、１６９Ｂ、１７９Ｂ及び１８９Ｂを、夫々備える。入出力回路基板１４９Ｂ、１５９Ｂ、１６９Ｂ、１７９Ｂ及び１８９Ｂは、外部入出力機器１４１Ｂ、１５１Ｂ、１６１Ｂ、１７１Ｂ及び１８１Ｂが夫々接続される入出力インタフェース回路１４２Ｂ、１５２Ｂ、１６２Ｂ、１７２Ｂ及び１８２Ｂと、交信切換回路１４３、１５３、１６３、１７３及び１８３と、を夫々備える。
【０２３７】
入出力インタフェース回路１４２Ｂ、１５２Ｂ、１６２Ｂ、１７２Ｂ及び１８２Ｂは、基板情報を指定するパターンスイッチである基板情報回路１４２ａ、１５２ａ、１６２ａ、１７２ａ及び１８２ａと、局番設定メモリ１４２ｂ、１５２ｂ、１６２ｂ、１７２ｂ及び１８２ｂと、入出力信号回路１４２ｃ、１５２ｃ及び１８２ｃと、ＡＤ変換器１６２ｃと、ＤＡ変換器１７２ｃと、を夫々備える。
【０２３８】
パターンスイッチである基板情報回路１４２ａ、１５２ａ、１６２ａ、１７２ａ及び１８２ａは、回路基板に設けられた複数対の回路パターンの端子間を短絡又は開放して得られる複数ビット幅の論理信号によって、想定される多様な基板情報を網羅した機種コードの内の１つを指定することができる。
【０２３９】
ここで、デジタル開閉信号の入力点数、つまり外部入力機器１２１Ｂ、１４１Ｂ及び１８１Ｂの入力点数が例えば夫々３２点、１６点及び８点であるとすると、外部入力機器１２１Ｂ、１４１Ｂ及び１８１Ｂの夫々の入力番号は、Ｘ００からＸ３７まで、Ｘ４０からＸ５７まで及びＸ６０からＸ６７までの通し番号となる。
【０２４０】
従って、増設ユニット１８０Ｂを増設ユニット１４０Ｂの直後に接続しても入力番号は変動しないので、増設ユニット１８０Ｂを増設ユニット１４０Ｂの直後に接続することができる。同様に、増設ユニット１４０Ｂを増設ユニット１８０Ｂの直前に配置することができる。
【０２４１】
また、増設ユニット１４０Ｂと増設ユニット１８０Ｂとをまとめて、入力点数が２４点である１つの増設ユニットに変更することも可能である。
【０２４２】
オン又はオフ動作する電気負荷である外部出力機器１５１Ｂを駆動する増設ユニット１５０Ｂは、出力点数の異なる複数の増設ユニットに分割することができる。
【０２４３】
また、入力番号と出力番号とは独立した通し番号となっているので、増設ユニット１４０Ｂと増設ユニット１５０Ｂとの配置を入れ替えても、入出力番号は変動しない。
【０２４４】
同様に、アナログ入出力信号を扱う増設ユニット１６０Ｂ及び１７０Ｂの配置も自由である。
【０２４５】
図１３は、基本ユニットと外部ツールとの接続構成図である。基本ユニット１１０Ｂ内のシステムメモリ１１２Ｂは、各種プログラムを格納している。システムメモリ１１２Ｂに格納されているプログラムは、実施の形態１で説明した現状編成読出解読ステップＳ２０６を実行するためのプログラム、特殊デバイス検索ステップＳ２０７を実行するためのプログラム、特別運転許可ステップＳ２０８を実行するためのプログラム及び編成異常判定ステップＳ２０９を実行するためのプログラムを含む。また、システムメモリ１１２Ｂに格納されているプログラムは、シーケンス言語で記述されている入出力制御プログラム７０７をマイクロプロセッサ１１１の機械言語へ変換する言語変換プログラムであるインタプリタを含む。
【０２４６】
また、システムメモリ１１２Ｂは、パラメータメモリ領域を有している。パラメータメモリ領域には、機種コードデータテーブル４００と、後述する機種番号データテーブル１０００、１１００及び１２００と、が格納されている。
【０２４７】
プログラムメモリ１１３Ｂには、入出力制御プログラム７０７と基板編成設定データ１１４Ｂとが格納されているほか、外部入出力機器１２１Ｂ、１３１Ｂ、１４１Ｂ、１５１Ｂ、１６１Ｂ、１７１Ｂ及び１８１Ｂへのコメント記事を格納することができるファイルレジスタが設けられている。
【０２４８】
また、ＲＡＭ１１５の一部領域であるデバイスメモリ１１６の中の予め定められた番号のデータレジスタＤには、マイクロプロセッサ１１１によって読み出された基板編成現状データが書込まれる。
【０２４９】
第２の外部ツール２００Ｂは、例えばＤＣ５Ｖの制御電源Ｖｃｃを基本ユニット１１０Ｂ又は基本ユニット１１０Ａから給電されて動作する。第２の外部ツール２００Ｂは、シリアルインタフェース２１８を介して基本ユニット１１０Ｂ又は基本ユニット１１０Ａと接続され、入出力制御プログラム７０７及び基板編成設定データ１１４Ｂの基本ユニット１１０Ｂへの転送書き込み及びプログラマブルコントローラ１００Ｂの運転状態の監視を行うことができる。
【０２５０】
第２の外部ツール２００Ｂは、マイクロプロセッサ２１１Ｂと、システムメモリ２１２Ｂと、プログラムメモリ２１３Ｂと、ＲＡＭ２１５と、シリアルインタフェース２１８と、キーボード２２０Ｂと、表示装置２３０Ｂと、を備える。マイクロプロセッサ２１１Ｂは、システムメモリ２１２Ｂ、プログラムメモリ２１３Ｂ、ＲＡＭ２１５、シリアルインタフェース２１８、キーボード２２０Ｂ及び表示装置２３０Ｂと、バス接続されている。
【０２５１】
システムメモリ２１２Ｂは、命令編集プログラム、設定データ作成プログラム及び転送書込プログラムを格納している。
【０２５２】
命令編集プログラムは、小規模なキーボード２２０Ｂへのキー操作入力に基づいて、小画面の表示装置２３０Ｂの画面上で、命令語で記述される入出力制御プログラム７０７を作成するプログラムである。設定データ作成プログラムは、キーボード２２０Ｂ及び表示装置２３０Ｂを用いて、基板編成設定データ１１４Ｂを生成するプログラムである。転送書込プログラムは、入出力制御プログラム７０７及び基板編成設定データ１１４Ｂを一旦は外部ツール２００Ｂのプログラムメモリ２１３Ｂに格納し、次いで入出力制御プログラム７０７及び基板編成設定データ１１４Ｂを基本ユニット１１０Ｂのプログラムメモリ１１３Ｂに転送書き込みするプログラムである。
【０２５３】
システムメモリ２１２Ｂは、パラメータ格納領域を有する。システムメモリ２１２Ｂのパラメータ格納領域には、機種コードデータテーブル４００と、後述する機種番号データテーブル１０００、１１００及び１２００が格納されている。
【０２５４】
システムメモリ２１２Ｂは、更に、実施の形態１で前述した運転状態監視表示ステップＳ１１８を実行するための監視プログラム、基本ユニット１１０Ｂ又は基本ユニット１１０Ａに転送されている基板編成設定データ１１４Ｂ並びに基本ユニット１１０Ｂ又は基本ユニット１１０Ａで生成された実機の基板編成現状データを第２の外部ツール２００Ｂ側に読み出す基板編成読出プログラムを、格納している。
【０２５５】
なお、外部ツール２００Ｂが基本ユニット１１０Ｂ又は基本ユニット１１０Ａの動作状態を監視するときには、基本ユニット１１０Ｂ又は基本ユニット１１０Ａ側のデバイスメモリ１１６の現在値情報が外部ツール２００Ｂ側のデバイスメモリ２１６に転送される。そして、基本ユニット１１０Ｂ又は基本ユニット１１０Ａの動作状態は、表示装置２３０Ｂの画面上に、一覧図によって表示される。
【０２５６】
次に、実施の形態２における機種番号データテーブルについて説明する。
【０２５７】
図１４は、機種番号データテーブルの一例を示す図である。図１４において、機種番号データテーブル１０００は、入出力混合の基本ユニットに対して一つの機種番号を与える場合のものであって、２５種類の基本ユニットについて機種番号０００から０２４までの１０進番号を与えている。
【０２５８】
機種番号０００から０１９までは、ＡＣ電源型式の番号であり、機種番号０２０から０２４までは、ＤＣ電源型式の番号である。
【０２５９】
また、ＡＣ電源型式の番号は、入力信号型式がＤＣ又はＡＣであるか、と、出力信号型式がリレー方式、トランジスタ方式ＴＲ又はトライアック方式ＢＣＲであるか、と、入力点数規模及び出力点数規模と、によって分類されている。
【０２６０】
ＤＣ電源型式の番号は、入力信号型式はＤＣとなっており、出力信号型式はトランジスタ方式ＴＲとなっており、入出力点数規模によって５機種がある。
【０２６１】
機種番号０２５から０２９までは、予備番号となっている。
【０２６２】
なお、図１４では、基本ユニット１１０Ｂの入力点数と出力点数とは同じ点数となっている。しかしながら、もし図１２及び図１３で示したように、基本ユニット１１０Ｂ内に２種類の基板情報を割り当てるようにすると、入力点数と出力点数とが異なる基本ユニットに対して、少ない機種番号の数で対応することができる。
【０２６３】
図１５は、機種番号データテーブルの一例を示す図である。図１５において、機種番号データテーブル１１００は、３０種類のデジタル増設ユニットについて機種番号０３０から０５９までの１０進番号を与えており、機種番号０６０から０６４までは予備番号となっている。
【０２６４】
増設ユニットには、入力専用、出力専用又は入出力混合の増設ユニットと、入出力信号型式を不問つまり未定にして入力点数又は出力点数のみを予約しておくための増設ユニットと、がある。また、増設ユニットの入出力点数は、基礎点数Ｎ＝８点とし、基礎点数Ｎの１倍、２倍又は４倍である。
【０２６５】
図１６は、機種番号データテーブルの一例を示す図である。図１６において、機種番号データテーブル１２００は、３０種類のアナログ増設ユニットについて機種番号０６５から０９４までの１０進番号を与えており、機種番号０９５から０９９までは予備番号となっている。
【０２６６】
増設ユニットには、アナログ入力専用又はアナログ出力専用の増設ユニットと、入出力信号型式を不問つまり未定にして入力点数又は出力点数のみを予約しておくための増設ユニットと、がある。
【０２６７】
アナログ信号には０Ｖから１０Ｖまで、−１０Ｖから＋１０Ｖまで、４ｍＡから２０ｍＡまで及び−２０ｍＡから＋２０ｍＡまで、のものがある。また、増設ユニットの入出力点数は、基礎点数Ｎ＝２点とし、基礎点数Ｎの１倍、２倍又は４倍である。
【０２６８】
実際には、図１４から図１６までに示したよりも多くの機種の基本ユニット及び増設ユニットがある。しかしながら、基本ユニット及び増設ユニットの全体で２００機種以下であれば、機種番号は８ビット幅のパターンスイッチによって指定することができる。
【０２６９】
また、各機種番号に対応した入出力型式及び点数については、実施の形態１で前述し図６に示した機種コードデータテーブル４００を援用することによって、解読することができる。
【０２７０】
従って、実際の機種番号データテーブルは、機種番号と、機種番号に対応した機種コードデータと、が一体となって構成されている。
【０２７１】
実施の形態２にかかるプログラマブルコントローラ１００Ｂの動作について、実施の形態１の図１０及び図１１のフローチャートを援用して、実施の形態１との相違点を中心に説明する。
【０２７２】
まず、図１２において、基本ユニット１１０Ｂに設けられた状態切換スイッチ１２０を運転状態にし、図示しない電源スイッチを閉路して定電圧電源ユニット１１９に給電する。すると、マイクロプロセッサ１１１は、基本ユニット１１０Ｂの基板情報回路１２２ａ及び１３２ａと、増設ユニット１４０Ｂ、１５０Ｂ、１６０Ｂ、１７０Ｂ及び１８０Ｂの基板情報回路１４２ａ、１５２ａ、１６２ａ、１７２ａ及び１８２ａと、から基板情報を読み出し、局番設定メモリ１２２ｂ、１３２ｂ、１４２ｂ、１５２ｂ、１６２ｂ、１７２ｂ及び１８２ｂへ局番設定を行う。
【０２７３】
読み出された基板情報と接続順位である局番とを含む基板編成現状データは、デバイスメモリ１１６の中の特殊データレジスタＤに格納される。基板編成現状データと、プログラムメモリ１１３Ｂに予め格納されている基板編成設定データ１１４Ｂと、が対比されて、基板編成現状データと基板編成設定データ１１４Ｂとが一致していれば運転動作が開始される。また、基板編成現状データと、基板編成設定データ１１４Ｂと、が不一致であっても、特別運転許可ステップＳ２０８内の点数等価判定処理で点数等価と判定されていれば、プログラマブルコントローラ１００Ｂの運転動作が開始される。プログラマブルコントローラ１００Ｂは、運転動作が開始されると、外部入力機器１２１Ｂ、１４１Ｂ、１６１Ｂ及び１８１Ｂからの入力信号状態と、プログラムメモリ１１３Ｂに予め格納されている入出力制御プログラム７０７の内容と、に基づいて、外部出力機器１３１Ｂ、１５１Ｂ及び１７１Ｂを駆動制御する。
【０２７４】
外部ツール２００Ｂのマイクロプロセッサ２１１Ｂの動作説明に援用する図１０のステップＳ１００において、図示しない電源スイッチが閉路されたら、ステップＳ１０１において、外部ツール２００Ｂのマイクロプロセッサ２１１Ｂが動作を開始する。
【０２７５】
以後のマイクロプロセッサ２１１Ｂの各ステップでの動作は、実施の形態１の場合と概ね同様である。しかしながら、設定データ生成ステップＳ１１１での入出力制御プログラム７０７及び基板編成設定データ１１４Ｂの作成において、実施の形態１の画面プログラム作成の方式に代えて、実施の形態２では、命令語で記述する直接プログラムの方式で作業が行われる。
【０２７６】
また、運転状態監視表示ステップＳ１１８の運転状態の監視表示も、実施の形態１でのシーケンス回路図ベースではなく、実施の形態２では、命令リスト又はデバイスリストベースの単純化された表示型式で行われる。
【０２７７】
入出力番号表示処理ステップＳ１１３については、実施の形態２では、画面スクロールを行いながら全体表示することは可能であるが、一覧表示することは困難である。
【０２７８】
次に、基本ユニット１１０Ｂ内のマイクロプロセッサ１１１の動作説明に援用する図１１のステップＳ２０１において、図示しない電源スイッチが閉路されたら、基本ユニット１１０Ｂのマイクロプロセッサ１１１は、続くステップＳ２０２において、動作を開始する。
【０２７９】
以後のマイクロプロセッサ１１１の各ステップでの動作は、実施の形態１の場合と概ね同様である。しかしながら、現状編成読出解読ステップＳ２０６での現状編成読出解読処理において、実施の形態２では、マイクロプロセッサ１１１は、入出力回路基板１２９Ｂ、１３９Ｂ、１４９Ｂ、１５９Ｂ、１６９Ｂ、１７９Ｂ及び１８９Ｂに設けられた８ビット幅のパターンスイッチから、機種番号を取得する。そして、実施の形態２では、マイクロプロセッサ１１１は、取得した機種番号に基づいて、図１４から図１６までに示した機種番号データテーブル１０００、１１００及び１２００の中から、基本ユニット１１０Ｂ及び増設ユニット１４０Ｂ、１５０Ｂ、１６０Ｂ、１７０Ｂ及び１８０Ｂの機種コードデータを検索し、機種コードを取得する。更に、実施の形態２では、マイクロプロセッサ１１１は、取得した機種コードに基づいて、図６で示した機種コードデータテーブル４００を検索して機種情報を取得し、具体的な入出力点数及び入出力型式を特定する。
【０２８０】
なお、前述した実施の形態１の場合は、図６で示した機種コードデータテーブル４００から直接的に入出力点数及び入出力型式が特定されていた。しかしながら、実施の形態１の場合は、機種コードを出力するパターンスイッチは１６ビット幅分が必要であった。一方、実施の形態２の場合は、８ビット幅分のパターンスイッチがあれば機種番号を出力できる特徴がある。
【０２８１】
上記の説明では、機種コードデータテーブル４００と、機種番号データテーブル１０００、１１００及び１２００とは、システムメモリ１１２Ｂのパラメータメモリ領域に格納されているとし、基板編成設定データ１１４Ｂは、プログラムメモリ１１３Ｂの第２メモリ領域に格納されているとした。しかしながら、基本ユニット１１０Ｂが、システムメモリ１１２Ｂ及びプログラムメモリ１１３Ｂに加えて、パラメータメモリを更に備えることとし、パラメータメモリに機種コードデータテーブル４００と、機種番号データテーブル１０００、１１００及び１２００と、が格納されてもよい。
【０２８２】
基本ユニット１１０Ｂがパラメータメモリを更に備え、パラメータメモリに機種コードデータテーブル４００と機種番号データテーブル１０００、１１００及び１２００とが格納されることとした場合、機種コードデータテーブル４００と、機種番号データテーブル１０００、１１００及び１２００とは、ユーザによって書き換えができないように保護しておくとともに、追加機種のデータを書き込むための領域をパラメータメモリに設けておき、追加機種のデータを書き込むための領域はユーザに開放するようにしてもよい。
【０２８３】
上記の通り、実施の形態２にかかるプログラマブルコントローラ１００Ｂは、基本ユニット１１０Ｂと、増設ユニット１４０Ｂ、１５０Ｂ、１６０Ｂ、１７０Ｂ及び１８０Ｂと、を備える。基本ユニット１１０Ｂは、マイクロプロセッサ１１１と、マイクロプロセッサ１１１と協働するシステムメモリ１１２Ｂと、ユーザによって作成された入出力制御プログラム７０７が格納されるプログラムメモリ１１３Ｂと、入出力情報を記憶する演算処理用のＲＡＭ１１５と、を備える。
【０２８４】
基本ユニット１１０Ｂ並びに増設ユニット１４０Ｂ、１５０Ｂ、１６０Ｂ、１７０Ｂ及び１８０Ｂは、マイクロプロセッサ１１１に選択的に交信接続される複数の入出力回路基板１２９Ｂ、１３９Ｂ、１４９Ｂ、１５９Ｂ、１６９Ｂ、１７９Ｂ及び１８９Ｂを夫々内蔵する。複数の入出力回路基板１２９Ｂ、１３９Ｂ、１４９Ｂ、１５９Ｂ、１６９Ｂ、１７９Ｂ及び１８９Ｂは、マイクロプロセッサ１１１からの接続順位に対応して、マイクロプロセッサ１１１により局番設定が行われる。局番に対応して入出力制御プログラム７０７内に記述された入出力番号と、入出力回路基板１２９Ｂ、１３９Ｂ、１４９Ｂ、１５９Ｂ、１６９Ｂ、１７９Ｂ及び１８９Ｂに接続された外部入出力機器１２１Ｂ、１３１Ｂ、１４１Ｂ、１５１Ｂ、１６１Ｂ、１７１Ｂ及び１８１Ｂの入出力番号と、が対応する。
【０２８５】
プログラマブルコントローラ１００Ｂは、外部入力機器１２１Ｂ、１４１Ｂ、１６１Ｂ及び１８１Ｂから入力された入力信号情報と、プログラムメモリ１１３Ｂの内容と、に基づいて、外部出力機器１３１Ｂ、１５１Ｂ及び１７１Ｂへの制御出力信号を発生する。入出力回路基板１２９Ｂ、１３９Ｂ、１４９Ｂ、１５９Ｂ、１６９Ｂ、１７９Ｂ及び１８９Ｂは、入出力型式区分と、専有入出力点数と、を特定するための基板情報を夫々特定するための基板情報回路１２２ａ、１３２ａ、１４２ａ、１５２ａ、１６２ａ、１７２ａ及び１８２ａを夫々備えている。
【０２８６】
そして、プログラムメモリ１１３Ｂは、入出力制御プログラム７０７が格納される第１メモリ領域と、基板編成設定データ１１４Ｂが格納される第２メモリ領域と、を備える。基板編成設定データ１１４Ｂは、基本ユニット１１０Ｂ、増設ユニット１４０Ｂ、１５０Ｂ、１６０Ｂ、１７０Ｂ及び１８０Ｂの基板編成と、接続順位と、を設定するデータである。基板編成設定データ１１４Ｂは、入出力制御プログラム７０７を作成する外部ツール２００Ｂにおいて生成されて、プログラムメモリ１１３Ｂの第２メモリ領域に転送書き込みされる。
【０２８７】
システムメモリ１１２Ｂに格納されるプログラムは、現状編成読出解読ステップＳ２０６を実行するためのプログラム、特別運転許可ステップＳ２０８を実行するためのプログラム及び編成異常判定ステップＳ２０９を実行するためのプログラムを含む。
【０２８８】
現状編成読出解読ステップＳ２０６では、マイクロプロセッサ１１１の運転開始時に、基本ユニット１１０Ｂ、増設ユニット１４０Ｂ、１５０Ｂ、１６０Ｂ、１７０Ｂ及び１８０Ｂに内蔵された入出力回路基板の基板情報と、入出力回路基板の接続順位と、が検出され、マイクロプロセッサ１１１からの接続順位に対応して、一連の入出力番号が決定される。
【０２８９】
そして、特別運転許可ステップＳ２０８内の点数等価判定処理では、第１の基板に関連する第１の基板情報及び第２群の基板に夫々関連する第２群の基板情報において、全ての入出力型式区分が一致しており、且つ、第１の基板情報における専有入出力点数と、第２群の基板情報における専有入出力点数の合計専有入出力点数と、が一致しているときには、第１の基板と第２群の基板との間のまとめ又は分割は相互に互換性があると判定される。
【０２９０】
編成異常判定ステップＳ２０９では、基板編成設定データ１１４Ｂと現状編成読出解読ステップＳ２０６での読出データと、が不一致であるときには、異常と判定されてマイクロプロセッサ１１１による入出力制御動作が禁止される。しかしながら、特別運転許可ステップＳ２０８内の点数等価判定処理で、基板間のまとめ又は分割は相互に互換性があると判定されたときには、マイクロプロセッサ１１１による入出力制御動作が特別許可される。つまり、現状編成読出解読ステップＳ２０６で読み出された基板情報と、入出力回路基板の接続順位と、に基づいて、マイクロプロセッサ１１１による入出力制御動作が許可される。
【０２９１】
基板情報は、型式情報と、専有入出力点数情報と、を含む。型式情報は、自基板が内蔵されているユニットが基本ユニットであるか増設ユニットであるかを表すユニット識別情報と、自基板が入力回路基板であるか出力回路基板であるかを表す基板識別情報と、自基板の入力型式又は出力型式を特定する入出力信号型式情報と、を含む。専有入出力点数情報は、予め定められた基礎点数に乗じる倍率で表される。
【０２９２】
基板情報は、複数ビット幅のパターンスイッチ信号によって機種番号データテーブル１０００、１１００及び１２００を介して間接的に指定される機種コードに、符号化されている。現状編成読出解読ステップＳ２０６では、機種番号に基づいて、機種番号データテーブル１０００、１１００及び１２００を参照することで、機種コードが取得される。機種番号データテーブル１０００、１１００及び１２００は、システムメモリ１１２Ｂのパラメータメモリ領域に格納されている。また、現状編成読出解読ステップＳ２０６では、取得された機種コードに基づいて、想定される多様な基板情報を網羅した機種コードデータテーブル４００を参照することで、機種コードを復号化して基板情報が取得される。機種コードデータテーブル４００は、システムメモリ１１２Ｂのパラメータメモリ領域に格納されている。
【０２９３】
従って、プログラマブルコントローラ１００Ｂは、回路基板に設けられた複数対の回路パターンによる端子間を短絡又は開放して得られる複数ビット幅のパターンスイッチ信号によって、想定される多様な基板情報を網羅した機種コードの１つを間接指定すれば、小規模な機種コードデータテーブル４００を参照することで、基板情報を取得することができる効果を奏する。また、パターンスイッチが機種番号を出力することで、パターンスイッチのビット数を抑制することができ、入出力回路基板のサイズを抑制することができる。
【０２９４】
パターンスイッチ信号は、自入出力回路基板１２９Ｂ、１３９Ｂ、１４９Ｂ、１５９Ｂ、１６９Ｂ、１７９Ｂ及び１８９Ｂが内蔵されているユニットが基本ユニット１１０Ｂであるか増設ユニット１４０Ｂ、１５０Ｂ、１６０Ｂ、１７０Ｂ及び１８０Ｂであるかを表すユニット識別区分と、自入出力回路基板１２９Ｂ、１３９Ｂ、１４９Ｂ、１５９Ｂ、１６９Ｂ、１７９Ｂ及び１８９Ｂが入力回路基板であるか出力回路基板であるかを表す基板識別区分と、自入出力回路基板１２９Ｂ、１３９Ｂ、１４９Ｂ、１５９Ｂ、１６９Ｂ、１７９Ｂ及び１８９Ｂの入力型式又は出力型式を特定する入出力信号型式区分と、予め定められた基礎点数Ｎに乗ずる倍率で表される専有入出力点数区分と、に基づいて付与された機種番号を指定する。
【０２９５】
プログラマブルコントローラ１００Ｂは、指定された機種番号に基づいて、機種番号データテーブル１０００、１１００及び１２００を参照することで、間接的に機種コードを読み出すことができる。現状編成読出解読ステップＳ２０６では、読み出された機種番号に基づいて、想定される機種番号を網羅した機種番号データテーブル１０００、１１００及び１２００と、機種コードデータテーブル４００と、を参照することで、基板情報が取得される。機種コードデータテーブル４００と、機種番号データテーブル１０００、１１００及び１２００とは、システムメモリ１１２Ｂのパラメータメモリ領域に格納されている。
【０２９６】
従って、プログラマブルコントローラ１００Ｂは、回路基板に設けられた複数対の回路パターンによる端子間を短絡又は開放して得られる複数ビット幅のパターンスイッチ信号によって機種番号を指定し、機種コードデータテーブル４００と、機種番号データテーブル１０００、１１００及び１２００と、を参照することで、基板情報を取得することができる。これにより、プログラマブルコントローラ１００Ｂは、パターンスイッチのビット数を抑制し、入出力回路基板のサイズを抑制することができ、入出力回路基板を小型安価にすることができるという効果を奏する。
【０２９７】
機種コードデータテーブル４００又は機種番号データテーブル１０００、１１００及び１２００は、入出力型式を特定しない架空の、つまり非接続の回路基板と、架空の回路基板の専有入力点数又は専有出力点数とに対応した機種コード又は機種番号を含むことができる。
【０２９８】
基板編成設定データ１１４Ｂは、マイクロプロセッサ１１１からの接続順位に、架空の基板の接続順位を設定することができる。現状編成読出解読ステップＳ２０６では、基板編成設定データ１１４Ｂ内に架空の基板の接続順位が存在する場合は、架空の基板の入出力点数に相当する入出力番号を空き番号とした上で、一連の入出力番号が決定される。編成異常判定ステップＳ２０９では、現状編成読出解読ステップＳ２０６で読み出された基板編成現状データにおいて、入出力番号に空白範囲があり、且つ、基板編成設定データ１１４Ｂが架空の基板情報を含んでいる場合は、空白範囲への異常判定は行われない。
【０２９９】
上記の通り、機種コードデータテーブル４００並びに機種番号データテーブル１０００、１１００及び１２００は、基板編成現状データには含まれていない架空の回路基板と、架空の回路基板の専有入出力点数と、に対応した機種コード又は機種番号を含むことができる。
【０３００】
従って、プログラマブルコントローラ１００Ｂは、現状のユニット編成から特定ユニットが削除されたときには、基板編成設定データ１１４Ｂに記述されていた特定ユニットの基板情報に代えて、同じ入出力点数の架空の基板情報を記述すると良い。これにより、プログラマブルコントローラ１００Ｂは、後続の入出力番号に変動を生じない効果を奏する。
【０３０１】
また、プログラマブルコントローラ１００Ｂは、現状のユニット編成に対して追加接続される可能性のあるユニットが想定される場合には、想定される入出力点数の架空つまり非接続の回路基板を基板編成設定データ１１４Ｂに予め設定しておくと良い。これにより、プログラマブルコントローラ１００Ｂは、増設ユニットを実際に追加接続したときに、後続の入出力番号に変動を生じない効果を奏する。
【０３０２】
基板編成設定データ１１４Ｂは、１又は複数の非実装の入出力回路基板の基板情報を含むことができる。基板編成現状データが、１又は複数の非実装の入出力回路基板の基板情報に対応する、１又は複数の実装された入出力回路基板の基板情報を含んでいる場合は、点数等価判定処理で、１又は複数の非実装の入出力回路基板と１又は複数の実装された入出力回路基板との間で、基板の統合又は分割は互換性があると判定される。１又は複数の非実装の入出力回路基板の基板情報が入出力信号型式情報を含まない場合は、１又は複数の実装された入出力回路基板の入出力信号型式は、任意のものとすることができる。
【０３０３】
従って、プログラマブルコントローラ１００Ｂは、接続が予約されている任意の入出力信号型式の架空つまり非実装の入出力回路基板と、実装されている特定の入出力信号型式の入出力回路基板と、の間で専有入出力点数の合計値を一致させておくことにより、非実装の入出力回路基板と実装された入出力回路基板との間で、基板の統合又は分割を任意に行うことができるという効果を奏する。
【符号の説明】
【０３０４】
１００Ａ，１００Ｂ  プログラマブルコントローラ、１１０Ａ，１１０Ｂ  基本ユニット、１１１，２１１Ａ，２１１Ｂ  マイクロプロセッサ、１１２Ａ，２１２Ａ，２１２Ｂ  システムメモリ、１１３Ａ，２１３Ａ，２１３Ｂ  プログラムメモリ、１１５，２１５  ＲＡＭ、１１６，２１６  デバイスメモリ、１４０Ａ，１４０Ｂ，１５０Ａ，１５０Ｂ，１６０Ａ，１６０Ｂ，１７０Ａ，１７０Ｂ，１８０Ｂ  増設ユニット、１４９Ａ，１５９Ａ，１６９Ａ，１７９Ａ，１２９Ｂ，１３９Ｂ，１４９Ｂ，１５９Ｂ，１６９Ｂ，１７９Ｂ，１８９Ｂ  入出力回路基板、２００Ａ，２００Ｂ  外部ツール、４００  機種コードデータテーブル、１０００，１１００，１２００  機種番号データテーブル。
【要約】      （修正有）【課題】設備の保守及び維持管理を容易に行う。【解決手段】プログラマブルコントローラ１００Ａは、基本ユニット１１０Ａと、増設ユニット１４９Ａ，１５９Ａ，１６９Ａ，１７９Ａと、を備える。基本ユニットの処理部は、実装されている回路基板に基づいて基板編成現状データを作成する。処理部１１１は、基板編成現状データと基板編成設定データとが不一致でも、複数の回路基板の１つの回路基板への統合又は１つの回路基板の複数の回路基板への分割は互換性があると判定したら、入出力制御プログラムの実行を許可する。【選択図】図１【図１】
0005843932.tif 000002
【図２】
0005843932.tif 000003
【図３】
0005843932.tif 000004
【図４】
0005843932.tif 000005
【図５】
0005843932.tif 000006
【図６】
0005843932.tif 000007
【図７】
0005843932.tif 000008
【図８】
0005843932.tif 000009
【図９】
0005843932.tif 000010
【図１０】
0005843932.tif 000011
【図１１】
0005843932.tif 000012
【図１２】
0005843932.tif 000013
【図１３】
0005843932.tif 000014
【図１４】
0005843932.tif 000015
【図１５】
0005843932.tif 000016
【図１６】
0005843932.tif 000017