(58)【調査した分野】(Int.Cl.,DB名)
前記制御パラメータ識別子設定領域は、さらに、制御パラメータごとにPLC部からドライブ制御部へ渡される制御パラメータなのか、ドライブ制御部からPLC部へ渡される制御パラメータなのかを表す受け渡し方向情報を含むことを特徴とする請求項1に記載のPLC機能内蔵型ドライブ制御装置。
前記制御パラメータ識別子設定領域は、さらに受け渡しの準備ができたことを表す準備済みフラグ情報を含み、前記PLC部および前記制御パラメータ交換制御部は、前記制御パラメータ格納領域への書き込みが完了したときに、当該準備済みフラグ情報をセットし、前記制御パラメータ格納領域からの読み出しが完了したときに、前記準備済みフラグ情報をリセットすることを特徴とする請求項2に記載のPLC機能内蔵型ドライブ制御装置。
前記PLC同期制御部は、前記PLC部が前記制御パラメータ格納領域から制御パラメータを読み出すためのタイミング信号を出力し、前記PLC部は、前記制御パラメータ交換制御部が前記制御パラメータ格納領域から制御パラメータを読み出すためのタイミング信号を出力することを特徴とする請求項4に記載のPLC機能内蔵型ドライブ制御装置。
【背景技術】
【0002】
従来において、インバータ等を備えてモータ等の負荷の効率的な制御を行うドライブ制御装置では、上位装置としてPLCを接続してシーケンス制御を実現していた。例えば
図12に示す従来のドライブ制御装置120aは、別に設けられるPLC110aと通信手段130aを介して接続され、図示しない負荷の制御を行うドライブ制御部123で用いられる制御パラメータを受け取る。この制御パラメータは、シーケンス制御を実行するPLC110aのラダー演算部111や算術演算部112で演算される。
【0003】
さらに近年では、必要とするシーケンス制御が複雑ではない場合には、ドライブ制御装置にPLCオプション装置を組み込んだり、PLCそのものをドライブ制御装置に内蔵したりすることで、PLC機能を内蔵させてシーケンス制御を実現する装置(以下、「PLC機能内蔵型ドライブ制御装置」と言う。)も開発されている。(例えば、特許文献1を参照のこと。)
【0004】
例えば、特許文献2に記載されたドライブ制御装置は、
図11に示すように一のCPU140でPLC部110とドライブ制御部120の両方を管理し、またPLC部110上にアプリケーションプログラムから呼び出されて実行される関数の形態を有するドライブ制御演算部115を設け、このドライブ制御演算部115が制御パラメータを直接読み書きすることで、ドライブ主回路122を制御している。
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、ドライブ制御装置とPLCを接続して利用する形態は一般的に行われており、それらの装置を用いる利用者は、様々なPLCアプリケーションプログラムを開発し資産として保有している場合が多い。上記特許文献2に記載されたドライブ制御装置は、PLC部にドライブ制御部との間で直接制御パラメータの受渡しを行うドライブ制御演算部を設けているが、ドライブ制御部は制御対象に応じて制御パラメータが異なる場合がある。このため、ドライブ制御部ごとにドライブ制御演算部を製作する必要が生じる。また、それまで別置きされていたPLC上で動作するアプリケーションプログラムをPLC機能内蔵型ドライブ制御装置に組み込む際にこのドライブ制御演算部とデータの受渡しを行うための修正が必要になり、過去のプログラム資産の再利用効率が悪いという問題がある。
【0007】
本発明はこのような問題点に鑑みてなされたものであり、PLC機能とドライブ制御機能とのインターフェースを改良して、システム全体として小型化および低コスト化が可能であり、かつ制御パラメータの異なる種々のドライブ制御部に対して、従来のPLCアプリケーションプログラムの資産を共通に利用でき、PLCアプリケーションプログラムの開発コストの削減を図ることのできるPLC機能内蔵型ドライブ制御装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明に係るPLC機能内蔵型ドライブ制御装置は、ラダーの演算を行うラダー演算部(11)と算術演算を行う算術演算部(12)とを有するPLC部(10)と、ドライブ主回路(24)によりモータ等の負荷を制御するドライブ制御部(20)を有するPLC機能内蔵型ドライブ制御装置(1)であって、
前記ドライブ制御部(20)の制御パラメータのうち、読み出し対象又は書き込み対象として指定された制御パラメータの識別子を格納する制御パラメータ識別子設定領域(51)と、当該識別子に対応付けて制御パラメータの値を一時的に格納する制御パラメータ格納領域(52)とを有する制御パラメータ情報記憶部(50)を備え、
前記ドライブ制御部(20)は、前記制御パラメータ識別子設定領域(51)で読み出し対象として指定された識別子に対応する制御パラメータの値を前記ドライブ制御部(20)から読み出して前記制御パラメータ格納領域(52)に書き込み、前記制御パラメータ識別子設定領域(51)で書き込み対象として指定された識別子に対応する制御パラメータの更新値を前記制御パラメータ格納領域(52)から読み出して前記ドライブ制御部(20)に書き込む制御パラメータ交換制御部(21)を備えることを特徴とする。
【0009】
なお、前記制御パラメータ識別子設定領域は、制御パラメータごとにPLC部側の該制御パラメータの識別子と、ドライブ制御部側の該制御パラメータの識別子とを対応づけて格納するのが好ましい。
【0010】
本発明では、PLC部とドライブ制御部との間でデータを直接受け渡すのではなく、データを一時的に格納するRAM等で構成される制御パラメータ情報記憶部を介して受け渡しを行う。この際、ドライブ制御部側に制御パラメータの受け渡し処理を制御する制御パラメータ交換制御部を設けることによって、PLC側についても標準の処理によって制御パラメータの受け渡しが可能になる。
【0011】
また、本発明に係るPLC機能内蔵型ドライブ制御装置の前記制御パラメータ識別子設定領域は、さらに、制御パラメータごとに該制御パラメータがPLC部からドライブ制御部へ渡される制御パラメータなのか、ドライブ制御部からPLC部へ渡される制御パラメータなのかを表す受け渡し方向情報を含むことを特徴とする。好ましくは、前記制御パラメータ識別子設定領域に、受け渡しの準備ができたことを表す準備済みフラグ情報を設け、前記PLC部および前記制御パラメータ交換制御部は、前記制御パラメータ格納領域への書き込みが完了したときに、当該準備済みフラグ情報をセットし、前記制御パラメータ格納領域からの読み出しが完了したときに、前記準備済みフラグ情報をリセットするのが良い。これにより、PLC部、ドライブ制御部の双方で相手側の負荷状態を検知することができる。
【0012】
なお、制御パラメータ識別子設定領域は、PLC部のアプリケーションプログラムによって起動時に自動設定するようにしても良いし、PLC部に外部機器と繋がる通信手段を設け、この外部機器から設定するようにしても良い。
【0013】
また、本発明に係るPLC機能内蔵型ドライブ制御装置の前記ドライブ制御部は、前記PLC部の動作を前記ドライブ制御部の動作と同期させるためのタイミング信号を出力するPLC同期制御部を備えることを特徴とする。
【0014】
本発明では、PLC部とドライブ制御部を共通のタイミングで制御スキャンを行うのではなく、ドライブ制御部で生成したタイミング信号でPLC部が動作するので、PLC部はドライブ制御部の仕様や能力に合せた動作が可能になる。
【0015】
また、本発明に係るPLC機能内蔵型ドライブ制御装置の前記PLC同期制御部は、前記PLC部が前記制御パラメータ格納領域から制御パラメータを読み出すためのタイミング信号を出力し、前記PLC部は、前記制御パラメータ交換制御部が前記制御パラメータ格納領域から制御パラメータを読み出すためのタイミング信号を出力することを特徴とする。
【0016】
本発明では、制御パラメータの書き込み側が書き込み処理を完了した時点で、タイミング信号を出力することによって同期をとる。これにより、より柔軟性のある同期処理が可能になる。
【発明を実施するための形態】
【0018】
以下、本発明の実施の形態について図面を参照しながら説明する。
図1に本発明の第1の実施の形態によるPLC機能内蔵型ドライブ制御装置の構成を示す。この図において、PLC機能内蔵型ドライブ制御装置1は、PLC機能を実現するPLC部10、モータ等の負荷を制御するドライブ制御部20、演算処理を実行するCPU30、ドライブ制御部20で用いられる制御パラメータの属性値を格納する属性値情報記憶部40、更新用の制御パラメータを保存する制御パラメータ情報記憶部50、負荷60に対して動作信号を出力するドライブ主回路24、および当該ドライブ主回路24に対して制御指令を出力するドライブ主回路制御部23を有している。
【0019】
PLC部10は、PLCを別置きしていたときと同様に、ラダーの演算を行うラダー演算部11、算術演算を行う算術演算部12を備える。ラダー演算部11,算術演算部12は、PLC用アプリケーションプログラムによって実現することができる。
【0020】
ドライブ制御部20は、負荷60に対して動作信号を出力するドライブ主回路24、当該ドライブ主回路24に対して制御指令を出力するドライブ主回路制御部23、制御パラメータ情報記憶部50との間で制御パラメータの値の読み書きを行うことにより制御の調整を行う制御パラメータ交換制御部21、およびPLC部10との同期処理を実行するPLC同期制御部22とを備えている。
【0021】
属性値情報記憶部40は、ドライブ主回路制御部23で用いられる制御パラメータの初期値や上下限値などの属性値を格納する制御パラメータ属性値格納領域41を有し、ドライブ制御部20は、起動時にこの属性値を読み込んで作動を開始する。この属性値情報記憶部40は、予めデータが書き込まれた不揮発性メモリであるROMで構成することができる。
図2は、本実施の形態による制御パラメータ属性値格納領域41のデータ構成例である。ドライブ制御部20で用いられる制御パラメータの識別子であるコードごとにそのコードに対応する制御パラメータの格納アドレスや、当該制御パラメータの属性値が互いに関連付けられて保存されている。
【0022】
制御パラメータ情報記憶部50は、データを一時的に格納するメモリであるRAM等によって構成され、PLC部10が制御パラメータの中で読み書き対象とするパラメータを個別に宣言するための制御パラメータ識別子設定領域51と、制御パラメータ識別子設定領域51で指定された個別の制御パラメータを一時的に格納するための制御パラメータ格納領域52,53とを備える。なお、制御パラメータ格納領域52には、PLC部10との間で受渡しを行う制御パラメータを格納し、制御パラメータ格納領域53は、
図3に示すようにドライブ制御部20との間で受渡しを行う制御パラメータを格納する。
【0023】
本実施の形態によるPLC機能内蔵型ドライブ制御装置1の特徴とするところは、PLC部10とドライブ制御部20との制御パラメータを制御パラメータ情報記憶部50を介して行い、またドライブ制御部20側にPLC部10と同期を取りながら制御パラメータの交換を行う機能を設けることにより、PLC部10においてドライブ制御部20に対応させるためのプログラムの開発や改変を不要としたことである。
【0024】
次に制御パラメータ情報記憶部50の詳細を説明する。
図4は、制御パラメータ情報記憶部50における制御パラメータ識別子設定領域51および制御パラメータ格納領域52の構成を示す図である。これらの領域51,52は、PLC部10のラダー演算部11から見ると補助リレー領域に相当する。
【0025】
制御パラメータ識別子設定領域51は、制御パラメータのうちPLC部10の読み書き対象の制御パラメータを示す識別子を書き込む領域である。なお、制御パラメータ識別子設定領域51で指定できる制御パラメータ数は、CPU30の処理能力や制御パラメータ情報記憶部50のサイズの大小により変更可能にしても良い。この制御パラメータ識別子設定領域51は、PLC部10の初期化処理プログラムによって起動時に設定することができる。
【0026】
制御パラメータ格納領域52は、制御パラメータ識別子設定領域51で設定された識別子の制御パラメータの値を一時的に格納する領域である。
【0027】
次にPLC部10の動作について詳述する。
ラダー演算部11および算術演算部12は、IEC61131−3準拠のプログラミング言語(ラダー(LD言語)、シーケンス・ファンクション・チャート(SFC言語)、ファンクション・ブロック・ダイアグラム(FBD言語)、ストラクチャード・テキスト(ST言語)およびインストラクション・リスト(IL言語))が使用可能である。ユーザは、図示しないソフトウェア開発ツールによりアプリケーションプログラムを作成し、ラダー演算部11および算術演算部12で実行させる。
【0028】
PLC部10で動作するアプリケーションプログラムでは、初期化処理あるいは最初の動作時に制御パラメータのうち読み書き対象の制御パラメータを、名称やアドレス、コードなどにより指定する。そして通常のシーケンス動作では、先の処理によって指定した読み出し対象の制御パラメータを制御パラメータ格納領域52から読み出して演算を行い、その結果として制御パラメータに対する更新値を制御パラメータ格納領域52に書き込む。
【0029】
図4(a)は、本実施の形態による制御パラメータ識別子設定領域51のデータ構成例である。PLC部10のラダー演算部11や算術演算部12からアクセスするための識別子であるインデックスと、ドライブ制御部20の制御パラメータ交換制御部21からアクセスするための識別子であるコードとが対応付けられて保存されている。すなわち、ラダー演算部11と算術演算部12ではインデックスによって制御パラメータが特定され、ドライブ制御部20の制御パラメータはコードによって特定されるように構成されている。
【0030】
なお制御パラメータ識別子設定領域51の識別子と制御パラメータ格納領域52の制御パラメータとの関連付けは、
図4(b)に示すようにインデックスをキーにしても良いし、予めメモリアドレスを関連付けておくなど一般的な技術によって行うことができる。
【0031】
次にドライブ制御部20の動作について詳述する。
制御パラメータ交換制御部21は、動作開始時に属性値情報記憶部40から、各動作パラメータの属性値を読み込み、また、制御パラメータ情報記憶部50との間で周期的に制御パラメータの値を読み書きしてPLC部10との間で制御パラメータの受渡しを行う。制御パラメータ交換制御部21は、PLC部10の初期化処理の完了後、まず制御パラメータ識別子設定領域51の設定内容を確認し、PLC部10で動作するアプリケーションプログラムが読み出したい或いは書き込みたい個々の制御パラメータの識別子を取得する。次に、読出し対象の制御パラメータを制御パラメータから読み出し、制御パラメータ格納領域52に書き込む。そして、後述するPLC同期制御部22によってアプリケーションプログラムを1周期分動作させた後に、書き込み対象の制御パラメータの更新値を制御パラメータ格納領域52から読み出し、制御パラメータに設定する。この動作を繰り返すことで、PLC部10で動作するアプリケーションプログラムとの制御パラメータのデータ交換を制御パラメータ情報記憶部50を介して行うことができる。
【0032】
ドライブ主回路制御部23は動作開始時に動作パラメータの属性値を読み込み、また制御周期ごとに制御パラメータ格納領域53に対して制御パラメータの値を読み書きしながらドライブ主回路24の制御を実行する。
【0033】
PLC部10で動作するアプリケーションプログラムからは、通常のPLCアプリケーションで標準的にサポートされている補助リレー領域の読み書きのみで、ドライブ制御部20を制御することができる。特別なライブラリや手順を踏む必要がなく、初期化処理プログラムによってPLC部10側の制御パラメータ識別子とドライブ制御部20側の識別子との対応関係を制御パラメータ識別子設定領域51に設定するだけで動作させることができ、ユーザにとっては、既存のアプリケーションプログラム資産の有効活用や開発容易性による開発コストの削減が可能となる。
【0034】
次にドライブ制御部20のPLC同期制御部22について説明する。
図5は、ドライブ制御部20からPLC部10の制御パラメータ受け渡し動作を制御するときの手順を示すフローチャートである。PLC部10は、PLC同期制御部22から指令を受けるたびに1周期分の動作を実行する。この指令は、例えばPLC同期制御部22からCPU30への割り込み信号を用いることができる。
【0035】
またこのときPLC同期制御部22は、制御パラメータ交換制御部21に指令を与え、制御パラメータの交換処理を実行する。PLC部10で動作するアプリケーションプログラムと制御パラメータ交換制御部21の動作をPLC同期制御部22からの同一割込みによって実行することにより、各処理を同期させることが可能となる。もちろんそれぞれ独立した割込み信号を使えばPLC部10とドライブ制御部20を非同期で動作させることも可能である。
【0036】
以下、
図5に基づいてPLC同期制御部22および制御パラメータ交換制御部21の処理手順を説明する。
【0037】
まず、ドライブ主回路制御部23は、制御周期ごとにPLC同期制御部22へ同期開始指示を出力する(S01)。PLC同期制御部22は、この同期開始指示を受けると動作を開始し、制御パラメータ交換制御部21へ読出し対象の制御パラメータの更新指示を出力する(S02)。すると制御パラメータ交換制御部21は、この指示に基づいて制御パラメータ格納領域53から書き込み対象の制御パラメータの値を抽出して(S03)、これを制御パラメータ格納領域52の該当する領域へ書き込む(S04)。その後、制御パラメータ交換制御部21は、書き込み処理終了の通知をPLC同期制御部22へ送る(S05)。
【0038】
次に、PLC同期制御部22は、PLC部10へ、動作指示を出力する(S06)。PLC部10は、この動作指示を受け取ると、制御パラメータ格納領域52から読み出し対象の制御パラメータの値を読み出して(S07)、ラダー演算,算術演算を一周期分について行い、その演算結果である制御パラメータの更新値を制御パラメータ格納領域52の該当する領域へ書き込む(S08)。その後、PLC部10は、PLC同期制御部22へ書き込み処理終了の通知を送る(S09)。PLC同期制御部22はこの通知を受け取ると、制御パラメータ交換制御部21へ書き込み対象パラメータの更新指示を送る(S10)。制御パラメータ交換制御部21はこの更新指示を受け取ると、制御パラメータ格納領域52から更新対象の制御パラメータを読み出して(S11)、この制御パラメータを制御パラメータ格納領域53へ書き込んで(S12)、制御パラメータの値を更新する。その後、制御パラメータ交換制御部21は、PLC同期制御部22へ書込み終了を通知する(S13)。PLC同期制御部22は、この通知を受け取ると、ドライブ主回路制御部23に対して更新完了通知を送る(S14)。
【0039】
更新された制御パラメータはドライブ主回路24の制御に用いられ、これにより動作調整を行うことができる。なお、上記の処理のうち、ステップS06,ステップS09は、CPU30への割り込み信号によって実現するようにしても良い。
【0040】
以上のごとく、本実施の形態によれば、ドライブ制御部20に設けた制御パラメータ交換制御部21とPLC同期制御部22により、PLC部10とドライブ制御部20との同期を取りながら制御パラメータを交換するので、PLC部10においてドライブ制御部20に対応させるためのプログラムの開発や改変が不要になる。また、ドライブ主回路制御部23の指示によって同期処理を開始するので、ドライブ主回路制御部23はドライブ主回路24に対する制御周期に合せて更新された制御パラメータを受け取り、この制御パラメータを用いた制御処理が可能になる。
【0041】
次に本発明の第2の実施の形態について説明する。
図6は、本実施の形態によるPLC機能内蔵型ドライブ制御装置1の機能ブロック図である。第1の実施の形態との主な違いは、制御パラメータ識別子設定領域51aに、PLC部10側の制御パラメータの識別子であるインデックスと、ドライブ制御部20側の制御パラメータの識別子であるコードとの対応づけの他に、PLC部10からドライブ制御部20へ渡される制御パラメータなのか、あるいはドライブ制御部20からPLC部10へ渡される制御パラメータなのかを表す方向情報と、受け渡しの準備ができたことを表すレディ情報を追加したことである。これに伴い、PLC部10にラダー演算部11,算術演算部12と制御パラメータ情報記憶部50との間で制御パラメータの受け渡し処理を実行する制御パラメータ受渡し部13を追加した。また第1の実施の形態では同期処理のトリガはドライブ主回路制御部23が行うが、本実施の形態ではPLC同期制御部22aが同期処理のタイミングを生成する。なお、PLC同期制御部22aの出力するタイミング信号を調整可能にしていることが本実施の形態の特徴の一つである。その他の構成は、第1の実施の形態と同様であるので、同一要素には同一符号を付して説明を割愛する。
【0042】
(制御パラメータ識別子設定領域51aの構成)
本実施の形態による制御パラメータ識別子設定領域51aのデータ構成例を
図7に示す。受け渡し対象の制御パラメータごとに、インデックス、コード、方向情報と、レディ情報が紐付けられて保存されている。ここで、インデックス、コードは、第1の実施の形態と同様にそれぞれPLC部10側の制御パラメータの識別子、ドライブ制御部20側の制御パラメータの識別子を表す。また、方向情報は、ドライブ制御部20からPLC部10へ渡される制御パラメータの場合は「1」、PLC部10からドライブ制御部20へ渡される制御パラメータの場合は「2」が設定される。レディ情報は、受け渡しの準備ができた場合に制御パラメータ格納領域52へ制御パラメータの値を書き込む側が「1」を設定し、制御パラメータ格納領域52から制御パラメータの値を読み出す側が読み出し後に「0」を設定する。
【0043】
なお、制御パラメータ識別子設定領域51aにおいて、インデックス、コード、方向情報については、PLC部10の初期化処理プログラムによって起動時に自動設定しても良いし、図示しない通信手段を介して、外部の保守ツールから予めダウンロードして設定するようにしても良い。また、レディ情報は、初期値とて「0」が設定される。
【0044】
(制御パラメータ交換処理)
次に
図8〜
図10を用いて制御パラメータの交換処理について説明する。
ドライブ制御部20のPLC同期制御部22aは、一定の周期でタイミング信号を出力する。タイミング信号は例えばCPU30への割込み信号であり、CPU30はこの割込み信号の発生を検知して制御パラメータ交換制御部21aを起動する。
【0045】
また、PLC同期制御部22aは、タイミング信号の周期の上限値と下限値を有し、その範囲で周期を変更できる機能を有する。これは例えばCPU30を動作させる基準クロックを利用し、その分周比を調整することによって実現することができる。タイミング信号の周期の初期値としては、たとえば下限値から開始しても良いし、あるいは中央値など任意の値から開始するようにしても良い。
【0046】
図8において、制御パラメータ交換制御部21aはPLC同期制御部22aのタイミング信号によって起動すると、制御パラメータ識別子設定領域51aにアクセスして(S101)、方向情報が「1」、すなわちドライブ制御部20からPLC部10へ渡す制御パラメータの識別子について以下の処理を繰り返す(S102a,S102b)。
【0047】
制御パラメータ交換制御部21aは、まず当該識別子のレディ情報が「0」か否かを判定し(S103)、「0」の場合は当該識別子のコードに対応する制御パラメータの値を制御パラメータ格納領域53から抽出する(S104)。そして抽出した値を制御パラメータ格納領域52の当該コードに対応する領域に書き込み(S105)、制御パラメータ識別子設定領域51aの当該コードに対応するレディ情報を「1」にセットする(S106)。
【0048】
一方、ステップS103において、アクセスした識別子のレディ情報が「0」でない場合は(S103で「NO」)、PLC同期制御部22aのタイミング信号の出力周期を一定時間分だけ長くする(S107)。
【0049】
上記の処理を方向情報「1」の全ての識別子について行った後(S102a〜S102b)、制御パラメータ交換制御部21aは、PLC部10の制御パラメータ受渡し部13へ制御パラメータ格納領域52への制御パラメータの書き込みが終了したことを割込み信号等によって通知する(S108)。
【0050】
図9において、PLC部10の制御パラメータ受渡し部13は、制御パラメータ交換制御部21aから当該通知を受け取ると、制御パラメータ識別子設定領域51aにアクセスして(S201)、方向情報「1」の識別子について以下の処理を繰り返す(S202a,S202b)。
【0051】
制御パラメータ受渡し部13は、まず当該識別子のレディ情報が「1」か否かを判定し(S203)、「1」の場合は当該識別子のコードに対応する制御パラメータの値を制御パラメータ格納領域52から抽出する(S204)。そして抽出した値と当該コードに対応するインデックスとを関連付けて、図示しない一時バッファに保存する一方、制御パラメータ識別子設定領域51aの当該コードに対応するレディ情報を「0」にセットする(S205)。
【0052】
上記の処理を方向情報「1」の全ての識別子について行った後(S202a〜S202b)、一時バッファに格納されているインデックスと制御パラメータの値を、ラダー演算部11、算術演算部12に渡して夫々の処理を実行させる(S206)。
【0053】
そして、ラダー演算部11,算術演算部12での処理の実行後、制御パラメータ受渡し部13は、制御パラメータ識別子設定領域51aの方向情報「2」の識別子について以下の処理を繰り返す(S207a,S207b)。
【0054】
制御パラメータ受渡し部13は、まず当該識別子のレディ情報が「0」か否かを判定し(S208)、「0」の場合はラダー演算部11、算術演算部12の演算結果である制御パラメータの更新値を制御パラメータ格納領域52に格納する(S209)。この際、制御パラメータ識別子設定領域51aにおいて、そのインデックスに対応するコードを抽出し、制御パラメータ格納領域52の当該コードに対応する領域に更新値を書き込むようにする。
【0055】
その後、制御パラメータ識別子設定領域51aの該当する識別子のレディ情報を「1」にセットする(S210)。一方、ステップS208において、レディ情報が「0」でない場合は(S208で「NO」)、PLC同期制御部22aのタイミング信号の出力周期を一定時間分だけ長くする(S211)。
【0056】
なお、PLC同期制御部22aのタイミング信号については、ステップS103およびステップS208において、一定周期連続して「YES」すなわちレディ情報「0」が続いた場合は、タイミング信号の出力周期を一定時間分だけ短くするようにしても良い。
【0057】
上記の処理を方向情報「2」の全ての識別子について行った後(S207a〜S207b)、制御パラメータ受渡し部13は、制御パラメータ交換制御部21aへ制御パラメータ格納領域52への制御パラメータの書き込みが終了したことを割込み信号等によって通知する(S212)。
【0058】
図10において、制御パラメータ交換制御部21aはこの通知を受け取ると、制御パラメータ識別子設定領域51aにアクセスして(S301)、方向情報「2」の識別子について以下の処理を繰り返す(S302a,S302b)。
【0059】
制御パラメータ交換制御部21aは、まず当該識別子のレディ情報が「1」か否かを判定し(S303)、「1」の場合は当該識別子のコードに対応する制御パラメータの更新値を制御パラメータ格納領域52から抽出する(S304)。そして当該コードの識別子に対応する制御パラメータ格納領域53に抽出した更新値を設定し(S305)、制御パラメータ識別子設定領域51aの当該コードに対応するレディ情報を「0」にセットする(S306)。
【0060】
上述した一連の処理により、ドライブ制御部20の制御パラメータをPLC部10の機能によって更新する。
【0061】
なお、制御パラメータ格納領域53に対して、制御パラメータ交換制御部21aとドライブ主回路制御部23aの双方からアクセスされるが、本実施の形態ではこのアクセス処理は排他制御されている。ドライブ主回路制御部23aは上記の処理によって更新された制御パラメータを制御パラメータ格納領域53から読み出して、ドライブ主回路24の制御処理を実行する。
【0062】
以上、本実施の形態によれば、ドライブ主回路制御部23aはPLC同期制御部22aから独立して動作可能になるので、ドライブ主回路制御部23aの動作に影響を与えずに、PLC部10のシーケンス処理を実行することができる。また、本実施の形態では、レディ情報を用いてPLC同期制御部22aの動作パラメータ更新のタイミング信号を調整するので、装置の使用状況や負荷に応じて適切な周期で動作パラメータを更新することができる。
【0063】
なお、上記の説明では、CPU30によってPLC部10とドライブ制御部20の機能を実行するようにしたが、本実施の形態ではPLC部10とドライブ制御部20を独立に構成できるので、夫々別のCPUで動作するマルチプロセッサ構成で実現することも可能である。