(57)【要約】【課題】複数のＣＰＵと通信するＩＯユニットを用いた安全通信システムを提供すること。【解決手段】数値制御装置１０との通信において、スレーブ（ＩＯユニット７）が自身宛のデータを認識するためのＩＤを設定するレジスタが通信コントローラに２つ内蔵されている。ＩＯユニット７の通信コントローラ７１は、自身が受信した通信データのヘッダに含まれるＩＤが自身の２つのＩＤ設定レジスタのいずれかに一致することをもって、数値制御装置１０にデータを返信する。また、予め設定された自身のレジスタに従って、２つのＣＰＵ１，２に対応して安全信号の処理を行う。１つの通信コントローラに対してＣＰＵ１、ＣＰＵ２のどちらとも安全通信用データの交換を行って、それぞれのＣＰＵ１，２に対応したＤＩ／ＤＯを入出力することができる。一つのＩＯユニット７のＤＩ／ＤＯ信号に対して、ＣＰＵ１及びＣＰＵ２の両方のアドレスを割りつけることができる。【選択図】図５
2015125459.tif 000002
【特許請求の範囲】
【請求項１】
数値制御装置と、通信コントローラを有する一つ以上のＩＯユニットが接続され、通信データを該数値制御装置と該ＩＯユニットの該通信コントローラ間で送受する通信システムにおいて、
前記通信コントローラは、
自身のＩＤを設定する複数のＩＤ設定手段と、
前記数値制御装置から受信した通信データに含まれるＩＤと前記複数のＩＤ設定手段に設定されたＩＤと比較する比較手段と、を備え、
前記比較手段による比較の結果、前記数値制御装置から受信した通信データに含まれるＩＤが前記複数のＩＤ設定手段に設定されたＩＤのいずれかと一致した場合に、前記通信コントローラが前記数値制御装置に前記通信データを返信することを特徴とする通信システム。
【請求項２】
前記通信コントローラは、安全通信データを処理する安全通信データ処理手段を、前記複数のＩＤ設定手段に対応して複数個備えたことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記通信コントローラは、前記通信データが複数の外部入出力信号のどれに対応するかを設定するための外部入出力信号割り当て対応設定手段を、前記複数のＩＤ設定手段に対応して複数個備えたことを特徴とする請求項１に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置とＩＯユニット間で通信するシステムに関する。
【背景技術】
【０００２】
数値制御装置（ＣＮＣ）１０と工作機械（図示せず）との間では、ＤＩ／ＤＯ信号（入力信号／出力信号）の入出力を行うために、外部信号入出力用ユニット（ＩＯユニット）を複数台接続する構成がとられており、通常、数値制御装置（ＣＮＣ）１０とＩＯユニット３０，３２間では、ＤＩ／ＤＯ信号の転送が行われている（図１参照）。
【０００３】
ＩＯユニット３０，３２の通信コントローラ３１，３３は、数値制御装置１０との通信において、受信した通信データのヘッダに含まれるＩＤが自身の設定レジスタに設定されたＩＤと一致することをもって、受信したデータが自身宛のデータであることを認識し、数値制御装置１０にデータを返信している（特許文献１）。またＩＯユニット３０，３２から返信されたＤＩ／ＤＯ信号を、数値制御装置１０の内部で動作するシーケンスプログラムで実際に使用する際には、数値制御装置１０の内部のアドレスにＤＩ／ＤＯ信号を割り付ける必要がある。このＤＩ／ＤＯ信号の中には、非常停止信号やドアスイッチなど危険回避などに必要な安全信号が含まれている。
【０００４】
ところで、電気電子安全関連システムや機械類制御システムには、安全規格としてＩＥＣ６１５０８やＩＳＯ１３８４９−１などが存在する。前述の安全信号については、これらの規格に沿って処理及び転送されることが望ましい。規格に準じた処理及び転送方法として、特許文献２がある。
【０００５】
特許文献２では、ＣＰＵ１１とＣＰＵ１２に対して対応するＩＯユニット３０、ＩＯユニット３２が存在し、ＣＰＵ１１とＩＯユニット３０の組と、ＣＰＵ１２とＩＯユニット３２の組が互いに独立して安全信号の処理と転送を行うことで、高い安全性を確保している（図２参照）。また、信号の転送はＰＲＯＦＩｓａｆｅに準じており、通信データにはカウント値やＣＲＣなどが付与されている。先述のようにＣＰＵ１１とＩＯユニット３０の組と、ＣＰＵ１２とＩＯユニット３２の組が互いに独立しているので、これらの付与される値もさきほどの２組に対応して２組あり、それぞれが互いに独立している。
【０００６】
この時、安全の確保においては、付与されるデータが互いに独立して無関係の値であることも重要になってくる。例えばＣＰＵ１１のデータを誤ってＩＯユニット３２が処理しようとしても、付与されているカウンタ値が異なるためエラーとなる。このような仕組み上、ＣＰＵ１１とＩＯユニット３０、ＣＰＵ１２とＩＯユニット３２の組み合わせを入れ替えることはできない。すなわちＣＰＵ１１のアドレスにＩＯユニット３２のＤＩ／ＤＯ信号を割り付けたり、ＣＰＵ１２のアドレスにＩＯユニット３０のＤＩ／ＤＯ信号を割り付けたり、あるいはＩＯユニット３０をＣＰＵ１１とＣＰＵ１２の両方のアドレスに割り付けたりすることはできない。これは、先述のように通信データに付与されるカウンタ値やＣＲＣがＣＰＵとＩＯユニットの組み合わせに対応しており、入れ替え不可能であることによる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第４１８５１４２号公報
【特許文献２】特開２０１３−２３５３００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、近年、工作機械はますます多様化しており、多数のヴァリエーションを持つ機械を設計することも少なくない。ヴァリエーションの１つ１つにおいては、構成次第で必要となるＤＩ／ＤＯ信号の点数が異なってくる。いずれの構成においても、接続されるＩＯユニットの個数は最小となるように設計されることが、コストの観点からは重要である。
【０００９】
ところが、ＤＩ／ＤＯ信号に安全信号が含まれている場合に、特許文献２の方法を用いて構成すると、前述のようにＣＰＵとＩＯユニットの組み合わせが入れ替え不可能なために、必要以上にＩＯユニットを接続しなければならない場合がある。例えば、まず安全ＤＩ信号の総点数が３２点（ビット）の機械を、一つあたり３２点のＤＩ信号を持つＩＯユニットで構成する場合を考える。２つのＣＰＵ１１，１２を備え、安全ＤＩ信号が３２点であるので、３２点のＤＩ信号を持つＩＯユニット３０，３２の２つで構成することができる（図３参照）。
【００１０】
ところが、次に同じ機械のヴァリエーションとして、安全ＤＩ信号の総点数が４８点の機械を設計する場合、図３のシステムに対して増加した安全ＤＩ信号は１６点であるから、１６点×２＝３２点のＤＩ信号があればよく、３２点のＩＯユニットを一つ追加すれば総点数を賄うことができるはずである。しかし、実際には安全ＤＩ信号の処理に関して、前述の通り２つのＣＰＵ１１、１２に対して２つのＩＯユニットの組み合わせが必要になるため、ＩＯユニット４０，４２を２つ更に接続する必要がある（図４参照）。
【００１１】
このように、安全ＤＩ／ＤＯ信号を構成する場合、特許文献２の方法では、ＣＰＵとＩＯユニットの割付に関する制約から、必要以上に多くのＩＯユニットを接続しなければならない場合がある、という問題があった。
【００１２】
そこで本発明の目的は、上記従来技術の問題を解決するために、複数のＣＰＵと通信するＩＯユニットを用いた安全通信システムを提供することである。
【課題を解決するための手段】
【００１３】
本願の請求項１に係る発明は、数値制御装置と、通信コントローラを有する一つ以上のＩＯユニットが接続され、通信データを該数値制御装置と該ＩＯユニットの該通信コントローラ間で送受する通信システムにおいて、前記通信コントローラは、自身のＩＤを設定する複数のＩＤ設定手段と、前記数値制御装置から受信した通信データに含まれるＩＤと前記複数のＩＤ設定手段に設定されたＩＤと比較する比較手段と、を備え、前記比較手段による比較の結果、前記数値制御装置から受信した通信データに含まれるＩＤが前記複数のＩＤ設定手段に設定されたＩＤのいずれかと一致した場合に、前記通信コントローラが前記数値制御装置に前記通信データを返信することを特徴とする通信システムである。  
請求項２に係る発明は、前記通信コントローラは、安全通信データを処理する安全通信データ処理手段を、前記複数のＩＤ設定手段に対応して複数個備えたことを特徴とする請求項１に記載の通信システムである。  
請求項３に係る発明は、前記通信コントローラは、前記通信データが複数の外部入出力信号のどれに対応するかを設定するための外部入出力信号割り当て対応設定手段を、前記複数のＩＤ設定手段に対応して複数個備えたことを特徴とする請求項１に記載の通信システムである。
【発明の効果】
【００１４】
本発明により、複数のＣＰＵと通信するＩＯユニットを用いた安全通信システムを提供できる。
【図面の簡単な説明】
【００１５】
【図１】数値制御装置とＩＯユニット間で、ＤＩ／ＤＯ信号の転送が行われていることを示す図である。
【図２】ＣＰＵ１１とＩＯユニット３０の組と、ＣＰＵ１２とＩＯユニット３２の組が互いに独立して安全信号の処理と転送を行うことを示す図である。
【図３】安全ＤＩ信号の総点数が３２点（ビット）の機械を、一つあたり３２点のＤＩ信号を持つＩＯユニットで構成する場合を示す図である。
【図４】図３に対して更に２つのＩＯユニットを接続しなければならないことを示す図である。
【図５】ＩＯユニットの通信コントローラについて、自身のＩＤを設定するレジスタを２つ内蔵する本発明の構成を示す図である。
【図６】数値制御装置とＩＯユニット間の通信を示す図である。数値制御装置側の通信コントローラはマスタ、ＩＯユニット側の通信コントローラはスレーブとして動作し、両者はマスタスレーブ方式で一対一通信を行うことを示す図である。
【図７】受信ヘッダとレジスタのＩＤが一致すると返信を行うことを示す図である。
【図８】安全通信用データの構成を示す図である。
【図９】通信コントローラが内部に安全通信用データを処理するための安全通信用データ処理回路を備えていることを示す図である。
【図１０】マスタ（数値制御装置）とスレーブの間で安全データの送受信を行うことを示す図である。
【図１１】複数のＣＰＵと通信するＩＯユニットを示す図である。
【図１２】数値制御装置の複数のＣＰＵと通信するＩＯユニットを備えた安全通信システムの構成を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態を図面と共に説明する。  
図５はＩＯユニットの通信コントローラについて、自身のＩＤを設定するレジスタを２つ内蔵する本発明の構成を示す図である。工作機械を制御する数値制御装置１０には、工作機械の本体に取り付けられるＩＯユニット５，６，７がデージーチェーン式に接続されている。数値制御装置１０との通信において、スレーブ（ＩＯユニット７）が自身宛のデータを認識するためのＩＤを設定するレジスタが通信コントローラに２つ内蔵されている。ＩＯユニット７の半分のＤＩ信号１６点（ビット）は数値制御装置１０のＣＰＵ１に対応し、もう半分のＤＩ信号１６点（ビット）はＣＰＵ２に対応する。
【００１７】
ＩＯユニット７のＤＩのうち半分の１６点をＣＰＵ１のアドレスに割付け、もう半分の１６点をＣＰＵ２のアドレスに割り付ける。安全ＤＩ信号は、一つの信号を２つのＣＰＵ１、ＣＰＵ２にそれぞれ割りつけて処理する必要がある。いいかえると、一つのＩＯユニットのＤＩレシーバ入力に対して、ペアとなる別のＩＯユニットのＤＩレシーバ入力が存在する。
【００１８】
よって、ＩＯユニット５、ＩＯユニット６、ＩＯユニット７のＤＩも２つのＤＩレシーバ入力がペアになるように組み合わせる。すると、ＩＯユニット５の半分のＤＩの１６点とＩＯユニット６の半分のＤＩの１６点を一つのペア、ＩＯユニット６の残り半分のＤＩの１６点とＩＯユニット７の半分のＤＩの１６点をもう一つのペア、ＩＯユニット７の残りの半分のＤＩの１６点とＩＯユニット５の残りの半分のＤＩの１６点を最後のペアとして組み合わせることで、ＤＩの４８点のすべてがＣＰＵ１とＣＰＵ２のアドレスに割り付けられて入力されることになる。
【００１９】
ＩＯユニット７の通信コントローラ７１は、自身が受信した通信データのヘッダに含まれるＩＤが自身の２つのＩＤ設定レジスタのいずれかに一致することをもって、数値制御装置１０にデータを返信する。また、予め設定された自身のレジスタに従って、２つのＣＰＵ１，２に対応して安全信号の処理を行う。
【００２０】
上述したように、ＩＯユニット７の１つの通信コントローラ７１に対してＣＰＵ１、ＣＰＵ２のどちらともが安全通信用データの交換を行って、それぞれのＣＰＵ１，２に対応したＤＩ／ＤＯを入出力することができる。一つのＩＯユニット７のＤＩ／ＤＯ信号に対して、ＣＰＵ１及びＣＰＵ２の両方のアドレスを割りつけることができるので、従来技術のようなＣＰＵとＩＯユニットの組み合わせの制約に縛られることなく、必要最小限のＩＯユニット接続数で必要な安全ＤＩ／ＤＯ信号点数を構成できる。
【００２１】
図６は数値制御装置とＩＯユニット間の通信を説明する図である。数値制御装置と一つまたは複数のＩＯユニットが接続される構成において、数値制御装置１０は、通信コントローラ１５と２つの独立したＣＰＵ１及びＣＰＵ２を備え、ＩＯユニット５，６は通信コントローラ５１，６１と、通信により転送されたＤＩ／ＤＯを外部（機械側）に入出力するためのドライバ５４，６４とレシーバ５３，６３を備えている。ＩＯユニット５，６の通信コントローラ５１，６１は、内部に自身のＩＤを表すＩＤ設定レジスタ５２，６２を備えている。数値制御装置側１０の通信コントローラ１５はマスタ、ＩＯユニット５，６側の通信コントローラ５１，６１はスレーブとして動作し、両者はマスタスレーブ方式で一対一通信を行う。
【００２２】
図７は受信ヘッダとレジスタのＩＤが一致すると返信を行うことを説明する図である。数値制御装置に接続されたＩＯユニットのうちｎ番目のＩＯユニットｎの通信コントローラｎ１は、数値制御装置１０との通信において、受信した通信データのヘッダに含まれるＩＤが自身の設定レジスタ（ＩＤ設定レジスタｎ２）に設定されたＩＤ（＝ｎ）と一致することをもって、受信したデータが自身宛のデータであることを認識し、数値制御装置１０にデータを返信する。
【００２３】
図９は通信コントローラが内部に安全通信用データを処理するための回路を備えていることを示す図である。ＩＯユニットｎの通信コントローラｎ１は内部に安全通信用データ（図８参照）を処理するための回路を備えており、自身が送受信する安全通信用データに含まれるシリアルＮｏ．（シリアルナンバー）、カウンタ、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｏｄｅ）を処理している。
【００２４】
図８に示されるように、安全通信用データの先頭には、各スレーブに予め設定されたシリアルＮｏ．が付与される。ＣＰＵ１、ＣＰＵ２及びスレーブ（ＩＯユニット）（図９参照）に内蔵された通信コントローラｎ１の安全通信用データ処理回路ｎ５は、それぞれ自身が受信したシリアルＮｏ．についてチェックを行う。不正が検出された場合、エラーないしアラームが発生し、受信データは破棄される。
【００２５】
図１０はマスタとスレーブの間で安全通信用データの送受信を行うことを示す図である。安全通信用データに含まれるカウンタ（図８参照）は、マスタである数値制御装置１０からスレーブであるＩＯユニットへのデータ送信時に付与される（図１０の（１）参照）。一方スレーブ（ＩＯユニット）側は、マスタ側である数値制御装置１０から安全通信用データを受信すると、含まれているカウンタ値を一旦，内部レジスタに保存し、代わりに元々内部レジスタに保存されていたカウンタ値をマスタ側である数値制御装置へ返信する（図１０の（２）参照）。マスタ側である数値制御装置１０はスレーブから返信を受信すると、自身が発行したカウンタ値と受信した安全通信用データに含まれるカウンタの差分をチェックする（図１０の（３）を参照）。通信終了後、マスタ側である数値制御装置は次回の通信時に、発行するカウンタ値を＋１して、同様の動作を繰り返す。このカウンタ値の発行は、ＣＰＵ１及びＣＰＵ２が独立に行う。ＣＰＵ１とＣＰＵ２は、カウンタの初期値が異なるため、ＣＰＵ１とＣＰＵ２が同じカウンタ値を複数回にわたって連続で発行することはない。
【００２６】
マスタ側である数値制御装置１０が発行したカウンタ値とマスタ側である数値制御装置１０がスレーブ側であるＩＯユニットから受信したカウンタ値の差分は、通信が正常であれば常に１になるが、何らかの要因で通信が失敗した場合には、差分値は２以上となる。この差分値が予め設定された許容値を上回った場合、これを看過できないアラームとして数値制御装置が検出する。また、スレーブが受信したカウンタ値と、スレーブの内部に保存されたカウンタ値についても、正常に通信が行われていれば、差分値は１同様にとなるが、何らかの要因で通信が失敗した場合には、差分値は２以上になる。この差分値が予め設定された許容値を上回った場合、これも同様に看過できないアラームとして検出する。さらに、この差分値が０の場合、ＣＰＵ１もしくはＣＰＵ２が発行するカウンタ値を更新していないことになる。差分値の更新が予め設定された許容回数を上回って未更新の場合、これも看過できないアラームとして検出する。
【００２７】
図８に示されるように安全通信用データの末尾には、ＣＲＣ５１３が付与されており、これはシリアルＮｏ．、カウンタ、安全Ｉ／Ｏデータを保護している。ＣＰＵ１、ＣＰＵ２、及びスレーブに内蔵された安全処理用データ処理回路（図９のｎ５を参照）は、データの受信時にこのＣＲＣをチェックする。不正が検出された場合、エラーないしアラームが発生し、受信データは破棄される。
【００２８】
図１１は複数のＣＰＵと通信するＩＯユニットを示す図である。従来技術では、前述のＩＤ設定レジスタと安全通信用データ処理回路（図９参照）は１つの通信コントローラにつき１つずつ含まれていたが、本発明の実施形態ではこれを内部に２つ備えているＩＯユニットを備えている。ＩＯユニット７の通信コントローラ７１は、自身が受信した通信データのヘッダに含まれるＩＤが自身の２つのＩＤ設定レジスタ７２ａ及びＩＤ設定レジスタ７２ｂのどちらかに一致することをもって、受信したデータが自身宛のデータであることを認識する。
【００２９】
また通信コントローラ７１は、２つのＩＤ１、ＩＤ２に対応した安全通信用データ処理回路７７ａ，７７ｂを持っており、受信したＩＤに従って対応する安全通信用データ処理回路７７ａまたは安全通信用データ処理回路７７ｂが動作し、安全通信用データを処理する。さらに通信コントローラ７１は、それぞれのＩＤで受信したデータが、どのドライバとレシーバに割り当てられるか設定するための外部入出力信号割り当て対応レジスタを持っており、予め設定された外部入出力信号割り当て対応レジスタレジスタに従って、送受信するＤＩ／ＤＯを外部入出力ドライバ／レシーバに割り当てる。
【００３０】
図１２は数値制御装置の複数のＣＰＵと通信するＩＯユニットを用いた安全通信システムを説明する図である。通信コントローラは、ＣＰＵ１との通信においては、ＩＤ１を用いて安全データ用通信を行い、予め設定された外部入出力信号割り当て対応レジスタに従ってドライバ／レシーバを通してＤＩ／ＤＯを入出力する。また、ＣＰＵ２との通信においては、ＩＤ２を用いて安全データ用通信を行い、予め設定された外部入出力信号割り当て対応レジスタに従ってドライバ／レシーバを通してＤＩ／ＤＯを入出力する。
【符号の説明】
【００３１】
１  ＣＰＵ
２  ＣＰＵ
３  メモリ
４  メモリ
５  ＩＯユニット
５１  通信コントローラ
５２  ＩＤ設定レジスタ
５３  レシーバ
５４  ドライバ
６  ＩＯユニット
６１  通信コントローラ
６２  ＩＤ設定レジスタ
６３  レシーバ
６４  ドライバ
７  ＩＯユニット
７１  通信コントローラ
７２ａ，７２ｂ  ＩＤ設定レジスタ
７３  レシーバ
７４  ドライバ
７５  レシーバ
７６  ドライバ
７７ａ，７７ｂ  安全通信用データ処理回路
７８  外部入出力信号割り当て対応レジスタ
７９  振り分け回路
１０  数値制御装置
１１  ＣＰＵ
１２  ＣＰＵ
１３  メモリ
１４  メモリ
１５  通信コントローラ
１５ａ  メモリ
１６  ＤＭＡコントローラ
１７  専用バス
１８  サーボコントローラ
１９  バス
２０  通信コントローラ
３０  ＩＯユニット
３１  通信コントローラ
３２  ＩＯユニット
３３  通信コントローラ
３４  通信路
３５  レシーバ
３６  ドライバ
３７  レシーバ
３８  ドライバ
４０  ＩＯユニット
４１  通信コントローラ
４２  ＩＯユニット
４３  通信コントローラ
【図１】
2015125459.tif 000003
【図２】
2015125459.tif 000004
【図５】
2015125459.tif 000005
【図６】
2015125459.tif 000006
【図７】
2015125459.tif 000007
【図８】
2015125459.tif 000008
【図９】
2015125459.tif 000009
【図１０】
2015125459.tif 000010
【図１１】
2015125459.tif 000011
【図１２】
2015125459.tif 000012
【図３】
2015125459.tif 000013
【図４】
2015125459.tif 000014