(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】制御システム、プログラマブルコントローラ、及び動作制御モジュール
(51)【国際特許分類】
G05B 19/05 20060101AFI20241008BHJP
【FI】
G05B19/05 F
G05B19/05 D
(21)【出願番号】P 2021007357
(22)【出願日】2021-01-20
【審査請求日】2023-12-13
(73)【特許権者】
【識別番号】000001247
【氏名又は名称】株式会社ジェイテクト
(74)【代理人】
【識別番号】110002583
【氏名又は名称】弁理士法人平田国際特許事務所
(72)【発明者】
【氏名】益本 貴行
(72)【発明者】
【氏名】小室 克弘
【審査官】牧 初
(56)【参考文献】
【文献】特開平01-280804(JP,A)
【文献】特開2009-107082(JP,A)
【文献】特開2002-307484(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/04-19/05
(57)【特許請求の範囲】
【請求項1】
サーボモータに駆動電流を供給するサーボアンプと、前記サーボアンプに動作指令を出力するプログラマブルコントローラとを備え、前記サーボアンプが前記動作指令に応じて前記サーボモータを制御する制御システムであって、
前記プログラマブルコントローラは、ユーザプログラムを記憶する記憶手段と、前記ユーザプログラムを実行するユーザプログラム実行手段と、前記ユーザプログラムに応じて前記動作指令を出力する動作指令出力手段と、前記サーボモータに発生するトルクの瞬時値を取得するトルク情報取得手段と、前記動作指令による前記サーボモータの回転開始から回転停止までの回転動作中に前記トルク情報取得手段によって取得した前記トルクの瞬時値に基づいて前記回転動作中における負荷の大きさを示す実負荷指標値を前記ユーザプログラムで参照可能な値として算出する実負荷指標値算出手段とを備
え、
前記実負荷指標値算出手段が算出する前記実負荷指標値は、前記回転動作中に所定のサンプリング周期毎に取得した前記トルクの瞬時値の二乗和を前記回転動作中のサンプリング回数で除した値の平方根である、
制御システム。
【請求項2】
前記ユーザプログラムは、前記実負荷指標値を閾値と比較し、前記実負荷指標値が前記閾値によって規定される範囲を外れた場合にアラームを発する命令を含む、
請求項
1に記載の制御システム。
【請求項3】
サーボモータに駆動電流を供給するサーボアンプに動作指令を出力するプログラマブルコントローラであって、
ユーザプログラムを記憶する記憶手段と、前記ユーザプログラムを実行するユーザプログラム実行手段と、前記ユーザプログラムに応じて前記動作指令を出力する動作指令出力手段と、前記サーボモータに発生するトルクの瞬時値を取得するトルク情報取得手段と、前記動作指令による前記サーボモータの回転開始から回転停止までの回転動作中に前記トルク情報取得手段によって取得した前記トルクの瞬時値に基づいて前記回転動作中における負荷の大きさを示す実負荷指標値を前記ユーザプログラムで参照可能な値として算出する実負荷指標値算出手段とを備
え、
前記実負荷指標値算出手段が算出する前記実負荷指標値は、前記回転動作中に所定のサンプリング周期毎に取得した前記トルクの瞬時値の二乗和を前記回転動作中のサンプリング回数で除した値の平方根である、
プログラマブルコントローラ。
【請求項4】
ユーザプログラムを記憶する記憶手段及び前記ユーザプログラムを実行するユーザプログラム実行手段を有するCPUモジュールと組み合わされてプログラマブルコントローラを構成する動作制御モジュールであって、
前記ユーザプログラムに応じてサーボモータに駆動電流を供給するサーボアンプに動作指令を出力する動作指令出力手段と、前記サーボモータに発生するトルクの瞬時値を取得するトルク情報取得手段と、前記動作指令による前記サーボモータの回転開始から回転停止までの回転動作中に前記トルク情報取得手段によって取得した前記トルクの瞬時値に基づいて前記回転動作中における負荷の大きさを示す実負荷指標値を前記ユーザプログラムで参照可能な値として算出する実負荷指標値算出手段とを備
え、
前記実負荷指標値算出手段が算出する前記実負荷指標値は、前記回転動作中に所定のサンプリング周期毎に取得した前記トルクの瞬時値の二乗和を前記回転動作中のサンプリング回数で除した値の平方根である、
動作制御モジュール。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーボモータを制御する制御システム、プログラマブルコントローラ、及びプログラマブルコントローラの動作制御モジュールに関する。
【背景技術】
【0002】
従来、電動モータによって動作する機械設備の異常を診断するための異常診断装置として、特許文献1に記載のものが知られている。この異常診断装置は、診断用コンピュータを備えて構成されており、診断対象である工作機械が正常稼動している場合の一連の動作によって生じた音響あるいは振動の信号から、この一連の動作を構成する複数の動作を指示する各タイミング信号の出力タイミングを基点として設定された複数の時間窓によって信号を切り出し、切り出した信号に基づいて逆フィルタ等を作成する。そして、その後の稼働時において検出された音響あるいは振動の信号に対して逆フィルタを作用させ、得られた残差信号を解析することで機械設備の異常検出を行なう。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の異常診断装置によれば、正常稼働時と異なる音響あるいは振動の信号状態が検出された場合に診断対象の工作機械に異常が発生していることを検知し得るが、工場内には複数の工作機械によって構成された複数の製造ラインが並列している場合も多く、例えば診断対象の工作機械の近傍に配置された他の製造ラインの工作機械で発生する音響あるいは振動により、診断対象の工作機械が正常に稼働しているにもかかわらず、当該工作機械に異常が発生していると誤検知してしまうおそれがある。また、上記の異常診断装置は、診断用コンピュータを備えて構成されているため、コストが嵩むという課題もある。
【0005】
そこで、本発明は、コストの増大を抑制しながらも、サーボモータによって動作する機械設備の状態をより正確に把握することが可能な制御システム、プログラマブルコントローラ、及び動作制御モジュールを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、上記の目的を達成するため、サーボモータに駆動電流を供給するサーボアンプと、前記サーボアンプに動作指令を出力するプログラマブルコントローラとを備え、前記サーボアンプが前記動作指令に応じて前記サーボモータを制御する制御システムであって、前記プログラマブルコントローラは、ユーザプログラムを記憶する記憶手段と、前記ユーザプログラムを実行するユーザプログラム実行手段と、前記ユーザプログラムに応じて前記動作指令を出力する動作指令出力手段と、前記サーボモータに発生するトルクの瞬時値を取得するトルク情報取得手段と、前記動作指令による前記サーボモータの回転開始から回転停止までの回転動作中に前記トルク情報取得手段によって取得した前記トルクの瞬時値に基づいて前記回転動作中における負荷の大きさを示す実負荷指標値を前記ユーザプログラムで参照可能な値として算出する実負荷指標値算出手段とを備え、前記実負荷指標値算出手段が算出する前記実負荷指標値は、前記回転動作中に所定のサンプリング周期毎に取得した前記トルクの瞬時値の二乗和を前記回転動作中のサンプリング回数で除した値の平方根である、制御システムを提供する。
【0007】
また、本発明は、上記の目的を達成するため、サーボモータに駆動電流を供給するサーボアンプに動作指令を出力するプログラマブルコントローラであって、ユーザプログラムを記憶する記憶手段と、前記ユーザプログラムを実行するユーザプログラム実行手段と、前記ユーザプログラムに応じて前記動作指令を出力する動作指令出力手段と、前記サーボモータに発生するトルクの瞬時値を取得するトルク情報取得手段と、前記動作指令による前記サーボモータの回転開始から回転停止までの回転動作中に前記トルク情報取得手段によって取得した前記トルクの瞬時値に基づいて前記回転動作中における負荷の大きさを示す実負荷指標値を前記ユーザプログラムで参照可能な値として算出する実負荷指標値算出手段とを備え、前記実負荷指標値算出手段が算出する前記実負荷指標値は、前記回転動作中に所定のサンプリング周期毎に取得した前記トルクの瞬時値の二乗和を前記回転動作中のサンプリング回数で除した値の平方根である、プログラマブルコントローラを提供する。
【0008】
また、本発明は、上記の目的を達成するため、ユーザプログラムを記憶する記憶手段及び前記ユーザプログラムを実行するユーザプログラム実行手段を有するCPUモジュールと組み合わされてプログラマブルコントローラを構成する動作制御モジュールであって、前記ユーザプログラムに応じてサーボモータに駆動電流を供給するサーボアンプに動作指令を出力する動作指令出力手段と、前記サーボモータに発生するトルクの瞬時値を取得するトルク情報取得手段と、前記動作指令による前記サーボモータの回転開始から回転停止までの回転動作中に前記トルク情報取得手段によって取得した前記トルクの瞬時値に基づいて前記回転動作中における負荷の大きさを示す実負荷指標値を前記ユーザプログラムで参照可能な値として算出する実負荷指標値算出手段とを備え、前記実負荷指標値算出手段が算出する前記実負荷指標値は、前記回転動作中に所定のサンプリング周期毎に取得した前記トルクの瞬時値の二乗和を前記回転動作中のサンプリング回数で除した値の平方根である、動作制御モジュールを提供する。
【発明の効果】
【0009】
本発明に係る制御システム、プログラマブルコントローラ、及び動作制御モジュールによれば、コストの増大を抑制しながらも、サーボモータによって動作する機械設備の状態をより正確に把握することが可能となる。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施の形態に係る制御システムの構成例を制御対象の機械設備の一部の構成要素と共に示す模式図である。
【
図2】CPUモジュール及び動作制御モジュールの機能構成例を示すブロック図である。
【
図3】(a)は、機械設備の一部であるスライドテーブルを鉛直方向の上方から見た概略構成図であり、(b)は、スライドテーブルを水平方向から見た概略構成図である。
【
図4】プログラマブルコントローラのCPUモジュールと動作制御モジュールとの間で受け渡しされる情報の時系列的な変化の状態を、サーボモータの回転速度及び回転トルクのグラフと共に示すタイミングチャートである。
【
図5】サーボアンプに動作指令を出力した後、実負荷指標値を演算するために動作制御モジュールが実行する処理手順の一例を示すフローチャートである。
【
図6】シーケンスプログラムの一部分を示す説明図である。
【発明を実施するための形態】
【0011】
[実施の形態]
本発明の実施の形態について、
図1乃至
図6を参照して説明する。なお、以下に説明する実施の形態は、本発明を実施する上での好適な具体例として示すものであり、技術的に好ましい種々の技術的事項を具体的に例示している部分もあるが、本発明の技術的範囲は、この具体的態様に限定されるものではない。
【0012】
図1は、本発明の実施の形態に係る制御システムの構成例を制御対象の機械設備の一部の構成要素と共に示す模式図である。この制御システム1は、操作盤2と、プログラマブルコントローラ3と、複数のサーボアンプ4とを備えている。機械設備6は、例えば工作機械であり、複数の出力要素61及び複数の入力要素62と、複数のサーボモータ7とを有している。出力要素61は、例えばアクチュエータや表示ランプなどである。入力要素62は、例えばリミットスイッチや光電スイッチなどである。
【0013】
操作盤2は、タッチパネルコンピュータ20と、自動運転モードと各個操作モードとを切り替えるセレクトスイッチ21と、複数のサーボモータ7への通電を開始して機械設備6を動作可能な状態(サーボオン状態)とする運転準備スイッチ22と、自動運転の起動を指示するための起動スイッチ23と、機械設備6の動作を即時停止させる非常停止スイッチ24とを有している。
【0014】
セレクトスイッチ21によって選択される自動運転モードは、後述するシーケンスプログラムにしたがって機械設備6の連続動作を行わせるモードである。各個操作モードは、作業者が出力要素61やサーボモータ7を個別に動作させるモードである。自動運転中には、タッチパネルコンピュータ20に機械設備6の動作状態などが表示される。各個操作時には、タッチパネルコンピュータ20に各個操作を指示するための複数のボタンがアイコンとして表示される。操作盤2は、通信ケーブル11によって、プログラマブルコントローラ3との通信が可能である。
【0015】
プログラマブルコントローラ3は、電源モジュール31、CPUモジュール32、通信モジュール33、出力モジュール34、入力モジュール35、動作制御モジュール36、及びこれら各モジュールが装着されたベース30を有して構成されている。CPUモジュール32は、プログラマブルコントローラ3の中核をなすモジュールであり、他のモジュール(通信モジュール33、出力モジュール34、入力モジュール35、及び動作制御モジュール36)は、必要な機能に応じてCPUモジュール32と組み合わされてプログラマブルコントローラ3を構成するオプションモジュールである。
【0016】
電源モジュール31は、例えばAC100Vの商用電源電圧をDC5Vに変換し、ベース30を介して各モジュール32~36に供給する。また、ベース30は、データバスが形成されたプリント基板を有しており、このデータバスを介してCPUモジュール32と他のモジュール32~36とのデータの受け渡しが可能である。
【0017】
CPUモジュール32は、機械設備6を制御するためのシーケンスプログラムを実行する。シーケンスプログラムは、機械設備6を動作させるためにユーザが作成したユーザプログラムである。本実施の形態では、シーケンスプログラムがIEC61131-3で規定されているラダーダイアグラム言語で記載された場合について説明する。ラダーダイアグラム言語で記載されたプログラムは、ラダー回路図とも称される。
【0018】
ユーザは、例えば
図1に示すプログラム作成装置5を用いてシーケンスプログラムを作成することが可能である。プログラム作成装置5は、シーケンスプログラムを作成するためのプログラミングツールがインストールされた可搬型コンピュータ(ノートパソコン)であり、通信ケーブル12によってCPUモジュール32と接続されている。プログラム作成装置5によって作成されたシーケンスプログラムは、通信ケーブル12を用いた通信によってCPUモジュール32に転送され、CPUモジュール32に記憶される。
【0019】
通信モジュール33は、通信ケーブル11によって操作盤2のタッチパネルコンピュータ20と接続されている。タッチパネルコンピュータ20は、通信モジュール33を介してCPUモジュール32内の各種の情報を取得すること、及びCPUモジュール32に情報を送ることが可能である。
【0020】
出力モジュール34は、機械設備6の複数の出力要素61にそれぞれ接続された複数の出力リレーを有しており、この出力リレーのオン/オフにより出力要素61を動作させることが可能である。入力モジュール35は、機械設備6の複数の入力要素62にそれぞれ接続された複数の入力リレーを有しており、この入力リレーのオン/オフにより機械設備6の動作状態を検知することが可能である。
【0021】
動作制御モジュール36は、シーケンスプログラムに応じて機械設備6の移動体を移動させるべく、サーボアンプ4に動作指令を出力する。動作制御モジュール36と複数のサーボアンプ4とは、複数の通信ケーブル13によって接続されている。また、動作制御モジュール36は、通信ケーブル13を介したサーボアンプ4との通信により、回転速度や回転トルク等のサーボモータ7の動作状態に関する情報を取得可能である。
図1の図示例では、3台のサーボアンプ4が3本の通信ケーブル13によって動作制御モジュール36にデイジーチェーン接続(数珠つなぎ)されており、動作制御モジュール36が3台のサーボアンプ4のそれぞれに動作指令を出力することが可能である。
【0022】
動作制御モジュール36は、位置指令モード、速度指令モード、及びトルク指令モードでサーボアンプ4に動作指令を出力することが可能である。位置指令モードは、サーボモータ7の目標位置を指定するモードであり、移動速度(回転速度)の指定を合わせて行うことが可能である。速度指令モードは、サーボモータ7を指定の速度で正転又は逆転させるモードである。トルク指令モードは、サーボモータ7の正転方向又は逆転方向に指定のトルクを発生させるモードである。
【0023】
サーボモータ7は、三相交流モータであり、固定子及び回転子を有する本体71と、回転子と一体に回転するシャフト72と、固定子に対する回転子の回転位置を検出する位置検出器73とを有している。位置検出器73は、例えば多回転の絶対位置を検出可能なレゾルバである。本体71の固定子巻線には、三相交流電流がサーボアンプ4から駆動電流として動力ケーブル14によって供給される。また、位置検出器73の検出信号は、信号線ケーブル15によってサーボアンプ4に送られる。
【0024】
サーボモータ7の回転速度は、サーボアンプ4から供給される電流の周波数と比例関係にあり、サーボモータ7が発生するトルクは、サーボアンプ4から供給される電流の大きさ(絶対値)と比例関係にある。以下、プログラマブルコントローラ3の動作制御モジュール36が位置指令モードでサーボアンプ4に動作指令を行う場合について説明する。
【0025】
図2は、CPUモジュール32及び動作制御モジュール36の機能構成を示すブロック図である。CPUモジュール32は、ユーザプログラムを記憶するユーザプログラム記憶手段321と、ユーザプログラムを実行するユーザプログラム実行手段322と、ベース30のデータバス300を介して動作制御モジュール36を含むオプションモジュールとのデータの受け渡しを行うためのデータリンク手段323とを有している。
【0026】
ユーザプログラム記憶手段321は、フラッシュメモリ等の不揮発性メモリあるいはバッテリーバックアップされたRAMからなる。ユーザプログラム実行手段322及びデータリンク手段323は、例えばCPU(Central Processing Unit)が不揮発性メモリに記憶されたシステムプログラムを実行することにより実現される。
【0027】
動作制御モジュール36は、ベース30のデータバス300を介してCPUモジュール32とのデータの受け渡しを行うデータリンク手段361と、サーボモータ7によって動作する移動体の割出し位置等を記憶する設定データ記憶手段362と、シーケンスプログラムに応じてサーボアンプ4に動作指令を出力する動作指令出力手段363と、サーボモータ7に発生するトルクの瞬時値をサーボアンプ4から取得するトルク情報取得手段364と、トルク情報取得手段364によって取得したトルクの瞬時値に基づいてサーボモータ7の回転動作中における負荷の大きさを示す実負荷指標値を算出する実負荷指標値算出手段365とを有している。
【0028】
設定データ記憶手段362は、フラッシュメモリ等の不揮発性メモリあるいはバッテリーバックアップされたRAMからなる。データリンク手段361、動作指令出力手段363、トルク情報取得手段364、及び実負荷指標値算出手段365は、例えば動作制御モジュール36のCPUがシステムプログラムを実行することにより実現されるが、これらの手段の機能の一部又は全部をFPGA(Field Programmable Gate Array)あるいはASIC(Application Specific Integrated Circuit)等のハードウェアにより実現してもよい。
【0029】
データリンク手段361は、複数の仮想リレーのオン/オフ情報をCPUモジュール32と共有するリレーリンク機能と、例えば16ビットのデータ長を有する複数のデータレジスタの内容をCPUモジュール32と共有するレジスタリンク機能とを有している。リレーリンク機能で用いられる複数の仮想リレーのそれぞれは、リレーコイルとa接点(常開接点)及びb接点(常閉接点)とを有している。複数の仮想リレーのうちの一部の仮想リレーは、リレーコイルがCPUモジュール32側でオン/オフされる出力側のリレーであり、他の一部の仮想リレーは、リレーコイルが動作制御モジュール36側でオン/オフされる入力側のリレーである。
【0030】
また、レジスタリンク機能で用いられる複数のデータレジスタは、CPUモジュール32側で書き込まれて動作制御モジュール36側で読み出される出力側のデータレジスタ、及び動作制御モジュール36側で書き込まれてCPUモジュール32側で読み出される入力側のデータレジスタを含む。出力側のデータレジスタには、シーケンスプログラムに従ってデータが書き込まれる。入力側のデータレジスタの内容は、シーケンスプログラムにおける判定処理等で参照される。
【0031】
動作制御モジュール36には、複数の割出し位置の設定データが記憶されている。この設定データは、例えばプログラム作成装置5を用いてユーザにより設定され、設定データ記憶手段362に記憶されている。設定データ記憶手段362は、例えば700点の割出し位置の設定データを記憶可能である。それぞれの割り出し位置は、回転軸座標あるいは直動軸座標の絶対位置で指定され、その割り出し位置へ向かう際の移動速度(回転速度)と合わせて設定されている。
【0032】
CPUモジュール32は、各割出し位置を、例えば0から699までの割出し位置番号を出力側のデータレジスタに書き込むことにより指定した後、位置決め実行を指示するための出力側のリレーをオン状態とする。動作制御モジュール36の動作指令出力手段363は、指定された割出し位置番号に対応する割出し位置への位置決めを行わせるべく、サーボアンプ4に動作指令を出力する。サーボアンプ4は、この動作指令に応じて、位置検出器73の検出信号に基づいて求められる位置偏差が0となるように位置ループによるサーボモータ7の位置制御を行い、割出し処理を実行する。
【0033】
動作制御モジュール36のトルク情報取得手段364は、通信ケーブル13によるサーボアンプ4との通信によって、サーボモータ7に発生するトルクの瞬時値を所定のサンプリング周期で取得する。サーボアンプ4は、例えばサーボモータ7の制御処理におけるトルク指令値をトルクの瞬時値として動作制御モジュール36に送信する。また、サーボアンプ4は、内蔵する電流センサによって検出したサーボモータ7に供給する電流の検出値(実電流値)に基づいて求めたトルクの瞬時値を動作制御モジュール36に送信してもよい。またさらに、サーボアンプ4は、例えばサーボモータ7のシャフト72もしくはサーボモータ7によって回転駆動される回転部材に設けられたトルクセンサによって検出されたトルク値をトルクの瞬時値として動作制御モジュール36に送信してもよい。
【0034】
実負荷指標値算出手段365は、動作指令出力手段363が出力する動作指令によるサーボモータ7の回転開始から回転停止までの回転動作中に取得したトルクの瞬時値に基づいて、この回転動作中における負荷の大きさを示す実負荷指標値をシーケンスプログラムで参照可能な値として算出する。この実負荷指標値は、具体的には所定のサンプリングごとに取得したトルクの瞬時値の二乗和の平均の平方根(実効トルク値)であり、位置決め完了後に、CPUモジュール32側で読み出される入力側のデータレジスタに書き込まれる。
【0035】
シーケンスプログラムは、実負荷指標値を閾値と比較し、実負荷指標値が閾値によって規定される範囲を外れた場合にアラームを発する命令を含んでいる。これにより、例えばサーボモータ7によって移動体が移動する際に摩擦摺動が発生する部分の潤滑油の不足によって移動体を移動させるために必要なサーボモータ7のトルクが大きくなり、実負荷指標値が閾値よりも大きくなるとアラームが発せられる。このアラームは、例えば操作盤2のタッチパネルコンピュータ20への表示や警報音あるいは音声メッセージ等により、機械設備6が設置された工場等の作業者に伝達され、機械設備6のメンテナンスを促す。このようにして、摩擦摺動部の過度な摩耗や発熱等を未然に防ぐことが可能となる。
【0036】
次に、機械設備6及びプログラマブルコントローラ3の動作例について、
図3及び
図4を参照して説明する。
図3(a)は、機械設備6の一部であるスライドテーブル8を鉛直方向上方から見た概略構成図であり、
図3(b)は、スライドテーブル8を水平方向から見た概略構成図である。
図3(b)では、スライドテーブル8の一部を鉛直方向に沿った断面で示している。
図4は、プログラマブルコントローラ3のCPUモジュール32と動作制御モジュール36との間で受け渡しされる情報の時系列的な変化の状態を、サーボモータ7の回転速度及び回転トルクのグラフと共に示すタイミングチャートである。
【0037】
スライドテーブル8は、基台80の上方に互いに平行に配置された直線状の一対のガイドレール81と、一対のガイドレール81に支持されてスライド移動するスライドブロック82と、ワーク9が搭載されるワーク台83と、サーボモータ7によって回転駆動されるボールねじ84と、サーボモータ7のシャフト72とボールねじ84とを連結するカップリング85と、ボールねじ84に複数のボール(不図示)を介して螺合するボールねじナット86と、ボールねじナット86とスライドブロック82とを一体に連結する連結部材87と、ボールねじ84を基台80に対して回転可能に支持する軸受機構88と、サーボモータ7の本体71を基台80に対して固定するためのモータブラケット89とを備えて構成されている。
【0038】
ワーク台83は、スライドブロック82の上面82aに固定されている。ワーク9が搭載されるワーク台83の載置面83aには、ワーク9の位置ずれを防ぐための複数の係止突起831が設けられている。軸受機構88は、複数の玉軸受881,882と、玉軸受881,882を支持する軸受ホルダ883とを有している。スライドブロック82は、ボールねじ84の回転によって一対のガイドレール81を摺動し、ワーク台83は、スライドブロック82と共に一対のガイドレール81に沿って直線移動する。
【0039】
図4は、ワーク台83の基準位置Pが
図3(a)に示すA位置(移動開始位置)からB位置(目標位置)まで移動する場合のタイミングチャートの一例を示している。このワーク台83の移動は、例えば載置面83aにワーク9が載置されたときに開始される。
【0040】
図4に示す割出し位置番号は、シーケンスプログラムに従ってCPUモジュール32により出力側のデータレジスタに書き込まれるデータである。割出し位置番号が書き込まれると、動作制御モジュール36は、書き込まれたデータと同じデータをアンサーバックとして入力側のデータレジスタに書き込む。シーケンスプログラムは、出力側のデータレジスタに書き込んだ割出し位置番号とアンサーバックとして入力側のデータレジスタに書き込まれた割出し位置番号とが一致したことが確認されると、位置決め実行を指示する出力側のリレーをオン状態とする。これにより、動作制御モジュール36の動作指令出力手段363がサーボアンプ4に動作指令を出力する。
【0041】
この動作指令を受けたサーボアンプ4は、サーボモータ7に電流を供給してシャフト72を回転させ、移動体としてのスライドブロック82をB位置まで移動させる。この移動の開始後において移動速度が上昇する際には正の回転トルクが大きく立ち上がり、速度が目標値に達すると回転トルクが略一定となる。この回転トルクは、スライドブロック82が一対のガイドレール81を摺動することにより発生する摺動抵抗に対応する大きさのトルクである。基準位置Pが位置Bに接近すると、サーボアンプ4がサーボモータ7に負の回転トルクを発生させてスライドブロック82を減速させ、位置Bに基準位置Pが一致する位置にスライドブロック82を停止させる。
【0042】
スライドブロック82のB位置への移動が完了すると、動作制御モジュール36は、実負荷指標値を算出して入力側のデータレジスタに書き込み、位置決め完了を示す出力側のリレーをオン状態とする。シーケンスプログラムは、このオン状態を確認すると、位置決め実行を指示するリレーをオフ状態とする。また、シーケンスプログラムは、実負荷指標値を所定の閾値と比較し、実負荷指標値が閾値よりも大きい場合にはアラームを発する。
【0043】
図5は、サーボアンプ4に動作指令を出力した後、実負荷指標値を演算するために動作制御モジュール36が実行する処理手順の一例を示すフローチャートである。このフローチャートにおいて、変数Tは、トルク情報取得手段364によって取得されるトルクの瞬時値である。変数Sは変数Tを二乗した値の積算値である。変数Nは、トルク情報取得手段364によってトルクの瞬時値を取得した回数を示すカウンタ値である。変数Trmsは、実負荷指標値である。
【0044】
図5のフローチャートにおいて、動作制御モジュール36はまず、変数S及びNをクリアし(ステップS1)、サーボモータ7が回転を開始したか否かを判定する(ステップS2)。このステップS2の判定は、例えばサーボモータ7との通信によって取得されるサーボモータ7の回転速度が実質的に0か否かによって行うことができる。
【0045】
サーボモータ7が回転を開始した後、動作制御モジュール36は、所定のサンプリング周期毎にサーボモータ7のトルクの瞬時値を取得し(ステップS3)、この瞬時値(変数T)を二乗した値を変数Sに加算し(ステップS4)、変数Nをインクリメントする(ステップS5)。この演算処理の後、目標位置への移動が完了したか否かを判定し(ステップS6)、移動が完了していなければ(S6:No)、ステップS3以降の処理を再度実行する。目標位置への移動が完了したか否かは、例えばサーボアンプ4から取得されるサーボモータ7の回転速度の情報や位置の情報によって判定することができる。
【0046】
一方、目標位置への移動が完了していれば(S6:Yes)、変数Sを変数Nで除した値の平方根を演算して変数Trmsを求め(ステップS7)、この変数Trmsを入力側のデータレジスタに書き込む(ステップS8)。ステップS8でデータレジスタに書き込まれた値(実負荷指標値)は、シーケンスプログラムで参照可能である。なお、上記の各処理のうち、ステップS3の処理は、トルク情報取得手段364としての処理であり、ステップS4~S8の処理は、実負荷指標値算出手段365としての処理である。
【0047】
図6は、CPUモジュール32に記憶されたシーケンスプログラムの一部を示す説明図である。
図6では、動作制御モジュール36によってデータレジスタに書き込まれた実負荷指標値を閾値と比較し、実負荷指標値の値が閾値よりも大きい場合にアラームを発する命令を示している。
図6に示すシンボル[>D D0100 > 10d]のうち、「D>」はデータレジスタの内容と10進数の定数との比較を行うコマンドであることを示している。第1オペランドのD0100は、実負荷指標値が書き込まれるデータレジスタのアドレスを示している。第2オペランドの10dは、閾値(10進数)を示している。また、Y010は、出力モジュール34の一つの実リレーのアドレスを示している。
【0048】
図6に示す命令では、実負荷指標値が閾値である10(N・m)よりも大きい場合に、出力リレーY010がオン状態となる。出力リレーY010の接点は、作業者等にアラームを発するための警報デバイスに接続され、出力リレーY010がオン状態となることにより、作業者にアラームが発せられる。警報デバイスは、例えば警告灯やブザーである。また、操作盤2のタッチパネルコンピュータ20は、CPUモジュール32から出力リレーY010のオン/オフ状態を読み出し、オン状態である場合には、画面表示によって作業者等にアラームを発することが可能である。
【0049】
以上説明した実施の形態によれば、サーボモータ7の回転動作中における負荷の大きさを示す実負荷指標値が動作制御モジュール36によって算出され、この実負荷指標値をシーケンスプログラムで参照可能であるため、例えば上記した従来の異常診断装置のように音響や振動の検出結果によって工作機械の状態を診断する場合に比較して、より正確に機械設備6の状態を把握することが可能となる。また、従来の異常診断装置のように診断用コンピュータを設ける必要がないため、コストの増大を抑制することもできる。またさらに、
図5のフローチャートに示す一連の処理は、動作制御モジュール36内で実行されるため、例えばシーケンスプログラムにおいて複数の算術命令を組み合わせて実負荷指標値を演算する場合に比較して、シーケンスプログラムを作成するプログラマの作業負担を大きく軽減することができる。
【0050】
(付記)
以上、本発明を実施の形態に基づいて説明したが、この実施の形態は特許請求の範囲に係る発明を限定するものではない。また、実施の形態の中で説明した特徴の組合せの全てが発明の課題を解決するための手段に必須であるとは限らない点に留意すべきである。また、本発明は、その趣旨を逸脱しない範囲で、一部の構成を省略し、あるいは構成を追加もしくは置換して、適宜変形して実施することが可能である。
【0051】
また、上記の実施の形態では、実負荷指標値としてトルクの瞬時値の二乗和平均平方根を用いる場合について説明したが、これに限らず、例えばサーボモータ7の回転動作中におけるトルクの瞬時値の二乗和の平均値あるいは合計値、もしくはトルクの瞬時値の絶対値の平均値あるいは合計値を実負荷指標値としてもよい。
【0052】
また、上記の実施の形態では、動作制御モジュール36のトルク情報取得手段364がサーボモータ7に発生するトルクの瞬時値をサーボアンプ4から取得する場合について説明したが、サーボモータ7に発生するトルクを検出するトルクセンサが設けられている場合には、このトルクセンサの検出値を動作制御モジュール36がサーボアンプ4を経由せずに取得してもよい。この場合、トルクセンサの検出信号を受信するための受信回路や、受信回路によって受信したアナログ信号をデジタル信号に変換するAD変換回路を動作制御モジュール36に設けることが望ましい。この受信回路及びAD変換回路は、動作制御モジュール36におけるトルク情報取得手段364となる。
【0053】
また、上記の実施の形態では、プログラマブルコントローラ3が複数のモジュール31~36を組み合わせて構成された場合について説明したが、これに限らず、各モジュールの機能が単一の装置に集約されていてもよい。またさらに、複数のサーボアンプが共通のラックに収容可能となっている場合には、プログラマブルコントローラをこのラックに収容できるように構成してもよい。この場合には、プログラマブルコントローラと複数のサーボアンプとのデータの受け渡しをラックの基板に設けられたデータバスによって行うことが可能である。
【符号の説明】
【0054】
1…制御システム 3…プログラマブルコントローラ
32…CPUモジュール 321…ユーザプログラム記憶手段
322…ユーザプログラム実行手段 36…動作制御モジュール
362…設定データ記憶手段 363…動作指令出力手段
364…トルク情報取得手段 365…実負荷指標値算出手段
4…サーボアンプ 7…サーボモータ