JP2013222439A - プログラム生成装置 - Google Patents

プログラム生成装置 Download PDF

Info

Publication number
JP2013222439A
JP2013222439A JP2012095647A JP2012095647A JP2013222439A JP 2013222439 A JP2013222439 A JP 2013222439A JP 2012095647 A JP2012095647 A JP 2012095647A JP 2012095647 A JP2012095647 A JP 2012095647A JP 2013222439 A JP2013222439 A JP 2013222439A
Authority
JP
Japan
Prior art keywords
template
program
list
parts list
hierarchical structure
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
JP2012095647A
Other languages
English (en)
Other versions
JP5785130B2 (ja
Inventor
Terumasa Yasui
照昌 安井
Kan Nakai
勘 仲井
Takafumi Kai
啓文 甲斐
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
Priority to JP2012095647A priority Critical patent/JP5785130B2/ja
Publication of JP2013222439A publication Critical patent/JP2013222439A/ja
Application granted granted Critical
Publication of JP5785130B2 publication Critical patent/JP5785130B2/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

  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Abstract

【課題】プログラム作成効率の向上を図ることのできるプログラム生成装置を得る。
【解決手段】部品リスト2は、プログラムを構成する部品の階層構造を示し、テンプレート1は、プログラムの部分記述と、階層構造における子テンプレートの挿入位置を示す記述とからなり、プログラムの部分記述として、階層構造中の相対位置で対象を指定するためのパラメタを含む。プログラム生成部3は、テンプレート1のパラメタの対象指定を、パラメタが記述されたテンプレート1の階層構造中の位置と、部品リスト2の階層構造中で同じ位置にある部品リスト2を起点とした相対位置で解釈した対象の部品で置換することによりプログラム4を生成する。
【選択図】図1

Description

本発明は、プログラム生成装置に関し、特に、産業用コントローラやマイコンで実行される計測監視制御プログラムの作成支援を行うプログラム生成装置に関する。
従来より、各種設備の計測監視制御の目的で、プログラマブルコントローラ(Programmable Controller;PC)、モーションコントローラ(Motion Controller;MC)、数値制御装置コントローラ(Numerical Controller;NC)、検査装置コントローラ、表示器(Graphic Operation Terminal;GOT)などの産業用コントローラが用いられている。産業用コントローラで実行される計測監視制御プログラムに用いられる言語としては、ラダーを代表例とするIEC61131−3規格に準拠した言語や、コントローラ専用の言語などがあげられる。
以下、産業用コントローラの代表として、プログラマブルコントローラ(以下、PCという)を例にあげて説明する。PCは計測監視制御プログラム(以下、プログラムという)を実行して、計測監視制御対象の状態を把握したり、動作を指示したりする。プログラムは、所定のプログラム作成支援装置(例えば、ラダー作成支援装置)を用いて作成され、主に変数、デバイス、数値を用いて記述される。
ここでいうデバイスとは、PCとそれが接続する計測監視制御対象との間の入出力をPCのメモリアドレスに割りつけたもの、および、PCが内部的に使用するメモリアドレスを指している。例えば、非特許文献1に示されたようなプログラム作成支援装置(ラダー作成支援装置)に対応するPCでは、入力を割りつけたものをXデバイス、出力を割りつけたものをYデバイス、内部的に使用するビットデータ(内部リレー)をMデバイス、内部的に使用するワードデータ(レジスタ)をDデバイスやRデバイス、というようにデータ種別によってデバイス文字が予め決められている。デバイスはデバイス文字とアドレスにより表記され、例えば入力デバイスのアドレス0のものは「X0」と表記される。
プログラム作成支援装置は、一般的にはパーソナルコンピュータ(以下、パソコンという)上で動作するソフトウェアツールとして提供され、PCが設備の計測・監視・制御を行うためのプログラムの編集を支援する他、PCをパソコンに接続して、パソコンで編集したプログラム(あるいはそれをコンパイルして得られた実行コード)をPCへ転送する機能などを有している。非特許文献1はこうしたプログラム作成支援装置の例である。なお、プログラム作成支援装置が提供するプログラム編集機能などを搭載する表示器(GOT)もある。これにより、PCと常時接続状態にあるGOT上から、プログラムの編集などを行うことができる。
計測監視制御対象である設備の仕様およびプログラムは、パソコン上で動作するソフトウェアツールを用いて記述されることにより、電子的にデータ化されているが、仕様とプログラムの間には電子データ的な相互関係がないことから、計測監視制御プログラムは、仕様に基づいて、プログラム作成支援装置を用いて人手により作成されている。そのため、仕様に記述された機能を過不足なく、不具合無く動作させるプログラムの作成には多大な労力が必要であった。
近年では、よく使用するプログラムをプログラムモジュール(Program Organization Unit;POU)として部品化し、設備の仕様に合致するPOUを再利用しつつ、複数のPOUからプログラムを構成することが可能なプログラム作成支援装置もある。プログラム言語がラダーであれば、POUはサブルーチンや機能ブロック(Function Block;FB)に相当し、ストラクチャードテキスト(Structured Text;ST)などであれば、POUはサブルーチンや関数に相当する。
さらに、複数のプログラム部品からなる任意のプログラムパタンに名前(マクロ名)をつけて登録しておき、プログラムの作成時にそれを呼び出して再利用(マクロ流用)できるマクロ機能を有するプログラム作成支援装置もある。このようにプログラム部品を再利用できるプログラム作成支援装置を用いることにより、プログラム作成の労力は軽減される。
例えば、特許文献1ではこのようなプログラム再利用に関してプログラム部品中のデバイスなどを示す場所をユーザが抽象的な名前で記述したものを再利用し、抽象名を部品実体化情報により実体化して具体的なプログラムを生成する方法について述べているが、抽象名で記述された部品挿入箇所と挿入する実体との間には単純な関係しかなく、ある部品実体が複数箇所に展開されることにより論理回路を構成する具体的な方法については述べられていない。
特開平7−49651号公報
「GX Developer Version 8 オペレーティングマニュアル」 三菱電機株式会社、マニュアル番号SH-080356
上記のように、プログラムの作成は、作成者即ち人間が計測監視制御対象の仕様記述を理解した上で手作業により行われる。近年のプログラム作成支援装置では、プログラム部品を再利用することにより、プログラムの作成労力はある程度軽減されるが、仕様に合致するようにプログラムを作成するためには、どのプログラム部品を選定し、それらをどのように組み合わせるかといった判断が難しく、更にその労力を軽減することが望まれていた。
この発明は上記のような課題を解決するためになされたもので、プログラム作成効率の向上を図ることのできるプログラム生成装置を得ることを目的とする。
この発明に係るプログラム生成装置は、プログラムを構成する部品の階層構造を示す部品リストと、プログラムの部分記述と、階層構造における子テンプレートの挿入位置を示す記述とからなり、プログラムの部分記述として、階層構造中の相対位置で対象を指定するためのパラメタを含むテンプレートとを設けると共に、部品リストとテンプレートとを入力とし、テンプレートのパラメタの対象指定を、パラメタが記述されたテンプレートの階層構造中の位置と、部品リストの階層構造中で同じ位置にある要素を起点とした相対位置で解釈した対象の部品で置換することによりプログラムを生成するプログラム生成部を備えたものである。
この発明のプログラム生成装置は、テンプレートのパラメタの対象指定を、パラメタが記述されたテンプレートの階層構造中の位置と、部品リストの階層構造中で同じ位置にある要素を起点とした相対位置で解釈した対象の部品で置換することによりプログラムを生成するようにしたので、プログラム作成効率の向上を図ることができる。
実施の形態1に係るプログラム生成装置の最小構成を示す構成図である。 実施の形態1に係るプログラム生成装置の拡張構成を示す構成図である。 自己保持回路を表すラダープログラムの説明図である。 図3のラダープログラムを論理式で表現した説明図である。 図3のラダープログラムを木構造で表現した説明図である。 実施の形態1に係る1階層と2階層の部品リストの例を示す説明図である。 実施の形態1に係る2階層と1階層のテンプレートの例を示す説明図である。 実施の形態1に係るパラメタを示す説明図である。 実施の形態1に係る参照指定・複製指定および複製制約を示す説明図である。 実施の形態1に係るテンプレートと部品リストとの階層構造の対応と生成されるプログラムを示す説明図である。 実施の形態1に係るテンプレート階層の順次処理を示すフローチャートである。 実施の形態1に係るテンプレートのパラメタを部品リスト中の要素で置き換える処理を示すフローチャートである。 図10のラダープログラムをラダー図で表現した説明図である。 実施の形態1に係るプログラムを内部に含むテンプレートと、それを用いたプログラム生成例を示す説明図である。 実施の形態1に係る親を参照するパラメタを含むテンプレートと、それを用いたプログラム生成例を示す説明図である。 図15のラダープログラムをラダー図で表現した説明図である。 実施の形態1に係る複製指定を含むテンプレートと、それを用いたプログラム生成例を示す説明図である。 実施の形態1に係る複数の複製指定を含むテンプレートと、それを用いたプログラム生成例を示す説明図である。 図18のラダープログラムをラダー図で表現した説明図である。 実施の形態1に係る複製指定を持ったテンプレートと複製インデクスを示す説明図である。 実施の形態1に係る複製制約を含むテンプレートと、それを用いたプログラム生成例を示す説明図である。 図21のラダープログラムをラダー図で表現した説明図である。 実施の形態1に係る複製指定・複製制約を含んだテンプレート処理のフローチャートである。 実施の形態1に係るインターロック回路を表現したテンプレートと部品リストを示す説明図である。 図24の1つ目の複製指定によりテンプレートを複製した状態を示す説明図である。 図24の左端の部分木に対し、2つ目の複製指定によりテンプレートを複製した状態に複製インデクスを付記した状態を示す説明図である。 図24の左端の部分木に対し、2つ目の複製指定と複製制約によりテンプレートを複製した状態を示す説明図である。 図24の構成から生成したプログラムを示す説明図である。 図24〜図28で生成されるインターロック回路をラダー図で表現した説明図である。 図24〜図28のテンプレートに対応した5要素のインターロック回路の部品リストを示す説明図である。 図30の部品リストを用いて生成されるインターロック回路をラダー図で表現した説明図である。 オン優先インターロック回路を表現したテンプレートの説明図である。 図32のテンプレートから生成されるオン優先インターロック回路をラダー図で表現した説明図である。 実施の形態1に係るテンプレート編集画面の実現例を示す説明図である。 実施の形態1に係るプログラム編集画面の実現例を示す説明図である。 XMLで記述した図6の部品リストを示す説明図である。 S式で記述した図6の部品リストを示す説明図である。 実施の形態1に係るテンプレート表示領域とプログラム表示領域を持つプログラム編集画面の実現例を示す説明図である。 実施の形態2に係る表計算ソフト特有の操作を用いてプログラムを生成するシステムの画面と操作を示す説明図である。
実施の形態1.
図1は、この発明の実施の形態1によるプログラム生成装置の構成図である。
図1に示すプログラム生成装置は、テンプレート1、部品リスト2、プログラム生成部3を備えている。テンプレート1は、プログラムの部分記述と、階層構造における子テンプレートの挿入位置を示す記述とからなり、また、プログラムの部分記述として、階層構造中の相対位置で対象を指定するためのパラメタを含むものである。部品リスト2は、プログラムを構成する部品の階層構造を示すものである。プログラム生成部3は、部品リスト2とテンプレート1とを入力とし、テンプレート1のパラメタの対象指定を、そのパラメタが記述されたテンプレート1の階層構造中の位置と、部品リスト2の階層構造中で同じ位置にある部品リスト2を起点とした相対位置で解釈した対象の部品で置換することによりプログラム4を生成するものである。また、この構成は本発明の最小構成であるが、さらに、各種の機能部を備えてもよい。
なお、プログラム生成装置はコンピュータを用いて実現され、プログラム生成部3は、その機能に対応したソフトウェアと、このソフトウェアを実行するCPUやメモリといったハードウェアから構成されている。また、プログラム生成装置は、ユーザが各種の入力を行うための入力部や、テンプレート1や部品リスト2、プログラム4等を表示するための表示部を備えている。
図2は、プログラム生成装置の拡張構成を示す構成図である。
図示のプログラム生成装置は、テンプレート1を保持するテンプレート保持部5と、部品リスト2を保持する部品リスト保持部6を備えると共に、図1と同様のプログラム生成部3と、テンプレート編集部7、テンプレート表示部8、部品リスト編集部9、部品リスト表示部10、自動生成部11、プログラム編集部12、プログラム表示部13を備えている。
テンプレート編集部7は、テンプレート1の編集を行う処理部であり、テンプレート表示部8は、テンプレート編集部7で編集するテンプレート1やテンプレート保持部5で保持されているテンプレート1の情報を表示する表示部である。部品リスト編集部9は、プログラム編集部12からの指示に従い、部品リスト2の編集を行う処理部である。また、部品リスト表示部10は部品リスト2に関する情報を表示する表示部である。自動生成部11は、テンプレート1から部品リスト2の自動生成を行う処理部である。プログラム編集部12は、部品リスト編集部9やプログラム生成部3を呼び出し、プログラム編集を行う処理部である。また、プログラム表示部13は、プログラム編集部12の編集するプログラム4やプログラム生成部3によって生成されたプログラム4を表示するための表示部である。なお、テンプレート表示部8、部品リスト表示部10およびプログラム表示部13は、それぞれ独立した表示部であっても、画面中の部分的な領域であってもよい。
以上、実施の形態1では、図2に示した各機能部を任意の組み合わせで構成することができる。
ラダー言語はPLCプログラムの記述に用いられるプログラミング言語であり、一般に図3のようなラダー図で表現される。ラダープログラムはリレー回路を表現しており、スイッチおよびコイルの直列・並列結合が入れ子になった回路と等価である。301の記号はA接点であり、デバイスX0がオンになると通電するスイッチを表す。302の記号はB接点であり、デバイスX1がオフになると通電するスイッチを表す。303の記号はコイルであり、入力がオンになった場合に出力がオンとなる電磁スイッチである。X0,X1,Y10などはデバイスであり、ある特定のスイッチ・センサなどを表す。以下、デバイスX0につながった接点を接点X0などと呼称する。接点X0とY10は並列結合されており、いずれかのスイッチがオンの場合通電し、出力がオンとなる。X1はその出力に直列結合されており、B接点なのでX1がオフの時通電する。よって、X0またはY10のいずれかがオンで、X1がオフの場合のみY10の入力はオンになる。
即ち、ラダーはブール式を表現しており、図3のラダーは図4に示す論理式と等価である。ブール式はAND,ORの入れ子として表現できる。同様にラダープログラムは直列・並列結合回路の入れ子として表現できる。図5に図3のラダーを階層表現したものを示す。図5において、接点X1とコイルY10の関係は論理式のANDとは異なるが、回路上は直列回路であるので接続関係については同様の表現が可能である。
図3の回路は自己保持回路とよばれ、ラダープログラムでは重要な回路である。もし、304がないとすると、スイッチX1は押されていない状態では通電しているため、スイッチX0を押すとコイルY10はオンとなり、離すとオフとなる。304が存在すると、X0を押した時にY10がオンとなり、304もオンとなるため、X0を離しても304がオンとなり、301と304の並列結合の出力はオンとなり、303の入力はオンのままとなる。つまり、X0を一度押すと、離してもY10がオンの状態を維持する回路である。直列接続となっている302を押すとY10はオフとなる。
以下では、上記の階層構造を利用し、部分プログラムの構造を表し再利用可能なテンプレート1と、部品リスト2から具体値を取得してテンプレート1に適用してラダープログラムを生成する装置について述べる。
部品リスト2は部品具体値または部品リストを要素とするリストである。図6に部品リスト2の例を示す。部品リスト2は階層構造を取る。図6の(a)が1階層の例であり、(b)が2階層の例である。部品リストBが部品リストAの要素である時、BはAの子部品リストであり、AはBの親部品リストである。図6の(b)では、601は602の親部品リストであり、602は601の子部品リストである。ユーザがテンプレート1に対し、テンプレート1が必要とする構造の部品リスト2を定義することによりプログラム生成部3はプログラム4を生成する。
テンプレート1はプログラム4の構造を定義するプログラム部品である。同一の構造を持つプログラム4に対しては同じテンプレート1を利用して異なった部品リスト2を定義することによりプログラム4を生成することができる。
テンプレート1はプログラム内容の記述を含む。ラダー言語のテンプレート1の最も単純なものはラダー言語そのものであり、例えば、図5に示した階層構造がテンプレート1の例となる。
プログラム内容の記述にはテンプレート1を含むことができる。含まれるテンプレート1を子テンプレートと呼ぶ。子テンプレートにとって自分を含むテンプレート1は親テンプレートである。図5では、502は501の子テンプレートであり、501は502の親テンプレートである。図7は、テンプレートの例であり、図7(a)が2階層のテンプレート、図7(b)が1階層のテンプレートを示している。
プログラム内容の記述にはパラメタを含むことができる。図8にパラメタを含むテンプレートを示す。接点・コイルなどの示すデバイスがパラメタとなっているため、異なったデバイスに対する同じ構造の回路(図示例では自己保持回路)を同一のテンプレート1から生成できる。パラメタは参照指定を持っており、プログラム生成部3はパラメタの位置に展開する部品を指定に沿って選択する。指定の詳細は後述する。
プログラム生成部3は上記のテンプレート1と部品リスト2を入力とし、プログラム4を生成する。プログラム生成部3はテンプレート1中のパラメタを、そのパラメタが参照指定する部品リスト2中の要素と置き換えることによりプログラム4を生成する。図9は、この参照指定及び複製指定、複数制約を表現したものである。以下、参照指定について説明する。
テンプレート1と部品リスト2は共に階層構造を持つ。テンプレート1中のパラメタは参照指定を持つが、参照指定は、テンプレート階層構造の中で自分が持つ位置と同じ部品リスト階層構造中の位置を起点として参照先を指定する。図10(a)において、テンプレート1と部品リスト2は同じ階層構造を持っており、接点1001は部品1002と同じ位置にある。参照指定により部品リスト2中の同じ位置にある部品を参照することができる。図10では1001のパラメタは参照指定「$.」がこれを表している。これにより、プログラム生成部3はテンプレート1中の1001部品のデバイスを部品リスト2中の1002の部品X0と置き換える。他のパラメタについても同様の置き換えを行い、図10(b)に示すラダープログラムを得る。
図11にテンプレート階層をたどる処理を表すフローチャートを示す。
即ち、先ず、現在位置をテンプレート1のトップに設定し(ステップST1)、その後、パラメタ展開など現在位置のテンプレート1の処理を行う(ステップST2)。次に、現在位置のテンプレート1に子があるかを判定し(ステップST3)、子があった場合は最初の子テンプレートに現在位置を移動して(ステップST4)、ステップST2に戻る。一方、ステップST3において、子がなかった場合は、現在位置のテンプレートに次の兄弟があるかを判定し(ステップST5)、兄弟があった場合は、次の兄弟テンプレートに現在位置を移動して(ステップST6)、ステップST2に戻り、なかった場合は親テンプレートがあるかを判定する(ステップST7)。ステップST7において親テンプレートがあった場合は、親テンプレートに現在位置を移動して(ステップST8)、ステップST2に戻り、親テンプレートが無かった場合は終了となる。
図11のフローチャートにおけるステップST2の詳細を図12に示す。即ち、テンプレート中、置き換えられていないパラメタがあるか否かを判定し(ステップST21)、あった場合は、現在位置のテンプレート1と同じ位置の部品リスト2中の要素を起点として、パラメタが示す位置にある要素を取得し、パラメタと置き換える(ステップST22)。
図13は、図10(b)のプログラム4をラダー図で表現したものである。上下2つならんだ回路は同じテンプレートから生成されたので同じ構造を持ち、部品リスト2の異なった部分からの部品を用いているため、異なったデバイスを使っている。従来のラダーエディタの持つマクロ機能も同じ構造にパラメタを適用するものであり、繰り返し適用すれば同様の結果を得られるが、本実施の形態では複数の回路のパラメタを一斉に与えることができるためより効率的である。
参照指定により部品リスト2中の同じ位置にある部品の指定した順番の子要素を参照することができる。図14(a)に示したテンプレートは図10(a)のものと異なり、階層が少ない。1401に対応する部品リスト中の要素は1402である。1401は内部にプログラムを持っており、パラメタの参照指定は「$0」となっているがこれは0番目の子要素を表す。1402の0番の子要素は1403であるため、プログラム生成部3はX0をこのパラメタの位置に展開する。同様に1401の$1などを展開すると14(b)のプログラムを得る。これは図10と同じプログラムである。
参照指定により部品リスト2中の同じ位置にある部品の親、あるいはさらにその親を再帰的に参照することができる。図15の(a)において、テンプレート1501と同じ位置にある部品リスト中の要素は1503である。1501は内部にプログラム定義を持っており、パラメタの参照指定は「$$0」となっているが、$の数がいくつ親をさかのぼるかを表す。1つの場合が自身を表し、ここでは2つなので1503の親、即ち、1502を表す。$$0は1502の0番目の子を表すため1503である。即ち、$$0はX0に置き換えられる。同様に$$1は1504であり、Y10に置き換えられる。ここで、1505と同じ位置にある部品リスト中の要素は1502であるが、1505中の$1は1502の1番目の子、即ち1504を表す。つまり、1501の$$1と1505の$1は同じ要素を指しており、このようなテンプレート表現により部品リスト中の単一の要素が複数箇所に展開される。図15の(b)ではY10が2ヶ所に現れており、ラダー図で表現すると図16となる。これはオフ用の接点を持たない自己保持回路である。3つの要素からなるが使用するデバイスは2つであるため、部品リストには2要素の記述でプログラムを生成することができた。これにより、全てを入力する場合に比べて効率的に作成でき、またY10は自動的に2ヶ所に展開されるため、意図せず異なったものを入れてしまう入力ミスも軽減される。
次に、テンプレート1が複製指定を持つ場合を説明する。
テンプレート1が複製指定を持つ場合、プログラム生成部3はテンプレート1を複製する。複製指定は部品リスト2中の要素を複製対象親として指定する。図17の(a)において、テンプレート1701は複製指定1702を持つため、プログラム生成部3は、1701を複製する。複製対象親の指定はパラメタの参照指定と同様に、部品リスト2中の同じ位置を起点として親やある順番の子を指定できる。1702では「$$*」となっており、すぐ上の親、即ち、1703を親として指定している。1703は2つの子を持っているため、1701は2つ複製される。この時、複製された2つのテンプレートでは対応する1703の子が参照指定の起点となる。図17の(b)にこの様子を示す。1701から複製された0番目の子である1705には1703の0番目の子である1704が起点となり、その0番目の子1706の参照の起点は1707である。1706の参照は「$.」つまり同じ位置なので、1706のパラメタはX0で置き換えられる。
この結果、生成されるラダープログラムは図13のものであり、図10の(b)で示したものと同じである。図10の(a)ではテンプレート1も部品リスト2と同じ数の子テンプレートを持っていたが、子テンプレートの構造は同じであるため、ここでの複製による方法で十分であり、より効率的である。また、複製数が3以上になった場合、図10の(a)の定義ではテンプレート1の変更が必要だが、複製を用いたものは任意の数に対応できる。
複製を用いることにより同じ構造の回路が並ぶような回路の記述がより容易になる。
テンプレート1は複数の複製指定を持つことができる。プログラム生成部3は、複製指定ごとにテンプレート1を複製する。図18の(a)のテンプレート1は1801と1802の2ヶ所に複製指定を持つ。1801の複製指定は1つ上の親を複製対象親に指定しており、1802の複製指定は2つ上の親を複製対象親に指定しているので、どちらも同じ親1803を指定している。1803は2つの子を持っているので複製の都度2つの子ができ、合計4つに展開され、その都度、1803の対応する子が参照の起点となる(図18の(b)→(c))。結果として図18の(d)に示すプログラム4が生成される。このプログラム4をラダー図で表すと図19に示す回路となる。
プログラム生成部3が複製を行うときに、複製インデクスを生成する。複製インデクスは複製内から参照でき、その複製が何番目の複製であるかを返す。図20の(a)において2001は複製指定を持ち、複製指定親は2002である。2002は3つの子を持つためテンプレートは2003,2004,2005の3つが複製され、それぞれが2002の3つの子を参照の起点とする。この時、2003の2001での複製における複製インデクスは0であり、2004は1、2005は2である。複製が入れ子になっている場合、全ての段階での複製インデクスが参照できる。図21の(a)では、2101と2102の2回の複製が行われているので2組の複製インデクスが生成される。2101の複製における2103の複製インデクスは0である。また、2105は2103の下にあるため、2101の複製における2105の複製インデクスも0である。2104は2102によっても複製されるため、ここでも別の複製インデクスを持つ。2102の複製における2104の複製インデクスは1である。
複製指定は複製制約を持つことができる。複製制約がある場合、複製制約を満たす子テンプレートのみが複製される。複製制約指定に複製インデクスを用いることができる。図21の(a)において、2101,2102の2回の複製が行われるが、2102は複製制約2106を持つ。2102から複製された2105,2104は2つの複製インデクスを持つが、複製制約2106においてこれらのインデクス間の制約が記述されている。「$.」はこの位置、つまり2102での複製インデクスを表し、「$..」は1つ上の位置、つまり2101での複製インデクスを表しており、複製制約「$.!=$..」はこの2つが等しくないことを要求している。2105においては「$.」「$..」ともに0であるため制約を満たさない。このため、プログラム生成部3は2105を生成しない。2104においては「$.」は1、「$..」は0であるため制約を満たす。結果として図21の(d)が生成される。これはラダー図で表現すると図22に示す回路となる。
複製指定・複製制約を含んだ処理では、図11に示した階層処理の中で、ステップST2の処理部分が図23のフローチャートに示す処理になる。即ち、プログラム生成部3は、テンプレート1に複製指定があるかを判定し(ステップST201)、あった場合は、複製指定の指定する複製対象親の先頭の子を起点に選ぶ(ステップST202)。次に、テンプレート1に複製制約があるかを調べ(ステップST203)、あった場合は複製制約が満たされているかを判定する(ステップST204)。ステップST204において、満たされていた場合はテンプレート1を複製し(ステップST205)、満たされていない場合は次の子を起点に選び(ステップST206)、ステップST203に戻る。
ステップST205において、テンプレート1を複製した後は、複製したテンプレート1に置き換えされていないパラメタがあるかを調べ(ステップST207)、あった場合は、起点として選択した要素を起点として、パラメタが示す位置にある要素を取得し、パラメタと置き換え(ステップST208)、ステップST207に戻る。ステップST207において、置き換えられていないパラメタがなかった場合は、子がまだ残っているかを判定し(ステップST209)、残っていた場合はステップST206に移行し、残っていない場合は終了する。
一方、ステップST201において、複製指定がなかった場合は、図12に示す動作と同様である。即ち、テンプレート1中、置き換えられていないパラメタがあるか否かを判定し(ステップST210)、あった場合は、現在位置のテンプレート1と同じ位置の部品リスト2中の要素を起点として、パラメタが示す位置にある要素を取得し、パラメタと置き換えて(ステップST211)、ステップST210に戻る。ステップST210において置き換えられていないパラメタがなかった場合は終了する。
図24に示すテンプレートは2401と2402の2ヶ所に複製指定を持つ。2401の複写指定は2403の3つの子に沿ってテンプレートを3つ複製する。2402の部分は2つ上の要素、つまり2403を複写対象親としており、同様に3つの子を複製する。冗長であるため、図26及び図27に、図25における2404以下の部分のみ記す。2402からは3つのテンプレートが複製されるが、複製制約があるため複製インデクスが0である2405は複製されない。結果として、全体としては図28の回路が生成される。これはラダー図で表すと図29の回路であり、インターロック回路と呼ばれる。X0,X1,X2の3つのスイッチがお互いをオフにしあうため、Y10,Y11,Y12のうちいずれかひとつのみしかオンにならない。
インターロック回路は汎用性の高い回路であるが通常の単純なマクロでは表現できないが、本実施の形態のプログラム生成装置では、単一のテンプレート1として表現でき、3つのスイッチと3つのコイル以外の冗長な入力も必要としない。図24の部品リスト2が3組の部品からなるのに対し、図30は5組の部品からなる。全く同じテンプレート1に対して図30の部品リスト2を用いることにより、図31のインターロック回路が生成できる。部品リスト2の要素数を変化させるだけで、任意の要素数のインターロック回路を同一のテンプレート1から生成できることを示している。
ここまで示したインターロック回路はオフ優先インターロック回路と呼ばれるもので、2つ以上のスイッチを同時に押した場合、全ての出力がオフになる特性を持っている。図32に示したテンプレート1はオン優先インターロック回路のものであり、2つ以上のスイッチを同時に押した場合、押されたスイッチに対応するコイルの出力が同時にオンになる特性を持っている。このオン優先インターロック回路テンプレートに対応する部品リスト2はオフ優先インターロック回路のものと構造が同じであるため、図24〜図28で示したものと同じ部品リストを再利用することができる。図33に図24〜図28で用いた部品リスト2から生成されたオン優先インターロック回路のラダー図を示す。
実施の形態1におけるこのような構成により、テンプレート1のみならず、同じ構造を要求するテンプレート1に対して部品リスト2も再利用可能であることが示される。
次に、上述したテンプレート1や部品リスト2の編集について説明する。
テンプレート編集画面は、テンプレート名入力領域、プログラム編集領域、プログラム要素アイコン表示領域からなる。図34にその一例を示す。
テンプレート名入力領域では作成したテンプレートに名前をつけることができ、プログラム編集部12などでテンプレート保持部5に保存したテンプレート1をテンプレート名を用いて呼び出すことができる。
テンプレート編集領域ではテンプレート1の階層構造を表示している。ノードはテンプレートを表しており、選択することができる。選択したノードに対して、ノードごとに規定された編集が可能である。例えば、接点なら対象指定の編集が可能である。図34では「$$$0」「$$1」などの部分である。
また、テンプレート編集画面は、選択されたノードの削除や左右への移動を行うボタンがあり、階層構造を編集できる。さらに、複製指定追加・複製制約追加ボタンにより、選択したノードに複製指定・複製制約を追加できる。複製指定ノード・複製制約ノードを選択すると内容を編集できる。複製指定ノードでは複製対象親の指定を編集できる。図34では「$$$*」の値を取るノードが示されている。複製制約ノードでは複製制約を編集できる。図34では「$.!=$..」即ち、この複製での複製インデクスが、1つ上の階層での複製インデクスと等しくない、という複製制約を示している。
さらに、テンプレート編集画面には、ラダープログラムで用いることのできる要素がアイコンとして表示されている。あるノードをテンプレート編集領域で選択し、アイコンをクリックすることでアイコンを選択したノードの子として追加できる。また、ユーザはこれらのアイコンをテンプレート編集領域のノードにドラッグアンドドロップ等の操作を行うことで、対象要素内に追加することもできる。図34では、AND・OR・A接点・B接点・コイルの5種類が表示されているが、これ以外にもラダープログラムで利用できる要素を含むことが可能である。
プログラム編集部12では、ユーザが部品リスト編集部9を呼び出して部品リスト2を編集することができる。また、プログラム編集部12では、テンプレート保持部5からテンプレート1を選択し、テンプレート1に対応する部品リスト2を部品リスト編集部9で編集してプログラム生成部3を呼び出し、プログラム4を自動生成することができる。
プログラム編集部12の編集画面は、テンプレート名表示領域、部品リスト編集領域からなり、この例を図35に示す。図35において、テンプレート名表示領域は生成に使用しているテンプレート1の名称を表示している。図35では、上部にテンプレート名表示領域があり、「インターロック回路」のテンプレート1を利用していることを表している。テンプレート名表示領域にテンプレート名を入力することで使用するテンプレート1を選択するようにしても良い。また、テンプレート名表示領域がメニューとなっており、利用可能なテンプレート一覧を提供し、メニューの選択によりテンプレート1を選択するようにしても良い。
部品リスト編集部9は、部品リスト2のツリー構造を編集可能なインタフェースとなっており、テンプレート1のトップ要素に対応する部品リスト2のトップ要素以下にリストの要素としてリストを追加する機能と、リストの要素として具体値を追加する機能を有する。要素の追加は対応するアイコンで指定したり、テキストで入力することもできる。図35の例では、下部に部品リスト編集領域があり、部品リストの階層構造が表示されている。リストの各ノードは選択でき、X0,Y10などの具体値を表すノードは内容を編集できる。また、部品リスト編集部9は選択したノードの子として部品リストノード・具体値ノードを追加、削除するボタンと、選択したノードを左右に移動させるボタンを持ち、リスト構造を自由に編集できる。
テンプレート1から部品リスト構造を自動生成部11で自動生成した場合は、ノード構造を編集する上記ボタン群を使用できないようにし、ノードへの具体値入力のみ可能にしてもよい。
部品リスト編集部9は、編集された部品リスト2を再利用のために保持する部品リスト保持部6を用いるようにしてもよい。部品リスト保持部6から取り出した部品リスト2を更に編集したり、部品の一部を流用したりして編集に利用する機能を持つことも考えられる。
部品リスト編集部9は、編集中の、あるいは部品リスト保持部6の保持する部品リスト2を表示する部品リスト表示部10を合わせ持っても良い。図35の例では部品リスト編集領域が部品リスト表示部10となっており、編集中の部品リスト2を表示している。
本実施の形態では、階層構造を表現できるなんらかのスクリプトで書いても良い。例えば、XMLやLispのS式などで表現することが考えられる。
図36にXMLで記述した図6の(b)の部品リスト2を示す。また、図37にS式で記述した図6の(b)の部品リスト2を示す。
プログラム編集部12の編集画面は、選択されたテンプレート1を表示する表示領域を持っても良い。図38ではテンプレート表示領域にテンプレート1が表示されている。
テンプレート1中の各パラメタを具体化するためには部品リスト2がその全ての参照先に部品を配置することが必要であるが、自動生成部11がテンプレート1中の参照指定を解析することにより、これに十分な構造の部品リスト2を生成することが可能である。
例えば図15において、テンプレート1505はパラメタ「$1」を含むが、これは部品リスト2中で同じ位置にあるリスト1502のインデクス1の子を指すので、1502は子1504を必要とする。また、1501は「$$0」と「$$1」を含むので、部品リスト2中で1501の親1505と同じ位置にある1502はインデクス0の子1503およびインデクス1の子1504を必要とする。合わせると、このテンプレート1に対しては、1502,1503,1504からなる構造の部品リスト2が必要なことがわかる。1503,1504にどのような具体値が入るかはテンプレート1からは決定できないため、生成された部品リスト2には未定値や仮のデフォルト値を入れる。
プログラム編集において、部品リスト2の形状は自動生成部11によって自動的に決定されるため、ユーザはリスト構造を編集する必要はなく、具体値のみ記述すれば良い。図で言うと1503にX0、1504にY10を挿入するのみでプログラム生成に十分な部品リスト2の定義を行うことができる。
プログラム編集部12は、選択されたテンプレート1と、編集された部品リスト2を与えてプログラム生成部3を呼び出し、プログラムを生成することができる。
また、実際には、既に完成したラダープログラムを元にしてテンプレート1を作成する場合が多いが、このような場合でもラダープログラム中のパラメタ化したい要素を指定し、そこの位置指定を$.とすることによってテンプレート1が作成でき、また、上述した自動生成部11の機能により対応した部品リスト2の構造も自動生成することができる。例えば、図10に示すようなテンプレート1と部品リスト2(図13に示すラダープログラム)のような場合は自動生成することができる。
プログラム編集部12の編集画面には、生成したプログラムを表示するプログラム表示領域があってもよい。編集した部品リスト2の現在の状態に応じてどのようなプログラムが生成されるかをユーザの要求に応じて、あるいは部品リスト2の変更が行われる都度表示することも考えられる。図38ではプログラム表示領域に生成したプログラム4が表示されている。
従来のプログラム作成支援装置では、異なる形態のプログラム、例えば図29と図31のインターロック回路を、同一のプログラム部品を用いて生成することができなかったが、本実施の形態ではそれが可能となる。これにより、プログラム部品を応用可能な範囲が広くなり、計測監視制御対象である設備の使用記述に、より直接的に合致するようにプログラム部品を定義することができるようになる。
よって、仕様記述に合致するプログラムを作成するための、プログラム部品の選定およびそれらの組み合わせに関する設計の労力を軽減し、仕様に記述された機能を過不足なく備えるプログラムの作成の量力を大幅に軽減できる。
以上説明したように、実施の形態1のプログラム生成装置によれば、プログラムを構成する部品の階層構造を示す部品リストと、プログラムの部分記述と、階層構造における子テンプレートの挿入位置を示す記述とからなり、プログラムの部分記述として、階層構造中の相対位置で対象を指定するためのパラメタを含むテンプレートとを設けると共に、部品リストとテンプレートとを入力とし、テンプレートのパラメタの対象指定を、パラメタが記述されたテンプレートの階層構造中の位置と、部品リストの階層構造中で同じ位置にある要素を起点とした相対位置で解釈した対象の部品で置換することによりプログラムを生成するプログラム生成部を備えたので、プログラム作成効率の向上を図ることができる。
また、実施の形態1のプログラム生成装置によれば、テンプレートは、階層構造中の相対位置で複製対象親を指定するための複製指定を有し、プログラム生成部は、複製指定に基づき、部品リストの階層構造中で同じ位置にある要素を起点とした相対位置で解釈した複製対象親の子それぞれに対するテンプレートを複製し、複製したテンプレート中のパラメタの対象指定を、複製に用いた複製対象親の子を起点とした相対位置で解釈した対象部品で置換することによりプログラムを生成するようにしたので、複数箇所に同じ部品を持つプログラム構造を部品化することができ、また、部品の複製により、単一の記述から複数部品を生成でき、プログラム作成効率を向上させることができる。
また、実施の形態1のプログラム生成装置によれば、複製指定は、複製毎に複製を行うか否かの複製制約を有し、プログラム生成部は、複製制約を満たす場合のみテンプレートの複製を行うようにしたので、部品の複製を行うかどうかを指定でき、より複雑なプログラムを部品化することができる。
また、実施の形態1のプログラム生成装置によれば、複製制約は、異なる階層間の複製指定に基づいて複製された各々のテンプレートが何番目の子に対するものであるかの関係を規定するようにしたので、より複雑なプログラムを部品化することができる。
また、実施の形態1のプログラム生成装置によれば、全てのパラメタの対象指定となる位置全てを含む部品リストの階層構造を生成する自動生成部を備えたので、テンプレートに対して必要となる部品リストの構造を自動生成でき、プログラム作成効率を向上させることができる。
実施の形態2.
トップレベルのテンプレートの直下の要素が複製指定を持つ場合、この要素以下から参照される部品リストを1次元にまとめて横方向に並べ、縦方向にこの1次元部品リストを並べると、部品リストが表形式になる。これにより、高度な編集機能を持った表計算ソフトで部品リスト2を作成し、コピーと貼り付けによりプログラム4を生成することができる。また、表形式インタフェースは部品リスト2を縦方向を伸縮させる要素を持ち、これにより複製数を変化させることができる。この際、数字の連続値補完などにより、定型的な入力を簡易化することが考えられる。例えばインターロック回路の場合、スイッチがX0から連続アドレスであり、コイルがY0から連続アドレスであれば、インターロック回路の数が増えた場合にも表形式部品リストを縦に伸縮させるだけで必要な数のインターロック回路が生成できる。スイッチ・コイルの名称に数字の入ったラベル名を用いれば、より一般的にこの手法が利用可能である。実施の形態2では、以上のような機能を部品リスト編集部9で実現している。なお、図面上の構成は実施の形態1における図2の構成と同様であるため、図2を用いて説明する。
図39に画面と操作の例を示す。ユーザがテンプレート表示部8でオフ優先インターロック回路を選択すると、プログラム生成装置は、図39に示すようなテンプレート兼プログラム表示画面にテンプレート1を表示する。ユーザが部品リスト編集部9にX0,Y0を入力すると、テンプレート兼プログラム表示画面に、生成されたプログラム4が表示される(画面3901)。
ユーザが部品リスト編集部9のY0を表示するセルの隅を下方にドラッグすることにより、部品リスト編集部9は表を拡張する。まず、表の行数をドラッグ幅にあわせて増やす。図39では4行に増やしている。X0は数値0を持っているため、これを元に1,2,3という数値が生成され、それぞれの行はX1,X2,X3で埋められる。同様にY0からはY1,Y2,Y3が生成される。これにより部品リストが4つの子を持ったため、プログラム生成部3は4つの自己保持回路からなるプログラムをその場で生成し、テンプレート兼プログラム表示画面に表示される(画面3902)。
次にユーザがテンプレート表示部8でオン優先インターロック回路を選択すると、プログラム生成部3に与えられるテンプレート1が切り替えられる。両テンプレートの要求する部品リスト2の構成は同じなので、現在の部品リスト2がそのまま使用され、4つの自己保持回路からなるオン優先インターロック回路を生成し、テンプレート兼プログラム表示画面に表示される(画面3903)。この時、テンプレート表示部8で選択可能なテンプレートを、現在の部品リスト2を適用可能なものに制限してもよい。または、適用可能かどうかを色などの情報でユーザに提示しても良い。
以上説明したように、実施の形態2のプログラム生成装置によれば、特定の要素が複製指定を持つテンプレートに対して、特定の要素以下から参照される部品リストを1次元に横方向に並べ、かつ、1次元部品リストを縦方向に並べて表形式の部品リストを設けると共に、縦方向への伸縮指示を受けた場合、伸縮に応じて所定の数値の補完を行い部品リストを増減させる部品リスト編集部を備えたので、テンプレートに対して必要となる部品リストの構造を自動生成でき、プログラム作成効率を向上させることができる。
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
1 テンプレート、2 部品リスト、3 プログラム生成部、4 プログラム、5 テンプレート保持部、6 部品リスト保持部、7 テンプレート編集部、8 テンプレート表示部、9 部品リスト編集部、10 部品リスト表示部、11 自動生成部、12 プログラム編集部、13 プログラム表示部。

Claims (6)

  1. プログラムを構成する部品の階層構造を示す部品リストと、
    前記プログラムの部分記述と、階層構造における子テンプレートの挿入位置を示す記述とからなり、前記プログラムの部分記述として、階層構造中の相対位置で対象を指定するためのパラメタを含むテンプレートとを設けると共に、
    前記部品リストと前記テンプレートとを入力とし、前記テンプレートのパラメタの対象指定を、当該パラメタが記述されたテンプレートの階層構造中の位置と、前記部品リストの階層構造中で同じ位置にある要素を起点とした相対位置で解釈した対象の部品で置換することによりプログラムを生成するプログラム生成部を備えたことを特徴とするプログラム生成装置。
  2. テンプレートは、階層構造中の相対位置で複製対象親を指定するための複製指定を有し、
    プログラム生成部は、前記複製指定に基づき、部品リストの階層構造中で同じ位置にある要素を起点とした相対位置で解釈した前記複製対象親の子それぞれに対するテンプレートを複製し、当該複製したテンプレート中のパラメタの対象指定を、前記複製に用いた前記複製対象親の子を起点とした相対位置で解釈した対象部品で置換することによりプログラムを生成することを特徴とする請求項1記載のプログラム生成装置。
  3. 複製指定は、複製毎に複製を行うか否かの複製制約を有し、プログラム生成部は、当該複製制約を満たす場合のみテンプレートの複製を行うことを特徴とする請求項2記載のプログラム生成装置。
  4. 複製制約は、異なる階層間の複製指定に基づいて複製された各々のテンプレートが何番目の子に対するものであるかの関係を規定することを特徴とする請求項3記載のプログラム生成装置。
  5. 全てのパラメタの対象指定となる位置全てを含む部品リストの階層構造を生成する自動生成部を備えたことを特徴とする請求項1から請求項4のうちのいずれか1項記載のプログラム生成装置。
  6. 特定の要素が複製指定を持つテンプレートに対して、前記特定の要素以下から参照される部品リストを1次元に横方向に並べ、かつ、当該1次元部品リストを縦方向に並べて表形式の部品リストを設けると共に、
    前記縦方向への伸縮指示を受けた場合、当該伸縮に応じて所定の数値の補完を行い前記部品リストを増減させる部品リスト編集部を備えたことを特徴とする請求項1から請求項5のうちのいずれか1項記載のプログラム生成装置。
JP2012095647A 2012-04-19 2012-04-19 プログラム生成装置 Active JP5785130B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012095647A JP5785130B2 (ja) 2012-04-19 2012-04-19 プログラム生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012095647A JP5785130B2 (ja) 2012-04-19 2012-04-19 プログラム生成装置

Publications (2)

Publication Number Publication Date
JP2013222439A true JP2013222439A (ja) 2013-10-28
JP5785130B2 JP5785130B2 (ja) 2015-09-24

Family

ID=49593323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012095647A Active JP5785130B2 (ja) 2012-04-19 2012-04-19 プログラム生成装置

Country Status (1)

Country Link
JP (1) JP5785130B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016181526A1 (ja) * 2015-05-13 2016-11-17 三菱電機株式会社 制御ロジック図解析装置および制御ロジック図解析方法
EP3432095A4 (en) * 2016-03-18 2019-03-27 Mitsubishi Electric Corporation DEVICE FOR SUPPORTING LOGIC LOGIC DESIGN CREATION
JP2020086638A (ja) * 2018-11-19 2020-06-04 日鉄テックスエンジ株式会社 制御プログラム作成支援ツール及び制御プログラムの作成方法
US11556554B2 (en) 2021-06-11 2023-01-17 Hitachi, Ltd. Distributed transaction management method and system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7276309B2 (ja) 2020-12-25 2023-05-18 株式会社安川電機 プログラム作成装置、プログラム作成方法、及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05189012A (ja) * 1992-01-10 1993-07-30 Yaskawa Electric Corp プログラマブルコントローラのプログラミング装置
WO2011080945A1 (ja) * 2009-12-28 2011-07-07 三菱電機株式会社 プログラム作成支援装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05189012A (ja) * 1992-01-10 1993-07-30 Yaskawa Electric Corp プログラマブルコントローラのプログラミング装置
WO2011080945A1 (ja) * 2009-12-28 2011-07-07 三菱電機株式会社 プログラム作成支援装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016181526A1 (ja) * 2015-05-13 2016-11-17 三菱電機株式会社 制御ロジック図解析装置および制御ロジック図解析方法
JPWO2016181526A1 (ja) * 2015-05-13 2017-08-24 三菱電機株式会社 制御ロジック図解析装置および制御ロジック図解析方法
EP3432095A4 (en) * 2016-03-18 2019-03-27 Mitsubishi Electric Corporation DEVICE FOR SUPPORTING LOGIC LOGIC DESIGN CREATION
JP2020086638A (ja) * 2018-11-19 2020-06-04 日鉄テックスエンジ株式会社 制御プログラム作成支援ツール及び制御プログラムの作成方法
US11556554B2 (en) 2021-06-11 2023-01-17 Hitachi, Ltd. Distributed transaction management method and system

Also Published As

Publication number Publication date
JP5785130B2 (ja) 2015-09-24

Similar Documents

Publication Publication Date Title
EP3798817B1 (en) User interface logical and execution view navigation and shifting
TWI464558B (zh) 程式作成支援裝置
JP5785130B2 (ja) プログラム生成装置
EP3798757B1 (en) System and method for developing industrial applications
JP5295464B1 (ja) システム構築支援ツール及びシステム
CN107766045A (zh) 为机器视觉系统提供可视化程序的装置、系统和方法
JP2013225251A (ja) 情報処理装置及び情報処理方法及びプログラム
JP5921765B2 (ja) プログラムグラフ表示装置、プログラムグラフ表示方法およびプログラムグラフ表示プログラム
Falkman et al. Automatic generation: A way of ensuring PLC and HMI standards
Frey et al. Editing, visualizing, and implementing signal interpreted petri nets
JP3625084B2 (ja) ソフトウエア部品の再利用システム
WO2020195195A1 (ja) 開発支援装置、開発支援装置の制御方法、情報処理プログラム、および記録媒体
JP5425317B2 (ja) モーションsfcプログラム部品作成装置
EP4343468A1 (en) Development assistance device, control method for development assistance device, information processing program, and recording medium
JP2007193425A (ja) 画面データ作成装置、画面データの編集方法及び画面データ編集プログラム
JP4848772B2 (ja) プログラム生成装置およびプログラム生成プログラム
JP2011192088A (ja) Plcのプログラム開発支援装置
KR102509859B1 (ko) Plc 래더정보로부터 공용 명령어정보를 추출하는 장치 및 방법
JP6566151B2 (ja) システム設計支援装置およびシステム設計支援方法
EP4152145A1 (en) Industrial automation controller project online/offline state separation
JP2021157382A (ja) 情報処理装置およびラダープログラムを表示するためのプログラム
Gupta Toward a Smart Object-based Application and thus Reusability
Yu et al. Development of Device Description for HART Field Device
Forcignano Digital Twin for collaborative spaces and Web Applications development in the context of Industry 4.0
JP2016014951A (ja) 情報処理装置及び情報処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141010

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150619

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150723

R150 Certificate of patent or registration of utility model

Ref document number: 5785130

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