JPWO2014155717A1 - シーケンスプログラム部品作成プログラムおよびシーケンスプログラム部品作成装置 - Google Patents

シーケンスプログラム部品作成プログラムおよびシーケンスプログラム部品作成装置 Download PDF

Info

Publication number
JPWO2014155717A1
JPWO2014155717A1 JP2015507901A JP2015507901A JPWO2014155717A1 JP WO2014155717 A1 JPWO2014155717 A1 JP WO2014155717A1 JP 2015507901 A JP2015507901 A JP 2015507901A JP 2015507901 A JP2015507901 A JP 2015507901A JP WO2014155717 A1 JPWO2014155717 A1 JP WO2014155717A1
Authority
JP
Japan
Prior art keywords
common
program
circuit
circuit pattern
program component
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.)
Granted
Application number
JP2015507901A
Other languages
English (en)
Other versions
JP5769900B2 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP5769900B2 publication Critical patent/JP5769900B2/ja
Publication of JPWO2014155717A1 publication Critical patent/JPWO2014155717A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • 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/13003Initial program load, host to controller
    • 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/13099Function block, OOP, various functions grouped, called by name as servo
    • 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/16Plc to applications
    • G05B2219/163Domotique, domestic, home control, automation, smart, intelligent house
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Abstract

シーケンスプログラム内の回路全体から共通のロジック部分を検索するとともに、共通のロジック部分に配置されている回路パターンに共通して現れるロジックのパターンを共通回路パターンとして抽出する検索ステップと、抽出した共通回路パターンをプログラム部品の候補として表示する部品候補表示ステップと、プログラム部品の候補の中からユーザによって選択された共通回路パターンをプログラム部品として登録する部品登録設定ステップと、シーケンスプログラム内の共通のロジック部分を、プログラム部品で置き換える置換ステップと、をコンピュータに実行させる。

Description

本発明は、シーケンスプログラムからプログラム部品を作成するシーケンスプログラム部品作成プログラムおよびシーケンスプログラム部品作成装置に関する。
シーケンスプログラムは、効率良く作成することが望まれている。このため、シーケンスプログラム内の共通のロジック部分を切り出して、プログラム部品として登録し(部品化)、そのプログラム部分を複数のシーケンスプログラムで再利用することが行われている(例えば、特許文献1,2参照)。シーケンスプログラムのプログラム部品の例としては、ファンクションブロック(FB)がある。
特開2000−357005号公報 特開2009−116429号公報
しかしながら、上記従来技術では、編集対象となるシーケンスプログラムの編集を行なう前に、既存のシーケンスプログラムから共通のロジック部分(プログラム部分)を見つけて部品化を行なっておく必要があった。このため、部品化作業には、長時間を要するという問題があった。
本発明は、上記に鑑みてなされたものであって、容易かつ短時間でシーケンスプログラムを部品化することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、シーケンスプログラム内の回路全体から共通のロジック部分を検索するとともに、前記共通のロジック部分に配置されている回路パターンに共通して現れるロジックのパターンを共通回路パターンとして抽出する検索ステップと、抽出した共通回路パターンをプログラム部品の候補として表示する部品候補表示ステップと、前記プログラム部品の候補の中からユーザによって選択された共通回路パターンをプログラム部品として登録する部品登録設定ステップと、前記シーケンスプログラム内の前記共通のロジック部分を、前記プログラム部品で置き換える置換ステップと、をコンピュータに実行させることを特徴とする。
本発明によれば、容易かつ短時間でシーケンスプログラムを部品化することが可能になるという効果を奏する。
図1は、実施の形態1に係るプログラム部品化処理の概念を説明するための図である。 図2は、実施の形態1に係るプログラム部品作成装置の構成を示す図である。 図3は、実施の形態1に係るプログラム部品化処理の処理手順を示すフローチャートである。 図4は、実施の形態1に係るプログラム部品作成装置の構成を示す図である。 図5は、図的に共通なロジック部分を説明するための図である。 図6は、論理的に共通なロジック部分を説明するための図である。 図7は、実施の形態4に係るプログラム部品化処理の処理手順を示すフローチャートである。 図8は、検索単位の回路ブロック数を増やしながら共通回路パターンを抽出する処理を説明するための図である。 図9は、実施の形態5に係るプログラム部品化処理の処理手順を示すフローチャートである。 図10は、検索単位の回路ブロック数を減らしながら共通回路パターンを抽出する処理を説明するための図である。 図11は、抽出される共通回路パターンの一例を示す図である。 図12は、プログラム部品作成装置のハードウェア構成を示す図である。
以下に、本発明の実施の形態に係るシーケンスプログラム部品作成プログラムおよびシーケンスプログラム部品作成装置を図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
実施の形態1.
まず、本実施の形態に係るプログラム部品化処理の概念について説明する。なお、本実施の形態では、「共通回路パターンG」と「共通のロジック部分H」とを以下のように区別して用いる。
・共通回路パターンG:シーケンスプログラムに共通して現れるロジックのパターン。
・共通のロジック部分H:共通回路パターンGが現れるシーケンスプログラムの箇所(領域)。
図1は、実施の形態1に係るプログラム部品化処理の概念を説明するための図である。プログラム部品作成装置(後述するプログラム部品作成装置1A,1B)は、シーケンスプログラム(ラダープログラム)からプログラム部品を作成するコンピュータなどの装置である。
プログラム部品作成装置1A,1Bは、シーケンスプログラム内から部品化できる共通のロジック部分(プログラム部分)Hを自動的に判定して抽出する。プログラム部品作成装置1A,1Bは、少なくとも以下に示す2つの機能を有している。
第1の機能は、シーケンスプログラムの回路全体から部品化可能な共通のロジック部分Hを検索して表示する機能である。シーケンスプログラムであるラダープログラムは、接点/コイル相当命令で構成されている。したがって、プログラム部品作成装置1A,1Bは、接点相当命令およびコイル相当命令のロジックのみで共通している共通回路パターンGと、プログラム箇所(共通のロジック部分H)とを検索し表示する。検索された共通回路パターンGが、プログラム部品(マクロ、サブルーチンなど)の候補である。
第2の機能は、第1の機能で検索した共通回路パターンGの何れかがユーザによって選択されると、選択された共通回路パターンGをプログラム部品に変換(部品化を実行)して登録する機能である。また、第2の機能は、第1の機能で検索した共通のロジック部分Hを、登録したプログラム部品のインスタンスで置き換えることで、シーケンスプログラムを自動的に部品化する。
図1のフェーズ(A)に示すように、プログラム部品作成装置1A,1Bは、シーケンスプログラム内から共通のロジック部分Hを抽出する。共通ロジック部分の例として、図5で図的に共通なロジック部分を、図6で論理的に共通な部分を示している。ここでのプログラム部品作成装置1A,1Bは、回路ブロック2a〜4aの配置されているブロックを共通のロジック部分Hとして抽出する。
さらに、図1のフェーズ(B)に示すように、プログラム部品作成装置1A,1Bは、回路ブロック2a〜4aのロジックに基づいて、部品化可能な共通回路パターンGを設定する。換言すると、プログラム部品作成装置1A,1Bは、回路ブロック2a〜4aに共通なロジックを共通回路パターンGに設定する。これにより、プログラム部品作成装置1A,1Bは、回路ブロック2a〜4aを共通回路パターンGとして扱う。
そして、図1のフェーズ(C)に示すように、プログラム部品作成装置1A,1Bは、共通回路パターンGをプログラム部品FB1として登録する。さらに、プログラム部品作成装置1A,1Bは、回路ブロック2a〜4aを、プログラム部品FB1で置換する。
これにより、回路ブロック2aは、プログラム部品FB1(インスタンス1)で置換されて回路ブロック2bとなる。同様に、回路ブロック3aは、プログラム部品FB1(インスタンス2)で置換されて回路ブロック3bとなり、回路ブロック4aは、プログラム部品FB1(インスタンス3)で置換されて回路ブロック4bとなる。
プログラム部品作成装置1A,1Bは、プログラム部品FB1で置換されたシーケンスプログラムと、プログラム部品FB1の回路パターンと、を記憶しておく。この後、ユーザからの指示に従って、プログラム部品FB1で置換されたシーケンスプログラムと、プログラム部品FB1の回路パターンと、を用いたプログラム編集が行われる。
図2は、実施の形態1に係るプログラム部品作成装置の構成を示す図である。プログラム編集システム100Aは、シーケンスプログラム作成装置2と、プログラム部品作成装置1Aと、表示装置5と、シーケンスプログラム編集装置3とを有している。
シーケンスプログラム作成装置2は、PLC(Programmable Logic Controller)(シーケンサ)システムなどで動作させるシーケンスプログラムを作成する装置である。シーケンスプログラム作成装置2は、作成したシーケンスプログラムをプログラム部品作成装置1Aに入力する。
シーケンスプログラム編集装置3は、プログラム部品作成装置1Aでプログラム部品に置き換えられたシーケンスプログラムを用いてシーケンスプログラムの編集を行う装置である。表示装置5は、液晶モニタなどであり、プログラム部品作成装置1Aからの指示に従って、シーケンスプログラム、共通回路パターンG、プログラム部品などを表示する。
プログラム部品作成装置1Aは、エンジニアリングツールとして、プログラム格納部12と、共通判定部(検索部)13Aと、検索結果記憶部14と、検索結果表示処理部(部品候補表示部)15と、プログラム部品登録部(部品設定部)17と、プログラム部品格納部18と、部品化処理部(置換部)19とを備えている。また、プログラム部品作成装置1Aは、プログラム入力部11と、指示入力部16と、出力部20と、を備えている。
エンジニアリングツールは、シーケンスプログラムからプログラム部品を作成するツールである。エンジニアリングツールは、例えばPC(Personal Computer)上のS/W(ソフトウェア)として実現できる。
プログラム入力部11は、シーケンスプログラムを入力してプログラム格納部12に送る。プログラム格納部12は、共通のロジック部分Hが検索されるシーケンスプログラム(部品化対象のプログラム)を記憶しておくメモリなどである。プログラム格納部12は、シーケンスプログラムが部品化された後は、部品化されたシーケンスプログラムを記憶しておく。プログラム格納部12は、例えば、エンジニアリングツールで作成するプロジェクトの中のプログラムファイルなどに相当する。
共通判定部13Aは、プログラム格納部12に格納されているシーケンスプログラムを読み込んで、その中に共通のロジック部分Hがあるか否かを判定する。共通判定部13Aは、共通のロジック部分Hがある場合、共通のロジック部分Hにおける共通のロジックを共通回路パターンGとして抽出する。換言すると、共通判定部13Aは、共通のロジック部分Hに配置されている回路パターンに共通して現れるロジックのパターンを共通回路パターンGとして抽出する。なお、プログラム部品作成装置1Aには、共通ロジック部分Hを判定する具体的手段として、コードクーロン検出手法などを利用できる。検索結果記憶部14は、共通判定部13Aが抽出した共通回路パターンGを、検索結果として記憶しておくメモリなどである。
検索結果表示処理部15は、検索結果記憶部14内の検索結果一覧を表示装置5に表示させる。検索結果表示処理部15は、表示中の検索結果内からユーザによって部品化する共通回路パターンGが選択されると、選択された共通回路パターンGをプログラム部品登録部17に送る。
このように、本実施の形態では、共通判定部13Aで抽出された共通回路パターンGの一覧(検索結果一覧)を、検索結果表示処理部15が表示装置5に表示させ、部品化したい共通回路パターンGをユーザに選択させている。これにより、プログラム部品作成装置1Aは、シーケンスプログラム部品の作成支援を行う。
指示入力部16は、ユーザからの指示を入力して、検索結果表示処理部15などに送る。ユーザからの指示は、検索に関する指示(検索指示)、部品化に関する指示(部品指定指示)、または出力に関する指示(出力指示)などである。
検索指示は、シーケンスプログラム内から共通回路パターンGを検索させる指示であり、指示入力部16から共通判定部13Aに送られる。部品指定指示は、検索結果の中から部品化する共通回路パターンGを指定する指示であり、指示入力部16から検索結果表示処理部15に送られる。出力指示は、シーケンスプログラムを外部装置などに出力させる指示であり、指示入力部16から出力部20に送られる。
プログラム部品登録部17は、選択された共通回路パターンGが検索結果表示処理部15から送られてくると、選択された共通回路パターンGをプログラム部品に変換して、プログラム部品格納部18に登録する。
プログラム部品格納部18は、プログラム部品登録部17からの指示に従ってプログラム部品を格納するメモリなどである。部品化処理部19は、プログラム格納部12に格納されているシーケンスプログラムの中の共通のロジック部分Hを、プログラム部品格納部18内のプログラム部品に置き換える。部品化処理部19は、置換後のシーケンスプログラムをプログラム格納部12に記憶させる。
出力部20は、指示入力部16から出力指示が送られてきた場合には、出力指示で指定されたシーケンスプログラムをプログラム格納部12から抽出して外部装置などに出力する。
図3は、実施の形態1に係るプログラム部品化処理の処理手順を示すフローチャートである。シーケンスプログラムは、予めシーケンスプログラム作成装置2で作成されて、プログラム部品作成装置1Aのプログラム入力部11に送られる。プログラム入力部11は、送られてきたシーケンスプログラムをプログラム格納部12に記憶させる。
(ユーザ操作1)
ユーザによって、指示入力部16から共通回路パターンG(共通のロジック部分)の検索指示が入力されると、検索指示は、指示入力部16から共通判定部13Aに送られる。これにより、プログラム部品化処理が開始される(ステップS10)。
(処理1)
共通判定部13Aは、プログラム格納部12に格納(蓄積)されているシーケンスプログラムから共通回路パターンGを抽出する。共通判定部13Aは、例えば、シーケンスプログラムから共通のロジック部分Hを抽出し、この共通のロジック部分Hに配置されている回路ブロック(回路ブロック2a〜4aなど)から共通回路パターンGを抽出する(ステップS20)。
(処理2)
共通判定部13Aは、共通のロジック部分Hから抽出した共通回路パターンGと、この共通回路パターンGの件数とを対応付けして検索結果記憶部14に格納する(ステップS30)。
また、共通判定部13Aは、共通のロジック部分Hの場所(たとえば、ラダープログラムの行番号)と、共通のロジック部分Hが抽出されたシーケンスプログラムを識別する情報(プログラム識別情報)とを対応付けして部品化処理部19に送る。
(処理3)
検索結果表示処理部15は、検索結果記憶部14に格納されている共通回路パターンGおよび件数を表示装置5に一覧表示させる。表示装置5は、例えば、図1に示した共通回路パターンGと、その件数(図1では3件)を表示する(ステップS40)。
(ユーザ操作2)
この後、ユーザによって、部品化する共通回路パターンGが選択される。ユーザによって、指示入力部16から何れかの共通回路パターンGを指定した部品指定指示が入力されると、部品指定指示が検索結果表示処理部15に送られる(ステップS50)。検索結果表示処理部15は、部品指定指示に対応する共通回路パターンGを、プログラム部品登録部17に送る。
(処理4,5)
プログラム部品登録部17は、選択された共通回路パターンGのロジックをプログラム部品に変換する(ステップS60)。プログラム部品登録部17は、変換したプログラム部品をプログラム部品格納部18に格納する(ステップS70)。このように、ユーザによって選択された共通回路パターンGが、プログラム部品としてプログラム部品格納部18に格納される。
(処理6)
部品化処理部19は、プログラム格納部12のシーケンスプログラムの中にある共通のロジック部分Hを、プログラム部品格納部18に格納したプログラム部品で置き換える(ステップS80)。部品化処理部19は、共通のロジック部分Hをプログラム部品で置き換える際に、置き換えたプログラム部品の入出力変数の割付を行う。
部品化処理部19は、共通判定部13Aで共通回路パターンGが抽出されたシーケンスプログラムに対して、プログラム部品による置き換えを行なう。具体的には、部品化処理部19は、プログラム識別情報に基づいて、プログラム格納部12内から部品化対象のシーケンスプログラムを抽出する。そして、部品化処理部19は、抽出したシーケンスプログラムの共通のロジック部分Hにある回路パターンを、プログラム部品格納部18内のプログラム部品で置き換える。
シーケンスプログラムの少なくとも一部がプログラム部品によって置き換えられた後、置換後のシーケンスプログラムは、プログラム格納部12に格納される。この後、ユーザが指示入力部16に出力指示を入力すると、この出力指示は指示入力部16から出力部20に送られる。出力部20は、出力指示で指定されたシーケンスプログラムをプログラム格納部12から抽出してシーケンスプログラム編集装置3に送る。これにより、シーケンスプログラム編集装置3では、ユーザの指示に従ってシーケンスプログラムの編集が行われる。
なお、本実施の形態では、ユーザによって指定された共通回路パターンGを部品化したが、プログラム部品登録部17は、抽出された全ての共通回路パターンGを部品化してもよい。
このように、プログラム部品作成装置1Aは、シーケンスプログラムの中から共通回路パターンGを自動的に検索して表示するので、プログラム部品の候補を探す作業の手数を削減できる。したがって、プログラム部品候補の検索操作数を低減できる。
また、ユーザが部品化候補を選択するだけでプログラム部品の作成およびインスタンスの作成ができるので、入出力変数への割付作業の操作数を削減できる。したがって、シーケンスプログラム内をプログラム部品で置き換える操作数を低減できる。
また、プログラム部品の候補を表示する処理と、プログラム部品の作成およびインスタンスの作成とを連続して行えるので、重複部分の少ないラダープログラムを効率良く作成できる。
このように、プログラム部品作成装置1Aは、予め登録されているプログラム部品を検索するものではなく、シーケンスプログラムから抽出した共通回路パターンGを部品化する。このため、プログラム部品作成装置1Aは、予め既存のシーケンスプログラムからプログラム部品を登録しておくことなく、共通回路パターンGを用いてシーケンスプログラムを編集(プログラム部品への置換)できる。
このように実施の形態1によれば、シーケンスプログラムから抽出した共通回路パターンGをプログラム部品に置き換えるので、容易かつ短時間でシーケンスプログラムの部品化を実行することが可能になる。
実施の形態2.
つぎに、図4〜図6を用いてこの発明の実施の形態2について説明する。実施の形態2では、共通回路パターンGを抽出する際に、図的に共通なロジック部分(回路図が同じロジック部分)の判定、または論理的(意味的)に共通なロジック部分(回路図の論理が同じロジック部分)の判定を行う。
図4は、実施の形態1に係るプログラム部品作成装置の構成を示す図である。図4の各構成要素のうち図2に示す実施の形態1のプログラム編集システム100Aと同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
プログラム編集システム100Bは、シーケンスプログラム作成装置2と、プログラム部品作成装置1Bと、シーケンスプログラム編集装置3とを有している。プログラム部品作成装置1Bは、プログラム部品作成装置1Aと比較して、共通判定部13Aの代わりに共通判定部13Bを備えている。
共通判定部13Bは、図的共通判定部25Bと論理的共通判定部26Bとを具備している。図的共通判定部25Bは、プログラム格納部12に格納されているシーケンスプログラム内から図的に共通なロジック部分があるか否かを判定する。図的に共通なロジック部分とは、電子回路図の回路記号の配置が同じ回路のことである。図的共通判定部25Bは、図的に共通なロジック部分がある場合、図的に共通なロジック部分をシーケンスプログラムから抽出する。
論理的共通判定部26Bは、プログラム格納部12に格納されているシーケンスプログラム内から論理的に共通なロジック部分があるか否かを判定する。論理的に共通なロジック部分とは、図的に回路記号の配置が異なるが、ロジックとしての動作が同じ回路のことである。
図5は、図的に共通なロジック部分を説明するための図である。図5に示す回路ブロックL0と回路ブロックL1とは、電子回路図の回路記号の配置が同じである。したがって、本実施の形態の共通判定部13Bは、回路ブロックL0と回路ブロックL1とは、図的に共通な回路であると判定する。
一方、回路ブロックL0と回路ブロックL2とは、電子回路図の回路記号の配置が異なる。したがって、本実施の形態の共通判定部13Bは、回路ブロックL2は、回路ブロックL0に対して図的に共通でないと判定する。
図6は、論理的に共通なロジック部分を説明するための図である。図6に示す回路ブロックPと回路ブロックQとは、図的に回路記号の配置が異なっているが、ロジックとしては同じ動作を行う。したがって、本実施の形態の論理的共通判定部26Bは、回路ブロックPと回路ブロックQとは、論理的に共通なロジック部分であると判定する。
共通判定部13Bは、図的共通判定部25Bおよび論理的共通判定部26Bの両方を用いて共通のロジック部分H(共通の回路ブロック)を抽出する。共通判定部13Bは、図的共通判定部25Bおよび論理的共通判定部26Bが抽出した共通のロジック部分Hを検索結果記憶部14に記憶させる。
なお、共通判定部13Bは、ユーザからの指示に従って図的共通判定部25Bおよび論理的共通判定部26Bの何れか一方を用いて共通のロジック部分Hを抽出してもよい。この場合、ユーザは、図的共通判定部25Bおよび論理的共通判定部26Bの何れを用いるかを指定した指示を指示入力部16へ入力する。共通判定部13Bは、ユーザよる指定に基づいて、図的共通判定部25Bおよび論理的共通判定部26Bの何れか一方を用いる。
図的共通判定部25Bが共通のロジック部分Hを検索する場合、容易に共通のロジック部分Hを検索することができる。また、論理的共通判定部26Bが共通のロジック部分Hを検索する場合、共通のロジック部分Hを多数検索することができる。この場合、多くの共通回路パターンGをプログラム部品で置き換えることができるので、効率良くシーケンスプログラムを編集することができる。
このように実施の形態2によれば、図的共通判定部25Bが共通のロジック部分Hを検索するので、容易に共通のロジック部分Hを検索することができる。また、論理的共通判定部26Bが共通のロジック部分Hを検索するので、共通のロジック部分Hを多数検索することができる。
実施の形態3.
つぎに、この発明の実施の形態3について説明する。実施の形態3では、抽出する共通回路パターンGの大きさ(回路ブロック数)をユーザに指定された大きさとする。なお、本実施の形態に係るプログラム部品化処理は、プログラム部品作成装置1Aが行ってもよいし、プログラム部品作成装置1Bが行ってもよい。プログラム部品作成装置1Aおよびプログラム部品作成装置1Aによるプログラム部品化処理は、同様であるので、以下では、プログラム部品作成装置1Aが本実施の形態に係るプログラム部品化処理を行う場合について説明する。
指示入力部16へは、ユーザによって、抽出する共通回路パターンGの大きさを指定する指示(ブロック数指定指示)を入力される。ブロック数指定指示は、共通のロジック部分Hを検索する単位(回路ブロック単位)である。ここでの回路ブロックは、電気回路が成立する最小のロジックの単位である。
プログラム部品作成装置1Aは、ブロック数指定指示で指定された回路ブロック数を検索単位に設定して共通回路パターンGを抽出する。例えば、ブロック数指定指示として、回路ブロック数Nx=3が入力されると、プログラム部品作成装置1Aは、連続する3つの回路ブロックが他の連続する3つの回路ブロックと共通している回路ブロックを抽出し、これらの回路ブロックから共通回路パターンGを抽出する。
つぎに、実施の形態3に係るプログラム部品化処理の処理手順について説明する。なお、実施の形態1に係るプログラム部品化処理と同様の処理についてはその説明を省略する。
指示入力部16へは、ユーザによって、抽出する共通回路パターンGの大きさを指定するブロック数指定指示と、検索指示とが入力される。ブロック数指定指示および検索指示は、指示入力部16から共通判定部13Aへ送られる。
共通判定部13Aは、ブロック数指定指示で指定された回路ブロック数を検索単位に設定して共通回路パターンGを抽出する。具体的には、共通判定部13Aは、シーケンスプログラムから、ブロック数指定指示で指定された回路ブロック数の共通回路パターンGを抽出する。このように、共通判定部13Aは、連続するNx(Nxは自然数)個の回路ブロックを対象として共通のロジック部分Hを検索する。
この後、実施の形態1,2と同様の処理手順によって、共通回路パターンGがプログラム部品に変換され、シーケンスプログラムの中にある共通のロジック部分Hがプログラム部品で置き換えられる。
なお、本実施の形態では、抽出する共通回路パターンGの大きさをユーザに指定された大きさとしたが、共通判定部13Aは、共通判定部13Aに初期設定されている大きさの共通回路パターンGを抽出してもよい。
このように実施の形態3によれば、部品化候補となる共通回路パターンGを絞り込むことができるので、部品化する作業を効率化できる。例えば、ブロック数指定指示として、回路ブロック数Nx=3が入力されると、回路ブロック数Nx=1,2の共通回路パターンGは抽出されないので、部品化候補となる共通回路パターンGの数を減らすことができる。
実施の形態4.
つぎに、図7および図8を用いてこの発明の実施の形態4について説明する。実施の形態4では、共通回路パターンGの検索単位(回路ブロック数)の上限値をユーザに指定された大きさとし、かつ検索単位の回路ブロック数を増やしながら共通回路パターンGを抽出する。
なお、本実施の形態に係るプログラム部品化処理は、プログラム部品作成装置1Aが行ってもよいし、プログラム部品作成装置1Bが行ってもよい。プログラム部品作成装置1Aおよびプログラム部品作成装置1Bによるプログラム部品化処理は、同様であるので、以下では、プログラム部品作成装置1Aが本実施の形態に係るプログラム部品化処理を行う場合について説明する。
プログラム部品作成装置1Aは、ブロック数指定指示で指定された回路ブロック数よりも少ない回路ブロック数を検索単位に設定して共通回路パターンGを抽出する。例えば、ブロック数指定指示として、最大回路ブロック数Ny=3が入力されると、プログラム部品作成装置1Aは、回路ブロック数が1〜3個の回路ブロックに対して、共通回路パターンGを抽出する。
つぎに、実施の形態4に係るプログラム部品化処理の処理手順について説明する。図7は、実施の形態4に係るプログラム部品化処理の処理手順を示すフローチャートである。なお、実施の形態1に係るプログラム部品化処理と同様の処理についてはその説明を省略する。
指示入力部16へは、ユーザによって、抽出する共通回路パターンGの大きさを指定するブロック数指定指示と、検索指示とが入力される。本実施の形態のブロック数指定指示は、検索単位の最大回路ブロック数Ny(Nyは自然数)である。換言すると、検索単位の上限値が指示入力部16に入力される(ステップS110)。
ブロック数指定指示(最大回路ブロック数Ny)および検索指示は、指示入力部16から共通判定部13Aへ送られる。共通判定部13Aは、ブロック数指定指示で指定された最大回路ブロック数Nyよりも回路ブロック数の少ない回路パターンを検索単位に設定して共通回路パターンGを抽出する。
具体的には、共通判定部13Aは、共通回路パターンGの検索単位nにn=1を設定する(ステップS120)。そして、共通判定部13Aは、1つの回路ブロックが他の1つの回路ブロックと共通している回路ブロックを抽出し、抽出した回路ブロックから共通回路パターンGを抽出する。
そして、実施の形態1,2と同様の処理手順によって、シーケンスプログラムの部品化処理が行われる(ステップS130)。ここでのステップS130の処理は、図3のステップS20〜S80に対応する処理である。すなわち、抽出された1つの回路ブロックからなる共通回路パターンGがプログラム部品に変換され、シーケンスプログラムの中にある共通のロジック部分Hがプログラム部品で置き換えられる。
この後、共通判定部13Aは、共通回路パターンGの検索単位nにn=n+1を設定する(ステップS140)。そして、共通判定部13Aは、n≦Nyであるか否かを判定する(ステップS150)。
n≦Nyであれば(ステップS150、Yes)、共通判定部13Aは、共通回路パターンGの抽出処理を繰り返す。具体的には、共通判定部13Aは、ステップS130〜S150の処理を繰り返す。ここでの共通判定部13Aは、連続した2つの回路ブロックが他の連続した2つの回路ブロックと共通している回路ブロックを抽出し、抽出した回路ブロックから共通回路パターンGを抽出する。そして、実施の形態1,2と同様の処理手順によって、シーケンスプログラムの部品化処理が行われる(ステップS130)。
この後、共通判定部13Aは、共通回路パターンGの検索単位nにn=n+1を設定する(ステップS140)。そして、共通判定部13Aは、n≦Nyであるか否かを判定する(ステップS150)。このように、共通判定部13Aは、n=1〜Nyまで順番に共通回路パターンGの検索単位を変更しながら共通回路パターンGの抽出処理を繰り返す。n>Nyであれば(ステップS150、No)、共通判定部13Aは、共通回路パターンGの抽出処理を終了する。
図8は、検索単位の回路ブロック数を増やしながら共通回路パターンを抽出する処理を説明するための図である。図8では、最大回路ブロック数Ny=2が指定された場合の処理手順を示している。
図8のフェーズ(D)に示すように、ユーザによって、検索単位の最大回路ブロック数Ny=2が指定されると、共通判定部13Aは、共通回路パターンGの検索単位nにn=1を設定する(ST1)。そして、共通判定部13Aは、1つの回路ブロック同士が共通している回路ブロックの組を抽出し、抽出した回路ブロックの組から共通回路パターンGを抽出する。図8では、3つの回路パターンA1と2つの回路パターンA2が、共通回路パターンG31として抽出された場合を示している。
図8のフェーズ(E)に示すように、プログラム部品登録部17は、抽出された回路パターンA1をプログラム部品FB1に変換してプログラム部品格納部18に登録する。また、プログラム部品登録部17は、抽出された回路パターンA2をプログラム部品FB2に変換してプログラム部品格納部18に登録する(ST2)。
そして、部品化処理部19は、プログラム格納部12のシーケンスプログラムの中の共通のロジック部分H(回路パターンA1)に対応する箇所を、プログラム部品格納部18に登録されたプログラム部品FB1に置き換える。
同様に、部品化処理部19は、プログラム格納部12のシーケンスプログラムの中の共通のロジック部分H(回路パターンA2)に対応する箇所を、プログラム部品格納部18に登録されたプログラム部品FB2に置き換える(ST3)。
この後、共通判定部13Aは、共通回路パターンGの検索単位nにn=2を設定する(ST4)。そして、共通判定部13Aは、2つの回路ブロック同士が共通している回路ブロックの組を抽出し、抽出した回路ブロックの組から共通回路パターンGを抽出する。図8では、2つの回路パターンA3が、共通回路パターンG33として抽出された場合を示している。回路パターンA3は、2つの連続した回路ブロックである。
図8のフェーズ(F)に示すように、プログラム部品登録部17は、抽出された回路パターンA3をプログラム部品FB3に変換してプログラム部品格納部18に登録する(ST5)。そして、部品化処理部19は、プログラム格納部12のシーケンスプログラムの中の共通のロジック部分H(回路パターンA3)に対応する箇所を、プログラム部品格納部18に登録されたプログラム部品FB3に置き換える(ST6)。
このように実施の形態4によれば、検索単位の回路ブロック数を増やしながら共通回路パターンGを抽出してプログラム部品化処理を繰り返すので、広い範囲のプログラム部品を作成することが可能となる。
実施の形態5.
つぎに、図9〜図11を用いてこの発明の実施の形態5について説明する。実施の形態5では、共通回路パターンGの検索単位(回路ブロック数)の上限値をユーザに指定された大きさとし、かつ検索単位の回路ブロック数を減らしながら共通回路パターンGを抽出する。
なお、本実施の形態に係るプログラム部品化処理は、プログラム部品作成装置1Aが行ってもよいし、プログラム部品作成装置1Bが行ってもよい。プログラム部品作成装置1Aおよびプログラム部品作成装置1Aによるプログラム部品化処理は、同様であるので、以下では、プログラム部品作成装置1Aが本実施の形態に係るプログラム部品化処理を行う場合について説明する。
プログラム部品作成装置1Aは、ブロック数指定指示で指定された回路ブロック数よりも少ない回路ブロック数を検索単位に設定して共通回路パターンGを抽出する。例えば、ブロック数指定指示として、最大回路ブロック数Ny=3が入力されると、プログラム部品作成装置1Aは、回路ブロック数が1〜3個の回路ブロックから共通回路パターンGを抽出する。
つぎに、実施の形態5に係るプログラム部品化処理の処理手順について説明する。図9は、実施の形態5に係るプログラム部品化処理の処理手順を示すフローチャートである。なお、実施の形態1に係るプログラム部品化処理と同様の処理についてはその説明を省略する。
指示入力部16へは、ユーザによって、抽出する共通回路パターンGの大きさを指定するブロック数指定指示と、検索指示とが入力される。本実施の形態のブロック数指定指示は、検索単位の最大回路ブロック数Nyである。換言すると、検索単位の上限値が指示入力部16に入力される(ステップS210)。
ブロック数指定指示(最大回路ブロック数Ny)および検索指示は、指示入力部16から共通判定部13Aへ送られる。共通判定部13Aは、ブロック数指定指示で指定された最大回路ブロック数Nyよりも回路ブロック数の少ない回路パターンを検索単位に設定して共通回路パターンGを抽出する。
具体的には、共通判定部13Aは、共通回路パターンGの検索単位nにn=Nyを設定する(ステップS220)。そして、共通判定部13Aは、連続したNy個の回路ブロックが他の連続したNy個の回路ブロックと共通している場合に、これらの回路ブロックから共通回路パターンGを抽出する。
そして、実施の形態1,2と同様の処理手順によって、シーケンスプログラムの部品化処理が行われる(ステップS230)。すなわち、抽出されたNy個の回路ブロックからなる共通回路パターンGがプログラム部品に変換され、シーケンスプログラムの中にある共通のロジック部分Hがプログラム部品で置き換えられる。
この後、共通判定部13Aは、共通回路パターンGの検索単位nにn=n−1を設定する(ステップS240)。そして、共通判定部13Aは、n≧1であるか否かを判定する(ステップS250)。
n≧1であれば(ステップS250、Yes)、共通判定部13Aは、共通回路パターンGの抽出処理を繰り返す。具体的には、共通判定部13Aは、ステップS230〜S250の処理を繰り返す。ここでの共通判定部13Aは、連続した(Ny−1)個の回路ブロックが他の連続した(Ny−1)個の回路ブロックと共通している場合に、これらの回路ブロックから共通回路パターンGを抽出する。そして、実施の形態1,2と同様の処理手順によって、シーケンスプログラムの部品化処理が行われる(ステップS230)。
この後、共通判定部13Aは、共通回路パターンGの検索単位nにn=n−1を設定する(ステップS240)。そして、共通判定部13Aは、n≧1であるか否かを判定する(ステップS150)。このように、共通判定部13Aは、n=Ny〜1まで順番に共通回路パターンGの検索単位を変更しながら共通回路パターンGの抽出処理を繰り返す。n≧1であれば(ステップS250、No)、共通判定部13Aは、共通回路パターンGの抽出処理を終了する。
図10は、検索単位の回路ブロック数を減らしながら共通回路パターンを抽出する処理を説明するための図である。図10では、最大回路ブロック数Ny=2が指定された場合の処理手順を示している。
図10のフェーズ(G)に示すように、ユーザによって、検索単位の最大回路ブロック数Ny=2が指定されると、共通判定部13Aは、共通回路パターンGの検索単位nにn=2を設定する(ST11)。そして、共通判定部13Aは、2つの回路ブロック同士が共通している回路ブロックの組を抽出し、抽出した回路ブロックの組から共通回路パターンGを抽出する。図10では、2つの回路パターンA10が、共通回路パターンG41として抽出された場合を示している。回路パターンA10は、2つの連続した回路ブロックである。
図10のフェーズ(H)に示すように、プログラム部品登録部17は、抽出された回路パターンA10をプログラム部品FB10に変換してプログラム部品格納部18に登録する(ST12)。そして、部品化処理部19は、プログラム格納部12のシーケンスプログラムの中の共通のロジック部分H(回路パターンA10)に対応する箇所を、プログラム部品格納部18に登録されたプログラム部品FB10に置き換える(ST13)。
この後、共通判定部13Aは、共通回路パターンGの検索単位nにn=1を設定する(ST14)。そして、共通判定部13Aは、1つの回路ブロック同士が共通している回路ブロックの組を抽出し、抽出した回路ブロックの組から共通回路パターンGを抽出する。図10では、2つの回路パターンA11が、共通回路パターンG43として抽出された場合を示している。
図10のフェーズ(I)に示すように、プログラム部品登録部17は、抽出された回路パターンA11をプログラム部品FB11に変換してプログラム部品格納部18に登録する(ST15)。そして、部品化処理部19は、プログラム格納部12のシーケンスプログラムの中の共通のロジック部分H(回路パターンA11)に対応する箇所を、プログラム部品格納部18に登録されたプログラム部品FB11に置き換える(ST16)。
図11は、抽出される共通回路パターンの一例を示す図である。図11では、最大回路ブロック数Ny=3が指定された場合に抽出される共通回路パターンの一例を示している。指示入力部16へは、ユーザによって、抽出する共通回路パターンGの大きさを指定するブロック数指定指示(最大回路ブロック数Ny=3)と、検索指示とが入力される。
例えば、図11のフェーズ(J)に示すように、3つの連続した回路ブロックで構成された回路パターン51と3つの連続した回路ブロックで構成された回路パターン52とが共通している場合、共通判定部13Aは、回路パターン51,52を抽出する。
さらに、図11のフェーズ(K)に示すように、共通判定部13Aは、回路パターン51,52に共通して現れるロジックのパターンを共通回路パターンGとして抽出する。図11では、回路パターン51,52に対応する共通回路パターンGとして共通回路パターンG50が抽出された場合を示している。検索結果表示処理部15は、共通回路パターンG50を表示装置5に表示させる。
なお、プログラム部品作成装置1Aは、最大回路ブロック数Nyとともに最小回路ブロック数Nzを設定してもよい。換言すると、共通回路パターンGの検索単位(回路ブロック数)の下限値をユーザに指定させてもよい。最小回路ブロック数Nzは、検索の閾値であり、検索される回路ブロックの最小値である。この場合、ユーザに指定された下限値以上かつ上限値以下の回路ブロック数を共通回路パターンGの検索単位とする。
具体的には、共通判定部13Aは、Nz〜Ny個の回路ブロックで構成された共通回路パターンGを抽出する。この場合において、共通判定部13Aは、回路ブロック数を増やしながら部品化を繰り返してもよいし、回路ブロック数を減らしながら部品化を繰り返してもよい。
例えば、最小回路ブロック数Nz=3および最大回路ブロック数Ny=6が指定された場合、共通判定部13Aは、3〜6個の回路ブロックで構成された共通回路パターンGを抽出する。
また、プログラム部品作成装置1Aは、実施の形態1〜5で説明した方法によって共通回路パターンGを抽出し、抽出した共通回路パターンGの中で最小回路ブロック数Nzよりも回路ブロック数の多い共通回路パターンGのみを抽出して一覧表示してもよい。
また、プログラム部品作成装置1Aは、実施の形態1〜5で説明した方法によって共通回路パターンGを抽出し、抽出した共通回路パターンGの中で最大回路ブロック数Nyよりも回路ブロック数の少ない共通回路パターンGのみを抽出して一覧表示してもよい。
また、プログラム部品作成装置1Aは、最小回路ブロック数Nzのみを設定してもよい。例えば、ブロック数指定指示として、最小回路ブロック数Nz=3が入力されると、プログラム部品作成装置1Aは、回路ブロック数が4個以上の回路ブロックを共通回路パターンGとして抽出する。最小回路ブロック数Nzは、検索の閾値であり、検索される回路ブロックの最小値である。
また、この場合において、共通判定部13Aは、回路ブロック数を増やしながら部品化を繰り返してもよいし、回路ブロック数を減らしながら部品化を繰り返してもよい。例えば、シーケンスプログラムの回路ブロック数がNa(Naは自然数)個であった場合、共通判定部13Aは、回路ブロック数をNa個から順番にNz個まで減らしながら部品化を繰り返す。また、シーケンスプログラムの回路ブロック数がNa個であった場合、共通判定部13Aは、回路ブロック数をNz個からNa個まで順番に増やしながら部品化を繰り返してもよい。
このように実施の形態5によれば、検索単位の回路ブロック数を減らしながら共通回路パターンGを抽出してプログラム部品化処理を繰り返すので、作成するプログラム部品の数を削減することができる。
実施の形態6.
つぎに、この発明の実施の形態6について説明する。実施の形態6では、共通回路パターンGのうち、共通のロジック部分Hの数がユーザに指定された数(閾値)よりも多い共通回路パターンGをプログラム部品の候補として表示させる。換言すると、所定数よりも多くの共通のロジック部分Hが抽出された共通回路パターンGのみを表示させる。
なお、本実施の形態に係るプログラム部品化処理は、プログラム部品作成装置1Aが行ってもよいし、プログラム部品作成装置1Bが行ってもよい。プログラム部品作成装置1Aおよびプログラム部品作成装置1Aによるプログラム部品化処理は、同様であるので、以下では、プログラム部品作成装置1Aが本実施の形態に係るプログラム部品化処理を行う場合について説明する。
共通回路パターンG毎に共通のロジック部分Hの数(以下、共通数という)が異なる。本実施の形態の指示入力部16へは、ユーザによって、共通数の下限値(表示の閾値)が入力される。共通数の下限値は、プログラム部品の候補として表示させる共通回路パターンGが有しておくべき共通のロジック部分Hの数(下限値)である。
共通数は、指示入力部16から共通判定部13Aへ送られる。共通判定部13Aは、検索結果記憶部14内の共通回路パターンGの中から、共通数よりも多くの共通のロジック部分Hを有している共通回路パターンGを抽出する。
つぎに、プログラム部品作成装置1A,1Bのハードウェア構成について説明する。なお、プログラム部品作成装置1A,1Bは、同様のハードウェア構成を有しているので、ここではプログラム部品作成装置1Aのハードウェア構成について説明する。
図12は、プログラム部品作成装置のハードウェア構成を示す図である。プログラム部品作成装置1Aは、CPU(Central Processing Unit)91、ROM(Read Only Memory)92、RAM(Random Access Memory)93、入力部95を有している。プログラム部品作成装置1Aでは、これらのCPU91、ROM92、RAM93、入力部95がバスラインBを介して接続されている。
CPU91は、コンピュータプログラムである部品化処理プログラム(シーケンスプログラム部品作成プログラム)90を用いてパターンの判定を行う。入力部95は、マウスやキーボードを備えて構成され、使用者から外部入力される指示情報(プログラム部品化処理に必要なパラメータ等)を入力する。入力部95へ入力された指示情報は、CPU91へ送られる。
部品化処理プログラム90は、ROM92内に格納されており、バスラインBを介してRAM93へロードされる。CPU91はRAM93内にロードされた部品化処理プログラム90を実行する。具体的には、プログラム部品作成装置1Aでは、使用者による入力部95からの指示入力に従って、CPU91がROM92内から部品化処理プログラム90を読み出してRAM93内のプログラム格納領域に展開して各種処理を実行する。CPU91は、この各種処理に際して生じる各種データをRAM93内に形成されるデータ格納領域に一時的に記憶させておく。
プログラム部品作成装置1Aで実行される部品化処理プログラム90は、共通判定部13Aと、検索結果記憶部14と、検索結果表示処理部15と、プログラム部品登録部17と、プログラム部品格納部18と、部品化処理部19を含むモジュール構成となっており、これらが主記憶装置上にロードされ、これらが主記憶装置上に生成される。
このように実施の形態6によれば、流用性の高い回路パターンに絞り込んでプログラム部品の候補(共通回路パターンGを)を表示できるので、ユーザは部品化候補を容易に選択することが可能となる。
以上のように、本発明に係るシーケンスプログラム部品作成プログラムおよびシーケンスプログラム部品作成装置は、プログラム部品の作成に適している。
1A,1B プログラム部品作成装置、2a〜4a 回路ブロック、11 プログラム入力部、12 プログラム格納部、13A,13B 共通判定部、14 検索結果記憶部、15 検索結果表示処理部、16 指示入力部、17 プログラム部品登録部、18 プログラム部品格納部、19 部品化処理部、20 出力部、25B 図的共通判定部、26B 論理的共通判定部、90 部品化処理プログラム、100A,100B プログラム編集システム、L0〜L2,P,Q 回路ブロック。
上述した課題を解決し、目的を達成するために、シーケンスプログラム内の回路全体から共通のロジック部分を検索するとともに、前記共通のロジック部分に配置されている回路パターンに共通して現れるロジックのパターンを共通回路パターンとして抽出する検索ステップと、抽出した共通回路パターンをプログラム部品の候補として表示する部品候補表示ステップと、前記プログラム部品の候補の中からユーザによって選択された共通回路パターンをプログラム部品として登録する部品登録設定ステップと、前記シーケンスプログラム内の前記共通のロジック部分を、前記プログラム部品で置き換える置換ステップと、をコンピュータに実行させ、前記検索ステップでは、ユーザによって指定された第1の回路ブロック数を検索単位として、前記共通のロジック部分が検索されることを特徴とする。
図1は、実施の形態1に係るプログラム部品化処理の概念を説明するための図である。 図2は、実施の形態1に係るプログラム部品作成装置の構成を示す図である。 図3は、実施の形態1に係るプログラム部品化処理の処理手順を示すフローチャートである。 図4は、実施の形態に係るプログラム部品作成装置の構成を示す図である。 図5は、図的に共通なロジック部分を説明するための図である。 図6は、論理的に共通なロジック部分を説明するための図である。 図7は、実施の形態4に係るプログラム部品化処理の処理手順を示すフローチャートである。 図8は、検索単位の回路ブロック数を増やしながら共通回路パターンを抽出する処理を説明するための図である。 図9は、実施の形態5に係るプログラム部品化処理の処理手順を示すフローチャートである。 図10は、検索単位の回路ブロック数を減らしながら共通回路パターンを抽出する処理を説明するための図である。 図11は、抽出される共通回路パターンの一例を示す図である。 図12は、プログラム部品作成装置のハードウェア構成を示す図である。
図4は、実施の形態に係るプログラム部品作成装置の構成を示す図である。図4の各構成要素のうち図2に示す実施の形態1のプログラム編集システム100Aと同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
実施の形態3.
つぎに、この発明の実施の形態3について説明する。実施の形態3では、抽出する共通回路パターンGの大きさ(回路ブロック数)をユーザに指定された大きさとする。なお、本実施の形態に係るプログラム部品化処理は、プログラム部品作成装置1Aが行ってもよいし、プログラム部品作成装置1Bが行ってもよい。プログラム部品作成装置1Aおよびプログラム部品作成装置1Bによるプログラム部品化処理は、同様であるので、以下では、プログラム部品作成装置1Aが本実施の形態に係るプログラム部品化処理を行う場合について説明する。
なお、本実施の形態に係るプログラム部品化処理は、プログラム部品作成装置1Aが行ってもよいし、プログラム部品作成装置1Bが行ってもよい。プログラム部品作成装置1Aおよびプログラム部品作成装置1Bによるプログラム部品化処理は、同様であるので、以下では、プログラム部品作成装置1Aが本実施の形態に係るプログラム部品化処理を行う場合について説明する。
この後、共通判定部13Aは、共通回路パターンGの検索単位nにn=n−1を設定する(ステップS240)。そして、共通判定部13Aは、n≧1であるか否かを判定する(ステップS250)。このように、共通判定部13Aは、n=Ny〜1まで順番に共通回路パターンGの検索単位を変更しながら共通回路パターンGの抽出処理を繰り返す。n≧1であれば(ステップS250、No)、共通判定部13Aは、共通回路パターンGの抽出処理を終了する。
なお、本実施の形態に係るプログラム部品化処理は、プログラム部品作成装置1Aが行ってもよいし、プログラム部品作成装置1Bが行ってもよい。プログラム部品作成装置1Aおよびプログラム部品作成装置1Bによるプログラム部品化処理は、同様であるので、以下では、プログラム部品作成装置1Aが本実施の形態に係るプログラム部品化処理を行う場合について説明する。

Claims (8)

  1. シーケンスプログラム内の回路全体から共通のロジック部分を検索するとともに、前記共通のロジック部分に配置されている回路パターンに共通して現れるロジックのパターンを共通回路パターンとして抽出する検索ステップと、
    抽出した共通回路パターンをプログラム部品の候補として表示する部品候補表示ステップと、
    前記プログラム部品の候補の中からユーザによって選択された共通回路パターンをプログラム部品として登録する部品登録設定ステップと、
    前記シーケンスプログラム内の前記共通のロジック部分を、前記プログラム部品で置き換える置換ステップと、
    をコンピュータに実行させることを特徴とするシーケンスプログラム部品作成プログラム。
  2. 前記検索ステップでは、回路図が同じロジック部分を前記共通のロジック部分として検索することを特徴とする請求項1に記載のシーケンスプログラム部品作成プログラム。
  3. 前記検索ステップでは、回路図の論理が同じロジック部分を前記共通のロジック部分として検索することを特徴とする請求項1に記載のシーケンスプログラム部品作成プログラム。
  4. 前記検索ステップでは、ユーザによって指定された第1の回路ブロック数を検索単位として、前記共通のロジック部分が検索されることを特徴とする請求項1〜3のいずれか1つに記載のシーケンスプログラム部品作成プログラム。
  5. 第2の回路ブロック数を検索単位とした検索処理を行った後に前記第2の回路ブロック数の共通回路パターンをプログラム部品に設定する処理を、前記第2の回路ブロック数を1つずつ増やしながら前記第2の回路ブロック数が前記第1の回路ブロック数となるまで順番に繰り返すことを特徴とする請求項4に記載のシーケンスプログラム部品作成プログラム。
  6. 前記第1の回路ブロック数を検索単位とした検索処理を行った後に前記第1の回路ブロック数の共通回路パターンをプログラム部品に設定する処理を、前記第1の回路ブロック数を1つずつ減らしながら前記第1の回路ブロック数が所定の回路ブロック数となるまで順番に繰り返すことを特徴とする請求項4に記載のシーケンスプログラム部品作成プログラム。
  7. 前記部品候補表示ステップでは、前記共通回路パターンの有している前記共通のロジック部分の数が、ユーザによって指定された数よりも多い共通回路パターンを、プログラム部品の候補として表示することを特徴とする請求項1〜6のいずれか1つに記載のシーケンスプログラム部品作成プログラム。
  8. シーケンスプログラム内の回路全体から共通のロジック部分を検索するとともに、前記共通のロジック部分に配置されている回路パターンに共通して現れるロジックのパターンを共通回路パターンとして抽出する検索部と、
    抽出した共通回路パターンをプログラム部品の候補として表示する部品候補表示部と、
    前記プログラム部品の候補の中からユーザによって選択された共通回路パターンをプログラム部品に登録する部品登録部と、
    前記シーケンスプログラム内の前記共通のロジック部分を、前記プログラム部品で置き換える置換部と、
    を備えることを特徴とするシーケンスプログラム部品作成装置。
JP2015507901A 2013-03-29 2013-03-29 シーケンスプログラム部品作成プログラムおよびシーケンスプログラム部品作成装置 Active JP5769900B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/059685 WO2014155717A1 (ja) 2013-03-29 2013-03-29 シーケンスプログラム部品作成プログラムおよびシーケンスプログラム部品作成装置

Publications (2)

Publication Number Publication Date
JP5769900B2 JP5769900B2 (ja) 2015-08-26
JPWO2014155717A1 true JPWO2014155717A1 (ja) 2017-02-16

Family

ID=51622764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015507901A Active JP5769900B2 (ja) 2013-03-29 2013-03-29 シーケンスプログラム部品作成プログラムおよびシーケンスプログラム部品作成装置

Country Status (7)

Country Link
US (1) US9626160B2 (ja)
JP (1) JP5769900B2 (ja)
KR (1) KR20150134419A (ja)
CN (1) CN105074592A (ja)
DE (1) DE112013006769T5 (ja)
TW (1) TWI498687B (ja)
WO (1) WO2014155717A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6224575B2 (ja) * 2014-12-19 2017-11-01 ファナック株式会社 指定した信号の演算条件によりラダー回路を検索可能なラダープログラム検索装置
KR101808715B1 (ko) 2015-09-23 2017-12-14 엘지디스플레이 주식회사 유기발광표시장치
JP6533170B2 (ja) * 2016-02-25 2019-06-19 ファナック株式会社 プログラマブルコントローラ及びこれを備えるシステム
JP6988597B2 (ja) * 2018-03-14 2022-01-05 オムロン株式会社 ラダー図プログラム作成支援装置、ラダー図プログラム作成支援方法、およびラダー図プログラム作成支援プログラム
US10706193B1 (en) * 2018-12-04 2020-07-07 Xilinx, Inc. Computer processing during simulation of a circuit design
JP6602946B1 (ja) * 2018-12-28 2019-11-06 株式会社ミスミグループ本社 部品選択システムのサーバ装置及び情報提供方法、並びに部品選択システム用のコンピュータプログラム
WO2020174627A1 (ja) * 2019-02-27 2020-09-03 三菱電機株式会社 設計支援装置、設計支援方法および設計支援プログラム
JP6664563B1 (ja) * 2019-03-05 2020-03-13 三菱電機株式会社 プログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラム
JP7423895B2 (ja) * 2019-03-12 2024-01-30 オムロン株式会社 ラダー図プログラム作成支援装置、ラダー図プログラム作成支援方法、およびラダー図プログラム作成支援プログラム
JP7238678B2 (ja) * 2019-08-08 2023-03-14 オムロン株式会社 情報処理装置、サポートプログラムおよびサポートシステム
CN115335782A (zh) * 2020-03-26 2022-11-11 三菱电机株式会社 编程辅助程序、编程辅助装置及编程辅助方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55135908A (en) 1979-04-11 1980-10-23 Hitachi Ltd Sequence program input device
JPS62202202A (ja) * 1986-03-03 1987-09-05 Hitachi Ltd シ−ケンス制御プログラム作成装置
US5225975A (en) 1988-04-04 1993-07-06 Square D Company Network programmable logic controller system with ladder editor and parallel and synchronous logic and I/O scanning
JPH025102A (ja) 1988-06-23 1990-01-10 Fanuc Ltd Pcラダー図の入力方式
DE69017244T2 (de) * 1989-03-25 1995-08-10 Mazda Motor Störungsdiagnoseverfahren einer Fertigungsstrasse.
US5267145A (en) 1989-06-30 1993-11-30 Icom, Inc. Method and apparatus for program navigation and editing for ladder logic programs by determining which instructions reference a selected data element address
EP0420174B1 (en) * 1989-09-29 1995-12-20 Mazda Motor Corporation System for automatically generating a sequential control program
JP2526692B2 (ja) * 1990-03-02 1996-08-21 三菱電機株式会社 プログラマブルコントロ―ラのプログラミング方法
DE69119327T2 (de) * 1990-08-31 1997-01-09 Mazda Motor Diagnoseverfahren für eine Fertigungsstrasse
JP2916015B2 (ja) * 1991-03-15 1999-07-05 株式会社日立製作所 プログラマブルコントローラのプログラミング装置
JP3142595B2 (ja) * 1991-03-30 2001-03-07 マツダ株式会社 生産設備の制御システム設計支援及び故障診断方法
JP3053265B2 (ja) 1991-09-02 2000-06-19 株式会社日立製作所 シーケンスプログラム検索時の画面表示方法
JP3449095B2 (ja) * 1996-02-01 2003-09-22 日産自動車株式会社 シーケンス回路の照合方法
JP4245811B2 (ja) * 1998-07-30 2009-04-02 三菱電機株式会社 ラダー回路編集装置
JP2000163109A (ja) * 1998-11-30 2000-06-16 Sharp Manufacturing System Kk ラダープログラミング装置及びラダープログラミング方法
JP2000357005A (ja) 1999-06-16 2000-12-26 Hitachi Ltd プログラマブルコントローラ
JP3829905B2 (ja) 1999-08-06 2006-10-04 オムロン株式会社 プログラマブル・コントローラ
US8356000B1 (en) * 2000-04-13 2013-01-15 John R. Koza Method and apparatus for designing structures
JP2003303003A (ja) 2002-04-08 2003-10-24 Fuji Mach Mfg Co Ltd シーケンス回路比較装置およびシーケンス回路比較プログラム
US7272450B2 (en) * 2004-03-31 2007-09-18 Omron Corporation Development aid device
JP2007206798A (ja) * 2006-01-31 2007-08-16 Fujitsu Ten Ltd 制御プログラム生成プログラム、制御プログラム生成方法および制御プログラム生成装置
CN101542433B (zh) * 2006-11-21 2012-11-28 微软公司 系统处理器的透明替换
WO2008102426A1 (ja) * 2007-02-19 2008-08-28 Mitsubishi Electric Corporation プログラマブルコントローラの周辺装置、置換方法およびプログラム
JP4302146B2 (ja) 2007-02-21 2009-07-22 三菱電機株式会社 プログラム作成支援装置
JP2009009462A (ja) 2007-06-29 2009-01-15 Fanuc Ltd シーケンスプログラム編集装置
JP5026925B2 (ja) * 2007-11-02 2012-09-19 アズビル株式会社 制御プログラム作成装置および制御プログラム作成方法
US8843885B2 (en) * 2009-12-28 2014-09-23 Mitsubishi Electric Corporation Program creation support device
JP6224575B2 (ja) * 2014-12-19 2017-11-01 ファナック株式会社 指定した信号の演算条件によりラダー回路を検索可能なラダープログラム検索装置

Also Published As

Publication number Publication date
KR20150134419A (ko) 2015-12-01
US9626160B2 (en) 2017-04-18
TWI498687B (zh) 2015-09-01
JP5769900B2 (ja) 2015-08-26
TW201437776A (zh) 2014-10-01
WO2014155717A1 (ja) 2014-10-02
CN105074592A (zh) 2015-11-18
US20160034259A1 (en) 2016-02-04
DE112013006769T5 (de) 2015-11-26

Similar Documents

Publication Publication Date Title
JP5769900B2 (ja) シーケンスプログラム部品作成プログラムおよびシーケンスプログラム部品作成装置
TWI468884B (zh) 次序程式作成裝置
US11378928B2 (en) Ladder diagram program generation assistance device, ladder diagram program generation assistance method, and recording medium
JP2011039786A (ja) ソフトウェアテスト支援装置、ソフトウェアテスト支援方法、及びプログラム
US20180365341A1 (en) Three-Dimensional Cad System Device, and Knowledge Management Method Used in Three-Dimensional Cad
JP2003084813A (ja) ラダー回路の編集装置、および、その編集方法
JPWO2016181526A1 (ja) 制御ロジック図解析装置および制御ロジック図解析方法
WO2020213129A1 (ja) デバッグ支援装置、デバッグ支援方法、デバッグ支援プログラム
CN113518947B (zh) 程序创建辅助装置、程序创建辅助方法及储存有程序创建辅助程序的记录介质
CN111611761A (zh) 生成电路版图图案的方法、设备和计算机可读存储介质
US11921496B2 (en) Information processing apparatus, information processing method and computer readable medium
JP2016153930A (ja) 設定情報管理装置、設定情報管理方法、及び、設定情報管理プログラム
JP6364786B2 (ja) 設計書管理プログラム、設計書管理方法および設計書管理装置
JP7423895B2 (ja) ラダー図プログラム作成支援装置、ラダー図プログラム作成支援方法、およびラダー図プログラム作成支援プログラム
JP2018041129A (ja) 高位合成用記述変換装置及び高位合成用記述変換プログラム
JP6193674B2 (ja) 変換回路設計装置、変換回路設計プログラムおよび変換回路設計方法
KR20230016483A (ko) 도면 자동 생성 장치 및 방법
JP2010146287A (ja) プリント配線図の変更作業支援装置、方法およびプログラム
JP4592646B2 (ja) 作図方法、作図装置及びコンピュータプログラム
JP2835082B2 (ja) 論理回路合成装置
JP2002229785A (ja) Gui設計支援装置および方法およびプログラム
JPH0440564A (ja) ハードウェア回路生成装置
JP2016212640A (ja) 割付支援装置、割付支援方法及びプログラム
JP2015191403A (ja) 設計モデル部品化装置、設計モデル部品化方法、及び、プログラム
JP2010152474A (ja) Cadシステム、レイアウト設計支援方法およびレイアウト設計支援プログラム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20150525

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150526

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150623

R150 Certificate of patent or registration of utility model

Ref document number: 5769900

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250