(57)【要約】【課題】安全処理とＰＬＣ処理の実行タイミングを効率よく制御でき、ＰＬＣ処理が安全処理に影響を及ぼす可能性がある場合は、起動時に異常通知を行うことのできる機能安全対応の電力変換器を提供すること。【解決手段】安全処理とＰＬＣ処理を実行する演算装置に、各プログラムに対応付けて処理時間と処理間隔を記憶する管理テーブルと、一定時間内に起動されるべきプログラムの処理時間の合計値を算定する処理時間算定手段と、該算定結果に基づいて、実行タイミングの重複なく各プログラムを実行可能か否かを判定し、実行可能な場合は制御処理開始指令を、電力変換主回路の制御処理を担当する演算装置へ送信する一方、実行不可能な場合は異常通知をする初期化手段と、各プログラムに対応付けられた処理間隔でプログラムの実行予定時刻を演算し、実行予定時刻には該当するプログラムを起動する実行タイミング管理手段と、を備える。【選択図】  図２
2012196071.tif 000002
【特許請求の範囲】
【請求項１】
電源から入力した直流電圧または交流電圧を所定周波数の交流電圧に変換して電動機へ出力する電力変換主回路と、該電力変換主回路に対して電圧および周波数を調整するための制御指令を出力する制御回路とを有する電力変換器であって、
前記制御回路は、該電力変換器または該電力変換器の備えられたシステムの異常を検知して、前記電力変換主回路に対して減速あるいは停止を含む安全指令を出力する安全処理と前記システムを監視制御するＰＬＣ処理とを実行する第一の演算装置と、前記安全処理と前記制御指令を生成する制御処理とを実行する第二の演算装置とを有し、
前記第一の演算装置は、  
前記安全処理を実行する安全処理プログラムと、定周期で前記ＰＬＣ処理を実行する定周期ＰＬＣ処理プログラムと、非定周期で前記ＰＬＣ処理を実行する非定周期ＰＬＣ処理プログラムと、前記各プログラムに対応付けて処理時間と処理間隔を記憶する管理テーブルと、を格納する記憶部と、
起動時に、前記管理テーブルに記憶されている各プログラムの処理時間を用いて、一定時間内に起動されるべきプログラムの処理時間の合計値を算定する処理時間算定手段と、
該処理時間算定手段の算定結果に基づいて、実行タイミングの重複なく各プログラムを実行可能か否かを判定し、実行可能な場合は前記第二の演算装置へ制御処理開始指令を送信する一方、実行不可能な場合は異常通知をする初期化手段と、
前記各プログラムに対応付けられた処理間隔で前記各プログラムの実行予定時刻を演算し、該実行予定時刻には該当するプログラムを起動する実行タイミング管理手段と、
を備えたことを特徴とする電力変換器。
【請求項２】
前記管理テーブルは、さらに各プログラムに対応付けて時間マージンを記憶し、
前記実行タイミング管理手段は、起動したプログラムの処理時間を計測し、計測値を前記記憶部に格納し、
前記処理時間算定手段は、プログラムごとに、前記実行タイミング管理手段によって計測された計測値の最大値と、前記時間マージンとの加算値が予め設定した初期値以下か否かを判定し、前記加算値が初期値以下の場合は、前記計測値の最大値を用いて一定時間内に起動されるべきプログラムの処理時間の合計値を算定し、前記加算値が初期値よりも大きい場合は、異常通知をすることを特徴とする電力変換器。
【請求項３】
前記初期化手段は、各定周期処理の処理時間の合計値と、非定周期処理の処理時間の最大値と、安全処理の処理時間との加算値を演算する一方、
前記管理テーブルに記憶されている定周期ＰＬＣ処理の処理間隔の中から最小の処理間隔を抽出し、該処理間隔と安全処理の処理間隔を比較して、安全処理の処理間隔の方が大きいときは、前記加算値と最小の定周期ＰＬＣ処理間隔とを比較して、前記加算値が最小の定周期ＰＬＣ処理間隔以下の場合は実行可能、前記加算値が最小の定周期ＰＬＣ処理間隔を超える場合は実行不可能と判定し、
安全処理の処理間隔の方が小さいときは、前記加算値と安全処理の処理間隔とを比較して、前記加算値が安全処理の処理間隔以下の場合は実行可能、前記加算値が安全処理の処理間隔を超える場合は実行不可能と判定することを特徴とする電力変換器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電力変換器に係り、特に機能安全処理を実行する安全機能と、外部機器を監視制御するユーザプログラムによって実現されるＰＬＣ機能とを有する電力変換器に関する。
【背景技術】
【０００２】
従来から、工場や各種産業機器に使用される電力変換器は、さまざまな関連装置とネットワークや電源線等を介して間接的又は直接的に接続され使用されている。また、電力変換器の負荷にはモータ（電動機）などの機器が利用されており、人間が立ち入ったり巻き込まれたりすることのないよう、機能安全性が要求されている。
【０００３】
このため、ＩＥＣ６１５０８シリーズに代表される機能安全規格により、診断・監視機能に加えて、外部のセンサ等からの信号に基づいて、安全停止、安全減速など被制御装置を安全な状態へ移行する機能が定義されている。
【０００４】
一方、電力変換器の高機能化を目的として、特許文献１では、プログラマブルロジックコントローラ（以下、「ＰＬＣ」という。）の機能を有する電力変換器が提案されている。
【０００５】
この特許文献に挙げる技術は、一つの演算装置でＰＬＣ機能と電力変換器の制御機能を実現するため、ＰＬＣ機能と制御機能のデータ管理を分離し、制御スキャンと呼ばれる一定周期間隔で行われる処理タイミングを同期させ、ＰＬＣ機能と制御機能とのデータ交換を行うことで電力変換器の特性に合わせた運転制御を実現している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４３８９２７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、ＰＬＣ機能を内蔵した機能安全対応の電力変換器を実現しようとすると、次の問題が存在する。
【０００８】
機能安全対応の処理（以下、「安全処理」という。）として、たとえば数十ｍｓ周期毎に演算装置内のメモリ診断を複数の演算装置でそれぞれ実行し、診断結果を演算装置相互に交換して互いの正常性を確認しなければならない。したがって、機能安全対応の電力変換器を一つの演算装置のみで実現することは困難である。
【０００９】
ＰＬＣ機能を内蔵した機能安全対応の電力変換器として通常考えられる構成は、安全処理を実行する二つの演算装置と、電力変換器の制御を実行する演算装置と、ＰＬＣ処理を実行する演算装置の四つが必要になるが、回路規模が大きくなり、製造コストが高くなるという問題が生ずる。
【００１０】
実用的には、二つの演算装置にこれらの機能を集約するのが好ましいが、各機能の処理のタイミングを如何に合わせるかという問題がある。以下、具体的に説明する。
【００１１】
機能安全対応のためには二つの演算装置のそれぞれで安全処理を実行する必要があるが、それ以外の処理として、一方の演算装置で電力変換主回路の制御処理、他方の演算装置でＰＬＣ機能を実現する処理（以下、「ＰＬＣ処理」という。）を実行させることが考えられる。
【００１２】
ここで、電力変換主回路に対する安全処理や制御処理は専用プログラムによって実行されるものであり、設計段階でＣＰＵ負荷が分かるので、製造者はハードウエアの性能を含めその負荷に応じた最適な設計が可能である。これに対して、ＰＬＣ処理は、ユーザプログラム（ソフトウエア）によって実行されるものであるので、演算装置のＣＰＵ性能を超えるとＰＬＣ処理が正常に実行されないばかりか、安全処理に影響を及ぼす虞もあり、機能安全が担保されない可能性が出てくる。たとえば、定周期間隔で実行する必要がある安全処理と、ＰＬＣ処理のタイミングとが重なったとき、どちらか一方の処理の中断が発生し、安全処理やＰＬＣ処理を適切なタイミングで実行できないという機能の欠陥を持つこととなる。
【００１３】
このため、安全処理に影響を与えずにＰＬＣ処理を実行できるか否かの判定や、各処理のタイミングを如何に制御するかが問題になる。
【００１４】
本発明は上述のかかる事情に鑑みてなされたものであり、安全処理とＰＬＣ処理の実行タイミングを効率よく制御でき、ＰＬＣ処理が安全処理に影響を及ぼす可能性がある場合は、起動時に異常通知を行うことのできる機能安全対応の電力変換器を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記の目的を達成するため、本発明に係る電力変換器は、電源から入力した直流電圧または交流電圧を所定周波数の交流電圧に変換して電動機へ出力する電力変換主回路と、該電力変換主回路に対して電圧および周波数を調整するための制御指令を出力する制御回路とを有する電力変換器であって、前記制御回路は、該電力変換器または該電力変換器の備えられたシステムの異常を検知して、前記電力変換主回路に対して減速あるいは停止を含む安全指令を出力する安全処理と前記システムを監視制御するＰＬＣ処理とを実行する第一の演算装置と、前記安全処理と前記制御指令を生成する制御処理とを実行する第二の演算装置とを有し、前記第一の演算装置は、前記安全処理を実行する安全処理プログラムと、定周期で前記ＰＬＣ処理を実行する定周期ＰＬＣ処理プログラムと、非定周期で前記ＰＬＣ処理を実行する非定周期ＰＬＣ処理プログラムと、前記各プログラムに対応付けて処理時間と処理間隔を記憶する管理テーブルと、を格納する記憶部と、起動時に、前記管理テーブルに記憶されている各プログラムの処理時間を用いて、一定時間内に起動されるべきプログラムの処理時間の合計値を算定する処理時間算定手段と、該処理時間算定手段の算定結果に基づいて、実行タイミングの重複なく各プログラムを実行可能か否かを判定し、実行可能な場合は前記第二の演算装置へ制御処理開始指令を送信する一方、実行不可能な場合は異常通知をする初期化手段と、前記各プログラムに対応付けられた処理間隔で前記各プログラムの実行予定時刻を演算し、該実行予定時刻には該当するプログラムを起動する実行タイミング管理手段と、を備えたことを特徴とする。
【００１６】
本発明では、機能安全規格を満足するための安全処理とユーザプログラムによって実現されるＰＬＣ処理とを一つの演算装置（ＣＰＵ）で実行する場合、各プログラムに対応付けて処理時間と処理間隔を記憶しておき、起動時には、これらのデータをもとに各プログラムが問題なく実行可能か否かを判定する。そして、実行可能な場合は制御処理を担当する演算装置へ制御処理開始指令を送信し、実行不可能な場合は異常通知をするので、ユーザが生成したＰＬＣ処理プログラムのために、安全処理に支障を来たすような場合は、運用者は装置起動の際に直ちに認識することができる。
【００１７】
また、本発明に係る電力変換器では、前記管理テーブルは、さらに各プログラムに対応付けて時間マージンを記憶し、前記実行タイミング管理手段は、起動したプログラムの処理時間を計測し、計測値を前記記憶部に格納し、前記処理時間算定手段は、プログラムごとに、前記実行タイミング管理手段によって計測された計測値の最大値と、前記時間マージンとの加算値が予め設定した初期値以下か否かを判定し、前記加算値が初期値以下の場合は、前記計測値の最大値を用いて一定時間内に起動されるべきプログラムの処理時間の合計値を算定し、前記加算値が初期値よりも大きい場合は、異常通知をすることを特徴とする。
【００１８】
本発明では、予め各プログラム（処理項目）に対応付けて時間マージンを定めておき、さらに、実行タイミング管理手段で計測したプログラムごとの処理時間の最大値を用いて、次回起動時に実行可否の判定をするので、信頼性の高い判定が可能になる。
【００１９】
さらに、本発明に係る電力変換器は、前記初期化手段は、各定周期処理の処理時間の合計値と、非定周期処理の処理時間の最大値と、安全処理の処理時間との加算値を演算する一方、前記管理テーブルに記憶されている定周期ＰＬＣ処理の処理間隔の中から最小の処理間隔を抽出し、該処理間隔と安全処理の処理間隔を比較して、安全処理の処理間隔の方が大きいときは、前記加算値と最小の定周期ＰＬＣ処理間隔とを比較して、前記加算値が最小の定周期ＰＬＣ処理間隔以下の場合は実行可能、前記加算値が最小の定周期ＰＬＣ処理間隔を超える場合は実行不可能と判定し、安全処理の処理間隔の方が小さいときは、前記加算値と安全処理の処理間隔とを比較して、前記加算値が安全処理の処理間隔以下の場合は実行可能、前記加算値が安全処理の処理間隔を超える場合は実行不可能と判定することを特徴とする。
【００２０】
本発明では、安全処理と定周期ＰＬＣ処理のうち、処理間隔の短い方を基準し、さらに非定周期処理の処理時間の最大値を用いて判定を行うので、より信頼性の高い実行可否の判定が可能になる。
【発明の効果】
【００２１】
本発明によれば、安全処理とＰＬＣ処理の実行タイミングを効率よく制御でき、ＰＬＣ処理が安全処理に影響を及ぼす可能性がある場合は、起動時に異常通知を行うので、ＰＬＣ機能を内蔵し機能安全規格に対応した電力変換器を低コストで実現することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施の形態による電力変換器および周辺装置の構成図である。
【図２】図１の演算装置Ａ２１の機能ブロック図である。
【図３】図２の演算装置Ａ２１の処理概要の説明図である。
【図４】図３の初期化処理（ステップＳ１）の処理手順を示すフローチャートである。
【図５】本発明の一実施の形態によるプログラムコードの一例を示す図である。
【図６】図２の管理テーブル５１のデータ構成図である。
【図７】図２の運転状況テーブル５２のデータ構成図である。
【図８】図２の初期化手段３２の処理で用いられる実行可否の判定条件式の説明図である。
【図９】図４のステップＳ１１５〜ステップＳ１１７の詳細の処理手順を示すフローチャートである。
【図１０】図３の実行管理タイミング処理（ステップＳ３）の処理手順を示すフローチャートである。
【図１１】本発明の一実施の形態による各処理の実行タイミングの説明図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照しながら本発明の実施の形態を説明する。図１は、本発明の一実施の形態による電力変換器および周辺装置の構成図である。
図１において、電力変換器１は、ＩＧＢＴなどのパワー半導体で構成され、電源４から入力した電流を所定周波数の交流電流に変換して電動機５へ出力する電力変換主回路３と、電力変換主回路３に対して、周波数を調整するための制御指令や緊急停止等の安全指令を出力する制御回路２で構成される。
【００２４】
また、制御回路２は、センサやＰＬＣなどの外部機器６と外部通信線を介して繋がり、信号のやり取りを行う外部インタフェース手段２３、外部インタフェース手段２３を介して入力した信号をもとに安全処理とＰＬＣ処理を実行する演算装置Ａ２１、演算装置Ａ２１と内部通信線を介して相互に繋がり、演算装置Ａ２１から送られてきたデータをもとに安全処理や制御処理を実行する演算装置Ｂ２２を有している。本実施の形態による電力変換器１は、安全処理を二重化することにより機能安全を担保している。
【００２５】
なお、演算装置Ａ２１と演算装置Ｂ２２は夫々ＣＰＵを有し、独立に安全処理を実行するが、これ以外の機能として、演算装置Ｂ２２は電力変換主回路３に対する制御処理を実行するのに対し、演算装置Ａ２１はＰＬＣ処理を実行する点で両者の機能は異なっている。
【００２６】
上述したように、ＰＬＣ処理を行うユーザプログラムが実装される演算装置Ａ２１が問題となるため、以下、演算装置Ａ２１を中心に説明する。
【００２７】
図２は、演算装置Ａ２１の機能ブロック図である。この図において、演算装置Ａ２１は、データを保存する記憶部１１と、演算処理を実行する演算処理部１２とを有し、さらに演算処理部１２は、外部インタフェース手段２３や電力変換主回路３との間で受け渡す入出力データの処理を行う入出力処理手段３５、装置起動時に各プログラムの実行可否など初期化処理を実行する初期化手段３２、初期化処理時に実行されるべき各プログラムの処理時間を算定する処理時間算定手段３１、安全処理プログラム・定周期ＰＬＣ処理プログラム・非定周期ＰＬＣ処理プログラムの実行タイミングを管理する実行タイミング管理手段３３、外部からの停止指令や安全処理プログラム等の演算結果に基づいて運転停止処理を実行する運転停止管理手段３４、二つの演算装置間の通信処理を実行する通信処理手段３６を備えている。各手段３１〜３６は、ＣＰＵの機能としてプログラムによって実現することができる。
【００２８】
次に、上記の構成を有する演算装置Ａ２１の動作を説明する。まず、図３を用いて演算装置Ａ２１の処理概要を説明し、次に主な処理の詳細を説明する。
【００２９】
図３において、制御回路２の電源投入やリセットにより、演算装置Ａ２１，演算装置Ｂ２２が起動すると、演算装置Ａ２１では、まず初期化手段３２を起動して、初期化処理を行う（Ｓ１）。
【００３０】
この初期化処理の詳細は後述するが、処理時間算定手段３１によってＰＬＣ処理プログラムの処理時間を算定し、安全処理に要する時間との関係から実行可能か否かを判定する。そして、初期化手段３２はこの判定結果に基づいて実行可能な場合は、電力変換器１の運転を開始する（Ｓ２）。具体的には、演算装置Ａ２１から通信処理手段３６を介して演算装置Ｂ２２へ動作開始指令を送り、演算装置Ｂ２２はこの指令によって電力変換主回路３への制御指令を生成して出力する。電力変換主回路３は、演算装置Ｂ２２から送られてくる制御指令に基づいて、電動機５の回転を制御するための電圧や周波数の変換を行う。初期化手段３２は、運転開始指令を演算装置Ｂ２２へ送信した後、実行タイミング管理手段３３と運転停止管理手段３４を起動する。
【００３１】
実行タイミング管理手段３３は、運転停止管理手段３４によって運転停止処理が行われない限り常時実行され、各プログラムの処理時間や処理間隔をもとにプログラムの起動タイミングをスケジュールし、その時間が到来すると起動する（Ｓ３）。
【００３２】
一方、運転停止管理手段３４は、外部あるいはプログラムから停止要求を受け取ると、実行タイミング管理手段３３を停止させるとともに、その停止原因に従って停止処理を行う（Ｓ４）。
【００３３】
ステップＳ４の運転終了判定によって運転終了と判定されない場合は（Ｓ４において「ＮＯ」）、ステップＳ３に戻って次の実行タイミング処理を継続して実行する。一方、ステップＳ４の運転終了判定によって運転終了と判定された場合は（Ｓ４において「Ｙｅｓ」）、フェールセーフ（安全）状態に移行し（Ｓ５）、運転停止処理を行う（Ｓ６）。
【００３４】
以上が演算装置Ａ２１の処理概要であるが、次に初期化処理と実行タイミング監視処理について詳述する。
（ステップＳ１の初期化処理の詳細）
図４において、演算装置Ａ２１の初期化手段３２は、電源投入やリセットにより起動すると、記憶部１１からユーザが予め格納したＰＬＣ処理プログラムを実行可能なメモリエリアにロードする（Ｓ１０１）。なお、記憶部１１へのＰＬＣ処理プログラムの書き込みは、外部のパソコンやコントローラ等（以下、「保守ツール」という。）から外部通信線（ネットワークやシリアル通信線等）を経由して行われる。
【００３５】
ＰＬＣ処理プログラムは、たとえば、図５で示すプログラムコードで表わされる。ＰＬＣ処理プログラムは、たとえば、電力変換器１が備え付けられたシステムのセンサ信号を外部インタフェース手段２３を介して定周期で読み込み、この信号に応じて電力変換器の周波数を切り替えて運転を行う等の定周期ＰＬＣ処理と、システムの状態変化などイベント発生時を起点に処理を開始し、外部へ信号を送る等の非定周期ＰＬＣ処理で構成される。
【００３６】
初期化手段３２は、記憶部１１からＰＬＣ処理プログラムの他、図６に例示する管理テーブル５１に予め保存されているＰＬＣ処理プログラムの処理時間、処理間隔、および、時間マージン値を読み出す（Ｓ１０２）。
【００３７】
処理間隔と時間マージン値は、ＰＬＣ処理プログラムを書き込む保守ツール上で設定される。処理時間は、ＰＬＣ処理プログラムの規模から予め推定され、保守ツール側で設定された値を利用する方法、電力変換器１の試運転を行い、その結果計測された値を処理時間として用いる方法、ユーザが予め定めた値を用いる方法の３通りが考えられる。
【００３８】
また、処理時間の推定方法としては、命令ごとに処理に費やす時間を予め保存しておき、実行コードと照合して、実行コードに含まれている命令ごとの時間の合計値を用いるという方法や、試運転の際に、処理時間を数回測定し、その実測値の最大値（最悪値）を用いるという方法がある。
【００３９】
ステップＳ１０２の後、管理テーブル５１を参照して、各定周期ＰＬＣ処理について、前回運転時に実行されたものか、または初めて実行されるものかの判定を行う（Ｓ１０３，Ｓ１０４）。この判定では、ＰＬＣ処理プログラムが記憶部１１に書きこまれた時点からの運転回数をカウントし、その運転回数が１以上であれば前回運転がなされたとする。運転回数が０の場合は（Ｓ１０４において「Ｙｅｓ」）、管理テーブル５１に保存されている処理時間の初期値を抽出し（Ｓ１０５）、以降の処理で使用する。運転回数が１以上の場合は（Ｓ１０４において「Ｎｏ」）、図７に例示する運転状況テーブル５２から前回運転時の処理時間の計測値を読み込み、計測値の最大値（最悪値）と処理時間の初期値との比較を行う。この時、計測された最大値と、時間マージン値として予め運転前に設定した時間（たとえば０．８ｍｓ）を加算し、この加算した値が初期に設定された処理時間以内であるか否かを判定する（Ｓ１０７）。この判定の結果、加算した値が初期値を上回った場合には（Ｓ１０７において「Ｎｏ」）、外部にエラー通知をして（Ｓ１０９）、そのまま終了し、運転は行わない。ステップＳ１０７の判定の結果、加算した値が初期値以下の場合は（Ｓ１０７において「Ｙｅｓ」）、計測された最大値を該当の定周期ＰＬＣ処理の処理時間として、以降の処理で使用する（Ｓ１０８）。
【００４０】
初期化手段３２は、すべての定周期ＰＬＣ処理について確認を完了すると（Ｓ１１０）、次に、実行可能かどうかの判定のための演算を行う（Ｓ１１２）。
【００４１】
図８に実行可能か否かを判定するための条件式を示す。条件式は、定周期・非定周期の各ＰＬＣ処理と安全処理が重ならない条件を表している。
【００４２】
定周期ＰＬＣ処理の処理間隔（周期）が安全処理の処理間隔よりも小さい場合は図８の（１）式を用いて判定を行い、定周期ＰＬＣ処理の処理間隔が安全処理の処理間隔以上の場合は、図８の（２）式を用いて判定を行う。そして、定周期ＰＬＣ処理および安全処理の処理間隔によって選択された（１）式または（２）式を満足するときは実行可能と判定し、満足しないときは実行不可能と判定する（Ｓ１１３）。
【００４３】
定周期ＰＬＣ処理は、一定周期で実行される処理であり、処理時間が適切に割り振りできなければ安全処理と他の処理に重なりが生じ、処理渋滞を引き起こしてしまう。非定周期ＰＬＣ処理は、たとえば割り込み処理であったり、イベント処理などであったりするので、一定周期で処理されるものではないが、定周期ＰＬＣ処理・安全処理で使われる時間以外に十分な余裕時間がなければ実行できない。このため、時間確保のために条件式の左辺では、非定周期ＰＬＣ処理の処理時間の最大値を加算するようにしている。
【００４４】
ステップＳ１１３の判定の結果、初期化手段３２が実行不可能と判定した場合は（Ｓ１１３において「Ｎｏ」）、エラー表示を行って終了する（Ｓ１１４）。なお、実行不可能とは、ＰＬＣ処理プログラムの実行が安全処理とタイミングと重なってしまうため、時間調整が困難になる可能性があることを意味する。したがって、初期化手段３２は、ＰＬＣ処理のプログラムを実行しないようにするのである。
【００４５】
一方、初期化手段３２は、実行可能と判定した場合は（Ｓ１１３において「Ｙｅｓ」）、以下の手順によって、各処理項目の処理間隔と処理時間を基準に調整幅、すなわち管理テーブル５１の「実行時刻／予定時刻」欄の実行予定時刻の値を演算する。
【００４６】
初期化手段３２は、管理テーブル５１に登録されている処理のうち、処理間隔が最短の処理項目を選択する（Ｓ１１５）。そして、選択した処理間隔の時間を最大値として、処理時間ごとにずらして実行予定時刻を決定し（Ｓ１１６）、管理テーブル５１の「実行時刻／予定時刻」欄に初回実行予定時刻として書き込む（Ｓ１１７）。この初回実行予定時刻は、安全処理及び定周期ＰＬＣ処理においては初回実行タイミングとして用いられる。
【００４７】
なお、非定周期ＰＬＣ処理については、初期化処理の段階では「実行時刻／予定時刻」欄の設定をせず、後述する実行タイミング管理手段３３が、イベントや割り込み等を検知した際に他の定周期ＰＬＣ処理・安全処理を阻害しない時刻を書き込む。
その後、運転待機状態として、実行タイミングの到来を待つ（Ｓ１１８）。
【００４８】
以下、図６を例にして調整幅について、さらに詳しく説明する。
図６は、一般例として、定周期ＰＬＣ処理と安全処理、非定周期ＰＬＣ処理の３つの処理が管理テーブル５１に登録されている場合を表している。この例において、定周期ＰＬＣ処理は、１０ｍｓ間隔で処理を行うものとする。また、安全処理は３０ｍｓ間隔で実行される。ここで、定周期ＰＬＣ処理がこの間隔を妨害することがないように、処理の実行時間をずらして調整（オフセット）する管理処理を行う。オフセット処理は、最も処理間隔が短い処理の長さを基準に、間隔の長い処理をオフセットし、その処理間隔を妨げないかどうかを判定する。たとえば、この例では０〜１０ｍｓの時間の間に、定周期処理と安全処理と非定周期処理の処理時間の合計値(安全処理５ｍｓ＋定周期処理３ｍｓ＋非定周期処理２ｍｓ ＝ １０ｍｓ)が１０ｍｓ以下となっていて、さらに実行のタイミングが他の処理時間の分だけ、ずれていれば動作が重なる問題は生じないと言える。ずらし方は、処理時間を基準にして、たとえば、この例では、安全処理のオフセットが０ｍｓ、定周期ＰＬＣ処理のオフセットは５ｍｓ。なお、この順番は変わっても良い。
【００４９】
上記のステップＳ１１５〜ステップＳ１１７は、調整幅の処理手順を示しているが、図９にこの処理手順の詳細を示す。図９に示すように、オフセット変数ｙを用いて、処理項目の先頭から、順にオフセット変数ｙの値を実行予定時刻としてセットしながら（Ｓ５０７）、セットした処理項目の処理時間をオフセット変数ｙに加算していくことにより（Ｓ５０８）、簡便な処理で初回実行予定時刻をセットすることができる。なお、図９の処理手順で調整幅を求める場合、管理テーブル５１には、優先順位の高い処理項目から順に並べておくと良い。
【００５０】
（実行タイミング管理処理）
実行タイミング管理手段３３は、各処理の処理時間や処理間隔をもとにタイミングをスケジュールし実行管理を行う。図１０に実行タイミング管理手段３３の動作フローを示す。実行タイミング管理手段３３は、まず現在時刻の更新を行った後（Ｓ３０１）、管理テーブル５１のｉ行目のデータを順に読み込む。ここで、「ｉ」は、管理テーブル５１のデータを読み込むための自動変数であり、変数ｉの初期値は１である。ｉを１から順にインクリメントしていき、管理テーブルのＮｏ．［ｉ］のデータを読み込む（Ｓ３０３）。図６の例では、ｉ＝１の場合は、Ｎｏ．１の安全処理が該当する。
【００５１】
そして、管理テーブル５１の「実行時刻/予定時刻」欄に書き込まれている時刻データと現在時刻との比較を行う（Ｓ３０４）。その結果、「実行時刻/予定時刻」欄の時刻データが現在時刻よりも後であった場合（Ｓ３０４において「Ｙｅｓ」）、すなわち現在時刻の値の方が小さかった場合は、このＮｏ［ｉ］の処理は、これから後に実行される予定の処理と判定して、条件式Ｘというパラメータ変数に、"現在時刻≧予定時刻"をセットする（Ｓ３０５）。
【００５２】
ステップＳ３０４の判定の結果、「実行時刻/予定時刻」欄の時刻データが現在時刻よりも前であった場合（Ｓ３０４において「Ｎｏ」）、このＮｏ［ｉ］の処理は、既に実行された処理と判定する。そして、非定周期処理の場合、イベントや信号などの確認を行った後に（Ｓ３０６）、条件式Ｘに" 現在時刻≧実行時刻＋処理間隔"をセットする（Ｓ３０７）。
【００５３】
これらの処理の後、条件式Ｘの式を用いて、Ｎｏ[ｉ]の処理を実行するのか、または処理をせずに次の項目へ移るのかの判定を行う（Ｓ３０８）。
【００５４】
この判定の結果、条件式Ｘが偽（Ｆａｌｓｅ）の場合には、Ｎｏ[ｉ]の処理を実行せずに次の処理項目へ移る。条件式Ｘが真（Ｔｒｕｅ）の場合には、実行時の処理時間を計測すると共に、実行時刻と現在時刻のセットを行う（Ｓ３０９）。処理時間の計測では、実行する毎に運転状況テーブル５２の処理時間の最大値を更新し、次回起動時に初期化手段３２の処理で利用される。
【００５５】
図６の管理テーブルのデータを前提としたときの安全処理、定周期ＰＬＣ処理、非定周期ＰＬＣ処理の実行タイミング例を図１１に示す。最も処理間隔の短い定周期ＰＬＣ処理の周期（１０ｍｓ）で、処理全体のタイミングの調整が行われている。なお、図１１で示されているタスク管理処理最小処理間隔とは、実行タイミング管理手段３３が実行される最小の時間間隔であり、この間隔を基準として実行を行う。この間隔はＣＰＵの性能に応じて変更されるべきであり、たとえば１ｍｓや０．５ｍｓ等が選択できる。この間隔が短いほど、処理の実行タイミングを細かく制御できる。
【００５６】
以上、本実施の形態によれば、起動直後の初期化処理で、ユーザプログラムによるＰＬＣ処理と安全処理の実行タイミング調整が可能か否かを判定し、調整が不可能な場合はエラー出力するので、稼動中に安全処理が渋滞するような事態を未然に防ぐことができる。また、ＰＬＣ処理をさらに定周期処理、非定周期処理に分けて、実行タイミング管理手段によって、実行タイミングの調整を行うので、信頼性の高い機能安全対応の電力変換器を実現することができる。
【００５７】
本発明は、上述の実施の形態に限定されることなく、その要旨を逸脱し無い範囲で種々変形して実施をすることができる。たとえば、上記の説明においては、２つの演算装置のうち、第一の演算装置で安全処理とＰＬＣ処理を実行し、第二の演算装置で安全処理と電力変換主回路の制御処理を実行することとしたが、第二演算装置で実行する安全処理と制御処理は別々の演算装置で実行させるようにしても良い。
【符号の説明】
【００５８】
１    電力変換器
２    制御回路
３    電力変換主回路
４    電源
５    電動機
６    外部機器
１１    記憶部
１２    演算処理部
２１    演算装置Ａ
２２    演算装置Ｂ
２３    外部インタフェース手段
３１    処理時間算定手段
３２    初期化手段
３３    実行タイミング管理手段
３４    運転停止管理手段
３５    入出力処理手段
３６    通信処理手段
５１    管理テーブル
５２    運転状況テーブル
【図２】
2012196071.tif 000003
【図３】
2012196071.tif 000004
【図４】
2012196071.tif 000005
【図５】
2012196071.tif 000006
【図６】
2012196071.tif 000007
【図７】
2012196071.tif 000008
【図８】
2012196071.tif 000009
【図９】
2012196071.tif 000010
【図１０】
2012196071.tif 000011
【図１１】
2012196071.tif 000012
【図１】
2012196071.tif 000013