JP2021149610A - 情報処理装置、情報処理方法、および物品の製造方法 - Google Patents

情報処理装置、情報処理方法、および物品の製造方法 Download PDF

Info

Publication number
JP2021149610A
JP2021149610A JP2020049594A JP2020049594A JP2021149610A JP 2021149610 A JP2021149610 A JP 2021149610A JP 2020049594 A JP2020049594 A JP 2020049594A JP 2020049594 A JP2020049594 A JP 2020049594A JP 2021149610 A JP2021149610 A JP 2021149610A
Authority
JP
Japan
Prior art keywords
flowchart
change
information
program
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.)
Pending
Application number
JP2020049594A
Other languages
English (en)
Other versions
JP2021149610A5 (ja
Inventor
広太 佐久間
Kota Sakuma
広太 佐久間
健佑 上原
Kensuke Uehara
健佑 上原
信次 村上
Shinji Murakami
信次 村上
義章 平岡
Yoshiaki Hiraoka
義章 平岡
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2020049594A priority Critical patent/JP2021149610A/ja
Priority to US17/193,895 priority patent/US20210294293A1/en
Priority to CN202110280104.2A priority patent/CN113496339A/zh
Publication of JP2021149610A publication Critical patent/JP2021149610A/ja
Publication of JP2021149610A5 publication Critical patent/JP2021149610A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13044Display as flow chart, SFC, FUP
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13122Flow chart program activates several ladder diagrams, each controls one machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Automation & Control Theory (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Operations Research (AREA)
  • Primary Health Care (AREA)
  • Computational Linguistics (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Game Theory and Decision Science (AREA)
  • Manufacturing & Machinery (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Programmable Controllers (AREA)

Abstract

【課題】フローチャートの出力形式を利用して、ラダープログラムなどのプログラムの変更による影響範囲を容易に特定できるようにすることにある。【解決手段】変更の前後の差分情報を付与したフローチャートを生成し、そのフローチャートをユーザーインターフェース、例えば表示画面1700を介して出力させる。その場合、変更の前後のフローチャート1701、1702は左右並置の形式で出力させる。また、変更の前後のラダープログラムも、同様に左右並置の形式で出力させる。変更に係るフローチャート差分情報は、ラダープログラム、フローチャートの表示において、各要素の表示態様、表示色や強調表示方式の変更によって表現する。【選択図】図17

Description

本発明は、情報処理装置、情報処理方法、および物品の製造方法に関する。
例えば、自動組立装置では、決められた手順に従って装置の動作を逐次進めるシーケンス制御が行われる。自動組立装置をシーケンス制御する手段としてシーケンサ、プログラマブル・ロジック・コントローラ(PLC)などと呼ばれる制御装置が主に用いられており、そのプログラミング言語としてラダープログラムが広く用いられている。ラダープログラムの設計では、自動組立装置の実装完了後も、例えば現場作業などにより、不具合修正や機能追加によりラダープログラムを変更することがある。その際、ラダープログラムの変更により新たな不具合が発生する可能性もある。そのような場合、例えば、変更前後のラダープログラムを比較して差分箇所を特定し、再度、ラダープログラムを修正する作業が行われることがある。
ラダープログラムの差分箇所を特定する技術としては、複数のラダープログラムから差分を自動的に抽出し、差分箇所を記したドキュメントを自動生成することで、差分箇所を容易に把握することを可能とする技術が提案されている(下記の特許文献1)。
特開2012−094087号公報
上述の特許文献1の技術では、差分箇所特定の効率化や、差分箇所のドキュメントの作成、編集を容易にすることが意図されている。しかしながら、ラダープログラムの修正においては、差分箇所の前後の影響範囲を調査する必要があり、ラダープログラムの差分箇所を特定するだけでは、差分箇所がラダープログラム全体に与える影響を評価するのは容易ではない。そのため、差分箇所の影響範囲を特定するために、人手による膨大な作業時間を要する場合がある。
ところで、ラダープログラムに限らず、種々の制御装置で用いられるプログラムのアルゴリズムを可視化する表現の形式として、フローチャートが知られている。フローチャート出力(印刷出力や表示出力)を行うと、アルゴリズムの本質的な問題点が明らかになる場合があり、アルゴリズムの比較、検討、デバッグなどの種々の局面で役立つ場合がある。
本発明の課題は、フローチャートの出力形式を利用して、ラダープログラムなどのプログラムの変更に係る評価を容易に行えるようにすることにある。
上記課題を解決するため、本発明においては、変更の前後の差分情報を付与したフローチャートを生成し、前記フローチャートをユーザーインターフェースを介して出力させる制御装置を備えた構成を採用した。
上記構成によれば、フローチャートの出力形式を利用して、ラダープログラムなどのプログラムの変更に係る評価を容易に行える。
本発明の実施形態におけるラダープログラム比較装置の構成を示したブロック図である。 上記実施形態におけるラダープログラム比較の処理全体の流れを示したフローチャート図である。 上記実施形態におけるラダープログラムの表示ないし出力例としてラダー図を示した説明図である。 上記実施形態におけるラダープログラムの一例をニーモニック形式で示した説明図である。 上記実施形態における変更前後のラダープログラム情報の一例をニーモニック形式で示した説明図である。 上記実施形態における、変更前後のラダープログラムの差分情報をニーモニック形式で示した説明図である。 上記実施形態におけるブロック分割されたラダープログラム情報をニーモニック形式で示した説明図である。 上記実施形態における回路要素情報の構成の一例をニーモニック形式で示した説明図である。 上記実施形態における回路要素用途定義情報の一例を示した説明図である。 上記実施形態におけるラダープログラム命令と次回路要素設定方法とを関連づける定義情報の一例を示した説明図である。 上記実施形態におけるデバイス用途定義情報の一例を示した説明図である。 上記実施形態における回路ブロックパターンの定義情報の一例を示した説明図である。 上記実施形態におけるフローチャート情報の一例を示した説明図である。 上記実施形態におけるフローチャート情報生成処理部の処理の流れを示したフローチャート図である。 上記実施形態における回路要素情報からフローチャート要素の次フローチャート要素を設定する手法を示した説明図である。 上記実施形態における表示色定義情報の一例を示した説明図である。 上記実施形態におけるフローチャート比較出力の一例として表示画面を示した説明図である。 上記実施形態におけるフローチャート表示処理の流れを示したフローチャート図である。 上記実施形態におけるフローチャート情報からフローチャートへの変換の一例を示した説明図である。 ラダープログラムの処理系における作業フローの一例を示した説明図である。
以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は参考数値の例示に過ぎない。
図20は、ラダープログラム(シーケンスプログラム)の開発設計作業のワークフローの概略を示している。生産機器のハードウェアに係る種々の設計作業を行うメカ設計者は、タイムチャート作成作業1911により、タイムチャート1901を作成する。このタイムチャート1901には生産工程で各生産機器が稼働する順序や依存関係が記載されている。ソフト設計者は、完成したタイムチャート1901を受取り、設計作業を開始する。
ここでは、設計ドキュメント類作成作業1912を行って、ステッパ構成表・IO表・SW割付表・異常表・コントローラ制御モジュール管理表などとなる設計ドキュメント類1902を作成する。
また、次に、ステッパ構成表・IO表・SW割付表・異常表・コントローラ制御モジュール管理表などからなる設計ドキュメント類1902と、上記のタイムチャート1901と、に基づきフローチャート1903を作成、ないし自動生成する。なお、タイムチャート1901から、フローチャート1903を自動生成する場合には、設計ドキュメント類1902からの設計情報も差分追加の形で自動的にフローチャート1903に記入するような処理が行われる場合がある。
作成されたフローチャート1903をソフト設計者が確認し、装置仕様を検討した上、分岐条件、待機条件、分岐条件で分岐された後の処理内容などに応じてフローチャート1903の修正作業を行う。
次に、フローチャート1903と、設計ドキュメント類1902を参照して、専用エディタなどにより、ラダープログラム1904を記述、編集する。あるいは、フローチャート1903と、設計ドキュメント類1902に応じて、ラダープログラム1904を自動生成する場合もある。なお、ラダープログラム1904のデバッグ、作成、編集などに応じて、図中の左方向の矢印により示すように、ラダープログラム1904の元になっているフローチャート1903、設計ドキュメント類1902を(微)修正する場合もある。最後に、ラダープログラム1904の確認作業1917を行って設計フローは終了する。
確認作業1917を経て、あるいは種々の変更が行なわれた後、変更後のラダープログラムは、生産機器を制御するシーケンス制御装置としてのシーケンサやPLCに送られ、これらシーケンス制御装置によって生産ラインの生産機器が制御される。そして、この生産ライン(生産システム)の生産機器によって、工業製品などの物品を製造することができる。
上記の図20は、生産機器のメカ設計から始まり、生産ラインに機器を設置し稼働するまでの間に行われる開発設計作業のワークフローの概略を示している。そのため、ドキュメント類に属するタイムチャート1901、フローチャート1903、設計ドキュメント類1902に係る作成フローも図示されている。これに対して、稼働中の生産ラインの機器の保守などに関しては、ドキュメント類に関する作業無しに、直接、ラダープログラム1904を編集、変更する場合がある。そのような作業は、変更後の状態に対応するドキュメント類がないために、例えばラダープログラム1904に対して行った変更の影響範囲を特定することが難しい場合があり、難航する場合がある。
そこで本実施形態では、ラダープログラムの変更に応じて、変更の前後の差分情報を付与したフローチャートを生成し、前記フローチャートをユーザーインターフェースを介して出力させる。これにより、ラダープログラムの変更内容の評価、例えばその影響範囲の特定などが容易になる。
以下では、ラダープログラム比較装置の構成例につき説明する。このラダープログラム比較装置は、変更前と変更後のラダープログラムの差分情報を含むフローチャートを出力する。フローチャートの出力形式は、印刷出力や、データのネットワーク送信、表示出力など任意であるが、以下では、画面への表示出力を例示する。本実施形態のラダープログラム比較処理は、例えば単体の情報処理装置に実装できる。また、本実施形態のラダープログラム比較処理は、例えばラダープログラムを取り扱うシステムに含まれる任意の装置、例えばPLCやシーケンサのような制御装置の機能として実装することもできる。
図1は、本実施形態のラダープログラム比較装置100の構成の一例を示している。図1のラダープログラム比較装置100は、CPU110、表示処理部120、入力処理部130、プログラム格納部140と、データ格納部150を備えている。CPU110は、主に本実施形態のラダープログラム比較処理を実行する主体であって、後述する制御プログラムに従い、演算処理を行う。表示処理部120はディスプレイなどの表示装置に情報を表示するための処理を行う。入力処理部130は、操作者の操作入力に応じてキーボードやマウスなどの入力装置から入力される情報を処理する。
プログラム格納部140にはラダープログラム比較処理部141と、フローチャート情報生成処理部142と、フローチャート表示処理部143が格納される。プログラム格納部140に格納されたこれらの「処理部」が実行する処理は、例えばCPU110が実行する制御プログラムとして記述される。この本実施形態の制御プログラムを格納したディスク媒体やメモリ媒体は、本発明のコンピュータ読み取り可能な記録媒体を構成する。
データ格納部150には、変更前のラダープログラム情報161、回路要素情報162、フローチャート情報163と、変更後のラダープログラム情報171、回路要素情報172が格納される。また、データ格納部150には、フローチャート情報173と、ラダープログラム差分情報180と、回路要素用途定義情報190と、次回路要素設定方法定義情報191と、が格納される。また、データ格納部150には、デバイス用途定義情報192と、回路ブロックパターン定義情報193と、表示色定義情報194が格納される。
図2は、ラダープログラム比較の処理全体の流れを示している。図2のステップS201では、ラダープログラム比較処理部141が変更前ラダープログラム情報161と変更後ラダープログラム情報171とを比較し、ラダープログラム差分情報180を生成する。
ステップS202では、フローチャート生成部として機能するフローチャート情報生成処理部142が、変更前ラダープログラム情報161と変更後ラダープログラム情報171から、変更前フローチャート情報163と変更後フローチャート情報173とを生成する。
ステップS203では、フローチャート表示処理部143により、変更前フローチャート情報163、変更後フローチャート情報173、およびラダープログラム差分情報180から、差分情報を付加したフローチャートを表示するための情報を生成する。
図3は、例えばプログラマブル・ロジック・コントローラ(PLC)ないしシーケンサのような制御装置により、ロボット、搬送装置などの自動組立装置を制御するために用いるラダープログラムをラダー図300の形式で示している。図3のラダー図300は、ラダー回路(図)などと呼ばれることがあるが、表示ないし印刷に用いられる図示の形式である。プログラマブル・ロジック・コントローラ(PLC)ないしシーケンサのような制御装置の例えばメモリ上では、ステップ制御方式のプログラムテキストで記述されている。本実施形態では、このようなステップ制御方式で記述されたラダープログラムを処理対象として、変更前後のラダープログラムの比較を行う。
プログラマブル・ロジック・コントローラ(PLC)ないしシーケンサのような制御装置にラダープログラムが実装された後、現場作業によって、ラダープログラムの一部を変更する場合がある。そのような作業でラダープログラムに変更を加える場合には、例えば、作業端末のGUI上でラダー図300の形式が用いられる。例えば生産ラインに配置された自動組立装置の動作に不具合が生じた場合、現場作業によって、ラダープログラムを変更することがある。
その場合、当該のラダープログラムに関連するドキュメント類や、フローチャートを変更することなく、直接、問題のラダープログラムに変更を加えることがある。ドキュメント類や、フローチャートの整備は、生産ラインの自動組立装置が復旧してから行うことになるが、例えばフローチャートをラダープログラムの変更に応じて自動的に生成、出力できれば便利である。また、現場作業によって、当該のラダープログラムの1ないし数ヶ所を変更しても、直ちに復旧とならず、問題点が何処にあるのかを探りながら、ラダープログラムの変更を繰り返さなければならない場合もある。
本実施形態では、フローチャートをラダープログラムの変更に応じて自動的に生成、出力できるようにする。これにより、例えばその変更に影響される部分を容易に特定できる可能性があり、あるラダープログラムの変更が妥当であるか否かを容易に検証できる。また、本実施形態では、ラダープログラムの変更に応じて生成したフローチャートを出力する場合、その変更に係る差分情報を含むフローチャート出力を行う。これにより、ラダープログラムの変更、編集などに係る作業性を著しく改善することができる。
図4は、図3に示したラダー図300をニーモニック形式のラダープログラム情報161として記述した一例である。ラダープログラム情報161が実際にメモリ上に記録される場合は、例えば図示したニーモニックに対応するバイナリコードが記録される。図4の形式では、ラダープログラムの各行には、行No.と、ラダープログラムの構成要素として命令とデバイスが記述されている。
図5は、ラダープログラムの変更を行ったときの様子を示している。図5は、変更前のラダープログラム情報161と、変更後のラダープログラム情報171の一例である。このラダープログラムの変更、編集では、変更前のラダープログラム情報161の一部のステップが除去されることにより、変更後のラダープログラム情報171が生成されている。
なお、図4や図5のような表示形式は、例えばラダープログラム用の専用エディタの表示出力形式として用いてもよい。このようなエディタにより図5のようなラダープログラムの変更作業を行うことができる。もちろん、テキストエディタなどによって、あるいは、ラダープログラムのニーモニックで表現されたプログラムテキストを編集することにより、図5のようなラダープログラムの変更作業を行うこともできる。
本実施形態では、図5に示すような変更前、変更後のラダープログラム情報161、171を入力情報としてラダープログラム差分情報(プログラム差分情報)を抽出し、フローチャート差分情報を生成し、フローチャート表示に用いる。
このラダープログラム差分情報は、ラダープログラム比較処理部141(図1)により、生成することができる。図6は、ラダープログラム比較処理部141が生成したラダープログラム差分情報180の一例を示している。図6の例では、ラダープログラム差分情報180は、左カラムから右カラムにかけて、変更前行No.と、変更前ラダープログラムと、変更後行No.と、変更後ラダープログラムと比較結果をそれぞれ含む。
ラダープログラム比較処理部141は、図5の変更前ラダープログラム情報161と変更後ラダープログラム情報171から、ラダープログラム同士を比較する。そして、比較結果に基づき、ラダープログラム比較処理部141は、行ごとの比較結果をラダープログラム差分情報180の比較結果のカラムに記録する(図2のステップS201)。このとき、比較結果に記述する項目としては、変更前に対して変更後が等しい場合「一致」、変更前に対して変更後が等しくない場合「不一致」の各フラグ(識別情報)を生成する。また、変更前に対して変更後にのみ存在する場合「追加」、変更前に対して変更後に存在しない場合「削除」の各フラグ(識別情報)を生成する。
一方、図7は、回路ブロック毎に分割した変更前のラダープログラム情報161を示している。ラダープログラムはラダープログラム命令が作用する対象に応じて回路ブロック毎に分割することができる。例えば、図7のラダープログラム情報161は、ラダープログラム命令「LD」を区切りとして、回路ブロックに分割されている。
図8は、回路要素情報162(図1の回路要素情報172に相当する)の一例を示している。図8の回路要素情報162は、一行に回路要素の情報を記述しており、各カラムは左から順に、回路要素IDと、回路要素用途と、次回路要素と、対応するラダープログラム行No.と、回路要素抽出情報を含む。
図9は、回路要素用途定義情報190の一例を示している。この回路要素用途定義情報190では、左端カラムに示すラダープログラム記法に対して、回路要素からの抽出の有無、および、回路要素を抽出する場合にはその回路要素用途が定義されている。
図10は、次回路要素設定方法定義情報191(図1)の一例を示している。この次回路要素設定方法定義情報191では、左端カラムに示すラダープログラム命令のニーモニック、特に回路要素を関係づけるニーモニックにつき、その命令が作用する回路要素の次回路要素設定方法を定義している。
図11は、デバイス用途定義情報192(図1)の一例を示している。このデバイス用途定義情報192は、特定のデバイスに対して、デバイスの用途と、そのデバイスの識別番号(No.)を定義したものである。
図12は、回路ブロックパターン定義情報193(図1)の一例を示している。この回路ブロックパターン定義情報193は、回路ブロックにおいて、左端、中央カラムの回路要素位置と回路要素用途に応じて、回路要素から抽出すべき情報を定義している。図12では、一例として、ステップ制御におけるステップ回路ブロックの設計パターン情報を示している。左端カラムの回路要素位置は、回路要素同士の関係性から回路ブロック内の位置を示しており、特に「開始」の回路要素位置は他の回路要素の次回路要素に設定されていない回路要素が該当する。また、「終了」の回路要素位置は次回路要素に何も設定されていない回路要素が該当する。また、回路要素位置「その他」は、「開始」にも「終了」にも該当しない回路要素が該当する。
図13は、フローチャートのグラフィクスをレンダリング可能なフローチャート情報163の構成例を示している。フローチャート情報163は、一行にフローチャート要素の情報を記述する形式で、左カラムから右カラムにかけて、フローチャート要素IDとステップNo.と次フローチャート要素と回路要素IDを含む。
図14は、図2のステップS202の詳細を記述したフローチャート情報生成処理部の処理の流れを示している。図14のような制御手順によりラダープログラム情報161(図7)からフローチャート情報163を生成することができる。
図14のステップS1401では、回路ブロックのラダープログラム各行を解析し、図9の回路要素用途定義情報190に基づいて、ラダープログラム記法から回路要素および回路要素用途を抽出し、回路要素を生成する。回路要素には、回路要素が一意となる回路要素IDを付与する。また、回路要素に対応するラダープログラム行No.を設定し、回路要素IDとラダープログラム行No.を相互に追跡可能にする。
ここで、一例として、図7のラダープログラム行No.3の「LD M1」を解析する場合を説明する。この「LD M1」は、図9の回路要素用途定義情報190では、ラダープログラム記法「LD デバイスA」に該当し、回路要素抽出対象であるから、回路要素用途は「M1 ON」と抽出し、その回路要素を生成する。
図14のステップS1402では、回路ブロックのラダープログラム各行を解析し、図10の次回路要素設定方法定義情報191に基づいて、ステップS1401で抽出した回路要素の次回路要素へ、次回路要素に該当する回路要素のIDを設定する。ここで、一例として、図7のラダープログラム行No.3、4、5の解析につき説明する。ラダープログラム行No.3、4、5は、ラダープログラム命令が「LD」、「MPS」、「AND」と続く。従って、図10の次回路要素設定方法定義情報191によれば、これらの命令の次回路要素設定方法はそれぞれ、「−」、「次の回路要素を直前の回路要素の次回路要素へ設定する」、「直前の回路要素の次回路要素へ設定する」に該当する。従って、この場合は、ラダープログラム行No.3に対応する回路要素ID3の次回路要素に対して、ラダープログラム行No.5に対応する回路要素ID5を設定する。
図14のステップS1403では、回路要素(例えば図8)を解析し、図11のデバイス用途定義情報192と、図12の回路ブロックパターン定義情報193に基づき、回路要素用途から情報を抽出し、回路要素抽出情報を設定する。ここでは、一例として、図8の回路要素ID6の、回路要素用途「D0を2で更新」を解析する。D0は図11のデバイス用途定義情報192によれば「ステップ動作制御レジスタ」に該当する。また、回路要素ID6は、図12の回路ブロックパターン定義情報193によれば「終了」で、かつ「ステップ動作制御レジスタを数値Fで更新」の回路要素用途に該当する。このため、「次ステップデバイスのNo=2」を抽出し、回路要素抽出情報に設定することができる。
図14のステップS1404では、ラダープログラムの回路要素情報162(図8)を解析し、回路要素抽出情報が「条件」のものを抽出し、フローチャート要素を生成する。特定ステップのフローチャート要素には、フローチャート要素が一意となるフローチャート要素IDを付与する。また、フローチャート要素に対応する回路要素IDを設定し、フローチャート要素IDと回路要素IDを相互に追跡可能にすることができる。さらに、作用する回路ブロックが同じ回路ブロックであることを示すため、同じ回路ブロックのステップデバイスNo.をフローチャート情報のステップNo.へ設定する(図8右端カラム)。
ここで、一例として、図8の回路要素情報162のブロック0を解析する。回路要素抽出情報が「条件」となっている回路要素ID1を抽出し、次フローチャート要素を生成する(図8右端カラム)。また、ブロック0の回路要素ID0の回路要素抽出情報にステップデバイスNo.「0」が設定されていることから、生成したフローチャート要素のステップNo.に「0」を設定する(図8右端カラム)。
図14のステップS1405では、回路要素情報162を解析する。ここでは、図12の回路要素抽出情報のステップデバイスNo.と次ステップデバイスNo.の関係性を用いて、フローチャート要素を接続する。例えば、ステップS1403で抽出したフローチャート要素の次フローチャート要素へ、次フローチャート要素に該当するフローチャート要素のIDを設定する。この場合、回路要素の回路要素抽出情報において、次ステップデバイスNo.に対してステップデバイスNo.が等しい回路要素は接続関係にあるとする。そして、その回路要素を介して接続関係にある回路要素IDに対応するフローチャート要素の次フローチャート要素にフローチャート要素IDを設定する。一例として、図8の回路要素情報162の回路要素ID1、2、3、5を解析する(同図の2〜5行目)。この場合、回路要素ID2、3の回路要素抽出情報はそれぞれ「次ステップデバイスNo.=1」「ステップデバイスNo.=1」であるため、回路要素ID2から回路要素ID3への接続関係が存在する。また、回路要素ID1、5は回路要素ID2、3を介して接続関係にあるため、回路要素ID1に対応するフローチャート要素ID1の次フローチャート要素に、回路要素ID5に対応するフローチャート要素ID5を設定する。
図15は、図14のステップS1405の回路要素情報からフローチャート要素の次フローチャート要素を設定する方法を、視覚的に示したものである。図15左側の回路要素間の関係図1501は、回路要素情報162において、回路要素IDをノードへ設定し、次回路要素のIDに基づいて、回路要素同士の接続関係を示している。図15右側のフローチャート要素間の関係図1502は、フローチャート要素IDをノードへ設定し、ステップS1405を経て生成したフローチャート要素同士の接続関係を示している。
一方、変更後ラダープログラム情報171に対しても、フローチャート情報生成処理部142にてステップS1401〜ステップS1405の処理を実施し、変更後フローチャート1702(図17)を生成する。変更前と変更後のフローチャート情報を生成できれば、変更の前後の差分情報を付与したフローチャート(1701、1702:図17)をユーザーインターフェース(図1の表示処理部120ないし入力処理部130)を介して出力させることができる。
以下では、変更の前後の差分情報を含んだフローチャートを出力、例えば表示出力する構成の一例につき説明する。
図16は、変更の前後の差分情報を含むフローチャートを出力、例えば表示出力する際の表示色定義情報194の一例を示している。この表示色定義情報194は、ラダープログラム差分情報180(図6)の比較結果に対してフローチャートのシンボル表示色を定義している。図17に示すように、変更前と変更後のフローチャート1701、1702は、以下の例では、フローチャート比較装置の表示画面1700の同じ画面に左右併記の形式で表示する。そして、その際、フローチャート差分情報180は、表示色定義情報194の判例定義に従い、表示画面1700上で表現する。
なお、図16の表示色定義情報194は、例えば変更前と後のフロー(あるいはプログラムステップ)の「一致」を無色(デフォルト表示色)、「不一致」を黄色、「追加」を赤色、「削除」を青色で表示するよう定義している。即ち、異なる色の表示形式による表示出力を行うことにより、フローチャート(あるいはラダープログラム)の差分情報を表現するものである。
しかしながら、フローチャート(あるいはラダープログラム)の差分情報を表現する形式はこれに限らず、当業者が任意に採用することができる。例えば、変更前と後の「一致」、「不一致」、「追加」、「削除」に該当する要素に異なる強調表示態様を設定するような手法を用いることが考えられる。即ち、異なる強調表示態様を用いるような強調表示形式を用いてフローチャート(あるいはラダープログラム)の差分情報を表現する。上述の表示色変更も、考えかたによっては、強調表示形式の1つと考えることもできる。また、差分情報を表示するのに用いる強調表示には、表示輝度の変更、文字フォント種類の変更、文字フォントサイズの変更、斜体やボールドのような字体の変更などによって行う種々の強調表示様式を利用できる。また、1つの強調表示方式のみならず、複数の強調表示方式を組合せて、差分情報を他の部分から際立たせて表示するのに用いることもできる。
図17は、フローチャート比較装置の表示画面1700における表示出力のフォーマットの一例を示している。図17の例では、画面上部の左右に変更前と変更後のラダープログラムを並べて表示し、下部に、変更前、変更後のフローチャート1701、1702を並べて表示している。そして、これらそれぞれ2つの変更前と変更後のラダープログラムと、フローチャートは、図16の表示色定義情報194に従って表示色を変更した部位、即ちフローチャート(あるいはラダープログラム)の差分情報が含まれている。
図18は、図2のステップS203の詳細を記述したフローチャート表示処理部143(図1)の処理の流れを示している。また、図19は、図18の処理により、行われるフローチャート情報からフローチャートへの変換の様子を示している。フローチャート表示処理部143(図1)は、図示のようにラダープログラム差分情報と変更前後のフローチャート情報から差分情報を付与した変更前後のフローチャートを生成し、表示処理部120で表示させる。
図18のステップS1801では、フローチャート情報のフローチャート要素をフローチャート記号へ置き換え、フローチャート要素IDに対応する回路要素IDの回路要素用途をフローチャート記号に表記する。
ステップS1802では、フローチャート要素の次フローチャート要素のIDに基づき、フローチャート記号同士を矢印線で接続する。
ステップS1803では、フローチャート情報のステップNo.に基づいて、ステップNo.が等しいフローチャート記号をグルーピングし、ステップNo.を表記する。
ステップS1804では、ラダープログラム差分情報をもとにフローチャートに差分情報を付与する。フローチャート情報におけるフローチャート要素IDと回路要素IDの対応と、回路要素情報における回路要素IDとラダープログラム行No.の対応から、フローチャート要素IDからラダープログラム行No.を追跡する。これにより、ラダープログラム差分情報から比較結果を取得することができる。そして、取得した比較結果から、図16の表示色定義情報194に従い、フローチャート記号を着色して表示する。変更前後のラダープログラムに対して、ステップS1801からステップS1804を同様に処理し、変更前後のフローチャート1701、1702を生成する。
ステップS1805では、ラダープログラム差分情報180と、ステップS1804まで生成した変更前フローチャート1701、変更後フローチャート1702を図17に示すように並べて表示する。また、ラダープログラム差分情報180についても、表示色定義情報194に基づき、比較結果に応じて各行を着色して表示する。
以上の処理により、本実施形態によれば、ラダープログラムの差分だけでなく、図17に例示したように差分情報を含み、変更前と変更後のフローチャートを並置した形式のフローチャート表示を行うことができる。図17のようなフローチャート表示によれば、容易に差分箇所の前後関係を把握することができる。また、図17のようなフローチャート表示により、ラダープログラムの差分箇所の特定と、差分箇所の前後関係から影響範囲を把握することが容易になる。例えば、図17のようなフローチャート表示を視認することにより、現場作業で変更したラダープログラムの変更部分が他の制御ステップに影響を与えているか否かを差分付きのフローチャート表示を介して明瞭に理解できるようになる。
本発明は上述の実施例の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、以上では、フローチャート出力を行う対象プログラムとして、ラダープログラムを例示したが、対象プログラムはラダープログラムに限らず任意の制御プログラムであっても本発明を同様に実施できるのはいうまでもない。また、以上では、フローチャート出力の態様としては、表示装置による表示出力を主に例示した。ただし、フローチャート出力を行うためのユーザーインターフェースとしては、印刷装置、あるいは音声出力装置なども用いることができる可能性がある。即ち、フローチャート出力は、ユーザに対して行われればよく、そのためのユーザーインターフェースの構成は任意である。
また、図17の例では、変更前と変更後のフローチャートや、ラダープログラムを左右並置の形式で表示している。この表示形式はあくまでも一例であり、必ずしも2つのフローチャートや、ラダープログラムを並置しなくても、表示色表現や強調表示の表現によって、ラダープログラム、フローチャートの差分を表現できる可能性がある。例えばプログラムテキストの差分表現の形式として、unified diffのような形式があるが、この種の差分表現形式をフローチャート差分の表示に利用してもよい。例えば、変更前のフローチャートを基準とし、削除、変更の行なわれた部位については、特定の表示色表現や強調表示の表現を行うことにより、差分表示が可能である。フローや分岐の追加については、フローチャートの空きスペースを利用して追加された要素を追記することにより、差分表示が可能である。ラダープログラムの差分についても、必ずしも2つのラダープログラムを並置して出力する必要はない。変更に係るラダープログラムを図17のようにテキスト表現で出力するのであれば、公知のunified diff(udiff)やcontext diff(cdiff)のような出力形式を用いて、1段組のみのテキストで出力することができる。
また上述した実施形態は、ラダー回路による制御対象として制御装置に設けられる記憶装置の情報に基づき、伸縮、屈伸、上下移動、左右移動もしくは旋回の動作またはこれらの複合動作を自動的に行うことができる機械を適用可能である。
110…CPU、120…表示処理部、130…入力処理部、140…プログラム格納部、141…ラダープログラム比較処理部、142…フローチャート情報生成処理部、143…フローチャート表示処理部、150…データ格納部、194…表示色定義情報。

Claims (11)

  1. 変更の前後の差分情報を付与したフローチャートを生成し、前記フローチャートをユーザーインターフェースを介して出力させる制御装置を備えた情報処理装置。
  2. 請求項1に記載の情報処理装置において、前記制御装置が、前記フローチャートの変更の前後の前記差分情報を強調表示形式または異なる色の表示形式によって前記ユーザーインターフェースに表示出力させる情報処理装置。
  3. 請求項1または2に記載の情報処理装置において、前記制御装置が、変更の前後の前記フローチャートを、前記差分情報とともに前記ユーザーインターフェースを介して出力させる情報処理装置。
  4. 請求項1から3のいずれか1項に記載の情報処理装置において、前記制御装置が、変更の前後のプログラムにそれぞれ対応するフローチャートを生成するフローチャート生成部を有し、変更の前後の前記プログラムの差分に対応するプログラム差分情報を用いて、前記差分情報を生成する情報処理装置。
  5. 請求項4に記載の情報処理装置において、変更の前後の前記プログラムを前記フローチャートとともに出力する情報処理装置。
  6. 請求項4または5に記載の情報処理装置において、前記プログラムがラダープログラムであり、
    前記制御装置が、
    変更の前後のラダープログラムから変更の前後の前記ラダープログラムに対応するフローチャートを生成する前記フローチャート生成部と、
    変更の前後のラダープログラムを比較して変更の前後の前記ラダープログラムのプログラム差分情報を生成するラダープログラム比較処理部と、
    前記ラダープログラム比較処理部が生成したプログラム差分情報と、前記フローチャート生成部が生成した前記フローチャートと、を用いて変更の前後のフローチャート差分情報を付与した前記フローチャートを出力する前記ユーザーインターフェースと、
    を有する情報処理装置。
  7. 請求項6に記載の情報処理装置と、前記変更の前後のラダープログラムのうち、変更後のラダープログラムに基づき生産機器を制御するシーケンス制御装置と、を備え、前記生産機器により物品を製造する生産システム。
  8. 請求項6に記載の情報処理装置と、前記変更の前後のラダープログラムのうち、変更後のラダープログラムに基づき生産機器を制御するシーケンス制御装置と、を備えた生産システムにおいて、前記生産機器により物品を製造する物品の製造方法。
  9. 制御装置が、変更の前後の差分情報を付与したフローチャートを生成するフローチャート生成工程と、
    前記制御装置が、前記フローチャートをユーザーインターフェースを介して出力させるフローチャート出力工程と、
    を含む情報処理方法。
  10. 請求項9に記載の情報処理方法の各工程をコンピュータに実行させる制御プログラム。
  11. 請求項10に記載の制御プログラムを格納したコンピュータ読み取り可能な記録媒体。
JP2020049594A 2020-03-19 2020-03-19 情報処理装置、情報処理方法、および物品の製造方法 Pending JP2021149610A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020049594A JP2021149610A (ja) 2020-03-19 2020-03-19 情報処理装置、情報処理方法、および物品の製造方法
US17/193,895 US20210294293A1 (en) 2020-03-19 2021-03-05 Information processing apparatus, information processing method, production system, article manufacturing method and storage medium
CN202110280104.2A CN113496339A (zh) 2020-03-19 2021-03-16 信息处理装置、信息处理方法、生产系统和物品制造方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020049594A JP2021149610A (ja) 2020-03-19 2020-03-19 情報処理装置、情報処理方法、および物品の製造方法

Publications (2)

Publication Number Publication Date
JP2021149610A true JP2021149610A (ja) 2021-09-27
JP2021149610A5 JP2021149610A5 (ja) 2023-05-10

Family

ID=77746601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020049594A Pending JP2021149610A (ja) 2020-03-19 2020-03-19 情報処理装置、情報処理方法、および物品の製造方法

Country Status (3)

Country Link
US (1) US20210294293A1 (ja)
JP (1) JP2021149610A (ja)
CN (1) CN113496339A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7483183B1 (ja) 2023-08-31 2024-05-14 三菱電機株式会社 画像生成プログラム、画像生成装置、支援システム及び画像生成方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7703027B2 (en) * 2005-01-13 2010-04-20 National Instruments Corporation Merging graphical programs
JP6383240B2 (ja) * 2014-10-17 2018-08-29 株式会社東芝 制御プログラム保守装置、及び制御プログラム保守方法
US10719643B2 (en) * 2016-09-14 2020-07-21 Mitsubishi Electric Corporation Ladder program editing support apparatus and ladder program editing method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7483183B1 (ja) 2023-08-31 2024-05-14 三菱電機株式会社 画像生成プログラム、画像生成装置、支援システム及び画像生成方法

Also Published As

Publication number Publication date
US20210294293A1 (en) 2021-09-23
CN113496339A (zh) 2021-10-12

Similar Documents

Publication Publication Date Title
US4956773A (en) System and method of generating a source program from inputted schematic information
CN103403721B (zh) 设计辅助系统
JP5489958B2 (ja) 試験テーブル生成装置及びその方法
TW201437776A (zh) 定序程式組件製作程式及定序程式組件製作裝置
CN113268227A (zh) 一种零代码可视化的软件开发平台及开发方法
JP2021149610A (ja) 情報処理装置、情報処理方法、および物品の製造方法
JP5498446B2 (ja) ラダープログラム作成装置およびラダープログラム作成方法
JP6201574B2 (ja) Plc用のプログラミングツール
JP5747698B2 (ja) 要件管理支援装置
JP4835859B2 (ja) 状態遷移図作成装置および状態遷移図作成方法
JP2013214218A (ja) プログラム作成支援装置及びプログラム作成支援方法
US8839124B2 (en) Apparatus for configuring a diagnostics module for an industrial plant
US20090237405A1 (en) Data processing apparatus and data processing method
JP6566859B2 (ja) エンジニアリングツール
JP5374405B2 (ja) モデルデバッグ装置およびモデルデバッグ方法
US11568112B2 (en) System design support apparatus and system design support method
JP2022027456A (ja) 情報処理装置、ラダープログラム生成装置、情報処理方法、ラダープログラム生成方法、物品の製造方法、プログラム、及び記録媒体
JP2017016411A (ja) 開発支援プログラム、記録媒体、開発支援方法、及び開発支援装置
JP2003223204A (ja) プログラマブルコントローラのプログラミング方法およびその装置並びに記憶媒体
JPH08314702A (ja) 視覚プログラミングシステムおよび図形プログラム編集方法
JP2011096029A (ja) 保守作業計画支援方法及びシステム
JP2014112275A (ja) ロジック図面及び試験テーブル作成装置
CN112764396B (zh) 一种组态方法和装置
US20230237249A1 (en) Method and system for generating an automation engineering project in a technical installation using multidisciplinary approach
JP4652072B2 (ja) シミュレーション機能付設計支援装置及び方法並びにシミュレーション機能付運転支援装置及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230427

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240205

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20240521