(57)【特許請求の範囲】
【請求項１】
出力情報、内部情報、制御対象の状態を示す入力情報を有するデバイス情報が格納されるデバイスメモリと、上記デバイス情報の格納エリアを示す変数が記述されているシーケンスプログラムを格納する制御メモリと、を有し、上記入力情報を更新する動作と、上記シーケンスプログラムにもとづき上記出力情報または上記内部情報を更新する動作と、を繰返し、上記出力情報を介して上記制御対象を制御するシーケンス制御部と、
上記デバイスメモリにアクセスすることができ、上記シーケンス制御部からの指令にもとづき位置決め制御プログラムを実行し所定の位置指令を出力するとともに、複数の出力装置に対応してそれぞれ上記デバイス情報および範囲情報が予め設定される比較処理テーブルメモリを有し、上記デバイス情報の値が、その範囲情報により示される範囲内にあるか否かを判定し、この判定結果を上記出力装置に出力する処理を、上記比較処理テーブルメモリを参照して複数の上記出力装置について行う位置決め制御部と、
所定のモータを上記位置指令にもとづき上記判定結果により始動させるサーボ駆動制御を行うサーボ制御部と、を備えたサーボシステムコントローラ。
【請求項２】
位置決め制御プログラムの実行周期毎に、デバイス情報の値が対応する範囲情報により示される範囲内にあるか否かを判定し、その判定結果を出力装置に出力する処埋を複数の上記出力装置について行う、ことを特徴とする請求項１記載のサーボシステムコントローラ。
【請求項３】
デバイスメモリに範囲情報を格納するエリアが設けられ、シーケンス制御部は上記範囲情報を格納するエリアを示す変数が記述されているシーケンスプログラムを実行し、位置決め制御部は位置決め制御プログラムの実行時に範囲情報をこのエリアから得ることを特徴とする請求項１または請求項２のいずれかに記載のサーボシステムコントローラ。
【請求項４】
１つの出力装置に対して複数の範囲情報が予め設定され、対応するデバイス情報の値が上記複数の範囲情報により示される範囲内にあるか否かが判定されることを特徴とする請求項１に記載のサーボシステムコントローラ。
【請求項５】
１つの出力装置に対して複数の範囲情報が予め設定され、対応するデバイス情報の値が上記複数の範囲情報により示される範囲内にあるか否かが判定されることを特徴とする請求項２に記載のサーボシステムコントローラ。
【請求項６】
１つの出力装置に対して複数の範囲情報が予め設定され、対応するデバイス情報の値が上記複数の範囲情報により示される範囲内にあるか否かが判定されることを特微とする請求項３に記載のサーボシステムコントローラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、シーケンスプログラムを繰返し実行するシーケンス制御部と、このシーケンス制御部からの指令にもとづきサーボモータの位置決め指令を作成する位置決め制御部と、を備えたサーボシステムコントローラに関する。
【０００２】
【従来の技術】
図１４は、従来のサーボシステムコントローラのブロック図である。図において、１００はサーボシステムコントローラ本体である。このサーボシステムコントローラ本体１００はシーケンス制御部２と位置決め制御部３００とを有している。
図に示されるように、シーケンス制御部２は、シーケンス制御用ＣＰＵ４、制御メモリ５、入出力インタフェース６、周辺装置用インタフェース７、および、デバイスメモリ、例えば、コモンメモリ４１から構成されている。
制御メモリ５にはシーケンス制御部２のＣＰＵ４により実行されるシーケンスプログラムおよびシステムプログラムが格納されている。
入出力インタフェース６には、制御対象の入力ユニット８、および、出力ユニット９が接続されている。
入力ユニット８を介して入力された制御対象（図示せず）からの入力情報と、内部情報と、制御対象への出力情報と、がコモンメモリ４１に格納されており、入力情報はシーケンスプログラムが実行される毎に更新される。一方、シーケンスプログラムにはコモンメモリ４１における入力情報、内部情報、および、出力情報の格納エリアを示すデバイス名、レジスタ番号等の変数が記述されており、シーケンスプログラムを繰返し実行することにより、コモンメモリ４１内の内部情報、および、出力情報を更新し、出力情報にもとづき出力ユニット９を作動させ制御対象を制御する。
【０００３】
図１４に示されるように位置決め制御部３００は、位置決め用ＣＰＵ１０、制御メモリ１１、位置決め制御プログラムメモリ１２、領域信号パラメータメモリ３８、サーボインタフェース１５、および、領城信号出力インタフェース３９から構成されている。
制御メモリ１１には、位置決め制御部３００のＣＰＵ１０により実行されるシステムプログラムが格納されている。
サーボインタフェース１５には、サーボモータ（図示せず）の駆動制御を行うサーボ制御部２０が接続されている。
領域信号出力インタフェース３９には、領域信号出力ユニット４０が接統されている。この領域信号出力ユニット４０からサーボモータの現在位置に応じて変化する領域信号が外部に出力される，なお、サーボモータがホールねじを介してテーブルを駆動している場合は、サーボモータの現在位置はテーブルの現在位置を示している。
【０００４】
シーケンスプログラム、位置決め制御プログラム、領域信号出力パターンは、周辺装置により周辺インタフェース７を介して、それぞれ、制御メモリ５、位置決め制御プログラムメモリ１２、領域信号パラメータメモリ３８に書き込まれる。
【０００５】
シーケンス制御部２のコモンメモリ４１は、デユアルポートメモリ、または、双方向メモリとも呼ばれるメモリであり、シーケンス制御部２のシーケンス制御用ＣＰＵ４からも、位置決め制御部３００の位置決め制御用ＣＰＵ１０からもアクセスすることができる。
【０００６】
図１５はコモンメモリ４１のメモリ構成の一部を示す図である。図において、４１ａはデバイス情報が格納されるエリア、４１ｂは起動情報が格納されるエリア、４１ｃはモニタ情報が格納されるエリアである。
【０００７】
次に、図１４に示す従来のサーボシステムコントローラ本体１００の動作について説明する。
シーケンス制御部２は、シーケンスプログラムの実行により所定のデバイス情報をコモンメモリ４１のエリア４１ａに書き込むとともに、所定の起動情報をコモンメモリ４１のエリア４１ｂに書き込む。
【０００８】
位置決め制御部３００は、コモンメモリ４１のエリア４１ｂを監視し、所定の起動情報が書き込まれていると、エリア４１ａからデバイス情報を読み取り、このデバイス情報により指定される位置決め制御プログラムメモリ１２内の位置決め制御プログラムを実行する。この位置決め制御プログラムの実行により、サーボインタフェース１５を介して、サーボ制御部２０に所定の位置指令を送る。サーボ制御部２０はこの位置指令にもとづきサーボモータの駆動制御を行う。
【０００９】
位置決め制御部３００は、領域信号パラメータメモリ３８に格納されている領域信号出力パターンとサーボモータの現在位置とを比較し、サーボモータの現在位置が領域信号出力パターンのＯＮ出力範囲にある間は、領域信号出力インタフェース３９を介して、領域信号出力ユニット４０から外部に出力される領域信号をＯＮ状態（アクチブ状態）にする。
【００１０】
また、位置決め制御部３００は、サーボ制御部２０に与える指令位置、サーボモータの現在位置、偏差カウンタ値、電流値、回転数などのサーボ制御情報、エラー情報などを、位置決め動作中に随時コモンメモリ４１のモニタエリア４１ｃに格納する。
位置決め制御部３００は、位置決めが完了すると、コモンメモリ４１のエリア４１ｃに位置決めが完了したことを示す情報を格納する。
【００１１】
上述のように、領域信号出力パターンは、予め周辺装置により領域信号パラメータメモリ３８に書き込まれている。この領域信号パラメータメモリ３８に書き込まれている領域信号出力パターンと、比較データとしてのサーボモータの現在位置と、が比較され、その比較結果が領域信号として領域信号出力ユニット４０から外部に出力される。
【００１２】
上述のような従来のサーボステムコントローラにおいては、以下の（１）〜（５）のような問題点があった。
（１）上述のように、通常はサーボモータの現在位置を比較データとして領域信号を生成しているが、他のサーボ制御情報を比較データとして領域信号を生成する場合においては、他のサーボ制御情報と比較データとを比較する比較処理プログラムが記述されているシーケンスプログラムを用意し、このシーケンスプログラムをスキャン実行することにより領域信号を生成していた。
シーケンスプログラムは位置決め制御部の演算周期とは非同期に実行されるので、このような場合において、サーボ制御情報が所定値に達したことが検出されてからサーボ出力が変化するまでの時間（応答時間）が長く、応答時間のばらつきが大きかった。このため、システムのタクトタイムが長く、加工精度も阻害されていた。タクトタイムの短縮を図る目的で加工速度を上げた場合には、この影響が著しく、応答時間の短縮化、または、応答時間の一定化を図るには、シーケンスプログラムの実行時間を短縮する必要があった。このため、高性能なＣＰＵが必要になり、製造コストが上昇するという問題点があった。
【００１３】
（２）シーケンスプログラムに記述されているデバイス名（変数）、および、レジスタ番号により指定されるデバイスメモリの内容を比較データとして領域信号出力を生成する場合にも、比較処理プログラムが記述されているシーケンスプログラムをスキャン実行することにより生成していた。従って、この場合も、上述の場合と同様に、応答時間の短縮化、または、応答時間の一定化を図るには、シーケンスプログラムの実行時間を短縮する必要があった。このため、高性能なＣＰＵが必要になり、製造コストが上昇するという問題点があった。
【００１４】
（３）領域信号出力ユニットのために用意されている出力点のうち未使用のものがあっても、これらの出力点はいずれも位置決め制御プログラムにもとづき出力される領域信号専用になっているため、シーケンスプログラムにより指定できるデバイス用として使用することができないという問題点があった。
【００１５】
（４）領域信号出力パターンは、予め周辺装置により入力され、領域信号パラメータメモリ３８に書き込まれるように構成されており、領域信号出力パターンを変更するには、同様に、周辺装置を介して領域信号パラメータメモリ３８に書き込まなければならなかった。
【００１６】
（５）上述のように、領域信号出力パターンは周辺装置により入力され、領域信号パラメータメモリ３８に書込まれるように構成されていたが、ＯＮ出力範囲の数を任意に設定することができないという問題点があった。
【００１７】
【発明が解決しようとする課題】
この発明は、上述の問題点を解消するためになされたもので、サーボモータの現在位置を比較データとする場合に限らず、他のサーボ制御情報、または、シーケンスプログラムに記述されているデバイス名（変数）およびレジスタ番号により指定されるデバイスメモリのアドレスの内容を比較データとして領域信号を生成する場合においても、大幅なコスト高を招くことなく、応答時間が短縮されタクトタイムが短縮化されるとともに、加工精度を向上できるサーボシステムコントローラを得ることを目的とする。
【００１８】
また、領域信号を出力する出力ユニットを任意に選択できるサーボシステムコントローラを得ることを目的とする。
【００１９】
また、ＯＮ出力範囲の数を任意に設定できるサーボシステムコントローラを得ることを目的とする。
【００２０】
【課題を解決するための手段及び効果】
この発明に係るサーボシステムコントローラにおいては、出力情報、内部情報、制御対象の状態を示す入力情報、などの情報を有するデバイス情報が格納されるデバイスメモリと、デバイス情報の格納エリアを示す変数が記述されているシーケンスプログラムが格納される制御メモリと、を有するシーケンス制御部は、入力情報を更新する動作とシーケンスプログラムにもとづき出力情報または内部情報を更新する動作とを繰返し、出力情報を介して制御対象を制御し、位置決め制御部は、デバイスメモリにアクセスすることができ、シーケンス制御部からの指令にもとづき位置決め制御プログラムを実行し所定の位置指令を出力するとともに、複数の出力装置に対応してそれぞれデバイス情報および範囲情報が予め設定される比較処理テーブルメモリを有し、デバイス情報の値が、その範囲情報により示される範囲内にあるが否かを判定し、この判定結果を出力装置に出力する処理を、比較処理テーブルメモリを参照して、複数の出力装置について行い、サーボ制御部が、所定のモータを上記位置指令にもとづき上記判定結果により始動させるサーボ駆動制御を行うようにしたので、デバイス情報の値が、その範囲情報により示される範囲内にあるか否かを判定し、この判定結果を出力装置に出力する処理を、複数の出力装置について行う場合において、その処理が位置決め制御部側で行うことができ、判定処理時間の増大化やばらつきが防止され、これを加工装置に適用すれば、コストが大幅に増加することなしにタクトタイムを短縮することができる効果がある。また、判定処理時間の増大化やばらつきが加工精度に影響する場合においては、加工精度の低下を防止できる効果もある。
【００２１】
また、位置決め制御プログラムの実行周期毎に、デバイス情報の値が対応する範囲情報により示される範囲内にあるか否かを判定し、その判定結果を出力装置に出力する処理を複数の出力装置について行うようにしたので、デバイス情報の値が、その範囲情報により示される範囲内にあるか否かを判定し、この判定結果を出力装置に出力する処理を、複数の出力装置について行う場合において、その処理が位置決め制御部側で容易に行うことができ、判定処理時間の増大化やばらつきがより確実に防止され、これを加工装置に適用すれば、コストが大幅に増加することなしにタクトタイムを短縮することができる効果がある。また、判定処理時間の増大化やばらつきが加工精度に影響する場合においては、加工精度の低下を、より一層、防止できる効果もある。
【００２２】
また、デバイスメモリに範囲情報を格納するエリアが設けられ、シーケンス制御部はこのエリアを示す変数が記述されているシーケンスプログラムを実行し、位置決め制御部は位置決め制御プログラムの実行時に範囲情報をこのエリアから得るようにしたので、シーケンスプログラムにより範囲情報を容易に変更できる効果がある。
【００２３】
また、１つの出力装置に対して複数の範囲情報が予め設定され、対応するデバイス情報の値が複数の範囲情報により示される範囲内にあるか否かが判定されるようにしたので、１つの出力装置に対応して複数の範囲情報がある場合にも対応できる効果がある。
【００２４】
【発明の実施の形態】
実施の形態１．
［サーボシステムコントローラの構成］
図１は、この発明の実施の形態１によるサーボシステムコントローラ（以下、ＳＳＣ）のブロック構成図である。
この図１において、１はサーボシステムコントローラ本体である。このサーボシステムコントローラ本体１の位置決め制御部３において、１３は検出信号パラメータメモリ、１４は比較処理テーブルメモリ、１７は制御対象の入力ユニット、１８は出力ユニット、１６は入力ユニット１７および出力ユニット１８の入出力インタフェース、１９は制御周期クロック発生部である。
位置決め制御用ＣＰＵ１０、制御メモリ１１、位置決め制御プログラムメモリ１２、コモンメモリ４１、および、サーボインタフェース１５は、図１４に示す従来装置におけるものと同様である。この図１の位置決め制御部３には、図１４における領域信号出力ユニット４０のインタフェースである領域信号出力インタフェース３９、および、領域信号パラメータメモリ３８は設けられていない。
【００２５】
制御周期クロック発生部１９は、制御周期クロック信号を発生する。この制御周期クロック信号はサーボインタフェース１５に入力される。サーボインタフェース１５は、制御周期クロック信号の立下がりエッジで割込み信号（制御周期信号）を発生する。位置決め制御用ＣＰＵ１０はこの割込み信号によりサーボ制御データのリードライト処理を行う。なお、サーボ制御データとしては、サーボモータの現在位置、サーボモータの速度、サーボモータの電流値、サーボモータの位置指令、サーボ制御部２０内のアラーム信号などがある。
【００２６】
シーケンス制御部２は、図１４に示す従来装置と同様に、シーケンス制御用ＣＰＵ４、制御メモリ５、入出力インタフェース６、コモンメモリ４１、および、周辺装置用インタフェース７から構成されている。
コモンメモリ４１は、従来装置と同様に、シーケンス制御部２のシーケンス制御用ＣＰＵ４からも、位置決め制御部３の位置決め制御用ＣＰＵ１０からもアクセスすることができる。
【００２７】
［位置決め制御部３の検出パラメータメモリ、比較処理テーブルメモリ、および、位置決め制御プログラムメモリに格納される情報］
図２は、検出信号パラメータメモリ１３の一例のメモリ構成を示す図である。
図において、２１は検出信号パラメータメモリ１３内における検出信号パラメータを格納するエリアである。図に示されるように、エリア２１は、エリア２２、エリア２３ｌ、…、エリア２３nから構成されている。
エリア２２には検出範囲の設定数が格納される。エリア２３1には検出範囲情報１が格納され、エリア２３nには検出範囲情報ｎが格納される。
エリア２３1〜エリア２３nにおいて、ｋ（ｋ＝１、２、・・・、ｎ）番目のエリア２３kは、出力信号のデバイス名を格納するエリア２３kaと、比較データとするサーボ制御情報名、または、デバイス名を格納するエリア２３kbと、検出範囲の開始点となる出力ＯＮデータ値を格納するエリア２３kcと、検出範囲の終了点となる出力ＯＦＦデータ値を格納するエリア２３kdと、から構成されている。
【００２８】
図３は、比較処理テーブルメモリ１４のメモリ構成の一例を示す図である。図において、２４は比較処理テーブルメモリ１４内における比較処理テーブルを格納するエリアである。
図に示されるように、このエリア２４は、出力テーブルを格納するエリア２５と、参照データテーブルを格納するエリア２６と、インデックス情報を格納するエリア２７と、から構成されている。
【００２９】
エリア２５は、出力信号情報数を格納するエリア２８と、エリア２９1（出力信号情報１が格納されるエリア）〜エリア２９n（出力信号情報ｎが格納されるエリア）とを有している。
エリア２９1〜エリア２９nにおいて、ｋ（ｋ＝１、２、・・・、ｎ）番目のエリア２９kは、出力信号のデバイス名を格納するエリア２９kaと、出力信号のＯＮ、または、ＯＦＦ情報イメージを格納するエリア２９kbと、から構成されている。
【００３０】
図２のエリア２３1a〜エリア２３naに同じ出力信号が重複して設定されていても、このエリア２５に重複して設定されることはなく、１つだけが設定される。
エリア２６は、参照データ情報数を格納するエリア３０と、エリア３１1（参照データ情報１が格納されるエリア）〜エリア３１ｎ（参照データ情報ｎが格納されるエリア）とを有している。
エリア３１1〜エリア３１nにおいて、ｋ（ｋ＝１、２、・・・、ｎ）番目のエリア３１kは、参照データアドレスを格納するエリア３１kaと、参照値データを格納するエリア３１kbと、から構成されている。
エリア２５の場合と同様に、エリア２６の場合においても、エリア２３1b〜エリア２３nb、エリア２３1c〜エリア２３nc、エリア２３1d〜エリア２３ndに重複して同じデバイスが設定されていても、重複して設定されることはなく、１つだけが設定される。
【００３１】
エリア２７には、エリア２５に格納されている情報と、エリア２６に格納されている情報と、の対応関係を示す情報が格納されている。このエリア２７は、インデックス情報数を格納するエリア３２と、エリア３３1（インデックス情報１が格納されるエリア）〜エリア３３n（インデックス情報ｎが格納されるエリア）とを有している。
エリア３３1〜エリア３３nにおいて、ｋ（ｋ＝１、２、・・・、ｎ）番目のエリア３３kは、参照データテーブルが格納されているエリア２６のどのデータが比較データに対応するかを示す比較データインデックスｋを格納するエリア３３kaと、エリア２６のどのデータが出力ＯＮ値データに対応するかを示す出力ＯＮ値インデックスを格納するエリア３３kbと、エリア２６のどのデータが出力ＯＦＦ値データに対応するかを示す出力ＯＦＦ値インデックスｋを格納するエリア３３kcと、出力信号テーブルが格納されているエリア２５のどのデータが出力信号に対応するかを示す出力信号インデックスｋを格納するエリア３３kdと、から構成されている。
【００３２】
図４は、位置決め制御プログラムメモリ１２の一例のメモリ構成を示す図である。図において、３４は位置決め制御プログラムメモリ１２内におけるサーボパラメータを格納するエリア、３５は位置決め制御プログラムを格納するエリアである。
エリア３４は、エリア３６1（１軸のサーボパラメータが格納されるエリア）〜エリア３６n（ｎ軸のサーボパラメータが格納されるエリア）を有している。
エリア３６k（ｋ＝１、２、・・・、ｎ）には、ｋ軸におけるサーボパラメータとして、単位系、サーボアンプのタイプ、サーボモータのタイプ、等が格納される。
エリア３５は、エリア３７1（プログラム番号１の位置決め制御プログラムが格納されるエリア）〜エリア３７n（プログラム番号ｎの位置決め制御プログラムが格納されるエリア）を有している。
エリア３７k（ｋ＝１、２、・・・、ｎ）には、プログラム番号ｋの位置決め制御プログラムとして、原点復帰、複数軸の補間制御、速度制御、位置追従制御、等を行う位置決め制御プログラムが格納される。
【００３３】
［位置決め制御部の動作］
次に、位置決め制御部３の全体の動作について、図５のタイミングチャートにより説明する。
図において、（ａ）は、制御周期クロック発生部１９からサーボインタフェース１５に入力される制御周期クロックの波形を示している。
（ｂ）は、サーボ制御データ通信タイミング、すなわち、サーボインタフェース１５とサーボ制御部２０との間でサーボ制御データの送受信を行うタイミングを示している。
Ｂａ、Ｂｂ、Ｂｃは、それぞれ、制御周期クロックの立ち上がりエッジで開始されるサーボ制御データ通信（サーボ制御部２０とサーボインタフェース１５との間の送受信）を示している。
（ｃ）は、サーボインタフェース４から位置決め制御用ＣＰＵ１０に入力される制御周期信号を示し、Ｃａ、Ｃｂ、Ｃｃはこの制御周期信号の立ち上がりエッジを示している。この制御周期信号は制御周期クロックの立下がりのタイミングで立ち上がり、位置決め制御用ＣＰＵ１０の割込み信号となる。
（ｄ）は、サーボ制御データのリード／ライト処理を示している。この処理により、位置決め制御用ＣＰＵ１０とサーボインタフェース１５との間で、サーボ制御データが授受される。
Ｄａ、Ｄｂ、Ｄｃは、それぞれ、サーボ制御データのリード／ライトを行う処理を示している。これらの処理は、それぞれは、エッジＣａ、Ｃｂ、Ｃｃで開始される。
（ｅ）は、位置決め制御における加減速演算、複数軸の補間演算、等を行う演算処理を示している。Ｅａ、Ｅｂ、Ｅｃはそれぞれ演算処理である。
演算処理Ｅａ、Ｅｂ、Ｅｃは、リアルタイムタスクとして、それぞれ、サーボ制御データリード／ライト処理Ｄａ、Ｄｂ、Ｄｃの終了時に起動される。
これらの演算処理においては、参照データの取り込み、比較データと出力ＯＮ値との比較、および、比較データと出力ＯＦＦ値との比較、出力信号イメージのセット、出力信号の出力なども行われる。
（ｆ）は、リアルタイム処理を必要とする上述のような位置決め制御処理よりも優先順位の低い一般データ処理を示している。このような処理としては、モニタデータをコモンメモリ４１にセットする処理、コモンメモリ４１を介しての周辺装置と位置決め制御部との間の情報交換処理などがある。
Ｆａ、Ｆｂは、それぞれ、この一般データ処理を示している。これらの一般データ処理は、それぞれ、次のリアルタイム処理を開始するタイミング（制御周期信号の立ち上がりのタイミング）までに終了する。
【００３４】
［シーケンス制御部の動作］
次に、シーケンス制御部２の動作について説明する。従来装置と同様に、位置決め制御部３は、コモンメモリ４１のデバイス情報を参照することにより、シーケンス制御部２における演算結果等を位置決め制御に使用することができるが、この発明の実施の形態１における位置決め制御部３においては、さらに、シーケンス制御部３によりコモンメモリ４１の所定のエリアに書き込まれた情報を入出力インタフェース１６を介して出力ユニットに伝えるとともに、入出力インダフェース１６を介して入力ユニット１７から送られてきた情報をコモンメモリ４１の所定のエリアに書き込むように構成されているので、シーケンス制御部２は、コモンメモリ４１の所定のエリアをアクセスすることにより、サーボモータの現在位置、サーボモータの速度などのサーボ制御データの他に、位置決め制御部３に入力される別の情報をモニタすることができるとともに、位置決め制御部３に接続されている別の出力ユニットを介して制御対象を制御することができる。
【００３５】
［位置決め制御部の詳細動作］
次に、位置決め制御部３の動作について、一例の領域信号出力処理を伴う場合を例にとり詳細に説明する。位置決め制御プログラムはコモンメモリ４１を介して周辺装置から位置決め制御プログラムメモリ１２に予め格納されており、同様に、検出信号パラメータはコモンメモリ４１を介して周辺装置から検出信号パラメータメモリ１３に予め格納されている。
図６は、位置決め制御プログラムメモリ１２に格納されている一例の位置決め制御プログラムを示す図である。
図において、Ｋ１００はプログラム番号１００の位置決め制御プログラムである。この位置決め制御プログラムは、図４に示す位置決め制御プログラムメモリ１２のエリア３５において、プログラム番号が１００の位置決め制御プログラムの格納エリアであるエリア３７100に格納される。
【００３６】
この位置決め制御プログラムＫ１００は、アブソリュート方式で軸１と軸２とを直線補間制御する位置決め制御プログラムであり、軸１がアドレス１００００に、軸２がアドレス２００００にそれぞれ位置決めされるように、合成速度１００で２軸直線補間を行う位置決め制御プログラムである。
【００３７】
図７は、図２の検出信号パラメータが格納されるエリア２１において、ｎ＝５とした場合の設定例を示す説明図である。図に示されるように、エリア２２には検出範囲数として５が格納されている。
図７において、検出範囲情報ｋ（ｋ＝１〜５）は、“比較データ”が、“出力ＯＮデータ値”以上“出力ＯＦＦデータ値”未満、の範囲内にある間、出力信号をＯＮにすることを示している。
ＰＹ０は、位置決め制御部３に接続されている出力ユニット１８の出力信号を示すデバイスの変数名であり、Ｐを付加することにより、シーケンス制御部２に接続されている出力ユニット９の出力信号を示すデバイスの変数名Ｙ０と区別するようにしている。
検出範囲情報１は、１軸サーボモータ回転数が、１００以上２００未満、の範囲内にある間、ＰＹ０をＯＮにすることを示している。
検出範囲情報２は、１軸サーボモータ回転数が、Ｄ０の値以上Ｄ１の値未満、の範囲内にある間、ＰＹ０をＯＮにすることを示している。
ＰＹ０は、検出範囲情報１と検出範囲情報２の論理和条件でＯＮになる。Ｄ０、Ｄ１は、シーケンス制御に使用されるデータレジスタデバイスである。このＤ０、Ｄ１は、コモンメモリ４１に格納されているため、位置決め制御部３からも読み書きができる。
検出範囲情報３は、Ｄ１００が、−１００以上−１０未満、の範囲内にある間、Ｙ１００をＯＮにすることを示している。
検出範囲情報４は、２軸サーボモータ電流が、５０以上５５未満、の範囲内にある間、Ｙ１００をＯＮにすることを示している。
検出範囲情報５は、Ｗ３００が、Ｄ１の値以上Ｄ２の値未満、の範囲内にある間、Ｍ２００をＯＮにすることを示している。
Ｗ３００、Ｍ２００は、それぞれ、シーケンス制御に使用されるリンクレジスタデバイス、内部リレーデバイスである。Ｗ３００、Ｍ２００は、コモンメモリ４１に格納されているため、位置決め制御部３からも読み書きができる。
【００３８】
図８は、図２の検出信号パラメータ２１が図７に示すように設定された場合における図３の比較処理テーブル１４の設定例を示す説明図である。なお、この比較処理テーブル１４は、サーボシステムコトローラの電源ＯＮ時、または、リセット時、におけるイニシャル処理において、検出信号パラメータ２１を参照して設定される。
【００３９】
比較処理テーブル１４のエリア２８には、図７に示される出力信号のうち、重複分を除いた数が格納される。この例では、検出範囲情報１の出力信号ＰＹ０と検出範囲情報２の出力信号ＰＹ０とが重複しているので、図８に示すように、図３のエリア２８には、出力信号情報数として４が格納されている。
出力信号情報１〜出力信号情報４における出力信号名が格納される図３のエリア２９1b〜エリア２９4bにおいても、図７に示される出力信号のうち、重複分を除いた出力信号名が格納される。出力イメーシが格納される図３のエリア２９1b〜２９4bには、イニシャル処理時において０が格納される。
【００４０】
参照情報数は、図７において、比較データ、出力ＯＮデータ値、出力データ値のうち、重複分を除いた数が格納される。この例では、検出情報１の比較データと、検出信号２の比較データとが重複し、検出信号２の出力ＯＦＦデータ値と検出範囲情報５の出力ＯＮデータ値とが重複しているので、図８に示すように、図３のエリア３０には参照データ情報として１３が格納されている。
図３の参照データ情報１〜参照データ情報１３における参照データアドレスが格納されるエリア３１1a〜３１13aにおいては、図８に示すように、定数の場合は定数であることを示す情報が格納され、定数以外の場合には、その格納エリアのメモリアドレスが格納される。
図３の参照データ値１〜参照データ値１３が格納されるエリア３１1b〜３１13bには、図８に示すように、定数値の場合は、その値が格納され、定数値以外の場合は０が格納される。
【００４１】
図３のインデックス情報数が格納されるエリア３２には、図２のエリア２２の内容（エリア２２の内容は、図７に示されている）と同一の値が格納され、この例では図８に示すように５が格納される。
図３のインデックス情報１〜インデックス情報５が格納されるエリア３３1〜エリア３５5には、図２に示される検出範囲情報１〜検出範囲情報５内のそれぞれの情報（これらは、図７に示されている）が、図３の参照データ情報１〜参照データ情報１３の行番を示す１〜１３と、出力信号情報１〜出力信号情報４の行番を示す１〜４と、に置き換えられて、図８に示すように格納されている。
【００４２】
シーケンス制御部２は、シーケンスプログラムの実行によりデバイス情報の値をコモンメモリ４１のエリア４１ａに書き込むとともに、所定の起動情報をエリア４１ｂに書込むので、位置決め制御部３は、図５（ｅ）の符号Ｅｂに示す演算処理において、コモンメモリ４１のエリア４１ｂを監視し、所定の起動情報が書き込まれていれば、エリア４１ａからデバイス情報の値を読みとる。
この情報が位置決め制御プログラム１００を起動する情報であった場合には、位置決め制御プログラムメモリ１２に格納されているプログラム番号１００の位置決め制御プログラムを実行し、サーボインタフェース１５を介して、サーボ制御部２０に位置指令を送る。
【００４３】
上述のように、図６に示すＫ１００は、アブソリュート方式の２軸直線補間制御のプログラムであり、合成速度１００で軸１をアドレス１００００に、軸２をアドレス２００００に、それぞれ位置決めするプログラムなので、各軸の速度の算出処理、加減速処理などの演算を行い、演算結果を図５（ｄ）のＤｃで示されるサーボ制御リード／ライト処理でサーボインタフェース１５に書き込む。
サーボインタフェース１５は、図５（ｂ）のＢｃで、位置決め制御用ＣＰＵ１０の処理とは独立して、サーボ制御部２０に位置指令を送る。サーボモータはサーボ制御部２０の出力信号にもとづき位置決め動作を行う。
【００４４】
［位置決め制御部３における領域信号生成処理］
次に、図５（ｅ）に示される演算処理における領域信号生成処理について、図９のフロー図により説明する。上述のように、この演算処理は、位置決め演算処理中に実行される。
図９において、ステップＳ１０では、参照データ値取り込み処理（比較処理テーブルメモリ１４において、エリア３１1a〜エリア３１naに格納されている参照データアドレスにより示されるアドレスの内容を読み出し、エリア３１1b〜エリア３１nbに参照データ値としてセットする処理）を行う。
ステップＳ１１では、比較処理（検出信号パラメータメモリ１３のエリア２３1b〜エリア２３nbに格納されている比較データと、エリア３１1b〜エリア３１nbに格納されている参照データ値と、の比較を、比較処理テーブルメモリ１４のエリア３３1〜エリア３３nに格納されているインデックス情報にもとづき行い、比較結果を出力信号イメージとして、比較処理テーブルメモリ１４のエリア２９1b〜エリア２９nbにセットする処理）を行う。
ステップＳ１２では、検出信号出力処理（比較処理テーブルメモリ１４のエリア２９1b〜エリア２９nbに格納されている出力信号イメージを、コモンメモリ４１の該当エリア（その出力信号名のデバイスとなっているエリア）にセットする処理）を行う。
【００４５】
図１０は、図９のステップＳ１０で実行される参照データ値取り込み処理の詳細動作を示すフロー図である。
図において、ステップＳ２０では、変数ｋに１をセットする。
ステップＳ２１では、比較処理テーブルメモリ１４のエリア３１1b〜エリア３１nbに格納されている参照データ情報ｋの参照データアドレスが定数であるか否か判定する。定数でない場合はステップＳ２２に進み、定数の場合はステップＳ２３に進む。
ステップＳ２２では、参照データアドレス（比較処理テーブルメモリ１４のエリア３１kaに格納されている参照データアドレス）により示されるアドレスの内容を読出し、参照データ値として比較処理テーブルメモリ１４のエリア３１kbに格納し、ステップＳ２３に進む。
ステップＳ２３では変数ｋに１を加算する。
ステップＳ２４では、変数ｋが、比較処理テーブルメモリ１４のエリア３０に格納されている参照データ情報数より大きい場合は終了する。ｋがこの参照データ情報数より大きくない場合は、ステップＳ２１に戻る。
【００４６】
図１１は、図９のステップＳ１１で実行される比較処理の詳細動作を示すフロー図である。
図において、ステップＳ３０では、変数ｋに１をセットする。
ステップＳ３１では、比較処理テーブルメモリ１４のエリア２８に格納されている出力信号情報数ｎ分の出力信号イメージ（エリア２９1b〜エリア２９nbに格納されている出力信号イメージ）をクリアする。
ステップＳ３２では、比較処理テーブルメモリ１４のエリア３３ｋに格納されているインデックス情報ｋ内の、比較データインデックスｋ、出力ＯＮ値インデックスｋ、出力ＯＦＦ値インデックスｋ、出力信号インデックスｋを、それぞれ、変数ｍ１、変数ｍ２、変数ｍ３、変数ｍ４にセットする。
ステップＳ３３では、比較処理テーブルメモリ１４のエリア３１1〜エリア３１nのうちのｍ１番目に格納されている参照データ情報ｍ１の参照データ値を変数Ａにセットし、ｍ２番目に格納されている参照情報ｍ２の参照データ値を変数Ｂにセットし、ｍ３番目に格納されている参照データ情報ｍ３の参照データ値を変数Ｃにセットする。
ステップＳ３４では、変数Ａが、変数Ｂ≦変数Ａ＜変数Ｃの条件を満足するか否か判定し、満足する場合はステップＳ３５に進み、満足しない場合はステップＳ３６に進む。
ステップＳ３５では、比較処理テーブルメモリ１４のエリア２９1〜エリア２９nのうちのｍ４番目に格納されている出力信号情報ｍ４の出力信号イメージに１をセットし、ステップＳ３６に進む。
ステップＳ３６では、変数ｋに１加算する。
ステップＳ３７では、ｋが、比較処理テーブルメモリ１４のエリア３２に格納されているインデックス情報数より大きい場合は処理を終了し、ｋが、このインデックス情報数より大きくない場合はステップＳ３２に戻る。
【００４７】
図１２は、図９のステップＳ１２で実行される検出信号出力処理の動作を示すフロー図である。
図において、ステップＳ４０では、変数ｋに１をセットする。
ステップＳ４１では、比較処理テーブルメモリ１４のエリア２９kに格納されている出力信号情報ｋの出力信号イメージが１か否か判定し、１の場合はステップＳ４２に進み、０の場合はステップＳ４３に進む。
ステップＳ４２では、コモンメモリ４１の該当エリア（その出力信号名がデバイス名になっているエリア）に１をセットし、ステップＳ４４に進む。
ステップＳ４３では、コモンメモリ４１の該当エリアに０をセットし、ステップＳ４４に進む。
ステップＳ４４では、変数ｋに１加算して、ステップＳ４５に進む。
ステップＳ４５では、ｋが出力信号情報数より大きい場合は処理を終了し、ｋが出力信号情報数より大きくない場合はステップＳ４１に戻る。
【００４８】
図１３は、検出信号パラメータメモリ１３のエリア２１に、図７に示すデータが格納され、Ｄ０に１００、Ｄ１に３５０、がそれぞれ格納されている場合において、図９に示される演算処理により生成された出力信号ＰＹ０を示している。
図に示すように、１軸のサーボモータの回転数が増加したとき、ＰＹ０は、回転数が１００に達したａ点でＯＦＦからＯＮに変わり、回転数が２００に達したｂ点でＯＮからＯＦＦに変わり、回転数が３００に達したｃ点で再びＯＦＦからＯＮに変わり、回転数が３５０に達したｄ点でＯＮからＯＦＦに変わる。
【００４９】
［まとめ］
この発明の実施の形態１によれば、デバイス情報の値が、その範囲情報により示される範囲内にあるか否かを判定し、この判定結果を出力装置に出力する処理を、複数の出力装置について行う動作が、位置決め制御部側で単独に行うことができるので、シーケンスプログラムの実行時間にもとづく判定処理時間の増大化やばらつきを防止でき、これを加工装置に適用すればコストが大幅に増加することなしに、タクトタイムを短縮できる効果がある。
【００５０】
このような、動作は、例えば、加工対象をテーブルに固定し、テーブルをサーボモータにより駆動し、ドリルで加工する場合において、第１のデバイス情報をテーブルの位置、第２のデバイス情報をドリルの位置やドリルを駆動するモータの電流値とし、それぞれがその範囲情報外にならないように監視する場合などに利用することができる。この場合において、範囲情報を加工対象毎に変更することも容易にできる。また、例えば、判定結果によりカッターを始動する場合のように判定処理時間の増大化やばらつきが加工精度に影響する場合においては、加工精度の低下を防止できる効果もある。
【００５１】
また、この発明の実施の形態１によれば、検出信号パラメータメモリ１３のエリア２３1〜エリア２３nに格納されている検出範囲情報１〜検出範囲情報ｎにおいて、重複して同じ比較データ名が設定されていても、比較処理テーブル２４においては重複して設定されないので、比較データの読出し時刻の差異により、比較データの値が異なるという問題が生じることがなく、このような問題に起因する出力信号の不正出力の発生を防止することができる。
【００５２】
また、検出信号パラメータメモリ１３のエリア２３1〜エリア２３nに格納されている検出範囲情報１〜検出範囲情報ｎにおいて、同じ出力信号名が重複して設定されている場合は、この出力信号名の出力信号として、各々の検出範囲情報にもとづく出力信号の論理和を出力することができる。
【００５３】
また、この領域信号生成処理は、サーボ制御データのリード／ライト処理を行う演算処理の中で行われるため、出力信号の応答時間のばらつきは最大でクロック１８の１周期分である。クロック１８の周期は、通常０．１ｍｓ〜５ｍｓ程度であり、シーケンス制御部２のスキャンタイムの１／１０〜１／１００程度である。
【００５４】
実施の形態２．
上述の実施の形態１においては、比較処理テーブル１４は、サーボシステムコントローラの電源ＯＮ時、または、リセット時のイニシャル処理で、検出信号パラメータ１３を参照して設定されるようにしているが、検出信号パラメータメモリ１３を周辺装置のメモリ内に設定し、比較処理テーブルメモリ１４に書き込むデータを周辺装置で作成するようにして、検出信号パラメータメモリ１３を省略することも可能である。
【００５５】
【図面の簡単な説明】
図１は、この発明の実施の形態１によるサーボシステムコントローラの構成図である。
図２は、図１に示すサーボシステムコントローラにおける検出パラメータメモリのメモリ構成図である。
図３は、図１に示すサーボシステムコントローラにおける比較処理テーブルメモリのメモリ構成図である。
図４は、図１に示すサーボシステムコントローラにおける位置決め制御プログラムメモリのメモリ構成図である。
図５は、図１に示すサーボシステムコントローラの動作タイミング図である。
図６は、サーボシステムコントローラにおける一例の位置決め制御プログラムを示す説明図である。
図７は、検出信号パラメータの設定例を示す説明図である。
図８は、比較処理テーブルの設定例を示す説明図である。
図９は、図１に示すサーボシステムコントローラの検出信号処理の詳細を示すフロー図である。
図１０は、図９の参照データ値取り込み処理の詳細を示すフロー図である。
図１１は、図９の比較処理の詳細を示すフロー図である。
図１２は、図９の検出信号出力処理の詳細を示すフロー図である。
図１３は、図９の検出信号出力処理における一例の出力信号を示すタイミング図である。
図１４は、従来のサーボシステムコントローラの構成図である。
図１５は、図１４のコモンメモリのメモリ構成図である。
【符号の説明】
１，１００  サーボシステムコントローラ本体
２  シーケンス制御部
３，３００  位置決め制御部
４  シーケンス制御用ＣＰＵ
５  制御メモリ
６，１６  入出力インタフェース
７  周辺装置用インタフェース
８，１７  入力ユニット
９，１８  出力ユニット
１０  位置決め用ＣＰＵ
１１  制御メモリ
１２  位置決め制御プログラムメモリ
１３  検出信号パラメータメモリ
１４  比較処理テーブルメモリ
１５  サーボインタフェース
１９  制御周期クロック発生部
２０  サーボ制御部
３８  領域信号パラメータメモリ
３９  領城信号出力インタフェース
４０  領域信号出力ユニット
４１  コモンメモリ
【図１】
0003937244.tif 000002
【図２】
0003937244.tif 000003
【図３】
0003937244.tif 000004
【図４】
0003937244.tif 000005
【図５】
0003937244.tif 000006
【図６】
0003937244.tif 000007
【図７】
0003937244.tif 000008
【図８】
0003937244.tif 000009
【図９】
0003937244.tif 000010
【図１０】
0003937244.tif 000011
【図１１】
0003937244.tif 000012
【図１２】
0003937244.tif 000013
【図１３】
0003937244.tif 000014
【図１４】
0003937244.tif 000015
【図１５】
0003937244.tif 000016