JPWO2008102426A1 - プログラマブルコントローラの周辺装置、置換方法およびプログラム - Google Patents

プログラマブルコントローラの周辺装置、置換方法およびプログラム Download PDF

Info

Publication number
JPWO2008102426A1
JPWO2008102426A1 JP2007552426A JP2007552426A JPWO2008102426A1 JP WO2008102426 A1 JPWO2008102426 A1 JP WO2008102426A1 JP 2007552426 A JP2007552426 A JP 2007552426A JP 2007552426 A JP2007552426 A JP 2007552426A JP WO2008102426 A1 JPWO2008102426 A1 JP WO2008102426A1
Authority
JP
Japan
Prior art keywords
variable
program
address
sequence program
variable table
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
JP2007552426A
Other languages
English (en)
Other versions
JP4541418B2 (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
Publication of JPWO2008102426A1 publication Critical patent/JPWO2008102426A1/ja
Application granted granted Critical
Publication of JP4541418B2 publication Critical patent/JP4541418B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • 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
    • 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
    • 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/46Multiprogramming arrangements
    • 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/13152Modification of program

Abstract

既存のプログラムを、変数を使用したプログラムに置換するために、前記既存のプログラムにおいて記述されたアドレスを抽出し、前記抽出した各アドレスに対してそれぞれ固有の変数を割り当て、前記アドレスと該アドレスに対応する変数とを関連付けた変数対応情報を作成する変数情報作成手段と、前記既存のプログラムにおいて記述されたアドレスを前記変数対応情報に基づいて前記変数に置換して、前記既存のプログラムを前記変数を使用したプログラムに置換する置換手段と、を備える。

Description

本発明は、プログラマブルコントローラの周辺装置、置換方法およびプログラムに関するものであり、特に、プログラマブルロジックコントローラ(以下、PLCと呼ぶ場合がある)のシーケンスプログラムの作成作業、編集作業の簡略化を実現するプログラマブルコントローラの周辺装置、置換方法およびプログラムに関するものである。
従来、PLCのシーケンスプログラムの作成、編集が可能なPLCの周辺装置においては、シーケンスプログラムのプログラムを作成する際に、PLC内部のメモリのアドレスを記述してシーケンスプログラムのプログラムコードを作成していた。
しかしながら、最近、PLC内部のメモリのアドレスの代わりに変数を用いたプログラムの作成方法が行われるようになってきた。すなわち、PLC内部のメモリのアドレスを直接シーケンスプログラムに記述するのではなくて、該PLC内部のメモリのアドレスを変数に置き換えて記述するプログラムの作成方法が行われるようになってきた。このようなシーケンスプログラムの作成方法では、たとえばシーケンスプログラムのコードにおいて、「LD X0」と記述する代わりに、「LD (変数)」と記述される。
特開2000−242313号公報
ところで、シーケンスプログラムの作成においては、プログラム作成作業の簡略化のために、過去に作成した既存のシーケンスプログラム資産を再利用して新たなシーケンスプログラムの作成が行われている。
シーケンスプログラムは、コンパイルが行われてPLCで使用される。過去に作成した既存のシーケンスプログラム資産を再利用して作成した新たなシーケンスプログラムにおいては、このコンパイルする際に、既存のシーケンスプログラム資産におけるアドレスを、新たに使用されるPLCにおけるアドレスに割当て直す必要がある。
そこで、上述したような変数を使用したシーケンスプログラムのプロジェクトを作成する際、変数を使用していない既存のシーケンスプログラム資産を再利用する場合には、まず変数を使用していない既存のシーケンスプログラム資産をコピーする。そして、コピーしたシーケンスプログラム内の入出力アドレス(入出力デバイス)をグローバル変数として宣言し、内部メモリアドレス(内部デバイス)をローカル変数として宣言して、シーケンスプログラム内のデバイスを変数へ置換する必要があった。
グローバル変数とは、所定のプロジェクト内の全てのプログラム内で使用可能な変数であり、プロジェクト内の個々のプログラムに依存しない変数である。すなわち、グローバル変数を用いることにより、変数の値をプロジェクト内の全てのプログラムで共有することができる。また、ローカル変数とは、変数を定義したプログラム内でのみ使用可能な変数であり、プロジェクト内の個々のプログラムに依存した変数である。すなわち、ローカル変数は、変数の値をプロジェクト内の他のプログラムと共有する必要がない場合に使用される。そして、グローバル変数とローカル変数とを使い分けることにより、複数人によるプログラムの編集作業を効率的に行うことができるというメリットがある。
これらの置換作業は、シーケンスプログラムの作成者が手作業で行わなければならず、この置換作業はアドレスの重複が生じないように考慮しながら行う必要がある。このため、この置換作業は複雑かつ時間を要する作業であり、変数を使用していないシーケンスプログラム資産の再利用を効率的に行うことができない、という問題があった。
また、グローバル変数およびローカル変数のアドレスの割付において、メモリに対するアドレスの割付を自動的に行う技術が提案されている(たとえば、特許文献1参照)。しかしながら、この文献のような従来の技術においては、変数を使用していない既存のシーケンスプログラム資産の再利用に関する技術は考慮されていない。
本発明は、上記に鑑みてなされたものであって、変数を使用していない既存のシーケンスプログラムを、変数を使用したシーケンスプログラムに自動で効率良く変換することが可能なプログラマブルコントローラの周辺装置、置換方法およびプログラムを得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明にかかるプログラマブルコントローラの周辺装置は、既存のプログラムにおいて記述されたアドレスを抽出し、抽出した各アドレスに対してそれぞれ固有の変数を割り当て、アドレスと該アドレスに対応する変数とを関連付けた変数対応情報を作成する変数情報作成手段と、既存のプログラムにおいて記述されたアドレスを変数対応情報に基づいて変数に置換して、既存のプログラムを変数を使用したプログラムに置換する置換手段と、を備えることを特徴とする。
本発明にかかるプログラマブルコントローラの周辺装置は、既存のプログラムにおいて記述されたアドレスを抽出し、抽出した各アドレスに対してそれぞれ固有の変数を割り当て、アドレスと該アドレスに対応する変数とを関連付けた変数対応情報を自動で作成し、この変数対応情報に基づいて、既存のプログラムにおいて記述されたアドレスを変数に自動で置換して、既存のプログラムを、変数を使用したプログラムに自動で置換することができる。これにより、本発明にかかるプログラマブルコントローラの周辺装置によれば、既存のシーケンスプログラムを、変数を使用したシーケンスプログラムに自動で効率良く変換することが可能である、という効果を奏する。
図1は、本発明の実施の形態にかかるプログラム作成システムの構成の一例を示す図である。 図2は、流用元プロジェクトデータの流用元シーケンスプログラムの一例を示す図である。 図3は、流用元プロジェクトデータのデバイスコメントの一例を示す図である。 図4は、本発明の実施の形態にかかるプログラム作成装置におけるプログラム作成部の機能構成を示すブロック図である。 図5は、本発明の実施の形態にかかるプログラム作成装置におけるアドレス種別テーブルの一例を示す図である。 図6は、本発明の実施の形態にかかるプログラム作成装置における変数テーブルの一例を示す図である。 図7は、本発明の実施の形態にかかるプログラム作成装置におけるグローバル変数テーブルの一例を示す図である。 図8は、本発明の実施の形態にかかるプログラム作成装置におけるローカル変数テーブルの一例を示す図である。 図9は、流用元シーケンスプログラムを、変数を使用したシーケンスプログラムに変換したシーケンスプログラムの一例を示す図である。 図10は、本発明の実施の形態にかかるプログラム作成装置における記憶部の構成を示すブロック図である。 図11は、本発明の実施の形態にかかるプログラム作成装置における変数テーブルの作成処理を説明するためのフローチャートである。 図12は、本発明の実施の形態にかかるプログラム作成装置における変数テーブルの作成方法を説明するための図である。 図13は、本発明の実施の形態にかかるプログラム作成装置におけるプログラムの置換処理を説明するためのフローチャートである。 図14は、本発明の実施の形態にかかるプログラム作成装置におけるシーケンスプログラムの変換を説明する図である。 図15は、本発明の実施の形態にかかるプログラム作成装置におけるグローバル変数宣言処理を説明するためのフローチャートである。 図16は、本発明の実施の形態にかかるプログラム作成装置におけるグローバル変数テーブルの作成を説明する図である。 図17は、本発明の実施の形態にかかるプログラム作成装置におけるローカル変数宣言処理を説明するためのフローチャートである。 図18は、本発明の実施の形態にかかるプログラム作成装置におけるローカル変数テーブルの作成を説明する図である。 図19は、本発明の実施の形態にかかるプログラム作成装置の機能を説明する図である。 図20は、本発明の実施の形態にかかるプログラム作成装置の機能を説明する図である。 図21は、本発明の実施の形態にかかるプログラム置換方法およびプログラム作成方法のプログラムを実行可能なコンピュータ装置の概略構成の一例を示すブロック図である。
符号の説明
1 プログラム作成装置
3 入力装置
5 表示装置
7 外部記憶装置
11 プログラム作成部
13 記憶部
15 通信部
17 制御部
71 流用元プロジェクトデータ
72 流用元シーケンスプログラム
73 デバイスコメント
111 変数テーブル作成部
112 グローバル変数テーブル作成部
113 ローカル変数テーブル作成部
114 置換処理部
115 プログラム作成部
131 プログラムメモリ
132 データメモリ
133 流用後プロジェクトメモリ
134 グローバル変数テーブル
135A シーケンスプログラムA
135B シーケンスプログラムB
136A ローカル変数テーブルA
136B ローカル変数テーブルB
137 アドレス種別テーブル
138 変数テーブル
139 流用後プロジェクトデータ
201 入力装置
202 表示装置
203 CPU
204 メモリ
205 記憶装置
206 媒体駆動装置
207 ネットワークインターフェース
208 バス
以下に、本発明にかかるプログラマブルコントローラ(PLC)の周辺装置、置換方法およびプログラムの実施の形態を図面に基づいて詳細に説明する。なお、本発明は以下の記述により限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
実施の形態
図1は、本発明にかかるPLCの周辺装置としての機能を備えた、本発明の実施の形態にかかるプログラム作成システムの構成の一例を示す図である。本実施の形態にかかるプログラム作成システムは、図1に示すように、PLCの周辺装置であるプログラム作成装置1と、入力装置3と、表示装置5と、外部記憶装置7と、を備えて構成されている。
従来のプログラム作成装置において、変数を使用していない既存のシーケンスプログラム資産を再利用して変数を使用した新たなシーケンスプログラムのプロジェクトを作成するには、まず、変数を使用していない既存のシーケンスプログラム資産を新規のプロジェクトへコピーする。つぎに、コピーしたシーケンスプログラム内の入出力アドレス(入出力デバイス)をグローバル変数として宣言し、内部メモリアドレス(内部デバイス)をローカル変数として宣言して、シーケンスプログラム内のデバイスを変数へ置換する。
従来の置換作業は、シーケンスプログラムの作成者が手作業で行わなければならず、また、アドレスの重複が生じないように考慮しながら行う必要があり、複雑かつ時間を要する作業であった。このため、シーケンスプログラムの作成者の作業の負担が大きく、変数を使用していないシーケンスプログラム資産の再利用を効率的に行うことができなかった。
これに対して、本実施の形態にかかるプログラム作成装置1では、この置換作業を自動的に行うことができる。これにより、本実施の形態にかかるプログラム作成装置1では、シーケンスプログラムの作成者の手を煩わせることなく、変数を使用していないシーケンスプログラム資産を再利用して、新たなシーケンスプログラムのプロジェクトを効率的に作成することができる。ここで、本実施の形態にかかるプログラム作成装置1は、図1に示すようにプログラム作成部11と、記憶部13と、通信部15と、制御部17と、を備えて構成される。
入力装置3は、プログラム作成装置に対する操作を指示する操作指示情報などを入力する操作指示情報入力手段である。表示装置5は、シーケンスプログラムやプログラム作成装置1における処理データなどの各種情報を表示する表示手段である。
外部記憶装置7は、過去に作成した流用元プロジェクトデータ71を記憶する記憶手段である。この外部記憶装置7には、流用元プロジェクトデータ71として、変数を使用していない流用元シーケンスプログラム72と、該流用元シーケンスプログラム72の付属データでありシーケンスプログラムに使用されたアドレス(デバイス)に対するコメントであるデバイスコメント73と、が記憶されている。
図2は、流用元プロジェクトデータ71の流用元シーケンスプログラム72の一例を示す図である。この流用元シーケンスプログラム72は、後述するように既存のシーケンスプログラム資産を再利用して新たなシーケンスプログラムを作成する際の、流用元となるシーケンスプログラムである。図2に示すように、この流用元シーケンスプログラム72には、プログラムのステップと、該ステップに対応したコードと、が記述されている。たとえば図2においては、「ステップ0」には、コード「LD X0」が記述され、「ステップ1」には、コード「SET M1」が記述されている。このように、流用元シーケンスプログラム72は、変数を使用せずに、アドレスを直接記述したプログラムである。
図3は、流用元プロジェクトデータ71のデバイスコメント73の一例を示す図である。このデバイスコメント73は、後述するように既存のシーケンスプログラム資産を再利用して新たなシーケンスプログラムを作成する際の、流用元となるデバイスコメントである。図3に示すように、このデバイスコメント73には、流用元シーケンスプログラム72において記述されたアドレスと、該アドレスに関するコメントと、が記述されている。たとえば図3においては、「アドレスX0」に対しては、該アドレスが意味する内容である「起動スイッチ」が記述され、「アドレスY1」に対しては、該アドレスが意味する内容である「起動ランプ」が記述されている。
図4は、プログラム作成部11の機能構成を示すブロック図である。プログラム作成部11は、図4に示すように、変数テーブル作成部111と、グローバル変数テーブル作成部112と、ローカル変数テーブル作成部113と、置換処理部114と、プログラム作成部115と、を備える。
プログラム作成部11が、変数を使用していない既存のシーケンスプログラム資産を再利用して変数を使用した新たなシーケンスプログラムのプロジェクトを作成する場合には、まず変数テーブル作成部111が既存の流用元シーケンスプログラム72とデバイスコメント73とを外部記憶装置7から記憶部13にコピーする。
つぎに、変数テーブル作成部111は、コピーした既存の流用元シーケンスプログラム72のコード中のアドレスについて、記憶部13に予め記憶された図5に示すようなアドレス種別テーブル(アドレス種別情報)を検索することにより、流用元シーケンスプログラム72のコード中のアドレスの種別を判別する。図5は、アドレス種別テーブルの一例を示す図である。アドレス種別は、グローバルとローカルとの二種類に分類される。このアドレス種別テーブルには、シーケンスプログラムにおいて使用されるアドレスと、該アドレスのアドレス種別(グローバルまたはローカル)と、が対応付けられて記憶されている。
そして、変数テーブル作成部111は、既存の流用元シーケンスプログラム72のコード中のアドレスと、判別したアドレス種別(グローバルまたはローカル)と、デバイスコメント73と、に基づいて、図6に示すようなアドレスと該アドレスに対応する変数とを関連付けて保持する変数テーブル(変数情報)を作成し、記憶部13に記憶させる。図6は、変数テーブルの一例を示す図である。図6においては、変数名としてデバイスコメント73に含まれる「コメント」の名称をそのまま流用して使用している。
グローバル変数テーブル作成部112は、変数テーブル作成部111において作成した図6に示すような変数テーブルから、アドレス種別がグローバル種別である変数名および該変数名に対応するアドレスを抽出し、図7に示すような該抽出した変数とアドレスとを関連付けたグローバル種別変数情報であるグローバル変数テーブルを作成してグローバル変数宣言を行う。図7は、グローバル変数テーブルの一例を示す図である。グローバル変数テーブルには、図7に示すように、アドレス種別がグローバル種別であるアドレス(デバイス)およびこれに対応する変数名が保持されている。このグローバル変数テーブルは、変数を使用していない既存のシーケンスプログラムのアドレス(デバイス)を変数に置換して作成した新たなシーケンスプログラム、またはこの新たなシーケンスプログラムを用いて作成した新たなシーケンスプログラムのコンパイルを行う際に用いられる。
ローカル変数テーブル作成部113は、変数テーブル作成部111において作成した図6に示すような変数テーブルから、アドレス種別がローカル種別である変数名を抽出し、図8に示すようなローカル変数テーブル(アドレスの種別がローカル種別である変数の情報であるローカル種別変数情報)を作成してローカル変数宣言を行う。図8は、ローカル変数テーブルの一例を示す図である。ローカル変数テーブルには、図8に示すように、アドレス種別がローカル種別である変数名が保持されている。このローカル変数テーブルは、変数を使用していない既存のシーケンスプログラムのアドレス(デバイス)を変数に置換して作成した新たなシーケンスプログラム、またはこの新たなシーケンスプログラムを用いて作成した新たなシーケンスプログラムのコンパイルを行う際に用いられる。
置換処理部114は、変数テーブル作成部111において作成した図6に示すような変数テーブルに基づいて、既存の流用元シーケンスプログラム72のコード中のアドレスを、各アドレスに対してそれぞれ固有の変数で置換することにより、既存の流用元シーケンスプログラム72を、変数を使用したシーケンスプログラムへ置換する(変換する)。図9は、図2に示す流用元シーケンスプログラム72を、変数を使用したシーケンスプログラムに変換したシーケンスプログラムの一例を示す図である。
ここで、既存の流用元シーケンスプログラム72のコード中のアドレスを変数で置換する際に、置換処理部114は図3に示すようなデバイスコメント73に記述された各アドレスに対する説明記述である「コメント」の名称を「変数」の名称(変数名)として使用する。また、デバイスコメント73においてアドレスに対する「コメント」が記述されていない場合は、予め指定された固定文字または都度指示される固定文字を該アドレスを置換する「変数」の名称(変数名)として使用する。
プログラム作成部115は、変数を使用したシーケンスプログラムを流用して、または新規にシーケンスプログラムを作成するプログラム作成手段である。
記憶部13は、プログラム作成装置1における処理を行うための各種プログラムや処理時に生成されるシーケンスプログラム、データなどを記憶する記憶手段である。図10は、記憶部13の構成を示すブロック図である。記憶部13は、図10に示すように、プログラム作成装置1における処理を行うための各種プログラムを記憶するプログラムメモリ131と、プログラム作成装置1における処理時に生成されるデータを記憶するデータメモリ132と、プログラム作成装置1において既存の流用元シーケンスプログラム72を流用して新たに作成または編集したシーケンスプログラムのプロジェクトを記憶する流用後プロジェクトメモリ133と、を備える。
また、流用後プロジェクトメモリ133は、流用後プロジェクトデータ139を記憶しており、該流用後プロジェクトデータ139には、たとえばグローバル変数テーブル134と、既存の流用元シーケンスプログラム72を流用して新たに作成または編集したシーケンスプログラムA135Aと、シーケンスプログラムA135に対応するローカル変数テーブルA136Aと、既存の流用元シーケンスプログラム72を流用して新たに作成または編集したシーケンスプログラムB135Bと、シーケンスプログラムB135Bに対応するローカル変数テーブルB136Bと、アドレス種別テーブル137と、変数テーブル138と、を記憶している。また、記憶部13は、外部記憶装置7から既存の流用元シーケンスプログラム72およびデバイスコメント73をコピーした際には、これらをデータメモリ132に記憶する。
通信部15は、プログラム作成装置1の外部に接続した外部記憶装置7との間で情報の入出力を行う情報入出力手段である。制御部17は、プログラム作成装置1全体の制御を行う。
つぎに、このように構成された本実施の形態にかかるプログラム作成システムを用いて、過去に作成した既存のシーケンスプログラム資産を再利用して新たなシーケンスプログラムを作成する際の処理について説明する。まず、図11を参照しながら、変数テーブルの作成処理について説明する。図11は、本実施の形態にかかるプログラム作成装置1における変数テーブルの作成処理を説明するためのフローチャートである。
本実施の形態にかかるプログラム作成装置1において変数テーブルを作成するには、まず、プログラム作成部11の変数テーブル作成部111が、既存の流用元シーケンスプログラム72とデバイスコメント73とを、外部記憶装置7から記憶部13のデータメモリ132にコピーする(ステップS101)。つぎに、変数テーブル作成部111は、記憶部13のデータメモリ132にコピーした流用元シーケンスプログラム72の先頭行から検索を開始して、流用元シーケンスプログラム72のコードに含まれるアドレス(デバイス)の抽出を行う(ステップS102)。
そして、変数テーブル作成部111は、変数テーブルを参照して、抽出したアドレス(デバイス)が変数テーブルに未登録であるか否かを判断する(ステップS103)。抽出したアドレス(デバイス)が変数テーブルに未登録である場合には(ステップS103肯定)、該アドレス(デバイス)を変数テーブルに登録する(ステップS104)。そして、変数テーブル作成部111は、記憶部13に予め記憶されたアドレス種別テーブル137から該アドレス(デバイス)を検索してアドレスの種別(グローバルまたはローカル)を判別し、アドレスの種別(グローバルまたはローカル)を変数テーブルに登録する(ステップS105)。
つぎに、変数テーブル作成部111は、記憶部13のデータメモリ132にコピーしたデバイスコメント73を検索して、該アドレスに対するコメントの有無を判断する(ステップS106)。アドレスに対するコメントが存在する場合は(ステップS106肯定)、該当するコメントの名称を該アドレスに対応する変数(名)として変数テーブルに登録する(ステップS107)。一方、アドレスに対するコメントが存在しない場合は(ステップS106否定)、予め指定された固定文字または都度指示される固定文字を該アドレスに対応する変数(名)として変数テーブルに登録する(ステップS108)。
そして、変数(名)の登録後、変数テーブル作成部111は、流用元シーケンスプログラム72のコードに含まれる全てのアドレス(デバイス)の抽出が終了して変数テーブルに登録されているか否か判断する(ステップS109)。流用元シーケンスプログラム72のコードに含まれる全てのアドレス(デバイス)が変数テーブルに登録されていない場合は(ステップS109否定)、ステップS102に戻って流用元シーケンスプログラム72のコードに含まれるアドレス(デバイス)の抽出を繰り返す。また、流用元シーケンスプログラム72のコードに含まれる全てのアドレス(デバイス)が変数テーブルに登録されている場合は(ステップS109肯定)、一連の変数テーブルの作成処理が終了する。
また、ステップS103に戻って、抽出したアドレス(デバイス)が変数テーブルに登録されている場合には(ステップS103否定)、そのままステップS109に進む。変数テーブル作成部111は、流用元シーケンスプログラム72のコードに含まれる全てのアドレス(デバイス)の抽出が終了して変数テーブルに登録されているか否か判断する(ステップS109)。
そして、流用元シーケンスプログラム72のコードに含まれる全てのアドレス(デバイス)が変数テーブルに登録されていない場合は(ステップS109否定)、ステップS102に戻って流用元シーケンスプログラム72のコードに含まれるアドレス(デバイス)の抽出を繰り返す。また、流用元シーケンスプログラム72のコードに含まれる全てのアドレス(デバイス)が変数テーブルに登録されている場合は(ステップS109肯定)、一連の変数テーブルの作成処理が終了する。
以上のような処理を行うことにより、本実施の形態にかかるプログラム作成装置1においては、図12に示すように流用元プロジェクトデータ71の流用元シーケンスプログラム72とアドレス種別テーブル137とに基づいて、変数テーブル138を作成することができる。図12は、本実施の形態にかかるプログラム作成装置1における変数テーブルの作成方法を説明するための図である。
つぎに、上記のようにして作成した変数テーブル138に基づいて、既存の流用元シーケンスプログラム72のコード中のアドレスを、該アドレスに対応する変数で置換する際の処理について図13を参照しながら説明する。図13は、本実施の形態にかかるプログラム作成装置1におけるプログラムの置換処理を説明するためのフローチャートである。
本実施の形態にかかるプログラム作成装置1においてプログラムの置換処理を行うには、まずプログラム作成部11の置換処理部114が、記憶部13にコピーした流用元シーケンスプログラム72の先頭行から検索を開始して、流用元シーケンスプログラム72のコードに含まれるアドレス(デバイス)の抽出を行う(ステップS201)。つぎに、置換処理部114は、抽出したアドレス(デバイス)を変数テーブルにおいて検索し、変数テーブルから該アドレス(デバイス)に対応する変数(名)を抽出する(ステップS202)。
そして、置換処理部114は、抽出した流用元シーケンスプログラム72のアドレス(デバイス)を該変数に置き換える置換処理を行い、置換処理を行ったシーケンスプログラムをたとえばシーケンスプログラムA135Aとして流用後プロジェクトメモリ133に記憶させる(ステップS203)。置換処理後、置換処理部114は、流用元シーケンスプログラム72の全てのアドレス(デバイス)を、対応する変数に置換が完了したか否かを判断する(ステップS204)。
ここで、流用元シーケンスプログラム72内の全てのアドレス(デバイス)の変数への置換が完了していないと判断した場合は(ステップS204否定)、ステップS201に戻る。一方、流用元シーケンスプログラム72内の全てのアドレス(デバイス)の変数への置換が完了したと判断した場合は(ステップS204肯定)、一連の変数テーブルの作成処理が終了する。
以上のような処理を行うことにより、本実施の形態にかかるプログラム作成装置1においては、図14に示すように流用元プロジェクトデータ71の流用元シーケンスプログラム72と変数テーブル138とに基づいて、流用元プロジェクトデータ71の流用元シーケンスプログラム72におけるアドレス(デバイス)を自動で変数に置換することができる。そして、流用元プロジェクトデータ71を、変数を使用したシーケンスプログラムに置換することができる。すなわち、本実施の形態にかかるプログラム作成装置1によれば、変数を使用していない既存のシーケンスプログラムを、変数を使用したシーケンスプログラムに自動で置換(変換)することができる。図14は、本実施の形態にかかるプログラム作成装置1におけるシーケンスプログラムの置換(変換)を説明する図である。
つぎに、上記のようにして作成した変数テーブル138に基づいて、グローバル変数テーブルを作成してグローバル変数宣言を行う処理について図15を参照しながら説明する。図15は、本実施の形態にかかるプログラム作成装置1におけるグローバル変数宣言処理を説明するためのフローチャートである。
本実施の形態にかかるプログラム作成装置1においてグローバル変数宣言処理を行うには、まずプログラム作成部11のグローバル変数テーブル作成部112が、アドレス種別がグローバル種別である変数(名)および該変数に対応するアドレス(デバイス)を変数テーブル138から抽出する(ステップS301)。つぎに、グローバル変数テーブル作成部112は、抽出した変数(名)および該変数に対応するアドレス(デバイス)をグローバル変数テーブル134に登録する(ステップS302)。
登録後、グローバル変数テーブル作成部112は、変数テーブル138に含まれる全てのグローバル種別である変数(名)および該変数に対応するアドレス(デバイス)をグローバル変数テーブル134に登録したか否かを判断する(ステップS303)。
ここで、変数テーブル138に含まれる全てのグローバル種別である変数(名)および該変数に対応するアドレス(デバイス)をグローバル変数テーブル134に登録していないと判断した場合には(ステップS303否定)、ステップS301に戻る。一方、変数テーブル138に含まれる全てのグローバル種別である変数(名)および該変数に対応するアドレス(デバイス)をグローバル変数テーブル134に登録したと判断した場合は(ステップS303肯定)、一連のグローバル変数宣言処理が終了する。
以上のような処理を行うことにより、本実施の形態にかかるプログラム作成装置1においては、図16に示すように変数テーブル138に基づいてグローバル変数テーブル134を自動で作成し、または新たな変数(名)および該変数(名)に対応するアドレス(デバイス)をグローバル変数テーブル134に追加してグローバル変数宣言を行うことができる。図16は、本実施の形態にかかるプログラム作成装置1におけるグローバル変数テーブルの作成を説明する図である。
つぎに、上記のようにして作成した変数テーブル138に基づいて、ローカル変数テーブルを作成してローカル変数宣言を行う処理について図17を参照しながら説明する。図17は、本実施の形態にかかるプログラム作成装置1におけるローカル変数宣言処理を説明するためのフローチャートである。
本実施の形態にかかるプログラム作成装置1においてローカル変数宣言処理を行うには、まずプログラム作成部11のローカル変数テーブル作成部113が、アドレス種別がローカル種別である変数(名)を変数テーブル138から抽出する(ステップS401)。つぎに、ローカル変数テーブル作成部113は、抽出した変数(名)をたとえばローカル変数テーブルA136Aに登録する(ステップS402)。
登録後、ローカル変数テーブル作成部113は、変数テーブル138に含まれる全てのローカル種別である変数(名)をローカル変数テーブルA136Aに登録したか否かを判断する(ステップS403)。
ここで、変数テーブル138に含まれる全てのローカル種別である変数(名)をローカル変数テーブルA136Aに登録していないと判断した場合には(ステップS403否定)、ステップS401に戻る。一方、変数テーブル138に含まれる全てのローカル種別である変数(名)をローカル変数テーブルA136Aに登録したと判断した場合は(ステップS403肯定)、一連のローカル変数宣言処理が終了する。
以上のような処理を行うことにより、本実施の形態にかかるプログラム作成装置1においては、図18に示すように変数テーブル138に基づいて、シーケンスプログラムA135Aに対応するローカル変数テーブルA136Aを作成し、ローカル変数宣言を行うことができる。図18は、本実施の形態にかかるプログラム作成装置1におけるローカル変数テーブルの作成を説明する図である。
また、本実施の形態にかかるプログラム作成装置1においては、プログラム作成部115は、上記のようにして置換・変換した、変数を使用したシーケンスプログラムA135Aを流用して、新たなシーケンスプログラムB135Bを作成し、たとえばシーケンスプログラムB135Bとして流用後プロジェクトメモリ133に記憶させることができる。このとき、上記と同様にして、グローバル宣言処理を行い、グローバル変数テーブル134に新たなアドレス(デバイス)を追記することができる。また、上記と同様にして、新たなシーケンスプログラムB135Bに対応するローカル変数テーブルB136Bを作成し、ローカル変数宣言を行うことができる。
これにより、本実施の形態にかかるプログラム作成装置1においては、図19に示すように、変数を使用したシーケンスプログラムA135Aを流用して、変数を使用した新たなシーケンスプログラムB135Bを作成することができる。図19は、本実施の形態にかかるプログラム作成装置1の機能を説明する図である。
すなわち、本実施の形態にかかるプログラム作成装置1によれば、図20に示すように、流用元プロジェクトデータ71の流用元シーケンスプログラム72およびデバイスコメント73と、変数テーブル138と、に基づいて、流用後プロジェクトデータ139のシーケンスプログラムA135A、ローカル変数テーブルA136Aおよびグローバル変数テーブル134を自動で作成、更新することができる。
そして、流用後プロジェクトデータ139のシーケンスプログラムA135A、ローカル変数テーブルA136Aおよびグローバル変数テーブル134と、変数テーブル138と、に基づいて、流用後プロジェクトデータ139のシーケンスプログラムB135B、ローカル変数テーブルB136Bおよびグローバル変数テーブル134を作成、更新することができる。図20は、プログラム作成装置1の機能を説明する図である。
上述したように、本実施の形態にかかるプログラム作成装置1は、PLCのシーケンスプログラムを作成、編集するPLCの周辺装置である。このプログラム作成装置1においては、シーケンスプログラム内において入出力アドレス(入出力デバイス)やPLCの内部メモリアドレス(内部デバイス)などのアドレス(デバイス)の代わりに、変数を用いてシーケンスプログラムの作成を行うことができる。すなわち、アドレスを直接シーケンスプログラムに記述するのではなく、該アドレスを変数に置き換えて記述したシーケンスプログラムの作成を行うことができる。
また、このプログラム作成装置1では、過去に作成した既存のシーケンスプログラム資産を再利用して新たなシーケンスプログラムを作成することができる。ここで、このプログラム作成装置1では、過去に作成したシーケンスプログラム資産を再利用して新たなシーケンスプログラムのプロジェクトを作成する際に、変数を使用した既存のシーケンスプログラム資産を再利用して、変数を使用した新たなシーケンスプログラムを作成することができる。また、このプログラム作成装置1では、変数を使用していない既存のシーケンスプログラム資産を再利用して、変数を使用した新たなシーケンスプログラムを作成することができる。
そして、本実施の形態にかかるプログラム作成装置1では、変数を使用していない既存のシーケンスプログラム資産に記述されたアドレス(デバイス)を自動的に変数に置換して、変数を使用したシーケンスプログラムに変換することができる。
なお、上記においては、入力装置および表示装置をプログラム作成装置の外部に配置した構成としているが、プログラム作成装置が入力装置および表示装置を備えた構成とすることもできる。また、上記においては、プログラム作成装置と外部記憶装置とを直接接続した構成としているが、ネットワークを介してプログラム作成装置と外部記憶装置とを接続する構成とすることも可能である。また、上記においては、既存の流用元プロジェクトデータ71を外部記憶装置7に記憶する形態について説明したが、流用元プロジェクトデータ71をプログラム作成装置1内の記憶部に13に記憶する構成とすることもできる。
また、上述したプログラム置換方法およびプログラム作成方法を、これらの方法の処理手順が格納されたプログラムとして構成し、このプログラムを図21に示すようにCPU、記憶装置等を有するコンピュータ(プログラマブルコントローラの周辺装置)で実行することによって実現することができる。
図21は上述したプログラム置換方法およびプログラム作成方法のプログラムを実行可能なコンピュータ装置の概略構成の一例を示すブロック図である。このコンピュータ装置は、入力装置201、表示装置202、CPU(Central Processing Unit:中央処理ユニット)203、メモリ204、記憶装置205、媒体駆動装置206、ネットワークインターフェース207及びバス208を備えて構成されている。
ここで、入力装置201はキーボード、マウス、タッチパネル、スキャナ等により構成され、情報の入力に使用される。表示装置202は、種々の出力情報や入力装置201からの入力された情報などを表示出力させる。CPU203は、種々のプログラムを動作させる。メモリ204は、CPU203によって実行されるプログラムが展開され、またそのプログラムがCPU203によって実行されるときに一時的に作成される情報等が記憶される。記憶装置205は、プログラムやプログラム実行時の一時的な情報等を保持する。媒体駆動装置206は、プログラムやデータ等を記憶した記録媒体を装着してそれらを読み込み、メモリ204または記憶装置205へ格納するのに用いられる。ネットワークインターフェース207は、コンピュータ装置とネットワークとを接続するためのものである。バス208は、上記各部を接続する。
また、上記においては、PLCのシーケンスプログラムを作成する場合を例に説明したが、本発明はPLCのシーケンスプログラムの作成に限定されるものではなく、シーケンスプログラムの作成全般に適用可能である。
以上のように、本発明にかかるプログラマブルコントローラの周辺装置は、変数を使用していない既存のシーケンスプログラム資産を再利用して新たなシーケンスプログラムを作成する場合に有用である。
本発明は、プログラマブルコントローラの周辺装置、置換方法およびプログラムに関するものであり、特に、プログラマブルロジックコントローラ(以下、PLCと呼ぶ場合がある)のシーケンスプログラムの作成作業、編集作業の簡略化を実現するプログラマブルコントローラの周辺装置、置換方法およびプログラムに関するものである。
従来、PLCのシーケンスプログラムの作成、編集が可能なPLCの周辺装置においては、シーケンスプログラムのプログラムを作成する際に、PLC内部のメモリのアドレスを記述してシーケンスプログラムのプログラムコードを作成していた。
しかしながら、最近、PLC内部のメモリのアドレスの代わりに変数を用いたプログラムの作成方法が行われるようになってきた。すなわち、PLC内部のメモリのアドレスを直接シーケンスプログラムに記述するのではなくて、該PLC内部のメモリのアドレスを変数に置き換えて記述するプログラムの作成方法が行われるようになってきた。このようなシーケンスプログラムの作成方法では、たとえばシーケンスプログラムのコードにおいて、「LD X0」と記述する代わりに、「LD (変数)」と記述される。
特開2000−242313号公報
ところで、シーケンスプログラムの作成においては、プログラム作成作業の簡略化のために、過去に作成した既存のシーケンスプログラム資産を再利用して新たなシーケンスプログラムの作成が行われている。
シーケンスプログラムは、コンパイルが行われてPLCで使用される。過去に作成した既存のシーケンスプログラム資産を再利用して作成した新たなシーケンスプログラムにおいては、このコンパイルする際に、既存のシーケンスプログラム資産におけるアドレスを、新たに使用されるPLCにおけるアドレスに割当て直す必要がある。
そこで、上述したような変数を使用したシーケンスプログラムのプロジェクトを作成する際、変数を使用していない既存のシーケンスプログラム資産を再利用する場合には、まず変数を使用していない既存のシーケンスプログラム資産をコピーする。そして、コピーしたシーケンスプログラム内の入出力アドレス(入出力デバイス)をグローバル変数として宣言し、内部メモリアドレス(内部デバイス)をローカル変数として宣言して、シーケンスプログラム内のデバイスを変数へ置換する必要があった。
グローバル変数とは、所定のプロジェクト内の全てのプログラム内で使用可能な変数であり、プロジェクト内の個々のプログラムに依存しない変数である。すなわち、グローバル変数を用いることにより、変数の値をプロジェクト内の全てのプログラムで共有することができる。また、ローカル変数とは、変数を定義したプログラム内でのみ使用可能な変数であり、プロジェクト内の個々のプログラムに依存した変数である。すなわち、ローカル変数は、変数の値をプロジェクト内の他のプログラムと共有する必要がない場合に使用される。そして、グローバル変数とローカル変数とを使い分けることにより、複数人によるプログラムの編集作業を効率的に行うことができるというメリットがある。
これらの置換作業は、シーケンスプログラムの作成者が手作業で行わなければならず、この置換作業はアドレスの重複が生じないように考慮しながら行う必要がある。このため、この置換作業は複雑かつ時間を要する作業であり、変数を使用していないシーケンスプログラム資産の再利用を効率的に行うことができない、という問題があった。
また、グローバル変数およびローカル変数のアドレスの割付において、メモリに対するアドレスの割付を自動的に行う技術が提案されている(たとえば、特許文献1参照)。しかしながら、この文献のような従来の技術においては、変数を使用していない既存のシーケンスプログラム資産の再利用に関する技術は考慮されていない。
本発明は、上記に鑑みてなされたものであって、変数を使用していない既存のシーケンスプログラムを、変数を使用したシーケンスプログラムに自動で効率良く変換することが可能なプログラマブルコントローラの周辺装置、置換方法およびプログラムを得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明にかかるプログラマブルコントローラの周辺装置は、既存のプログラムを、変数を使用したプログラムに置換するプログラマブルコントローラの周辺装置であって、前記既存のプログラムにおいて記述されたアドレスを抽出し、前記抽出した各アドレスに対してそれぞれ固有の変数を割り当て、前記既存のプログラムにおいて記述されたアドレスと該アドレスの種別とを関連付けたアドレス種別情報に基づいて、前記アドレスと前記アドレスに対応する変数と前記アドレスの種別とを関連付けた変数対応情報を作成する変数情報作成手段と、前記既存のプログラムにおいて記述されたアドレスを前記変数対応情報に基づいて前記変数に置換して、前記既存のプログラムを前記変数を使用したプログラムに置換する置換手段と、を備えることを特徴とする。
本発明にかかるプログラマブルコントローラの周辺装置は、既存のプログラムにおいて記述されたアドレスを抽出し、抽出した各アドレスに対してそれぞれ固有の変数を割り当て、アドレスと該アドレスに対応する変数とを関連付けた変数対応情報を自動で作成し、この変数対応情報に基づいて、既存のプログラムにおいて記述されたアドレスを変数に自動で置換して、既存のプログラムを、変数を使用したプログラムに自動で置換することができる。これにより、本発明にかかるプログラマブルコントローラの周辺装置によれば、既存のシーケンスプログラムを、変数を使用したシーケンスプログラムに自動で効率良く変換することが可能である、という効果を奏する。
以下に、本発明にかかるプログラマブルコントローラ(PLC)の周辺装置、置換方法およびプログラムの実施の形態を図面に基づいて詳細に説明する。なお、本発明は以下の記述により限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
実施の形態
図1は、本発明にかかるPLCの周辺装置としての機能を備えた、本発明の実施の形態にかかるプログラム作成システムの構成の一例を示す図である。本実施の形態にかかるプログラム作成システムは、図1に示すように、PLCの周辺装置であるプログラム作成装置1と、入力装置3と、表示装置5と、外部記憶装置7と、を備えて構成されている。
従来のプログラム作成装置において、変数を使用していない既存のシーケンスプログラム資産を再利用して変数を使用した新たなシーケンスプログラムのプロジェクトを作成するには、まず、変数を使用していない既存のシーケンスプログラム資産を新規のプロジェクトへコピーする。つぎに、コピーしたシーケンスプログラム内の入出力アドレス(入出力デバイス)をグローバル変数として宣言し、内部メモリアドレス(内部デバイス)をローカル変数として宣言して、シーケンスプログラム内のデバイスを変数へ置換する。
従来の置換作業は、シーケンスプログラムの作成者が手作業で行わなければならず、また、アドレスの重複が生じないように考慮しながら行う必要があり、複雑かつ時間を要する作業であった。このため、シーケンスプログラムの作成者の作業の負担が大きく、変数を使用していないシーケンスプログラム資産の再利用を効率的に行うことができなかった。
これに対して、本実施の形態にかかるプログラム作成装置1では、この置換作業を自動的に行うことができる。これにより、本実施の形態にかかるプログラム作成装置1では、シーケンスプログラムの作成者の手を煩わせることなく、変数を使用していないシーケンスプログラム資産を再利用して、新たなシーケンスプログラムのプロジェクトを効率的に作成することができる。ここで、本実施の形態にかかるプログラム作成装置1は、図1に示すようにプログラム作成部11と、記憶部13と、通信部15と、制御部17と、を備えて構成される。
入力装置3は、プログラム作成装置に対する操作を指示する操作指示情報などを入力する操作指示情報入力手段である。表示装置5は、シーケンスプログラムやプログラム作成装置1における処理データなどの各種情報を表示する表示手段である。
外部記憶装置7は、過去に作成した流用元プロジェクトデータ71を記憶する記憶手段である。この外部記憶装置7には、流用元プロジェクトデータ71として、変数を使用していない流用元シーケンスプログラム72と、該流用元シーケンスプログラム72の付属データでありシーケンスプログラムに使用されたアドレス(デバイス)に対するコメントであるデバイスコメント73と、が記憶されている。
図2は、流用元プロジェクトデータ71の流用元シーケンスプログラム72の一例を示す図である。この流用元シーケンスプログラム72は、後述するように既存のシーケンスプログラム資産を再利用して新たなシーケンスプログラムを作成する際の、流用元となるシーケンスプログラムである。図2に示すように、この流用元シーケンスプログラム72には、プログラムのステップと、該ステップに対応したコードと、が記述されている。たとえば図2においては、「ステップ0」には、コード「LD X0」が記述され、「ステップ1」には、コード「SET M1」が記述されている。このように、流用元シーケンスプログラム72は、変数を使用せずに、アドレスを直接記述したプログラムである。
図3は、流用元プロジェクトデータ71のデバイスコメント73の一例を示す図である。このデバイスコメント73は、後述するように既存のシーケンスプログラム資産を再利用して新たなシーケンスプログラムを作成する際の、流用元となるデバイスコメントである。図3に示すように、このデバイスコメント73には、流用元シーケンスプログラム72において記述されたアドレスと、該アドレスに関するコメントと、が記述されている。たとえば図3においては、「アドレスX0」に対しては、該アドレスが意味する内容である「起動スイッチ」が記述され、「アドレスY1」に対しては、該アドレスが意味する内容である「起動ランプ」が記述されている。
図4は、プログラム作成部11の機能構成を示すブロック図である。プログラム作成部11は、図4に示すように、変数テーブル作成部111と、グローバル変数テーブル作成部112と、ローカル変数テーブル作成部113と、置換処理部114と、プログラム作成部115と、を備える。
プログラム作成部11が、変数を使用していない既存のシーケンスプログラム資産を再利用して変数を使用した新たなシーケンスプログラムのプロジェクトを作成する場合には、まず変数テーブル作成部111が既存の流用元シーケンスプログラム72とデバイスコメント73とを外部記憶装置7から記憶部13にコピーする。
つぎに、変数テーブル作成部111は、コピーした既存の流用元シーケンスプログラム72のコード中のアドレスについて、記憶部13に予め記憶された図5に示すようなアドレス種別テーブル(アドレス種別情報)を検索することにより、流用元シーケンスプログラム72のコード中のアドレスの種別を判別する。図5は、アドレス種別テーブルの一例を示す図である。アドレス種別は、グローバルとローカルとの二種類に分類される。このアドレス種別テーブルには、シーケンスプログラムにおいて使用されるアドレスと、該アドレスのアドレス種別(グローバルまたはローカル)と、が対応付けられて記憶されている。
そして、変数テーブル作成部111は、既存の流用元シーケンスプログラム72のコード中のアドレスと、判別したアドレス種別(グローバルまたはローカル)と、デバイスコメント73と、に基づいて、図6に示すようなアドレスと該アドレスに対応する変数とを関連付けて保持する変数テーブル(変数情報)を作成し、記憶部13に記憶させる。図6は、変数テーブルの一例を示す図である。図6においては、変数名としてデバイスコメント73に含まれる「コメント」の名称をそのまま流用して使用している。
グローバル変数テーブル作成部112は、変数テーブル作成部111において作成した図6に示すような変数テーブルから、アドレス種別がグローバル種別である変数名および該変数名に対応するアドレスを抽出し、図7に示すような該抽出した変数とアドレスとを関連付けたグローバル種別変数情報であるグローバル変数テーブルを作成してグローバル変数宣言を行う。図7は、グローバル変数テーブルの一例を示す図である。グローバル変数テーブルには、図7に示すように、アドレス種別がグローバル種別であるアドレス(デバイス)およびこれに対応する変数名が保持されている。このグローバル変数テーブルは、変数を使用していない既存のシーケンスプログラムのアドレス(デバイス)を変数に置換して作成した新たなシーケンスプログラム、またはこの新たなシーケンスプログラムを用いて作成した新たなシーケンスプログラムのコンパイルを行う際に用いられる。
ローカル変数テーブル作成部113は、変数テーブル作成部111において作成した図6に示すような変数テーブルから、アドレス種別がローカル種別である変数名を抽出し、図8に示すようなローカル変数テーブル(アドレスの種別がローカル種別である変数の情報であるローカル種別変数情報)を作成してローカル変数宣言を行う。図8は、ローカル変数テーブルの一例を示す図である。ローカル変数テーブルには、図8に示すように、アドレス種別がローカル種別である変数名が保持されている。このローカル変数テーブルは、変数を使用していない既存のシーケンスプログラムのアドレス(デバイス)を変数に置換して作成した新たなシーケンスプログラム、またはこの新たなシーケンスプログラムを用いて作成した新たなシーケンスプログラムのコンパイルを行う際に用いられる。
置換処理部114は、変数テーブル作成部111において作成した図6に示すような変数テーブルに基づいて、既存の流用元シーケンスプログラム72のコード中のアドレスを、各アドレスに対してそれぞれ固有の変数で置換することにより、既存の流用元シーケンスプログラム72を、変数を使用したシーケンスプログラムへ置換する(変換する)。図9は、図2に示す流用元シーケンスプログラム72を、変数を使用したシーケンスプログラムに変換したシーケンスプログラムの一例を示す図である。
ここで、既存の流用元シーケンスプログラム72のコード中のアドレスを変数で置換する際に、置換処理部114は図3に示すようなデバイスコメント73に記述された各アドレスに対する説明記述である「コメント」の名称を「変数」の名称(変数名)として使用する。また、デバイスコメント73においてアドレスに対する「コメント」が記述されていない場合は、予め指定された固定文字または都度指示される固定文字を該アドレスを置換する「変数」の名称(変数名)として使用する。
プログラム作成部115は、変数を使用したシーケンスプログラムを流用して、または新規にシーケンスプログラムを作成するプログラム作成手段である。
記憶部13は、プログラム作成装置1における処理を行うための各種プログラムや処理時に生成されるシーケンスプログラム、データなどを記憶する記憶手段である。図10は、記憶部13の構成を示すブロック図である。記憶部13は、図10に示すように、プログラム作成装置1における処理を行うための各種プログラムを記憶するプログラムメモリ131と、プログラム作成装置1における処理時に生成されるデータを記憶するデータメモリ132と、プログラム作成装置1において既存の流用元シーケンスプログラム72を流用して新たに作成または編集したシーケンスプログラムのプロジェクトを記憶する流用後プロジェクトメモリ133と、を備える。
また、流用後プロジェクトメモリ133は、流用後プロジェクトデータ139を記憶しており、該流用後プロジェクトデータ139には、たとえばグローバル変数テーブル134と、既存の流用元シーケンスプログラム72を流用して新たに作成または編集したシーケンスプログラムA135Aと、シーケンスプログラムA135に対応するローカル変数テーブルA136Aと、既存の流用元シーケンスプログラム72を流用して新たに作成または編集したシーケンスプログラムB135Bと、シーケンスプログラムB135Bに対応するローカル変数テーブルB136Bと、アドレス種別テーブル137と、変数テーブル138と、を記憶している。また、記憶部13は、外部記憶装置7から既存の流用元シーケンスプログラム72およびデバイスコメント73をコピーした際には、これらをデータメモリ132に記憶する。
通信部15は、プログラム作成装置1の外部に接続した外部記憶装置7との間で情報の入出力を行う情報入出力手段である。制御部17は、プログラム作成装置1全体の制御を行う。
つぎに、このように構成された本実施の形態にかかるプログラム作成システムを用いて、過去に作成した既存のシーケンスプログラム資産を再利用して新たなシーケンスプログラムを作成する際の処理について説明する。まず、図11を参照しながら、変数テーブルの作成処理について説明する。図11は、本実施の形態にかかるプログラム作成装置1における変数テーブルの作成処理を説明するためのフローチャートである。
本実施の形態にかかるプログラム作成装置1において変数テーブルを作成するには、まず、プログラム作成部11の変数テーブル作成部111が、既存の流用元シーケンスプログラム72とデバイスコメント73とを、外部記憶装置7から記憶部13のデータメモリ132にコピーする(ステップS101)。つぎに、変数テーブル作成部111は、記憶部13のデータメモリ132にコピーした流用元シーケンスプログラム72の先頭行から検索を開始して、流用元シーケンスプログラム72のコードに含まれるアドレス(デバイス)の抽出を行う(ステップS102)。
そして、変数テーブル作成部111は、変数テーブルを参照して、抽出したアドレス(デバイス)が変数テーブルに未登録であるか否かを判断する(ステップS103)。抽出したアドレス(デバイス)が変数テーブルに未登録である場合には(ステップS103肯定)、該アドレス(デバイス)を変数テーブルに登録する(ステップS104)。そして、変数テーブル作成部111は、記憶部13に予め記憶されたアドレス種別テーブル137から該アドレス(デバイス)を検索してアドレスの種別(グローバルまたはローカル)を判別し、アドレスの種別(グローバルまたはローカル)を変数テーブルに登録する(ステップS105)。
つぎに、変数テーブル作成部111は、記憶部13のデータメモリ132にコピーしたデバイスコメント73を検索して、該アドレスに対するコメントの有無を判断する(ステップS106)。アドレスに対するコメントが存在する場合は(ステップS106肯定)、該当するコメントの名称を該アドレスに対応する変数(名)として変数テーブルに登録する(ステップS107)。一方、アドレスに対するコメントが存在しない場合は(ステップS106否定)、予め指定された固定文字または都度指示される固定文字を該アドレスに対応する変数(名)として変数テーブルに登録する(ステップS108)。
そして、変数(名)の登録後、変数テーブル作成部111は、流用元シーケンスプログラム72のコードに含まれる全てのアドレス(デバイス)の抽出が終了して変数テーブルに登録されているか否か判断する(ステップS109)。流用元シーケンスプログラム72のコードに含まれる全てのアドレス(デバイス)が変数テーブルに登録されていない場合は(ステップS109否定)、ステップS102に戻って流用元シーケンスプログラム72のコードに含まれるアドレス(デバイス)の抽出を繰り返す。また、流用元シーケンスプログラム72のコードに含まれる全てのアドレス(デバイス)が変数テーブルに登録されている場合は(ステップS109肯定)、一連の変数テーブルの作成処理が終了する。
また、ステップS103に戻って、抽出したアドレス(デバイス)が変数テーブルに登録されている場合には(ステップS103否定)、そのままステップS109に進む。変数テーブル作成部111は、流用元シーケンスプログラム72のコードに含まれる全てのアドレス(デバイス)の抽出が終了して変数テーブルに登録されているか否か判断する(ステップS109)。
そして、流用元シーケンスプログラム72のコードに含まれる全てのアドレス(デバイス)が変数テーブルに登録されていない場合は(ステップS109否定)、ステップS102に戻って流用元シーケンスプログラム72のコードに含まれるアドレス(デバイス)の抽出を繰り返す。また、流用元シーケンスプログラム72のコードに含まれる全てのアドレス(デバイス)が変数テーブルに登録されている場合は(ステップS109肯定)、一連の変数テーブルの作成処理が終了する。
以上のような処理を行うことにより、本実施の形態にかかるプログラム作成装置1においては、図12に示すように流用元プロジェクトデータ71の流用元シーケンスプログラム72とアドレス種別テーブル137とに基づいて、変数テーブル138を作成することができる。図12は、本実施の形態にかかるプログラム作成装置1における変数テーブルの作成方法を説明するための図である。
つぎに、上記のようにして作成した変数テーブル138に基づいて、既存の流用元シーケンスプログラム72のコード中のアドレスを、該アドレスに対応する変数で置換する際の処理について図13を参照しながら説明する。図13は、本実施の形態にかかるプログラム作成装置1におけるプログラムの置換処理を説明するためのフローチャートである。
本実施の形態にかかるプログラム作成装置1においてプログラムの置換処理を行うには、まずプログラム作成部11の置換処理部114が、記憶部13にコピーした流用元シーケンスプログラム72の先頭行から検索を開始して、流用元シーケンスプログラム72のコードに含まれるアドレス(デバイス)の抽出を行う(ステップS201)。つぎに、置換処理部114は、抽出したアドレス(デバイス)を変数テーブルにおいて検索し、変数テーブルから該アドレス(デバイス)に対応する変数(名)を抽出する(ステップS202)。
そして、置換処理部114は、抽出した流用元シーケンスプログラム72のアドレス(デバイス)を該変数に置き換える置換処理を行い、置換処理を行ったシーケンスプログラムをたとえばシーケンスプログラムA135Aとして流用後プロジェクトメモリ133に記憶させる(ステップS203)。置換処理後、置換処理部114は、流用元シーケンスプログラム72の全てのアドレス(デバイス)を、対応する変数に置換が完了したか否かを判断する(ステップS204)。
ここで、流用元シーケンスプログラム72内の全てのアドレス(デバイス)の変数への置換が完了していないと判断した場合は(ステップS204否定)、ステップS201に戻る。一方、流用元シーケンスプログラム72内の全てのアドレス(デバイス)の変数への置換が完了したと判断した場合は(ステップS204肯定)、一連の変数テーブルの作成処理が終了する。
以上のような処理を行うことにより、本実施の形態にかかるプログラム作成装置1においては、図14に示すように流用元プロジェクトデータ71の流用元シーケンスプログラム72と変数テーブル138とに基づいて、流用元プロジェクトデータ71の流用元シーケンスプログラム72におけるアドレス(デバイス)を自動で変数に置換することができる。そして、流用元プロジェクトデータ71を、変数を使用したシーケンスプログラムに置換することができる。すなわち、本実施の形態にかかるプログラム作成装置1によれば、変数を使用していない既存のシーケンスプログラムを、変数を使用したシーケンスプログラムに自動で置換(変換)することができる。図14は、本実施の形態にかかるプログラム作成装置1におけるシーケンスプログラムの置換(変換)を説明する図である。
つぎに、上記のようにして作成した変数テーブル138に基づいて、グローバル変数テーブルを作成してグローバル変数宣言を行う処理について図15を参照しながら説明する。図15は、本実施の形態にかかるプログラム作成装置1におけるグローバル変数宣言処理を説明するためのフローチャートである。
本実施の形態にかかるプログラム作成装置1においてグローバル変数宣言処理を行うには、まずプログラム作成部11のグローバル変数テーブル作成部112が、アドレス種別がグローバル種別である変数(名)および該変数に対応するアドレス(デバイス)を変数テーブル138から抽出する(ステップS301)。つぎに、グローバル変数テーブル作成部112は、抽出した変数(名)および該変数に対応するアドレス(デバイス)をグローバル変数テーブル134に登録する(ステップS302)。
登録後、グローバル変数テーブル作成部112は、変数テーブル138に含まれる全てのグローバル種別である変数(名)および該変数に対応するアドレス(デバイス)をグローバル変数テーブル134に登録したか否かを判断する(ステップS303)。
ここで、変数テーブル138に含まれる全てのグローバル種別である変数(名)および該変数に対応するアドレス(デバイス)をグローバル変数テーブル134に登録していないと判断した場合には(ステップS303否定)、ステップS301に戻る。一方、変数テーブル138に含まれる全てのグローバル種別である変数(名)および該変数に対応するアドレス(デバイス)をグローバル変数テーブル134に登録したと判断した場合は(ステップS303肯定)、一連のグローバル変数宣言処理が終了する。
以上のような処理を行うことにより、本実施の形態にかかるプログラム作成装置1においては、図16に示すように変数テーブル138に基づいてグローバル変数テーブル134を自動で作成し、または新たな変数(名)および該変数(名)に対応するアドレス(デバイス)をグローバル変数テーブル134に追加してグローバル変数宣言を行うことができる。図16は、本実施の形態にかかるプログラム作成装置1におけるグローバル変数テーブルの作成を説明する図である。
つぎに、上記のようにして作成した変数テーブル138に基づいて、ローカル変数テーブルを作成してローカル変数宣言を行う処理について図17を参照しながら説明する。図17は、本実施の形態にかかるプログラム作成装置1におけるローカル変数宣言処理を説明するためのフローチャートである。
本実施の形態にかかるプログラム作成装置1においてローカル変数宣言処理を行うには、まずプログラム作成部11のローカル変数テーブル作成部113が、アドレス種別がローカル種別である変数(名)を変数テーブル138から抽出する(ステップS401)。つぎに、ローカル変数テーブル作成部113は、抽出した変数(名)をたとえばローカル変数テーブルA136Aに登録する(ステップS402)。
登録後、ローカル変数テーブル作成部113は、変数テーブル138に含まれる全てのローカル種別である変数(名)をローカル変数テーブルA136Aに登録したか否かを判断する(ステップS403)。
ここで、変数テーブル138に含まれる全てのローカル種別である変数(名)をローカル変数テーブルA136Aに登録していないと判断した場合には(ステップS403否定)、ステップS401に戻る。一方、変数テーブル138に含まれる全てのローカル種別である変数(名)をローカル変数テーブルA136Aに登録したと判断した場合は(ステップS403肯定)、一連のローカル変数宣言処理が終了する。
以上のような処理を行うことにより、本実施の形態にかかるプログラム作成装置1においては、図18に示すように変数テーブル138に基づいて、シーケンスプログラムA135Aに対応するローカル変数テーブルA136Aを作成し、ローカル変数宣言を行うことができる。図18は、本実施の形態にかかるプログラム作成装置1におけるローカル変数テーブルの作成を説明する図である。
また、本実施の形態にかかるプログラム作成装置1においては、プログラム作成部115は、上記のようにして置換・変換した、変数を使用したシーケンスプログラムA135Aを流用して、新たなシーケンスプログラムB135Bを作成し、たとえばシーケンスプログラムB135Bとして流用後プロジェクトメモリ133に記憶させることができる。このとき、上記と同様にして、グローバル宣言処理を行い、グローバル変数テーブル134に新たなアドレス(デバイス)を追記することができる。また、上記と同様にして、新たなシーケンスプログラムB135Bに対応するローカル変数テーブルB136Bを作成し、ローカル変数宣言を行うことができる。
これにより、本実施の形態にかかるプログラム作成装置1においては、図19に示すように、変数を使用したシーケンスプログラムA135Aを流用して、変数を使用した新たなシーケンスプログラムB135Bを作成することができる。図19は、本実施の形態にかかるプログラム作成装置1の機能を説明する図である。
すなわち、本実施の形態にかかるプログラム作成装置1によれば、図20に示すように、流用元プロジェクトデータ71の流用元シーケンスプログラム72およびデバイスコメント73と、変数テーブル138と、に基づいて、流用後プロジェクトデータ139のシーケンスプログラムA135A、ローカル変数テーブルA136Aおよびグローバル変数テーブル134を自動で作成、更新することができる。
そして、流用後プロジェクトデータ139のシーケンスプログラムA135A、ローカル変数テーブルA136Aおよびグローバル変数テーブル134と、変数テーブル138と、に基づいて、流用後プロジェクトデータ139のシーケンスプログラムB135B、ローカル変数テーブルB136Bおよびグローバル変数テーブル134を作成、更新することができる。図20は、プログラム作成装置1の機能を説明する図である。
上述したように、本実施の形態にかかるプログラム作成装置1は、PLCのシーケンスプログラムを作成、編集するPLCの周辺装置である。このプログラム作成装置1においては、シーケンスプログラム内において入出力アドレス(入出力デバイス)やPLCの内部メモリアドレス(内部デバイス)などのアドレス(デバイス)の代わりに、変数を用いてシーケンスプログラムの作成を行うことができる。すなわち、アドレスを直接シーケンスプログラムに記述するのではなく、該アドレスを変数に置き換えて記述したシーケンスプログラムの作成を行うことができる。
また、このプログラム作成装置1では、過去に作成した既存のシーケンスプログラム資産を再利用して新たなシーケンスプログラムを作成することができる。ここで、このプログラム作成装置1では、過去に作成したシーケンスプログラム資産を再利用して新たなシーケンスプログラムのプロジェクトを作成する際に、変数を使用した既存のシーケンスプログラム資産を再利用して、変数を使用した新たなシーケンスプログラムを作成することができる。また、このプログラム作成装置1では、変数を使用していない既存のシーケンスプログラム資産を再利用して、変数を使用した新たなシーケンスプログラムを作成することができる。
そして、本実施の形態にかかるプログラム作成装置1では、変数を使用していない既存のシーケンスプログラム資産に記述されたアドレス(デバイス)を自動的に変数に置換して、変数を使用したシーケンスプログラムに変換することができる。
なお、上記においては、入力装置および表示装置をプログラム作成装置の外部に配置した構成としているが、プログラム作成装置が入力装置および表示装置を備えた構成とすることもできる。また、上記においては、プログラム作成装置と外部記憶装置とを直接接続した構成としているが、ネットワークを介してプログラム作成装置と外部記憶装置とを接続する構成とすることも可能である。また、上記においては、既存の流用元プロジェクトデータ71を外部記憶装置7に記憶する形態について説明したが、流用元プロジェクトデータ71をプログラム作成装置1内の記憶部13に記憶する構成とすることもできる。
また、上述したプログラム置換方法およびプログラム作成方法を、これらの方法の処理手順が格納されたプログラムとして構成し、このプログラムを図21に示すようにCPU、記憶装置等を有するコンピュータ(プログラマブルコントローラの周辺装置)で実行することによって実現することができる。
図21は上述したプログラム置換方法およびプログラム作成方法のプログラムを実行可能なコンピュータ装置の概略構成の一例を示すブロック図である。このコンピュータ装置は、入力装置201、表示装置202、CPU(Central Processing Unit:中央処理ユニット)203、メモリ204、記憶装置205、媒体駆動装置206、ネットワークインターフェース207及びバス208を備えて構成されている。
ここで、入力装置201はキーボード、マウス、タッチパネル、スキャナ等により構成され、情報の入力に使用される。表示装置202は、種々の出力情報や入力装置201からの入力された情報などを表示出力させる。CPU203は、種々のプログラムを動作させる。メモリ204は、CPU203によって実行されるプログラムが展開され、またそのプログラムがCPU203によって実行されるときに一時的に作成される情報等が記憶される。記憶装置205は、プログラムやプログラム実行時の一時的な情報等を保持する。媒体駆動装置206は、プログラムやデータ等を記憶した記録媒体を装着してそれらを読み込み、メモリ204または記憶装置205へ格納するのに用いられる。ネットワークインターフェース207は、コンピュータ装置とネットワークとを接続するためのものである。バス208は、上記各部を接続する。
また、上記においては、PLCのシーケンスプログラムを作成する場合を例に説明したが、本発明はPLCのシーケンスプログラムの作成に限定されるものではなく、シーケンスプログラムの作成全般に適用可能である。
以上のように、本発明にかかるプログラマブルコントローラの周辺装置は、変数を使用していない既存のシーケンスプログラム資産を再利用して新たなシーケンスプログラムを作成する場合に有用である。
図1は、本発明の実施の形態にかかるプログラム作成システムの構成の一例を示す図である。 図2は、流用元プロジェクトデータの流用元シーケンスプログラムの一例を示す図である。 図3は、流用元プロジェクトデータのデバイスコメントの一例を示す図である。 図4は、本発明の実施の形態にかかるプログラム作成装置におけるプログラム作成部の機能構成を示すブロック図である。 図5は、本発明の実施の形態にかかるプログラム作成装置におけるアドレス種別テーブルの一例を示す図である。 図6は、本発明の実施の形態にかかるプログラム作成装置における変数テーブルの一例を示す図である。 図7は、本発明の実施の形態にかかるプログラム作成装置におけるグローバル変数テーブルの一例を示す図である。 図8は、本発明の実施の形態にかかるプログラム作成装置におけるローカル変数テーブルの一例を示す図である。 図9は、流用元シーケンスプログラムを、変数を使用したシーケンスプログラムに変換したシーケンスプログラムの一例を示す図である。 図10は、本発明の実施の形態にかかるプログラム作成装置における記憶部の構成を示すブロック図である。 図11は、本発明の実施の形態にかかるプログラム作成装置における変数テーブルの作成処理を説明するためのフローチャートである。 図12は、本発明の実施の形態にかかるプログラム作成装置における変数テーブルの作成方法を説明するための図である。 図13は、本発明の実施の形態にかかるプログラム作成装置におけるプログラムの置換処理を説明するためのフローチャートである。 図14は、本発明の実施の形態にかかるプログラム作成装置におけるシーケンスプログラムの変換を説明する図である。 図15は、本発明の実施の形態にかかるプログラム作成装置におけるグローバル変数宣言処理を説明するためのフローチャートである。 図16は、本発明の実施の形態にかかるプログラム作成装置におけるグローバル変数テーブルの作成を説明する図である。 図17は、本発明の実施の形態にかかるプログラム作成装置におけるローカル変数宣言処理を説明するためのフローチャートである。 図18は、本発明の実施の形態にかかるプログラム作成装置におけるローカル変数テーブルの作成を説明する図である。 図19は、本発明の実施の形態にかかるプログラム作成装置の機能を説明する図である。 図20は、本発明の実施の形態にかかるプログラム作成装置の機能を説明する図である。 図21は、本発明の実施の形態にかかるプログラム置換方法およびプログラム作成方法のプログラムを実行可能なコンピュータ装置の概略構成の一例を示すブロック図である。
符号の説明
1 プログラム作成装置
3 入力装置
5 表示装置
7 外部記憶装置
11 プログラム作成部
13 記憶部
15 通信部
17 制御部
71 流用元プロジェクトデータ
72 流用元シーケンスプログラム
73 デバイスコメント
111 変数テーブル作成部
112 グローバル変数テーブル作成部
113 ローカル変数テーブル作成部
114 置換処理部
115 プログラム作成部
131 プログラムメモリ
132 データメモリ
133 流用後プロジェクトメモリ
134 グローバル変数テーブル
135A シーケンスプログラムA
135B シーケンスプログラムB
136A ローカル変数テーブルA
136B ローカル変数テーブルB
137 アドレス種別テーブル
138 変数テーブル
139 流用後プロジェクトデータ
201 入力装置
202 表示装置
203 CPU
204 メモリ
205 記憶装置
206 媒体駆動装置
207 ネットワークインターフェース
208 バス

Claims (7)

  1. 既存のプログラムを、変数を使用したプログラムに置換するプログラマブルコントローラの周辺装置であって、
    前記既存のプログラムにおいて記述されたアドレスを抽出し、前記抽出した各アドレスに対してそれぞれ固有の変数を割り当て、前記アドレスと該アドレスに対応する変数とを関連付けた変数対応情報を作成する変数情報作成手段と、
    前記既存のプログラムにおいて記述されたアドレスを前記変数対応情報に基づいて前記変数に置換して、前記既存のプログラムを前記変数を使用したプログラムに置換する置換手段と、
    を備えることを特徴とするプログラマブルコントローラの周辺装置。
  2. 前記変数として、前記抽出したアドレスに対する説明記述であるコメントの名称を割り当てること、
    を特徴とする請求項1に記載のプログラマブルコントローラの周辺装置。
  3. 前記変数情報作成手段は、前記変数対応情報として、前記既存のプログラムにおいて記述されたアドレスと該アドレスの種別とを関連付けたアドレス種別情報に基づいて、前記アドレスと前記変数とにさらに前記アドレスの種別を関連付けた変数対応情報を作成すること、
    を特徴とする請求項1に記載のプログラマブルコントローラの周辺装置。
  4. 前記アドレスの種別がグローバル種別とローカル種別であり、
    前記アドレスと前記変数と前記アドレスの種別とを関連付けた変数対応情報から、前記グローバル種別に関連付けられた変数およびアドレスを抽出し、該抽出した変数とアドレスとを関連付けたグローバル種別変数情報を作成するグローバル種別変数情報作成手段を備えること、
    を特徴とする請求項3に記載のプログラマブルコントローラの周辺装置。
  5. 前記アドレスの種別がグローバル種別とローカル種別であり、
    前記アドレスと前記変数と前記アドレスの種別とを関連付けた変数対応情報から、前記ローカル種別に関連付けられた変数を抽出し、前記アドレスの種別がローカル種別である変数の情報であるローカル種別変数情報を作成するローカル種別変数情報作成手段を備えること、
    を特徴とする請求項3に記載のプログラマブルコントローラの周辺装置。
  6. 既存のプログラムを、変数を使用したプログラムに置換する置換方法であって、
    前記既存のプログラムにおいて記述されたアドレスを抽出し、前記抽出した各アドレスに対してそれぞれ固有の変数を割り当て、前記アドレスと該アドレスに対応する変数とを関連付けた変数対応情報を作成する変数情報作成工程と、
    前記既存のプログラムにおいて記述されたアドレスを前記変数対応情報に基づいて前記変数に置換して、前記既存のプログラムを前記変数を使用したプログラムに置換する置換工程と、
    を含むことを特徴とする置換方法。
  7. 請求項6に記載の置換方法をプログラマブルコントローラの周辺装置に実行させるプログラム。
JP2007552426A 2007-02-19 2007-02-19 プログラマブルコントローラの周辺装置、置換方法およびプログラム Expired - Fee Related JP4541418B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/052982 WO2008102426A1 (ja) 2007-02-19 2007-02-19 プログラマブルコントローラの周辺装置、置換方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2008102426A1 true JPWO2008102426A1 (ja) 2010-05-27
JP4541418B2 JP4541418B2 (ja) 2010-09-08

Family

ID=39709711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007552426A Expired - Fee Related JP4541418B2 (ja) 2007-02-19 2007-02-19 プログラマブルコントローラの周辺装置、置換方法およびプログラム

Country Status (6)

Country Link
US (1) US20100161085A1 (ja)
JP (1) JP4541418B2 (ja)
KR (1) KR100967761B1 (ja)
CN (1) CN101365994B (ja)
DE (1) DE112007003298T5 (ja)
WO (1) WO2008102426A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5262765B2 (ja) * 2009-01-29 2013-08-14 株式会社明電舎 Plcのプログラム変換ツール
KR101592974B1 (ko) * 2009-03-27 2016-02-12 삼성전자주식회사 복수의 프로세서들을 포함하는 시스템 장치 및 그 변수 선언 및 사용 방법
CN103180789B (zh) * 2010-10-27 2016-03-02 三菱电机株式会社 日志设定装置、日志设定方法
JP2012141853A (ja) * 2011-01-04 2012-07-26 Mitsubishi Electric Corp プログラマブルコントローラ及びプログラマブルコントローラシステム
US9772617B2 (en) * 2011-06-30 2017-09-26 General Electric Company Systems and methods for function block instantiation
US9582910B2 (en) 2011-12-28 2017-02-28 Mitsubishi Electric Corporation Display-screen-data editing apparatus
JP5968186B2 (ja) * 2012-10-15 2016-08-10 三菱電機株式会社 プログラム作成支援装置及びプログラム
TWI489232B (zh) * 2012-11-14 2015-06-21 Inst Information Industry 遠端監控系統及方法及其記錄媒體
CN105144003B (zh) * 2013-03-04 2017-04-05 三菱电机株式会社 程序开发辅助装置及其方法
US9626160B2 (en) * 2013-03-29 2017-04-18 Mitsubishi Electric Corporation Sequence-program-component creation program and sequence-program-component creation device
JP6375666B2 (ja) * 2014-03-31 2018-08-22 株式会社ジェイテクト Plcおよびplc用のプログラミングツール
JP5937637B2 (ja) * 2014-04-30 2016-06-22 ファナック株式会社 シーケンスプログラムの切り替え時に、切り替え予告信号を出力する制御装置
US10739746B2 (en) 2014-10-30 2020-08-11 Siemens Aktiengesellschaft Using soft-sensors in a programmable logic controller
JP6483507B2 (ja) * 2015-04-07 2019-03-13 株式会社東芝 制御プログラム作成装置、及び制御プログラムのデバッグ方法
DE112018000198T5 (de) 2018-05-11 2019-12-24 Mitsubishi Electric Corporation Compiler und Programmierungsunterstützungsgerät
CN112084013B (zh) * 2019-06-13 2024-04-05 武汉杰开科技有限公司 一种程序调用方法、芯片及计算机存储介质
CN113268042B (zh) * 2021-05-13 2022-06-24 矿冶科技集团有限公司 一种上位机程序处理方法、装置以及电子设备
CN113848815A (zh) * 2021-08-27 2021-12-28 苏州谷夫道自动化科技有限公司 多通道数控系统plc程序共用的方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04294183A (ja) * 1991-03-25 1992-10-19 Tohoku Ricoh Co Ltd プログラム組込型機器
JPH11338732A (ja) * 1998-05-27 1999-12-10 Fuji Electric Co Ltd プログラマブルコントローラ支援装置および記録媒体
WO2001027701A1 (fr) * 1999-10-15 2001-04-19 Omron Corporation Systeme de reseau, procede de commande, dispositif de commande et multiprocesseur
JP2001229015A (ja) * 2000-02-18 2001-08-24 Mitsubishi Electric Corp 制御装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242313A (ja) 1999-02-18 2000-09-08 Omron Corp アドレス自動割付方法および装置
FR2820222B1 (fr) * 2001-01-26 2003-03-21 Schneider Automation Procede de programmation d'une application d'automatisme
CN100397268C (zh) * 2002-12-23 2008-06-25 西门子能量及自动化公司 利用plc的存储设备的方法和结构
JP2005129026A (ja) * 2003-10-02 2005-05-19 Omron Corp プログラマブルコントローラおよび通信ユニットならびにコントローラシステムおよびデータ処理方法ならびに変数解決方法およびデータ受渡方法
JP4513806B2 (ja) * 2004-04-15 2010-07-28 三菱電機株式会社 プログラマブルロジックコントローラの周辺装置及びそのプログラム作成方法
JP4485326B2 (ja) * 2004-11-05 2010-06-23 株式会社デジタル プログラマブル表示器、表示制御プログラムおよびそのプログラムを記録した記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04294183A (ja) * 1991-03-25 1992-10-19 Tohoku Ricoh Co Ltd プログラム組込型機器
JPH11338732A (ja) * 1998-05-27 1999-12-10 Fuji Electric Co Ltd プログラマブルコントローラ支援装置および記録媒体
WO2001027701A1 (fr) * 1999-10-15 2001-04-19 Omron Corporation Systeme de reseau, procede de commande, dispositif de commande et multiprocesseur
JP2001229015A (ja) * 2000-02-18 2001-08-24 Mitsubishi Electric Corp 制御装置

Also Published As

Publication number Publication date
KR100967761B1 (ko) 2010-07-05
JP4541418B2 (ja) 2010-09-08
CN101365994B (zh) 2013-08-21
KR20090010942A (ko) 2009-01-30
CN101365994A (zh) 2009-02-11
US20100161085A1 (en) 2010-06-24
DE112007003298T5 (de) 2009-11-19
WO2008102426A1 (ja) 2008-08-28

Similar Documents

Publication Publication Date Title
JP4541418B2 (ja) プログラマブルコントローラの周辺装置、置換方法およびプログラム
JP5599535B2 (ja) シーケンスプログラムデバッグ支援装置
US7757025B2 (en) Programmable logic controller peripheral device and program creation method thereof
JP2018045544A (ja) プログラム処理装置およびプログラム
JP6092686B2 (ja) 運用作業フロー作成支援方法および運用作業フロー作成支援システム
JP2009193181A (ja) ソフトウェアの開発支援システム、支援方法およびこの方法のプログラム
JP2013084112A (ja) プログラマブルコントローラシステム、そのプログラミング装置、プログラマブルコントローラ、プログラム、デバッグ方法
JP5425317B2 (ja) モーションsfcプログラム部品作成装置
US20230088670A1 (en) Reverse compiler
JP2011059918A (ja) バージョン管理装置及びバージョン管理方法
JP2010049484A (ja) プログラマブル・ロジック・コントローラのプログラム編集装置
JP2006309538A (ja) プログラム照合装置及びこれに適用されるプログラム
JP2010176594A (ja) ソースコードバージョン管理プログラム及びソースコードバージョン管理方法
CN110447028B (zh) 系统设计辅助装置及系统设计辅助方法
JP7204054B1 (ja) プログラム、設定装置及び表示方法
JP2013250810A (ja) プログラマブルコントローラ、その支援装置、プログラム、プログラム転送方法
JP4628169B2 (ja) ユーザプログラム用検索装置及びこれに適用されるプログラム
JP2010182031A (ja) ソフトウエア生成支援装置
JP4362777B2 (ja) プログラミング装置、シンボル自動登録方法、プログラムおよび記録媒体
JP2006330998A (ja) 設計情報管理システム及び設計情報管理方法
JPH1097552A (ja) Cadデータ変換装置
JP2009259072A (ja) シーケンスプログラム作成装置
KR20210106571A (ko) 정보 처리 장치, 정보 처리 방법 및 기록 매체에 저장된 정보 처리 프로그램
JP5360383B2 (ja) Plcのプログラミング装置におけるオペランドの入力支援方法
JP2006134358A (ja) 文書管理装置及び文書管理方法

Legal Events

Date Code Title Description
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: 20100622

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100623

R150 Certificate of patent or registration of utility model

Ref document number: 4541418

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130702

Year of fee payment: 3

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

LAPS Cancellation because of no payment of annual fees