(57)【要約】【課題】電力変換装置用の制御プログラムを編集する作業の負担軽減に有効な電力変換システムを提供する。【解決手段】電力変換システム１は、電力変換回路１０と、電力変換回路１０を制御するための制御プログラムを記憶したプログラム保持部１１１と、制御プログラムに従って電力変換回路１０を制御する制御部１１２と、を有する電力変換装置２と、電力変換装置に接続されるプログラミング支援装置３と、を備え、プログラミング支援装置３は、プログラム保持部１１１に記憶された制御プログラムに基づいて、複数のファンクションブロック３２２と、ファンクションブロック３２２間の情報の入出力を示すリンク３２３とにより制御プログラムの内容を示すブロック図３２１の表示用データを生成する表示データ生成部２２１を有する。【選択図】図２
2019128930.tif 000002
【特許請求の範囲】
【請求項１】
電力変換回路と、前記電力変換回路を制御するための制御プログラムを記憶したプログラム保持部と、前記制御プログラムに従って前記電力変換回路を制御する制御部と、を有する電力変換装置と、
前記電力変換装置に接続されるプログラミング支援装置と、を備え、
前記プログラミング支援装置は、
前記プログラム保持部に記憶された前記制御プログラムに基づいて、複数のファンクションブロックと、前記ファンクションブロック間の情報の入出力を示すリンクとにより前記制御プログラムの内容を示すブロック図の表示用データを生成する表示データ生成部を有する、電力変換システム。
【請求項２】
前記プログラム保持部は、
複数のプログラムモジュールを記憶するモジュール保持部と、
前記複数のプログラムモジュールの実行順序を示すシーケンスデータを記憶するシーケンス保持部と、を含み、
前記プログラミング支援装置は、
前記複数のファンクションブロックを前記複数のプログラムモジュールのいずれかに対応付けて記憶するブロック保持部を更に有し、
前記表示データ生成部は、前記シーケンス保持部に記憶された前記シーケンスデータと、前記ブロック保持部における前記ファンクションブロックと前記プログラムモジュールとの対応関係と、に基づいて前記ブロック図の表示用データを生成する、請求項１記載の電力変換システム。
【請求項３】
前記ファンクションブロックは、情報の入力用の前記プログラムモジュールに対応付けられた入力端子と、情報の出力用の前記プログラムモジュールに対応付けられた出力端子と、の少なくとも一方を含み、
前記表示データ生成部は、いずれかの前記ファンクションブロックの前記出力端子と他のいずれかの前記ファンクションブロックの前記入力端子とを前記リンクにより接続するように前記ブロック図の表示用データを生成する、請求項２記載の電力変換システム。
【請求項４】
前記表示データ生成部は、前記ファンクションブロックの配置を設定する配置設定部と、前記リンクの表示用データを生成するリンクデータ生成部と、を含み、
前記シーケンス保持部に記憶された前記シーケンスデータにおいて、いずれかの前記ファンクションブロックの前記出力端子に対応付けられた前記プログラムモジュールの次に、他のいずれかの前記ファンクションブロックの前記入力端子に対応付けられた前記プログラムモジュールが位置している場合に、
前記配置設定部は、当該いずれかのファンクションブロックと、当該他のいずれかのファンクションブロックとが第１の方向にずれるように前記ファンクションブロックの配置を設定し、
前記リンクデータ生成部は、当該いずれかのファンクションブロックの当該出力端子と、当該他のいずれかのファンクションブロックの当該入力端子とを接続するように前記リンクの表示用データを生成する、請求項３記載の電力変換システム。
【請求項５】
前記シーケンス保持部に記憶された前記シーケンスデータにおいて、いずれかの前記ファンクションブロックの前記入力端子又は前記出力端子に対応付けられた前記プログラムモジュールの次に、他のいずれかの前記ファンクションブロックの前記出力端子に対応付けられた前記プログラムモジュールが位置している場合に、
前記配置設定部は、当該いずれかのファンクションブロックと、当該他のいずれかのファンクションブロックとが前記第１の方向に交差する第２の方向にずれるように前記ファンクションブロックの配置を設定する、請求項４記載の電力変換システム。
【請求項６】
前記プログラミング支援装置は、
前記ブロック図における前記ファンクションブロックの配置と、前記リンクとに基づいて、前記シーケンスデータを生成するコンパイル部を更に備える、請求項２〜５のいずれか一項記載の電力変換システム。
【請求項７】
前記シーケンス保持部は、前記シーケンスデータに加えて当該シーケンスデータを生成したユーザのＩＤを記憶するように構成されており、
前記プログラミング支援装置は、自装置のユーザのＩＤを記憶するＩＤ保持部と、
前記コンパイル部により生成された前記シーケンスデータと、前記ＩＤ保持部に記憶されたいずれかのＩＤとを対応付けて前記シーケンス保持部に保存するシーケンスデータ登録部と、を更に有し、
前記プログラミング支援装置及び前記電力変換装置の少なくとも一方は、
前記シーケンス保持部に記憶されたＩＤと、前記ＩＤ保持部に記憶されたＩＤとが一致しない場合には、前記プログラム保持部に記憶された前記制御プログラムに基づく前記表示用データの生成を禁止するセキュリティ管理部を更に有する、請求項６記載の電力変換システム。
【請求項８】
前記ＩＤ保持部は、複数の前記ユーザのＩＤを記憶し得るように構成されており、
前記セキュリティ管理部は、前記プログラミング支援装置に設けられており、前記シーケンス保持部に記憶されたＩＤと、前記ＩＤ保持部に記憶されたいずれかのＩＤとが一致する場合に、前記プログラム保持部に記憶された前記制御プログラムに基づく前記表示用データの生成を許可するように構成されている、請求項７記載の電力変換システム。
【請求項９】
前記プログラミング支援装置は、
前記ブロック図における少なくとも一部の前記ファンクションブロックに対し、仮想的な入力データを設定する入力データ設定部と、
前記モジュール保持部に記憶された前記複数のプログラムモジュールにそれぞれ対応する複数のプログラムモジュールを記憶する対応プログラム保持部と、
前記コンパイル部により生成された前記シーケンスデータと、前記入力データ設定部により設定された前記仮想的な入力データとに従って、前記対応プログラム保持部に記憶された前記プログラムモジュールを実行するシミュレーション部と、
前記シミュレーション部による前記プログラムモジュールの実行結果を前記ブロック図と共に表示するための上書用データを生成する結果表示データ生成部と、を更に備える、請求項６〜８のいずれか一項記載の電力変換システム。
【請求項１０】
前記入力データ設定部は、周期及び振幅を含む波形指定に基づいて波形の前記入力データを設定するように構成されている、請求項９記載の電力変換システム。
【請求項１１】
前記プログラミング支援装置は、シミュレーションの実行モードを、前記シーケンスデータに従った一連の前記プログラムモジュールの実行を繰り返す連続モードと、一つ又は複数の前記プログラムモジュールを実行する度に前記プログラムモジュールの実行を中断するステップモードと、を含む複数のモードのいずれかに設定するモード設定部を更に備え、
前記シミュレーション部は、前記対応プログラム保持部に記憶された前記プログラムモジュールを、前記モード設定部により設定された前記実行モードで実行する、請求項９又は１０記載の電力変換システム。
【請求項１２】
電力変換回路を有する電力変換装置から、前記電力変換回路を制御するための制御プログラムを読み出すプログラム読出部と、
前記プログラム読出部により読み出された前記制御プログラムに基づいて、複数のファンクションブロックと、前記ファンクションブロック間の情報の入出力を示すリンクとにより前記制御プログラムの内容を示すブロック図の表示用データを生成する表示データ生成部と、を備える、プログラミング支援装置。
【請求項１３】
電力変換回路を有する電力変換装置から、前記電力変換回路を制御するための制御プログラムを読み出すことと、
前記制御プログラムに基づいて、複数のファンクションブロックと、前記ファンクションブロック間の情報の入出力を示すリンクとにより前記制御プログラムの内容を示すブロック図の表示用データを生成することと、を含むプログラミング支援方法。
【請求項１４】
電力変換回路を有する電力変換装置から、前記電力変換回路を制御するための制御プログラムを読み出すことと、
前記制御プログラムに基づいて、複数のファンクションブロックと、前記ファンクションブロック間の情報の入出力を示すリンクとにより前記制御プログラムの内容を示すブロック図の表示用データを生成することと、を装置に実行させるためのプログラム。
【請求項１５】
電力変換回路を有する電力変換装置から、前記電力変換回路を制御するための制御プログラムを読み出すことと、
前記制御プログラムに基づいて、複数のファンクションブロックと、前記ファンクションブロック間の情報の入出力を示すリンクとにより前記制御プログラムの内容を示すブロック図の表示用データを生成することと、を装置に実行させるためのプログラムを記憶した、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、電力変換システム、プログラミング支援装置、プログラミング支援方法、プログラム、及び記憶媒体に関する。
【背景技術】
【０００２】
特許文献１には、あらかじめ固有の端子番号に対応した実行コード・モジュールのテーブルを記憶した実行コード部と、実行コード・モジュールの実行順序を示す接続情報テーブルをダウンロードする通信インタフェース部と、実行コード・モジュールのテーブル及び接続情報テーブルに基づいて実行コード・モジュールを実行するＣＰＵと、を備えるインバータが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５０１８４７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本開示は、電力変換装置用の制御プログラムを編集する作業の負担軽減に有効な電力変換システム、プログラミング支援装置、プログラミング支援方法、プログラム、及び記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本開示の一側面に係る電力変換システムは、電力変換回路と、電力変換回路を制御するための制御プログラムを記憶したプログラム保持部と、制御プログラムに従って電力変換回路を制御する制御部と、を有する電力変換装置と、電力変換装置に接続されるプログラミング支援装置と、を備え、プログラミング支援装置は、プログラム保持部に記憶された制御プログラムに基づいて、複数のファンクションブロックと、ファンクションブロック間の情報の入出力を示すリンクとにより制御プログラムの内容を示すブロック図の表示用データを生成する表示データ生成部を有する。
【０００６】
本開示の他の側面に係るプログラミング支援装置は、電力変換回路を有する電力変換装置から、電力変換回路を制御するための制御プログラムを読み出すプログラム読出部と、プログラム読出部により読み出された制御プログラムに基づいて、複数のファンクションブロックと、ファンクションブロック間の情報の入出力を示すリンクとにより制御プログラムの内容を示すブロック図の表示用データを生成する表示データ生成部を備える。
【０００７】
本開示の更に他の側面に係るプログラミング支援方法は、電力変換回路を有する電力変換装置から、電力変換回路を制御するための制御プログラムを読み出すことと、制御プログラムに基づいて、複数のファンクションブロックと、ファンクションブロック間の情報の入出力を示すリンクとにより制御プログラムの内容を示すブロック図の表示用データを生成することと、を含む。
【０００８】
本開示の更に他の側面に係るプログラムは、電力変換回路を有する電力変換装置から、電力変換回路を制御するための制御プログラムを読み出すことと、制御プログラムに基づいて、複数のファンクションブロックと、ファンクションブロック間の情報の入出力を示すリンクとにより制御プログラムの内容を示すブロック図の表示用データを生成することと、を装置に実行させるためのプログラムである。
【０００９】
本開示の更に他の側面に係る記憶媒体は、電力変換回路を有する電力変換装置から、電力変換回路を制御するための制御プログラムを読み出すことと、制御プログラムに基づいて、複数のファンクションブロックと、ファンクションブロック間の情報の入出力を示すリンクとにより制御プログラムの内容を示すブロック図の表示用データを生成することと、を装置に実行させるためのプログラムを記憶した、コンピュータ読み取り可能な記憶媒体である。
【発明の効果】
【００１０】
本開示によれば、電力変換装置用の制御プログラムを編集する作業の負担軽減に有効な電力変換システム、プログラミング支援装置、プログラミング支援方法、プログラム、及び記憶媒体を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】電力変換システムの概略構成を示す模式図である。
【図２】電力変換システムの機能上の構成を例示するブロック図である。
【図３】シーケンスデータを例示するテーブルである。
【図４】プログラミング支援画面を例示する模式図である。
【図５】電力変換システムのハードウェア構成を例示するブロック図である。
【図６】逆コンパイル処理手順を例示するフローチャートである。
【図７】表示用データの生成手順を例示するフローチャートである。
【図８】コンパイル手順を例示するフローチャートである。
【図９】シミュレーション手順を例示するフローチャートである。
【図１０】シミュレーション中におけるプログラミング支援画面を例示する模式図である。
【図１１】シーケンスデータの登録手順を例示するフローチャートである。
【発明を実施するための形態】
【００１２】
以下、実施形態について、図面を参照しつつ詳細に説明する。説明において、同一要素又は同一機能を有する要素には同一の符号を付し、重複する説明を省略する。本実施形態に係る電力変換システムは、所望の交流電力を生成して負荷（例えば電動機）に出力するシステムである。
【００１３】
〔電力変換システム〕
図１に示すように、電力変換システム１は、電力変換装置２とプログラミング支援装置３とを備える。電力変換装置２は、電力変換用の電力変換回路１０と、電力変換回路１０を制御する制御回路１００とを有する。電力変換回路１０は、整流回路１１と、コンデンサ１２と、インバータ回路１３と、交流入力端子２１と、交流出力端子２２とを有する。整流回路１１は、例えばダイオードブリッジ回路であり、交流入力端子２１に入力された交流電力を直流化して直流母線１４Ｐ，１４Ｎに出力する。コンデンサ１２は直流母線１４Ｐ,１４Ｎ間に接続されており、直流母線１４Ｐ,１４Ｎ間の直流電圧を平滑化する。インバータ回路１３は、直流母線１４Ｐ,１４Ｎの直流電力を交流電力に変換して交流出力端子２２に出力するための回路である。インバータ回路１３は、例えばＩＧＢＴ等の複数のスイッチ１５を有する。当該複数のスイッチ１５のオン・オフを切り替えることにより、直流電力を交流電力に変換することが可能である。
【００１４】
なお、電力変換回路１０は、出力電力を制御可能な回路である限りいかなる回路であってもよい。例えば電力変換回路１０は、直流の入力電力を交流の出力電力に変換する回路であってもよく、交流の入力電力を直流の出力電力に変換する回路であってもよく、直流の入力電力を直流の出力電力に変換する回路であってもよい。また、電力変換回路１０は、交流電力の直流化を行うことなく、交流の入力電力と交流の出力電力との間の電力変換を行うマトリクスコンバータ回路であってもよい。
【００１５】
制御回路１００は、スイッチ１５のオン・オフ切り替えにより電力変換を実行するようにインバータ回路１３を制御する。図２に示すように、制御回路１００は、プログラム保持部１１１と、制御部１１２とを有する。プログラム保持部１１１は、電力変換回路１０を制御するための制御プログラムを記憶している。例えばプログラム保持部１１１は、モジュール保持部１１３とシーケンス保持部１１４とを含む。
【００１６】
モジュール保持部１１３は、複数のプログラムモジュールを記憶する。プログラムモジュールは、例えば関数化された一つ又は複数の情報処理手順を含む実行形式のプログラムである。複数のプログラムモジュールの組み合わせの変更により、様々な制御プログラムを構成することが可能である。
【００１７】
シーケンス保持部１１４は、シーケンスデータを記憶する。シーケンスデータは、制御プログラムを構成する複数のプログラムモジュールの実行順序を示すデータである。図３は、シーケンスデータを例示するテーブルである。図３の上側の行における各セルの数値は、実行順序を示している。図３の下側の行における各セルの数値は、プログラムモジュールのＩＤを示している。シーケンス保持部１１４は、シーケンスデータに加えて当該シーケンスデータを設定したユーザのＩＤを記憶するように構成されていてもよい。
【００１８】
図２に戻り、制御部１１２は、プログラム保持部１１１に記憶された制御プログラムに従って電力変換回路１０を制御する。例えば制御部１１２は、プログラム保持部１１１に記憶された制御プログラムに従ってゲート駆動信号を生成し、電力変換回路１０のスイッチ１５に出力する。
【００１９】
プログラミング支援装置３は、上述した制御プログラムの生成を支援する装置であり、有線又は無線により電力変換装置２との間で情報通信を行う。プログラミング支援装置３は、少なくとも、電力変換装置２から制御プログラムを読み出すことと、制御プログラムに基づいて、ブロック図の表示用データを生成することと、を実行するように構成されている。ブロック図は、複数のファンクションブロックと、ファンクションブロック間の情報の入出力を示すリンクとにより制御プログラムの内容を示す図である。表示用データを生成することは、電力変換装置２に記憶されたシーケンスデータと、ファンクションブロックとプログラムモジュールとの対応関係と、に基づいてブロック図の表示用データを生成することを含んでいてもよい。
【００２０】
プログラミング支援装置３は、ブロック図におけるファンクションブロックの配置と、リンクとに基づいて、シーケンスデータを生成することを更に実行するように構成されていてもよい。プログラミング支援装置３は、自装置が生成したシーケンスデータと、自装置に記憶されたユーザのＩＤとを対応付けて電力変換装置２に保存することと、電力変換装置２に記憶されたＩＤと、自装置に記憶されたＩＤとが一致しない場合には、当該電力変換装置２に記憶された制御プログラムに基づく表示用データの生成を禁止することとを更に実行するように構成されていてもよい。プログラミング支援装置３は、ブロック図における少なくとも一部のファンクションブロックに対し、仮想的な入力データを設定することと、電力変換装置２に記憶された複数のプログラムモジュールにそれぞれ対応する複数のプログラムモジュール（以下、「対応モジュール」という。）のいずれかを、シーケンスデータと仮想的な入力データとに従って実行することと、対応モジュールの実行結果をブロック図と共に表示するための上書用データを生成することと、を更に実行するように構成されていてもよい。
【００２１】
例えばプログラミング支援装置３は、表示データ保持部２１４と、ブロック保持部２１２と、シーケンスデータ取得部２１９と、表示データ生成部２２１と、画像表示部２２４とを有する。表示データ保持部２１４は、プログラミング支援画面（制御プログラムの生成支援用の画面）の表示用データを記憶する。
【００２２】
図４は、プログラミング支援画面を例示する模式図である。図４に示すプログラミング支援画面３００は、ツールバー３１０と、ブロック図表示部３２０と、ブロック選択部３３０と、プロパティ表示部３４０と、条件入力部３５０とを有する。ツールバー３１０は、複数のツールを表示する。複数のツールは、例えば読出ボタン３１１と、コンパイルボタン３１２と、書込ボタン３１３と、連続実行ボタン３１４と、ステップ実行ボタン３１５と、停止ボタン３１６と、ＩＤ追加ボタン３１７とを含む。読出ボタン３１１は、電力変換装置２からの制御プログラムの読み出しを指示するためのボタンである。コンパイルボタン３１２は、ブロック図に基づくシーケンスデータの生成を指示するためのボタンである。書込ボタン３１３は、シーケンスデータの電力変換装置２への書き込みを指示するためのボタンである。連続実行ボタン３１４は、連続モード（後述）でのシミュレーションの実行を指示するためのボタンである。ステップ実行ボタン３１５は、ステップモード（後述）でのシミュレーションの実行を指示するためのボタンである。停止ボタン３１６は、シミュレーションの停止を指示するためのボタンである。ＩＤ追加ボタン３１７は、ＩＤ保持部２１１へのユーザのＩＤの追加登録を指示するためのボタンである。
【００２３】
ブロック図表示部３２０は、ブロック図３２１を表示するためのエリアである。ブロック図３２１は、複数のファンクションブロック３２２と、ファンクションブロック３２２間の情報の入出力を示すリンク３２３とにより制御プログラムの内容を示す。ファンクションブロック３２２は、情報の取得と、取得した情報に基づく情報の出力とを行う。ファンクションブロック３２２は、情報の入力用のプログラムモジュールに対応付けられた入力端子３２４と、情報の出力用のプログラムモジュールに対応付けられた出力端子３２５と、の少なくとも一方を含んでいてもよい。例えば、複数のファンクションブロック３２２は、信号入力用のブロック３２２Ａと、信号出力用のブロック３２２Ｂと、途中演算用のブロック３２２Ｃとを含む。
【００２４】
信号入力用のブロック３２２Ａは、信号を取得するためのブロックであり、出力端子３２５を有する。当該出力端子３２５は、取得した信号に基づく情報を他のファンクションブロック３２２に出力するためのプログラムモジュールに対応付けられている。取得対象の信号の具体例としては、電力変換装置２内外のセンサからの信号又は電力変換装置２外からの指令信号等が挙げられる。取得した信号に基づく情報は、取得した信号自体を示す数値情報であってもよいし、当該信号に所定の演算（例えばゲインの乗算）を施した数値情報であってもよい。
【００２５】
信号出力用のブロック３２２Ｂは、信号を出力するためのブロックであり、入力端子３２４を有する。当該入力端子３２４は、他のファンクションブロック３２２から出力された情報を取得するためのプログラムモジュールに対応付けられている。信号出力用のブロック３２２Ｂは、入力端子３２４が取得した情報に基づく信号を出力する。出力対象の信号の具体例としては、ゲート駆動信号を生成するための周波数指令信号等が挙げられる。取得した情報に基づく信号は、取得した情報自体を示す信号であってもよいし、当該情報に所定の演算（例えばゲインの乗算）を施した数値情報を示す信号であってもよい。
【００２６】
途中演算用のブロック３２２Ｃは、入力端子３２４及び出力端子３２５を有する。当該入力端子３２４は、他のファンクションブロック３２２から出力された情報を取得するためのプログラムモジュールに対応付けられている。当該出力端子３２５は、入力端子３２４が取得した情報に基づく情報を他のファンクションブロック３２２に出力するためのプログラムモジュールに対応付けられている。取得した情報に基づく情報は、取得した数値情報自体であってもよいし、当該数値情報に所定の演算（例えばゲインの乗算）を施した数値情報であってもよい。
【００２７】
ファンクションブロック３２２は、複数の入力端子３２４を含んでいてもよく、複数の出力端子３２５を含んでいてもよい。例えば途中演算用のブロック３２２Ｃは、複数の入力端子３２４と一つの出力端子３２５とを含んでいてもよく、当該出力端子３２５は、複数の入力端子３２４がそれぞれ取得した複数の情報に基づく情報を他のファンクションブロック３２２に出力するためのプログラムモジュールに対応付けられていてもよい。複数の情報に基づく情報の具体例としては、当該複数の情報を加算した情報等が挙げられる。
【００２８】
リンク３２３は、いずれかのファンクションブロック３２２の出力端子３２５と他のいずれかのファンクションブロック３２２の入力端子３２４とを接続し、当該出力端子３２５からの情報がファンクションブロック３２２に入力されることを示す。
【００２９】
ブロック選択部３３０は、ブロック図表示部３２０に追加するファンクションブロック３２２を選択するためのエリアである。例えばブロック選択部３３０は、キー入力ボックス３３１と、カテゴリリスト３３２と、ブロックリスト３３３とを含む。キー入力ボックス３３１は、ブロック保持部２１２から所望のファンクションブロック３２２を検索するためのキーを入力するテキストボックスである。カテゴリリスト３３２は、ファンクションブロック３２２のカテゴリを表示するリストである。ブロックリスト３３３は、カテゴリリスト３３２において選択されたカテゴリに属する全てのファンクションブロック３２２のうち、キー入力ボックス３３１に入力されたキーに該当するファンクションブロック３２２をアイコン表示するリストである。
【００３０】
プロパティ表示部３４０は、ブロック図表示部３２０において選択されたファンクションブロック３２２のプロパティを表示するエリアである。条件入力部３５０は、ブロック図表示部３２０において選択されたファンクションブロック３２２についてのシミュレーションの条件を入力するためのエリアである。シミュレーションの条件の具体例としては、例えば上述した信号入力用のブロック３２２Ａに入力する信号を特定する条件等が挙げられる。当該条件は、当該信号の値を指定する数値指定であってもよいし、周期及び振幅を含む波形指定であってもよい。
【００３１】
図２に戻り、ブロック保持部２１２は、複数のファンクションブロック３２２を複数のプログラムモジュールのいずれかに対応付けて記憶する。例えばブロック保持部２１２は、ファンクションブロック３２２の入力端子３２４の識別情報と情報入力用のプログラムモジュールの識別情報とを対応付けて記憶し、ファンクションブロック３２２の出力端子３２５の識別情報と情報出力用のプログラムモジュールの識別情報とを対応付けて記憶する。
【００３２】
シーケンスデータ取得部２１９は、電力変換装置２のシーケンス保持部１１４に記憶されたシーケンスデータを取得する。表示データ生成部２２１は、電力変換装置２のプログラム保持部１１１に記憶された制御プログラムに基づいて、ブロック図３２１の表示用データを生成し、表示データ保持部２１４に保存する。例えば表示データ生成部２２１は、シーケンスデータ取得部２１９により取得されたシーケンスデータと、ブロック保持部２１２におけるファンクションブロック３２２とプログラムモジュールとの対応関係と、に基づいてブロック図３２１の表示用データを生成する。表示データ生成部２２１は、いずれかのファンクションブロック３２２の出力端子３２５と他のいずれかのファンクションブロック３２２の入力端子３２４とをリンク３２３により接続するようにブロック図３２１の表示用データを生成してもよい。例えば表示データ生成部２２１は、より細分化された構成要素として、配置設定部２２２とリンクデータ生成部２２３とを有する。
【００３３】
配置設定部２２２は、ファンクションブロック３２２の配置を設定する。リンクデータ生成部２２３は、リンク３２３の表示用データを生成する。例えば、シーケンスデータ取得部２１９が取得したシーケンスデータにおいて、いずれかのファンクションブロック３２２の出力端子３２５に対応付けられたプログラムモジュールの次に、他のいずれかのファンクションブロック３２２の入力端子３２４に対応付けられたプログラムモジュールが位置している場合に、配置設定部２２２は、当該いずれかのファンクションブロック３２２と、当該他のいずれかのファンクションブロック３２２とが第１の方向（例えば図４における左右方向）にずれるようにファンクションブロック３２２の配置を設定し、リンクデータ生成部２２３は、当該いずれかのファンクションブロック３２２の当該出力端子３２５と、当該他のいずれかのファンクションブロック３２２の当該入力端子３２４とを接続するようにリンク３２３の表示用データを生成する。なお、「第１の方向にずれる」とは、第１の方向における位置が互いに異なるように配置されることを意味し、第１の方向と直交する方向における配置関係は特定しない。
【００３４】
また、シーケンスデータ取得部２１９が取得したシーケンスデータにおいて、いずれかのファンクションブロック３２２の入力端子３２４又は出力端子３２５に対応付けられたプログラムモジュールの次に、他のいずれかのファンクションブロック３２２の出力端子３２５に対応付けられたプログラムモジュールが位置している場合に、配置設定部２２２は、当該いずれかのファンクションブロック３２２と、当該他のいずれかのファンクションブロック３２２とが第１の方向に交差する第２の方向（例えば図４における上下方向）にずれるようにファンクションブロック３２２の配置を設定する。
【００３５】
表示データ生成部２２１は、シーケンスデータにおける実行順序に沿った手順でブロック図３２１の表示用データを生成（すなわち図４の左側から順にブロック図３２１の表示用データを生成）してもよいし、シーケンスデータにおける実行順序を遡る手順でブロック図３２１の表示用データを生成（すなわち図４の右側から順にブロック図３２１の表示用データを生成）してもよい。
【００３６】
画像表示部２２４は、表示データ保持部２１４に保存された表示用データに従って、ブロック図３２１を含むプログラミング支援画面３００を表示する。
【００３７】
プログラミング支援装置３は、ＩＤ保持部２１１と、ＩＤ登録部２１６と、相手側ＩＤ取得部２１７と、セキュリティ管理部２１８とを更に有してもよい。ＩＤ保持部２１１は、自装置（当該ＩＤ保持部２１１を有するプログラミング支援装置３）のユーザのＩＤを記憶する。ＩＤ保持部２１１は、複数のユーザのＩＤを記憶し得るように構成されていてもよい。ＩＤ登録部２１６は、追加入力されたユーザのＩＤを取得してＩＤ保持部２１１に保存する。
【００３８】
例えばＩＤ登録部２１６は、上記ＩＤ追加ボタン３１７（図４参照）のクリックに応じて、ユーザのＩＤ及びパスワードの入力用のダイアログボックスを表示する。ユーザのＩＤ及びパスワードは、例えば電力変換装置２のメーカにより予め電力変換装置２に対して発行されており、当該メーカのサーバ等に登録されている。ユーザのＩＤ及びパスワードが入力されると、ＩＤ登録部２１６は当該ＩＤの登録可否を判定し、登録可である場合に当該ＩＤをＩＤ保持部２１１に保存する。例えばＩＤ登録部２１６は、入力されたＩＤ及びパスワードの組み合わせが上記サーバ等に登録されている場合には、当該ＩＤを登録可と判定し、当該組み合わせが上記サーバ等に登録されていない場合には当該ＩＤを登録不可と判定する。
【００３９】
相手側ＩＤ取得部２１７は、電力変換装置２のシーケンス保持部１１４に記憶されたＩＤを取得する。
【００４０】
セキュリティ管理部２１８は、相手側ＩＤ取得部２１７により取得されたＩＤと、ＩＤ保持部２１１に記憶されたＩＤとが一致しない場合には、プログラム保持部１１１に記憶された制御プログラムに基づくブロック図３２１の表示用データの生成を禁止する。例えばセキュリティ管理部２１８は、シーケンスデータ取得部２１９によるシーケンスデータの取得を禁止する。セキュリティ管理部２１８は、相手側ＩＤ取得部２１７により取得されたＩＤと、ＩＤ保持部２１１に記憶された複数のＩＤのいずれか一つとが一致する場合に、プログラム保持部１１１に記憶された制御プログラムに基づくブロック図３２１の表示用データの生成を許可するように構成されていてもよい。
【００４１】
なお、セキュリティ管理部２１８は、電力変換装置２側に設けられていてもよい。この場合、セキュリティ管理部２１８は、シーケンス保持部１１４に記憶されたＩＤと、ＩＤ保持部２１１に記憶されたＩＤとが一致しない場合に、例えばシーケンス保持部１１４からシーケンスデータ取得部２１９へのシーケンスデータの送信を禁止する。
【００４２】
プログラミング支援装置３は、表示データ編集部２３２と、コンパイル部２２５と、シーケンス保持部２１５と、対応プログラム保持部２１３と、入力データ設定部２２６と、モード設定部２２７と、シミュレーション部２２８と、結果表示データ生成部２２９と、シーケンスデータ登録部２３１とを更に有してもよい。
【００４３】
表示データ編集部２３２は、プログラミング支援画面３００への操作入力に従って、表示データ保持部２１４の表示用データを変更する。例えば表示データ編集部２３２は、ブロックリスト３３３からブロック図表示部３２０にファンクションブロック３２２がドラッグされた場合に、ドラッグ完了位置に従って当該ファンクションブロック３２２をブロック図３２１に追加するように表示用データを変更する。また、表示データ編集部２３２は、ブロック図表示部３２０においていずれかのファンクションブロック３２２の出力端子３２５から他のファンクションブロック３２２の入力端子３２４に至るドラッグ入力がなされた場合に、当該出力端子３２５と当該入力端子３２４とを接続するリンク３２３を追加するように表示用データを変更する。また、表示データ編集部２３２は、ブロック図表示部３２０においてファンクションブロック３２２又はリンク３２３を削除する入力がなされた場合に、当該ファンクションブロック３２２又はリンク３２３を削除するように表示用データを変更する。
【００４４】
コンパイル部２２５は、ブロック図３２１におけるファンクションブロック３２２の配置と、リンク３２３とに基づいて、シーケンスデータを生成するコンパイル処理を行い、シーケンス保持部２１５に保存する。例えばコンパイル部２２５は、リンク３２３により接続された出力端子３２５及び入力端子３２４にそれぞれ対応付けられた二つのプログラムモジュールが順に並ぶようにシーケンスデータを生成する。ファンクションブロック３２２の配置及びリンク３２３は、例えば表示データ保持部２１４から取得される。コンパイル処理は、例えば、ブロック保持部２１２に記憶された、ファンクションブロック３２２とプログラムモジュールとの対応付けに基づいて行われる。なお、コンパイル部２２５が実行する「コンパイル処理」に対し、表示データ生成部２２１が実行する処理は「逆コンパイル処理」に相当する。
【００４５】
対応プログラム保持部２１３は、モジュール保持部１１３に記憶された複数のプログラムモジュールにそれぞれ対応する複数のプログラムモジュール（上記対応モジュール）を記憶する。対応モジュールは、プログラミング支援装置３におけるシミュレーション用のプログラムモジュールであり、例えばモジュール保持部１１３に記憶されたプログラムモジュールをプログラミング支援装置３にて仮想的に実行し得るように改変したものである。仮想的に実行とは、電力変換装置２を動作させることなく実行することを意味する。
【００４６】
入力データ設定部２２６は、ブロック図３２１における少なくとも一部のファンクションブロック３２２に対し、仮想的な入力データを設定する。例えば入力データ設定部２２６は、条件入力部３５０への入力内容に基づいて上記入力データを設定する。入力データ設定部２２６は、条件入力部３５０において周期及び振幅を含む波形指定が入力されている場合に、当該波形指定に基づいて波形の入力データを設定するように構成されていてもよい。
【００４７】
モード設定部２２７は、シミュレーションの実行モードを、連続モードとステップモードとを含む複数のモードのいずれかに設定する。連続モードは、シーケンスデータに従った一連のプログラムモジュールの実行を繰り返す実行モードである。ステップモードは、一つ又は複数のプログラムモジュール（以下、「一セットのプログラムモジュール」という。）を実行する度にプログラムモジュールの実行を中断する実行モードである。例えばモード設定部２２７は、連続実行ボタン３１４がクリックされた場合には実行モードを連続モードに設定し、ステップ実行ボタン３１５がクリックされた場合には実行モードをステップモードに設定する。
【００４８】
ステップモードにおいて実行される上記一セットのプログラムモジュールの具体例としては、一制御周期分のプログラムモジュール（連続モードで繰り返される一連のプログラムモジュール）が挙げられる。すなわち、ステップモードは、一制御周期ごとにプログラムモジュールの実行を中断するように設定されていてもよい。上記一セットのプログラムモジュールは、一つのファンクションブロック３２２に対応付けられたプログラムモジュールであってもよい。すなわち、ステップモードは、一つのファンクションブロック３２２ごとにプログラムモジュールの実行を中断するように設定されていてもよい。なお、モード設定部２２７は、ユーザの指定に応じて一セットのプログラムモジュールをカスタマイズできるように構成されていてもよい。
【００４９】
シミュレーション部２２８は、モード設定部２２７により設定された実行モードでシミュレーションを実行する。具体的に、シミュレーション部２２８は、コンパイル部２２５により生成されたシーケンスデータと、入力データ設定部２２６により設定された仮想的な入力データとに従って、対応プログラム保持部２１３に記憶されたプログラムモジュールを実行する。
【００５０】
結果表示データ生成部２２９は、シミュレーション部２２８によるプログラムモジュールの実行結果をブロック図表示部３２０に表示するための上書用データを生成して表示データ保持部２１４に保存する。例えば結果表示データ生成部２２９は、プログラムモジュールの実行により算出された数値を当該プログラムモジュールに対応するファンクションブロック３２２の近傍に表示するように上書用データを生成する。
【００５１】
シーケンスデータ登録部２３１は、コンパイル部２２５によりシーケンス保持部２１５に保存されたシーケンスデータと、ＩＤ保持部２１１に記憶されたいずれかのＩＤとを対応付けて電力変換装置２のシーケンス保持部１１４に保存する。
【００５２】
図５は、電力変換システム１のハードウェア構成を例示するブロック図である。図５に示すように、制御回路１００は、プロセッサ１９１と、メモリ１９２と、ストレージ１９３と、ゲート駆動回路１９４と、通信ポート１９５とを有する。ストレージ１９３は、コンピュータによって読み取り可能な不揮発型の記憶媒体（例えばハードディスク又はフラッシュメモリ）である。ストレージ１９３は、制御部１１２を構成するためのプログラムの記憶領域と、上記モジュール保持部１１３及びシーケンス保持部１１４に割り当てられる記憶領域とを含む。メモリ１９２は、ストレージ１９３からロードしたプログラム及びプロセッサ１９１による演算結果等を一時的に記憶する。プロセッサ１９１は、メモリ１９２と協働して上記プログラムを実行することで制御部１１２として機能する。ゲート駆動回路１９４は、プロセッサ１９１からの指令に応じて、ゲート駆動信号をインバータ回路１３に出力する。通信ポート１９５は、プロセッサ１９１からの指令に応じて、プログラミング支援装置３との間でデータの送受信を行う。
【００５３】
プログラミング支援装置３は、プログラミング支援回路２００を有する。プログラミング支援回路２００は、プロセッサ２９１と、メモリ２９２と、ストレージ２９３と、モニタ２９４と、入力デバイス２９５と、通信ポート２９６と、ネットワークアダプタ２９７とを有する。ストレージ２９３は、コンピュータによって読み取り可能な不揮発型の記憶媒体（例えばハードディスク又はフラッシュメモリ）である。ストレージ２９３は、電力変換装置２から制御プログラムを読み出すことと、制御プログラムに基づいてブロック図３２１の表示用データを生成することと、を装置に実行させるためのプログラムを記憶している。
【００５４】
当該プログラムは、電力変換装置２に記憶されたシーケンスデータと、ファンクションブロック３２２とプログラムモジュールとの対応関係と、に基づいてブロック図３２１の表示用データをプログラミング支援装置３に生成させるように構成されていてもよい。
【００５５】
当該プログラムは、いずれかのファンクションブロック３２２の出力端子３２５と他のいずれかのファンクションブロック３２２の入力端子３２４とをリンク３２３により接続するようにブロック図３２１の表示用データをプログラミング支援装置３に生成させるように構成されていてもよい。
【００５６】
当該プログラムは、電力変換装置２に記憶されたシーケンスデータにおいて、いずれかのファンクションブロック３２２の出力端子３２５に対応付けられたプログラムモジュールの次に、他のいずれかのファンクションブロック３２２の入力端子３２４に対応付けられたプログラムモジュールが位置している場合に、当該いずれかのファンクションブロック３２２と、当該他のいずれかのファンクションブロック３２２とが第１の方向にずれるようにファンクションブロック３２２の配置をプログラミング支援装置３に設定させ、当該いずれかのファンクションブロック３２２の当該出力端子３２５と、当該他のファンクションブロック３２２の当該入力端子３２４とを接続するようにリンク３２３の表示用データをプログラミング支援装置３に生成させるように構成されていてもよい。
【００５７】
当該プログラムは、電力変換装置２に記憶されたシーケンスデータにおいて、いずれかのファンクションブロック３２２の入力端子３２４又は出力端子３２５に対応付けられたプログラムモジュールの次に、他のいずれかのファンクションブロックの出力端子３２５に対応付けられたプログラムモジュールが位置している場合に、当該いずれかのファンクションブロック３２２と、当該他のいずれかのファンクションブロック３２２とが第１の方向に交差する第２の方向にずれるようにファンクションブロック３２２の配置をプログラミング支援装置３に設定させるように構成されていてもよい。
【００５８】
当該プログラムは、ブロック図３２１におけるファンクションブロック３２２の配置と、リンク３２３とに基づいて、シーケンスデータを生成することを更にプログラミング支援装置３に実行させるように構成されていてもよい。
【００５９】
当該プログラムは、自装置が生成したシーケンスデータと、自装置に記憶されたユーザのＩＤとを対応付けて電力変換装置２に保存することと、電力変換装置２に記憶されたＩＤと自装置に記憶されたＩＤとが一致しない場合には、電力変換装置２に記憶された制御プログラムに基づく表示用データの生成を禁止することと、を更にプログラミング支援装置３に実行させるように構成されていてもよい。
【００６０】
当該プログラムは、複数のユーザのＩＤを自装置に保存し得るように構成されており、電力変換装置に記憶されたＩＤと、自装置に記憶されたいずれかのＩＤとが一致する場合に、電力変換装置２に記憶された制御プログラムに基づく表示用データの生成を許可するように構成されていてもよい。
【００６１】
当該プログラムは、ブロック図３２１における少なくとも一部のファンクションブロック３２２に対し、仮想的な入力データを設定することと、シーケンスデータと、仮想的な入力データとに従って上記対応モジュールのいずれかを実行することと、対応モジュールの実行結果をブロック図３２１と共に表示するための上書用データを生成することと、を更にプログラミング支援装置３に実行させるように構成されていてもよい。
【００６２】
当該プログラムは、周期及び振幅を含む波形指定に基づいて波形の入力データをプログラミング支援装置３に設定させるように構成されていてもよい。
【００６３】
当該プログラムは、プログラミング支援装置３におけるシミュレーションの実行モードを、上記連続モードと上記ステップモードとを含む複数のモードのいずれかに設定することと、設定した実行モードで対応プログラムモジュールを実行することとをプログラミング支援装置３に実行させるように構成されていてもよい。
【００６４】
一例として、ストレージ２９３は、図２に示したプログラミング支援装置３の複数の要素のうち、ＩＤ保持部２１１、ブロック保持部２１２、対応プログラム保持部２１３、表示データ保持部２１４、及びシーケンス保持部２１５に割り当てられる記憶領域と、他の要素を構成するためのプログラムの記憶領域とを含む。
【００６５】
モニタ２９４は、例えば液晶モニタ等の画像表示装置であり、例えば上記画像表示部２２４として用いられる。入力デバイス２９５は、例えばキーパッド等の情報入力装置であり、モニタ２９４に表示されるプログラミング支援画面３００への操作入力等に用いられる。モニタ２９４及び入力デバイス２９５は、所謂タッチパネルのように一体化されていてもよい。通信ポート２９６は、プロセッサ２９１からの指令に応じて、電力変換装置２の通信ポート１９５との間でデータの送受信を行う。ネットワークアダプタ２９７は、インターネット等のネットワーク回線ＮＷを介して電力変換装置２のメーカのサーバ４等に接続されており、プロセッサ２９１からの指令に応じてサーバ４との間でデータの送受信を行う。ネットワークアダプタ２９７は、ＩＤ登録部２１６によるＩＤの登録可否の判定等に用いられる。なお、通信ポート２９６と通信ポート１９５との間にネットワーク回線ＮＷが介在していてもよい。
【００６６】
〔プログラミング支援手順〕
続いて、プログラミング支援方法の一例として、プログラミング支援装置３が実行するプログラミング支援手順を説明する。当該手順は、電力変換装置２に記憶された制御プログラムに基づいてブロック図３２１の表示用データを生成する手順（逆コンパイル処理手順）と、ブロック図３２１におけるファンクションブロック３２２の配置とリンク３２３とに基づいてシーケンスデータを生成する手順（コンパイル処理手順）と、コンパイル処理手順で生成されたシーケンスデータのシミュレーションを行う手順（シミュレーション手順）と、コンパイル処理手順で生成されたシーケンスデータを電力変換装置２に保存する手順（シーケンス登録手順）と、を含む。以下、各手順の内容を詳細に例示する。
【００６７】
（逆コンパイル処理手順）
図６に示すように、プログラミング支援装置３は、まずステップＳ０１，Ｓ０２を順に実行する。ステップＳ０１では、相手側ＩＤ取得部２１７が、電力変換装置２のシーケンス保持部１１４に記憶されたＩＤを取得する。ステップＳ０２では、セキュリティ管理部２１８が、相手側ＩＤ取得部２１７により取得されたＩＤと、ＩＤ保持部２１１に記憶された複数のＩＤのいずれか一つとが一致するか否かを確認する。ステップＳ０２において、相手側ＩＤ取得部２１７により取得されたＩＤがＩＤ保持部２１１に記憶された複数のＩＤのいずれとも一致しないと判定した場合、セキュリティ管理部２１８はシーケンスデータ取得部２１９によるシーケンスデータの取得を禁止する。これにより、プログラミング支援装置３は、ステップＳ０３〜Ｓ０９を実行することなく逆コンパイル処理を中止する。
【００６８】
ステップＳ０２において、相手側ＩＤ取得部２１７により取得されたＩＤとＩＤ保持部２１１に記憶された複数のＩＤのいずれか一つとが一致すると判定した場合、プログラミング支援装置３はステップＳ０３を実行する。ステップＳ０３では、シーケンスデータ取得部２１９が、電力変換装置２のシーケンス保持部１１４に記憶されたシーケンスデータを取得する。
【００６９】
次に、プログラミング支援装置３は、ステップＳ０４を実行する。ステップＳ０４では、表示データ生成部２２１が、ステップＳ０３において取得されたシーケンスデータから、最初のプログラムモジュールを選択する。
【００７０】
次に、プログラミング支援装置３は、ステップＳ０５，Ｓ０６，Ｓ０７を順に実行する。ステップＳ０５では、ステップＳ０４において選択されたプログラムモジュールがいずれのファンクションブロック３２２に対応付けられているかを表示データ生成部２２１が特定する。例えば表示データ生成部２２１は、ブロック保持部２１２を参照して、当該プログラムモジュールがいずれのファンクションブロック３２２のいずれの端子（入力端子３２４又は出力端子３２５）に対応付けられているかを特定する。ステップＳ０６では、表示データ生成部２２１が、ステップＳ０３において取得されたシーケンスデータと、ステップＳ０５において特定されたファンクションブロック３２２とプログラムモジュールとの対応関係と、に基づいてブロック図３２１の表示用データを更新し、表示データ保持部２１４に保存する。ステップＳ０６の具体的な処理内容については後述する。ステップＳ０７では、表示データ生成部２２１が、制御プログラム全体の表示用データの生成が完了したか否かを確認する。例えば表示データ生成部２２１は、ステップＳ０５，Ｓ０６の実行対象として選択されていないプログラムモジュールがシーケンスデータに残っているか否かを確認する。
【００７１】
ステップＳ０７において、制御プログラム全体の表示用データの生成は完了していないと判定した場合、プログラミング支援装置３はステップＳ０８を実行する。ステップＳ０８では、表示データ生成部２２１が一つ後（シーケンスデータにおける一つ後）のプログラムモジュールを選択する。その後、プログラミング支援装置３は処理をステップＳ０５に戻す。以後、プログラミング支援装置３は、制御プログラム全体の表示用データの生成が完了するまで、プログラムモジュールの選択とブロック図３２１の表示用データの更新とを繰り返す。
【００７２】
ステップＳ０７において、制御プログラム全体の表示用データの生成が完了したと判定した場合、プログラミング支援装置３はステップＳ０９を実行する。ステップＳ０９では、画像表示部２２４が、ステップＳ０５，Ｓ０６，Ｓ０７，Ｓ０８の繰り返しにより生成された表示用データに基づくブロック図３２１をプログラミング支援画面３００に表示する。以上で逆コンパイル処理手順が完了する。
【００７３】
図７は、ステップＳ０６における表示用データの更新手順を示すフローチャートである。図７に示すように、プログラミング支援装置３は、まずステップＳ１１を実行する。ステップＳ１１では、配置設定部２２２が、ブロック図３２１へのファンクションブロック３２２の追加の要否を確認する。具体的に、配置設定部２２２は、選択中のプログラムモジュールに対応付けられたファンクションブロック３２２がブロック図３２１の表示用データに存在している場合には、当該ファンクションブロック３２２の追加を不要と判定し、当該ファンクションブロック３２２がブロック図３２１の表示用データに存在していない場合には、当該ファンクションブロック３２２の追加を必要と判定する。
【００７４】
ステップＳ１１において、当該ファンクションブロック３２２の追加は不要であると判定した場合、プログラミング支援装置３は表示用データの更新手順を完了する。ステップＳ１１において、当該ファンクションブロック３２２の追加は必要であると判定した場合、プログラミング支援装置３はステップＳ１２を実行する。ステップＳ１２では、追加対象のファンクションブロック３２２の他のファンクションブロック３２２がブロック図３２１の表示用データに存在しているか否かを配置設定部２２２が確認する。
【００７５】
ステップＳ１２において、他のファンクションブロック３２２は存在していないと判定した場合、プログラミング支援装置３はステップＳ１３を実行する。ステップＳ１３では、配置設定部２２２が、追加対象のファンクションブロック３２２をブロック図３２１の表示用データに追加する。
【００７６】
ステップＳ１２において、他のファンクションブロック３２２が存在していると判定した場合、プログラミング支援装置３はステップＳ１４を実行する。ステップＳ１４では、追加対象のファンクションブロック３２２と、他のファンクションブロック３２２との間に情報の出入力関係があるか否かを配置設定部２２２が確認する。例えば、選択中のプログラムモジュールが追加対象のファンクションブロック３２２の入力端子３２４に対応付けられており、当該プログラムモジュールの一つ前（シーケンスデータにおける一つ前）のプログラムモジュールが他のファンクションブロック３２２の出力端子３２５に対応付けられている場合に、配置設定部２２２は上記出入力関係があると判定する。選択中のプログラムモジュールが追加対象のファンクションブロック３２２の出力端子３２５に対応付けられている場合、配置設定部２２２は上記出入力関係がないと判定する。
【００７７】
ステップＳ１４において、上記出入力関係がないと判定した場合、プログラミング支援装置３はステップＳ１５を実行する。ステップＳ１５では、配置設定部２２２が、上記一つ前のプログラムモジュールに対応付けられたファンクションブロック３２２に対して第２の方向にずれる配置にて、追加対象のファンクションブロック３２２を表示用データに追加する。
【００７８】
ステップＳ１４において、上記出入力関係があると判定した場合、プログラミング支援装置３はステップＳ１６，Ｓ１７を順に実行する。ステップＳ１６では、表示データ生成部２２１が、上記一つ前のプログラムモジュールに対応付けられたファンクションブロック３２２に対して第１の方向にずれる配置にて、追加対象のファンクションブロック３２２を表示用データに追加する。ステップＳ１７では、上記一つ前のプログラムモジュールに対応付けられた出力端子３２５と、選択中のプログラムモジュールに対応付けられた入力端子３２４とを接続するリンク３２３の表示用データをリンクデータ生成部２２３が追加する。以上で表示用データの更新手順が完了する。
【００７９】
なお、ステップＳ０４では、最初のプログラムモジュールに代えて最後のプログラムモジュールを選択してもよい。この場合、ステップＳ０８では、一つ後のプログラムモジュールに代えて一つ前（シーケンスデータにおける一つ前）のプログラムモジュールを選択する。ステップＳ１４では、選択中のプログラムモジュールが追加対象のファンクションブロック３２２の出力端子３２５に対応付けられており、当該プログラムモジュールの一つ後（シーケンスデータにおける一つ後）のプログラムモジュールが他のファンクションブロック３２２の入力端子３２４に対応付けられている場合に、配置設定部２２２は上記出入力関係があると判定する。選択中のプログラムモジュールが追加対象のファンクションブロック３２２の入力端子３２４に対応付けられている場合、配置設定部２２２は上記出入力関係がないと判定する。
【００８０】
（コンパイル処理手順）
図８に示すように、プログラミング支援装置３は、まずステップＳ２１を実行する。ステップＳ２１では、表示データ編集部２３２が、プログラミング支援画面３００に対して、ブロック図３２１の表示を変更させる操作入力（以下、「編集入力」という。）がなされたか否かを確認する。
【００８１】
ステップＳ２１において、編集入力がなされたと判定した場合、プログラミング支援装置３はステップＳ２２，Ｓ２３を順に実行する。ステップＳ２２では、表示データ編集部２３２が、編集入力に従ってブロック図３２１の表示用データを更新して表示データ保持部２１４に保存する。ステップＳ２３では、画像表示部２２４が、表示データ保持部２１４に保存された表示用データに基づくブロック図３２１をプログラミング支援画面３００に表示する。
【００８２】
次に、プログラミング支援装置３はステップＳ２４を実行する。ステップＳ２１において、編集入力はなされていないと判定した場合、プログラミング支援装置３は、ステップＳ２２，Ｓ２３を実行することなくステップＳ２４を実行する。ステップＳ２４では、コンパイルの実行指令（例えばコンパイルボタン３１２のクリック）の有無をコンパイル部２２５が確認する。ステップＳ２４において、コンパイルの実行指令はないと判定した場合、プログラミング支援装置３は処理をステップＳ２１に戻す。以後、コンパイルの実行指令があると判定されるまで、プログラミング支援画面３００への操作入力に従ったブロック図３２１の表示の更新が繰り返される。
【００８３】
ステップＳ２４において、コンパイルの実行指令があると判定した場合、プログラミング支援装置３はステップＳ２５を実行する。ステップＳ２５では、コンパイル部２２５が、ブロック図３２１におけるファンクションブロック３２２の配置と、リンク３２３とに基づいて、シーケンスデータを生成してシーケンス保持部２１５に保存する。例えばコンパイル部２２５は、リンク３２３により接続された出力端子３２５及び入力端子３２４にそれぞれ対応付けられた二つのプログラムモジュールが順に並ぶようにシーケンスデータを生成する。以上でコンパイル処理手順が完了する。
【００８４】
（シミュレーション手順）
図９に示すように、プログラミング支援装置３は、まずステップＳ３１を実行する。ステップＳ３１では、条件入力部３５０への入力（以下、「条件入力」という。）がなされたか否かを表示データ編集部２３２が確認する。ステップＳ３１において、条件入力がなされたと判定した場合、プログラミング支援装置３はステップＳ３２を実行する。ステップＳ３２では、表示データ編集部２３２が、条件入力に従って条件入力部３５０の表示用データを更新して表示データ保持部２１４に保存する。ステップＳ３３では、画像表示部２２４が、表示データ保持部２１４に保存された表示用データに基づいて条件入力部３５０の表示を更新する。
【００８５】
次に、プログラミング支援装置３はステップＳ３４を実行する。ステップＳ３１において、条件入力はなされていないと判定した場合、プログラミング支援装置３は、ステップＳ３２，Ｓ３３を実行することなくステップＳ３４を実行する。ステップＳ３４では、シミュレーションの開始指令（例えば連続実行ボタン３１４又はステップ実行ボタン３１５のクリック）の有無をモード設定部２２７が確認する。ステップＳ３４において、シミュレーションの開始指令はないと判定した場合、プログラミング支援装置３は処理をステップＳ３１に戻す。以後、シミュレーションの開始指令があると判定されるまで、条件入力に従った条件入力部３５０の表示の更新が繰り返される。
【００８６】
ステップＳ３４において、シミュレーションの開始指令が有ると判定した場合、プログラミング支援装置３はステップＳ３５，Ｓ３６を順に実行する。ステップＳ３５では、入力データ設定部２２６が、条件入力部３５０への入力内容に基づいて上記入力データを設定する。ステップＳ３６では、モード設定部２２７が、シミュレーションの実行モードを、上記連続モードと上記ステップモードとを含む複数のモードのいずれかに設定する。例えばモード設定部２２７は、シミュレーションの開始指令のために連続実行ボタン３１４がクリックされた場合には実行モードを連続モードに設定し、シミュレーションの開始指令のためにステップ実行ボタン３１５がクリックされた場合には実行モードをステップモードに設定する。
【００８７】
次に、プログラミング支援装置３はステップＳ３７，Ｓ３８，Ｓ３９，Ｓ４１を順に実行する。ステップＳ３７では、シミュレーション部２２８が、シーケンス保持部２１５に記憶されたシーケンスデータに従って、対応プログラム保持部２１３から実行対象のプログラムモジュールを選択する。ステップＳ３８では、シミュレーション部２２８が、ステップＳ３７において選択したプログラムモジュールを実行する。ステップＳ３９では、結果表示データ生成部２２９が、シミュレーション部２２８によるプログラムモジュールの実行結果をブロック図３２１と共に（例えばブロック図３２１内に）表示するための上書用データを生成して表示データ保持部２１４に保存する。ステップＳ４１では、画像表示部２２４が、表示データ保持部２１４に保存された表示用データに基づいてブロック図表示部３２０の表示を更新する。これにより、プログラムモジュールの実行結果を示す結果データ３６１がブロック図表示部３２０に表示される（図１０参照）。
【００８８】
次に、プログラミング支援装置３はステップＳ４２を実行する。ステップＳ４２では、実行モードが連続モードであるか否かをシミュレーション部２２８が確認する。ステップＳ４２において、実行モードはステップモードであると判定した場合、プログラミング支援装置３はステップＳ４３を実行する。ステップＳ４３では、上記一セットのプログラムモジュールの実行が完了したか否かをシミュレーション部２２８が確認する。ステップＳ４３において、上記一セットのプログラムモジュールの実行は完了していないと判定した場合、プログラミング支援装置３は処理をステップＳ３７に戻す。以後、上記一セットのプログラムモジュールの実行が完了するまでは、シーケンスデータに従ったプログラムモジュールの選択と実行が繰り返される。
【００８９】
ステップＳ４３において、上記一セットのプログラムモジュールの実行が完了したと判定した場合、プログラミング支援装置３はステップＳ４４を実行する。ステップＳ４４では、シミュレーション部２２８がプログラムモジュールの実行を中断する。その後、プログラミング支援装置３は処理をステップＳ３１に戻す。
【００９０】
ステップＳ４２において、実行モードは連続モードであると判定した場合、プログラミング支援装置３はステップＳ４５を実行する。ステップＳ４５では、シミュレーションの停止指令（例えば停止ボタン３１６のクリック）の有無をシミュレーション部２２８が確認する。ステップＳ４５において、シミュレーションの停止指令はないと判定した場合、プログラミング支援装置３は処理をステップＳ３７に戻す。以後、シミュレーションの停止指令があると判定されるまでは、シーケンスデータに従ったプログラムモジュールの選択と実行が繰り返される。ステップＳ４５において、シミュレーションの停止指令があると判定した場合、プログラミング支援装置３は処理を中止する。以上でシミュレーション手順が完了する。
【００９１】
（シーケンス登録手順）
図１１に示すように、プログラミング支援装置３は、ステップＳ５１，Ｓ５２，Ｓ５３を順に実行する。ステップＳ５１では、シーケンス保持部１１４に保存すべきシーケンスデータがシーケンス保持部２１５に記憶されるのをシーケンスデータ登録部２３１が待機する。ステップＳ５２では、シーケンスデータの登録指令（例えば書込ボタン３１３のクリック）をシーケンスデータ登録部２３１が待機する。ステップＳ５３では、シーケンスデータ登録部２３１が、コンパイル部２２５によりシーケンス保持部２１５に保存されたシーケンスデータと、ＩＤ保持部２１１に記憶されたいずれかのＩＤとを対応付けて電力変換装置２のシーケンス保持部１１４に保存する。以上でシーケンス登録手順が完了する。
【００９２】
〔本実施形態の効果〕
以上に説明したように、電力変換システム１は、電力変換回路１０と、電力変換回路１０を制御するための制御プログラムを記憶したプログラム保持部１１１と、制御プログラムに従って電力変換回路１０を制御する制御部１１２と、を有する電力変換装置２と、電力変換装置２に接続されるプログラミング支援装置３と、を備え、プログラミング支援装置３は、プログラム保持部１１１に記憶された制御プログラムに基づいて、複数のファンクションブロック３２２と、ファンクションブロック３２２間の情報の入出力を示すリンク３２３とにより制御プログラムの内容を示すブロック図３２１の表示用データを生成する表示データ生成部２２１を有する。
【００９３】
この電力変換システム１によれば、電力変換装置２に記憶されている制御プログラムの内容を、プログラミング支援装置３によってファンクションブロック３２２間の情報の流れとしてわかり易く表示できる。したがって、制御プログラムを編集する作業の負担軽減に有効である。
【００９４】
プログラム保持部１１１は、複数のプログラムモジュールを記憶するモジュール保持部１１３と、複数のプログラムモジュールの実行順序を示すシーケンスデータを記憶するシーケンス保持部１１４と、を含み、プログラミング支援装置３は、複数のファンクションブロック３２２を複数のプログラムモジュールのいずれかに対応付けて記憶するブロック保持部２１２を更に有し、表示データ生成部２２１は、シーケンス保持部２１５に記憶されたシーケンスデータと、ブロック保持部２１２におけるファンクションブロック３２２とプログラムモジュールとの対応関係と、に基づいてブロック図３２１の表示用データを生成してもよい。この場合、電力変換装置２側に記憶すべき情報量の増加を抑制しつつ、ファンクションブロック３２２間の情報の流れの表示用データを生成できる。
【００９５】
ファンクションブロック３２２は、情報の入力用のプログラムモジュールに対応付けられた入力端子３２４と、情報の出力用のプログラムモジュールに対応付けられた出力端子３２５と、の少なくとも一方を含み、表示データ生成部２２１は、いずれかのファンクションブロック３２２の出力端子３２５と他のいずれかのファンクションブロック３２２の入力端子３２４とをリンク３２３により接続するようにブロック図３２１の表示用データを生成してもよい。この場合、ファンクションブロック３２２の端子（入力端子３２４又は出力端子３２５）とプログラムモジュールとの対応関係に基づいて、リンク３２３の表示用データを容易に生成できる。
【００９６】
表示データ生成部２２１は、ファンクションブロック３２２の配置を設定する配置設定部２２２と、リンクの表示用データを生成するリンクデータ生成部２２３と、を含み、シーケンス保持部２１５に記憶されたシーケンスデータにおいて、いずれかのファンクションブロック３２２の出力端子３２５に対応付けられたプログラムモジュールの次に、他のいずれかのファンクションブロック３２２の入力端子３２４に対応付けられたプログラムモジュールが位置している場合に、配置設定部２２２は、当該いずれかのファンクションブロック３２２と、当該他のいずれかのファンクションブロック３２２とが第１の方向にずれるようにファンクションブロック３２２の配置を設定し、リンクデータ生成部２２３は、当該いずれかのファンクションブロック３２２の当該出力端子３２５と、当該他のいずれかのファンクションブロック３２２の当該入力端子３２４とを接続するようにリンク３２３の表示用データを生成してもよい。この場合、情報の流れに沿ってファンクションブロック３２２を並べることで、制御プログラムの内容をより把握し易くすることができる。
【００９７】
シーケンス保持部２１５に記憶されたシーケンスデータにおいて、いずれかのファンクションブロック３２２の入力端子３２４又は出力端子３２５に対応付けられたプログラムモジュールの次に、他のいずれかのファンクションブロック３２２の出力端子３２５に対応付けられたプログラムモジュールが位置している場合に、配置設定部は、当該いずれかのファンクションブロック３２２と、当該他のいずれかのファンクションブロック３２２とが第１の方向に交差する第２の方向にずれるようにファンクションブロック３２２の配置を設定してもよい。この場合、複数の情報の流れを並行して表示することで、制御プログラムの内容をより把握し易くすることができる。
【００９８】
プログラミング支援装置３は、ブロック図３２１におけるファンクションブロック３２２の配置と、リンク３２３とに基づいて、シーケンスデータを生成するコンパイル部２２５を更に備えていてもよい。この場合、ブロック図３２１上における制御プログラムの編集結果を容易にシーケンスデータに反映させることができる。
【００９９】
シーケンス保持部２１５は、シーケンスデータに加えて当該シーケンスデータを生成したユーザのＩＤを記憶するように構成されており、プログラミング支援装置３は、自装置のユーザのＩＤを記憶するＩＤ保持部２１１と、コンパイル部２２５により生成されたシーケンスデータと、ＩＤ保持部２１１に記憶されたいずれかのＩＤとを対応付けてシーケンス保持部２１５に保存するシーケンスデータ登録部２３１と、を更に有し、プログラミング支援装置３及び電力変換装置２の少なくとも一方は、シーケンス保持部２１５に記憶されたＩＤと、ＩＤ保持部２１１に記憶されたＩＤとが一致しない場合には、プログラム保持部１１１に記憶された制御プログラムに基づく表示用データの生成を禁止するセキュリティ管理部２１８を更に有していてもよい。この場合、電力変換装置２内の情報を高い信頼性で保護することができる。
【０１００】
ＩＤ保持部２１１は、複数のユーザのＩＤを記憶し得るように構成されており、セキュリティ管理部２１８は、プログラミング支援装置３に設けられており、シーケンス保持部１１４に記憶されたＩＤと、ＩＤ保持部２１１に記憶されたいずれかのＩＤとが一致する場合に、プログラム保持部１１１に記憶された制御プログラムに基づく表示用データの生成を許可するように構成されていてもよい。この場合、一台のプログラミング支援装置３にて複数台の電力変換装置２の制御プログラムを編集することができる。
【０１０１】
プログラミング支援装置３は、ブロック図３２１における少なくとも一部のファンクションブロック３２２に対し、仮想的な入力データを設定する入力データ設定部２２６と、モジュール保持部１１３に記憶された複数のプログラムモジュールにそれぞれ対応する複数のプログラムモジュールを記憶する対応プログラム保持部２１３と、コンパイル部２２５により生成されたシーケンスデータと、入力データ設定部２２６により設定された仮想的な入力データとに従って、対応プログラム保持部２１３に記憶されたプログラムモジュールを実行するシミュレーション部２２８と、シミュレーション部２２８によるプログラムモジュールの実行結果をブロック図３２１と共に表示するための上書用データを生成する結果表示データ生成部２２９と、を更に備えていてもよい。この場合、電力変換装置２を動作させることなく、新たな制御プログラムを検証することができる。
【０１０２】
入力データ設定部２２６は、周期及び振幅を含む波形指定に基づいて波形の入力データを設定するように構成されていてもよい。この場合、波形の入力データを設定可能にすることで、より多様な条件にて新たな制御プログラムを検証することができる。
【０１０３】
プログラミング支援装置３は、シミュレーションの実行モードを、シーケンスデータに従った一連のプログラムモジュールの実行を繰り返す連続モードと、一つ又は複数のプログラムモジュールを実行する度にプログラムモジュールの実行を中断するステップモードと、を含む複数のモードのいずれかに設定するモード設定部２２７を更に備え、シミュレーション部２２８は、対応プログラム保持部２１３に記憶されたプログラムモジュールを、モード設定部２２７により設定された実行モードで実行してもよい。この場合、ステップモードでのシミュレーションを可能にすることで、新たな制御プログラムをより詳細に検証することができる。
【０１０４】
以上、実施形態について説明したが、本発明は必ずしも上述した形態に限定されるものではなく、その要旨を逸脱しない範囲で様々な変形が可能である。
【符号の説明】
【０１０５】
１…電力変換システム、２…電力変換装置、３…プログラミング支援装置、１０…電力変換回路、１１１…プログラム保持部、１１２…制御部、１１３…モジュール保持部、１１４…シーケンス保持部、２１１…ＩＤ保持部、２１２…ブロック保持部、２１３…対応プログラム保持部、２１５…シーケンス保持部、２１８…セキュリティ管理部、２２１…表示データ生成部、２２２…配置設定部、２２３…リンクデータ生成部、２２５…コンパイル部、２２６…入力データ設定部、２２７…モード設定部、２２８…シミュレーション部、２２９…結果表示データ生成部、２３１…シーケンスデータ登録部、３２１…ブロック図、３２２…ファンクションブロック、３２３…リンク、３２４…入力端子、３２５…出力端子。
【図１】
2019128930.tif 000003
【図２】
2019128930.tif 000004
【図３】
2019128930.tif 000005
【図４】
2019128930.tif 000006
【図５】
2019128930.tif 000007
【図６】
2019128930.tif 000008
【図７】
2019128930.tif 000009
【図８】
2019128930.tif 000010
【図９】
2019128930.tif 000011
【図１０】
2019128930.tif 000012
【図１１】
2019128930.tif 000013