(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-26
(45)【発行日】2022-09-05
(54)【発明の名称】プログラマブルコントローラ及びプログラマブルコントローラシステム
(51)【国際特許分類】
G05B 9/02 20060101AFI20220829BHJP
G05B 19/05 20060101ALI20220829BHJP
H02P 29/00 20160101ALI20220829BHJP
【FI】
G05B9/02 B
G05B19/05 S
H02P29/00
(21)【出願番号】P 2018067936
(22)【出願日】2018-03-30
【審査請求日】2021-01-08
【前置審査】
(73)【特許権者】
【識別番号】000106221
【氏名又は名称】パナソニック デバイスSUNX株式会社
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】仲保 誠一
(72)【発明者】
【氏名】塚原 壮太
【審査官】松本 泰典
(56)【参考文献】
【文献】特開平8-95624(JP,A)
【文献】特開平11-45103(JP,A)
【文献】特開2015-210751(JP,A)
【文献】特開2017-163758(JP,A)
【文献】特開昭63-224695(JP,A)
【文献】特開2010-263712(JP,A)
【文献】特開平3-89880(JP,A)
【文献】米国特許出願公開第2007/0078614(US,A1)
【文献】中国特許出願公開第106405419(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 9/02
G05B 19/05
H02P 29/00
(57)【特許請求の範囲】
【請求項1】
制御プログラムを格納するプログラム記憶部と、
前記プログラム記憶部から前記制御プログラムを読み出して解読することにより、対応するモータ制御を含む制御対象の駆動命令を生成して実行するプログラム実行部と、
前記プログラム実行部で生成された前記駆動命令に基づき前記モータ制御用のモータ制御用駆動命令を生成するモータ駆動命令部と、
前記モータ駆動命令部に対して外部から入力された前記モータの駆動状態に関する情報を、ステータス情報として記憶するステータス記憶部と、を有し、
前記プログラム実行部と前記モータ駆動命令部との間には、前記モータの駆動状態に関する情報が送受信される通常ラインが接続され、
前記プログラム記憶部は、予め設定された異常処理プログラムを格納し、
前記プログラム実行部は、
前記モータの異常に関する異常状態信号を外部から直接的又は間接的に入力される、前記通常ラインとは別の割り込みラインと接続され、
前記制御プログラムを実行後、前記ステータス記憶部に記憶された前記ステータス情報を確認し、
前記異常処理プログラムがユーザによって選択された状態において前記割り込みラインを介して前記異常状態信号が入力された場合に、前記プログラム記憶部から読み出した前記制御プログラムに基づく前記駆動命令の実行を停止し、前記異常処理プログラムを実行する、プログラマブルコントローラ。
【請求項2】
前記異常処理プログラムは変更可能にユーザにて設定できること、を特徴とする請求項1に記載のプログラマブルコントローラ。
【請求項3】
前記異常状態信号は、前記モータ駆動命令部を介して前記プログラム実行部に出力される、請求項1又は請求項2に記載のプログラマブルコントローラ。
【請求項4】
制御プログラムを格納するプログラム記憶部と、
前記プログラム記憶部から前記制御プログラムを読み出して解読することにより、対応するモータ制御を含む制御対象の駆動命令を生成して実行するプログラム実行部と、
前記プログラム実行部で生成された前記駆動命令に基づき前記モータ制御用のモータ制御用駆動命令を生成するモータ駆動命令部と、
前記モータ駆動命令部と接続されて前記モータ制御用駆動命令に基づく駆動信号を受信することによりモータを駆動するとともに、前記モータの駆動状態に関する情報をステータス情報として前記モータ駆動命令部に出力するモータドライバと、
前記モータ駆動命令部に出力された前記ステータス情報を記憶するステータス記憶部と、を有し、
前記プログラム実行部と前記モータ駆動命令部との間には、前記モータの駆動状態に関する情報が送受信される通常ラインが接続され、
前記プログラム記憶部は、予め設定された異常処理プログラムを格納し、
前記モータドライバは、前記モータの駆動状態が異常である場合に、異常状態信号を出力するモータ異常判定手段を備え、
前記プログラム実行部は、
前記モータドライバから前記異常状態信号を直接的又は間接的に入力される、前記通常ラインとは別の割り込みラインと接続され、
前記制御プログラムを実行後、前記ステータス記憶部に記憶された前記ステータス情報を確認し、
前記異常処理プログラムがユーザによって選択された状態において前記割り込みラインを介して前記異常状態信号が入力された場合に、前記プログラム記憶部から読み出した前記制御プログラムに基づく前記駆動命令の実行を停止し、前記異常処理プログラムを実行する、プログラマブルコントローラシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラマブルコントローラ及びプログラマブルコントローラシステムに関するものである。
【背景技術】
【0002】
従来、プログラマブルコントローラ(PLC)は、外部機器のシーケンス制御や、各種センサによる測定等に用いられている。プログラマブルコントローラは、制御プログラムに基づき、所定のパルスをモータに出力することでモータの位置決め制御を行っていた(例えば、特許文献1参照)。
【0003】
特許文献1のプログラマブルコントローラでは、制御プログラム等で予め割り込み処理用の命令を準備し、準備された割り込み処理用の命令が読み出されて解読された場合に割り込み要求を実施して所望の動作を実施している。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、上記のようなプログラマブルコントローラでは、制御プログラム等で予め割り込み処理用の命令を準備するものであるため、例えばモータ等に異常が発生する状況などは考慮されていない。
【0006】
例えば、プログラマブルコントローラにおいては、ラダー等によって制御プログラムを構築することが考えられるが、プログラマブルコントローラが接続されるシステム全体の一連の動作が完了するまでに数十ミリ秒~数百ミリ秒の時間を要することがある。このような場合において、一連の動作が完了した後に、プログラマブルコントローラに接続されるモータ等のステータス情報を確認することが考えられるが、ステータス情報の確認タイミングとモータのステータス情報が実際に異常になるタイミングとではズレが生じることとなる。
【0007】
つまり、ラダー等によって構築された制御プログラムの動作途中でモータに異常が生じてステータス情報が異常となった場合でも、制御プログラムの実行後の確認となるため、実際にシステム停止等の処理が可能なタイミングは制御プログラムの実行後となってしまう。特に、モータを高速で駆動する場合や、モータ駆動によってシビアな位置調整が必用なシステムにおいては、前述したズレが生じるとモータを所望の位置で停止できず、システムとして好適な動作が実施できない虞がある。
【0008】
本発明は、上記課題を解決するためになされたものであって、その目的は、モータ異常に対する異常時処理の応答性を向上できるプログラマブルコントローラ及びプログラマブルコントローラシステムを提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するプログラマブルコントローラは、制御プログラムを格納するプログラム記憶部と、前記プログラム記憶部から前記制御プログラムを読み出して解読することにより、対応するモータ制御を含む制御対象の駆動命令を生成して実行するプログラム実行部と、前記プログラム実行部で生成された前記駆動命令に基づき前記モータ制御用のモータ制御用駆動命令を生成するモータ駆動命令部と、前記モータ駆動命令部に対して外部から入力された前記モータの駆動状態に関する情報を、ステータス情報として前記ステータス情報を記憶するステータス記憶部と、を有し、前記プログラム実行部と前記モータ駆動命令部との間には、前記モータの駆動状態に関する情報が送受信される通常ラインが接続され、前記プログラム記憶部は、予め設定された異常処理プログラムを格納し、前記プログラム実行部は、前記モータの異常に関する異常状態信号を外部から直接的又は間接的に入力される、前記通常ラインとは別の割り込みラインと接続され、前記制御プログラムを実行後、前記ステータス記憶部に記憶された前記ステータス情報を確認し、前記異常処理プログラムがユーザによって選択された状態において前記割り込みラインを介して前記異常状態信号が入力された場合に、前記プログラム記憶部から読み出した前記制御プログラムに基づく前記駆動命令の実行を停止し、前記異常処理プログラムを実行する。
【0010】
上記態様によれば、プログラム実行部には異常状態信号が入力される割り込みラインが接続され、割り込みラインを介して異常状態信号が入力された場合に、制御プログラムに基づく駆動命令の実行を停止し、予め設定された異常時の処理を実行する。これによりモータ異常に対する異常時処理の応答性を向上できる。
【0012】
上記態様によれば、予め設定された異常処理プログラムが選択された場合には、異常状態信号が入力された際に該異常処理プログラムが実行されるため、異常処理プログラムに沿った動作が可能となる。
【0013】
上記プログラマブルコントローラにおいて、前記異常処理プログラムは変更可能にユーザにて設定できることが好ましい。
上記態様によれば、異常処理プログラムは変更可能にユーザにて設定できるため、ユーザの所望の動作が可能となる。その結果、プログラマブルコントローラが接続されるシステム全体の動作を考慮した動作が可能となる。
【0014】
上記プログラマブルコントローラにおいて、前記異常状態信号は、前記モータ駆動命令部を介して前記プログラム実行部に出力されることが好ましい。
上記態様によれば、異常状態信号、モータ駆動命令部を介してプログラム実行部に出力される。ここで、モータ命令駆動部は、プログラム実行部と他の機器との間において、該他の機器に適した信号と、プログラム実行部に適した信号とを出力するため、他の機器から出力された異常状態信号を前記プログラム実行部に対して適切な状態で出力することが可能となる。
【0015】
上記課題を解決するプログラマブルコントローラは、制御プログラムを格納するプログラム記憶部と、前記プログラム記憶部から前記制御プログラムを読み出して解読することにより、対応するモータ制御を含む制御対象の駆動命令を生成して実行するプログラム実行部と、前記プログラム実行部で生成された前記駆動命令に基づき前記モータ制御用のモータ制御用駆動命令を生成するモータ駆動命令部と、前記モータ駆動命令部と接続されて前記モータ制御用駆動命令に基づく駆動信号を受信することによりモータを駆動するとともに、前記モータの駆動状態に関する情報をステータス情報として前記モータ駆動命令部に出力するモータドライバと、前記モータ駆動命令部に出力された前記ステータス情報を記憶するステータス記憶部と、を有し、前記プログラム実行部と前記モータ駆動命令部との間には、前記モータの駆動状態に関する情報が送受信される通常ラインが接続され、前記プログラム記憶部は、予め設定された異常処理プログラムを格納し、前記モータドライバは、前記モータの駆動状態が異常である場合に、異常状態信号を出力するモータ異常判定手段を備え、前記プログラム実行部は、前記モータドライバから前記異常状態信号を直接的又は間接的に入力される、前記通常ラインとは別の割り込みラインと接続され、前記制御プログラムを実行後、前記ステータス記憶部に記憶された前記ステータス情報を確認し、前記異常処理プログラムがユーザによって選択された状態において前記割り込みラインを介して前記異常状態信号が入力された場合に、前記プログラム記憶部から読み出した前記制御プログラムに基づく前記駆動命令の実行を停止し、前記異常処理プログラムを実行する。
【0016】
上記態様によれば、プログラム実行部には異常状態信号が入力される割り込みラインが接続され、割り込みラインを介して異常状態信号が入力された場合に、制御プログラムに基づく駆動命令の実行を停止し、予め設定された異常時の処理を実行する。これによりモータ異常に対する異常時処理の応答性を向上できる。
【0018】
上記態様によれば、予め設定された異常処理プログラムが選択された場合には、異常状態信号が入力された際に該異常処理プログラムが実行されるため、異常処理プログラムに沿った動作が可能となる。
【発明の効果】
【0020】
本発明のプログラマブルコントローラ及びプログラマブルコントローラシステムによれば、モータ異常に対する異常時処理の応答性を向上できる。
【図面の簡単な説明】
【0021】
【
図1】一実施形態におけるプログラマブルコントローラシステムの概略構成図。
【
図2】同実施形態におけるプログラマブルコントローラのフローチャート。
【
図3】同実施形態におけるプログラマブルコントローラシステムのシーケンス図。
【発明を実施するための形態】
【0022】
以下、プログラマブルコントローラを備えたプログラマブルコントローラシステムの一実施形態について説明する。
図1に示すように、プログラマブルコントローラシステム1は、プログラマブルコントローラ10と、モータドライバ15とを有する。
【0023】
プログラマブルコントローラ10は、メインCPU11とモーションコントローラ用CPU12とを有する。メインCPU11とモーションコントローラ用CPU12は1つの筐体B内に収納されている。
【0024】
メインCPU11は、プログラム記憶部としての記憶部13に記憶された制御プログラムを構成するラダープログラムを解読並びに実行するとともに、プログラマブルコントローラ10の統括的な制御を実施する。メインCPU11は、上位機器20(例えばパーソナルコンピュータ等)と通信し、上位機器20内で設定されたラダープログラム等の制御プログラムを前記記憶部13に対して格納する。メインCPU11は、例えばプログラマブルコントローラ10に対して接続されたシステムにおいてエラーが生じた場合に前記上位機器20に対してエラー信号を出力して報知するようになっている。
【0025】
記憶部13は、ラダープログラム等の制御プログラムや後述するモータMのステータス情報が格納されている。つまり、記憶部13は、ステータス記憶部並びにプログラム記憶部に相当する。
【0026】
ここで、上位機器20を介して後述するモータMの異常時処理について予めユーザによって設定された場合には、その異常処理プログラムが前記記憶部13に格納される。この異常処理プログラムは、ユーザによって変更可能である。
【0027】
モーションコントローラ用CPU12は、モータドライバ15に接続されるモータM専用の制御CPUである。モーションコントローラ用CPU12は、メインCPU11と通常ラインL1及び割り込みラインL2によって接続されている。通常ラインL1は、メインCPU11とモーションコントローラ用CPU12との間で各種情報の送受信を行うための通信ラインである。割り込みラインL2は、後述するモータドライバ15からの異常状態信号S1をモーションコントローラ用CPU12側からメインCPU11側に送信するための通信ラインである。なお、モーションコントローラ用CPU12は、モータドライバ15から得られた情報の内、メインCPU11に対して必要な情報を前記通常ラインL1や割り込みラインL2を介して出力する際に、メインCPU11において扱える状態に適宜変換して出力する。同様にモーションコントローラ用CPU12は、メインCPU11からの情報をモータドライバ15に対して出力する際に、モータドライバ15において扱える状態に適宜変換して出力する。
【0028】
プログラマブルコントローラ10の筐体Bには、コネクタ接続されるコネクタ収容口(図示しない)が設けられており、このコネクタ収容口に通信ケーブルCのコネクタが装着されることで、モーションコントローラ用CPU12とモータドライバ15とは通信ケーブルCによって接続されることになる。なお、本例においては、プログラマブルコントローラ10の筐体Bには、イーサネット(登録商標)の通信規格に適合するコネクタが装着(接続)されるコネクタ収容口を設け、このコネクタ収容口にイーサネットに準拠した通信ケーブルのコネクタが装着されている。これによって、モーションコントローラ用CPU12とモータドライバ15との間は、通信ケーブルCを介し、イーサネットに準拠した通信で接続されることになる。イーサネットを用いることで高速通信が可能となり、後述のモータドライバ15から得られるモータMの駆動状態を示すステータス情報の取得間隔を短くできる。ここで取得間隔は、例えば1ms毎である。
【0029】
モータドライバ15には、制御対象であるモータMが接続される。なお、プログラマブルコントローラ10の制御対象としては前記モータMだけでなく、センサやスイッチ等の他の外部機器も存在する。モータドライバ15は、モータMの駆動を実際に制御するものであり、モータMの駆動状態をステータス情報としてモーションコントローラ用CPU12に対して出力する。また、モータMが動作しない、モータMの動作速度が不安定であるといったモータMの異常が発生した場合には、モータドライバ15は異常状態信号S1を前記通信ケーブルCを介してモーションコントローラ用CPU12側に出力する。
【0030】
次に、プログラマブルコントローラシステム1の制御例(動作例)について説明する。
図2及び
図3に示すように、プログラマブルコントローラ10(メインCPU11)は、或るタイミングにおいて前記制御プログラムを実行処理する(ステップS100)。
【0031】
図3に示すように、制御プログラムが実行されると、メインCPU11は、種々の動作の1つとしてモータMを駆動する駆動命令をモーションコントローラ用CPU12に出力する。モーションコントローラ用CPU12は、前記駆動命令が入力されると、モータドライバ15に適した状態のモータ制御用のモータ制御用駆動命令を生成してモータドライバ15に出力する。モータドライバ15は、モータ制御駆動命令に基づきモータMを駆動する。
【0032】
図2に示すように、メインCPU11は、前記制御プログラムが完了すると、プログラマブルコントローラ10に接続されたモータM(モータドライバ15)を含む接続機器のステータス情報を確認する(ステップS101)。なお、モータMのステータス情報は前記記憶部13に格納されている。
【0033】
次いで、メインCPU11は、モータMのステータス情報に異常がない場合(ステップS102:NO)、ステップS100から処理を繰り返す。
また、メインCPU11は、モータMのステータス情報に異常がある場合(ステップS102:YES)、異常時処理を実施する(ステップS103)。
【0034】
一方、
図3に示すように、制御プログラム実行中の或るタイミングにおいてモータMの駆動状態が異常となった場合、モータドライバ15は、異常状態信号S1をモーションコントローラ用CPU12に対して出力する。モーションコントローラ用CPU12は、異常状態信号S1をメインCPU11に対して適切な状態に変換した上で、前記割り込みラインL2からメインCPU11に出力する。
【0035】
メインCPU11は、割り込みラインL2から異常状態信号S1が入力されると、制御プログラムを停止させ、異常時処理を実行する。異常時処理の一例としてモータMの動作を停止させるため、メインCPU11は、モーションコントローラ用CPU12に停止命令を出力する。そして、モーションコントローラ用CPU12は、モータドライバ15に対して停止命令を出力し、モータドライバ15は、その命令に基づいてモータMの停止処理を実施する。
【0036】
次に、本実施形態の作用を記載する。
本実施形態のプログラマブルコントローラ10では、ユーザが設定したラダー等によって構築された制御プログラムに基づいてモータMを含む各装置の駆動が制御される。また、プログラマブルコントローラ10では、モータドライバ15からモータMの駆動状態を示すステータス情報がモーションコントローラ用CPU12に対して出力される。モーションコントローラ用CPU12は、前記ステータス情報をメインCPU11に出力する。メインCPU11は記憶部13の所定のアドレスに前記ステータス情報を格納する。そして、メインCPU11は前記制御プログラム動作が終了後、前記ステータス情報を含む情報を確認し、モータMのステータス情報や他の装置の情報から各装置の状態をチェックする。
【0037】
また、プログラマブルコントローラ10では、モータドライバ15からの異常状態信号S1がモーションコントローラ用CPU12を介して割り込みラインL2からメインCPU11に入力された場合、異常時の処理を実行する。このとき、プログラマブルコントローラ10の出荷段階等で元々異常処理時の動作設定が予め設定される場合には、その処理を行うようにしてもよい。また、ユーザ等によって異常処理時の異常処理プログラムを用いる設定となっている場合には、該異常処理プログラムを実行してユーザ所望の処理を実施するようにしてもよい。
【0038】
次に、本実施形態の効果を記載する。
(1)メインCPU11には異常状態信号S1が入力される割り込みラインL2が接続され、割り込みラインL2を介して異常状態信号S1が入力された場合に、制御プログラムに基づく駆動命令の実行を停止し、予め設定された異常時の処理を実行する。これによりモータMの異常に対する異常時処理の応答性を向上できる。
【0039】
(2)ユーザによって設定された異常処理プログラムが選択された場合には、異常状態信号が入力された際に該異常処理プログラムが実行されるため、異常処理プログラムに沿った動作が可能となる。
【0040】
(3)異常処理プログラムは変更可能にユーザにて設定できるため、ユーザの所望の動作が可能となる。その結果、プログラマブルコントローラ10が接続されるシステム全体の動作を考慮した動作が可能となる。
【0041】
(4)異常状態信号S1は、モーションコントローラ用CPU12を介してメインCPU11に出力される。ここで、モータドライバ15とメインCPU11との間にモーションコントローラ用CPU12が位置することとなる。モーションコントローラ用CPU12は、モータドライバ15に適した信号と、メインCPU11に適した信号とを出力するため、モータドライバ15から出力された異常状態信号をメインCPU11に対して適切な状態で出力することが可能となる。このため、別途変換用の回路などを設けることがなく、部品点数の増加が抑えられる。
【0042】
(4)モーションコントローラ用CPU12とモータドライバ15とはイーサネットにより接続されるため、高速通信が可能となり、モータドライバ15から得られるモータMの駆動状態の変化(非異常状態から異常状態への変化)に即座に対応することができる。
【0043】
なお、本実施形態は、以下のように変更して実施することができる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
・上記実施形態では、モータドライバ15とメインCPU11との間において、モーションコントローラ用CPU12を介して異常状態信号S1が入力される構成としたが、これに限らない。例えば、モータドライバ15からメインCPU11に対して直接異常状態信号S1を入力する構成を採用してもよい。この場合、適宜モータドライバ15にメインCPU11に対して扱える状態の信号に変換するための変換回路を設けることが好ましい。
【0044】
・上記実施形態では、モータ駆動命令部としてのモーションコントローラ用CPU12とモータドライバ15との間をイーサネットにより接続する構成としたが、そのたの通信規格によって接続する構成であってもよい。
【0045】
・上記実施形態では、モータドライバ15においてモータMの駆動状態が異常である場合に、異常状態信号を出力する構成、すなわちモータドライバ15がモータ異常判定手段の機能を有する構成としたが、これに限らない。モータドライバ15以外の機器においてモータ異常判定手段の機能を有する構成を採用してもよい。
【符号の説明】
【0046】
1…プログラマブルコントローラシステム、10…プログラマブルコントローラ、11…メインCPU(プログラム実行部)、12…モーションコントローラ用CPU(モータ駆動命令部)、13…記憶部(プログラム記憶部、ステータス記憶部)、15…モータドライバ、L2…割り込みライン、M…モータ、S1…異常状態信号。