(57)【特許請求の範囲】
【請求項１】
通信ラインを介して接続される駆動用デバイスの制御をおこなう制御システムコントローラにおいて、
接続される駆動用デバイスへの送信データを生成する制御処理部と、
前記駆動用デバイスとのデータの送受信をおこなう通信処理部とを備え、
前記通信処理部は、
前記制御処理部から送られる送信データを記憶する第一の送信データメモリと、
前記第一の送信データメモリにおける送信データの更新の異常を検出する異常検出処理部と、
異常検出時の送信データを生成するためのデータを記憶する第二の送信データメモリと、
異常検出時に異常時用の送信データを生成する送信データ生成処理部とを有し、
前記異常検出処理部が、前記第一の送信データメモリにおける制御処理部からの送信データの更新の異常を検出したときに、前記送信データ生成処理部は、前記第二の送信データメモリに記憶されているデータに基づき、前記デバイスを駆動させる速度指令値として、前記異常検出時の速度指令値より小さく０より大きい値を含むデータ及び速度指令値が所定時間０となるデータと、該所定時間の後前記駆動デバイスへの通電を停止するデータを含む異常検出時の送信データを生成し、前記通信処理部により、前記デバイスに異常検出時の送信データを送信することを特徴とする制御システムコントローラ。
【請求項２】
前記駆動用デバイスが、サーボモータを含むサーボ系であり、
前記異常検出時の送信データとして、前記サーボモータの回転速度を含み、
前記回転速度を、徐々に減少させていくことを特徴とする請求項１記載の制御システムコントローラ。
【請求項３】
前記駆動用デバイスが、サーボモータを含むサーボ系であり、
前記異常検出時の送信データとして、前記サーボモータのトルク制限を含み、
前記トルク制限を、正常時の送信データにおける前記サーボモータのトルク制限よりも小さくすることを特徴とする請求項１記載の制御システムコントローラ。
【請求項４】
前記通信ラインを介して接続される入出力用デバイスを更に有し、
前記送信データ生成処理部は、前記第二の送信データメモリに記憶されたデータを演算して、前記駆動用デバイスへの送信データを生成し、かつ、前記駆動用デバイスに同期して動作する前記入出力用デバイスへの送信データを生成することを特徴とする請求項１記載の制御システムコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御システムコントローラに係り、特に、システムエラーが生じたときに、接続された駆動用デバイスを安全に停止させる用途に用いて好適な制御システムコントローラに関する。
【背景技術】
【０００２】
産業用に広く使われている駆動システムとして、システムコントローラに、サーボアンプとサーボモータを接続する構成が広く知られている。例えば、特許文献１には、システムコントローラが、数値制御装置であり、各々の通信ラインに、サーボアンプとサーボモータが複数接続される制御システムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３３９３５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１には、システムコントローラとしての数値制御装置と、その数値制御装置に接続されているサーボアンプ間における通信異常時、およびその数値制御装置内のシステムエラー時におけるサーボアンプの制御について記載されている。
【０００５】
この特許文献１では、エラーが発生した場合に、「複数のシリアルバスに接続されるサーボアンプで駆動されるサーボモータの制御において、通信異常が発生したシリアルバスに接続されるサーボアンプへの出力を０」とすると記載されている（要約等）。
【０００６】
しかしながら、特許文献１のサーボモータ制御システムでは、システムエラーが発生したときには、ＣＰＵ２からシステム通信回路３への制御データが更新されないので、通信データを停止するか、サーボアンプへの出力を０にするかの選択しかできない。このようなシステムコントローラでは、内部システムエラー時には、サーボアンプで駆動しているサーボモータの制御ができないため、急停止や減速停止といった安全のために必要な制御をおこなうことができない。
【０００７】
また、このサーボモータ制御システムでは、システムエラー時に、サーボアンプにより駆動しているサーボモータと入出力制御による周辺機器との同期がとれないため、周辺装置の位置によっては、機械やワークを破壊してしまい、システム全体を安全に停止することはできないという問題点もある。
【０００８】
本発明は、上記問題点を解決するためになされたもので、その目的は、駆動用デバイスを含む制御システムを制御するための制御システムコントローラにおいて、内部システムエラーが発生した場合においても、安全にシステムが停止できるデータを生成し、接続されているデバイスに送信できるようにすることにある。
【課題を解決するための手段】
【０００９】
本発明の制御システムコントローラは、通信ラインを介して接続されるデバイスとのデータの送受信をおこなう通信処理部と、接続されるデバイスへの送信データを生成する制御処理部とを備えており、通信処理部は、制御処理部から送られる送信データを記憶する第一の送信データメモリと、第一の送信データメモリにおける送信データの更新の異常を検出する異常検出処理部と、異常検出時の送信データを生成するためのデータを記憶する第二の送信データメモリと、異常検出時に異常時用の送信データを生成する送信データ生成処理部とを有している。
【００１０】
そして、異常検出処理部が、第一の送信データメモリにおける制御処理部からの送信データの更新の異常を検出したときに、送信データ生成処理部は、第二の送信データメモリに記憶されているデータに基づき、異常検出時の送信データを生成し、通信処理部により、接続されているデバイスに異常検出時の送信データを送信する。
【００１１】
ここで、接続されているデバイスは、例えば、サーボモータを含むサーボ系の駆動用デバイスであり、異常検出時には、サーボモータの回転速度を徐々に減少させていくよう制御する送信データを生成する。また、異常検出時には、正常時のトルク制限よりも小さなトルク制限の送信データを生成する。
【００１２】
また、接続されているデバイスは、例えば、サーボモータを含むサーボ系の駆動用デバイスと、それに同期して動作する入出力デバイスであるとき、駆動用デバイスと同期した生成データを生成する。
【００１３】
これにより、例えば、内部システムエラー時、サーボアンプに対しては、減速停止コマンドデータまたは、滑らかに減速停止可能な速度指令値を送信して、システムを安全に停止することを可能とする。また、システムエラー発生時、サーボモータによるワークの移動方向上から、即座に周辺装置を退避するデータを送信することにより、ワークと機械の接触を回避することを可能とする。
【００１４】
この構成によれば、制御システムコントローラ内部システムエラー時に、接続されている駆動用デバイスを安全に減速することができ、また、周辺装置と駆動用デバイスの同期をとりながら安全に停止することができる。また、本発明は、従来の構成からメモリと簡単な処理部のみを追加することにより、実現することができる。
【発明の効果】
【００１５】
本発明によれば、駆動用デバイスを含む制御システムを制御するための制御システムコントローラにおいて、内部システムエラーが発生した場合においても、安全にシステムが停止できるデータを生成し、接続されているデバイスに送信することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第一の実施形態に係る制御システム全体の構成図である。
【図２】本発明の第一の実施形態に係る制御システムコントローラ１０の構成図である。
【図３】制御システムコントローラ１０が駆動用デバイス５０を制御するときの様子を示す図である。
【図４】制御システムコントローラ１０と駆動用デバイス５０間でやりとりされる通信フレームのフォーマットを示す図である。
【図５】データコントロールテーブル７００とデータテーブル７０１の一例を示す図である。
【図６】データコントロールテーブル７００とデータテーブル７０１より生成される通信フレームのデータ部の一例を示した図である。
【図７】制御システムコントローラのシステムエラーに関する処理を示すフローチャートである。
【図８】送信データ生成処理を示すフローチャートである。
【図９】本発明の第二の実施形態に係る制御システム全体の構成図である。
【図１０】制御システムコントローラ１０が駆動用デバイス５０、出力用デバイス６１、出力用デバイス６２を制御するときの様子を示す図である。
【図１１】制御システムコントローラ１０と駆動用デバイス６０、出力用デバイス６１、出力用デバイス６２、入力用デバイス６３間でやりとりされる通信フレームのフォーマットを示す図である。
【図１２】データコントロールテーブル１０００とデータテーブル１００１の一例を示す図である。
【図１３】データコントロールテーブル１０００とデータテーブル１００１より生成される通信フレームのデータ部の一例を示した図である。
【発明を実施するための形態】
【００１７】
以下、本発明に係る各実施形態を、図１ないし図１３を用いて説明する。
【００１８】
〔実施形態１〕
以下、本発明に係る第一の実施形態を、図１ないし図８を用いて説明する。
【００１９】
本実施形態では、駆動用デバイスとしてサーボ系が接続された制御システムであって、制御システムコントローラ内のシステムエラー発生時に、サーボモータを安全な減速停止を実施することのできる制御システムコントローラの例について説明する。
【００２０】
先ず、図１および図２を用いて本発明の第一の実施形態に係る制御システムの構成について説明する。
図１は、本発明の第一の実施形態に係る制御システム全体の構成図である。
図２は、本発明の第一の実施形態に係る制御システムコントローラ１０の構成図である。
【００２１】
本実施形態の制御システムは、図１に示されるように、制御システムコントローラ１０の通信ライン１に駆動用デバイス５０が接続されており、通信ライン２に入出力用デバイス５１が接続されている。
【００２２】
駆動用デバイスは、例えば、サーボアンプとサーボモータで構成されたサーボ系であり、入出力用デバイスは、通信ライン１に接続されている駆動用デバイスは別個に制御されるデバイスであり、例えば、エアシリンダやエアバルブ、センサなどである。
【００２３】
制御システムコントローラ１０は、制御処理部２０と、各々の通信ライン毎に設けられる通信制御部３０、４０から構成される。
【００２４】
制御処理部２０は、接続されるデバイスを制御するための送信データを生成する機能を有する。通信制御部３０、４０は、各々通信ライン１、２に接続されている接続デバイスにデータを送信し、その接続デバイスからデータを受信する機能を有する。この通信制御部は、制御処理部２０とバスで接続されており、通信ライン毎に複数実装可能である。
【００２５】
次に、通信制御部の内部構成について説明する。ここでは、通信ライン１に接続されている通信制御部３０を例にとり説明することにする。通信ライン２に接続されている通信制御部４０も同様である。制御システムコントローラが正常に動作しているときには、送信データは、制御処理部２０から送信データメモリＡ３０１に定周期で更新される。定周期の更新されていることは、異常検出処理部３０４により監視してその異常を判定する。制御処理部２０から送信データメモリＡ３０１に送信データが定周期で更新されている場合には、通信制御部３０は、送信データメモリＡ３０１内のデータを送受信処理部３０５に転送する。
【００２６】
送信データメモリＡ３０１に送信データが定周期で更新されていない場合には、送信データ生成処理部３０６が、異常時用の送信データを生成するためのデータを、送信データメモリＢ３０２から取得して、送信データを生成し、送受信処理部３０５に転送する。異常時用の送信データを生成するためのデータのデータ構造と、それから送信データを生成する処理については、後に説明する。
【００２７】
送信データメモリＢ３０２に格納されている異常時用の送信データを生成するためのデータは、電源投入時または各運転状態にあわせて、制御処理部２０から予め設定しておく。送受信処理部３０５は、異常検出処理部３０４により転送された送信データから送信する通信フレーム（後述、以下「送信フレーム」ともいう）を生成し、接続デバイスへ送信し、接続デバイスから戻ってきたデータを受信データメモリ３０３に転送する。
【００２８】
次に、図３を用いて駆動用デバイス５０の制御のモデルについて説明する。
図３は、制御システムコントローラ１０が駆動用デバイス５０を制御するときの様子を示す図である。ここで、図３（ａ）が、制御システムコントローラ１０から駆動用デバイス５０に与える指令速度と時間の関係を表しており、図３（ｂ）が、サーボモータの通電状態を示している。
【００２９】
本実施形態では、図１に示されるように、通信ライン１を介して駆動用デバイス５０として、サーボアンプとサーボモータが接続されており、このサーボモータにより、重量物の搬送するモデルを考える。通常時は、運転パターン５００となり、時間ｔｏでモータ通電状態になってから定速度ｖｏになり、やがて減速停止する。
【００３０】
ここで、搬送中の時間ｔ１にシステムエラーが発生した場合には、従来技術の駆動用デバイスへの出力を０にする制御では、減速パターン５０１となり、時間ｔ２で速度が０になる。
【００３１】
本実施形態では、搬送中の時間ｔ１にシステムエラーが発生した場合には、図３の減速パターン５０２に示されるように、制御システムコントローラ１０から駆動用デバイス５０へ通信フレームを送信する送信周期５００回分たったとき（時間ｔ３）に、速度ｖｏから０に減速するように制御する。そして、一定の通信周期（図３では、４９９回分）たった時間ｔ４に、モータを非通電状態にする。ここで、一定の通信周期の後に、モータを非通電状態とするのは、制御システムコントローラ１０が指令を与えてから駆動用デバイス５０が動作するにはある程度タイムラグがあるためと、システムに負荷をかけないように、ある程度余裕をもってモータの通電を制御するためである。
【００３２】
このように、従来技術では、急停止してしまい、ワークや機械に急激な負荷がかかるが、本実施形態では、システムエラー発生から通信周期５００回たった時間ｔ３で減速停止し、その後、通信周期４９９回たった時間ｔ４にモータ非通電状態となっており、異常時においても急停止せず、緩やかに安全に停止することができる。
【００３３】
次に、図４ないし図６を用いて、本発明の第一の実施形態に係る制御システムで用いられるデータ構造について説明する。
図４は、制御システムコントローラ１０と駆動用デバイス５０間でやりとりされる通信フレームのフォーマットを示す図である。
図５は、データコントロールテーブル７００とデータテーブル７０１の一例を示す図である。
図６は、データコントロールテーブル７００とデータテーブル７０１より生成される通信フレームのデータ部の一例を示した図である。
【００３４】
通信フレーム６００は、図４（ａ）に示されるフォーマットを有し、制御システムコントローラ１０から駆動用デバイス５０に送信されるフレームである。通信フレーム６０１は、図４（ｂ）に示されるフォーマットを有し、制御システムコントローラ１０が駆動用デバイス５０から受信するフレームである。
【００３５】
通信フレーム６００は、ヘッダ、データ、ＣＲＣのフィールド構成よりなる。ヘッダは、通信フレームとしての管理情報を格納する。ＣＲＣ（Cyclic Redundancy Check：巡回冗長検査）は、通信フレームのエラーを検出するためのコードである。
【００３６】
通信フレーム６００のデータは、サーボコントロールデータ、サーボ速度指令、サーボ正転側トルク制限、サーボ逆転側トルク制限のフィールド構成よりなる。
【００３７】
サーボコントロールデータは、サーボ系である駆動用デバイス５０に与える指令を示すデータである。例えば、値が１のとき、サーボモータ通電、値が０のとき、サーボモータ非通電とする。
【００３８】
サーボ速度指令は、サーボモータの速度を指定するデータである。
【００３９】
サーボ正転側トルク制限は、サーボモータに過負荷を与えないようにするためのモータの回転を強めるときのトルクの制限を示すデータである。サーボアンプは、サーボモータにこれ以上のトルクがかからないようにサーボモータへの電流を制限する。
【００４０】
サーボ逆転側トルク制限は、サーボモータに過負荷を与えないようにするためのモータの回転を弱めるときのトルクの制限を示すデータである。サーボアンプは、サーボモータにこれ以上のトルクがかからないようにサーボモータへの電流を制限する。
【００４１】
通信フレーム６０１は、ヘッダ、データ、ＣＲＣのフィールド構成よりなる。ヘッダと、ＣＲＣの意味は、通信フレーム６００と同様である。
【００４２】
通信フレーム６０１のデータは、サーボスーテタスデータ、サーボ現在速度、サーボ現在位置のフィールド構成よりなる。
【００４３】
サーボスーテタスデータは、サーボ系である駆動用デバイス５０の現在の状態を示すデータである。
【００４４】
サーボ現在速度指令は、サーボモータの現在の速度を示すデータである。
【００４５】
サーボ現在位置は、サーボモータの現在の位置を示すデータである。
【００４６】
データコントロールテーブル７００と、データテーブル７０１は、図２に示された送信データメモリＢ３０２に予め設定されているテーブルであり、システムエラー発生したときには、送信データ生成処理部は、この両者を組み合わせて、通信フレームのデータを生成する。
【００４７】
データコントロールテーブル７００は、通信フレームの送信データを作成するときの制御の仕方を表すテーブルであり、図５（ａ）に示されるように、開始フレーム番号、終了フレーム番号、データオフセット、データサイズ、送信種別、データ数のフィールド構成よりなる。
【００４８】
開始フレーム番号と終了フレーム番号は、データテーブル７０１のフレーム番号に対応しており、データテーブル７０１の開始フレーム番号と終了フレーム番号間のフレーム番号の示されるフレームに対して、同じ処理をすることを示している。データオフセット、データサイズは、図４（ａ）に示された通信フレーム６００のフォーマットのデータ部におけるデータオフセットとデータサイズに値を格納することを示している。
【００４９】
送信種別は、データテーブル７０１上のデータを加工する方法を示すものであり、「メモリ送信」、「減算」、「保持」を設定可能とする。
【００５０】
送信種別が「メモリ送信」のときは、該当するフレーム番号のデータオフセット、データサイズに示されたエリアの値をそのまま用いる。
【００５１】
送信種別が「減算」のときは、正常時の最新送信データから、項目データ数で割った値を一つずつ減算したデータを生成して、該当するフレーム番号のデータオフセット、データサイズに示されたエリアに格納する。
【００５２】
送信種別が「保持」のときは、該当するフレーム番号のデータオフセット、データサイズに示されたエリアの異常発生前の正常時最終送信データを用いる。
【００５３】
データ数は、送信種別が「減算」のときに用いられるパラメタである。
【００５４】
データテーブル７０１は、通信フレームを作成するときのデータの元になるテーブルであり、図５（ｂ）に示されるように、フレーム番号、送信データオフセット［０］〜［７］のフィールド構成よりなる。
【００５５】
フレーム番号は、連番になっており、フレーム番号１から順番に、送信される通信フレームのためのデータを生成する。
【００５６】
送信データオフセット［０］〜［７］は、図４に示された通信フレームのデータ部のバイト位置に対応している。
【００５７】
次に、図６を用いてデータコントロールテーブル７００とデータテーブル７０１より生成される通信フレームのデータ部の具体例について説明する。
【００５８】
ここで、本実施形態の制御システムは、システムエラー時に定速度で駆動用デバイス５０のサーボモータが運転しているものとし、システムエラー発生前の正常時の最終送信フレームのデータの値は、サーボコントロールデータが「モータ通電（１）」、サーボ速度指令が「５００ｒｐｍ」、サーボ正転側トルク制限が「２００％」、サーボ逆転側トルク制限が「２００％」であるとする。
【００５９】
フレーム番号１〜９９９までのサーボコントロールデータは、データコントロールテーブル７００の第一番目のエントリーが「保持」になっており、システムエラー発生前の正常時の最終送信フレームのサーボコントロールデータが「モータ通電（１）」になっているので、生成する通信フレームのサーボコントロールデータは、この値が格納される。
【００６０】
そして、フレーム番号１０００のサーボコントロールデータは、データコントロールテーブル７００の第二番目のエントリーの送信種別が「メモリ送信」になっているので、該当するデータテーブル７０１の値により「モータ非通電（０）」となる。
【００６１】
次に、フレーム番号１〜５００までのサーボ速度指令としては、データコントロールテーブル７００の第三番目のエントリーが送信種別が「減算」、データ数「５００」になっており、システムエラー発生前の正常時の最終送信フレームのサーボ速度指令が「５００ｒｐｍ」になっているので、システムエラー発生前の正常時の最終送信フレームのサーボ速度指令の速度から、一定の値を順次引いた速度を、生成する通信フレームのサーボ速度指令に格納する。
【００６２】
具体的には、以下の（式１）によって、サーボ速度指令を計算する。
生成データ＝前回送信データ−（正常時最終送信データ／データ数）  …（式１）
これにより、フレーム番号１のサーボ速度指令は「４９９」、フレーム番号２のサーボ速度指令は「４９８」、…、フレーム番号４９９のサーボ速度指令は「１」、フレーム番号５００のサーボ速度指令は「０」となる。このサーボ速度指令の値は、図３に示した減速パターン５０２に対応するものである。
【００６３】
これ以降のフレーム番号５０１〜１０００までのサーボ速度指令としては、データコントロールテーブル７００の第四番目のエントリーが送信種別が「メモリ演算」になっており、該当するデータテーブル７０１の値が「０」になっているので、０とする。
【００６４】
このようにサーボコントロールデータとサーボを設定するのは、駆動用デバイス５０のサーボモータが運転してるときには、その状態をしばらく維持して運転して、速度を徐々に落として安全に停止するためである。
【００６５】
次に、フレーム番号１〜９９８までのサーボ正転側トルク制限は、データコントロールテーブル７００の第五番目のエントリーが「メモリ送信」になっており、該当するデータテーブル７０１の値が「１０％」になっているので、この値が設定される。同様に、フレーム番号９９９のサーボ正転側トルク制限は、該当するデータテーブル７０１の値の「５％」が設定され、フレーム番号１０００のサーボ正転側トルク制限は、該当するデータテーブル７０１の値の「０％」が設定される。
【００６６】
これは、システムに異常がおこったときには、トルク制限を厳しくするものである。
【００６７】
サーボ逆転側トルク制限も、データコントロールテーブル７００の第六番目のエントリーにより、同様に設定される。
【００６８】
次に、図７および図８を用いて、本発明の第一の実施形態に係る制御システムコントローラの処理について説明する。
図７は、制御システムコントローラのシステムエラーに関する処理を示すフローチャートである。
図８は、送信データ生成処理を示すフローチャートである。
【００６９】
先ず、送信データメモリＡ３０１における制御処理部２０からの更新の有無を判定する（ステップＳ１０１）。
【００７０】
制御処理部２０からデータ更新がある場合には、更新周期チェック用カウンタをクリアし（ステップＳ１０６）、制御処理部２０から更新された送信データメモリＡから正常時用データを送受信データ処理部３０５へ転送する（ステップＳ１０７）。
【００７１】
制御処理部２０からデータ更新がない場合には、更新周期チェック用カウンタをインクリメントとする（ステップＳ１０２）。
【００７２】
そして、更新周期チェック用カウンタが異常しきい値を超過しているか否かを判定し（ステップＳ１０３）、超過していない場合には、ステップＳ１０１に戻る。超過している場合には、送信データ生成処理３０６が送信データ生成処理により、異常時用データを生成する（ステップＳ１０４）。送信データ生成処理は、後に詳細に説明する。
【００７３】
そして、生成したデータを送受信データ処理部３０５に転送し（ステップＳ１０５）、処理を終了する。
【００７４】
次に、図７の送信データ生成処理Ｓ１０４について詳細に説明する。。
【００７５】
送信データ生成処理Ｓ１０４は、送信データ生成処理部３０６により、図５に示されたデータコントロールテーブル７００、データテーブル７０１からシステムエラー発生後に、送信する通信フレームの送信データを生成する処理である。
【００７６】
送信データ生成処理部３０６は、送信される通信フレームの順にデータを構成していく。
【００７７】
先ず、図５（ａ）のデータコントロールテーブル７００から、該当フレーム番号における該当データの送信種別を判定し（ステップＳ２０１）、「メモリ送信」であれば、図５（ｂ）のデータテーブル７０１から該当するフレーム番号および該当データ（データオフセット、データサイズで示される）を取得し、該当位置の送信データを構成する（ステップＳ２０２）。
【００７８】
該当フレーム番号における該当データの送信種別判定（ステップＳ２０１）で、送信種別が「メモリ送信」でない場合、送信種別を判定し（ステップＳ２０６）、「減算」であれば、前回送信データと正常時最終送信データを取得し（ステップＳ２０７）、正常時最終データを図５（ａ）のデータコントロールテーブル７００にあるデータ数で除算した値を、前回送信データから減算し、算出された値を生成データとし（ステップＳ２０８）、生成データから送信データを構成する（ステップＳ２０９）。
【００７９】
該当フレーム番号における該当データの送信種別判定（ステップＳ２０６）で送信種別が「減算」でない場合は、送信種別が「保持」になるので、正常時最終データの該当位置とサイズのデータを取得し、送信データを更新する（ステップＳ２１０）。ステップＳ２０２、または、ステップＳ２０９、ステップＳ２１０実施後、一通信フレーム分の送信データを構成完了したか判定し（ステップＳ２０３）、まだ構成完了してない場合には、生成データオフセットをインクリメントし（ステップＳ２０５）、ステップＳ２０１に戻り、順次ステップＳ２０１から処理を実行する。フレーム分送信データを構成完了したか判定（ステップＳ２０３）で、完了している場合には、次に送信する通信フレームをカウントするためのフレーム番号をインクリメントする（ステップＳ２０４）。
【００８０】
そして、データコントロールテーブル７００に規定された全ての通信フレームのフレームの生成を完了したかを判定し、完了してないときには、ステップＳ２０１に戻り、順次ステップＳ２０１から処理を実行し、完了したときには、処理を終了する。
【００８１】
以上のように、本実施形態では、図５に示されたデータコントロールテーブル７００、データテーブル７０１の二つのテーブルデータを用いることにより、駆動用デバイス５０に対して、システムエラー発生から通信周期５００回分で、減速停止し、１０００回目で、モータ非通電状態となるデータを送信する。また、トルク制限値を、システムエラー発生から、１０％程度と低い値に設定することにより、万が一ワークと装置が接触した場合に、破壊せず停止することができる。
【００８２】
〔実施形態２〕
以下、本発明に係る第一の実施形態を、図９ないし図１３を用いて説明する。
【００８３】
第一の実施形態では、通信ライン１に駆動用デバイス５０が接続され、通信ライン２に入出力用デバイス５１が接続されたシステムで、通信ライン１に接続された通信処理部３０でエラーがおこったときの制御の例を説明した。
【００８４】
本実施形態では、一つの通信ライン１に駆動用デバイス５０と、周辺機器として入力用デバイス、出力用デバイスが接続されており、制御システムコントローラ内のシステムエラー発生時に周辺機器と駆動用デバイスを同期させることで、駆動用デバイスと周辺機器との干渉を回避するなど、システム全体として安全に停止することが可能な制御システムを説明する。
【００８５】
本実施形態は、モータの電磁石形成などのために、電線をワークに巻きつけて、巻線を形成し、システムの制御により電線を巻き終えると切断することのできる制御システムである。
【００８６】
先ず、図９を用いて本発明の第二の実施形態に係る制御システムの構成について説明する。
図９は、本発明の第二の実施形態に係る制御システム全体の構成図である。
【００８７】
本実施形態の制御システムは、図９に示されるように、制御システムコントローラ１０の通信ライン１に駆動用デバイス６０、出力用デバイス６１、出力用デバイス６２、入力用デバイス６３が接続されている。
【００８８】
駆動用デバイス６０は、サーボアンプとサーボモータからなるサーボ系であり、電線を巻く動力となるデバイスである。
【００８９】
出力用デバイス６１は、電線をカットするエアシリンダである。エアシリンダの先端部には、切断刃が取り付けられており、制御システムコントローラ１０からの電線切断指令により、図示しなかったが、可動部のピストンが一往復して、電線を切断するようになっている。
【００９０】
出力用デバイス６２は、インデックステーブルである。インデックステーブルは、電線の巻き位置を記憶するための装置である。
【００９１】
入力用デバイス６３は、センサである。センサは、電線の巻き取り状態を検知する。
【００９２】
また、本実施形態に係る制御システムコントローラ１０の構成は、第一の実施形態の図２で示したものと同様である。
【００９３】
次に、図１０を用いて駆動用デバイス６０の制御のモデルについて説明する。
図１０は、制御システムコントローラ１０が駆動用デバイス５０、出力用デバイス６１、出力用デバイス６２を制御するときの様子を示す図である。
【００９４】
ここで、図１０（ａ）が、制御システムコントローラ１０から駆動用デバイス６０に与える指令速度と時間の関係を表しおり、図１０（ｂ）が、出力用デバイス６１の運転状態、図１０（ｃ）が、出力用デバイス６２の運転状態を示している。
【００９５】
この制御システムは、図９に示した構成により、サーボ系である駆動用デバイス６０により、電線をワークに巻きつけ、巻きつけを完了したときに、エアシリンダ（出力デバイス６１）により電線を切断し、ワークの載っているインデックステーブル（出力デバイス６２）を回転させる巻き線システムである。
【００９６】
本実施形態でも、図９に示されるように、通信ライン１を介して駆動用デバイス６０として、サーボアンプとサーボモータが接続されており、このサーボモータの回転により、電線をワークに巻きつける。通常時は、運転パターン８００となり、システムシステムエラーが発生した場合には、減速パターン８０５に示されるように制御システムコントローラ１０から駆動用デバイス６０を通信フレームを送信する一定の回数分の送信周期がたったとき減速するように制御する。この制御は、第一の実施形態と同様の考えに基づくものである。
【００９７】
通常時のシステムの運行では、図１０（ｂ）に示されるように、エアシリンダにより電線をきる運転パターン８０１、図１０（ｃ）に示されるように、インデックステーブルを回転する運転パターン８０２となる。
【００９８】
電線を巻いている最中に、システムエラーが発生した場合（タイミング８０４）、従来技術では、システムエラー時に、周辺機器と駆動用デバイスの同期を取りながら安全に停止をすることができないため、電線を切断せずにサーボモータを停止することになり、このような場合には、電線がワークに絡まり、復旧に時間がかかってしまう可能性がある。
【００９９】
本実施形態では、システムエラー発生後、制御システムコントローラから、出力用デバイス６１（エアーシリンダ）に対して、すぐに電線切断を指令を与え（運転パターン８０６）、駆動用デバイス（サーボ系）に対して、減速指令を与えて（運転パターン８０５）、出力用デバイス６２（インデックステーブル）に対して、インデックステーブル回転指令を与える（運転パターン８０７）。このように、システムエラーが発生しても、動作をシーケンシャルに実施することができ、上述の問題を解決することができる。
【０１００】
次に、図１１ないし図１３を用いて、本発明の第二の実施形態に係る制御システムで用いられるデータ構造について説明する。
図１１は、制御システムコントローラ１０と駆動用デバイス６０、出力用デバイス６１、出力用デバイス６２、入力用デバイス６３間でやりとりされる通信フレームのフォーマットを示す図である。
図１２は、データコントロールテーブル１０００とデータテーブル１００１の一例を示す図である。
図１３は、データコントロールテーブル１０００とデータテーブル１００１より生成される通信フレームのデータ部の一例を示した図である。
【０１０１】
通信フレーム９００は、図１１（ａ）に示されるフォーマットを有し、制御システムコントローラ１０から駆動用デバイス６０、出力用デバイス６１、出力用デバイス６２に送信されるフレームである。通信フレーム９０１は、図１１（ｂ）に示されるフォーマットを有し、制御システムコントローラ１０が駆動用デバイス６０、入力用デバイス６３から受信するフレームである。
【０１０２】
通信フレーム９００は、ヘッダ、データ、ＣＲＣのフィールド構成よりなる。ヘッダと、ＣＲＣのフィールドは、第一の実施形態の図４（ａ）と同様である。
【０１０３】
通信フレーム９００のデータは、サーボコントロールデータ、サーボ速度指令、エアシリンダ制御情報、インデックステーブル制御情報のフィールド構成よりなる。
【０１０４】
サーボコントロールデータは、サーボ系である駆動用デバイス６０に与える指令を示すデータである。例えば、値が１のとき、サーボモータ通電、値が０のとき、サーボモータ非通電とする。
【０１０５】
サーボ速度指令は、サーボモータの速度を指定する。
【０１０６】
なお、ここでは、第一の実施形態のように、サーボ正転側トルク制限とサーボ逆転側トルク制限のフィールドはないが、これらをデータの領域に含めることも可能である。
【０１０７】
エアシリンダ制御情報は、出力用デバイス６１のエアシリンダに与える指令を示すデータであり、例えば、値が１のとき、電線切断、値が０のとき、指令なしとする。
【０１０８】
インデックステーブル制御情報は、出力用デバイス６２のインデックステーブルに与える指令を示すデータであり、例えば、値が１のとき、インデックステーブル回転、値が０のとき、指令なしとする。
【０１０９】
通信フレーム９０１は、ヘッダ、データ、ＣＲＣのフィールド構成よりなる。ヘッダと、ＣＲＣの意味は、通信フレーム９００と同様である。
【０１１０】
通信フレーム９０１のデータは、サーボスーテタスデータ、サーボ現在速度、サーボ現在位置、センサ入力情報のフィールド構成よりなる。
【０１１１】
サーボスーテタスデータは、サーボ系である駆動用デバイス６０の現在の状態を示すデータである。
【０１１２】
サーボ現在速度指令は、サーボモータの現在の速度を示すデータである。
【０１１３】
サーボ現在位置は、サーボモータの現在の位置を示すデータである。
【０１１４】
センサ入力情報は、巻き線の巻き取り状態をセンサで検知した情報を示すデータである。
【０１１５】
データコントロールテーブル１０００と、データテーブル１００１は、図２に示された送信データメモリＢ３０２に予め設定されているテーブルであり、システムエラー発生したときには、送信データ生成処理部は、この両者を組み合わせて、通信フレームのデータを生成することは、第一の実施形態と同様である。
【０１１６】
データコントロールテーブル１０００は、通信フレームを作成するときの制御の仕方を表すテーブルであり、図１２（ａ）に示されるように、開始フレーム番号、終了フレーム番号、データオフセット、データサイズ、送信種別、データ数のフィールド構成よりなることは、第一の実施形態の図５（ａ）で示したデータコントロールテーブル７００と同様であり、各フィールドの意味も同様である。
【０１１７】
データテーブル１００１は、通信フレームを作成するときのデータの元になるテーブルであり、図１２（ｂ）に示されるように、フレーム番号、送信データオフセット［０］〜［７］のフィールド構成よりなることは、第一の実施形態の図５（ｂ）で示したデータテーブル１００１と同様であり、各フィールドの意味も同様である。
【０１１８】
次に、図１３を用いて、データコントロールテーブル１０００とデータテーブル１００１より生成される通信フレームのデータ部の具体例について説明する。
【０１１９】
ここで、本実施形態の制御システムは、システムエラー時に定速度で駆動用デバイス５０のサーボモータが運転しているものとし、システムエラー発生前の正常時の最終送信フレームのデータの値は、サーボコントロールデータが「モータ通電（１）」、サーボ速度指令が「５００ｒｐｍ」であるとする。
【０１２０】
フレーム番号１〜５５０までのサーボコントロールデータは、データコントロールテーブル１０００の第一番目のエントリーが「保持」になっており、システムエラー発生前の正常時の最終送信フレームのサーボコントロールデータが「モータ通電（１）」になっているので、生成する通信フレームのサーボコントロールデータは、この値が格納される。
【０１２１】
そして、フレーム番号５５１〜１０００のサーボコントロールデータは、データコントロールテーブル１０００の第二番目のエントリーの送信種別が「メモリ送信」になっているので、該当するデータテーブルの値により「モータ非通電（０）」となる。
【０１２２】
次に、フレーム番号１〜５００までのサーボ速度指令としては、データコントロールテーブル１０００の第三番目のエントリーが送信種別が「減算」、データ数「５００」になっており、システムエラー発生前の正常時の最終送信フレームのサーボ速度指令が「５００ｒｐｍ」になっているので、システムエラー発生前の正常時の最終送信フレームのサーボ速度指令の速度から、一定の値を順次引いた速度を、生成する通信フレームのサーボ速度指令に格納する。
【０１２３】
具体的には、上述の（式１）によって、サーボ速度指令を計算し、第一の実施形態と同様に、フレーム番号１のサーボ速度指令は「４９９」、フレーム番号２のサーボ速度指令は「４９８」、…、フレーム番号４９９のサーボ速度指令は「１」、フレーム番号５００のサーボ速度指令は「０」となる。このサーボ速度指令の値は、図１０に示した減速パターン８０５に対応するものである。
【０１２４】
これ以降のフレーム番号５０１〜１０００までのサーボ速度指令としては、データコントロールテーブル７００の第四番目のエントリーが送信種別が「メモリ演算」になっており、該当するデータテーブル７０１の値が「０」になっているので、０とする。
【０１２５】
本実施形態では、サーボ速度指令「０」を与えた後の５０フレーム後にモータ非通電指令が与えられるようにしている。
【０１２６】
次に、フレーム番号１〜１０００までのエアシリンダ制御情報としては、データコントロールテーブル１０００の第五番目のエントリーの送信種別が「メモリ送信」になっているので、該当するデータテーブルの値のフレーム番号１〜３の値により「電線切断」の指令がエアシリンダに送られる。これは、システムエラーが起こったときには、電線の巻き取りの異常をできるだけ防止するために、すぐに巻き線を切断することを意味する。
【０１２７】
次に、フレーム番号１〜１０００までのインデックステーブル制御情報としては、データコントロールテーブル１０００の第六番目のエントリーの送信種別が「メモリ送信」になっているので、該当するデータテーブルの値のフレーム番号５５０〜５５２の値により「インデックステーブル回転」の指令がインデックステーブルに送られる。これは、モータが非通電にしたときの最終的な電線の巻き位置を記憶するためである。
【０１２８】
なお、本発明の第二の実施形態に係る制御システムコントローラの処理は、図７および図８により説明した第一の実施形態に係る制御システムコントローラの処理と同様である。
【０１２９】
上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、ＳＳＤ(Solid State Drive)等の記憶装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０１３０】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【０１３１】
１０…制御システムコントローラ
２０…制御処理部
３０，４０…通信制御部
３０１，４０１…送信データメモリＡ
３０２，４０２…送信データメモリＢ
３０３，４０３…受信データメモリ
３０４，４０４…異常検出処理部
３０５，４０５…送受信処理部
３０６，４０６…送信データ生成処理部。
【図１】
0005498363.tif 000002
【図２】
0005498363.tif 000003
【図３】
0005498363.tif 000004
【図４】
0005498363.tif 000005
【図５】
0005498363.tif 000006
【図６】
0005498363.tif 000007
【図７】
0005498363.tif 000008
【図８】
0005498363.tif 000009
【図９】
0005498363.tif 000010
【図１０】
0005498363.tif 000011
【図１１】
0005498363.tif 000012
【図１２】
0005498363.tif 000013
【図１３】
0005498363.tif 000014