(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-07
(45)【発行日】2022-03-15
(54)【発明の名称】ロジック変更装置
(51)【国際特許分類】
G05B 19/05 20060101AFI20220308BHJP
【FI】
G05B19/05 B
(21)【出願番号】P 2017051474
(22)【出願日】2017-03-16
【審査請求日】2019-11-07
(73)【特許権者】
【識別番号】000000099
【氏名又は名称】株式会社IHI
(74)【代理人】
【識別番号】100088155
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100176245
【氏名又は名称】安田 亮輔
(72)【発明者】
【氏名】岡島 一道
(72)【発明者】
【氏名】山上 淳二
(72)【発明者】
【氏名】熊谷 正伸
【審査官】影山 直洋
(56)【参考文献】
【文献】特開2012-113407(JP,A)
【文献】特開2006-185015(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/05
(57)【特許請求の範囲】
【請求項1】
制御対象を制御する制御装置において解釈及び実行される図形言語による制御ロジック
に含まれて、入出力信号に係る信号線が接続される入力端子及び出力端子を有するブロックを、一のブロックから前記一のブロックとは異なる新ブロックへ変更するロジック変更装置であって、
前記一のブロックは、優先度が高い順に上位から並べられた複数の入力端子及び優先度が高い順に上位から並べられた複数の出力端子を有し、
前記新ブロックは、優先度が高い順に上位から並べられた複数の入力端子及び優先度が高い順に上位から並べられた複数の出力端子を有し、当該複数の入力端子のうちの少なくとも一部は、前記一のブロックの端子に入力可能な信号と同一の種別の信号を入力可能であって、且つ、当該複数の出力端子のうちの少なくとも一部は、前記一のブロックの端子から出力可能な信号と同一の種別の信号を出力可能であって、
前記
一のブロックについて、当該ブロックの複数の入力端子
の並び順に対応した順に並べられた、各入力端子を特定する情報と各入力端子に接続される入力信号を特定する情報
とが対応付けられた情報、並びに、前記ブロックの複数の出力端子
の並び順に対応して並べられた、各出力端子を特定する情報と各出力端子に接続される出力信号を特定する情報
とが対応付けられた情報を保持する保持部と、
前記制御ロジックに含まれる一のブロックを
、前記新ブロックに変更する変更指示を取得する取得部と、
前記取得部において取得された前記変更指示に基いて前記制御ロジックに含まれる前記一のブロックを前記新ブロックに変更する際に、前記保持部に保持される情報に基づいて、前記一のブロックにおいて上位の入力端子に接続された入力信号から順に、前記新ブロックの複数の入力端子のうち
前記一のブロックの入力端子に接続された入力信号を入力可能な上位の入力端子へ対応付けを行って信号線を設けると共に、前記一のブロックにおいて上位の出力端子に接続された出力信号から順に、前記新ブロックの複数の出力端子のうち
前記一のブロックの出力端子に接続された出力信号を出力可能な上位の出力端子へ対応付けを行って信号線を設ける変更部と、
を有する、ロジック変更装置。
【請求項2】
前記変更部は、前記新ブロックの端子に入出力可能な信号の種別と、前記一のブロックに接続されていた入出力信号の種別とが一致しない場合には、当該端子に対する入出力信号の接続は回避しながら、前記新ブロックの複数の端子のそれぞれに接続する入出力信号の対応付けを行って信号線を設ける、請求項1に記載のロジック変更装置。
【請求項3】
前記変更部は、前記一のブロックに接続していた入出力信号の数に対して前記新ブロックの端子の数が少ない場合には、前記新ブロックとの接続ができない入出力信号に係る信号線を削除する請求項1又は2に記載のロジック変更装置。
【請求項4】
前記変更部は、前記一のブロックの端子に対して接続された信号線の経路を維持して前記新ブロックと入出力信号との間の信号線を設けることができる場合には、前記経路を維持して前記信号線を設ける、請求項1~3の何れか一項に記載のロジック変更装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロジック変更装置に関する。
【背景技術】
【0002】
従来から、機械制御等で用いる制御ロジックを作成する際に図形言語が用いられている。図形言語による制御ロジックの作成はブロックの配置及びブロック同士の接続を繰り返すことで行われる。そのため、ブロック同士の接続を効率化するための手法が検討されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、一度生成した制御ロジックを変更する際の効率化に関してはこれまで殆ど検討されていなかった。そのため、制御ロジックの変更の効率化については、改善の余地があった。
【0005】
本発明は上記を鑑みてなされたものであり、制御ロジックの変更を効率よく行うことが可能なロジック変更装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の一形態に係るロジック変更装置は、制御対象を制御する制御装置において解釈及び実行される図形言語による制御ロジックを変更するロジック変更装置であって、前記制御ロジックに含まれるブロックの複数の端子に対して信号線により接続されて前記ブロックとの間で入出力される入出力信号に係る情報を保持する保持部と、前記制御ロジックに含まれる一のブロックを当該一のブロックとは異なる新ブロックに変更する変更指示を取得する取得部と、前記保持部に保持される、前記一のブロックの複数の端子それぞれに対して信号線で接続される入出力信号に係る情報に基づいて、接続する入出力信号同士の順序を変更せずに、前記新ブロックの複数の端子のそれぞれに接続する入出力信号を決定し信号線を設ける変更部と、を有する。
【0007】
上記のロジック生成装置によれば、取得部において取得された制御ロジックの変更指示に基づいてブロックの変更を行う際に、保持部に保持される、一のブロックの複数の端子それぞれに対して信号線で接続される入出力信号に係る情報に基づいて、変更部において、接続する入出力信号同士の順序を変更せずに、変更後の新ブロックの複数の端子のそれぞれに接続する入出力信号を決定し信号線を設ける。したがって、従来のように変更前のブロックに対して接続されていた信号線に係る情報を用いずに再度信号線を設ける場合と比較して、制御ロジックの変更を効率よく行うことが可能となる。
【0008】
ここで、前記変更部は、前記新ブロックの端子に入出力可能な信号の種別と、前記入出力信号の種別とが一致しない場合には、当該端子に対する入出力信号の接続は回避しながら、前記新ブロックの複数の端子のそれぞれに接続する入出力信号を決定し信号線を設ける態様とすることができる。
【0009】
上記のように、変更後の新ブロックの端子に入出力可能な信号の種別と、入出力信号の種別とが一致しない場合には、当該端子に対する入出力信号の接続は回避しつつ、端子のそれぞれに接続する入出力信号を決定し信号線を設ける構成とすることで、ブロックに対して接続する入出力信号同士の順序を維持しつつ、且つ、信号種別の不整合を回避することができる。
【0010】
また、前記変更部は、前記一のブロックに接続していた入出力信号の数に対して前記新ブロックの端子の数が少ない場合には、前記新ブロックとの接続ができない入出力信号に係る信号線を削除する態様とすることができる。
【0011】
上記のように、新ブロックの端子との対応付けができず新ブロックとの接続ができない入出力信号については信号線を削除する構成とすることで、入出力信号と端子との間の接続を行うことができていない信号線が削除されるため、ユーザがブロックの変更に伴う変更箇所を適切に把握することができる。
【0012】
また、前記変更部は、前記一のブロックの端子に対して接続された信号線の経路を維持して前記新ブロックと入出力信号との間の信号線を設けることができる場合には、前記経路を維持して前記信号線を設ける態様とすることができる。
【0013】
上記のように、変更前の一のブロックの端子に対して接続された信号線の経路を維持して、変更後の新ブロックと入出力信号との間の信号線を設けることができる場合には、経路を維持して信号線を設ける構成とすることで、ユーザがブロックの変更に伴う変更箇所を適切に把握することができる。
【発明の効果】
【0014】
本発明によれば、制御ロジックの変更を効率よく行うことが可能なロジック変更装置が提供される。
【図面の簡単な説明】
【0015】
【
図1】本発明の一実施形態に係るロジック変更装置を含む制御システムの概略構成図である。
【
図2】
図2(A)は、従来の制御ロジックの変更方法を説明する図であり、
図2(B)は、本実施形態に係るロジック変更装置における制御ロジックの変更方法を説明する図である。
【
図3】
図3(A)は、変更前のブロックに係る入力端子と入力信号との関係、及び、出力端子と出力信号との関係の例を示す図であり、
図3(B)は、変更後のブロックに対応してロジックDBに保持される情報の例である。
【
図4】ロジック変更装置における制御ロジックの変更について説明するフロー図である。
【
図5】
図5(A)は、変更前のブロックを含む制御ロジックの例であり、
図5(B)は、変更後のブロックを含む制御ロジックの例である。
【
図6】入出力信号が接続されない端子を有するブロックに係る配線情報の例である。
【発明を実施するための形態】
【0016】
以下、添付図面を参照して、本発明を実施するための形態を詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【0017】
図1は、本発明の一実施形態に係るロジック変更装置を含む制御システムの概略構成図である。制御システム1は例えばプラント等において適用されるシステムであり、制御対象となる装置の状態を示すデータ等を収集し、当該データ及びその他の情報に基づいて制御対象となる装置の制御を行うシステムである。
【0018】
制御システム1は、ロジック変更装置10、制御装置20及び制御対象装置30を含んで構成される。
【0019】
ロジック変更装置10は、制御対象装置30の制御を制御装置20が行うための制御ロジックの生成を行う装置である。また、ロジック変更装置10は一度生成した制御ロジックの変更を行う機能も有する。本実施形態では、ロジック変更装置10による制御ロジックの変更について説明する。制御ロジックとは、図形言語で作成されたロジックプログラムであり、制御対象装置30に係る情報に基づいた演算を実行するための複数のロジックにより構成される。図形言語の種類は特に限定されないが、本実施形態では、図形言語がファンクション・ブロック・ダイアグラム(FBD)言語である場合について説明する。ロジック変更装置10の各機能部については後述する。ロジック変更装置10により変更された制御ロジックは、制御装置20へ送られる。なお、制御ロジックを後段の制御装置で利用するためには、制御ロジックの実行順序を規定すると共にその実行結果に基づく動作を規定した状態分岐フローが必要となる場合がある。その場合には、ロジック変更装置10が状態分岐フローも生成する構成であってもよい。
【0020】
ロジック変更装置10は、CPU(Central Processing Unit)、主記憶装置であるRAM(Random Access Memory)及びROM(Read Only Memory)、制御装置20等の他の機器との間の通信を行う通信モジュール、並びにハードディスク等の補助記憶装置等のハードウェアを備えるコンピュータとして構成される。そして、これらの構成要素が動作することにより、後述のロジック変更装置10としての機能が発揮される。
【0021】
制御装置20は、制御対象装置30からのデータを取得すると共に、制御ロジックを解釈して実行することで制御対象装置30の制御に係る動作を行う。制御装置20は、実行エンジン21と入出力部22とを備える。実行エンジン21は、ロジック変更装置10において生成された制御ロジックを解釈し実行する機能を有する。入出力部22は、制御対象装置30からのデータ等を受信すると共に、実行エンジンにより制御ロジックを実行した結果に基づいて、制御対象装置30に対して処理の実行等を指示する機能を有する。
【0022】
制御対象装置30は、制御システム1において制御装置20による制御の対象となる装置であり、例えば、プラントにおける運転装置等が挙げられる。制御対象装置30は、制御装置20からの指示を受信すると、これに基づいて運転制御等を行う。また、制御対象装置30は、制御装置20からの指示に基づいて、自装置で取得された運転データ等を制御装置20に対して送信する。このように、制御対象装置30では、自装置の状態を示す情報を制御装置20に対して送信し、自装置の状態に対応した指示を制御装置20から受信することで、運転の制御が行われる。
【0023】
なお、
図1では制御システム1を構成する制御装置20及び制御対象装置30がそれぞれ1台である場合を示しているが、制御装置20及び制御対象装置30は制御システム1にそれぞれ複数含まれていてもよい。この場合、制御装置20が複数の制御対象装置30を制御する構成とすることもできる。
【0024】
ここで、本実施形態に係るロジック変更装置10により行われる制御ロジックの変更について説明すると共に、従来の制御ロジックの変更における問題点について、
図2を参照しながら説明する。
図2(A)は、従来の制御ロジックの変更方法を説明する図であり、
図2(B)は、本実施形態に係るロジック変更装置における制御ロジックの変更方法を説明する図である。
【0025】
図形言語を用いて作成された制御ロジックには、ブロック(ファンクションブロック)、変数、及び、信号線が含まれる。
図2(A)では、1つのブロックB1と、ブロックB1に対して入力する5つの変数である入力信号AI0001~AI0005、及び、ブロックB1から出力される5つの変数である出力信号AO0001~AO0005が含まれた制御ロジックを示している。ブロックB1は複数の端子、すなわち、5つの入力端子と5つの出力端子とを有する。入力側及び出力側の端子の数は適宜変更される。5つの入力信号とブロックB1の5つの入力端子との間、及び、ブロックB1の5つの出力端子と5つの出力信号との間は、それぞれ信号線により接続されている。ここでは、ブロックB1の端子に対して変数が接続されている例を示しているが、ブロックB1に対して他のブロックの端子から出力される出力信号が入力される場合もある。本実施形態で説明する「入出力信号」には、信号線により接続されてブロックに対して入力される入力信号と、信号線により接続されてブロックから出力される出力信号と、が含まれる。
【0026】
ロジック変更装置10により作成される制御ロジックには、ブロックB1のそれぞれの入力端子に接続される入力信号の情報と、ブロックB1のそれぞれの出力端子に接続される出力信号の情報と、が含まれる。これらの情報をブロックに係る配線情報という。また、
図2(A)で示すように、図形言語で作成される制御ロジックはブロック、変数及び信号線が図形化して表示されるため、制御ロジックには、ブロック、変数、及び信号線の描画位置を示す座標情報等の情報も含まれる。
【0027】
本実施形態において、制御ロジックの変更とは、制御ロジックに含まれるブロックを変更することをいう。
図2(A)で示された制御ロジックに含まれる一のブロックであるブロックB1を、ブロックB1とは異なる新ブロックであるブロックB2に変更する際、従来は、以下の手順で行われている。まず、制御ロジックに含まれる変更対象のブロックB1を削除する。これに伴い、入力信号とブロックB1の入力端子との間、及び、ブロックB1の出力端子と出力信号との間を接続する信号線も消去される。その後、変更後のブロックB2を配置する。その後に、入力信号とブロックB1の入力端子との間、及び、ブロックB1の出力端子と出力信号との間を改めて接続するための信号線を作成(再配線)する。このように、ブロックB1からブロックB2に変更する際には、ブロックの置換だけではなく、ブロックの入力端子及び出力端子に接続される信号線についても再配線を行うことが一般的であった。
【0028】
上記のような従来の方法には、効率及び正確性の観点から改善の余地があった。すなわち、ブロックの変更の際に入力端子及び出力端子に接続される信号線を一度消去した後に再配線を行う必要があるため、再配線作業が発生する。再配線作業はユーザが端子及び変数を指定して行う作業であるため、ユーザの作業負荷が増大する。また、再配線作業を行うことで、接続を誤ってしまう可能性が生じる。特に、制御ロジックが複雑になると、再配線作業も複雑となる場合があるため、信号線の取り違え等が生じる可能性も高くなると考えられる。
【0029】
そこで、本実施形態に係るロジック変更装置10においては、ブロックB1をブロックB2へ変更する際に、ブロックB1の出力端子と出力信号との間を接続する信号線に係る情報を利用して、
図2(B)で示すように、変数と端子との間の再配線を自動で行うことを可能とする。
【0030】
図1に戻り、ロジック変更装置10の各機能部について説明する。ロジック変更装置10は、ユーザインタフェース11に含まれる取得部12と、変更部13と、ロジックDB(データベース)14(保持部)と、出力部15と、を含んで構成される。
【0031】
ユーザインタフェース11は、ユーザによるロジック変更装置10に対する入力及びユーザからの入力に対するロジック変更装置10による処理の結果の出力を行う部分である。ユーザインタフェース11には、取得部12が含まれる。取得部12は、ユーザから制御ロジックの変更に係る情報を変更指示として取得する機能を有する。制御ロジックの変更は、ユーザインタフェース11をユーザが操作することによってユーザから出される制御ロジックの変更に係る指示を契機に開始される。ユーザからの制御ロジックの変更に係る指示には、制御ロジック中の変更箇所を特定する情報及び変更内容に係る情報が含まれる。変更内容に係る情報とは、例えば、変更後のブロックの型等を特定する情報である。取得部12により取得された制御ロジックの変更指示は、変更部13へ送られる。
【0032】
なお、本実施形態では、ユーザインタフェース11をユーザが操作することにより、制御ロジック中の変更箇所を特定する情報及び変更内容に係る情報をロジック変更装置10において作成可能であるとする。この場合、ユーザインタフェース11は、制御ロジック中の変更箇所を特定する情報及び変更内容に係る情報を作成する変更情報作成部としての機能を有する。なお、外部装置で生成された制御ロジック中の変更箇所を特定する情報及び変更内容に係る情報を取得部12にて取得する構成としてもよい。すなわち、ロジック変更装置10で使用する制御ロジック中の変更箇所を特定する情報及び変更内容に係る情報を作成する装置は、ロジック変更装置10及び外部装置のどちらでもよい。
【0033】
変更部13は、取得部12から送られた制御ロジックの変更指示に基づいて、制御ロジックを変更する機能を有する。変更部13は、制御ロジックの変更指示に含まれる制御ロジック中の変更箇所を特定する情報及び変更内容に係る情報に基づいて、ロジックDB14に保持された当該制御ロジックに係る情報の変更を行う。このとき、変更部13では、ロジックDB14に保持された、変更前のブロックの複数の端子それぞれに対して信号線で接続される入出力信号に係る情報に基づいて、接続する入出力信号同士の順序を変更せずに、変更後の新ブロックの複数の端子のそれぞれに接続する入出力信号を決定し信号線を設ける。この点については後述する。
【0034】
なお、変更部13では、変更後の制御ロジックが正しいものであるか(適切に動作するか)を確認するためのエラーチェックを併せて行う構成としてもよい。変更部13により生成された制御ロジックは、出力部15へ送られる。
【0035】
ロジックDB14は、制御ロジックに係る情報を保持する機能を有する。上述したように、制御ロジックには、制御ロジックに含まれるブロックのそれぞれの入力端子に接続される入力信号の情報と、ブロックのそれぞれの出力端子に接続される出力信号の情報と、が含まれる。
図3は、ロジックDB14に記憶される情報の例を示している。
図3(A)は、変更前のブロックB1に係る入力端子と入力信号との関係、及び、出力端子と出力信号との関係の例であり、
図2(A)等で示した制御ロジックに対応するものである。ブロックB1には5つの入力端子及び5つの出力端子があるので、各端子(IN-1~IN-5、OUT-1~OUT-5)毎に、当該端子に接続される変数を示す情報が対応付けて格納される。この情報は制御ロジックに含まれるブロック毎に作成され、ロジックDB14に保持される。すなわち、ロジックDB14は、ブロックに対して入出力される入出力信号に係る情報を接続情報として保持する保持部としての機能を有する。
【0036】
ブロックB1をブロックB2に変更する場合には、
図3(B)に示すように、ブロックB2に対応した新たな情報が作成される。なお、
図3(B)では、各端子に信号線により接続される入出力信号が特定されておらず空欄となっている。従来のブロックの変更方法では、ユーザが各端子に対して接続する入出力信号を指定することで、
図3(B)で示された空欄を埋める処理が行われる。一方、本実施形態に係るロジック変更装置10では、変更部13において、
図3(A)に示す変更前のブロックであるブロックB1に係る端子と入出力信号との関係を示す情報を利用して、
図3(B)に示す変更後の新ブロックであるブロックB2における端子と入出力信号とをどのように対応付けるかが決定される。そして、この結果に基づき、新ブロックであるブロックB2に係る情報が作成される。
【0037】
出力部15は、変更部13において、変更指示に基づいてブロックが変更された制御ロジックを制御装置20に対して送信する機能を有する。出力部15から制御装置20に対して送信された制御ロジックは、制御装置20において解釈及び実行される。
【0038】
次に、ロジック変更装置10における制御ロジックの変更について、
図4を参照しながら説明する。
【0039】
まず、ロジック変更装置10の取得部12において、制御ロジック中のブロックの変更に係る情報を含んだ変更指示を取得する(S01)。ブロックの変更に係る情報には、変更対象のブロックを特定する情報と、変更後の新ブロックを特定する情報と、が含まれる。
【0040】
次に、変更部13では、ロジックDB14に保持された当該制御ロジックに係る情報を変更後の新ブロックを含む情報に更新する。このとき、変更部13では、変更後のブロック(新ブロック)の各端子に対して入出力する入出力信号を、変更前のブロック(旧ブロック)の各端子に対して信号線により接続して入出力される入出力信号の情報、すなわち旧ブロックの配線情報を利用して、入出力信号同士の順序が変更しないように決定する(S02)。ここでの「入出力信号同士の順序」とは、入力信号同士の順序と、出力信号同士の順序と、のことをいう。
【0041】
具体的には、ブロックの入力端子に対して入力する入力信号の順序が変更前のブロックと変更後のブロックとの間で同じとなるように、各入力端子に対して入力する入力信号を特定し、信号線を設ける。
図3(A)に示すように、変更前のブロックB1では、入力端子IN-1~IN-5に対して、入力信号AI0002,AI0003,AI0001,AI0005,AI0004がこの順でそれぞれ接続されていた。そこで、変更後のブロックB2においても、入力信号AI0002,AI0003,AI0001,AI0005,AI0004がこの順で入力端子に接続されるように、上位の入力端子であるIN-1から順に対応付けを決定し、信号線を設ける。優先度の高い入力端子は、ブロックでは最上位に記載される。したがって、入力端子と入力信号との対応付けについても、ブロックの上位の入力端子から行うことで、端子と入力信号との対応付けが好適に行うことができる。次に、出力端子についても同様の処理を行う。ブロックの出力端子に対して入力する出力信号の順序が変更前のブロックと変更後のブロックとの間で同じとなるように、各出力端子から出力される出力信号を決定し、信号線を設ける。この結果、ブロックB1とブロックB2との間で、入力端子側に接続される入力信号の順序及び出力端子側に接続される出力信号の順序が変わらないように、ロジック変更装置10の変更部13において入出力信号とブロックとの接続を行うことができる。
【0042】
次に、変更部13では、必要に応じて信号線の経路の修正を行う(S03)。信号線の経路とは、制御ロジックを出力する際の信号線の配置のことである。経路の修正の際には、ブロック、変数、及び入出力信号の接続を示す信号線の描画位置を示す情報(座標情報等)の修正が行われる。この結果、変更後の制御ロジックに関して、ブロック、変数及び信号線をよりわかりやすく表示することができる。なお、信号線の経路の修正の際にも、ブロック変更前の描画に係る情報を利用することが好ましい。ブロックの変更に伴い信号線の経路を大きく変更すると、ユーザがブロックの変更に伴う変更箇所を適切に把握できない可能性がある。そこで、変更部13では、変更前のブロックの各端子に対して接続する信号線の経路を維持して、変更後の新ブロックと入出力信号との間の信号線を設けることができる場合には、経路を維持して信号線を設ける。このように、ブロック変更前の信号線の経路を可能な限り維持した状態で、ブロックの形状変更等に伴う位置調整を行うような処理を行うことが好ましい。
【0043】
その後、変更部13により変更された制御ロジックを変更結果として出力部15から制御装置20に対して出力する(S04)。以上により、制御ロジックの変更に係る処理が終了する。
【0044】
なお、上述した例では、変更前のブロックB1と変更後のブロックB2とが同一数の入出力端子を有しているために、入出力信号と端子との信号線による接続及びその経路を概ね変更せずにブロックB2への変更を行うことができている。しかしながら、変更前のブロックと変更後のブロックとでは、端子の数や種別等が異なる場合がある。その場合の取り扱いについて説明する。
【0045】
まず、変更前のブロックの端子の数と比べて、変更後のブロックの端子の数が多い場合について説明する。このような場合については、変更部13において、ブロックの上位の端子から端子と入出力信号との対応付けを行っていくと、変更前のブロックに対して接続されていた入出力信号の全てが変更後の新ブロックの端子と対応付けられて信号線が設けられた後も、新ブロックに入出力信号が接続されない端子が存在することになる。このような場合については、変更部13では、変更前のブロックに対して接続されていた入出力信号の新ブロックへの対応付け及び配線が終了した段階で、当該ブロックに対する入出力信号の配線を終了する。
【0046】
次に、変更前のブロックの端子の数と比べて、変更後のブロックの端子の数が少ない場合について説明する。このような場合については、変更部13において、ブロックの上位の端子から端子と入出力信号との対応付けを行っていくと、変更前のブロックに対して接続されていた入出力信号の一部が変更後の新ブロックの端子と対応付けられていない状態で、新ブロックの各端子に対する入出力信号の対応付けが終了することになる。このような場合については、変更部13では、新ブロックの端子との対応付け及び配線ができなかった入出力信号については、信号線を削除する。
【0047】
次に、変更前のブロックと変更後のブロックとの間で、一部の端子に入出力される信号の種別が異なる場合について説明する。信号の種別とは、入出力信号の種類を区別するものであり、例えば、デジタル/アナログ/構造体の3種類に区別することができる。
図5は、変更前後のブロックの間で端子の数及び種別が異なる場合の例を示す図である。
図5(A)は、変更前のロジックの例を示している。変更対象のブロックB3には、2つの入力端子及び2つの出力端子が設けられていて、入力端子及び出力端子のそれぞれに対して、入出力信号が信号線により接続されている。2つの入力端子及び2つの出力端子には、全て共通した種別の信号(例えば、アナログ信号)が入出力されるとする。ここで、
図5(B)に示すように、3つの入力端子及び2つの出力端子が設けられたブロックB4に変更するとする。ブロックB4では、3つの入力端子のうち、1つの入力端子(中央の入力端子IN-2)には、種別の異なる信号(例えば、デジタル信号)が入出力可能である。信号の種別を考慮せずに入力端子と入力信号との対応付けを行う場合には、入力端子IN-3に対して、入力信号AI0002を対応付けることになる。しかしながら、入力端子と入力信号との間で種別が互いに異なる(一致しない)場合は、当該端子への入力信号の接続を行わずに、入力端子と入力信号との対応付けを決定する。この結果、
図5(B)に示すように、入力端子側では、中央の入力端子IN-2に対しては入力信号が接続されていないが、入力信号AI0001,AI0002の順序は維持した状態で入力端子と入力信号とが信号線により接続される。
【0048】
なお、上記のように入出力信号が接続されない端子を有するブロックに係る配線情報は、
図6に示すブロックB5の入力端子IN-2のように、端子に対して接続される入出力信号が無いことが明らかな状態で、ロジックDB14に記憶される。
【0049】
以上のように、本実施形態に係るロジック変更装置10によれば、取得部12において取得された制御ロジックの変更指示に基づいてブロックの変更を行う際に、変更部13では、接続する入出力信号同士の変更前の順序から変更せずに、変更後の新ブロックの複数の端子のそれぞれに接続する入出力信号を決定し信号線を設ける。この入出力信号同士の順序を変更しない構成とするために、変更部13では、ロジックDB14に保持される変更前の一のブロックの複数の端子それぞれに対して信号線で接続される入出力信号に係る情報を利用する。このような構成とすることで、従来のように、ブロックを変更する際に、変更前のブロックに対して接続されていた信号線に係る情報を用いずに再度信号線を設ける場合と比較して、制御ロジックの変更を効率よく行うことが可能となる。
【0050】
従来から制御ロジックにブロックを配置した際の信号線の配線を装置側で自動的に行う方法について検討は進められているが、信号線の配線を装置側で行う場合には、入出力信号とブロックの端子との対応付けに必要な情報(例えば、信号線の種別、優先度、入出力信号と端子との距離等)を予めユーザが指定する必要がある。そして、装置側では、ユーザから提供された情報に基づいて、ブロックの端子に対応付ける入出力信号を選定し、信号線を設けるという処理が行われる。しかしながら、従来は、一度生成された制御ブロックに含まれるブロックを変更する際の具体的な処理については検討されていなかった。そのため、ブロックの変更を行う際には、変更前のブロックの削除に伴い、ブロックに接続されていた信号線を削除した後に、再度ユーザから提供された情報等に基づいて、ブロックの端子と入出力信号との対応付けを行う必要があった。すなわち、ブロックの変更であっても、ブロックの新規配置に伴う配線と同様の処理が必要であった。
【0051】
これに対して、本実施形態に係るロジック変更装置10によれば、制御ロジックに含まれるブロックの変更の際には、変更前の一のブロックの複数の端子それぞれに対して信号線で接続される入出力信号に係る情報に基づいて、変更後の新ブロックの複数の端子のそれぞれに接続する入出力信号を決定し信号線を設ける。このような構成であると、ユーザから提供される入出力信号とブロックの端子との対応付けに必要な情報を用いずに端子と入出力信号の対応付け及び信号線の配線を行うことができる。したがって、従来からブロックの新規配置に伴う信号線の配線の場合と比較して、入出力信号と新ブロックの端子との対応付けを簡便に行うことができる。
【0052】
また、入出力信号同士の順序を変更せずに、端子と入出力信号との対応付けを行う際に、変更後の新ブロックの端子に入出力可能な信号の種別と、入出力信号の種別とが一致しない場合には、当該端子に対する入出力信号の接続は回避しつつ、端子のそれぞれに接続する入出力信号を決定し信号線を設ける構成とする。このような構成とすることで、ブロックに対して接続する入出力信号同士の順序を維持しつつ、且つ、信号種別の不整合を回避することができる。なお、信号の種別とは、アナログ/デジタルに限定されず、例えば、ブロックから出力される信号か否か、等を信号の種別として取り扱ってもよい。
【0053】
また、変更前のブロックの端子の数と比べて、変更後のブロックの端子の数が少ない場合に、変更部13では、新ブロックの端子との対応付け及び配線ができなかった入出力信号について、信号線を削除する。このような構成とすることで、入出力信号と端子との間の接続を行うことができていない信号線が削除されるため、ユーザがブロックの変更に伴う変更箇所を適切に把握することができる。
【0054】
さらに、変更部13では、変更前のブロックの各端子に対して接続された信号線の経路を維持して、変更後の新ブロックの各端子と入出力信号との間の信号線を設けることができる場合には、経路を維持して信号線を設ける構成とすることで、ユーザがブロックの変更に伴う変更箇所を適切に把握することができる。
【0055】
以上、本発明の実施形態に係るロジック変更装置について説明したが、上述した実施形態は本発明の一例を示すものである。本発明に係るロジック変更装置は、上記実施形態に限られるものではなく、各請求項に記載した要旨を変更しない範囲で変形し、又は他のものに適用したものであってもよい。
【0056】
例えば、ロジック変更装置は、上記実施形態で説明したように1台の装置によって実現されていてもよいし、複数台の装置の組み合わせによって実現されていてもよい。
【0057】
また、上記実施形態では、ブロックの入力端子に対する入力信号の対応付け及び配線と、ブロックの出力端子に対する出力信号の対応付け及び配線と、をこの順で行う場合について説明したが、処理の順序等は変更することができる。また、信号線の経路の変更等についても、信号線を設ける際に同時に行う構成としてもよい。
【符号の説明】
【0058】
1 制御システム
10 ロジック変更装置
11 ユーザインタフェース
12 取得部
13 変更部
14 ロジックDB(保持部)
15 出力部
20 制御装置
21 実行エンジン
22 入出力部
30 制御対象装置