(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023151892
(43)【公開日】2023-10-16
(54)【発明の名称】制御システム、制御装置、制御方法及び制御プログラム
(51)【国際特許分類】
G05B 11/36 20060101AFI20231005BHJP
【FI】
G05B11/36 501Z
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022061751
(22)【出願日】2022-04-01
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【弁理士】
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】浪江 正樹
【テーマコード(参考)】
5H004
【Fターム(参考)】
5H004GA02
5H004GA05
5H004GB15
5H004HA07
5H004HA08
5H004HA10
5H004HA16
5H004HB07
5H004HB08
5H004HB10
5H004KB02
5H004KB04
5H004KB06
5H004KB12
5H004LA01
5H004LA02
5H004LA03
(57)【要約】
【課題】遅延時間が変動する場合でも時計機能を用いることなく安定した制御を可能にする。
【解決手段】センサ30で測定される対象装置20の物理量及び指令値に基づいて対象装置20に制御信号を送りフィードバック制御を行う制御装置10が、センサドライバ35で制御周期毎にインクリメントされる送信順序番号が付加された物理量を受信する受信部13と、遅延周期数の最大値に基づいて定まる要素数の配列を保有するバッファ部14と、物理量及び指令値に基づいて制御信号を生成する制御部11と、制御信号を対象装置20に送信する送信部12とを備え、制御部11が、制御周期毎に受信順序番号をインクリメントし、送信順序番号及び受信順序番号に基づいて定まる配列の格納位置に物理量を格納し、制御用格納位置に格納されている物理量及び指令値に基づいて制御信号を生成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
制御信号に基づいて制御される対象装置の物理量を測定するセンサと、
制御周期毎にインクリメントする送信順序番号を前記物理量に付加して送信するセンサドライバと、
前記物理量及び指令値に基づいて前記対象装置に前記制御信号を送信し、フィードバック制御を行う制御装置と、を備え、
前記制御装置は、
前記送信順序番号が付加された前記物理量を受信する受信部と、
制御周期において前記物理量を遅延して受信する遅延周期数の最大値に基づいて定まる要素数の配列を保有するバッファ部と、
前記物理量及び前記指令値に基づいて前記制御信号を生成する制御部と、
生成された前記制御信号を前記対象装置に送信する送信部と、
を備え、
前記制御部は、
制御周期毎に受信順序番号をインクリメントし、
受信された前記物理量に付加された前記送信順序番号及び前記受信順序番号に基づいて定まる配列の格納位置に前記物理量を格納し、
前記配列の格納位置のうち制御用格納位置に格納されている前記物理量及び前記指令値に基づいて前記制御信号を生成する、
制御システム。
【請求項2】
前記要素数は、前記遅延周期数の最大値から前記遅延周期数の最小値を減算した値に、1を加算した値である、
請求項1記載の制御システム。
【請求項3】
前記配列の格納位置は、前記受信順序番号から前記送信順序番号を減算した値から、さらに前記遅延周期数の最小値を減算した値に対応する格納位置である、
請求項1記載の制御システム。
【請求項4】
前記配列の制御用格納位置は、前記遅延周期数の最大値から前記遅延周期数の最小値を減算した値に対応する格納位置である、
請求項1記載の制御システム。
【請求項5】
前記制御部は、前記送信部により前記制御信号が送信された後に、前記配列に格納されている各要素をインデックス値の大きい方向に一つずつシフトする、
請求項1記載の制御システム。
【請求項6】
前記制御装置は、
前記対象装置のモデル及びむだ時間に基づくスミス補償器をさらに備え、
前記遅延周期数の最大値に基づいて定まる前記むだ時間を、前記スミス補償器に設定する、
請求項1から5のいずれか一項に記載の制御システム。
【請求項7】
センサにより測定される対象装置の物理量及び指令値に基づいて前記対象装置に制御信号を送り、フィードバック制御を行う制御装置であって、
センサドライバにおいて制御周期毎にインクリメントされる送信順序番号が付加された前記物理量を受信する受信部と、
制御周期において前記物理量を遅延して受信する遅延周期数の最大値に基づいて定まる要素数の配列を保有するバッファ部と、
前記物理量及び前記指令値に基づいて前記制御信号を生成する制御部と、
生成された前記制御信号を前記対象装置に送信する送信部と、
を備え、
前記制御部は、
制御周期毎に受信順序番号をインクリメントし、
受信された前記物理量に付加された前記送信順序番号及び前記受信順序番号に基づいて定まる配列の格納位置に前記物理量を格納し、
前記配列の格納位置のうち制御用格納位置に格納されている前記物理量及び前記指令値に基づいて前記制御信号を生成する、
制御装置。
【請求項8】
センサにより測定される対象装置の物理量及び指令値に基づいて前記対象装置に制御信号を送り、フィードバック制御を行う制御装置で実行される制御方法であって、
センサドライバにおいて制御周期毎にインクリメントされる送信順序番号が付加された前記物理量を受信することと、
制御周期において前記物理量を遅延して受信する遅延周期数の最大値に基づいて定まる要素数の配列を保有することと、
前記物理量及び前記指令値に基づいて前記制御信号を生成することと、
生成された前記制御信号を前記対象装置に送信することと、
を含み、
前記制御信号を生成することは、
制御周期毎に受信順序番号をインクリメントし、
受信された前記物理量に付加された前記送信順序番号及び前記受信順序番号に基づいて定まる配列の格納位置に前記物理量を格納し、
前記配列の格納位置のうち制御用格納位置に格納されている前記物理量及び前記指令値に基づいて前記制御信号を生成する、
制御方法。
【請求項9】
センサにより測定される対象装置の物理量及び指令値に基づいて前記対象装置に制御信号を送り、フィードバック制御を行う制御装置を、
センサドライバにおいて制御周期毎にインクリメントされる送信順序番号が付加された前記物理量を受信する受信部、
制御周期において前記物理量を遅延して受信する遅延周期数の最大値に基づいて定まる要素数の配列を保有するバッファ部、
前記物理量及び前記指令値に基づいて前記制御信号を生成する制御部、
生成された前記制御信号を前記対象装置に送信する送信部、
として機能させ、
前記制御部は、
制御周期毎に受信順序番号をインクリメントし、
受信された前記物理量に付加された前記送信順序番号及び前記受信順序番号に基づいて定まる配列の格納位置に前記物理量を格納し、
前記配列の格納位置のうち制御用格納位置に格納されている前記物理量及び前記指令値に基づいて前記制御信号を生成する、
制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御システム、制御装置、制御方法及び制御プログラムに関する。
【背景技術】
【0002】
ファクトリーオートメーションの技術分野において、サーボモータ等の対象装置を、センサによって測定された値に基づいてフィードバック制御することが行われている。ここで、対象装置に対して入力を与えてから、その入力に応じた出力が現れるまでに時間差がある場合、フィードバック制御ループはむだ時間(dead time)を有することになる。例えば、装置間が比較的低速の有線通信又は無線通信で接続される場合や、ベルトコンベア等の搬送装置の先でセンサによる測定が行われる場合にむだ時間が生じることがある。
【0003】
むだ時間が変動する場合、フィードバック制御が適切に行われないことがある。この点について、例えば、特許文献1には、むだ時間による遅延量の変動を抑えるために、遅延量の履歴から遅延量の上限値を算出し、この上限値を遅延設定値とし、制御データ(操作量)を作成してから遅延設定値分の時間が経過したときに、制御データを制御対象に送信する遠隔制御システムが記載されている。
【0004】
また、特許文献2には、制御ループを安定して実行させるために、センサ機器から測定データが送信された時点から、最大遅延時間が経過した時点で、制御データの生成が開始されるようにタイミングを調整する制御システムが記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】国際公開2018/034191号
【特許文献2】特開2012-222403号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、特許文献1に記載の遠隔制御システム及び特許文献2に記載の制御システムでは、各データを生成する際に送信側及び受信側の双方で時刻情報を使用している。つまり、送信側及び受信側の双方に時計機能が必要となる。
【0007】
本発明は、このような事情に鑑みてなされたものであり、遅延時間が変動する場合であっても、時計機能を用いることなく安定した制御を可能にする制御システム、制御装置、制御方法及び制御プログラムを提供することを目的の1つとする。
【課題を解決するための手段】
【0008】
本発明の一態様に係る制御システムは、制御信号に基づいて制御される対象装置の物理量を測定するセンサと、制御周期毎にインクリメントする送信順序番号を物理量に付加して送信するセンサドライバと、物理量及び指令値に基づいて対象装置に制御信号を送信し、フィードバック制御を行う制御装置と、を備え、制御装置は、送信順序番号が付加された物理量を受信する受信部と、制御周期において物理量を遅延して受信する遅延周期数の最大値に基づいて定まる要素数の配列を保有するバッファ部と、物理量及び指令値に基づいて制御信号を生成する制御部と、生成された制御信号を対象装置に送信する送信部と、を備え、制御部は、制御周期毎に受信順序番号をインクリメントし、受信された物理量に付加された送信順序番号及び受信順序番号に基づいて定まる配列の格納位置に物理量を格納し、配列の格納位置のうち制御用格納位置に格納されている物理量及び指令値に基づいて制御信号を生成する。
【0009】
この態様によれば、遅延周期数の最大値に基づいて定まる要素数の配列を保有したうえで、制御周期毎に、送信順序番号が付加された物理量を受信し、受信順序番号をインクリメントし、受信した物理量の送信順序番号及び受信順序番号に基づいて定まる配列の格納位置に、受信した物理量を格納し、さらに、配列の格納位置のうち制御用格納位置に格納されている物理量及び指令値に基づいて制御信号を生成して、対象装置に送信することが可能となる。
【0010】
上記態様において、要素数は、遅延周期数の最大値から遅延周期数の最小値を減算した値に、1を加算した値であってもよい。
【0011】
上記態様において、配列の格納位置は、受信順序番号から送信順序番号を減算した値から、さらに遅延周期数の最小値を減算した値に対応する格納位置であってもよい。
【0012】
上記態様において、配列の制御用格納位置は、遅延周期数の最大値から遅延周期数の最小値を減算した値に対応する格納位置であってもよい。
【0013】
上記態様において、制御部は、送信部により制御信号が送信された後に、配列に格納されている各要素をインデックス値の大きい方向に一つずつシフトしてもよい。
【0014】
上記態様において、制御装置は、対象装置のモデル及びむだ時間に基づくスミス補償器をさらに備え、遅延周期数の最大値に基づいて定まるむだ時間を、スミス補償器に設定してもよい。
【0015】
本発明の他の態様に係る制御装置は、センサにより測定される対象装置の物理量及び指令値に基づいて対象装置に制御信号を送り、フィードバック制御を行う制御装置であって、センサドライバにおいて制御周期毎にインクリメントされる送信順序番号が付加された物理量を受信する受信部と、制御周期において物理量を遅延して受信する遅延周期数の最大値に基づいて定まる要素数の配列を保有するバッファ部と、物理量及び指令値に基づいて制御信号を生成する制御部と、生成された制御信号を対象装置に送信する送信部と、を備え、制御部は、制御周期毎に受信順序番号をインクリメントし、受信された物理量に付加された送信順序番号及び受信順序番号に基づいて定まる配列の格納位置に物理量を格納し、配列の格納位置のうち制御用格納位置に格納されている物理量及び指令値に基づいて制御信号を生成する。
【0016】
この態様によれば、遅延周期数の最大値に基づいて定まる要素数の配列を保有したうえで、制御周期毎に、送信順序番号が付加された物理量を受信し、受信順序番号をインクリメントし、受信した物理量の送信順序番号及び受信順序番号に基づいて定まる配列の格納位置に、受信した物理量を格納し、さらに、配列の格納位置のうち制御用格納位置に格納されている物理量及び指令値に基づいて制御信号を生成して、対象装置に送信することが可能となる。
【0017】
本発明の他の態様に係る制御方法は、センサにより測定される対象装置の物理量及び指令値に基づいて対象装置に制御信号を送り、フィードバック制御を行う制御装置における制御方法であって、センサドライバにおいて制御周期毎にインクリメントされる送信順序番号が付加された物理量を受信することと、制御周期において物理量を遅延して受信する遅延周期数の最大値に基づいて定まる要素数の配列を保有することと、物理量及び指令値に基づいて制御信号を生成することと、生成された制御信号を対象装置に送信することと、を含み、制御信号を生成することは、制御周期毎に受信順序番号をインクリメントし、受信された物理量に付加された送信順序番号及び受信順序番号に基づいて定まる配列の格納位置に物理量を格納し、配列の格納位置のうち制御用格納位置に格納されている物理量及び指令値に基づいて制御信号を生成する。
【0018】
この態様によれば、遅延周期数の最大値に基づいて定まる要素数の配列を保有したうえで、制御周期毎に、送信順序番号が付加された物理量を受信し、受信順序番号をインクリメントし、受信した物理量の送信順序番号及び受信順序番号に基づいて定まる配列の格納位置に、受信した物理量を格納し、さらに、配列の格納位置のうち制御用格納位置に格納されている物理量及び指令値に基づいて制御信号を生成して、対象装置に送信することが可能となる。
【0019】
本発明の他の態様に係る制御プログラムは、センサにより測定される対象装置の物理量及び指令値に基づいて対象装置に制御信号を送り、フィードバック制御を行う制御装置を、センサドライバにおいて制御周期毎にインクリメントされる送信順序番号が付加された物理量を受信する受信部、制御周期において物理量を遅延して受信する遅延周期数の最大値に基づいて定まる要素数の配列を保有するバッファ部、物理量及び指令値に基づいて制御信号を生成する制御部、生成された制御信号を対象装置に送信する送信部、として機能させ、制御部は、制御周期毎に受信順序番号をインクリメントし、受信された物理量に付加された送信順序番号及び受信順序番号に基づいて定まる配列の格納位置に前記物理量を格納し、配列の格納位置のうち制御用格納位置に格納されている物理量及び指令値に基づいて制御信号を生成する。
【0020】
この態様によれば、遅延周期数の最大値に基づいて定まる要素数の配列を保有したうえで、制御周期毎に、送信順序番号が付加された物理量を受信し、受信順序番号をインクリメントし、受信した物理量の送信順序番号及び受信順序番号に基づいて定まる配列の格納位置に、受信した物理量を格納し、さらに、配列の格納位置のうち制御用格納位置に格納されている物理量及び指令値に基づいて制御信号を生成して、対象装置に送信することが可能となる。
【発明の効果】
【0021】
本発明によれば、遅延時間が変動する場合であっても、時計機能を用いることなく安定した制御を可能にする制御システム、制御装置、制御方法及び制御プログラムを提供することができる。
【図面の簡単な説明】
【0022】
【
図1】実施形態に係る制御システムのネットワーク構成を示す図である。
【
図2】配列PV(i)の構成を例示する模式図である。
【
図3】
図3(A)乃至(C)は、配列PV(i)を用いて物理量を整列する際の手順を示す模式図である。
【
図4】配列PV(i)の変形例を示す模式図である。
【
図5】実施形態に係る制御システムの制御ブロック図である。
【
図6】制御システムの制御ブロック図の変形例を示す図である。
【
図7】実施形態に係る制御装置の物理的な構成を示す図である。
【
図8】施形態に係る制御システムのセンサドライバにより実行される制御処理のフローチャートである。
【
図9】実施形態に係る制御システムの制御装置により実行される制御処理のフローチャートである。
【
図10】シミュレーション時の制御信号又は物理量の遅延周期数の推移を表す図である。
【
図11a】シミュレーションにおいて実施形態に係る制御装置により制御された対象装置の位置を示す図である。
【
図11b】シミュレーションにおいて実施形態に係る制御装置により制御された位置と指令値との誤差を示す図である。
【
図11c】シミュレーションにおいて実施形態に係る制御装置により制御された推力を示す図である。
【
図12a】シミュレーションにおいて比較例に係る制御装置により制御された対象装置の位置を示す図である。
【
図12b】シミュレーションにおいて比較例に係る制御装置により制御された位置と指令値との誤差を示す図である。
【
図12c】シミュレーションにおいて比較例に係る制御装置により制御された推力を示す図である。
【
図13a】シミュレーションにおいて変形例に係る制御装置で制御信号の遅延にも整列処理を実施した場合の対象装置の位置を示す図である。
【
図13b】シミュレーションにおいて変形例に係る制御装置で制御信号の遅延にも整列処理を実施した場合の位置と指令値との誤差を示す図である。
【
図13c】シミュレーションにおいて変形例に係る制御装置で制御信号の遅延にも整列処理を実施した場合の推力を示す図である。
【発明を実施するための形態】
【0023】
添付図面を参照して、本発明の好適な実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【0024】
図1は、本発明の実施形態に係る制御システム100のネットワーク構成を示す図である。制御システム100は、制御信号に基づいて制御される対象装置20と、対象装置20の物理量を測定するセンサ30と、センサ30により測定された物理量及び指令値に基づいて対象装置20に制御信号を送信してフィードバック制御を行う制御装置10と、を含んで構成される。
【0025】
対象装置20は、制御信号に基づいて制御される装置であればどのようなものであってもよい。以下では、説明を具体的にするため、対象装置20として、可動部の位置をサーボモータによって制御する装置を仮定する。この場合、指令値は可動部の位置に関する目標値であり、制御信号はサーボモータの推力(トルク)である。
【0026】
センサ30は、対象装置20に関する任意の物理量を測定するものであってよい。例えば、対象装置20が可動部の位置を制御する装置である場合、センサ30は、当該可動部の位置を測定するものであればよい。
【0027】
制御装置10、対象装置20及びセンサ30は、通信ネットワークNによって互いに通信可能に接続される。通信ネットワークNは、有線通信又は無線通信のネットワークであってよく、例えばEtherNet/IPやEtherCAT(登録商標)等の規格に従う通信ネットワークであってもよいし、ローカル5Gを用いる通信ネットワークであってもよい。
【0028】
制御システム100は、モータドライバ25及びセンサドライバ35をさらに含む。モータドライバ25は、対象装置20を制御するためのデバイスドライバであり、センサドライバ35は、センサ30を制御するためのデバイスドライバである。モータドライバ25及びセンサドライバ35は、対象装置20及びセンサ30と別体の構成として設けてもよいし、対象装置20及びセンサ30にインストールしてもよい。
【0029】
センサドライバ35は、センサ30において制御周期毎に測定される物理量のデータに、さらに送信順序番号を付加して制御装置10に送信する。送信順序番号は、センサ30の制御周期毎にインクリメントされる番号である。
【0030】
制御装置10は、機能的な構成として、例えば、制御部11、送信部12、受信部13及びバッファ部14を有する。
【0031】
送信部12は、制御部11により生成された制御信号を対象装置20に送信する。受信部13は、送信順序番号が付加された物理量のデータを受信する。
【0032】
バッファ部14は、特定の要素数からなる配列を保有する。配列を構成する要素の数は、物理量を受信するときに生ずる遅延周期数の最小値及び最大値に基づいて定めることができる。例えば、遅延周期数の最大値から遅延周期数の最小値を減算した値に1を加算した値を、配列の要素数として定めることが好ましい。なお、遅延周期数の最小値が不明な場合には、遅延周期数の最小値を1又は0とし、遅延周期数の最大値又は、遅延周期数の最大値に1を加算した値のいずれかを、配列の要素数として定めてもよい。
【0033】
図2を参照して具体的に説明する。同図に示すように、遅延周期数の最小値が3であり、遅延周期数の最大値が5である場合に、配列PV(i)を構成する要素の数は、5-3+1=3となる。
【0034】
図1に示す制御部11は、目標値に対する物理量のずれが小さくなるように指令値を生成する。制御装置10の制御対象が対象装置20の可動部の位置である場合、目標値及び指令値は位置に関する値となる。
【0035】
制御部11は、センサ30により測定された対象装置20の物理量、及び指令値に基づいて、対象装置20を制御するための制御信号を生成する。例えば、対象装置20が、可動部の位置をサーボモータによって制御する装置である場合、制御信号は、サーボモータの推力(トルク)を制御する信号となる。
【0036】
制御部11は、制御周期毎に受信順序番号をインクリメントする。制御部11は、受信部13により受信された物理量を、バッファ部14の配列の特定位置に格納する。物理量を格納する位置は、受信した物理量に付加された送信順序番号、及び受信順序番号に基づいて定めることができる。例えば、受信順序番号から送信順序番号を減算した値から、さらに遅延周期数の最小値を減算した値に対応する位置に、受信した物理量を格納することが好ましい。
【0037】
図2を参照して具体的に説明する。同図に示すように、0から2までの3つの添字(インデックス)が割り振られた配列PV(i)において、例えば、受信した物理量に付加された送信順序番号が1であり、受信順序番号が4であり、遅延周期数の最小値が3である場合に、受信した物理量を格納する位置は、[受信順序番号]4-[送信順序番号]1-[遅延周期数の最小値]3=0の位置、つまり添字が0である配列PV(0)の位置となる。
【0038】
図1に示す制御部11は、配列の格納位置のうち制御用格納位置に格納されている物理量、及び指令値に基づいて制御信号を生成する。制御用格納位置は、制御用の物理量が格納されている格納位置であり、遅延周期数の最小値及び最大値に基づいて定めることができる。例えば、遅延周期数の最大値から遅延周期数の最小値を減算した値に対応する格納位置を、制御用格納位置にすることが好ましい。
【0039】
図2を参照して具体的に説明する。同図に示すように、遅延周期数の最小値が3であり、遅延周期数の最大値が5である場合に、制御用格納位置は、[遅延周期数の最大値]5-[遅延周期数の最小値]3=2の位置、つまり添字が2である配列PV(2)の位置となる。
【0040】
図1に示す制御部11は、送信部12により制御信号が送信された後に、配列に格納されている各要素を添字の大きい方向に一つずつシフトする。なお、制御信号は、制御周期毎に送信される。
【0041】
図2を参照して具体的に説明する。同図に示すように、配列PV(0)に要素1が格納され、配列PV(1)に要素2が格納され、配列PV(2)に要素3が格納されているときに、制御信号が送信されると、配列PV(0)に格納されている要素1が配列PV(1)に格納され、配列PV(1)に格納されている要素2が配列PV(2)に格納される。その際、配列PV(0)には初期値を格納することが好ましい。初期値は、物理量と区別できる値であればどのような値であってもよい。例えば、初期値として、NA(NoAvailable)を用いてもよい。
【0042】
図3を参照して、制御部11が、センサドライバ35から受信した物理量を、配列PV(i)を用いて整列する際の手順について具体的に説明する。
【0043】
図3は、
図2と同様に、遅延周期数の最小値が3であり、遅延周期数の最大値が5であり、配列PV(i)の要素数が3であり、制御用格納位置が配列PV(2)の位置である場合を一例にした処理概念図である。
【0044】
図3(A)は、遅延周期数が3である時の処理概念図であり、
図3(B)は、遅延周期数が4である時の処理概念図であり、
図3(C)は、遅延周期数が5である時の処理概念図である。
【0045】
各図とも、制御周期毎に1行ずつ下の行に移行しながら処理を進めていくことをイメージしたものである。送信順序番号SndNO及び受信順序番号RcvNOは、処理の開始時にそれぞれ0に初期化され、処理の開始後は制御周期毎にそれぞれインクリメントされる。物理量を格納する配列PV(i)の各要素は、処理の開始時にNAに初期化されるとともに、配列の各要素を右側(添字の大きい側)に1枠ずつシフトする時にシフト元の要素が空である場合にもNAに初期化される。
【0046】
図3(A)は、遅延周期数が3であるため、4番目の制御周期に対応する受信順序番号RcvNOが4になったときに、送信順序番号SndNOが1のときに送信された物理量“3”を受信する。このとき、物理量を格納する位置は、[RcvNO]4-[SndNO]1-[遅延周期数の最小値]3=0より、配列PV(0)の位置となる。したがって、受信した物理量“3”は、配列PV(0)に格納される。
【0047】
5番目の制御周期に移行する前に、配列PV(i)の各要素が右側に1枠ずつシフトされる。そして、5番目の制御周期に移行すると、受信順序番号RcvNOが5にインクリメントされ、送信順序番号SndNOが2のときに送信された物理量“5”を受信する。このとき、物理量を格納する位置は、[RcvNO]5-[SndNO]2-[遅延周期数の最小値]3=0より、配列PV(0)の位置となる。したがって、受信した物理量“5”は、配列PV(0)に格納される。
【0048】
同様に、6番目の制御周期に移行する前に、配列PV(i)の各要素が右側に1枠ずつシフトされる。そして、6番目の制御周期に移行すると、受信順序番号RcvNOが6にインクリメントされ、送信順序番号SndNOが3のときに送信された物理量“7”を受信する。このとき、物理量格納位置は、[RcvNO]6-[SndNO]3-[遅延周期数の最小値]3=0より、配列PV(0)の位置となる。したがって、受信した物理量“7”は、配列PV(0)に格納される。
【0049】
この6番目の制御周期のときに、制御用格納位置となる配列PV(2)に格納されている物理量“3”と指令値とに基づいて、制御部11が制御信号を生成し、その生成した制御信号が対象装置20に送信される。同様に、7番目の制御周期のときに、配列PV(2)に格納されている物理量“5”と指令値とに基づいて生成された制御信号が対象装置20に送信され、8番目の制御周期のときに、配列PV(2)に格納されている物理量“7”と指令値とに基づいて生成された制御信号が対象装置20に送信される。
【0050】
図3(B)は、遅延周期数が4となるため、5番目の制御周期に対応する受信順序番号RcvNOが5になったときに、送信順序番号SndNOが1のときに送信された物理量“3”を受信する。このとき、物理量を格納する位置は、[RcvNO]5-[SndNO]1-[遅延周期数の最小値]3=1より、配列PV(1)の位置となる。したがって、受信した物理量“3”は、配列PV(1)に格納される。
【0051】
このように、遅延周期数が4のときは、受信した物理量を格納する位置が配列PV(1)の位置になる点で、受信した物理量を格納する位置が配列PV(0)の位置になる遅延周期数が3のときに実行される処理内容と異なる。
【0052】
他方、6番目から8番目の制御周期のときに、制御用格納位置となる配列PV(2)に格納されている物理量“3”、“5”、“7”をそれぞれ用いて制御信号を生成する点は、遅延周期数が3のときに実行される処理内容と同じである。
【0053】
図3(C)は、遅延周期数が5となるため、6番目の制御周期に対応する受信順序番号RcvNOが6になったときに、送信順序番号SndNOが1のときに送信された物理量“3”を受信する。このとき、物理量を格納する位置は、[RcvNO]6-[SndNO]1-[遅延周期数の最小値]3=2より、配列PV(2)の位置となる。したがって、受信した物理量“3”は、配列PV(2)に格納される。
【0054】
このように、遅延周期数が5のときは、受信した物理量を格納する位置が配列PV(2)の位置になる点で、受信した物理量を格納する位置が配列PV(0)の位置になる遅延周期数が3のときに実行される処理内容と異なる。
【0055】
他方、6番目から8番目の制御周期のときに、制御用格納位置となる配列PV(2)に格納されている物理量“3”、“5”、“7”をそれぞれ用いて制御信号を生成する点は、遅延周期数が3又は4のときに実行される処理内容と同じである。
【0056】
つまり、遅延周期数が、最小値である3から最大値である5までの間で常時変動したとしても、6番目以降の制御周期のときに生成されるそれぞれの制御信号は、送信順序番号SndNOの順番に並べ替えた物理量に基づく内容に統一される。それゆえ、遅延周期数が変動する場合であっても、その変動に伴うデータのばらつきの影響を回避し、安定した制御性能を得ることができる。
【0057】
なお、制御信号を生成するときに、配列PV(2)に物理量が格納されていない場合には、例えば、前回の制御周期で使用した物理量と、今回の配列PV(i)に格納されている物理量のうち最も古い(添字が最も大きい)物理量とを用いて内挿補間し、今回の制御周期で使用する物理量を生成することにしてもよい。
【0058】
また、上記に例示した処理説明では、物理量の送信側と受信側の処理が同時に開始されることを前提に説明しているが、送信側と受信側とで処理の開始がずれることもある。そのような状況を考慮し、配列PV(i)の要素数を、標準となる要素数よりも多く確保することとしてもよい。標準となる要素数とは、上述した、遅延周期数の最大値から遅延周期数の最小値を減算した値に1を加えた値である。
【0059】
例えば、
図4に示すように、標準の要素数からなる標準部Sの配列の前後に、前側マージン部Maの配列と後側マージン部Mbの配列とを付加して、配列PV(i)を構成してもよい。このように配列PV(i)を構成した場合、制御用格納位置を、配列の添字が最大となる位置に設定することが好ましい。
【0060】
配列PV(i)が
図4の構成を有する場合、送信側と受信側の処理が同時に開始された時には、標準部Sの配列にのみ物理量が格納される。一方、送信側の処理の方が早く開始された時には、見かけのむだ時間が短くなり、前側マージン部Maの配列にも物理量が格納される。そして、受信側の処理の方が早く開始された時には、見かけのむだ時間が長くなり、後側マージン部Mbの配列にも物理量が格納される。
【0061】
前側マージン部Ma及び後側マージン部Mbの要素数は、送信側と受信側との間で処理を開始するタイミングがずれる可能性がある範囲を考慮して設定することが好ましい。前側マージン部Maと後側マージン部Mbの両方を設けずに、どちらか一方のみを設けることとしてもよい。
【0062】
また、前側マージン部Ma及び後側マージン部Mbを設けた後に、それぞれの要素数を制御対象の動作ごとに変更してもよい。例えば、前側マージン部Ma及び後側マージン部Mbの格納位置において、前回の動作時に物理量が格納されなかった格納位置の範囲を不要な範囲であると判断し、次の動作時には、その不要な範囲の格納位置をマージン部から除去してもよい。
【0063】
図5は、本実施形態に係る制御システム100の制御ブロック図である。以下では、制御装置10によって対象装置20の可動部の位置を制御する場合について説明する。
【0064】
最初に、制御装置10は、指令値rを生成する(S40)。本例の場合、指令値rは位置に関する値である。指令値rはPID制御に入力され、推力を表す制御信号uがPID制御から出力される(S41)。なお、同図ではフィードフォワード制御ブロックを省略しているが、制御ブロックとしてフィードフォワード制御ブロックを含んでもよく、例えば、モデル追従型2自由度制御を適用してもよい。
【0065】
制御装置10は、むだ時間Lmに関する要素(1-e-Lms)を制御信号uに乗じて(S42)、制御対象モデルPm(s)に入力し、その制御対象モデルPm(s)からの出力(S43)を、PID制御にフィードバックする(S41)。ここで、S42及びS43は、スミス補償器により処理される。制御対象モデルPm(s)は、対象装置20の可動部が従う運動方程式のモデルであり、例えば、可動部に加えられる推力と、慣性力及び摩擦力との間に成り立つ運動方程式に基づいて導かれたモデルであってもよい。制御対象モデルPm(s)として、例示的に、{1/(Jm×s+Cm)s}を用いることができる。Jmは慣性係数のモデル値を表し、Cmは粘性摩擦係数のモデル値を表し、sはラプラス演算子を表す。
【0066】
続いて、PID制御から出力された制御信号uが制御対象P(s)に向けて送信され(S44)、むだ時間Lだけ時間遅れe-Lsが生じた後に、モータドライバ25により受信される(S45)。
【0067】
モータドライバ25は、受信した制御信号uを制御対象P(s)に出力し(S46)、制御対象P(s)のサーボモータは、制御信号uである推力により制御される(S47)。ここで、制御対象は、対象装置20の一部(例えば可動部)又は全部であってよい。制御対象P(s)は、対象装置20の可動部が従う運動方程式のモデルであり、例えば、可動部に加えられる推力と、慣性力及び摩擦力との間に成り立つ運動方程式に基づいて導かれたモデルであってよい。制御対象P(s)として、例示的に、{1/(J×s+C)s}を用いることができる。Jは慣性係数の値を表し、Cは粘性摩擦係数の値を表し、sはラプラス演算子を表す。
【0068】
続いて、制御対象P(s)の物理量である位置yがセンサ30により読み取られ(S48)、読み取られた物理量である位置yがセンサドライバ35に入力され(S49)、制御装置10に送信される(S50)。
【0069】
センサドライバ35から送信された物理量である位置yは、むだ時間Lだけ時間遅れe-Lsが生じた後に、制御装置10により受信される(S51)。
【0070】
制御装置10は、受信した物理量である位置yを、上述したように配列PV(i)に格納して物理量を整列し、配列PV(i)の制御用格納位置に格納された物理量である位置ycを出力する物理量整列制御を実行する(S52)。
【0071】
制御装置10は、物理量整列制御により出力された位置ycをPID制御にフィードバックする(S41)。
【0072】
制御装置10は、このような制御を制御周期毎に繰り返すことで、物理量である位置yが指令値rに追従するように制御を行う。
【0073】
ここで、
図5に示す制御装置10に、MPC(Model Predictive Control)を適用してもよい。MPCは、制御信号uと物理量yとの関係を示す動特性モデルと指令位置rとを用いてモデル予測制御を行うものである。
図6に、MPCを適用した場合の制御システム100の制御ブロックを示す。
【0074】
図6に示す制御装置10の構成が、
図5に示す制御装置10の構成と異なる点は、
図5のPID制御(S41)に替えて、PI制御(S41c)とし、そのPI制御(S41c)の入力側に、新たにMPC(S41a)を設け、さらに、PI制御(S41c)にフィードバックする物理量である位置ycを速度に変換する微分器S41bを設けた点である。また、S43のモデルが、
図5の位置を制御するモデルPm(s)から、速度を制御するモデルVm(s)に替わる点も異なる。Vm(s)として、例示的に、{1/(Jm×s+Cm)}を用いることができる。
図6に示すその他の構成要素については、
図5の構成要素と同じであるため、それらの説明については省略する。
【0075】
図7は、本実施形態に係る制御装置10の物理的な構成を例示する図である。制御装置10は、演算部に相当するCPU(Central Processing Unit)10aと、記憶部に相当するRAM(Random Access Memory)10bと、記憶部に相当するROM(Read Only Memory)10cと、通信部10dと、入力部10eと、表示部10fと、を有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。なお、本例では制御装置10が一台のコンピュータで構成される場合について説明するが、制御装置10は、複数のコンピュータが組み合わされて実現されてもよい。また、
図7に示す構成は一例であり、制御装置10はこれら以外の構成を有してもよいし、これらの構成のうち一部を有さなくてもよい。
【0076】
CPU10aは、RAM10b又はROM10cに記憶されたプログラムを実行し、各種の制御やデータの演算及び加工を行う制御部として機能する。例えば、CPU10aは、対象装置20を制御するためのプログラム(制御プログラム)を実行する。また、CPU10aは、入力部10eや通信部10dから種々のデータを受け取り、データの演算結果を表示部10fに表示したり、RAM10bに格納したりする。
【0077】
RAM10bは、記憶部のうちデータの書き換えが可能なものであり、例えば半導体記憶素子で構成されてよい。RAM10bは、例えばCPU10aが実行するプログラム、そのプログラムで用いるデータを記憶してよい。なお、これらは例示であって、RAM10bには、これら以外のデータが記憶されてもよいし、これらの一部が記憶されなくてもよい。
【0078】
ROM10cは、記憶部のうちデータの読み出しが可能なものであり、例えば半導体記憶素子で構成されてよい。ROM10cは、例えば制御プログラムや、書き換えが行われないデータを記憶してよい。
【0079】
通信部10dは、制御装置10を他の機器に接続するインターフェースである。通信部10dは、LAN等の通信ネットワークに接続されてよい。
【0080】
入力部10eは、ユーザからデータの入力を受け付けるものであり、例えば、キーボード及びタッチパネルを含んでよい。
【0081】
表示部10fは、CPU10aによる演算結果を視覚的に表示するものであり、例えば、LCD(Liquid Crystal Display)により構成されてよい。表示部10fは、例えば、制御信号や物理量を時系列で表示してよい。
【0082】
制御プログラムは、RAM10bやROM10c等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部10dにより接続される通信ネットワークを介して提供されてもよい。制御装置10では、CPU10aが制御プログラムを実行することにより、上記で説明した様々な動作が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、制御装置10は、CPU10aとRAM10bやROM10cが一体化したLSI(Large-Scale Integration)を備えてもよい。
【0083】
次に、
図8を参照して、実施形態に係る制御システム100のセンサドライバ35により実行される制御処理の一例について説明する。
【0084】
最初に、センサドライバ35は、初期処理を実行する(ステップS101)。初期処理には、例えば、送信順序番号SndNOを0に初期化することが含まれる。
【0085】
続いて、センサドライバ35は、制御ループ処理を開始する。制御ループ処理は、所定の制御周期毎に繰り返し実行される処理である(後述するステップS102からステップS105までの処理)。
【0086】
制御ループ処理において、最初に、センサドライバ35は、送信順序番号SndNOをインクリメントする(ステップS102)。
【0087】
続いて、センサドライバ35は、センサ30で測定された物理量yを取得する(ステップS103)。
【0088】
続いて、センサドライバ35は、上記ステップS103で取得した物理量yのデータに、上記ステップS102でインクリメントした送信順序番号SndNOを付加して、制御装置10に送信する(ステップS104)。
【0089】
続いて、センサドライバ35は、制御ループ処理を終了するか否か判定する(ステップS105)。この判定がNOである場合(ステップS105;NO)に、上記ステップS102に処理を移行する一方、この判定がYESである場合(ステップS105;YES)に、制御ループ処理を抜けて本処理を終了する。
【0090】
次に、
図9を参照して、実施形態に係る制御システム100の制御装置10により実行される制御処理の一例について説明する。
【0091】
最初に、制御装置10は、初期処理を実行する(ステップS201)。初期処理には、例えば、受信順序番号RcvNOを0に初期化すること、配列PV(i)の要素数を決定すること、配列PV(i)の各要素をNAに初期化すること、が含まれる。
【0092】
続いて、制御装置10は、制御ループ処理を開始する。制御ループ処理は、所定の制御周期毎に繰り返し実行される処理である(後述するステップS202からステップS209までの処理)。
【0093】
制御ループ処理において、最初に、制御装置10は、受信順序番号RcvNOをインクリメントする(ステップS202)。
【0094】
続いて、制御装置10は、上記ステップS104でセンサドライバ35により送信された物理量y及び送信順序番号SndNOを受信する(ステップS203)。
【0095】
続いて、制御装置10は、上記ステップS203で受信した物理量yを、配列PV(i)の特定位置に格納する(ステップS204)。配列PV(i)の特定位置は、送信順序番号SndNO、受信順序番号RcvNO及び遅延周期数の最小値に基づいて定めることができる。
【0096】
続いて、制御装置10は、配列PV(i)の制御用格納位置から、制御用の物理量ycを取得する(ステップS205)。配列PV(i)の制御用格納位置は、遅延周期数の最小値及び最大値に基づいて定めることができる。
【0097】
続いて、制御装置10は、上記ステップS205で取得した制御用の物理量ycと、指令値rとに基づいて、制御信号uを生成する(ステップS206)。
【0098】
続いて、制御装置10は、上記ステップS206で生成した制御信号uを対象装置20に送信する(ステップS207)。
【0099】
続いて、制御装置10は、配列PV(i)の各要素を右側(添字が大きい側)に1枠ずつシフトする(ステップS208)。
【0100】
続いて、制御装置10は、制御ループ処理を終了するか否か判定する(ステップS209)。この判定がNOである場合(ステップS209;NO)に、上記ステップS202に処理を移行する一方、この判定がYESである場合(ステップS209;YES)に、制御ループ処理を抜けて本処理を終了する。
【0101】
[シミュレーション結果]
実施形態に係る制御システム100の効果を検証するために行ったシミュレーションの結果について以下に説明する。
【0102】
シミュレーション時の条件は、次のとおりである。慣性質量は10[kg]、粘性摩擦係数は0[Ns/m]、制御周期は0.25[ms]である。指令値となる位置は、時刻10[ms]から250[ms]までの間に原点から100[mm]まで単調増加し、移動の際の最大加速度は10000[mm/s
2]である。制御信号uの遅延周期数又は物理量yの遅延周期数dは、
図10に示すように13から17であり、遅延周期数dの平均は15である。同図のグラフは、縦軸が遅延周期数dを示し、横軸が経過時間[ms]を示す。また、本シミュレーションでは、モデル誤差及び外乱は生じていないものとする。
【0103】
図11a乃至
図11cに、本実施形態に係る制御装置10に対するシミュレーション結果を表示し、
図12a乃至
図12cに、比較例に係る制御装置に対するシミュレーション結果を表示する。比較例に係る制御装置は、
図5に示す制御装置10の制御ブロックのうち、物理量整列制御(S52)を省略したものであり、比較例においてセンサドライバ35から受信する対象装置20の位置y1aをそのままPID制御にフィードバックするものである。
【0104】
ここで、本実施形態に係る制御装置10に対するシミュレーションでは、スミス補償器のむだ時間周期を32とし、比較例に係る制御装置に対するシミュレーションでは、スミス補償器のむだ時間周期を30とする。本実施形態のむだ時間周期となる32は、制御信号uの遅延周期数dの平均である15と、物理量yの遅延周期数dの最大値である17とを加算したものである。比較例のむだ時間周期となる30は、遅延周期数dの平均である15を、1往復(送受信)分にするために2倍にしたものである。
【0105】
図11aは、本実施形態に係る制御装置10により制御された対象装置20の位置y1を示す図である。同図では、対象装置20の位置y1を実線で示し、指令値rを破線で示している。
図11bは、本実施形態に係る制御装置10により制御された位置y1と指令値rとの誤差(偏差)を示す図である。
図11cは、本実施形態に係る制御装置10により制御された推力を示す図である。推力は、制御装置10から対象装置20に送信される制御信号である。
【0106】
図12aは、比較例に係る制御装置により制御された対象装置の位置y1aを示す図である。同図では、対象装置20の位置y1aを実線で示し、指令値rを破線で示している。
図12bは、比較例に係る制御装置により制御された位置y1aと指令値rとの誤差(偏差)を示す図である。
図12cは、比較例に係る制御装置により制御された推力を示す図である。
【0107】
本実施形態と比較例とを比較すると、
図12a乃至
図12cに示す比較例では、物理量である位置y1aに大きなノイズが印可されたような状態になり、その物理量である位置y1aに基づいて生成される制御信号である推力が激しく振動している。つまり、比較例では、目標位置への整定はできるものの、推力飽和を繰り返す状態になっており、正常に制御できている状態ではない。
【0108】
これに対し、
図11a乃至
図11cに示す本実施形態では、物理量整列制御(S52)を実施することで、推力の振動がなく、良好に制御できている。
【0109】
ここで、上述した実施形態では、物理量整列制御(S52)を、制御装置10がセンサドライバ35から受信する物理量yの遅延に対してのみ実施しているが、物理量整列制御(S52)と同様の整列制御を、モータドライバ25が制御装置10から受信する制御信号uの遅延に対してもさらに実施することにしてもよい。
【0110】
この変形例におけるシミュレーション結果を、
図13a乃至
図13cに示す。変形例に対するシミュレーションでは、スミス補償器のむだ時間周期を34とする。このむだ時間周期となる34は、制御信号uの遅延周期数dの最大値である17と、物理量yの遅延周期数dの最大値である17とを加算したものである。シミュレーション時のその他の条件は、上述した実施形態のシミュレーション時と同様である。
【0111】
本実施形態と変形例とを比較すると、
図11bと
図13bの位置誤差及び
図11cと
図13cの推力を示すグラフレンジが両者で異なるため、一見すると違いがあるようにも見えるが、グラフレンジを揃えると両者の結果にはほとんど差がない状態となる。したがって、変形例のように、制御信号uの遅延に対しても整列制御を実施する必要性はあまり高くはないものと考えられる。なお、変形例の位置誤差の最大値(
図11b)が、本実施形態の位置誤差の最大値(
図13b)よりもわずかに大きくなっているが、これは、変形例の方がスミス補償器のむだ時間周期を長くしていることによるものである。
【0112】
上述したように、実施形態に係る制御システム100によれば、遅延周期数の最小値及び最大値に基づいて定まる配列PV(i)を保有したうえで、制御周期毎に、物理量yを受信し、受信順序番号RcvNOをインクリメントし、受信した物理量yの送信順序番号SndNO、受信順序番号RcvNO及び遅延周期数の最小値に基づいて定まる配列PV(i)の格納位置に、受信した物理量yを格納し、配列PV(i)の制御用格納位置に格納されている物理量yc及び指令値rに基づいて制御信号uを生成して対象装置20に送信し、配列PV(i)の各要素を一つずつシフトすることが可能となる。
【0113】
これにより、遅延周期数が、最小値から最大値までのいずれになったとしても、遅延周期数の最大値よりも後に対象装置20に送信する制御信号を、送信順序番号SndNOの順番に並べ替えた物理量に基づいて生成することができる。
【0114】
それゆえ、実施形態に係る制御システム100によれば、遅延周期数が変動する場合であっても、時計機能を用いることなく、遅延周期数の変動に伴うデータのばらつきの影響を回避し、安定した制御性能を得ることが可能となる。
【0115】
以上説明した実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。また、上述した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。
【0116】
[付記]
本実施形態における態様は、以下のような開示を含む。
【0117】
(付記1)
制御信号に基づいて制御される対象装置(20)の物理量を測定するセンサ(30)と、
制御周期毎にインクリメントする送信順序番号を物理量に付加して送信するセンサドライバ(35)と、
物理量及び指令値に基づいて対象装置(20)に制御信号を送信し、フィードバック制御を行う制御装置(10)と、を備え、
制御装置(10)は、
送信順序番号が付加された物理量を受信する受信部(13)と、
制御周期において物理量を遅延して受信する遅延周期数の最大値に基づいて定まる要素数の配列を保有するバッファ部(14)と、
物理量及び指令値に基づいて制御信号を生成する制御部(11)と、
生成された制御信号を対象装置に送信する送信部(12)と、
を備え、
制御部(11)は、
制御周期毎に受信順序番号をインクリメントし、
受信された物理量に付加された送信順序番号及び受信順序番号に基づいて定まる配列の格納位置に物理量を格納し、
配列の格納位置のうち制御用格納位置に格納されている物理量及び指令値に基づいて制御信号を生成する、
制御システム(100)。
【0118】
(付記2)
センサ(30)により測定される対象装置(20)の物理量及び指令値に基づいて対象装置(20)に制御信号を送り、フィードバック制御を行う制御装置(10)であって、
センサドライバ(35)において制御周期毎にインクリメントされる送信順序番号が付加された物理量を受信する受信部(13)と、
制御周期において物理量を遅延して受信する遅延周期数の最大値に基づいて定まる要素数の配列を保有するバッファ部(14)と、
物理量及び指令値に基づいて制御信号を生成する制御部(11)と、
生成された制御信号を対象装置(20)に送信する送信部(12)と、
を備え、
制御部(11)は、
制御周期毎に受信順序番号をインクリメントし、
受信された物理量に付加された送信順序番号及び受信順序番号に基づいて定まる配列の格納位置に物理量を格納し、
配列の格納位置のうち制御用格納位置に格納されている物理量及び指令値に基づいて制御信号を生成する、
制御装置(10)。
【0119】
(付記3)
センサ(30)により測定される対象装置(20)の物理量及び指令値に基づいて対象装置(20)に制御信号を送り、フィードバック制御を行う制御装置(10)で実行される制御方法であって、
センサドライバ(35)において制御周期毎にインクリメントされる送信順序番号が付加された物理量を受信することと、
制御周期において物理量を遅延して受信する遅延周期数の最大値に基づいて定まる要素数の配列を保有することと、
物理量及び指令値に基づいて制御信号を生成することと、
生成された制御信号を対象装置(20)に送信することと、
を含み、
制御信号を生成することは、
制御周期毎に受信順序番号をインクリメントし、
受信された物理量に付加された送信順序番号及び受信順序番号に基づいて定まる配列の格納位置に物理量を格納し、
配列の格納位置のうち制御用格納位置に格納されている物理量及び指令値に基づいて制御信号を生成する、
制御方法。
【0120】
(付記4)
センサ(30)により測定される対象装置(20)の物理量及び指令値に基づいて対象装置(20)に制御信号を送り、フィードバック制御を行う制御装置(10)を、
センサドライバ(35)において制御周期毎にインクリメントされる送信順序番号が付加された物理量を受信する受信部(13)、
制御周期において物理量を遅延して受信する遅延周期数の最大値に基づいて定まる要素数の配列を保有するバッファ部(14)、
物理量及び指令値に基づいて制御信号を生成する制御部(11)、
生成された制御信号を対象装置(20)に送信する送信部(12)、
として機能させ、
制御部(11)は、
制御周期毎に受信順序番号をインクリメントし、
受信された物理量に付加された送信順序番号及び受信順序番号に基づいて定まる配列の格納位置に物理量を格納し、
配列の格納位置のうち制御用格納位置に格納されている物理量及び指令値に基づいて制御信号を生成する、
制御プログラム。
【符号の説明】
【0121】
10…制御装置、10a…CPU、10b…RAM、10c…ROM、10d…通信部、10e…入力部、10f…表示部、11…制御部、12…送信部、13…受信部、14…バッファ部、20…対象装置、25…モータドライバ、30…センサ、35…センサドライバ、100…制御システム