JP5595224B2 - ラダープログラム比較方法 - Google Patents

ラダープログラム比較方法 Download PDF

Info

Publication number
JP5595224B2
JP5595224B2 JP2010242974A JP2010242974A JP5595224B2 JP 5595224 B2 JP5595224 B2 JP 5595224B2 JP 2010242974 A JP2010242974 A JP 2010242974A JP 2010242974 A JP2010242974 A JP 2010242974A JP 5595224 B2 JP5595224 B2 JP 5595224B2
Authority
JP
Japan
Prior art keywords
change
comparison result
ladder
symbol
ladder program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010242974A
Other languages
English (en)
Other versions
JP2012094087A (ja
Inventor
亮 鬼澤
康晴 石川
慎一 浅見
育雄 鯉渕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010242974A priority Critical patent/JP5595224B2/ja
Publication of JP2012094087A publication Critical patent/JP2012094087A/ja
Application granted granted Critical
Publication of JP5595224B2 publication Critical patent/JP5595224B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Programmable Controllers (AREA)

Description

本発明は、プラント制御分野でのCAD(Computer Aided Design)によるラダープログラム設計において、変更前後のラダープログラムを比較する方法に関する。
プログラマブルロジックコントローラ(programmable logic controller、以下「PLC」と称する)によるシーケンス制御では、PLCがラダープログラムを実行して制御を行う。ラダープログラム設計において、既に設計が完了したラダープログラムに部分的な改造を実施することが多々ある。その際、設計者は、改造前のラダープログラムおよびそれを記載した図書(以下、「変更前図書」と称する)をベースに変更を施して、改造後のプログラムおよびそれを記載した図書(以下、「変更後図書」と称する)を作成する。また、変更後図書に対して、変更前はどのようになっていたかを明示した図書(以下、「改造図書」と称する)を作成し、製品の動作試験に使用する。改造箇所が多い場合などは、改造内容を別の図書(以下、「改造箇所集約図書」と称する)に記載することもある。
ラダープログラムを改造した場合には、変更点(差分)を把握する必要がある。従来は、目視で変更前図書と変更後図書を比較したり、変更前後のラダープログラムのニーモニック形式ファイルを既存のテキスト比較ツールで比較したりすることで変更点を把握し、改造図書および改造箇所集約図書を作成していた。ラダープログラムの変更点を把握する技術としては、例えば、特許文献1や特許文献2に開示されているものがある。特許文献2に記載の技術では、変更前後のプログラムのテキストファイルの内容を、ブロックごとに1行ずつ比較する。
特開2007−058368号公報 特開平10−149208号公報
上述した従来のラダープログラムの変更点の把握方法や改造図書および改造箇所集約図書の作成方法には、以下のような課題が存在している。
(1)変更点を目視で確認するため、変更点の抽出漏れが発生する。
(2)改造図書および改造箇所集約図書を手作業で作成するため、作業時間がかかる。
(3)既存のテキスト比較ツールでは変更点の抽出精度が悪いため、手作業や目視確認が多く必要になる。
(4)上記(1)〜(3)により、作成する改造図書および改造箇所集約図書の精度が悪くなると、製品の動作試験の精度にも影響があり、検査漏れや不具合見過ごしの可能性がある。
本発明は、ラダープログラムの変更箇所および変更内容を容易に精度よく把握することが可能な、ラダープログラム比較方法を提供することを目的とする。
上記目的を達成するために、本発明によるラダープログラム比較方法は、次のような基本的構成を有する。
電子図書の作成と管理を行う装置を用いて、複数のブロックに分けて記述されたラダープログラムの変更点を検出するラダープログラム比較方法において、次に述べるステップを有する。すなわち、前記装置が、前記ラダープログラムの変更前と変更後のソースファイルを読み込むステップと、前記装置が、前記ソースファイルに記述された命令語とアドレスに基づいて、変更前と変更後の前記ソースファイルを比較し、変更前と変更後とで異なる行に比較結果記号を付けるステップと、前記装置が、前記ソースファイルの比較結果に対し、前記比較結果記号と記憶部に記憶された変更区分ルールとに従い、変更区分を定めるステップと、前記装置が、前記比較結果記号と記憶部に記憶された補正ルールとに従い、複数のブロックにまたがる前記ソースファイルの変更箇所を、この複数のブロックの中の1つまたは複数のブロックに振り分けて、前記ソースファイルの比較結果を補正するステップとを有する。
本発明によると、以下の効果が得られる。
(1)目視確認によるラダープログラムの変更点の調査作業が不要となり、変更点の抽出漏れがなくなる。
(2)自動的に抽出された変更点情報を元に、改造図書および改造箇所集約図書を機械的に容易に作成することができるので、作業時間が短縮できる。
(3)既存のテキスト比較ツールを使用したニーモニック形式ファイルでの変更点調査では誤検出するようなプログラムの変更に対しても、精度よく変更点を抽出できる。
(4)上記(1)〜(3)の効果により、品質の良い改造図書および改造箇所集約図書が作成できるため、動作検証作業の精度も高くなり、製品の品質向上に寄与する。
本発明によるラダープログラム比較方法の流れを表した図。 ラダー図の例を示す図。 ラダープログラム比較装置の構成を示す図。 ラダープログラム(ニーモニック形式)の記述例を示す図。 処理の流れおよびデータの流れを表す図。 一貫No.と座標を削除する前後のラダーソースを示す図。 ラダーソースの比較結果の出力例を示す図。 変更区分ルールの一例を示す表。 従来のラダーソースの比較結果において、複数のcircuitにまたがった差分が検出された場合の出力例を示す図。 複数circuit変更点補正ルールを説明するための図。 ラダー図のシンボルの一例を示す図。 ラダー命令語とラダー図シンボル対応定義情報の一例を示す図。 CADデータ上にシンボルを貼り付ける際のイメージを示す図。 ラダー図シンボル配置座標定義情報の一例を示す図。 パス結線処理を説明するための図。 シンボル単位の変更内容を図示する方法の一例を示す図。 プログラムのロジック単位の変更内容を図示する方法の一例を示す図。 circuit単位の変更内容を図示する方法の一例を示す図。 変更箇所図示ルール定義情報の一例を示す図。 変更箇所の検出から変更箇所一覧の出力までの処理フローの一例を示す図。 変更箇所一覧の出力内容の一例を示す図。
本発明によるラダープログラム比較方法では、ラダープログラムの変更点(差分)を自動的に抽出し、改造図書および改造箇所集約図書を機械的に作成することで、変更箇所および変更内容を容易に把握することが可能である。
以下、本発明によるラダープログラム比較方法の実施形態を、図面を用いて詳細に説明する。以下では、ラダープログラムのソースファイルのことを、「ラダーソース」とも称する。
本実施例によるラダープログラム比較方法は、ラダープログラム比較装置により実行される。ラダープログラム比較装置は、コンピュータ(PC)によって構成されたシステムであり、電子図書の作成と管理を行う。ラダープログラム比較装置は、作成した図書や電子図書(例えば、CAD図面)を格納する記憶装置、電子図書を表示するディスプレイなどの画面出力装置、およびキーボードやマウス(ポインティングデバイス)などの入力装置を有する。キーボードは、電子図書の作成する際の文字入力に使用し、マウスは、画面出力装置に出力された表示物を指示するために用いる。このコンピュータは、電子図書を作成するためのソフトウェアが動作している必要がある。本実施例では、このようなソフトウェアの一例としてCAD(Computer Aided Design)を用い、電子図書をCAD図面(CADデータ)としている。
図1は、本実施例によるラダープログラム比較方法の流れを表した図である。上記PCによりシステムが起動すると、作業者が変更前および変更後のラダープログラムのソースファイルを指定する。PCは、指定されたソースファイルを入力して読み込むと、本実施例によるラダープログラム比較方法に従い、比較処理を実行して変更点(差分)を自動的に抽出し、変更点を図示した改造図書および改造箇所集約図書を機械的に作成する。ソースファイルは、記憶装置から入力してもよく、システム外部から入力してもよい。
図2は、PLCによるシーケンス制御などを実現するために使用されるラダープログラムを図示したラダー図の例である。ラダー図では、図の左側に接点部(動作条件)を、右側に回路部(出力)を表記する。本実施例では、このラダー図を、変更前と変更後のラダープログラムのソースファイルから機械的に作成し、ラダー図上に変更点を明示することで、改造図書および改造箇所集約図書を作成する。
図3は、本実施例によるラダープログラム比較装置の構成を示す図である。ラダープログラム比較装置は、制御部、出力部、入力部、および記憶部を有する。制御部は、上述したPCに構築することができ、出力部、入力部、および記憶部は、それぞれ上述した画面出力装置、入力装置、および記憶装置とすることができる。
制御部は、具体的には、プログラムに従って動作するCPU(Central Processing Unit)によって実現され、入力部からの入力を受け付け、出力部に処理のメイン画面などを表示させ、ラダープログラムの比較プログラムや図面作成用プログラム等を実行する。
記憶部は、シンボルメニュー情報、ラダー命令語とラダー図シンボル対応定義情報、ラダー図シンボル配置座標定義情報、および変更箇所図示ルール定義情報などを格納する。また、記憶部には、ラダープログラムの比較プログラムや図面作成用プログラムが記憶されており、変更区分ルール、および複数circuit変更点補正ルールも記憶されている。
シンボルメニュー情報は、CADのシンボルについてのデータである。ラダー命令語とラダー図シンボル対応定義情報、ラダー図シンボル配置座標定義情報、および変更箇所図示ルール定義情報については、それぞれ図12、図14、および図19を用いて後述する。また、変更区分ルールと複数circuit変更点補正ルールについては、それぞれ図8と図10を用いて後述する。
図4は、本実施例で処理対象としているラダープログラム(ニーモニック形式)の記述例を示す図である。ラダープログラムは、「circuit」と呼ばれるブロックに分けて記述される。
circuit単位のブロックの1行目には、一貫No.として、「circuit」という文字とcircuitの番号が記述される。ブロックの2行目以降は、行単位に、当該circuit(ブロック)内の接点部の座標と命令語と条件アドレス、および回路部の座標と命令語と出力アドレスが記述される。
ラダープログラムは、このようにして、「circuit」という文字により、circuit単位のブロックに分けることができる。
図5は、本実施例での処理を機能単位に纏めて、処理の流れおよびデータの流れ(入出力情報)を表した図である。処理の流れはステップ101〜ステップ105に、データの流れは図5の左から右に示した。ステップ101では、ラダープログラム比較方法を実行するためのメイン画面を表示する。ステップ102では、変更前と変更後のラダーソースを加工する。ステップ103では、加工した変更前と変更後のラダーソースを比較する。ステップ104では、ラダーソースの比較結果に基づいて「追加」、「削除」、「変更」、または「移動」という変更区分を決定した後、比較結果を補正する。ステップ105では、変更前と変更後のラダーソースの比較結果(差分検出結果)を反映させて、図面(CADデータ)を作成し、記憶部に格納する。ステップ103とステップ104は、ラダープログラムの比較プログラムによって実行され、ステップ105は、図面作成用プログラムによって実行される。既に述べたが、比較プログラムと図面作成用プログラムは、ラダープログラム比較装置が有する制御部によって実行される。ステップ101〜ステップ105の詳細は、以下に説明する。
図3に示したラダープログラム比較装置は、操作者がシステムを起動したことを検知すると、メイン画面を表示する(図5のステップ101)。次に、ラダープログラム比較装置は、操作者によって比較対象となる変更前(改造前)のラダーソースと変更後(改造後)のラダーソースが指定され、メイン画面に表示された「比較処理実行」ボタンが押されたことを検知すると、以下に述べる各処理を起動する。
まず、変更前と変更後のラダーソースを入力して読み込み、それぞれのラダーソースの加工処理を実行する(ステップ102)。ラダーソースの加工処理では、変更前と変更後のラダーソースの中から一貫No.と座標を削除する。例えば、circuit単位に追加や削除があった場合、変更後のラダーソースでは、追加や削除があった箇所以降の一貫No.と座標にズレが発生する。差分検出を実施するにあたって、たった一箇所でも追加や削除があると、その箇所以降を全て「変更あり」と検出するのは正しい差分検出とは言えない。そのため、誤った差分検出を防止するために、一貫No.と座標を削除する必要がある。
図6は、一貫No.と座標を削除する前後のラダーソースを示す図である。図6の左に示したラダーソースから一貫No.と座標を削除すると、図6の右に示したラダーソースとなる。
比較対象となる変更前と変更後のラダーソースから一貫No.と座標を削除した後に、これらのラダーソースの比較処理を実行する(ステップ103)。なお、比較処理では、ラダーソースの中の空白行をcircuitの区切り目として扱う。
図7は、ラダーソースの比較結果の出力例を示す図である。図7の左には、比較対象である変更前と変更後のラダーソースを、図7の右には、比較結果の出力例を示している。比較結果は、変更前のラダーソースと変更後のラダーソースとがマージされており、行単位に「追加/削除」「移動」が判別できるようなテキスト形式で出力する。
図7において、比較結果の行には、「<!」、「!>」、「<−」、および「−>」という比較結果記号が付けられている。「<!」は、変更前のラダーソースから削除された行、すなわち変更前のラダーソースにしか存在しない行を示す。「!>」は、変更前のラダーソースに追加された行、すなわち変更後のラダーソースにしか存在しない行を示す。「<−」は、移動した行を示し、変更前の位置を示している。「−>」は、移動した行を示し、変更後の位置を示している。比較結果記号が付けられていない行は、変更前と変更後で一致している行である。
なお、この時点では「変更」の検出は行えないため、circuit内の変更については「追加」と「削除」で表現される。また、circuitの中に含まれる「移動」は、「追加」「変更」「削除」のいずれかの組み合わせとして判定されるものとする。例えば、ある位置から削除されたブロックが他の位置に追加されていれば、このブロックは移動したものとして判定される。
従って、図7の比較結果のA1、A2、A3、およびA4で示された行は、それぞれ、命令単位の追加、ブロック単位の移動(削除)、命令単位の削除、およびブロック単位の移動(追加)があったと認識されたことを示している。
図7に示した例のように、変更前後でcircuitの数が不変(1対1)、circuitを1つ追加(0対1)、およびcircuitを1つ削除(1対0)の場合には、比較的に容易に比較結果を図面に反映することができる。しかし、複数のcircuitにまたがった差分が検出された場合には、図面への反映が難しくなる。
そこで、複数のcircuitにまたがった差分が存在する場合を考慮し、比較結果を図面に反映する前に、比較結果を補正する処理を行う(ステップ104)。比較結果を補正する処理では、ラダーソースの比較処理(ステップ103)で得られた比較結果に対して、変更区分ルールに従って、変更区分を決定する。これによって、変更点ごとに「追加」、「削除」、「変更」、または「移動」を判定できる。
図8は、変更区分ルールの一例を示す表である。circuit内の行は、付けられた比較結果記号に応じて、変更区分ルールの判断条件に従い、変更区分が決定される。変更区分には、図8の例では、命令単位の削除および追加や、circuit単位の削除、追加、変更、および移動(移動元および移動先)がある。
図9は、従来のラダーソースの比較結果において、複数のcircuitにまたがった差分が検出された場合の出力例を示す図である。図9の左には変更前のラダーソースを、中央には変更後のラダーソースを、右には比較結果の出力例を示している。比較結果の出力例では、変更前後のラダーソースがマージされている。
図9に示した例では、変更前のラダーソースから破線で囲まれた範囲内の行が削除され、変更後のラダーソースの2行目の「OUT U030 20」から12行目の「LAND Q068」までと、15行目の「LAND Q068」が追加されている。削除された行と追加された行は、ともに複数のcircuitにまたがっている。
既存のテキスト比較ツールでは、単純に文字列で比較するため、図9に示したように、変更後のラダーソースの2行目(B1で示された行)にある「OUT U030 20」は、比較結果ではB2で示された行に表示される。
しかし、B1で示された行にある「OUT U030 20」は、1行目の「LD R702」と同じcircuit内にあるため、比較結果においても「LD R702」と同じcircuit内に表示されるべきである。具体的には、「OUT U030 20」は、B3で示された行(<! MOV DW9C2 DWA49)の下に表示されるべきである。図9に示した既存のテキスト比較ツールを用いた例では、「LD R702」とは異なるcircuit内に表示されている。
このように、既存のテキスト比較ツールを使用した場合では、単純に文字列での比較が行われるため、本実施例が対象としているラダーソースのcircuit単位のブロックによる比較は行えない。そこで、本実施例では、比較結果を補正することで(図5のステップ104)、ラダープログラムの比較に特化した比較の実現を図っている。
図10は、本実施例における複数circuit変更点補正ルールを説明するための図である。複数circuit変更点補正ルールは、複数のcircuitにまたがって差分が検出された時の、比較結果の補正ルールである。図10の左には補正前のラダーソースを、右には補正後のラダーソースを示している。なお、図10のラダーソースでは、比較結果として出力した変更前後のラダーソースがマージされている。
複数circuit変更点補正ルールは、複数のcircuitにまたがる変更箇所を、この複数のcircuitの中の1つまたは複数のcircuitに振り分けて、変更箇所の図面への反映を可能にするためのルールである。複数circuit変更点補正ルールでは、変更前後がマージされたラダーソースを上から順に検索していき、circuitの区切り目とcircuitの中の比較結果記号に基づき、比較結果を補正する。以下、複数circuit変更点補正ルールの一例について説明する。
補正前のラダーソースにおいて、比較結果の行を順に検索し、比較結果記号の「<!」または「!>」のみからなる行(比較結果記号の「<!」または「!>」が付けられているが、命令語とアドレスが記述されていない行)を探す。「<!」または「!>」のみからなる行は、circuit終了行(空白行)であり、circuitの区切り目を表す。図10では、C1で示された行に「<!」のみからなる行があり、この行がcircuit終了行である。以下の説明では、この行を第1のcircuit終了行と呼ぶ。
次に、第1のcircuit終了行の以降の行から、第1のcircuit終了行に付けられた比較結果記号と異なる比較結果記号(ただし、「<!」または「!>」)のみからなる行を探す。図10の例では、第1のcircuit終了行には「<!」が付けられているので、「!>」のみからなる行を探す。図10では、C3で示された行に「!>」のみからなる行があり、この行がcircuit終了行である。以下の説明では、この行を第2のcircuit終了行と呼ぶ。
次に、第1のcircuit終了行と第2のcircuit終了行の間に存在し、第1のcircuit終了行と異なる差分状態の行を検索する。第1のcircuit終了行と異なる差分状態の行とは、第1のcircuit終了行に付けられた比較結果記号と異なる比較結果記号が付けられている行、または比較結果記号が付けられていない行である。図10の例では、C2で示された行に、第1のcircuit終了行と異なる差分状態の行を見つけることができる。
次に、第1のcircuit終了行と異なる差分状態の行と、第2のcircuit終了行とを、第1のcircuit終了行に移動して、circuit内に収める。図10の例では、C2とC3で示された行を、C1で示された行、すなわち補正後のラダーソースのC5で示された位置に移動する。
第2のcircuit終了行の以降の行からも、同様にして、第2のcircuit終了行と異なる差分状態の行(第2のcircuit終了行に付けられた比較結果記号と異なる比較結果記号が付けられている行、または比較結果記号が付けられていない行)を検索する。図10では、C4で示された行に比較結果記号が付けられていない行がある。従って、C4で示された行が第2のcircuit終了行と異なる差分状態の行である。
図10に示した例では、第2のcircuit終了行と異なる差分状態の行(C4で示された行)は、変更前と変更後で一致している行、すなわち「変更前と変更後の両方に存在する」行である。このような行には、ラダーソース内の上下の一行と同じ比較結果記号を付加する。図10の例では「!>」を付加する。補正後のラダーソースのC7で示された位置にある行は、上下の一行と同じ比較結果記号(「!>」)が付加された行である。
次に、第2のcircuit終了行と異なる差分状態の行(C4で示された行)を、ラダーソース内の1つ上のcircuit内に追加し、付加した比較結果記号(C7で示された位置にある行に付加した比較結果記号)と異なる比較結果記号を付加する。付加した比較結果記号と異なる比較結果記号とは、付加した比較結果記号が「!>」の場合は「<!」であり、「<!」の場合は「!>」である。図10の例では、補正後のラダーソースのC6で示された位置にある行が、1つ上のcircuit内に追加され、付加した比較結果記号(「!>」)と異なる比較結果記号(「<!」)が付加された行である。
以上のような複数circuit変更点補正ルールに従って比較結果を補正することで、本実施例ではラダーソースのcircuit単位のブロックによる比較を実現することができる。
図5のステップ105で実行する、変更前と変更後のラダーソースの比較結果(差分検出結果)の図面への反映について、図11〜図20を用いて説明する。図5のステップ105では、得られた比較結果を解析して、電子図書(CAD図面)を作成する。まず、ラダー図を自動的に作成し、次に、作成したラダー図に比較結果の情報を図示する。ラダー図を作成する処理については、図11〜図15を用いて説明する。自動作成したラダー図に比較結果の情報を図示する処理については、図16〜図20を用いて説明する。
図11は、ラダー図のシンボルの一例を示す図である。ラダー図のシンボルは、補正が完了した比較結果(差分検出結果)を元に、変更前と変更後をマージしたラダーソースからラダー図を作成し、そこに変更点を図示した改造図書を機械的に作成する際に使用する。図11では、シンボルを「ラダー図シンボル形状」で表している。
シンボルは命令語に対応しており、シンボルごとにIDが決まっている。改造図書を機械的に作成する際には、IDをキー情報にして電子図書(CAD図面)上にシンボルを配置する。また、シンボルによっては、例えば条件アドレスや出力アドレスのような、シンボルに付随する属性を持つものもある。
ラダー図のシンボルには、結線すべき端子20を持つものがある。図11の例では、ラダー図シンボル形状に示した「×」が結線すべき端子20を表している。
図12は、ラダー命令語とラダー図シンボル対応定義情報の一例を示す図である。ラダー命令語とラダー図シンボル対応定義情報には、CADデータとして登録されているシンボルデータと、そのシンボルのIDとの対応が定義されている。具体的には、図12に示すように、シンボルによって表される素子10ごとに、シンボルの名前または命令語11と、シンボルのID12と、シンボルの種別13が定義されている。
シンボルをCADデータ上に配置する際には、シンボルの名前または命令語11をキー情報にしてシンボルのID12を取得し、該当するシンボルデータを特定する。また、配置の際の接続条件として、シンボルの種別13を利用する。シンボルの種別13は、例えば、「接点素子の下の座標に分岐素子が配置されることはない」や「出力素子が2つ横に並ぶことはない」などの条件に従い、シンボルを分類して、素子同士の接続を機械的に行うために必要となる。
図13は、補正が完了した比較結果を参照して、CADデータ上にシンボルを貼り付ける際のイメージを示す図である。CADデータは、マトリックスのデータ形式を持ち、ラダーソースの記述順序に従って、まず左から右へ、次に上から下へ素子を配置する。マトリックスの行数は、一例として、CADデータのシート1枚分に記載できるラダー図の行数に合わせて、16行とする。この行数は、日本工業規格A3横型のシートサイズに適度なスペースを持ってシンボルを配置することを考慮している。同様に、同一行の列方向に配置できるシンボルの最大数は、23列とする。マトリックスの行と列の数は、シートのサイズに合わせて変えてもよい。
また、シンボルの配置の際には、図12で示したシンボルの種別13を接続の条件として参照する。図13の例では、「LDは必ず左端の列に配置される」や「SPPはSPSの下に配置される」や「OUTは必ず右端の列に配置される」などの条件に従い、シンボルの種別13を参照しながら、シンボルをマトリックスに配置する。
なお、シンボルの配置に際して、変更区分(図8参照)が「追加」のものについては、マトリックスへ配置しない。また、変更区分が「変更」のものについては、変更前のラダー図のシンボルをマトリックスへ配置し、変更後のラダー図のシンボルについては、マトリックスへ配置しない。マトリックスへ配置しなかったシンボルは、これらを纏めた形で別途マトリックスへ配置する。これは、「改造図書」と「改造箇所集約図書」に分けて図書を作成するために、データを別々に扱う必要があるからである。これについて、図20の説明とともに後述する。
図14は、ラダー図シンボル配置座標定義情報の一例を示す図である。ラダー図シンボル配置座標定義情報は、マトリックス上の座標(行番号と列番号)とCADデータ上の座標との対応を定義したものであり、具体的には、図14に示すように、マトリックスの行番号とCADデータ上のY座標との対応、およびマトリックスの列番号とCADデータ上のX座標との対応とを定義する。マトリックス上の座標とCADデータ上の座標の対応は、予め定めておく。
図13に示したように、各命令に対して配置するシンボルおよびシンボルのマトリックス上の座標(行番号と列番号)を決定した後、図14に示すラダー図シンボル配置座標定義情報の定義に従って、CADデータ上に配置する際の実座標を決定する。シンボルの配置座標を決定した後、結線すべき端子を持つ複数のシンボルが同一X座標または同一Y座標に配置されている場合には、同一circuit内のシンボル間を結線するパス結線処理を実行する。結線すべき端子を持つシンボルについては、図11を用いて既に説明した。
図15は、パス結線処理を説明するための図である。結線すべき端子20を持つシンボルのうち、同一X座標を持つシンボルの結線すべき端子20の間と、同一Y座標を持つシンボルの結線すべき端子20の間に線を引いて結線する。
図16〜図18は、改造図書に対して、変更内容を明示する方法を示している。補正後のラダーソース(図10を参照)から変更区分を取得して、変更区分に従って変更内容(「追加」、「削除」、または「変更」の区分と、具体的な変更点)を図面上に記入して明示する。変更区分によっては、改造図書内に変更内容を図示するのが困難なため、改造箇所集約図書に変更内容を図示する。改造図書と改造箇所集約図書の間は、一貫No.で対応を確認する。
図16は、シンボル単位の変更内容を図示する方法の一例を示す図である。シンボル単位の追加があった場合は、追加されたシンボルを青色の太い実線で囲み、改造図書に図示する。シンボル単位の削除があった場合は、削除されたシンボルを赤色の点線で囲み、改造図書に図示する。シンボル単位の変更があった場合は、変更前のシンボルを水色の細い実線で囲んで改造図書に図示するとともに、変更後のシンボルを水色の細い実線で囲んで改造箇所集約図書に図示する。
図17は、プログラムのロジック単位の変更内容を図示する方法の一例を示す図である。circuit内のロジックに追加や削除があった場合は、circuit単位のブロックの「変更」と見なし、該当するブロック全体が変更されたものとして図示する。circuit内のロジックに追加があった場合は、ロジックが追加される前のブロックを水色の細い実線で囲んで改造図書に図示するとともに、ロジックが追加された後のブロックを水色の細い実線で囲んで改造箇所集約図書に図示する。circuit内のロジックに削除があった場合は、ロジックが削除される前のブロックを水色の細い実線で囲んで改造図書に図示するとともに、ロジックが削除された後のブロックを水色の細い実線で囲んで改造箇所集約図書に図示する。
図18は、circuit単位の変更内容を図示する方法の一例を示す図である。circuit単位の追加があった場合は、circuitが追加される場所を青色の太い実線で囲んで改造図書に図示するとともに、追加されたcircuitを青色の太い実線で囲んで改造箇所集約図書に図示する。circuit単位の削除があった場合は、削除されたcircuitを赤色の点線で囲んで改造図書に図示する。circuit単位の変更(移動)があった場合は、変更前(移動前)のcircuitと変更後(移動後)のcircuitの位置とを、それぞれ黒色の細い実線で囲み、改造図書に図示する。
図19は、変更箇所図示ルール定義情報の一例を示す図である。変更箇所図示ルール定義情報は、変更区分単位に、「どの位置に」「どの線種で」「どの色で」など、どのように変更内容を図示するかという図示ルールを定義したものである。図示ルールは予め定めておく。シンボルの配置およびシンボル間の結線が終了した後、変更箇所図示ルール定義情報に従って、変更区分ごとに変更内容を図示する。
図20は、変更箇所の検出から変更箇所の図示(改造図書および改造箇所集約図書の作成)と変更箇所一覧の出力までの処理フローの一例を示す図である。図20に示すように、変更区分が「追加」であるか否か、および変更区分が「変更」でありラダー図が「変更後」であるか否かにより、改造図書に出力するか改造箇所集約図書に出力するかが異なる。変更区分が「追加」の場合と、変更区分が「変更」でありラダー図が「変更後」である場合は、改造箇所集約図書に出力し、それ以外の場合は、改造図書に出力する。このため、図13に示したマトリックス配置を改造図書の作成処理と改造箇所集約図書の作成処理とで別々に実施し、それぞれの図書に対してラダー図および変更内容を出力する。作成した改造図書、改造箇所集約図書、および電子図書(CADデータ)は、記憶部に格納される。
ここまでは、自動作成したラダー図に比較結果(差分検出結果)の情報を図示する処理について説明した。本実施例では、比較結果の情報を図示するほかに、変更箇所の一覧を出力することもできる。
図21は、変更箇所一覧の出力内容の一例を示す図である。変更箇所一覧には、本実施例による、変更前と変更後のラダーソースの比較(差分検出)を実施した結果をCADデータに反映した際の、変更箇所と変更内容とが出力される。図面化の際、変更があったシートNo.とその変更区分をメモリ上に保持しておき、図面化処理の終了後にテキスト形式のファイルへ出力し、変更箇所一覧とする。変更箇所一覧として、テキスト形式で別途出力することで、変更箇所が更に分かりやすくなる。
10…シンボルによって表される素子、11…シンボルの名前または命令語、12…シンボルのID、13…シンボルの種別、20…結線すべき端子、A1、A2、A3、A4…行を示す符号、B1、B2、B3…行を示す符号、C1、C2、C3、C4、C5、C6、C7…行を示す符号。

Claims (4)

  1. 電子図書の作成と管理を行う装置を用いて、複数のブロックに分けて記述されたラダープログラムの変更点を検出するラダープログラム比較方法において、
    前記装置が、前記ラダープログラムの変更前と変更後のソースファイルを読み込むステップと、
    前記装置が、前記ソースファイルに記述された命令語とアドレスに基づいて、変更前と変更後の前記ソースファイルを比較し、変更前と変更後とで異なる行に比較結果記号を付けるステップと、
    前記装置が、前記ソースファイルの比較結果に対し、前記比較結果記号と記憶部に記憶された変更区分ルールとに従い、変更区分を定めるステップと、
    前記装置が、前記比較結果記号と記憶部に記憶された補正ルールとに従い、複数のブロックにまたがる前記ソースファイルの変更箇所を、この複数のブロックの中の1つまたは複数のブロックに振り分けて、前記ソースファイルの比較結果を補正するステップと、
    を有し、
    前記補正ルールは、
    変更前と変更後とがマージされた前記ソースファイルを上から順に検索していき、前記比較結果記号に基づき、第1のブロック終了行と、前記第1のブロック終了行以降にある第2のブロック終了行と、前記第1のブロック終了行と前記第2のブロック終了行との間に存在する異なる差分状態の行とを検索し、
    前記異なる差分状態の行と前記第2のブロック終了行とを、前記第1のブロック終了行に移動するルールであり、
    前記第1のブロック終了行とは、前記比較結果記号のみからなる空白行であり、
    前記第2のブロック終了行とは、前記第1のブロック終了行に付けられた前記比較結果記号と異なる前記比較結果記号のみからなる空白行であり、
    前記異なる差分状態の行とは、前記第1のブロック終了行に付けられた前記比較結果記号と異なる前記比較結果記号が付けられている行、または前記比較結果記号が付けられていない行である、
    ことを特徴とするラダープログラム比較方法。
  2. 請求項1記載のラダープログラム比較方法において、
    前記装置が、前記ソースファイルの比較結果の補正結果を基に、変更内容が表示された電子図書を作成するステップを有するラダープログラム比較方法。
  3. 請求項2記載のラダープログラム比較方法において、
    前記電子図書を作成するステップでは、前記装置が、前記電子図書に前記変更区分を図示するラダープログラム比較方法。
  4. 請求項2記載のラダープログラム比較方法において、
    前記電子図書を作成するステップでは、前記装置が、テキスト形式で変更箇所一覧を作成するラダープログラム比較方法。
JP2010242974A 2010-10-29 2010-10-29 ラダープログラム比較方法 Active JP5595224B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010242974A JP5595224B2 (ja) 2010-10-29 2010-10-29 ラダープログラム比較方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010242974A JP5595224B2 (ja) 2010-10-29 2010-10-29 ラダープログラム比較方法

Publications (2)

Publication Number Publication Date
JP2012094087A JP2012094087A (ja) 2012-05-17
JP5595224B2 true JP5595224B2 (ja) 2014-09-24

Family

ID=46387312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010242974A Active JP5595224B2 (ja) 2010-10-29 2010-10-29 ラダープログラム比較方法

Country Status (1)

Country Link
JP (1) JP5595224B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6383240B2 (ja) * 2014-10-17 2018-08-29 株式会社東芝 制御プログラム保守装置、及び制御プログラム保守方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10149208A (ja) * 1996-11-18 1998-06-02 Hitachi Ltd プログラムの比較方法およびコントローラプログラムの作成装置
JP4556807B2 (ja) * 2005-08-23 2010-10-06 横河電機株式会社 プログラムの照合装置

Also Published As

Publication number Publication date
JP2012094087A (ja) 2012-05-17

Similar Documents

Publication Publication Date Title
US6289254B1 (en) Parts selection apparatus and parts selection system with CAD function
TWI553435B (zh) 編輯程式用之程式
US8924871B2 (en) GUI evaluation system, GUI evaluation method, and GUI evaluation program
JP2017091208A (ja) 文書点検支援装置、文書点検支援システム及びプログラム
US20080140323A1 (en) Check support apparatus and computer product
US8813002B2 (en) Circuit board design support program, design support method, and design support apparatus
JP5595224B2 (ja) ラダープログラム比較方法
KR101889007B1 (ko) 객체 속성을 이용한 도면관리 방법 및 도면관리 시스템
JP6603194B2 (ja) 画面認識装置、画面認識方法、および、画面認識プログラム
JP2011170697A (ja) ソフトウェア構造分析装置
US10719642B2 (en) Automated generation of electronics schematics with single wire tracing
JP2010165141A (ja) テキストログからの特定箇所抽出方法およびプログラム
WO2018211546A1 (ja) 画面試験装置および画面試験プログラム
JP2018055389A (ja) プログラム作成支援方法
US20110227926A1 (en) Method and apparatus for generating a material flow diagram for an industrial plant
JP4888179B2 (ja) 回路ブロック検出装置、その方法及びプログラム
CN113220596B (zh) 应用的测试方法、装置、设备、存储介质及程序产品
JP5315890B2 (ja) 評価システムおよび評価方法
JP6686093B2 (ja) 画面対応付け方法、情報処理装置、操作再現システム及び画面対応付けプログラム
JP2022072412A (ja) 検索システム及び検索方法
JP6584724B1 (ja) プログラム照合装置、プログラム照合方法、およびプログラム照合プログラム
JP5151671B2 (ja) 表示制御装置、表示制御方法及び表示制御プログラム
JP6553461B2 (ja) 既存システム処理仕様抽出装置
JP2022151179A (ja) 情報処理装置、及び情報処理プログラム
JP2016053751A (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140304

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140414

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140729

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140805

R150 Certificate of patent or registration of utility model

Ref document number: 5595224

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150