(57)【要約】【課題】オプションモジュールの実装枚数に制限を加えることなく、制御機器との間のデータの受け渡しを確実に行うことができるプログラマブルコントローラ装置を提供する。【解決手段】割込信号Ｓ１４によりＰＬＣモジュール１００からのデータ格納指令Ｓ１７が入力されたときに、オプションモジュール２００はＰＬＣモジュール１００のデータをメモリ２２５に格納する。割込信号Ｓ１４が入力されたときにデータ更新周期であれば、オプションモジュール２００は制御機器に出力するデータを算出して、データを制御機器に出力し、ＰＬＣモジュール１００はＰＬＣモジュール１００のデータをオプションモジュール２００が取り込むまでは、ユーザプログラムを実行せず待機状態を保持し、オプションモジュール２００からのデータ格納完了信号により、ユーザプログラムをＰＬＣモジュール１００が実行する。【選択図】　　　図１
2004110120.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルコントローラとしての機能を有するＰＬＣモジュールと、制御機器とデータの入出力を行う機能を有するオプションモジュールを備え、前記オプションモジュールと前記制御機器間は前記オプションモジュールからのデータを確実に制御機器まで渡すことができるように定周期でデータの入出力を行う機能を有するモジュラ型プログラマブルコントローラにおいて、前記ＰＬＣモジュールのＣＰＵに割込信号が入力されて前記ＰＬＣモジュールからのデータ格納指令が前記オプションモジュールに入力されたとき、前記オプションモジュールが前記ＰＬＣモジュールのデータを格納し、前記割込信号が入力されたときにデータ更新周期であれば、前記オプションモジュールは制御機器に出力するデータを算出して、データを制御機器に出力し、前記ＰＬＣモジュールはＰＬＣモジュールのデータを前記オプションモジュールが取り込むまでは、ユーザプログラムを実行せず待機状態を保持し、前記オプションモジュールからのデータ格納完了信号により、ユーザプログラムを前記ＰＬＣモジュールが実行する、プログラマブルコントローラの同期方法。
【請求項２】
プログラマブルコントローラとしての機能を有するＰＬＣモジュールと、制御機器とデータの入出力を行う機能を有するオプションモジュールを備え、前記オプションモジュールと前記制御機器間は前記オプションモジュールからのデータを確実に制御機器まで渡すことができるように定周期でデータの入出力を行う機能を有するモジュラ型プログラマブルコントローラにおいて、前記ＰＬＣモジュールは、第１の割込信号とこれと同じタイミングで同期信号を発生する手段を有し、前記ＰＬＣモジュールは第１の割込信号を入力すると、外部機器との入出力を行い、入出力が完了したときにデータ格納指令を前記オプションモジュールの共有メモリにセットした後、前記オプションモジュールのデータ格納完了待ちとなり、
前記オプションモジュールは、前記同期信号を入力し、該同期信号がデータ更新周期よりも遅い場合、該同期信号に同期して第２の割込信号を発生し、この時点から一定時間に第３の割込信号を発生し、前記同期信号がデータ更新周期よりも早い場合、前記同期信号に同期して第２の割込信号を発生し、次の同期信号のタイミングで第４の割込信号を発生する手段を有し、前記オプションモジュールは第２、第４の割込信号が入力されると、前記ＰＬＣモジュールからのデータ格納指令待ちとなり、前記ＰＬＣモジュールからのデータ格納指令が前記共有メモリにセットされると、前記ＰＬＣモジュールが該共有メモリにセットしたデータをメモリに格納し、格納が完了すると、データ格納完了信号を前記共有メモリにセットし、第２、第３の割込信号が入力されると、制御機器に出力するデータを作成し、制御機器に出力することを特徴とするモジュラ型プログラマブルコントローラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はモジュール型のプログラマブルコントローラ（ＰＬＣ装置）に関する。
【０００２】
【従来の技術】
一般に、モジュール型のＰＬＣ装置は図４に示すように、プログラム入力装置１とＰＬＣモジュール２とオプションモジュール３から構成されている。プログラム入力装置１はアプリケーションプログラムＳ１を作成する。ＰＬＣモジュール２はアプリケーションプログラムＳ１にしたがい、オプションモジュール３との間で入出力データＳ２をバスを通して授受する。データの授受を行うタイミング（以下、サンプリング周期と呼ぶ）は一般にＰＬＣモジュール２に搭載された水晶発振子からのクロックを元にして作成される。オプションモジュール３は、動作の異なる複数種の中から任意のモジュールを複数枚実装できる。オプションモジュール３のなかには制御データＳ３を一定の更新周期で入出力を行うことにより、複数の制御機器４、５を制御する種類も含まれる。この場合、サンプリング周期はオプションモジュール３に搭載された更新周期発生回路からの信号を元にして作成される。このように、サンプリング周期の作成方法には２種類がある。
【０００３】
図５はＰＬＣモジュール２に搭載された水晶発振子からのクロックを元にサンプリング周期を作成する場合のＰＬＣ装置の構成を示している。
【０００４】
ＰＬＣモジュール２は一般に、データメモリ部２１と、アプリケーションプログラムを記憶しているプログラムメモリ部２０と、水晶発振子２３と、水晶発振子２３からのクロック信号で動作し、プログラムメモリ部２０に格納された制御プログラムにしたがって演算する演算部（ＣＰＵ）２２と、水晶発振子２３からのクロック信号を元にユーザが設定したサンプリング周期を作成し、割込信号Ｓ５をＣＰＵ２２へ入力するサンプリング周期発生回路２４から構成される。ＣＰＵ２２は割込信号Ｓ５が入ると、割込信号Ｓ４を発生させ、オプションモジュール３との間でデータＳ２の授受を行う。
【０００５】
オプションモジュール３は、ＰＬＣモジュール２がセットしたデータを自モジュール内に格納するためのメモリ３３と、ＰＬＣモジュール２からのデータＳ２と、ＣＰＵ２２からの割込信号Ｓ４を受けるための共有メモリ３０と、水晶発振子３４と、水晶発振子３４で動作するＣＰＵ３１と、制御機器４とのデータ授受をリアルタイムで行うためのデータ入出力部３２から構成される。ＰＬＣモジュール２とオプションモジュール３との間の同期は割込信号Ｓ４によって保たれる。
【０００６】
図６はオプションモジュール３に搭載された更新周期発生回路３６からの信号を元にしてサンプリング周期を作成する場合のＰＬＣ装置の構成を示している。このＰＬＣ装置は図５のＰＬＣ装置と異なり、データを入出力する周期は更新周期発生回路３６により作成される。ＰＬＣモジュール２と制御機器４との間でデータの整合性をとるために、更新周期発生回路３６からの割込信号Ｓ６をオプションモジュール３のＣＰＵ３１とＰＬＣモジュール２のサンプリング周期発生回路２４に同時に入力する。ＰＬＣモジュール２は自モジュール内の水晶発振子３４からの信号を使うことなくオプションモジュール３内の更新周期発生回路３６からの割込信号Ｓ６を使用してサンプリング周期を作成する。
【０００７】
このようなモジュール型のＰＬＣ装置においては、ＰＬＣモジュールとオプションモジュールは、それぞれＣＰＵを搭載し、そのＣＰＵは一般に別々の発振器（水晶発振子）からのクロックで動作する。図６に示したようなオプションモジュール３ではＰＬＣモジュール２からのデータはＰＬＣモジュール２のサンプリング周期で確実に制御機器４まで受け渡すことができる。
【０００８】
なお、以上説明した従来技術は特許文献１に記載されている。
【０００９】
【特許文献１】
特開平１１−２５９１０５号公報
【００１０】
【発明が解決しようとする課題】
一方、図６に示したようなオプションモジュール３と図５に示したＰＬＣモジュール２とで構成されるＰＬＣ装置では、たとえ同じサンプリング周期を設定しても、ＰＬＣモジュール２とオプションモジュール３のサンプリング周期は微妙にずれてくる。そのため、ＰＬＣモジュール２からのデータをオプションモジュール３が受け取れないタイミングが生じ、ＰＬＣモジュール２からの時々刻々のデータをオプションモジュール３を介して制御機器４まで確実に受け渡すことができない。
【００１１】
この問題を図７のタイミングチャートを用いて説明する。図７において、Ｄ１〜Ｄ６はＰＬＣモジュール２が時々刻々払い出すデータを示している。この例では、オプションモジュール３および制御機器４のデータ更新周期を２ｍｓ、ＰＬＣモジュール２のサンプリング周期を２ｍｓとしている。クロックに使用する水晶発振子の精度は一般に１００ｐｐｍ程度であるため、ＰＬＣモジュール２で使用している水晶発振子２３とオプションモジュール３で使用している水晶発振子３４の誤差は最大２００ｐｐｍである。よって１／５０００の誤差となる。２ｍｓでは、２ｍｓ±０．４μｓとなり、１０秒で１回分（２ｍｓ）周期が多いか少なくなる。図７は、ＰＬＣモジュール２で使用している水晶発振子２３がオプションモジュール３で使用している水晶発振子３４よりα分遅いと仮定したときの各モジュールの周期を表したものである。図７において、ＰＬＣモジュール２のサンプリング周期とオプションモジュール３のデータ更新周期がｔＡ、ｔＢと徐々にずれていき、時刻ｔＣでオプションモジュール３のデータ更新周期がＰＬＣモジュール２のサンプリング周期を抜き、その結果、データＤ６が払い出せずデータを抜かす。時刻ｔＣでは、本来はデータＤ６が制御機器４に送信されなければならないが、時刻ｔＢと同じデータＤ５が制御機器４に送信されてしまう。すなわち、制御機器４に本来送信するデータは、Ｄ１→Ｄ２→Ｄ３→Ｄ４→Ｄ５→Ｄ６→・・・・・であるのに対して、実際に制御機器４に送信されるデータは、Ｄ１→Ｄ２→Ｄ３→Ｄ４→Ｄ５→Ｄ５→Ｄ６・・・・・となる。
【００１２】
これを防ぐために、従来は図６に示したＰＬＣモジュール２を用いて、ＰＬＣモジュール２とオプションモジュール３のサンプリング周期がずれないようにしていた。
【００１３】
しかし、図６に示したＰＬＣモジュール２の場合、図６に示した機能を持つオプションモジュール３が必ず実装されなければならないが、１枚しか搭載できないといった問題があった。
【００１４】
本発明の目的は、オプションモジュールの実装枚数に制限を加えることなく、制御機器との間のデータの受け渡しを確実に行うことができ、また、ＰＬＣモジュールのサンプリング周期を生成しているクロックと、オプションモジュールと制御機器間の更新周期を生成しているクロック差を意識する必要がないプログラマブルコントローラの周期方法およびプログラマブルコントローラを提供することにある。
【００１５】
【課題を解決するための手段】
本発明は、ＰＬＣモジュールのＣＰＵに割込信号が入力されてＰＬＣモジュールからのデータ格納指令がオプションモジュールに入力されたとき、オプションモジュールがＰＬＣモジュールのデータを格納し、割込信号が入力されたときにデータ更新周期であれば、オプションモジュールは制御機器に出力するデータを算出して、データを制御機器に出力し、ＰＬＣモジュールはＰＬＣモジュールのデータをオプションモジュールが取り込むまでは、ユーザプログラムを実行せず待機状態を保持し、オプションモジュールからのデータ格納完了信号により、ユーザプログラムをＰＬＣモジュールが実行することにより、ＰＬＣモジュールとオプションモジュールの同期をとるものである。
【００１６】
【発明の実施の形態】
次に、本発明の実施の形態を図面を参照して説明する。
【００１７】
図１は本発明の一実施形態のＰＬＣ装置の構成図である。ＰＬＣモジュール１００はプログラマブルコントローラとしての機能を有しており、外部の信号を取り込むための入力部１１０と、外部へ信号を出力するための出力部１１１と、データメモリ部１１２と、ユーザプログラムを記憶しているプログラムメモリ部１１４と、水晶発振子１１５と、水晶発振子１１５からのクロック信号で動作し、プログラムメモリ部１１４に格納された制御プログラムにしたがって演算する演算部（ＣＰＵ）１１３と、ソフトウェアまたはハードウェアで設定された周期にしたがって、割込信号Ｓ１４およびオプションモジュール２００への出力信号である同期信号Ｓ１５を出力するサンプリング周期発生回路１１６で構成されている。サンプリング周期発生回路１１６の出力信号である割込信号Ｓ１４がＣＰＵ１１３に入力されたときに、ＣＰＵ１１３はプログラマブルコントローラの入力、出力および演算を実行する。データ入出力が完了したときに、オプションモジュール２００に対しデータ格納指令Ｓ１７がオプションモジュール２００の共有メモリ２２０に格納される。
【００１８】
オプションモジュール２００は、ＰＬＣモジュール１００がセットしたデータを自モジュール内に格納するためのメモリ２２５と、ＰＬＣモジュール１００からのデータＳ１１と、データＳ１１をメモリ２２５に格納したときにＰＬＣモジュール１００にデータＳ１１の取り込みが完了したことを知らせるデータ格納完了信号Ｓ１２を格納するための共有メモリ２２０と、水晶発振子２２４と、水晶発振子２２４で動作するＣＰＵ２２１と、制御機器にデータを出力するためのデータ入出力部２２２と、ＰＬＣモジュール１００の出力信号である同期信号Ｓ１５に同期してオプションモジュール２００と制御機器間の更新周期を生成する更新周期発生回路２２３から構成される。更新周期発生回路２２３は割込信号Ｓ１３ａ、　Ｓ１３ｂ、　Ｓ１３ｃを、オプションモジュール２００のＣＰＵ２２１に入力する。
【００１９】
図２は、本実施形態におけるＰＬＣモジュール１００からの同期信号Ｓ１５に同期した更新周期を発生する更新周期発生回路２２３の動作を説明する図である。図２において、同期信号Ｓ１５がデータ更新周期より遅い場合と速い場合に分けて説明する。遅い場合の例では同期信号Ｓ１５を４ｍｓ、更新周期を２ｍｓとし、同期信号Ｓ１５をデータ更新周期の２倍としている。この場合、同期信号Ｓ１５に同期して割込信号Ｓ１３ａ（同期信号Ｓ１５が入力され、かつ更新周期であるときの割込信号）を発生し、この時点から２ｍｓ経過後、次の割込信号Ｓ１３ｂ（同期信号Ｓ１５は入力されておらず、更新周期のみであるときの割込信号）を発生し、次の同期信号Ｓ１５に同期して割込信号Ｓ１３ａを出力する。前記を繰り返して割込信号Ｓ１３ａ、割込信号Ｓ１３ｂを発生させる。更新周期は、ソフトウェアもしくはハードウェアで予め設定しておく。
【００２０】
一方、速い場合の例では同期信号Ｓ１５を２ｍｓ、更新周期を４ｍｓとし、同期信号Ｓ１５の周期を更新周期の１／２倍としている。この場合、同期信号Ｓ１５に同期して割込信号Ｓ１３ａ（同期信号Ｓ１５が入力され、かつ更新周期であるときの割込信号）を発生し、次の同期信号Ｓ１５では、割込信号Ｓ１３ｃ（同期信号Ｓ１５が入力され、かつ更新周期ではないときの割込信号）を発生し、次の同期信号Ｓ１５に同期して割込信号Ｓ１３ａを出力する。前記を繰り返して割込信号Ｓ１３ａ、割込信号Ｓ１３ｃを発生させる。
【００２１】
図３は、ＰＬＣモジュール１００のサンプリング周期発生回路１１６から割込信号Ｓ１４が入力されたときのＰＬＣモジュール１００のソフトウェアの動作、およびオプションモジュール２００の更新周期発生回路２２３から割込信号Ｓ１３ａ、Ｓ１３ｂ、Ｓ１３ｃが入力されたときのオプションモジュール２００のソフトウェアの動作を説明した図である。
【００２２】
図３において、割込信号Ｓ１４がＰＬＣモジュール１００のＣＰＵ１１３に入力されると、ＰＬＣモジュール１００はまず、外部機器との入出力を行い（ステートＳＴ１０）、入出力が完了したときにデータ格納指令Ｓ１７を共有メモリ２２０にセットし、オプションモジュール２００からのデータ格納完了待ちとなる（ステートＳＴ１１）。オプションモジュール２００からデータ格納完了Ｓ１２が共有メモリ２２０にセットされると、プログラムメモリ部１１４に格納されたユーザプログラムが実行され、そのユーザプログラムの中で時々刻々のデータが共有メモリ２２０にセットされる（ステートＳＴ１２）。
【００２３】
一方、オプションモジュール２００は、同期信号Ｓ１５から更新周期発生回路２２３により生成された割込信号Ｓ１３ａ、Ｓ１３ｂ、Ｓ１３ｃがオプションモジュール２００のＣＰＵ２２１に入力されると、それぞれの割込処理を実行する。まず、割込信号Ｓ１３ａ（同期信号Ｓ１５が入力されると、かつ更新周期であるときの割込信号）が入力された場合、ＰＬＣモジュール１００からのデータ格納指令Ｓ１７待ちとなる（ステートＳＴ２０）。ＰＬＣモジュール１００からデータ格納指令Ｓ１７が共有メモリ２２０にセットされると、ＰＬＣモジュール１００が共有メモリ２２０にセットしたデータを自モジュール内のメモリ２２５に格納する。このデータを積算して、制御機器への出力の総データ量とする（ステートＳＴ２１）。格納が完了すると、データ格納完了信号Ｓ１２を共有メモリ２２０にセットして、データの取り込みが完了したことをＰＬＣモジュール１００に知らせる（ステートＳＴ２２）。次に、総データ量から今回出力するデータを作成して（ステートＳＴ２３）、制御機器に出力する（ステートＳＴ２４）。
【００２４】
次に、割込信号Ｓ１３ｂ（同期信号Ｓ１５は入力されておらず、更新周期のみであるときの割込信号）が入力された場合は、総データ量から今回出力するデータを作成して（ステートＳＴ２３）、制御機器に出力する（ステートＳＴ２４）。
【００２５】
また、割込信号Ｓ１３ｃ（同期信号Ｓ１５が入力され、かつ更新周期でないときの割込信号）が入力された場合は、ＰＬＣモジュール１００からのデータ格納指令Ｓ１７待ちとなる（ステートＳＴ２０）。ＰＬＣモジュール１００からデータ格納指令Ｓ１７が共有メモリ２２０にセットされると、ＰＬＣモジュール１００が共有メモリ２２０にセットしたデータを自モジュール内のメモリ２２５に格納する。このデータを総データ量に積算して、新たな総データ量とする（ステートＳＴ２１）。格納が完了すると、データ格納完了Ｓ１２を共有メモリ２２０にセットして、データの取り込みが完了したことをＰＬＣモジュール１００に知らせる（ステートＳＴ２２）。
【００２６】
【発明の効果】
以上説明したように本発明によれば、下記の効果がある。
【００２７】
１）ＰＬＣモジュールが払い出すデータを、オプションモジュールを介して、確実に制御機器まで渡すことができ、モジュール型の制御装置で同期制御が可能となる。
２）また、１枚のオプションモジュールで接続可能な制御機器を超える制御装置においても、必要数分のオプションモジュールを追加し、ＰＬＣモジュールに同期させることで、ＰＬＣモジュールが払い出すデータを、複数のオプションモジュールを介して、確実に制御機器まで渡すことができ、複数のオプションモジュールを使用した多数の制御機器を使用した制御装置で同期制御が可能となる。
３）また、データを生成するＰＬＣモジュールはプログラマブルであるため、任意のデータパターン（データの集まり）を生成することができるので、制御機器で構成される機械の動作に柔軟に対応できる。したがって、高性能、高機能な機械をＰＬＣ装置で構成することが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態のモジュール型ＰＬＣ装置の構成図である。
【図２】図１中の更新周期発生回路２２３の動作を示すタイミングチャートである。
【図３】図１中の実施形態の動作を示すタイミングチャートである。
【図４】一般のモジュール型ＰＬＣ装置の概略的構成図である。
【図５】ＰＬＣモジュールとオプションモジュールの従来例を示す構成図である。
【図６】ＰＬＣモジュールとオプションモジュールの他の従来例を示す構成図である。
【図７】従来例の動作を示すタイミングチャートである。
【符号の説明】
１　　プログラム入力装置
２、１００　　ＰＬＣモジュール
３、２００　　オプションモジュール
４、５　　制御機器
２０、１１４　　プログラムメモリ部
２１、１１２　　データメモリ部
２２、１１３　　ＣＰＵ
２３、１１５　　水晶振動子
３０、２２０　　共有メモリ
３１、２２１　　ＣＰＵ
３２、３５、２２２　　データ入出力部
３３、２２５　　メモリ
３４、２２４　　水晶振動子
３６、２２３　　更新周期発生回路
【図１】
2004110120.tif 000003
【図２】
2004110120.tif 000004
【図３】
2004110120.tif 000005
【図４】
2004110120.tif 000006
【図５】
2004110120.tif 000007
【図６】
2004110120.tif 000008
【図７】
2004110120.tif 000009