JPWO2018062465A1 - プログラム開発支援装置、プログラム開発支援方法、および、プログラム開発支援プログラム - Google Patents

プログラム開発支援装置、プログラム開発支援方法、および、プログラム開発支援プログラム Download PDF

Info

Publication number
JPWO2018062465A1
JPWO2018062465A1 JP2018542910A JP2018542910A JPWO2018062465A1 JP WO2018062465 A1 JPWO2018062465 A1 JP WO2018062465A1 JP 2018542910 A JP2018542910 A JP 2018542910A JP 2018542910 A JP2018542910 A JP 2018542910A JP WO2018062465 A1 JPWO2018062465 A1 JP WO2018062465A1
Authority
JP
Japan
Prior art keywords
program
ladder diagram
development support
circuit element
dimensional coordinates
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
JP2018542910A
Other languages
English (en)
Other versions
JP6791254B2 (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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Publication of JPWO2018062465A1 publication Critical patent/JPWO2018062465A1/ja
Application granted granted Critical
Publication of JP6791254B2 publication Critical patent/JP6791254B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4097Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
    • G05B19/4099Surface or curve machining, making 3D objects, e.g. desktop manufacturing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • 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
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4097Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4434Reducing the memory space required by the program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • 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/13052Display of ladder diagram
    • 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/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36038Ladder program for plc, using functions and motion data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Architecture (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Programmable Controllers (AREA)

Abstract

プログラム開発支援部は、演算部と記憶部とを備える。記憶部には、ラダー図編集プログラムが記憶されるとともに、編集されたラダー図プログラムが記憶される。演算部は、ラダー図編集プログラムを実行して、ラダー図プログラムを編集し、ラダー図プログラムを記憶部に記憶させる。演算部は、ラダー図プログラムによって表されるラダー図に二次元座標を割り当てる。演算部は、ラダー図に含まれる回路要素の二次元座標と種類を検出し、ラダー図に含まれる縦接続線の二次元座標を検出する。演算部は、回路要素と縦接続線をそれぞれの二次元座標に関連付けして、記憶部に記憶させる。

Description

この発明は、ラダー図プログラムのデータ処理技術に関する。
現在、産業用コントローラを用いて複数のデバイス(機器)を制御することで製造ライン等を自動運転するシステムが各種実用化されている。このようなシステムでは、産業用コントローラは、自動運転用のラダー図プログラムに基づいて複数のデバイスの制御を行う。
この場合、プログラム開発者は、特許文献1に記載のようにラダー図プログラムをパソコン等で作成する。そして、プログラム開発者は、当該ラダー図プログラムをパソコン等から産業用コントローラに出力する。
特開2009−265750号公報
しかしながら、従来の構成では、ラダー図プログラムの回路要素、横接続線、縦接続点等の全ての要素が描画素材として取り扱われる。このため、ラダー図プログラムの全体のデータ容量が大きくなってしまう。特に、回路要素、接続線が多く、複雑なラダー図プログラムになるほど、データ容量が大幅に大きくなり易い。
したがって、本発明の目的は、データ容量を抑制できるラダー図プログラムのデータ処理技術を提供することにある。
この発明のプログラム開発支援装置は、演算部と記憶部とを備える。記憶部には、ラダー図編集プログラムが記憶されるとともに、編集されたラダー図プログラムが記憶される。演算部は、ラダー図編集プログラムを実行して、ラダー図プログラムを編集し、ラダー図プログラムを記憶部に記憶させる。演算部は、ラダー図に二次元座標を割り当てる。演算部は、ラダー図に含まれる回路要素の二次元座標と種類を検出し、ラダー図に含まれる縦接続線の二次元座標を検出する。演算部は、回路要素と縦接続線をそれぞれの二次元座標に関連付けして、記憶部に記憶させる。
この構成では、回路要素と縦接続線の二次元座標によって、ラダー図における回路要素の位置、縦接続線の位置および長さ、これらに接続される横接続線が表されている。したがって、回路要素の種類と、回路要素および縦接続線の二次元座標のみを記憶すれば、ラダー図プログラムが復元され、描画素材を用いるよりもデータ容量が抑制される。
この発明によれば、ラダー図プログラムのデータ容量を抑制して記憶できる。
本発明の実施形態に係るプログラム開発支援装置を含むパソコンの概略構成図である。 ラダー図プログラムの記憶時のデータ形式の概念を説明するための図である。 図2に示すラダー図プログラムの元図を示す図である。 ラダー図プログラムの記憶時のデータ例を示す図である。 本発明の実施形態に係るラダー図の記憶方法のメインフローを示すフローチャートである。 より具体的なラダー図プログラムの記憶のための各種検出処理を示すフローチャートである。 本発明の実施形態に係るラダー図の復元方法のフローチャートである。
本発明の実施形態に係るプログラム開発支援の技術について、図を参照して説明する。図1は、本発明の実施形態に係るプログラム開発支援装置を含むパソコンの概略構成図である。
図1に示すように、パソコン10は、プログラム開発支援部11、操作入力部12、通信制御部13、および、表示部14を備える。操作入力部12は、例えば、マウスやキーボードであり、表示部14は、例えば、液晶ディプレイ等である。通信制御部13は、産業用コントローラとの通信制御を行う。ラダー図プログラムは、通信制御部13を介して産業用コントローラ(図示せず)に出力される。ラダー図プログラムは、プログラム開発支援部11で編集され、所定データ形式で記憶され、このデータ形式で産業用コントローラに出力される。
プログラム開発支援部11は、本発明のプログラム開発支援装置に対応し、演算部111と記憶部112とを備える。記憶部112には、ラダー図編集プログラム21を含む各種のプログラム群が記憶されている。
演算部111は、例えば、CPU等からなり、記憶部112に記憶されたラダー図編集プログラム21を実行する。これにより、表示部14には、ラダー図編集画面が表示され、プログラム開発者は、操作入力部12を利用して、ラダー図プログラムの編集を行う。演算部111は、ラダー図編集プログラム21の実行中に、記憶(保存)の操作入力を操作入力部12を介して受け付けると、編集されたラダー図プログラムを、記憶部112のラダー図記憶部120に記憶する。この際、ラダー図プログラムは、次に示す記憶方法を用いて得られる所定のデータ形式で記憶される。
次に、ラダー図プログラムの記憶方法について、より具体的に説明する。図2は、ラダー図プログラムの記憶時のデータ形式の概念を説明するための図である。図3は、図2に示すラダー図プログラムの元図を示す図である。図4は、ラダー図プログラムの記憶時のデータ例を示す図である。
まず、ラダー図プログラムの構成は既知ではあるが、ラダー図プログラムの記憶概念を説明するため、ラダー図プログラムの一例として、図3に示す元図を説明する。なお、図3は、一例であり、ラダー図の構成はこれに限るものではない。
図3に示すように、ラダー図は、左母線、右母線を備える。また、ラダー図は、回路要素、横接続線、および、縦接続線を備える。回路要素、横接続線、および、縦接続線の個数は、ラダー図によって実現する制御の内容に応じて決定されている。
回路要素は、左母線と右母線との間に配置され、横接続線、縦接続線を用いて、他の回路要素、左母線、および右母線のいずれかに接続されている。この接続によって、ラダー図によって実現される制御の順が決定されている。また、回路要素の形状によって、当該回路要素の種類が決定されている。
例えば、図3の場合、回路要素(変数)var1、var2はそれぞれ接点であり、回路要素(変数)var5はコイルである。また、矩形に示される回路要素(変数)は、ファンクションまたはファンクションブロックであり、図3では、MOVEファンクションである。
回路要素(変数)var1の左母線側は、横接続線を介して左母線に接続されており、回路要素(変数)var1の右母線側は、横接続線を介してMOVEファンクションのEN端子に接続されている。MOVEファンクションのENO端子は、横接続線を介して回路要素(変数)var5に接続されており、回路要素(変数)var5の右母線側は、横接続線を介して右母線に接続されている。
回路要素(変数)var2は、回路要素(変数)var1の下側に配置されている。回路要素(変数)var2の左母線側は、横接続線を介して左母線に接続されており、回路要素(変数)var2の右母線側は、横接続線を介して、縦接続線に接続されている。
縦接続線は、それぞれに横接続線を介して、回路要素(変数)var1の右母線側と回路要素(変数)var2の右母線側とに接続されている。
ファンクションのIn端子には回路要素(変数)var3が接続され、Out端子には回路要素(変数)var4が接続されている。
次に、図2を用いて、ラダー図プログラムの記憶概念を説明する。図2に示すように、本実施形態のラダー図プログラムの記憶方法では、ラダー図の左母線、右母線、回路要素、横接続線、および縦接続線を二次元座標で表す。具体的には、ラダー図の横方向がX軸方向に設定されており、ラダー図における左母線の位置がX=0に設定されている。そして、右母線に近づくにしたがってXの値は大きくなる。この際、Xの値は、回路要素を検出する毎に順次加算されていく。
また、図2に示すように、ラダー図の縦方向がY軸方向に設定されており、最上段がY=0に設定され、下の段に進むにしたがってYの値が順次増加するように設定されている。
これにより、図2に示すように、回路要素(変数)var1の座標は(X,Y)=(0,0)となり、MOVEファンクションの座標は(X,Y)=(1,0)となり、回路要素var5の座標は(X,Y)=(2,0)となる。また、回路要素var2の座標は(X,Y)=(0,1)となる。
また、縦接続線の座標は、二次元座標上の配置位置の座標が指定され、図2の場合、(X,Y)=(1,1)となる。
そして、本実施形態のラダー図プログラムの記憶方法では、左母線のX座標が「0」と定義されており、回路要素(変数)の名称(var1等)と該回路要素(変数)の座標とが関連付けして記憶される。また、回路要素(変数)の種類(接点等)も、回路要素(変数)の名称(var1等)と該回路要素(変数)の座標とに関連付けして記憶される。
具体的に、図3のラダー図である場合、図4のようなデータ形式となる。図4に示すように、本実施形態のラダー図プログラムの記憶方法では、例えば、テキストデータによってラダー図プログラムが記憶される。図4に示すように、テキストデータには、回路要素(変数)の名称、回路要素(変数)の種類、および座標が関連付けして記載されている。
具体的には、接点、コイル等の回路要素の場合、回路要素(変数)の名称、回路要素(変数)の種類、および座標が1行にまとめて記載されている。
例えば、
<Contact Variable=”var1”X=0,Y=0 />
では、回路要素(変数)はvar1であり、回路要素(変数)の種類は接点であり、座標が(X,Y)=(0,0)であることが記載されている。
<Contact Variable=”var2”X=0,Y=1 />
では、回路要素(変数)はvar2であり、回路要素(変数)の種類は接点であり、座標が(X,Y)=(0,1)であることが記載されている。
<Coil Variable=”var5”X=2,Y=0 />
では、回路要素(変数)はvar5であり、回路要素(変数)の種類は接点であり、座標が(X,Y)=(2,0)であることが記載されている。
ファンクションまたはファンクションブロックの場合、ファンクションまたはファンクションブロックの名称、座標が1行にまとめて記載され、続く行に、各端子の名前と接続対象とがそれぞれ順に、端子毎に記載されている。
例えば、
<Function Name=”MOVE”X=1,Y=0 />
では、「MOVE」ファンクションであり、座標が(X,Y)=(1,0)であることが記載されている。
また、
<PowerFlowParameterType=”IN”Name=”EN” />
では、ファンクションの左母線側の横接続線に接続される端子が入力端子であり、端子名称が「EN」であることが記載されている。
<VariableParameterType=”IN”Name=”IN”Variable=”var3” />
では、ファンクションが他の回路要素(変数)からの入力端子を備え、端子名が「IN」であり、回路要素(変数)var3に接続されることが記載されている。
<PowerFlowParameterType=”OUT”Name=”ENO” />
では、ファンクションの右母線側の横接続線に接続される端子が出力端子であり、端子名称が「ENO」であることが記載されている。
<VariableParameterType=”OUT”Name=”OUT”Variable=”var4” />
では、ファンクションが他の回路要素(変数)への出力端子を備え、端子名が「OUT」であり、回路要素(変数)var4に接続されることが記載されている。
縦接続線の場合、
<Line X=1 Y=0 />
では、座標(X,Y)=(1,0)を始点に縦接続線が配置されていることが記載されている。
このようにテキストデータで記憶することによって、従来のようにラダー図として描かれた各要素を、それぞれに描画素材として記憶するよりも、記憶容量を抑制できる。
そして、図2に示すように、ラダー図は、左母線の最上位置を基準にして、各回路要素が二次元配列されており、各回路要素がその座標に関連付けして記憶されているので、図4に示すテキストデータを用いれば、図3に示すラダー図プログラムを容易に復元できる。
また、上述の方法では、ファンクションまたはファンクションブロックに接続される回路要素(変数)を、ファンクションまたはファンクションブロックの付属要素として記載している。これにより、これら回路要素(変数)を別途検出し、二次元座標を取得して、これらの回路要素(変数)に個別の行を設けるよりも、データ容量を小さくできる。
上述の処理をフローチャートで示すと、図5に示すフローチャートとなる。図5は、本発明の実施形態に係るラダー図プログラムの記憶方法のメインフローを示すフローチャートである。
図5に示すように、ステップS11として、プログラム開発支援部11は、編集されたラダー図プログラムから、縦接続線を検出し、縦接続線の二次元座標を検出する。縦接続線の検出は、ラダー図プログラムの編集の際に、ラダー図のどの部分が縦接続線であるかが記憶されているので、これを用いればよい。そして、二次元座標は、上述のように、ラダー図の左母線の最上位置を原点として、X軸、Y軸を設定することで容易に検出できる。この際、縦接続線とともに同様に、横接続線も検出される。
次に、ステップS12として、プログラム開発支援部11は、回路要素(変数)を検出し、その種類と二次元座標を検出する。回路要素(変数)および種類の検出は、縦接続線および横接続線と同様に、ラダー図プログラムの編集の際に、ラダー図のどの部分が回路要素(変数)であるかが記憶されており、その回路要素(変数)の種類が関連付けされているので、これを用いればよい。そして、二次元座標は、上述のように、ラダー図の左母線の最上位置を原点として、X軸、Y軸を設定することで容易に検出できる。
なお、縦接続線および横接続線の検出と、回路要素(変数)の検出とは、この順に限らず、これらを同時に行うこともできる。
次に、ステップS13として、プログラム開発支援部11は、回路要素(変数)および縦接続線と、これらの二次元座標とを関連付けして記憶する。この際、上述のように、記憶データは、容量の小さいテキストデータ形式等によって実現される。これにより、ラダー図プログラムは、小さい容量で記憶される。
次に、回路要素(変数)、その種類、および二次元座標の検出方法について、より具体的に説明する。図6は、より具体的なラダー図プログラムの記憶のための各種検出処理を示すフローチャートである。
ステップS201として、プログラム開発支援部11は、ラダー図から横接続線を検出し、リストアップする。この際、プログラム開発支援部11は、左母線に接続されている横接続線を、ラダー図の上側から下側に向かって順にリストアップする。
ステップS202として、プログラム開発支援部11は、横接続線のリストが空でないことを検出すると(S202:NO)、ステップS203に移行する。
ステップS203として、プログラム開発支援部11は、リストの最初(先頭)の横接続線を現横線に設定する。
ステップS204として、プログラム開発支援部11は、現横線の右母線側(+x側)に接続されている回路要素を検出し、現回路要素に設定する。
ステップS205として、プログラム開発支援部11は、現横線の左母線側(−X側)が縦接続線に接続されていることを検出すれば(S205:YES)、ステップS206に移行する。一方、プログラム開発支援部11は、現横線の左母線側(−X側)が縦接続線に接続されていないことを検出すれば(S205:NO)、ステップS210に移行する。
ステップS206として、プログラム開発支援部11は、現横線が縦接続線の最初の要素であるか否かを検出する。プログラム開発支援部11は、現横線が縦接続線の最初の要素であることを検出すると(S206:YES)、ステップS207に移行する。一方、プログラム開発支援部11は、現横線が縦接続線の最初の要素でないことを検出すると(S206:NO)、ステップS280に移行する。
ステップS207として、プログラム開発支援部11は、現回路要素(変数)のY座標であるY(現要素)を、縦接続線の−X側の回路要素(変数)群における最小のY座標に設定する。
一方、ステップS280として、プログラム開発支援部11は、現横線が縦接続線の最後の要素であるか否かを検出する。プログラム開発支援部11は、現横線が縦接続線の最後の要素であることを検出すると(S280:YES)、ステップS208に移行する。
ステップS208として、プログラム開発支援部11は、Y(現要素)を、縦接続線の+X側の回路要素(変数)群における最大のY座標に設定する。
プログラム開発支援部11は、現横線が縦接続線の最後の要素でないことを検出すると(S280:NO)、現横線の上からの順序を取得し、Y座標に加算する。すなわち、プログラム開発支援部11は、縦接続線の−X側の回路要素(変数)群における最小のY座標に、順序の数に応じた値(一番上を0番とすれば順序と同じ数、一番上を1番とすれば順序−1の数)を加算した値に、現回路要素(変数)のY座標であるY(現要素)を設定する(S281)。
これらステップS207、S208、S280、S281によって、左母線側(−X側)が縦接続線に接続された回路要素(変数)のY座標が決定される。
ステップS209として、プログラム開発支援部11は、現回路要素(変数)のX座標であるX(現要素)を、縦接続線の左母線側(−X側)の回路要素(変数)のX座標に「1」を加算した値に設定する。このステップS209によって、左母線側(−X側)が縦接続線に接続された回路要素(変数)のX座標が決定される。
ステップS210として、プログラム開発支援部11は、左母線側(−X側)が縦接続線に接続された現回路要素(変数)の二次元座標(X,Y)を、ステップS207またはS208とステップS209で決定した(X(現要素)、Y(現要素))に設定する。一方、プログラム開発支援部11は、左母線側(−X側)が縦接続線に接続された現回路要素(変数)の二次元座標(X,Y)を、現回路要素(変数)の左母線側(−X側)に隣り合う回路要素(変数)のX座標に「1」を加算した値、および、現回路要素(変数)の左母線側(−X側)に隣り合う回路要素(変数)のY座標に設定する。
ステップS211として、プログラム開発支援部11は、現回路要素(変数)の右母線側(+X側)が縦接続線に接続されているか否かを検出する。プログラム開発支援部11は、現回路要素(変数)の右母線側(+X側)が縦接続線に接続されていれば(S211:YES)、ステップS212に移行する。プログラム開発支援部11は、現回路要素(変数)の右母線側(+X側)が縦接続線に接続されていなければ(S211:NO)、ステップS221に移行する。
ステップS212として、プログラム開発支援部11は、現回路要素(変数)が縦接続線の左母線側(−X側)であって、この縦接続線に左母線側(−X側)が接続された回路要素(変数)群においてY座標が最大であることを検出すれば(S212:YES)、ステップS231に移行する。一方、プログラム開発支援部11は、現回路要素(変数)が縦接続線の左母線側(−X側)であって、この縦接続線に左母線側(−X側)が接続された回路要素(変数)群においてY座標が最大でないことを検出すれば(S212:NO)、ステップS202に移行する。
ステップS221として、プログラム開発支援部11は、現横線の更新を行う。具体的には、プログラム開発支援部11は、現回路要素(変数)の右母線側(+X側)の横接続線を、新たな現横線に設定する。プログラム開発支援部11は、新たな横線をリストの先頭に挿入して現横線の更新を行うと(S233)、ステップS204に戻る。
ステップS231として、プログラム開発支援部11は、横接続線の延長処理を行ってステップS232に移行する。ステップS232として、プログラム開発支援部11は縦接続線の右母線側(+X側)の横接続線をリストアップし、ステップS202に移行する。
上述の処理が繰り返され、プログラム開発支援部11は、リストが空になったことを検出すると(S202:YES)、本処理を終了する。
このような処理を行うことによって、回路要素(変数)の二次元座標を確実に検出できる。
記憶されたラダー図プログラムは、例えば、次の方法によって復元される。図7は、本発明の実施形態に係るラダー図の復元方法のフローチャートである。
プログラム開発支援部11は、記憶されているラダー図プログラムから、回路要素を抽出する(S301)。プログラム開発支援部11は、抽出した回路要素に関連付けされた座標を抽出する(S302)。
プログラム開発支援部11は、記憶されているラダー図プログラムから、縦接続線を抽出する(S303)。プログラム開発支援部11は、抽出した縦接続線に関連付けされた座標を抽出する。なお、回路要素の抽出と縦接続線の抽出とは、この順に限らない。
プログラム開発支援部11は、抽出した各座標に基づいて、回路要素および縦接続線を配置する(S305)。より具体的には、プログラム開発支援部11は、ラダー図の左母線の上端の座標を(X,Y)=(0,0)とする。右母線のX座標は、全ての回路要素における最大のX座標に対して、1加算したX座標によって決定される。プログラム開発支援部11は、横軸をX軸として左母線から右母線方向にX座標を加算し、縦軸をY軸として下方向にY座標を加算しながら、対応する座標位置に回路要素および縦接続線を配置する。この際、プログラム開発支援部11は、回路素子の種類に応じた図形を配置し、設定された変数を当該図形に付随させて配置する。さらに、プログラム開発支援部11は、回路要素がファンクションまたはファンクションブロックであれば、各端子に対する接続先の変数等も配置する。
プログラム開発支援部11は、回路要素および縦接続線の座標に基づいて、回路要素および縦接続線を、横接続線によって接続する(S306)。
このような処理を行うことによって、ラダー図プログラムを容易且つ正確に復元できる。
10:パソコン
11:プログラム開発支援部
12:操作入力部
13:通信制御部
14:表示部
21:ラダー図編集プログラム
111:演算部
112:記憶部
120:ラダー図記憶部

Claims (6)

  1. ラダー図編集プログラムが記憶されるとともに、編集されたラダー図プログラムが記憶される記憶部と、
    前記ラダー図編集プログラムを実行して、前記ラダー図プログラムを編集し、前記ラダー図プログラムを前記記憶部に記憶させる演算部と、
    を備えた、プログラム開発支援装置であって、
    前記演算部は、
    前記ラダー図プログラムによって表されるラダー図に二次元座標を割り当て、
    前記ラダー図に含まれる縦接続線およびその二次元座標と、回路要素、その二次元座標および種類と、を検出し、
    前記回路要素と前記縦接続線をそれぞれの二次元座標に関連付けして、前記記憶部に記憶させる、
    プログラム開発支援装置。
  2. 前記演算部は、前記回路要素と前記縦接続線とをテキストデータで、前記記憶部に記憶させる、
    請求項1に記載のプログラム開発支援装置。
  3. 前記演算部は、
    前記回路要素がファンクションまたはファンクションブロックであることを検出すると、
    前記ファンクションまたは前記ファンクションブロックに接続する回路要素を、前記ファンクションまたは前記ファンクションブロックに対する接続関係とともに記憶する、
    請求項1または請求項2に記載のプログラム開発支援装置。
  4. 前記演算部は、
    記憶されている前記回路素子、前記回路素子の二次元座標、前記縦接続線、および、前記縦接続線の二次元座標を、前記記憶部から読み出し、
    前記ラダー図の左母線の上端を基準にして、前記二次元座標に基づいて、読み出した前記回路素子、および、読み出した前記縦接続線を配置し、
    前記左母線、右母線、前記回路素子、および、前記縦接続線を、横接続線で接続する、
    ことによって、前記ラダー図を復元する、
    請求項1乃至請求項3のいずれかに記載のプログラム開発支援装置。
  5. ラダー図プログラムを編集し、編集された前記ラダー図プログラムを記憶する、プログラム開発支援方法であって、
    前記ラダー図プログラムによって表されるラダー図に二次元座標を割り当てる処理と、
    前記ラダー図に含まれる縦接続線およびその二次元座標と、回路要素、その二次元座標および種類と、を検出する処理と、
    前記回路要素と前記縦接続線をそれぞれの二次元座標に関連付けして記憶する処理と、
    を実行する、
    プログラム開発支援方法。
  6. ラダー図プログラムを編集し、編集された前記ラダー図プログラムを記憶する処理をコンピュータに実行させるプログラム開発支援プログラムであって、
    前記コンピュータに、
    前記ラダー図プログラムによって表されるラダー図に二次元座標を割り当てる処理と、
    前記ラダー図に含まれる縦接続線およびその二次元座標と、回路要素、その二次元座標および種類と、を検出する処理と、
    前記回路要素と前記縦接続線をそれぞれの二次元座標に関連付けして記憶する処理と、
    を実行させる、
    プログラム開発支援プログラム。
JP2018542910A 2016-09-30 2017-09-29 プログラム開発支援装置、プログラム開発支援方法、および、プログラム開発支援プログラム Active JP6791254B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016194881 2016-09-30
JP2016194881 2016-09-30
PCT/JP2017/035404 WO2018062465A1 (ja) 2016-09-30 2017-09-29 プログラム開発支援装置、プログラム開発支援方法、および、プログラム開発支援プログラム

Publications (2)

Publication Number Publication Date
JPWO2018062465A1 true JPWO2018062465A1 (ja) 2019-06-27
JP6791254B2 JP6791254B2 (ja) 2020-11-25

Family

ID=58701366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018542910A Active JP6791254B2 (ja) 2016-09-30 2017-09-29 プログラム開発支援装置、プログラム開発支援方法、および、プログラム開発支援プログラム

Country Status (5)

Country Link
US (2) US20180095447A1 (ja)
EP (2) EP3301569A1 (ja)
JP (1) JP6791254B2 (ja)
CN (2) CN107885898A (ja)
WO (1) WO2018062465A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6988597B2 (ja) * 2018-03-14 2022-01-05 オムロン株式会社 ラダー図プログラム作成支援装置、ラダー図プログラム作成支援方法、およびラダー図プログラム作成支援プログラム
WO2020174627A1 (ja) * 2019-02-27 2020-09-03 三菱電機株式会社 設計支援装置、設計支援方法および設計支援プログラム
JP7067520B2 (ja) * 2019-03-28 2022-05-16 オムロン株式会社 開発支援装置、開発支援装置の制御方法、情報処理プログラム、および記録媒体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000305972A (ja) * 1999-04-23 2000-11-02 Matsushita Electric Works Ltd 自動設計・作図装置
JP2002170073A (ja) * 2000-11-30 2002-06-14 Yokogawa Electric Corp データ管理装置、データ管理プログラムを記録した記録媒体及びデータ管理方法
JP2002182712A (ja) * 2000-12-15 2002-06-26 Yaskawa Electric Corp プログラマブルコントローラの表示方法および表示装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10283005A (ja) 1997-04-04 1998-10-23 Mitsubishi Electric Corp シーケンスプログラムの表示方法、および、実行方法
US6952811B1 (en) * 1998-07-30 2005-10-04 Mitsubishi Denki Kabushiki Kaisha Ladder circuit editing system
JP2003195911A (ja) 2001-12-26 2003-07-11 Koyo Seiko Co Ltd ニーモニック形式からラダー図形式へのプログラム変換方法、上記プログラム変換のためのプログラム、およびこのプログラムが記録された記録媒体
JP2008282260A (ja) * 2007-05-11 2008-11-20 Mitsubishi Electric Corp ラダー図編集装置
JP5141895B2 (ja) 2008-04-22 2013-02-13 オムロン株式会社 Plcのプログラム開発支援装置
US20110295388A1 (en) * 2009-02-04 2011-12-01 Mitsubishi Electric Corporation Ladder program edition device
CN101957745B (zh) * 2009-07-16 2013-04-17 沈阳高精数控技术有限公司 梯形图语言转换为结构文本语言的方法
KR20110012342A (ko) * 2009-07-30 2011-02-09 경상대학교산학협력단 Plc 래더 로직 설계 및 래더 코드 생성방법
WO2015025382A1 (ja) * 2013-08-21 2015-02-26 三菱電機株式会社 プログラム編集用プログラム
CN104267654A (zh) * 2014-08-01 2015-01-07 中南大学 梯形图程序转换成指令表程序及其编译的方法与系统
CN104820393B (zh) * 2015-03-17 2017-06-23 浪潮集团有限公司 一种基于plc梯形图矩阵编译解释方法
CN104656543A (zh) * 2015-03-17 2015-05-27 浪潮集团有限公司 一种plc梯形图矩阵编辑显示方法
JP6351899B1 (ja) * 2016-09-14 2018-07-04 三菱電機株式会社 ラダープログラム編集支援装置およびラダープログラムの編集方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000305972A (ja) * 1999-04-23 2000-11-02 Matsushita Electric Works Ltd 自動設計・作図装置
JP2002170073A (ja) * 2000-11-30 2002-06-14 Yokogawa Electric Corp データ管理装置、データ管理プログラムを記録した記録媒体及びデータ管理方法
JP2002182712A (ja) * 2000-12-15 2002-06-26 Yaskawa Electric Corp プログラマブルコントローラの表示方法および表示装置

Also Published As

Publication number Publication date
US11073818B2 (en) 2021-07-27
JP6791254B2 (ja) 2020-11-25
EP3521953A4 (en) 2020-01-22
US20190187667A1 (en) 2019-06-20
EP3301569A1 (en) 2018-04-04
WO2018062465A1 (ja) 2018-04-05
EP3521953A1 (en) 2019-08-07
US20180095447A1 (en) 2018-04-05
CN109564415A (zh) 2019-04-02
CN107885898A (zh) 2018-04-06

Similar Documents

Publication Publication Date Title
JP5219928B2 (ja) 編集装置及び編集方法、プログラム
JP6791254B2 (ja) プログラム開発支援装置、プログラム開発支援方法、および、プログラム開発支援プログラム
CN108536745B (zh) 基于Shell的数据表提取方法、终端、设备及存储介质
JPWO2016084336A1 (ja) 追学習装置、追学習方法、および、追学習プログラム
CN111857704A (zh) 一种布局关系的代码生成方法及装置
CN107766528B (zh) 瀑布流页面的数据加载方法、终端和计算机可读存储介质
CN105320662B (zh) 网页生成方法及装置
CN111160193A (zh) 关键信息提取方法、装置及存储介质
CN103236042A (zh) 图片自适应处理方法及装置
JP6287498B2 (ja) 電子ホワイトボード装置、電子ホワイトボードの入力支援方法、及びプログラム
US9626469B2 (en) Information processing apparatus, method of outputting circuit image, and storage medium storing circuit image output program
CN112287432A (zh) 目标区域获取方法、装置、计算机设备和存储介质
US10733340B2 (en) System configuration creation supporting device
CN110100233B (zh) 绘图辅助装置、显示系统及绘图辅助方法
CN111951348A (zh) 确定框选区域的方法、装置及电子设备
JP6665576B2 (ja) 支援装置、支援方法及びプログラム
WO2020213129A1 (ja) デバッグ支援装置、デバッグ支援方法、デバッグ支援プログラム
JP2020155044A (ja) プログラム編集装置、プログラム編集方法、および、プログラム編集プログラム
CN116306469B (zh) 模拟版图的金属走线方法、装置、设备及存储介质
JPWO2020110273A1 (ja) 経路探索支援装置、経路探索支援方法、及びプログラム
JP4946397B2 (ja) 情報処理システム、情報処理装置及び情報処理プログラム
JP6519330B2 (ja) プログラム、情報処理装置及び情報処理方法
CN106937142B (zh) 影像显示方法、服务器及终端
JP2008305248A (ja) 検索装置及びプログラム
JPH0668202A (ja) 閉図形抽出方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200311

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200702

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20200702

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200713

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20200714

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: 20201006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201019

R150 Certificate of patent or registration of utility model

Ref document number: 6791254

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150