(57)【要約】【課題】一部の一時無効化を行った際に、一時無効化された部分以外が適切に動作するロジックを作成することができる。【解決手段】図形言語により生成されたロジックの一部を一時無効化するロジック生成装置１０であって、前記ロジックにおいて一時無効化の対象となる所定部分を指定した一時無効化指示を取得する一時無効化指示取得部としての取得部１２と、前記所定部分が一時無効化された場合に、前記ロジックの前記所定部分から出力される出力信号を特定する出力信号特定部、及び、前記出力信号特定部による特定結果に基づいて、前記ロジックの前記所定部分が一時無効化された一時無効化ロジックを生成するロジック生成部としてのロジック変更部１３と、を有する。【選択図】図１
2018180786.tif 000002
【特許請求の範囲】
【請求項１】
図形言語により生成されたロジックの一部を一時無効化するロジック生成装置であって、
前記ロジックにおいて一時無効化の対象となる所定部分を指定した一時無効化指示を取得する一時無効化指示取得部と、
前記所定部分が一時無効化された場合に、前記ロジックの前記所定部分から出力される出力信号を特定する出力信号特定部と、
前記出力信号特定部による特定結果に基づいて、前記ロジックの前記所定部分が一時無効化された一時無効化ロジックを生成するロジック生成部と、
を有する、ロジック生成装置。
【請求項２】
前記出力信号特定部は、一時無効化された場合の前記所定部分からの前記出力信号の特定を、ユーザからの指示に基づいて実施する、請求項１に記載のロジック生成装置。
【請求項３】
前記出力信号特定部は、前記ロジックの前記所定部分に対して入力する入力信号を前記所定部分からの前記出力信号として特定する、請求項１又は２に記載のロジック生成装置。
【請求項４】
前記出力信号特定部は、所定の数値を前記所定部分からの前記出力信号として特定する、請求項１又は２に記載のロジック生成装置。
【請求項５】
前記ロジック生成部により生成された一時無効化ロジックを表示する表示部を有し、
前記表示部は、前記一時無効化ロジックにおける前記所定部分からの前記出力信号に係る情報を、図形言語を用いて表示する請求項１〜４のいずれか一項に記載のロジック生成装置。
【請求項６】
前記表示部は、前記一時無効化ロジックを、一時無効化前のロジックと同時に表示する、請求項５に記載のロジック生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロジック生成装置に関する。
【背景技術】
【０００２】
従来から、機械制御等で用いるロジックを作成する際に図形言語が用いられている。図形言語によるロジックの作成ではロジックの編集及び修正等が繰り返される。そこで、ロジックの変更を柔軟に行うための手法が検討されている。例えば、特許文献１では、コメント化された図形要素を除いてコンパイルを行うことで、コメント化された図形要素を一時的に無効化する構成が示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１４０７１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の構成では、コメント化により一時的に無効化された図形要素に接続される図形要素に対して接続する信号線を明確にできないと考えられる。そのため、一時的に無効化された図形要素以外の図形要素も正常な処理を行うことができなくなることが考えられる。
【０００５】
本発明は上記を鑑みてなされたものであり、一部の一時無効化を行った際に、一時無効化された部分以外が適切に動作するロジックを作成することができるロジック生成装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明に係るロジック生成装置は、図形言語により生成されたロジックの一部を一時無効化するロジック生成装置であって、前記ロジックにおいて一時無効化の対象となる所定部分を指定した一時無効化指示を取得する一時無効化指示取得部と、前記所定部分が一時無効化された場合に、前記ロジックの前記所定部分から出力される出力信号を特定する出力信号特定部と、前記出力信号特定部による特定結果に基づいて、前記ロジックの前記所定部分が一時無効化された一時無効化ロジックを生成するロジック生成部と、を有する。
【０００７】
上記のロジック生成装置によれば、一時無効化指示に基づいて、ロジックの所定部分を一時無効化する際に、この所定部分から出力される出力信号を特定した後に、一時無効化ロジックが生成される。したがって、一時無効化ロジックにおいて、一時無効化した部分からも適切に信号が出力されるため、後段でも適切な動作が行われる。したがって、一時無効化された部分以外が適切に動作する一時無効化ロジックを生成することができる。
【０００８】
ここで、前記出力信号特定部は、一時無効化された場合の前記所定部分からの前記出力信号の特定を、ユーザからの指示に基づいて実施する態様とすることができる。
【０００９】
上記の構成とすることで、ユーザの指示に基づいて出力信号を適切に特定することが可能となり、一時無効化された部分以外の動作がより適切に設定された一時無効化ロジックを生成することができる。
【００１０】
前記出力信号特定部は、前記ロジックの前記所定部分に対して入力する入力信号を前記所定部分からの前記出力信号として特定する態様とすることができる。
【００１１】
上記の構成とすることで、一時無効化される部分の前段の入力信号を、後段の出力信号として利用することができ、一時無効化された部分以外の動作がより適切に設定された一時無効化ロジックを生成することができる。
【００１２】
前記出力信号特定部は、所定の数値を前記所定部分からの前記出力信号として特定する態様とすることができる。
【００１３】
上記の構成とすることで、一時無効化をした結果出力信号が一律となる場合に所定の数値を用いることが可能となり、一時無効化された部分以外の動作がより適切に設定された一時無効化ロジックを生成することができる。
【００１４】
前記ロジック生成部により生成された一時無効化ロジックを表示する表示部を有し、前記表示部は、前記一時無効化ロジックにおける前記所定部分からの前記出力信号に係る情報を、図形言語を用いて表示する態様とすることができる。
【００１５】
上記の構成とすることで、一時無効化により変更された出力信号の詳細やその対応関係等をユーザが容易に把握できるようになる。
【００１６】
前記表示部は、前記一時無効化ロジックを、一時無効化前のロジックと同時に表示する態様とすることができる。
【００１７】
上記の構成とすることで、一時無効化に伴う変更内容について、ユーザが容易に把握できるようになる。
【発明の効果】
【００１８】
本発明によれば、一部の一時無効化を行った際に、一時無効化された部分以外が適切に動作するロジックを作成することができるロジック生成装置が提供される。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態に係るロジック生成装置を含む制御システムの概略構成図である。
【図２】ロジック生成装置により作成・変更が行われるロジックの例を示す図である。
【図３】ロジックの一時無効化の処理を説明する図である。
【図４】一時無効化を行う部分を指定した例を示す図である。
【図５】出力信号である変数ＬＬ３に対して割り当てる変数または定数に係る情報をユーザからの指示に基づいて決定する場合の出力例である。
【図６】一時無効化を行った一時無効化ロジックのユーザインタフェースでの出力例である。
【発明を実施するための形態】
【００２０】
以下、添付図面を参照して、本発明を実施するための形態を詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００２１】
図１は、本発明の一実施形態に係るロジック生成装置を含む制御システムの概略構成図である。制御システム１は例えばプラント等において適用されるシステムであり、制御対象となる装置の状態を示すデータ等を収集し、当該データ及びその他の情報に基づいて制御対象となる装置の制御を行うシステムである。
【００２２】
制御システム１は、ロジック生成装置１０、制御装置２０及び制御対象装置３０を含んで構成される。
【００２３】
ロジック生成装置１０は、制御対象装置３０の制御を制御装置２０が行うためのロジックの生成を行う装置である。また、ロジック生成装置１０は生成したロジックの修正を行う機能も有する。本実施形態では、ロジック生成装置１０によりロジックの一部を一時的に無効化する変更について説明する。ロジックとは、図形言語で作成されたロジックプログラムであり、所定の演算等を実行するための複数のロジックにより構成される。本実施形態では、制御対象装置３０に係る情報に基づいた演算を実行する制御ロジックについて説明する。図形言語の種類は特に限定されないが、本実施形態では、図形言語がファンクション・ブロック・ダイアグラム（ＦＢＤ）言語である場合について説明する。ロジック生成装置１０の各機能部については後述する。ロジック生成装置１０により作成・変更された制御ロジックは、制御装置２０へ送られる。制御装置２０に対して制御ロジックが送られる場合には、制御ロジックは制御装置２０で動作可能なようにコンパイルが行われた後に、送信される。
【００２４】
ロジック生成装置１０は、ＣＰＵ（Central  Processing  Unit）、主記憶装置であるＲＡＭ（Random  Access  Memory）及びＲＯＭ（Read  Only  Memory）、制御装置２０等の他の機器との間の通信を行う通信モジュール、並びにハードディスク等の補助記憶装置等のハードウェアを備えるコンピュータとして構成される。そして、これらの構成要素が動作することにより、後述のロジック生成装置１０としての機能が発揮される。
【００２５】
制御装置２０は、制御対象装置３０からのデータを取得すると共に、制御ロジックを解釈して実行することで制御対象装置３０の制御に係る動作を行う。制御装置２０は、実行エンジン２１と入出力部２２とを備える。実行エンジン２１は、ロジック生成装置１０において生成された制御ロジック（制御装置２０用にコンパイルされたもの）を解釈し実行する機能を有する。入出力部２２は、制御対象装置３０からのデータ等を受信すると共に、実行エンジンにより制御ロジックを実行した結果に基づいて、制御対象装置３０に対して処理の実行等を指示する機能を有する。
【００２６】
制御対象装置３０は、制御システム１において制御装置２０による制御の対象となる装置であり、例えば、プラントにおける運転装置等が挙げられる。制御対象装置３０は、制御装置２０からの指示を受信すると、これに基づいて運転制御等を行う。また、制御対象装置３０は、制御装置２０からの指示に基づいて、自装置で取得された運転データ等を制御装置２０に対して送信する。このように、制御対象装置３０では、自装置の状態を示す情報を制御装置２０に対して送信し、自装置の状態に対応した指示を制御装置２０から受信することで、運転の制御が行われる。
【００２７】
なお、図１では制御システム１を構成する制御装置２０及び制御対象装置３０がそれぞれ１台である場合を示しているが、制御装置２０及び制御対象装置３０は制御システム１にそれぞれ複数含まれていてもよい。この場合、制御装置２０が複数の制御対象装置３０を制御する構成とすることもできる。
【００２８】
本実施形態に係るロジック生成装置１０により作成・変更が行われる制御ロジックの例を図２に示す。図２（Ａ）は、ロジック生成装置１０において作成される図形言語により記載された制御ロジックの例である。また、図２（Ｂ）は、記載された制御ロジックを図形言語から制御装置２０で動作するプログラムにコンパイル（変換）したものを示している。図形言語で作成される制御ロジックには、ブロック（ファンクションブロック）、変数、及び、信号線が含まれる。ブロックとは、特定の機能を示すものである。変数は、ブロックに対して入力する又はブロックから出力される変数を特定するものである。また、信号線とは、ブロックと変数との関係を示すものである。図２（Ａ）に示す例では、例えば、ブロックＮ１としてＰＬＳと記載されたブロックが設けられている。そして、変数ＬＬ０００３が入力信号としてＰＬＳブロックに入力され、ＰＬＳブロックからの出力信号が変数ＬＬ１となることが記載されている。このように、図２（Ａ）に示す制御ロジックでは、ブロックＮ１〜Ｎ６が設けられていると共に、ブロックの前段には入力信号を特定する信号線が設けられ、ブロックの後段には出力信号を特定する信号線が設けられる。また、図２（Ａ）中のブロックＮ１〜Ｎ６における１〜６の数字は、ブロックの演算順序を示すものでもある。すなわち、ブロックＮ１からブロックＮ６の順に演算が行われることを示している。
【００２９】
図２（Ｂ）は、図２（Ａ）で示された制御ロジックを制御装置２０で実行可能なようにコンパイルを行った後のプログラム例である。プログラム例におけるＮｏ．１に記載された処理は、図２（Ａ）におけるブロックＮ１で行われる処理を記載したものである。このように、制御ロジックに含まれるブロック（本実施形態ではブロックＮ１〜Ｎ６）において行われる処理をプログラムとして記載したものが、ロジック生成装置１０から制御装置２０に対して出力される。
【００３０】
ここで、本実施形態における制御ロジックの一時無効化について説明する。制御装置２０で使用される制御ロジックを生成する途中過程や、生成後の検証等において、制御ロジックに含まれるブロックのうちの一部が動作しない状態を一時的に作り、特定のブロックの演算のみを実行する場合がある。このような場合には、特定のブロック以外のブロックを一時的に無効化した制御ロジックを準備する必要がある。このように、制御ロジックにはブロックが存在しているものの、ブロックにより指定される機能（演算）を一時的に行わない状態を当該ブロックの一時無効化という。この一時無効化は、コメント化（コメントアウト）という場合もある。
【００３１】
制御ロジックの検証等を目的として、一時無効化が行われたブロックを含む制御ロジックを実行する場合には、一時無効化対象のブロックを無視して当該ブロックの前段及び後段の演算を行うことが想定される。しかしながら、従来検討されている一時無効化の手法では、一時無効化対象のブロックの後段での演算を適切に行うための手法について十分に検討されていなかった。そこで、本実施形態に係るロジック生成装置１０では、ブロックの一時無効化を行う際に、ブロックの後段においても適切に演算を行うことができるように、制御ロジックを変更することを可能とする。
【００３２】
図１に戻り、ロジック生成装置１０の各機能部について説明する。ロジック生成装置１０は、ユーザインタフェース１１（表示部）に含まれる取得部１２（一時無効化指示取得部）と、ロジック変更部１３（出力信号特定部、ロジック生成部）と、ロジックＤＢ（データベース）１４と、出力部１５と、を含んで構成される。また、ロジックＤＢ１４には、ロジック管理部１４１と、一時無効化管理部１４２と、を含んで構成される。
【００３３】
ユーザインタフェース１１は、ユーザによるロジック生成装置１０に対する入力及びユーザからの入力に対するロジック生成装置１０による処理の結果の出力を行う部分である。したがって、ユーザインタフェース１１は、ユーザによる制御ロジックの変更結果等を表示する表示部として機能する。ユーザインタフェース１１には、取得部１２が含まれる。取得部１２は、ユーザから制御ロジックにおける部分（所定部分）の一時無効化に係る情報を取得する機能を有する。ユーザからの制御ロジックの所定部分に関する一時無効化に係る指示には、制御ロジック中の一時無効化を行う部分を特定する情報が含まれる。すなわち、取得部１２は、ロジックにおいて一時無効化の対象となる所定部分を指定した一時無効化指示を取得する一時無効化指示取得部としての機能を有する。制御ロジックの一時無効化に係る処理は、ユーザインタフェース１１をユーザが操作することによってユーザから出される制御ロジックの所定部分に関する一時無効化に係る指示（一時無効化指示）の取得を契機に開始される。取得部１２により取得された制御ロジックの一時無効化指示は、ロジック変更部１３へ送られる。
【００３４】
なお、本実施形態では、ユーザインタフェース１１をユーザが操作することにより、制御ロジック中の一時無効化部分を特定する情報をロジック生成装置１０において作成可能であるとする。この場合、ユーザインタフェース１１は、制御ロジック中の一時無効化部分を特定する情報を作成する一時無効化情報作成部としての機能を有する。なお、外部装置で生成された制御ロジック中の一時無効化部分を特定する情報を取得部１２にて取得する構成としてもよい。すなわち、ロジック生成装置１０で使用する制御ロジック中の一時無効化部分を特定する情報を作成する装置は、ロジック生成装置１０及び外部装置のどちらでもよい。
【００３５】
ロジック変更部１３は、取得部１２から送られた制御ロジックの所定部分の一時無効化に関する指示に基づいて、制御ロジックを変更し、所定部分の一時無効化がなされた一時無効化ロジックを生成する機能を有する。ロジック変更部１３は、所定部分が一時無効化された場合にロジックの前記所定部分から出力される出力信号を特定する出力信号特定部としての機能と、この特定結果に基づいて一時無効化ロジックを生成するロジック生成部として機能と、を有する。ロジック変更部１３は、制御ロジックに係る一時無効化の指示に含まれる制御ロジック中の一時無効化部分を特定する情報に基づいて、ロジックＤＢ１４に保持された当該制御ロジックに係る情報の変更を行う。このとき、ロジック変更部１３では、一時無効化部分に含まれるブロックを特定し、当該ブロックに対して入力する信号に基づいて、当該ブロックの後段に出力する信号を特定する。この点については後述する。
【００３６】
なお、ロジック変更部１３では、対象部分の一時無効化を行った後の制御ロジック（一時無効化ロジック）が正しいものであるか（適切に動作するか）を確認するためのエラーチェックを併せて行う構成としてもよい。ロジック変更部１３により一時無効化が行われて生成された制御ロジックは、出力部１５へ送られる。
【００３７】
ロジックＤＢ１４は、制御ロジックに係る情報を保持する機能を有する。上述したように、制御ロジックには、制御ロジックに含まれるブロックそれぞれについて、ブロックの入力側の端子（入力端子）に接続される入力信号の情報と、ブロックの出力側の端子（出力端子）に接続される出力信号の情報と、が含まれる。ロジックＤＢ１４に含まれるロジック管理部１４１は、ブロックに対して入力する入力信号、及び、ブロックから出力される出力信号に係る情報を保持する機能を有する。また、ロジック管理部１４１には、制御ブロックをユーザインタフェース１１等で図形言語として描画する際のブロック、変数、信号線等の配置に係る情報（描画情報）も保持される。ロジック管理部１４１に保持される情報は、制御ロジックの生成時又は変更時等に更新される。
【００３８】
ロジックＤＢ１４の一時無効化管理部１４２は、制御ロジック中の所定部分の一時無効化に係る処理を行う場合に、当該ロジックの一時無効化に関する情報を保持する。一時無効化は、上述のように一時的に制御ロジックを変更するものであり、一時無効化を行っている状態の間については、当該情報が一時無効化管理部１４２に保持される。制御ロジックに関する一時無効化に係る処理が終了すると、一時無効化管理部１４２に保持される情報は破棄される構成とすることができる。なお、当初はブロックの一時無効化を行っていたものの、一時的な変更を定常的な変更に切り替える（一時無効化された制御ロジックを定常的な状態とする）場合がある。その場合は、一時無効化された状態の制御ロジックについて、一時的な変更ではなく定常的な変更とすることをユーザが指示すると、一時無効化された状態で一時無効化管理部１４２に保持された情報が、ロジック管理部１４１に移されて保持される。
【００３９】
出力部１５は、ロジック変更部１３において、所定部分のブロックが一時無効化された制御ロジックを、制御装置２０で使用可能となるようにコンパイルした上で、制御装置２０に対して送信する機能を有する。出力部１５から制御装置２０に対して送信された制御ロジックは、制御装置２０において解釈及び実行される。なお、コンパイルは制御装置２０側で行われる構成としてもよい。
【００４０】
次に、ロジック生成装置１０における制御ロジックの所定部分の一時無効化方法について、図３を参照しながら説明する。
【００４１】
まず、ロジック生成装置１０の取得部１２において、制御ロジック中の一時無効化を行う部分に係る情報を含んだ一時無効化の実行に係る指示を取得する。取得部１２において取得された情報は、ロジック変更部１３に送られる。ロジック変更部１３では、一時無効化の対象となる部分（領域）を検出する（Ｓ０１）。一時無効化の対象となる部分は、ユーザが領域を指定することで、指定される。図４は、図２（Ａ）に示した図形言語で記載された制御ロジックに対して、一時無効化の対象となる部分を指定した例である。図４中の破線Ｃ１で囲まれた領域が一時無効化の対象部分（所定部分）となる。ユーザは、図４に示すように破線Ｃ１で囲むこと等で一時無効化の対象となる部分を指定する。ロジック変更部１３では、破線Ｃ１で指定された部分を特定することで、一時無効化の対象部分を検出する。なお、図中では破線Ｃ１は１か所の領域のみを表しているが、複数の領域を同時に指定しても良い。
【００４２】
次に、ロジック変更部１３では、破線Ｃ１に基づいて検出された一時無効化の対象部分と、ロジック管理部１４１で保持されている当該制御ロジックに係る情報とを比較することで、この制御ロジックにおいて一時無効化を行う対象となるロジックを検出し特定する（Ｓ０２）。より具体的には、一時無効化を行う対象はロジックに含まれるブロックであるため、ロジック変更部１３では、一時無効化を行う部分に含まれるブロックを特定する。なお、ユーザが一時無効化の対象部分を指定するために作成した破線Ｃ１が、ロジックのブロックと重なる場合がある。そのため、ロジック変更部１３では、一時無効化を行う対象を特定する際には、破線Ｃ１で指定された部分とブロックとが全て重なる（ブロックが破線Ｃ１で指定された部分内に全て含まれている）場合に、一時無効化対象とする、等の基準を事前に設けておくことが好ましい。
【００４３】
次に、ロジック変更部１３は、一時無効化を行う対象となる部分に含まれるロジックにおける入力信号及び出力信号を検出する（Ｓ０３）。図４に示す例では、破線Ｃ１においては、ブロックＮ１、ブロックＮ２及びブロックＮ４の３つのブロックが一時無効化の対象となっている。したがって、ロジック変更部１３は、これらのブロックに対して入力する信号である入力信号、及び、これらのブロックから出力する信号である出力信号を特定する。図４に示す例では、入力信号として、変数ＬＬ０００３、変数ＬＬ０００４、変数ＬＬ０００５及び変数ＬＬ０００１が検出される。また、出力信号として、変数ＬＬ１、変数ＬＬ２及び変数ＬＬ３が検出される。このように、入力信号と出力信号とがそれぞれ検出される。
【００４４】
図４に示す例とは異なる例として、ブロックＮ１とブロックＮ３とが一時無効化対象について説明する。ブロックＮ１とブロックＮ３とが一時無効化対象となった場合には、ブロックＮ１に対する入力信号は、変数ＬＬ０００３となり、出力信号は変数ＬＬ１となる。ただし、変数ＬＬ１は、同じく一時無効化対象であるブロックＮ３に対する入力信号となるため、検出される信号から除外される。また、ブロックＮ３に対する入力信号は変数ＬＬ１であり、出力信号は変数ＬＬ４となるが、変数ＬＬ１は、一時無効化対象のブロックＮ１からの出力信号であるため、検出される信号から除外される。したがって、結果として、ブロックＮ１とブロックＮ３とが一時無効化対象となった場合には、入力信号として変数ＬＬ０００３が検出され、出力信号として変数ＬＬ４が検出される。このように、検出される信号は、一時無効化の対象となるロジックに応じて変更される。
【００４５】
次に、ロジック変更部１３は、前段階で検出された出力信号について、一時無効化時に出力する信号を特定する（Ｓ０４）。図４で示すブロックＮ１のように、ブロックに対する入力信号が１つであり、ブロックからの出力信号が１つである場合には、ロジック変更部１３においてブロックの一時無効化の結果、入力信号をそのまま出力信号として出力する構成としてもよい。この場合は、ロジック変更部１３において自動的に対応させる処理を行ってもよい。一方、図４で示すブロックＮ３のように、ブロックに対する入力信号が２つであり、ブロックからの出力信号が１つである場合には、ブロックを一時無効化した場合には出力信号としてどの変数を用いるかが決められない場合がある。また、ブロックの一時無効化した場合には、出力信号として所定の数値（例えば、定数）を出力したい場合も考えられる。そこで、ユーザインタフェース１１を利用して、ユーザから入力信号と出力信号とを対応付けるための情報を取得する、すなわち、ユーザの指示に基づいて出力信号を特定する構成とすることができる。
【００４６】
図５は、出力信号である変数ＬＬ３に対して割り当てる変数または定数に係る情報に係る指示をユーザに求める際の出力例である。図５に示す例では、出力信号である変数ＬＬ３に割り当てる変数の候補として、一時無効化を行う対象となる部分に含まれるロジックにおける入力信号（変数ＬＬ０００３、変数ＬＬ０００４、変数ＬＬ０００５及び変数ＬＬ０００１）が選択窓Ｂ１に提示されている。また、図５に示す例では、変数ではなく定数を出力信号として用いる場合に対応できるように、選択窓Ｂ１内に定数Ｋの値の入力をユーザに求める入力欄を設けている。このように、ユーザに対して、一時無効化を行う対象となる部分に含まれるロジックにおける入力信号を提示して、出力信号となる変数ＬＬ３に対して割り当てる信号を特定する。この作業を、一時無効化を行う対象となる部分に含まれるブロックからの出力信号毎に行うことで、一時無効化を行う対象となる部分から出力される出力信号を特定することができる。
【００４７】
なお、予め定めた基準に基づいて、ロジック変更部１３側で予め出力信号と入力信号との対応付けを行った後にユーザに提示し、必要に応じてユーザが修正する構成としてもよい。すなわち、本工程において、一時無効化を行う対象となる部分から出力される出力信号を特定することができれば、具体的な手順は特に限定されない。
【００４８】
次に、ロジック変更部１３は、上記の特定結果に基づいて、出力信号に対応する信号の情報を更新し、一時無効化ロジックを生成する（Ｓ０５）。上記のように、出力信号に対して割り当てる変数または定数の情報を出力信号に対応付ける。この情報は、一時無効化管理部１４２に保持される。そして、一時無効化を行っている間は、ロジック管理部１４１に保持されている情報と、一時無効化管理部１４２に保持される情報と、を組み合わせて、当該制御ロジックの一時無効化を行い、一時無効化ロジックを生成する。
【００４９】
図６は、一時無効化を行った状態を図形言語によりユーザインタフェース１１において表示している例である。図６では、一時無効化を行った部分のロジック（ブロック及び信号線）が半透明化され、その上に、一時無効化された部分の出力信号をその前段の出力信号と対応付けている状態を信号線Ｌ１〜Ｌ３で示している。なお、信号線Ｌ２については、入力信号を出力信号と対応付ける代わりに、定数０が出力信号に対応付けられている。すなわち、出力信号である変数ＬＬ２には定数０が代入されることになる。図６に示すように、一時無効化前のロジックと、一時無効化ロジックとを同時に表示する構成とした場合、ユーザは一時無効化時のロジックの変更を視覚的に把握しやすくなる。なお、ユーザインタフェース１１での表示形式は図６に示す例に限定されず、例えば、一時無効化前のロジックと、一時無効化時のロジックとを並べて表示するような構成としてもよい。
【００５０】
その後、ロジック変更部１３により変更された制御ロジックを変更結果として出力部１５から制御装置２０に対して出力する。以上により、制御ロジックの一時無効化に係る処理が終了する。
【００５１】
なお、一時無効化状態を終了する場合には、ユーザの指示に基づいて一時無効化管理部１４２に保持される情報が破棄される。ただし、一時無効化状態としての変更内容を制御ロジックの定常的な変更とする場合には、ユーザの指示に基づいて、一時無効化管理部１４２に保持される情報をロジック管理部１４１に保持する構成として、ロジック管理部１４１に保持される制御ロジックに係る情報を更新する。
【００５２】
以上のように、本実施形態に係るロジック生成装置１０によれば、取得部１２で取得されるユーザからの一時無効化指示に基づいて、ロジック変更部１３において、ロジックの所定部分を一時無効化する際に、この所定部分から出力される出力信号を特定した後に、一時無効化ロジックが生成される。したがって、一時無効化ロジックにおいて、一時無効化した部分からも適切に信号が出力されるため、後段でも適切な動作が行われる。したがって、一時無効化された部分以外が適切に動作する一時無効化ロジックを生成することができる。
【００５３】
また、上記のロジック生成装置１０のロジック変更部１３では、一時無効化された場合の所定部分からの出力信号の特定を、ユーザからの指示に基づいて実施する。このような構成とすることで、ユーザの指示に基づいて出力信号を適切に特定することが可能となり、一時無効化された部分以外の動作がより適切に設定された一時無効化ロジックを生成することができる。
【００５４】
また、上記のロジック生成装置１０のロジック変更部１３では、ロジックの所定部分に対して入力する入力信号を所定部分からの出力信号として特定することができる。このような構成とすることで、一時無効化される部分の前段の入力信号を、後段の出力信号として利用することができ、一時無効化された部分以外の動作がより適切に設定された一時無効化ロジックを生成することができる。
【００５５】
また、上記のロジック生成装置１０のロジック変更部１３では、所定の数値を所定部分からの出力信号として特定することができる。このような構成とすることで、一時無効化をした結果出力信号が一律となる場合に上記実施形態のように定数を用いることが可能となり、一時無効化された部分以外の動作がより適切に設定された一時無効化ロジックを生成することができる。
【００５６】
また、上記のロジック生成装置１０では、ユーザインタフェース１１において、ロジック変更部１３において生成された一時無効化ロジックを表示する際に、一時無効化ロジックにおける前記所定部分からの出力信号に係る情報を、図形言語を用いて表示することができる。このような構成とすることで、一時無効化により変更された出力信号の詳細やその対応関係等をユーザが容易に把握できるようになる。
【００５７】
また、上記のロジック生成装置１０では、ユーザインタフェース１１において、一時無効化ロジックを、一時無効化前のロジックと同時に表示することができる。このような構成とすることで、一時無効化に伴う変更内容について、ユーザが容易に把握できるようになる。
【００５８】
以上、本発明の実施形態に係るロジック生成装置について説明したが、上述した実施形態は本発明の一例を示すものである。本発明に係るロジック生成装置は、上記実施形態に限られるものではなく、各請求項に記載した要旨を変更しない範囲で変形し、又は他のものに適用したものであってもよい。
【００５９】
例えば、ロジック生成装置は、上記実施形態で説明したように１台の装置によって実現されていてもよいし、複数台の装置の組み合わせによって実現されていてもよい。
【００６０】
また、上記実施形態では、ロジック生成装置で生成されるロジックが制御ロジックである場合について説明したが、ロジック生成装置で生成されるロジックは、制御対象装置の制御を制御装置が行うためのロジックに限定されない。
【符号の説明】
【００６１】
１  制御システム
１０  ロジック生成装置
１１  ユーザインタフェース（表示部）
１２  取得部（一時無効化指示取得部）
１３  ロジック変更部（出力信号特定部、ロジック生成部）
１４  ロジックＤＢ
１５  出力部
２０  制御装置
２１  実行エンジン
２２  入出力部
３０  制御対象装置
１４１  ロジック管理部
１４２  一時無効化管理部
【図１】
2018180786.tif 000003
【図２】
2018180786.tif 000004
【図３】
2018180786.tif 000005
【図４】
2018180786.tif 000006
【図５】
2018180786.tif 000007
【図６】
2018180786.tif 000008