(57)【要約】【課題】  二重化の信頼性を高めることができる数値制御装置及び数値制御システムを得る。【解決手段】  CPUを内蔵するPLC101とバスで結合されるとともに、PLC101に入力される信号と同一の信号が入力され、且つPLCで実行されるPLC用プログラム109と実質的に同一の数値制御装置用プログラム110が、PLC用プログラム109の実行と並行して実行される数値制御装置において、PLC用プログラム109、数値制御装置用プログラム110及び各プログラムの動作を規定するパラメータを記憶する記憶手段106と、この記憶手段106に記憶されたPLC用プログラム109及びパラメータをPLC101に転送するとともに、この転送されたPLC用プログラム109及びパラメータを呼出し、且つこの呼出されたPLC用プログラムと数値制御装置に予め存在するPLC用プログラム109とを照合するとともに、呼出された制御装置側パラメータと数値制御装置側パラメータとを照合する手段とを備える。【選択図】  図１
2008226113.tif 000002
【特許請求の範囲】
【請求項１】
CPUを内蔵する一つ以上の制御装置とバスあるいは通信ケーブルで結合されるとともに、前記制御装置で実行される制御装置用プログラムと実質的に同一の数値制御装置用プログラムが、前記制御装置用プログラムの実行と並行して実行される数値制御装置において、前記制御装置用プログラム、前記数値制御装置用プログラム及び前記各プログラムの動作を規定するパラメータを記憶する記憶手段と、この記憶手段に記憶された制御装置用プログラム及びパラメータを前記制御装置に転送するとともに、前記制御装置から制御装置用プログラムを呼出し、且つこの呼出された制御装置用プログラムと数値制御装置に予め存在する制御装置用プログラムとを照合する手段とを備えてなる数値制御装置。
【請求項２】
前記手段は、前記制御装置側に制御装置用プログラムが存在しない場合、または前記制御装置側の制御装置用プログラムが前記数値制御装置に予め存在する制御装置用プログラムと一致しない場合、前記記憶手段に記憶された制御装置用プログラムを前記制御装置に転送するものであることを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記手段は、前記記憶手段に記憶されたパラメータを、一定周期で前記制御装置に転送するものであることを特徴とする請求項１または請求項２に記載の数値制御装置。
【請求項４】
前記読出し、照合は、所定周期で実施されることを特徴とする請求項１〜請求項３の何れかに記載の数値制御装置。
【請求項５】
前記手段は、前記制御装置に転送したパラメータを呼出し、この呼出されたパラメータと数値制御装置に予め存在するパラメータとを照合する手段を有することを特徴とする請求項１〜請求項４の何れかに記載の数値制御装置。
【請求項６】
前記記憶手段に記憶される制御装置用プログラム及び数値制御装置用プログラムは、制御装置及び数値制御装置に夫々入力される信号を夫々チェックするものであるとともに、そのチェック精度が異なる複数のプログラムよりなり、パラメータを前記数値制御装置に設定することにより、要求されるチェック精度に応じた制御装置用プログラムを前記数値制御装置より制御装置に転送することを特徴とする請求項１〜請求項５の何れかに記載の数値制御装置。
【請求項７】
前記制御装置が複数接続されている場合、パラメータを前記数値制御装置に設定することにより、数値制御装置と二重化させる制御装置を決定するとともに、この決定された制御装置に制御装置用プログラム及びパラメータを転送することを特徴とする請求項１〜請求項６の何れかに記載の数値制御装置。
【請求項８】
CPUを内蔵する一つ以上の制御装置と数値制御装置とがバスあるいは通信ケーブルで結合されるとともに、前記制御装置と数値制御装置とで、実質的に同一のプログラムが並行して実行される数値制御システムにおいて、前記数値制御装置に、前記プログラム及び前記各プログラムの動作を規定するパラメータを記憶する記憶手段と、この記憶手段に記憶されたプログラム及びパラメータを前記制御装置に転送するとともに、前記制御装置からプログラムを呼出し、且つこの呼出されたプログラムと数値制御装置に予め存在するプログラムとを照合する手段とを備え、一方前記制御装置に、前記プログラム及びパラメータを記憶する記憶手段を備えてなる数値制御システム。
【請求項９】
前記手段は、前記制御装置側にプログラムが存在しない場合、または前記制御装置側のプログラムが前記数値制御装置に予め存在するプログラムと一致しない場合、前記記憶手段に記憶されたプログラムを前記制御装置に転送するものであることを特徴とする請求項８に記載の数値制御システム。
【請求項１０】
前記手段は、前記記憶手段に記憶されたパラメータを、一定周期で前記制御装置に転送するものであることを特徴とする請求項８または請求項９に記載の数値制御システム。
【請求項１１】
前記読出し、照合は、所定周期で実施されることを特徴とする請求項８〜請求項１０の何れかに記載の数値制御システム。
【請求項１２】
前記手段は、前記制御装置に転送したパラメータを呼出し、この呼出されたパラメータと数値制御装置に予め存在するパラメータとを照合する手段を有することを特徴とする請求項８〜請求項１１の何れかに記載の数値制御システム。
【請求項１３】
前記記憶手段に記憶されるプログラムは、制御装置及び数値制御装置に夫々入力される信号を夫々チェックするものであるとともに、そのチェック精度が異なる複数のプログラムよりなり、パラメータを前記数値制御装置に設定することにより、要求されるチェック精度に応じたプログラムを前記数値制御装置より制御装置に転送することを特徴とする請求項８〜請求項１２の何れかに記載の数値制御システム。
【請求項１４】
前記制御装置が複数接続されている場合、パラメータを前記数値制御装置に設定することにより、数値制御装置と二重化させる制御装置を決定するとともに、この決定された制御装置にプログラム及びパラメータを転送することを特徴とする請求項８〜請求項１３の何れかに記載の数値制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、CPUを内蔵する一つ以上の制御装置とバスあるいは通信ケーブルで結合されるとともに、制御装置で実行される制御装置用プログラムと実質的に同一の数値制御装置用プログラムが、制御装置用プログラムの実行と並行して実行される数値制御（Numerical Control；以下NCという）装置、またはNC装置とCPUを内蔵する一つ以上の制御装置とをバスあるいは通信ケーブルで結合するとともに、NC装置と制御装置とで実質的に同一のプログラムを同時に並行して実行するNCシステムに係り、特に制御装置へのプログラム・パラメータの転送、装置間のプログラム・パラメータ照合に関するものである。
【背景技術】
【０００２】
システムの安全性、信頼性を向上するため、PLCを構成する各ユニットを二重化することが行われている。
例えば、CPUユニットを二重化する場合、CPUユニットを２個設けるとともに、それら２つのCPUユニットをCPU間バスにより接続する。そして、それら２個のCPUユニットは、基本的に同一の機能を持ったものであり、同じユーザプログラムを実行する。そして、２台のCPUユニットのうち、一方が実行系のCPUユニットとなって、実際にサイクリックな処理を行い、メモリに対して読み書きを行ったり、外部のI/O機器等との間で制御データ（I/Oデータ）の送受を行ったりして、ＦＡネットワークシステムの制御を司る。また、他方のCPUユニットは待機系のCPUユニットとなり、待機中は、実行系のユーザプログラムと同一のユーザプログラムを実行するものの、演算実行結果を出力することはない。そして、実行系のCPUユニットから処理結果等を受信し、待機系のCPUユニットのメモリの内容の更新を行う。これにより、待機系のCPUユニットと実行系のCPUユニットのメモリの内容の同一性が確保される。
【０００３】
そしてこのような二重化システムにおいて、二重化運転開始に先立ち、第１CPUユニットは、第２CPUユニットのユニットバージョンを取得し、自己が記憶保持する機能バージョンを比較し、ユニットバージョンが機能バージョン以上である場合に二重化運転可能と判断する。実行可能と判断した場合に、第１CPUユニットは、自己が保持するユーザプログラムを、機能バージョンとともに第２CPUユニットにコピーし、二重化運転を開始するように構成されたものが知られている（例えば特許文献１参照）。
【０００４】
また、リモートPLC装置を備えた数値制御装置において、NC装置が保有するシーケンスプログラムを、リモートPLC装置に転送するものが知られている（例えば特許文献２参照）。
【０００５】
また、プログラマブル・マシン・コントローラを内蔵したNC装置において、電源投入時にＮＣ装置内に格納されているシーケンスプログラムデータとサーバ内に格納されている最新のシーケンスプログラムデータとを比較し、サーバ内に格納されているシーケンスプログラムデータのほうが新しければ、NC装置内に格納されているシーケンスプログラムデータを更新するものが知られている（例えば特許文献３参照）。
【０００６】
【特許文献１】特開２００５−１２２７１６号公報（特に、図７、要約などを参照）
【特許文献２】特開平１０−９１２２１号公報（特に、図１、要約などを参照）
【特許文献３】特開２０００−１７２３１７号公報（特に、図１、図５、段落番号００１２などを参照）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、二重化システムにおいて、プログラムの動作を規定するパラメータも重要なファクターを占め、このパラメータも装置間で一致させる必要がある。
ところが、前記の各特許文献に開示のものは、このプログラムの動作を規定するパラメータについて考慮されていない。
因みに、プログラムの動作を規定するパラメータが装置間で一致しないと、二重化システムが正常に動作しない。
【０００８】
この発明は、かかる問題点を解決するためになされたもので、二重化の信頼性を高めることができる数値制御装置及び数値制御システムを得ることを目的とするものである。
【課題を解決するための手段】
【０００９】
この発明に係る数値制御装置は、CPUを内蔵する一つ以上の制御装置とバスあるいは通信ケーブルで結合されるとともに、前記制御装置で実行される制御装置用プログラムと実質的に同一の数値制御装置用プログラムが、前記制御装置用プログラムの実行と並行して実行される数値制御装置において、前記制御装置用プログラム、前記数値制御装置用プログラム及び前記各プログラムの動作を規定するパラメータを記憶する記憶手段と、この記憶手段に記憶された制御装置用プログラム及びパラメータを前記制御装置に転送するとともに、前記制御装置から制御装置用プログラムを呼出し、且つこの呼出された制御装置用プログラムと数値制御装置に予め存在する制御装置用プログラムとを照合する手段とを備える構成としたものである。
【発明の効果】
【００１０】
この発明によれば、NC装置のプログラムと同一のロジックを有する制御装置のプログラムをNC装置側で管理できるため、そのプログラムを制御装置側で管理する必要がなく、常に整合が取れたプログラムをNC装置と制御装置とで実行できる。
また、不一致許容時間などのプログラム動作を規定するパラメータを、NC装置、制御装置間で一致させることができ、常に整合が取れたパラメータをNC装置と制御装置とで使用できる。
従って二重化の信頼性を高めることができる。
【発明を実施するための最良の形態】
【００１１】
実施の形態１．
以下、この発明の実施の形態１を、図１〜図６を用いて説明する。
図１はこの発明の実施の形態１に係る数値制御システムの全体構成を示すブロック図で、主要構成部のみ示している。
図１において、NC装置105は、CPU、メモリなどの一般のNCハード構成を有し、またプログラム解析部、補間部、軸制御処理部、機械処理部などの一般のNCソフトウエア構成を有するものである。NC装置105の不揮発性メモリ106に格納されているNCシステムファームウエア107には、NC装置用プログラム110、制御装置用プログラムであるPLC用プログラム109、及び転送・照合用プログラム118が含まれており、システム実行時にプログラム実行メモリ111にロードされる。
【００１２】
NC装置用プログラム110は、NC装置105のプログラム実行メモリ111のNC装置用プログラム記憶領域114にロードされて実行される。また、転送・照合用プログラム118は、NC装置105のプログラム実行メモリ111の転送・照合用プログラム記憶領域119にロードされて実行される。
PLC用プログラム109は、プログラム実行メモリ111のPLC用プログラム記憶領域112にロードされ、また必要時に応じてPLC101のPLC用プログラム記憶領域103に転送されて実行される。
なお、NC装置用プログラム110とPLC用プログラム109とは、実質的に同一の動作（作用）を行うもので、例えば、図５及び図６で後述する、NC装置105及びPLC101に夫々入力されるドア信号が、NC装置105及びPLC101に夫々正常に入力されているかをチェックする安全信号確認プログラムを指す。
【００１３】
また、転送・照合用プログラム118は、NC装置105のハードウエア構成、後述する二重化パラメータなどと協同して、PLC用プログラム109やプログラム動作を規定するパラメータをPLC101に転送したり、PLC101のメモリ102に存在するPLC用プログラムやパラメータを読出し、NC装置105に存在するPLC用プログラムやパラメータと照合したりするもので、NC装置105のハードウエア構成、二重化パラメータなどとともに、この発明で言う「制御装置用プログラム及びパラメータを制御装置に転送するとともに、制御装置から制御装置用プログラムを呼出し、且つこの呼出された制御装置用プログラムと数値制御装置に予め存在する制御装置用プログラムとを照合する手段」、及び「プログラム及びパラメータを制御装置に転送するとともに、制御装置からプログラムを呼出し、且つこの呼出されたプログラムと数値制御装置に予め存在するプログラムとを照合する手段」を構成するもので、その詳細動作は図２〜図４において詳述する。
なお、プログラム動作を規定するパラメータとは、例えば、図５及び図６で後述する、NC装置用プログラム110とPLC用プログラム109との夫々で使用され、NC装置105に入力される信号とPLC101に入力される信号とが一致しない場合、その一致しない時間をどこまで許容して正常か否かを安全信号確認プログラムに判断させるための不一致許容時間を指す。
また、このプログラム動作を規定するパラメータとして、不一致許容時間以外に、NC装置105とPLC101で照合する信号点数を変更するため、照合する信号点数を設定するパラメータや、NC装置105とPLC101で照合する信号の範囲を変更するため、照合する信号番号を設定するパラメータ、指令位置チェックを行うかどうかを決定するパラメータなどがある。
【００１４】
NC装置105のプログラム実行メモリ111には、PLC用プログラム109を保存するPLC用プログラム記憶領域112、NC装置用プログラム110を保存するNC装置用プログラム記憶領域114、転送・照合用プログラム118を保存する転送・照合用プログラム記憶領域119以外に、PLC101のメモリ102に存在するPLC用プログラムを書き出すPLC用プログラム書き出し領域113と、プログラムの二重化を行うパラメータなどのPLC101に転送されないNC装置105のみで実行されるパラメータ、不一致許容時間などのNC装置105及びPLC101の両方で実行されるプログラムの動作を規定するパラメータなどのパラメータを記憶するパラメータ記憶領域116と、PLC101で実行されるプログラムの動作を規定するパラメータをPLC101より書き出すパラメータ書き出し領域117と、NCシステムプログラム等のその他のNCシステムファームウエアを記憶するNCシステムファームウエア記憶領域とを有する。
またNC装置105は、PLC101とバス接続され、入出力装置115とは通信ケーブルで接続されている。なお、NC装置105、PLC101間も、通信ケーブルで接続される場合もある。
【００１５】
入出力装置115は、パラメータ記憶領域116に予め記憶されているパラメータを変更したり表示したり、またパラメータ記憶領域116に新規のパラメータを設定したりする。
制御装置であるPLC101は、NC装置105のCPUとは別個のCPU、メモリなどの一般のPLCハード構成を有し、また一般のPLCソフトウエア構成を有するものである。なお、PLCプログラム実行メモリ102には、PLC用プログラムを保存するPLC用プログラム記憶領域103、及びプログラム動作を規定するパラメータなどを保存するデバイス記憶領域104を有する。
NC装置105及びPLC101には同一の信号が外部より入力され、この入力される信号のチェックなどを、PLC101でPLC用プログラム109を、NC装置105でNC装置用プログラム110を、夫々同時に並行して実行することにより行う。
【００１６】
次に、上述のように構成された数値制御システムの動作を、図２〜図４を用いて説明する。
図２は、PLC用プログラム109を、転送・照合用プログラム118を実行することにより、NC装置105からPLC102へ転送する処理手順を示すフローチャートである。
なおこのシステムは、運転前に、パラメータの一つであるプログラムの二重化を行うパラメータを、入出力装置115からパラメータ記憶領域116に予め設定しておく。
このパラメータが有効のときには、二重化の目的で、NC装置用プログラム110がNC装置105側で、またNC装置用プログラム110と実質的に同一のプログラムであるPLC用プログラム109がPLC101側で、同時に並行して実行される。
【００１７】
システムに電源を投入すると、NC装置105が不揮発性メモリ106に格納されている、NC装置用プログラム110、転送・照合用プログラム118、PLC用プログラム109などを含むNCシステムファームウエア107が、プログラム実行メモリ111の各記憶領域にロードされ、転送・照合用プログラム118が図２に示すフローチャートの処理を開始する。
即ち、ステップS201で、予め設定されたパラメータ記憶領域116の内のプログラム二重化パラメータが有効であるかどうかを判断し、無効であればすべての処理を終了し、有効であればステップS202に進む。
ステップS202で、PLC101に対しPLC用プログラムを読み出す処理を行い、その読出しが可能か否かで、PLC101にPLC用プログラムが存在するかどうかを確認する。
存在すればステップS203に進み、存在しなければステップS205に進む。
ステップS203では、PLC101のPLC用プログラム記憶領域103に存在するPLC用プログラムを、NC装置プログラム実行メモリ111のPLC用プログラム書き出し領域113上に書き出し、ステップS204で、書き出したPLC用プログラムと、NCシステムファームウエア107からロードしたPLC用プログラム記憶領域112に存在するPLC用プログラムとを照合する。
【００１８】
ステップS204でプログラムが一致しておれば、ステップS208に進み、プログラムが一致しなければ、ステップS205に進む。
ステップS205で、PLC用プログラム記憶領域112に存在するPLC用プログラムを、PLC101のPLC用プログラム記憶領域103に転送し、このPLC用プログラム記憶領域103にPLC用プログラムを生成する。なお、PLC101にPLC用プログラムが存在するが、そのPLC用プログラムがNCシステムファームウエア107からロードしたPLC用プログラムと不一致であるため、PLC101にPLC用プログラムを転送した場合には、PLC用プログラム記憶領域103上に存在するPLC用プログラムに上書きする。
PLC101へのPLC用プログラムの転送が完了したらステップS206に進む。
ステップS206ではPLC用プログラム記憶領域103に書き込まれたPLC用プログラムを、NC装置プログラム実行メモリ111のPLC用プログラム書き出し領域113上に書き出し、ステップS207に進む。
【００１９】
ステップS207で、この書き出したPLC用プログラムとNCシステムファームウエア107からロードしたPLC用プログラムとを照合する。プログラムが一致していればステップS208に進み、プログラムが一致していなければ、ステップS209に進む。
なお、ステップ106、S207で、PLC101へPLC用プログラムを転送した時でも、再度そのPLC用プログラムを書き出し、照合を行っているが、これらの処理は通信エラーや電源断等で正常に保存されない場合があるため、信頼性を高めるために行う処理である。
ステップS208で、NC装置105でNC装置用プログラムの実行を開始し、またPLC101でPLC用プログラムの実行を開始する。
ステップS209で、エラー信号を出力すると共にPLC用プログラムが不正であることを入出力装置115に通知する。
なお、エラー信号は、例えば機械を動作させるための駆動部動力電源に接続されたコンタクタの制御信号、異常表示ランプの入力信号として使用される。
【００２０】
この図２で説明した処理を実行すると、NC装置105のシステムファームウエア107に含まれるPLC用プログラム109をアップグレードすれば、PLC101のPLC用プログラムも自動的にアップグレードされるため、PLC101に書き込むプログラムのバージョンを管理する必要がないので、バージョン管理が容易になる利点がある。
【００２１】
また、PLC101のユニットを交換すると当該交換したPLC101内のメモリ102の内容は不定であることが多い。このようなケースでも、前記のように、メモリ102の内容をチェックし、PLC101にPLC用プログラムが存在しなければ、NC装置105よりPLC用プログラムを転送し、またPLC用プログラムがPLC101に存在すれば同一か否かをチェックし、PLC101にNC装置105と同じロジックのプログラムがなければ、NC装置105からPLC101にPLC用プログラムを転送することになる。
従って、PLC101を交換しても、必要に応じてNC装置105からPLC用プログラムが自動的に転送されるため、PLC101にPLC用プログラムを書き込まなくてよくなる。
【００２２】
また、転送・照合用プログラム118は、図３の処理も行う。
なお、図３は定期的にPLC101に存在するPLC用プログラム103を照合する処理手順を示すフローチャートである。
システムに電源が投入されると、図３に示す処理が定期的に実行される。
ステップS301で、パラメータ記憶領域116の内のプログラム二重化パラメータが有効であるかどうかを判断し、無効であればすべての処理を終了し、有効であればステップS302に進む。
ステップS302で前回の照合から所定時間経過しているか確認し、経過していたらステップS303に進み、経過していなければすべての処理を終了する。
ステップS303でPLC101からPLC用プログラムを書き出し、ステップS304に進みPLC用プログラムの照合を行う。書き出し、照合の方法は図２で説明した照合方法と同じなので、説明を省略する。PLC用プログラムが一致していればすべての処理を終了する。
PLC用プログラムが一致していないときには異常と判断し、ステップS305に進みエラー信号を出力する。
なお、電源投入時の処理のようにプログラムが一致しないときにPLC101にプログラムを書き込まずエラーを出力し、危険状態を通知するに留めるのは、PLC101でプログラム実行中に書き込むとプログラムが停止する場合があり、例えば機械を動作させるプログラムを実行中の場合は危険が伴うためである。
また、ステップS302で判断する所定時間は、12時間毎、24時間毎などプログラムが変更される可能性が高い時間間隔を考慮して設定される。
【００２３】
この図３で説明した処理を実行すると、定期的にPLC用プログラムの照合を行うため、PLC101で間違ったPLC用プログラムが実行されていないことを確認することができ、二重化の信頼性を高めることができる。
【００２４】
また、転送・照合用プログラム118は、図４の処理も行う。
システムに電源が投入されると、図４に示す処理が通信周期毎に実行される。
即ち、ステップS401で、パラメータ記憶領域116の内のプログラム二重化パラメータが有効であるかどうかを判断し、無効であればすべての処理を終了し、有効であればステップS402に進む。
ステップS402で、NC装置105のパラメータ記憶領域116に存在するパラメータを、PLC101のプログラム実行メモリ102のデバイス記憶領域104上に転送にする。なお、システムへの電源投入時には、デバイス記憶領域104上にパラメータが格納されていないため、転送されたパラメータはデバイス記憶領域104にそのまま格納されるが、運転中に送られたパラメータは、デバイス記憶領域104に格納されている、その送られたパラメータに対応するパラメータに、上書きされて格納される。
ステップS403では、PLC101のデバイス記憶領域104に転送したパラメータを、実行メモリ111のパラメータ書き出し領域117上に書き出し、ステップS404では、書き出したパラメータとパラメータ記憶領域116内のパラメータとを照合する。
なお、ステップ403、S404で、PLC101へパラメータを転送した時でも、再度そのPLC用パラメータを書き出し、照合を行っているが、これらの処理は通信エラーや電源断等で正常に保存されない場合や、他のプログラムによりパラメータの値が変えられる場合があるため、信頼性を高めるために行う処理である。
【００２５】
ステップS404でパラメータが一致しておれば、処理を終了し、またパラメータが一致しなければ、ステップS405に進む。
ステップS405で、エラー信号を出力すると共にパラメータが不正であることを入出力装置115に通知する。
なお、エラー信号は、例えば機械を動作させるための駆動部動力電源に接続されたコンタクタの制御信号、異常表示ランプの入力信号として使用される。
【００２６】
この図４で説明した処理を実行すると、NC装置105の前記不一致許容時間などのプログラム動作を規定するパラメータを変更すれば、PLC101のパラメータも自動的に変更されるため、NC装置105とPLC101のパラメータを一致させることができ、二重化の信頼性を高めることができる。
また、NC装置105のパラメータを変更することによってPLC101のプログラムの動作を変更できるため、状況に合わせたプログラムを容易に実行できる。また、PLCのプログラムを変更する作業が省略できる。
また、PLC101で使用されるパラメータを通信周期でPLC101に転送し、この転送したパラメータをNC装置105に再度読込んでNC装置105側のパラメータと比較するため、PLC101が常に正しいパラメータを参照して動作するようになり、よって二重化の信頼性を高めることができる。
【００２７】
この発明の実施の形態に係る二重化のための数値制御装システムは以上のように構成されているが、PLC用プログラム109としてPLC用安全信号確認プログラム201を、またNC装置用プログラム110としてNC装置用安全信号確認プログラム202を用い、これらのプログラムを並行して同時に実行させることにより、NC装置105、PLC101に夫々入力される安全に関する信号が一致していることを確認する場合の具体例について、図５及び図６を用いて説明する。
なお、PLC用安全信号確認プログラム201とNC装置用安全信号確認プログラム202とは、実質的に同一ロジックのプログラムである。
【００２８】
図５は、この安全に関する信号が一致していることを確認する処理を、実現する構成を示すブロック図であり、NC装置105とPLC101の間をバスで通信し、NC装置105とI/Oユニット204の間をバスで接続し、PLC101とI/Oユニット203の間をバス通信ケーブルで接続する。
保護扉208に取り付けられた、扉の開閉状態を検知し同一の2出力を有するドアセンサ207の出力（以下ドア信号と称し、a接点出力、つまり扉が開いていた時に接点が開く）を、それぞれNC装置105のI/Oユニット204、PLC101のI/Oユニット203に入力する。なお、ドアセンサ207の出力が、前記安全に関する信号に相当する。
【００２９】
パラメータ記憶領域116に、プログラムの動作を規定するパラメータの一つである不一致許容時間を、入出力装置115を用いてシステム運転前に設定する。このパラメータは、NC装置105に入力されたドア信号とPLC101に入力されたドア信号とが不一致状態のとき、異常と判断する時間を設定するもので、例えば200msに設定される。また、パラメータ記憶領域116に、前記プログラム二重化パラメータも設定する。
また、NC装置105の不揮発性メモリ106に、PLC用安全信号確認プログラム201及びNC装置用安全信号確認プログラム202を格納しておく。
【００３０】
システムに電源を投入すると、図１、図２、図４で説明したとおりの処理が実行され、最終的には（PLC安全信号確認プログラム201及びNC装置用安全信号確認プログラム202の実行前には）、図５に示すように、PLC101のPLC用プログラム記憶領域103にPLC安全信号確認プログラム201が、またNC装置105のNC装置用プログラム記憶領域114にNC装置用安全信号確認プログラム202が書き込まれ、また、PLC101のデバイス記憶領域104に前記不一致許容時間が書き込まれ、その後、各プログラム201,202の実行が開始される。
【００３１】
そして、NC装置105のNC装置用安全信号確認プログラム202は、図６に示すフローチャートのとおり動作する。
即ち、ステップS701で、パラメータ設定された不一致許容時間を取得し、またバス通信によりNC装置105に通知される、PLC101側に入力されたドア信号と、I/Oユニット204から入力されるNC装置ドア信号とを取得し、ステップS702に進む。
ステップS702でNC装置ドア信号とPLCドア信号が一致するか否かを確認し、一致していたら、ステップS705に進み、一致していなかったら、ステップS704に分岐し、異常検出カウンタをカウントアップし、ステップS704に進む。
なお、正常な状態であれば、保護扉208を閉めると、NC装置ドア信号、PLCドア信号がともにOFFからONに変化し、また保護扉208を閉じた状態から開けたとき、NC装置ドア信号、PLCドア信号がともにONからOFFに変化する。このため正常な状態であれば、NC装置ドア信号とPLCドア信号が一致する。
【００３２】
ステップS704で異常検出カウンタの値が、パラメータ設定された不一致許容時間を超えているかチェックし、超えていなければ、ステップS705で異常検出カウンタをクリアし、処理を終了する。超えていればステップS706でエラー信号を出力し、処理を終了する。
なおこの例の場合、不一致許容時間が200msに設定されているので、NC装置ドア信号がOFFからONになった時点から、PLCドア信号がOFFからONになるまでの時間が200msであれば正常と判断する。200msを超えてPLC側信号がOFFのままだと異常と判断し、エラー信号を出力する。
また、このNC装置用安全信号確認プログラム202の実行時に、図３、図４で説明した処理（プログラムチェック、パラメータチェック）も実行される。
また、NC装置105側に入力されたドア信号がバス通信によりPLC101に通知されるので、PLC101でも、PLC安全信号確認プログラム201がNC装置用安全信号確認プログラム202の実行時に実行されることにより、NC装置105と同様の処理（図６の処理、図３、図４の処理）が実行される。
【００３３】
なお、この実施の形態１では、制御装置としてPLC101を用いた場合について説明したが、その他の制御装置であっても同様の効果を奏する。
また、図５及び図６では、プログラム実行の具体例として、PLC用プログラム109としてPLC用安全信号確認プログラム201を、またNC装置用プログラム110としてNC装置用安全信号確認プログラム202を用いた場合について説明したが、その他のプログラム、例えば互いにプログラムを実行して指令位置を相手側CPUに送り、その指令位置が不一致であればエラーを出力するプログラム（このプログラムの場合には、NC装置101及びPLC101に入力される信号は用いられない）などでも同様に実行できる。
【００３４】
実施の形態２.
次に実施の形態２を、図７を用いて説明する。
即ち、図７に示すようにNC装置105の不揮発性メモリ106に、安全レベル低のPLC用安全信号確認プログラム807、安全レベル中のPLC用安全信号確認プログラム808、安全レベル高のPLC用安全信号確認プログラム809の3つのプログラムを格納する。なお、安全レベルとは、例えばノイズ、チャタリングを考慮して信号を読み出す回数の違いで、安全レベル低のPLC用安全信号確認プログラム807は、信号を読み出す回数が１回のものを指し、また安全レベル中のPLC用安全信号確認プログラム808は、信号を読み出す回数が２回のものを指し、また安全レベル高のPLC用安全信号確認プログラム809は、信号を読み出す回数が３回のものを指す。安全レベル低のプログラムの方が、信号の読み出し回数が少ないため処理時間は短い。安全レベル高のプログラムの方が、複数回信号を読み出すため信頼性は高い。
【００３５】
なお、NC装置105の不揮発性メモリ106に、安全レベル低のPLC用安全信号確認プログラム807、安全レベル中のPLC用安全信号確認プログラム808、安全レベル高のPLC用安全信号確認プログラム809に対応する実質的に同一ロジックのNC装置用安全信号確認プログラム（図示せず）が夫々格納されている。
また、NC装置105の不揮発性メモリ106には、実施の形態１で説明した転送・照合用プログラム（図示せず）も格納されている。
パラメータ記憶領域116に、パラメータの中の一つであるプログラム選択パラメータを入出力装置115より入力し、PLC101へ転送するPLC用安全信号確認プログラムを決定する。
なお、その他の構成・パラメータ設定などは実施の形態１で説明したものと同様となっている。
【００３６】
この状態で、システムに電源を投入すると、NC装置105の不揮発性メモリ106に格納されたPLC用安全信号確認プログラム807、808、809、このPLC用安全信号確認プログラム807、808、809に対応するNC装置用安全信号確認プログラム、転送・照合用プログラムが、実行メモリ111の各記憶領域にロードされる。なお、図７において、実行メモリ111の各記憶領域にロードされたPLC用安全信号確認プログラム807、808、809を、PLC用安全信号確認プログラム811、812、813としている。
【００３７】
そして転送・照合用プログラムが、パラメータ記憶領域116に設定されたパラメータの中の一つであるプログラム選択パラメータを参照し、例えばプログラム選択パラメータが安全レベル中のPLC用安全信号確認プログラム808（812）に設定されていると、安全レベル中のPLC用安全信号確認プログラム812のみをPLC101に転送する。この転送が行われると、PLC101の実行メモリ102に安全レベル中のPLC用安全信号確認プログラム814が作成される。
なお、転送した後のプログラム実行、プログラム・パラメータの照合の方法などについては実施の形態１と同じなので説明を省略する。
また、通常は、NC装置105側で実行されるNC装置用安全信号確認プログラムも、安全レベル中のPLC用安全信号確認プログラム808に対応するものが選択されるが、必要に応じて（例えばNC装置105とPLC101のCPU処理能力などに応じて）NC装置105で実行される安全信号確認プログラムの安全レベルとPLC101で実行される安全信号確認プログラムの安全レベルとを異ならせる場合もある。
【００３８】
この実施の形態２によれば、プログラム選択パラメータにより、PLC101へ転送するプログラムを選択できるため、例えばそのプログラムがPLC用安全信号確認プログラムの場合、機械仕様や要求される安全性能に応じて、実行されるPLC用安全信号確認プログラムの安全レベルを選択することが可能となり、よって仕様に応じた二重化システムを構築できる。
また、無駄なプログラムを転送、実行することがなくなり、転送時間の削減、メモリ使用量の削減ができる。
【００３９】
実施の形態３.
次に実施の形態３を、図８、図９を用いて説明する。
即ち、図８に示すように、NC装置105とPLC101A、101B、101Cとがバスで接続されており、またNC装置105がSlot4に、PLC101AがSlot1に、PLC101BがSlot2に、PLC101CがSlot3に実装されている場合において、NC装置105のパラメータ記憶領域116に、パラメータの中の一つである二重化PLC選択パラメータを入出力装置115より入力する。なおこの二重化PLC選択パラメータは、NC装置105と二重化するPLCを、何れのPLC（PLC101A、101B、101C）とするかを決定するものである。
なお、NC装置105の不揮発性メモリに、PLC用プログラム、NC装置用プログラム、実施の形態１で説明した転送・照合用プログラム（図示せず）が格納されている。
また、その他の構成・パラメータ設定なども実施の形態１で説明したものと同様となっている。
【００４０】
この状態で、システムに電源を投入すると、NC装置105の不揮発性メモリに格納されたPLC用プログラム、NC装置用プログラム、転送・照合用プログラムが、NC装置105の実行メモリ111の各記憶領域にロードされる。
そして転送・照合用プログラムが、パラメータ記憶領域116に設定されたパラメータの中の一つである二重化PLC選択パラメータを参照し、例えば、二重化PLC選択パラメータがSlot2に設定されている場合、NC装置用プログラムの中の情報送信先をSlot2に設定するとともに、PLC用プログラムの中の情報送信先をNC装置105が自らの実装位置を判断しSlot４に設定する。この設定後、NC装置105はPLC101Bのみとデータのやり取りを行い、PLC用プログラム812をPLC101Bのみに転送する。この転送が行われると、PLC101Bの実行メモリ102にPLC用プログラムが作成される。
【００４１】
また、不一致許容時間などのプログラムの動作を規定するパラメータなどもPLC101Bのみに転送され、PLC101Bのメモリ102のデバイス記憶領域104Bに格納される。
なお、転送した後のプログラム実行、プログラム・パラメータの照合の方法などについては実施の形態１と同じなので説明を省略する。
【００４２】
また、図９に示すように、Slot3にNC装置105が、Slot4にPLC101Bが実装されている場合にあっても、二重化PLC選択パラメータが例えばSlot2に設定されている場合、NC装置105は、PLC101Bに、PLC用プログラム、不一致許容時間などのプログラムの動作を規定するパラメータなどを転送することができる。このため、実装の順序は異なるが同一のPLCで二重化するプログラムを実行することが可能である。
なお、図９の構成において、Slot4に実装されているPLC101Cを取り外しても、PLC101BとNC装置105でプログラムを実行できる。
【００４３】
この実施の形態３によれば、複数のPLCが接続されているときにNC装置105のパラメータ設定により同じロジックのプログラムを実行、つまり二重化させるPLCを選択できるため、PLCとNC装置を接続する順序、接続するPLCの数を自由に決定でき、システムの接続が容易になる。
また、プログラムを転送するPLCを選択でき、他のPLCには影響を与えない。そのため、他のPLCによる動作が変化しないため、安全性が高められる。
なお、実施の形態３は、実施の形態２と組み合わせて実施することができることは言うまでもない。
【産業上の利用可能性】
【００４４】
この発明は、CPUを内蔵する一つ以上の制御装置とバスあるいは通信ケーブルで結合されるとともに、制御装置で実行される制御装置用プログラムと実質的に同一のNC装置用プログラムが、制御装置用プログラムの実行と並行して実行されるNC装置、またはNC装置とCPUを内蔵する一つ以上の制御装置とをバスあるいは通信ケーブルで結合するとともに、NC装置と制御装置とで実質的に同一のプログラムを同時に並行して実行するNCシステムに用いられるのに適している。
【図面の簡単な説明】
【００４５】
【図１】本発明の実施の形態１に係る数値制御システムの構成を示すブロック図である。
【図２】本発明の実施の形態１に係るNC装置からPLCへプログラムを転送する処理手順を示すフローチャートである。
【図３】本発明の実施の形態１に係るPLCのプログラムを定期的に照合する処理手順を示すフローチャートである。
【図４】本発明の実施の形態１に係るNC装置からPLCへパラメータを転送する処理手順及びPLCのパラメータを定期的に照合する処理手順を示すフローチャートである。
【図５】本発明の実施の形態１に係る二重化プログラムの具体例を示すブロック図である。
【図６】本発明の実施の形態１に係る二重化プログラムの具体的動作を示すフローチャートである。
【図７】本発明の実施の形態２に係る数値制御システムの構成を示すブロック図である。
【図８】本発明の実施の形態３に係る数値制御システムの構成を示すブロック図である。
【図９】本発明の実施の形態３に係る数値制御システムの変形構成を示すブロック図である。
【符号の説明】
【００４６】
101、101A、101B、101C  PLC、102、102B  プログラム実行メモリ、103、103B  PLC用プログラム記憶領域、104、104B  デバイス記憶領域、105  NC装置、106  不揮発性メモリ、107  NCシステムファームウエア、109  PLC用プログラム、110  NC装置用プログラム、111  プログラム実行メモリ、112  PLC用プログラム記憶領域、113  PLC用プログラム書き出し領域、114  NC装置用プログラム記憶領域、115  入出力装置、116  パラメータ記憶領域、117  パラメータ書き出し領域、118  転送・照合プログラム、119  転送・照合プログラム記憶領域。
【図１】
2008226113.tif 000003
【図２】
2008226113.tif 000004
【図３】
2008226113.tif 000005
【図４】
2008226113.tif 000006
【図５】
2008226113.tif 000007
【図６】
2008226113.tif 000008
【図７】
2008226113.tif 000009
【図８】
2008226113.tif 000010
【図９】
2008226113.tif 000011