(57)【要約】【課題】制御ロジックの変更を効率よく行う。【解決手段】制御対象を制御する制御装置において解釈及び実行される図形言語による制御ロジックを変更するロジック変更装置１０であって、制御ロジックに含まれるブロックの複数の端子に対して信号線により接続されて前記ブロックとの間で入出力される入出力信号に係る情報を保持する保持部としてのロジックＤＢ１４と、制御ロジックに含まれる一のブロックを当該一のブロックとは異なる新ブロックに変更する変更指示を取得する取得部１２と、取得部１２に保持される、一のブロックの複数の端子それぞれに対して信号線で接続される入出力信号に係る情報に基づいて、接続する入出力信号同士の順序を変更せずに、新ブロックの複数の端子のそれぞれに接続する入出力信号を決定し信号線を設ける変更部１３と、を有する。【選択図】図１
2018156269.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御する制御装置において解釈及び実行される図形言語による制御ロジックを変更するロジック変更装置であって、
前記制御ロジックに含まれるブロックの複数の端子に対して信号線により接続されて前記ブロックとの間で入出力される入出力信号に係る情報を保持する保持部と、
前記制御ロジックに含まれる一のブロックを当該一のブロックとは異なる新ブロックに変更する変更指示を取得する取得部と、
前記保持部に保持される、前記一のブロックの複数の端子それぞれに対して信号線で接続される入出力信号に係る情報に基づいて、接続する入出力信号同士の順序を変更せずに、前記新ブロックの複数の端子のそれぞれに接続する入出力信号を決定し信号線を設ける変更部と、
を有する、ロジック変更装置。
【請求項２】
前記変更部は、前記新ブロックの端子に入出力可能な信号の種別と、前記入出力信号の種別とが一致しない場合には、当該端子に対する入出力信号の接続は回避しながら、前記新ブロックの複数の端子のそれぞれに接続する入出力信号を決定し信号線を設ける、請求項１に記載のロジック変更装置。
【請求項３】
前記変更部は、前記一のブロックに接続していた入出力信号の数に対して前記新ブロックの端子の数が少ない場合には、前記新ブロックとの接続ができない入出力信号に係る信号線を削除する請求項１又は２に記載のロジック変更装置。
【請求項４】
前記変更部は、前記一のブロックの端子に対して接続された信号線の経路を維持して前記新ブロックと入出力信号との間の信号線を設けることができる場合には、前記経路を維持して前記信号線を設ける、請求項１〜３の何れか一項に記載のロジック変更装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロジック変更装置に関する。
【背景技術】
【０００２】
従来から、機械制御等で用いる制御ロジックを作成する際に図形言語が用いられている。図形言語による制御ロジックの作成はブロックの配置及びブロック同士の接続を繰り返すことで行われる。そのため、ブロック同士の接続を効率化するための手法が検討されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１８５０１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、一度生成した制御ロジックを変更する際の効率化に関してはこれまで殆ど検討されていなかった。そのため、制御ロジックの変更の効率化については、改善の余地があった。
【０００５】
本発明は上記を鑑みてなされたものであり、制御ロジックの変更を効率よく行うことが可能なロジック変更装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一形態に係るロジック変更装置は、制御対象を制御する制御装置において解釈及び実行される図形言語による制御ロジックを変更するロジック変更装置であって、前記制御ロジックに含まれるブロックの複数の端子に対して信号線により接続されて前記ブロックとの間で入出力される入出力信号に係る情報を保持する保持部と、前記制御ロジックに含まれる一のブロックを当該一のブロックとは異なる新ブロックに変更する変更指示を取得する取得部と、前記保持部に保持される、前記一のブロックの複数の端子それぞれに対して信号線で接続される入出力信号に係る情報に基づいて、接続する入出力信号同士の順序を変更せずに、前記新ブロックの複数の端子のそれぞれに接続する入出力信号を決定し信号線を設ける変更部と、を有する。
【０００７】
上記のロジック生成装置によれば、取得部において取得された制御ロジックの変更指示に基づいてブロックの変更を行う際に、保持部に保持される、一のブロックの複数の端子それぞれに対して信号線で接続される入出力信号に係る情報に基づいて、変更部において、接続する入出力信号同士の順序を変更せずに、変更後の新ブロックの複数の端子のそれぞれに接続する入出力信号を決定し信号線を設ける。したがって、従来のように変更前のブロックに対して接続されていた信号線に係る情報を用いずに再度信号線を設ける場合と比較して、制御ロジックの変更を効率よく行うことが可能となる。
【０００８】
ここで、前記変更部は、前記新ブロックの端子に入出力可能な信号の種別と、前記入出力信号の種別とが一致しない場合には、当該端子に対する入出力信号の接続は回避しながら、前記新ブロックの複数の端子のそれぞれに接続する入出力信号を決定し信号線を設ける態様とすることができる。
【０００９】
上記のように、変更後の新ブロックの端子に入出力可能な信号の種別と、入出力信号の種別とが一致しない場合には、当該端子に対する入出力信号の接続は回避しつつ、端子のそれぞれに接続する入出力信号を決定し信号線を設ける構成とすることで、ブロックに対して接続する入出力信号同士の順序を維持しつつ、且つ、信号種別の不整合を回避することができる。
【００１０】
また、前記変更部は、前記一のブロックに接続していた入出力信号の数に対して前記新ブロックの端子の数が少ない場合には、前記新ブロックとの接続ができない入出力信号に係る信号線を削除する態様とすることができる。
【００１１】
上記のように、新ブロックの端子との対応付けができず新ブロックとの接続ができない入出力信号については信号線を削除する構成とすることで、入出力信号と端子との間の接続を行うことができていない信号線が削除されるため、ユーザがブロックの変更に伴う変更箇所を適切に把握することができる。
【００１２】
また、前記変更部は、前記一のブロックの端子に対して接続された信号線の経路を維持して前記新ブロックと入出力信号との間の信号線を設けることができる場合には、前記経路を維持して前記信号線を設ける態様とすることができる。
【００１３】
上記のように、変更前の一のブロックの端子に対して接続された信号線の経路を維持して、変更後の新ブロックと入出力信号との間の信号線を設けることができる場合には、経路を維持して信号線を設ける構成とすることで、ユーザがブロックの変更に伴う変更箇所を適切に把握することができる。
【発明の効果】
【００１４】
本発明によれば、制御ロジックの変更を効率よく行うことが可能なロジック変更装置が提供される。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係るロジック変更装置を含む制御システムの概略構成図である。
【図２】図２（Ａ）は、従来の制御ロジックの変更方法を説明する図であり、図２（Ｂ）は、本実施形態に係るロジック変更装置における制御ロジックの変更方法を説明する図である。
【図３】図３（Ａ）は、変更前のブロックに係る入力端子と入力信号との関係、及び、出力端子と出力信号との関係の例を示す図であり、図３（Ｂ）は、変更後のブロックに対応してロジックＤＢに保持される情報の例である。
【図４】ロジック変更装置における制御ロジックの変更について説明するフロー図である。
【図５】図５（Ａ）は、変更前のブロックを含む制御ロジックの例であり、図５（Ｂ）は、変更後のブロックを含む制御ロジックの例である。
【図６】入出力信号が接続されない端子を有するブロックに係る配線情報の例である。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照して、本発明を実施するための形態を詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００１７】
図１は、本発明の一実施形態に係るロジック変更装置を含む制御システムの概略構成図である。制御システム１は例えばプラント等において適用されるシステムであり、制御対象となる装置の状態を示すデータ等を収集し、当該データ及びその他の情報に基づいて制御対象となる装置の制御を行うシステムである。
【００１８】
制御システム１は、ロジック変更装置１０、制御装置２０及び制御対象装置３０を含んで構成される。
【００１９】
ロジック変更装置１０は、制御対象装置３０の制御を制御装置２０が行うための制御ロジックの生成を行う装置である。また、ロジック変更装置１０は一度生成した制御ロジックの変更を行う機能も有する。本実施形態では、ロジック変更装置１０による制御ロジックの変更について説明する。制御ロジックとは、図形言語で作成されたロジックプログラムであり、制御対象装置３０に係る情報に基づいた演算を実行するための複数のロジックにより構成される。図形言語の種類は特に限定されないが、本実施形態では、図形言語がファンクション・ブロック・ダイアグラム（ＦＢＤ）言語である場合について説明する。ロジック変更装置１０の各機能部については後述する。ロジック変更装置１０により変更された制御ロジックは、制御装置２０へ送られる。なお、制御ロジックを後段の制御装置で利用するためには、制御ロジックの実行順序を規定すると共にその実行結果に基づく動作を規定した状態分岐フローが必要となる場合がある。その場合には、ロジック変更装置１０が状態分岐フローも生成する構成であってもよい。
【００２０】
ロジック変更装置１０は、ＣＰＵ（Central  Processing  Unit）、主記憶装置であるＲＡＭ（Random  Access  Memory）及びＲＯＭ（Read  Only  Memory）、制御装置２０等の他の機器との間の通信を行う通信モジュール、並びにハードディスク等の補助記憶装置等のハードウェアを備えるコンピュータとして構成される。そして、これらの構成要素が動作することにより、後述のロジック変更装置１０としての機能が発揮される。
【００２１】
制御装置２０は、制御対象装置３０からのデータを取得すると共に、制御ロジックを解釈して実行することで制御対象装置３０の制御に係る動作を行う。制御装置２０は、実行エンジン２１と入出力部２２とを備える。実行エンジン２１は、ロジック変更装置１０において生成された制御ロジックを解釈し実行する機能を有する。入出力部２２は、制御対象装置３０からのデータ等を受信すると共に、実行エンジンにより制御ロジックを実行した結果に基づいて、制御対象装置３０に対して処理の実行等を指示する機能を有する。
【００２２】
制御対象装置３０は、制御システム１において制御装置２０による制御の対象となる装置であり、例えば、プラントにおける運転装置等が挙げられる。制御対象装置３０は、制御装置２０からの指示を受信すると、これに基づいて運転制御等を行う。また、制御対象装置３０は、制御装置２０からの指示に基づいて、自装置で取得された運転データ等を制御装置２０に対して送信する。このように、制御対象装置３０では、自装置の状態を示す情報を制御装置２０に対して送信し、自装置の状態に対応した指示を制御装置２０から受信することで、運転の制御が行われる。
【００２３】
なお、図１では制御システム１を構成する制御装置２０及び制御対象装置３０がそれぞれ１台である場合を示しているが、制御装置２０及び制御対象装置３０は制御システム１にそれぞれ複数含まれていてもよい。この場合、制御装置２０が複数の制御対象装置３０を制御する構成とすることもできる。
【００２４】
ここで、本実施形態に係るロジック変更装置１０により行われる制御ロジックの変更について説明すると共に、従来の制御ロジックの変更における問題点について、図２を参照しながら説明する。図２（Ａ）は、従来の制御ロジックの変更方法を説明する図であり、図２（Ｂ）は、本実施形態に係るロジック変更装置における制御ロジックの変更方法を説明する図である。
【００２５】
図形言語を用いて作成された制御ロジックには、ブロック（ファンクションブロック）、変数、及び、信号線が含まれる。図２（Ａ）では、１つのブロックＢ１と、ブロックＢ１に対して入力する５つの変数である入力信号ＡＩ０００１〜ＡＩ０００５、及び、ブロックＢ１から出力される５つの変数である出力信号ＡＯ０００１〜ＡＯ０００５が含まれた制御ロジックを示している。ブロックＢ１は複数の端子、すなわち、５つの入力端子と５つの出力端子とを有する。入力側及び出力側の端子の数は適宜変更される。５つの入力信号とブロックＢ１の５つの入力端子との間、及び、ブロックＢ１の５つの出力端子と５つの出力信号との間は、それぞれ信号線により接続されている。ここでは、ブロックＢ１の端子に対して変数が接続されている例を示しているが、ブロックＢ１に対して他のブロックの端子から出力される出力信号が入力される場合もある。本実施形態で説明する「入出力信号」には、信号線により接続されてブロックに対して入力される入力信号と、信号線により接続されてブロックから出力される出力信号と、が含まれる。
【００２６】
ロジック変更装置１０により作成される制御ロジックには、ブロックＢ１のそれぞれの入力端子に接続される入力信号の情報と、ブロックＢ１のそれぞれの出力端子に接続される出力信号の情報と、が含まれる。これらの情報をブロックに係る配線情報という。また、図２（Ａ）で示すように、図形言語で作成される制御ロジックはブロック、変数及び信号線が図形化して表示されるため、制御ロジックには、ブロック、変数、及び信号線の描画位置を示す座標情報等の情報も含まれる。
【００２７】
本実施形態において、制御ロジックの変更とは、制御ロジックに含まれるブロックを変更することをいう。図２（Ａ）で示された制御ロジックに含まれる一のブロックであるブロックＢ１を、ブロックＢ１とは異なる新ブロックであるブロックＢ２に変更する際、従来は、以下の手順で行われている。まず、制御ロジックに含まれる変更対象のブロックＢ１を削除する。これに伴い、入力信号とブロックＢ１の入力端子との間、及び、ブロックＢ１の出力端子と出力信号との間を接続する信号線も消去される。その後、変更後のブロックＢ２を配置する。その後に、入力信号とブロックＢ１の入力端子との間、及び、ブロックＢ１の出力端子と出力信号との間を改めて接続するための信号線を作成（再配線）する。このように、ブロックＢ１からブロックＢ２に変更する際には、ブロックの置換だけではなく、ブロックの入力端子及び出力端子に接続される信号線についても再配線を行うことが一般的であった。
【００２８】
上記のような従来の方法には、効率及び正確性の観点から改善の余地があった。すなわち、ブロックの変更の際に入力端子及び出力端子に接続される信号線を一度消去した後に再配線を行う必要があるため、再配線作業が発生する。再配線作業はユーザが端子及び変数を指定して行う作業であるため、ユーザの作業負荷が増大する。また、再配線作業を行うことで、接続を誤ってしまう可能性が生じる。特に、制御ロジックが複雑になると、再配線作業も複雑となる場合があるため、信号線の取り違え等が生じる可能性も高くなると考えられる。
【００２９】
そこで、本実施形態に係るロジック変更装置１０においては、ブロックＢ１をブロックＢ２へ変更する際に、ブロックＢ１の出力端子と出力信号との間を接続する信号線に係る情報を利用して、図２（Ｂ）で示すように、変数と端子との間の再配線を自動で行うことを可能とする。
【００３０】
図１に戻り、ロジック変更装置１０の各機能部について説明する。ロジック変更装置１０は、ユーザインタフェース１１に含まれる取得部１２と、変更部１３と、ロジックＤＢ（データベース）１４（保持部）と、出力部１５と、を含んで構成される。
【００３１】
ユーザインタフェース１１は、ユーザによるロジック変更装置１０に対する入力及びユーザからの入力に対するロジック変更装置１０による処理の結果の出力を行う部分である。ユーザインタフェース１１には、取得部１２が含まれる。取得部１２は、ユーザから制御ロジックの変更に係る情報を変更指示として取得する機能を有する。制御ロジックの変更は、ユーザインタフェース１１をユーザが操作することによってユーザから出される制御ロジックの変更に係る指示を契機に開始される。ユーザからの制御ロジックの変更に係る指示には、制御ロジック中の変更箇所を特定する情報及び変更内容に係る情報が含まれる。変更内容に係る情報とは、例えば、変更後のブロックの型等を特定する情報である。取得部１２により取得された制御ロジックの変更指示は、変更部１３へ送られる。
【００３２】
なお、本実施形態では、ユーザインタフェース１１をユーザが操作することにより、制御ロジック中の変更箇所を特定する情報及び変更内容に係る情報をロジック変更装置１０において作成可能であるとする。この場合、ユーザインタフェース１１は、制御ロジック中の変更箇所を特定する情報及び変更内容に係る情報を作成する変更情報作成部としての機能を有する。なお、外部装置で生成された制御ロジック中の変更箇所を特定する情報及び変更内容に係る情報を取得部１２にて取得する構成としてもよい。すなわち、ロジック変更装置１０で使用する制御ロジック中の変更箇所を特定する情報及び変更内容に係る情報を作成する装置は、ロジック変更装置１０及び外部装置のどちらでもよい。
【００３３】
変更部１３は、取得部１２から送られた制御ロジックの変更指示に基づいて、制御ロジックを変更する機能を有する。変更部１３は、制御ロジックの変更指示に含まれる制御ロジック中の変更箇所を特定する情報及び変更内容に係る情報に基づいて、ロジックＤＢ１４に保持された当該制御ロジックに係る情報の変更を行う。このとき、変更部１３では、ロジックＤＢ１４に保持された、変更前のブロックの複数の端子それぞれに対して信号線で接続される入出力信号に係る情報に基づいて、接続する入出力信号同士の順序を変更せずに、変更後の新ブロックの複数の端子のそれぞれに接続する入出力信号を決定し信号線を設ける。この点については後述する。
【００３４】
なお、変更部１３では、変更後の制御ロジックが正しいものであるか（適切に動作するか）を確認するためのエラーチェックを併せて行う構成としてもよい。変更部１３により生成された制御ロジックは、出力部１５へ送られる。
【００３５】
ロジックＤＢ１４は、制御ロジックに係る情報を保持する機能を有する。上述したように、制御ロジックには、制御ロジックに含まれるブロックのそれぞれの入力端子に接続される入力信号の情報と、ブロックのそれぞれの出力端子に接続される出力信号の情報と、が含まれる。図３は、ロジックＤＢ１４に記憶される情報の例を示している。図３（Ａ）は、変更前のブロックＢ１に係る入力端子と入力信号との関係、及び、出力端子と出力信号との関係の例であり、図２（Ａ）等で示した制御ロジックに対応するものである。ブロックＢ１には５つの入力端子及び５つの出力端子があるので、各端子（ＩＮ−１〜ＩＮ−５、ＯＵＴ−１〜ＯＵＴ−５）毎に、当該端子に接続される変数を示す情報が対応付けて格納される。この情報は制御ロジックに含まれるブロック毎に作成され、ロジックＤＢ１４に保持される。すなわち、ロジックＤＢ１４は、ブロックに対して入出力される入出力信号に係る情報を接続情報として保持する保持部としての機能を有する。
【００３６】
ブロックＢ１をブロックＢ２に変更する場合には、図３（Ｂ）に示すように、ブロックＢ２に対応した新たな情報が作成される。なお、図３（Ｂ）では、各端子に信号線により接続される入出力信号が特定されておらず空欄となっている。従来のブロックの変更方法では、ユーザが各端子に対して接続する入出力信号を指定することで、図３（Ｂ）で示された空欄を埋める処理が行われる。一方、本実施形態に係るロジック変更装置１０では、変更部１３において、図３（Ａ）に示す変更前のブロックであるブロックＢ１に係る端子と入出力信号との関係を示す情報を利用して、図３（Ｂ）に示す変更後の新ブロックであるブロックＢ２における端子と入出力信号とをどのように対応付けるかが決定される。そして、この結果に基づき、新ブロックであるブロックＢ２に係る情報が作成される。
【００３７】
出力部１５は、変更部１３において、変更指示に基づいてブロックが変更された制御ロジックを制御装置２０に対して送信する機能を有する。出力部１５から制御装置２０に対して送信された制御ロジックは、制御装置２０において解釈及び実行される。
【００３８】
次に、ロジック変更装置１０における制御ロジックの変更について、図４を参照しながら説明する。
【００３９】
まず、ロジック変更装置１０の取得部１２において、制御ロジック中のブロックの変更に係る情報を含んだ変更指示を取得する（Ｓ０１）。ブロックの変更に係る情報には、変更対象のブロックを特定する情報と、変更後の新ブロックを特定する情報と、が含まれる。
【００４０】
次に、変更部１３では、ロジックＤＢ１４に保持された当該制御ロジックに係る情報を変更後の新ブロックを含む情報に更新する。このとき、変更部１３では、変更後のブロック（新ブロック）の各端子に対して入出力する入出力信号を、変更前のブロック（旧ブロック）の各端子に対して信号線により接続して入出力される入出力信号の情報、すなわち旧ブロックの配線情報を利用して、入出力信号同士の順序が変更しないように決定する（Ｓ０２）。ここでの「入出力信号同士の順序」とは、入力信号同士の順序と、出力信号同士の順序と、のことをいう。
【００４１】
具体的には、ブロックの入力端子に対して入力する入力信号の順序が変更前のブロックと変更後のブロックとの間で同じとなるように、各入力端子に対して入力する入力信号を特定し、信号線を設ける。図３（Ａ）に示すように、変更前のブロックＢ１では、入力端子ＩＮ−１〜ＩＮ−５に対して、入力信号ＡＩ０００２，ＡＩ０００３，ＡＩ０００１，ＡＩ０００５，ＡＩ０００４がこの順でそれぞれ接続されていた。そこで、変更後のブロックＢ２においても、入力信号ＡＩ０００２，ＡＩ０００３，ＡＩ０００１，ＡＩ０００５，ＡＩ０００４がこの順で入力端子に接続されるように、上位の入力端子であるＩＮ−１から順に対応付けを決定し、信号線を設ける。優先度の高い入力端子は、ブロックでは最上位に記載される。したがって、入力端子と入力信号との対応付けについても、ブロックの上位の入力端子から行うことで、端子と入力信号との対応付けが好適に行うことができる。次に、出力端子についても同様の処理を行う。ブロックの出力端子に対して入力する出力信号の順序が変更前のブロックと変更後のブロックとの間で同じとなるように、各出力端子から出力される出力信号を決定し、信号線を設ける。この結果、ブロックＢ１とブロックＢ２との間で、入力端子側に接続される入力信号の順序及び出力端子側に接続される出力信号の順序が変わらないように、ロジック変更装置１０の変更部１３において入出力信号とブロックとの接続を行うことができる。
【００４２】
次に、変更部１３では、必要に応じて信号線の経路の修正を行う（Ｓ０３）。信号線の経路とは、制御ロジックを出力する際の信号線の配置のことである。経路の修正の際には、ブロック、変数、及び入出力信号の接続を示す信号線の描画位置を示す情報（座標情報等）の修正が行われる。この結果、変更後の制御ロジックに関して、ブロック、変数及び信号線をよりわかりやすく表示することができる。なお、信号線の経路の修正の際にも、ブロック変更前の描画に係る情報を利用することが好ましい。ブロックの変更に伴い信号線の経路を大きく変更すると、ユーザがブロックの変更に伴う変更箇所を適切に把握できない可能性がある。そこで、変更部１３では、変更前のブロックの各端子に対して接続する信号線の経路を維持して、変更後の新ブロックと入出力信号との間の信号線を設けることができる場合には、経路を維持して信号線を設ける。このように、ブロック変更前の信号線の経路を可能な限り維持した状態で、ブロックの形状変更等に伴う位置調整を行うような処理を行うことが好ましい。
【００４３】
その後、変更部１３により変更された制御ロジックを変更結果として出力部１５から制御装置２０に対して出力する（Ｓ０４）。以上により、制御ロジックの変更に係る処理が終了する。
【００４４】
なお、上述した例では、変更前のブロックＢ１と変更後のブロックＢ２とが同一数の入出力端子を有しているために、入出力信号と端子との信号線による接続及びその経路を概ね変更せずにブロックＢ２への変更を行うことができている。しかしながら、変更前のブロックと変更後のブロックとでは、端子の数や種別等が異なる場合がある。その場合の取り扱いについて説明する。
【００４５】
まず、変更前のブロックの端子の数と比べて、変更後のブロックの端子の数が多い場合について説明する。このような場合については、変更部１３において、ブロックの上位の端子から端子と入出力信号との対応付けを行っていくと、変更前のブロックに対して接続されていた入出力信号の全てが変更後の新ブロックの端子と対応付けられて信号線が設けられた後も、新ブロックに入出力信号が接続されない端子が存在することになる。このような場合については、変更部１３では、変更前のブロックに対して接続されていた入出力信号の新ブロックへの対応付け及び配線が終了した段階で、当該ブロックに対する入出力信号の配線を終了する。
【００４６】
次に、変更前のブロックの端子の数と比べて、変更後のブロックの端子の数が少ない場合について説明する。このような場合については、変更部１３において、ブロックの上位の端子から端子と入出力信号との対応付けを行っていくと、変更前のブロックに対して接続されていた入出力信号の一部が変更後の新ブロックの端子と対応付けられていない状態で、新ブロックの各端子に対する入出力信号の対応付けが終了することになる。このような場合については、変更部１３では、新ブロックの端子との対応付け及び配線ができなかった入出力信号については、信号線を削除する。
【００４７】
次に、変更前のブロックと変更後のブロックとの間で、一部の端子に入出力される信号の種別が異なる場合について説明する。信号の種別とは、入出力信号の種類を区別するものであり、例えば、デジタル／アナログ／構造体の３種類に区別することができる。図５は、変更前後のブロックの間で端子の数及び種別が異なる場合の例を示す図である。図５（Ａ）は、変更前のロジックの例を示している。変更対象のブロックＢ３には、２つの入力端子及び２つの出力端子が設けられていて、入力端子及び出力端子のそれぞれに対して、入出力信号が信号線により接続されている。２つの入力端子及び２つの出力端子には、全て共通した種別の信号（例えば、アナログ信号）が入出力されるとする。ここで、図５（Ｂ）に示すように、３つの入力端子及び２つの出力端子が設けられたブロックＢ４に変更するとする。ブロックＢ４では、３つの入力端子のうち、１つの入力端子（中央の入力端子ＩＮ−２）には、種別の異なる信号（例えば、デジタル信号）が入出力可能である。信号の種別を考慮せずに入力端子と入力信号との対応付けを行う場合には、入力端子ＩＮ−３に対して、入力信号ＡＩ０００２を対応付けることになる。しかしながら、入力端子と入力信号との間で種別が互いに異なる（一致しない）場合は、当該端子への入力信号の接続を行わずに、入力端子と入力信号との対応付けを決定する。この結果、図５（Ｂ）に示すように、入力端子側では、中央の入力端子ＩＮ−２に対しては入力信号が接続されていないが、入力信号ＡＩ０００１，ＡＩ０００２の順序は維持した状態で入力端子と入力信号とが信号線により接続される。
【００４８】
なお、上記のように入出力信号が接続されない端子を有するブロックに係る配線情報は、図６に示すブロックＢ５の入力端子ＩＮ−２のように、端子に対して接続される入出力信号が無いことが明らかな状態で、ロジックＤＢ１４に記憶される。
【００４９】
以上のように、本実施形態に係るロジック変更装置１０によれば、取得部１２において取得された制御ロジックの変更指示に基づいてブロックの変更を行う際に、変更部１３では、接続する入出力信号同士の変更前の順序から変更せずに、変更後の新ブロックの複数の端子のそれぞれに接続する入出力信号を決定し信号線を設ける。この入出力信号同士の順序を変更しない構成とするために、変更部１３では、ロジックＤＢ１４に保持される変更前の一のブロックの複数の端子それぞれに対して信号線で接続される入出力信号に係る情報を利用する。このような構成とすることで、従来のように、ブロックを変更する際に、変更前のブロックに対して接続されていた信号線に係る情報を用いずに再度信号線を設ける場合と比較して、制御ロジックの変更を効率よく行うことが可能となる。
【００５０】
従来から制御ロジックにブロックを配置した際の信号線の配線を装置側で自動的に行う方法について検討は進められているが、信号線の配線を装置側で行う場合には、入出力信号とブロックの端子との対応付けに必要な情報（例えば、信号線の種別、優先度、入出力信号と端子との距離等）を予めユーザが指定する必要がある。そして、装置側では、ユーザから提供された情報に基づいて、ブロックの端子に対応付ける入出力信号を選定し、信号線を設けるという処理が行われる。しかしながら、従来は、一度生成された制御ブロックに含まれるブロックを変更する際の具体的な処理については検討されていなかった。そのため、ブロックの変更を行う際には、変更前のブロックの削除に伴い、ブロックに接続されていた信号線を削除した後に、再度ユーザから提供された情報等に基づいて、ブロックの端子と入出力信号との対応付けを行う必要があった。すなわち、ブロックの変更であっても、ブロックの新規配置に伴う配線と同様の処理が必要であった。
【００５１】
これに対して、本実施形態に係るロジック変更装置１０によれば、制御ロジックに含まれるブロックの変更の際には、変更前の一のブロックの複数の端子それぞれに対して信号線で接続される入出力信号に係る情報に基づいて、変更後の新ブロックの複数の端子のそれぞれに接続する入出力信号を決定し信号線を設ける。このような構成であると、ユーザから提供される入出力信号とブロックの端子との対応付けに必要な情報を用いずに端子と入出力信号の対応付け及び信号線の配線を行うことができる。したがって、従来からブロックの新規配置に伴う信号線の配線の場合と比較して、入出力信号と新ブロックの端子との対応付けを簡便に行うことができる。
【００５２】
また、入出力信号同士の順序を変更せずに、端子と入出力信号との対応付けを行う際に、変更後の新ブロックの端子に入出力可能な信号の種別と、入出力信号の種別とが一致しない場合には、当該端子に対する入出力信号の接続は回避しつつ、端子のそれぞれに接続する入出力信号を決定し信号線を設ける構成とする。このような構成とすることで、ブロックに対して接続する入出力信号同士の順序を維持しつつ、且つ、信号種別の不整合を回避することができる。なお、信号の種別とは、アナログ／デジタルに限定されず、例えば、ブロックから出力される信号か否か、等を信号の種別として取り扱ってもよい。
【００５３】
また、変更前のブロックの端子の数と比べて、変更後のブロックの端子の数が少ない場合に、変更部１３では、新ブロックの端子との対応付け及び配線ができなかった入出力信号について、信号線を削除する。このような構成とすることで、入出力信号と端子との間の接続を行うことができていない信号線が削除されるため、ユーザがブロックの変更に伴う変更箇所を適切に把握することができる。
【００５４】
さらに、変更部１３では、変更前のブロックの各端子に対して接続された信号線の経路を維持して、変更後の新ブロックの各端子と入出力信号との間の信号線を設けることができる場合には、経路を維持して信号線を設ける構成とすることで、ユーザがブロックの変更に伴う変更箇所を適切に把握することができる。
【００５５】
以上、本発明の実施形態に係るロジック変更装置について説明したが、上述した実施形態は本発明の一例を示すものである。本発明に係るロジック変更装置は、上記実施形態に限られるものではなく、各請求項に記載した要旨を変更しない範囲で変形し、又は他のものに適用したものであってもよい。
【００５６】
例えば、ロジック変更装置は、上記実施形態で説明したように１台の装置によって実現されていてもよいし、複数台の装置の組み合わせによって実現されていてもよい。
【００５７】
また、上記実施形態では、ブロックの入力端子に対する入力信号の対応付け及び配線と、ブロックの出力端子に対する出力信号の対応付け及び配線と、をこの順で行う場合について説明したが、処理の順序等は変更することができる。また、信号線の経路の変更等についても、信号線を設ける際に同時に行う構成としてもよい。
【符号の説明】
【００５８】
１  制御システム
１０  ロジック変更装置
１１  ユーザインタフェース
１２  取得部
１３  変更部
１４  ロジックＤＢ（保持部）
１５  出力部
２０  制御装置
２１  実行エンジン
２２  入出力部
３０  制御対象装置
【図１】
2018156269.tif 000003
【図２】
2018156269.tif 000004
【図３】
2018156269.tif 000005
【図４】
2018156269.tif 000006
【図５】
2018156269.tif 000007
【図６】
2018156269.tif 000008