JP4168224B2 - プログラマブルコントローラのプログラミング装置 - Google Patents
プログラマブルコントローラのプログラミング装置 Download PDFInfo
- Publication number
- JP4168224B2 JP4168224B2 JP2000380546A JP2000380546A JP4168224B2 JP 4168224 B2 JP4168224 B2 JP 4168224B2 JP 2000380546 A JP2000380546 A JP 2000380546A JP 2000380546 A JP2000380546 A JP 2000380546A JP 4168224 B2 JP4168224 B2 JP 4168224B2
- Authority
- JP
- Japan
- Prior art keywords
- ladder
- register
- mathematical expression
- programmable controller
- token
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Programmable Controllers (AREA)
Description
【発明の属する技術分野】
本発明は、プログラマブルコントローラのプログラミング装置に係り、特に表示画面上でラダーダイアグラムを作成編集しながらシーケンスプログラムを作成することができるプログラマブルコントローラのプログラミング装置に関する。
【0002】
【従来の技術】
従来、この種のプログラマブルコントローラのプログラミング装置は、図4に示すようになっている。すなわち、図4において、1が従来のプログラミング装置で、2はラダーダイアグラム表示手段、9はラダーコード生成手段、10はラダーコード記憶手段、11はラダープログラム実行制御手段である。
ラダーダイアグラム上へのシーケンス命令の記述は、命令を選択し、その命令をラダーダイアグラム表示手段2の中のラダーダイアグラム中に挿入することで行われる。各ラダー命令はパラメータ入力領域を持っており、命令に応じて種々のデータを必要とする。入力されたラダーダイアグラムはラダーコード生成手段9によってラダーコードに変換され、ラダーコード記憶手段10に記憶され、ラダープログラム実行制御手段11によって実行される。
【0003】
【発明が解決しようとする問題】
ところがこのような従来の技術では、プログラマブルコントローラのプログラミング装置においてラダーダイアグラム上で加算や乗算を含んだ任意の複雑な計算を一つの命令で記述し、かつラダーシーケンスプログラム実行時のオンラインデータを視認することができず、ラダーシーケンスプログラムの作成効率が悪く、したがってデバッグの効率が良くなかった。
そこで、本発明は複雑な計算式を一つの命令で簡潔に入力し、ラダーシーケンス実行時には数式のオンラインデータを表示する仕組みを提供することにより、実行時にはオンラインデータを視認できるようにして、ラダーシーケンスプログラムの作成効率とデバッグの効率を向上させることを目的とする。
【0004】
【課題を解決するための手段】
上記問題を解決するため、請求項1記載のプログラマブルコントローラのプログラミング装置の発明は、表示画面上にラダーダイアグラムを作成することによりプログラマブルコントローラ用シーケンスプログラムを作成することができるプログラマブルコントローラのプログラミング装置であって、ラダーダイアグラムを表示するラダーダイアグラム表示手段(2)と、ラダーダイアグラムをラダーコードに変換するラダーコード生成手段(9)と、前記ラダーコード生成手段(9)によって変換されたラダーコードを記憶するラダーコード記憶手段(10)と、前記ラダーコード生成手段(9)によって変換されたラダーコードの実行を制御するラダープログラム実行制御手段(11)と、を備えたプログラマブルコントローラのプログラミング装置において、前記ラダーダイアグラムを構成する各命令シンボルおよび各命令シンボル内のパラメータ領域の入力を一時保持するためのラダーダイアグラム記憶手段(6)と、変数・関数および演算子を組合わせた任意の式を入力することにより、数式を入力するとともに、前記数式を表示する数式入力・表示手段(5)と、前記数式を記憶するための数式記憶手段(7)と、前記数式記憶手段(7)に記憶されている前記数式を字句解析して変数トークンであればトークン番号を付加して保存する変数トークン保持領域(23)と、レジスタアドレスとレジスタ識別名の対応を記憶し、レジスタアドレスからレジスタ識別名、あるいはレジスタ識別名からレジスタアドレスへの変更を行うレジスタ識別名記憶・変換手段(8)と、をさらに備え、前記ラダーコード生成手段(9)が前記数式記憶手段(7)に記憶される前記数式をラダーコードに変換し、前記ラダープログラム実行制御手段(11)によるラダーコードの実行時に、前記数式の中の変数の現在値であるオンラインデータを、前記変数トークン保持領域(23)に保持されている変数トークンとラダーコードとを対応づけることによりプログラマブルコントローラから取得し、前記レジスタ識別名記憶・変換手段(8)によってレジスタアドレスとレジスタ識別名間の変換を行うことにより、レジスタアドレスまたはレジスタ識別名とともに前記ラダーダイアグラム表示手段(2)に表示することを特徴とすることを特徴とする。
【0005】
【発明の実施の形態】
以下、本発明の実施の形態を図1〜図3に基づいて説明する。
図1に示すように、プログラマブルコントローラのプログラムを作成する本発明に係るプログラミング装置1は、レジスタアドレスをアドレス識別名として記憶するレジスタ識別名記憶・変換手段8、命令シンボルおよび命令パラメータシンボルで構成されるラダーダイアグラムを作成し記憶するラダーダイアグラム記憶手段6、前記ラダーダイアグラムを表示するラダーダイアグラム表示手段2、数式を入力し表示する数式入力・表示手段5および数式命令を画面表示する数式命令表示手段4、ラダーダイアグラムを解析し、ラダーダイアグラム中のアドレスシンボルをレジスタアドレスに変換し、ラダーダイアグラム中の数式を解析し、数式中のアドレス識別名を前記レジスタ識別名記憶・変換手段8によりレジスタアドレスに変換したラダーコードを生成するラダーコード生成手段9、および前記ラダーコード生成手段により生成されたラダーコードの実行を制御するラダープログラム実行制御手段11を備えている。
ラダーダイアグラム上のシーケンス中に数式による動作指令を記述する場合には、命令シンボルとして命令シンボル選択手段3より数式命令を選択し、数式命令4が持つ数式入力・表示手段5に対し変数、関数および演算子を組み合わせた任意の式を入力することで行われる。数式命令4のパラメータとして入力された任意の数式は、数式入力・表示手段5に表示するとともに数式記憶手段7に記憶される。
【0006】
数式中で用いる変数としては、コントローラのレジスタアドレスを表す文字列のほかに、コントローラのレジスタアドレスに対するレジスタ識別名を使用することができる。
レジスタ識別名はレジスタアドレスに対する名前として、特定の制約のもとに任意の名称を付与することができる。レジスタアドレスとレジスタ識別名の対応づけはレジスタ識別名記憶・変換手段8に保存しておき、レジスタアドレスからレジスタ識別名への変換、またはレジスタ識別名からレジスタアドレスへの変換を容易に行うことができる状態にしておく。このとき、レジスタ識別名にはアドレスと誤って解釈されうる文字列を使用禁止にすることでレジスタ識別名およびレジスタアドレス表記の一意性を保つことができる。
プログラム作成者が入力した数式中にレジスタアドレスが含まれる場合、一定のフォーマットに従ってレジスタアドレスの表記を整形する。レジスタ識別名とレジスタアドレス表記の区別が瞬時につかないような文字列を入力した場合でも、整形された文字列からレジスタ識別名であるのかレジスタアドレスであるのが容易に判別できるので、数式からその曖昧性を排除することができる。
数式中にはレジスタアドレスしか使用できないという制約や数式中にはレジスタ識別名しか使用できないという制約を設けないので、数式中の変数としてレジスタアドレスおよびレジスタ識別名の両方を混在して使うこともできる。従って、より自由な数式の記述が可能になる。
変数、関数および演算子で記述されたラダーダイアグラム内の計算式命令は、数式解析手段により数式の字句解析および構文解析を行った後、ラダーコード生成手段9によりラダーダイアグラムで使用可能な加算命令や乗算命令などの基本命令と、ラダーダイアグラムで使用可能な局所レジスタを使って構成された複数のラダーダイアグラムステップ列に展開されたラダープログラムに変換され、ラダーコード記憶手段10に記憶される。生成されたラダーコードは、ラダープログラム実行制御手段11によって実行に移される。
ラダープログラムの実行中は、任意の命令中で用いられているレジスタアドレスもしくはレジスタ識別名に対応するレジスタアドレスの現在値を一定の周期にしたがってコントローラから取得し、ラダーダイアグラム表示手段2によって表示する。ラダーダイアグラム表示手段2は数式命令4で使用されているレジスタアドレスやレジスタ識別名のオンラインデータも表示する。この時、実際に数式に使用したレジスタアドレスやレジスタ識別子のいずれかに対する実際の値が、入力された数式の近傍に対比して表示される。
【0007】
図2に数式の1例を示す。
図2において12は数式の例である。すなわち、「MW00001」と「MW00002」との和を「MW00003」で割り、その商を「MW00100」とするものである。
図3は本発明における数式変換の1例を示している。
図3(a)では数式12をトークンとして意味のある13〜21の文字列に分解した様子を表し、図3(b)は図2の数式12を展開して生成されるラダーコードの例を示し、そして図3(c)は、図3(a)の各トークンのうち、変数トークンを保存する変数トークン保持領域を示すものである。
図3(a)において、13の「MW00100」は変数として認識されるトークンの例を示し、14の「=」は代入命令として認識されるトークンの例、15の「(」は開き括弧として認識されるトークンの例、16の「MW00001」は変数として認識されるトークンの例、17の「+」は加算命令として認識されるトークンの例、18の「MW00002」は変数として認識されるトークンの例、19の「)」は閉じ括弧として認識されるトークンの例、20の「/」は除算命令として認識されるトークンの例、21の「MW00003」は変数として認識されるトークンの例をそれぞれ示している。
【0008】
図3(c)は、図3(a)の各トークンのうち、変数トークンを保存する変数トークン保持領域を示すもので、23がその変数トークン保持領域である。
トークン番号1には、図3(a)の13の「MW00100」を保存し、以下同様に、トークン番号2には、16の「MW00001」を、トークン番号3には、18の「MW00002」を、トークン番号4には、21の「MW00003」をそれぞれ保存している。
このように、数式を字句解析する時に変数トークンであればトークン番号を付加して変数トークン保持領域23に保存する。
そして、字句解析後のトークンを用いて構文解析を行い、文法定義に従って図3(b)の22の擬似的なコードで示したようなラダーコードに展開する。
オンラインデータの取得は、変数トークン保持領域23に保持されている変数トークンを元に数式中で使用されているレジスタアドレスを指定して、コントローラにオンラインデータ取得指令を発することで行う。
図3(c)のトークン番号1〜をもとに変数トークン保持領域23から変数トークンを取り出し、得られたオンラインデータを変数トークンに対応づけて、元の数式の変数トークンをオンラインデータ値と置き換えて表示する。
【0009】
【発明の効果】
以上述べたように、本発明によれば、プログラマブルコントローラのプログラミングにおいてラダーダイアグラム上に単一の命令で任意の演算命令を組み合わせた複雑な数式を記述でき、実行時にはオンラインデータを表示できるので、ラダーシーケンスプログラムの作成効率とデバッグの効率が向上するという効果がある。
【図面の簡単な説明】
【図1】本発明におけるプログラミング装置である。
【図2】本発明における数式の例である。
【図3】本発明における数式変換の例である。
【図4】従来方式におけるプログラミング装置である。
【符号の説明】
1. プログラミング装置
2. ラダーダイアグラム表示手段
3. 命令シンボル選択手段
4. 数式命令表示手段
5. 数式入力・表示手段
6. ラダーダイアグラム記憶手段
7. 数式記憶手段
8. レジスタ識別名記憶・変換手段
9. ラダーコード生成手段
10. ラダーコード記憶手段
11. ラダープログラム実行制御手段
12. 数式例
13. 変数として認識されるトークンの例
14. 代入命令として認識されるトークンの例
15. 開き括弧として認識されるトークンの例
16. 変数として認識されるトークンの例
17. 加算命令として認識されるトークンの例
18. 変数として認識されるトークンの例
19. 閉じ括弧として認識されるトークンの例
20. 除算命令として認識されるトークンの例
21. 変数として認識されるトークンの例
22. 図2の数式12を展開して生成されるラダーコードの例
23. 変数トークン保持領域の例
Claims (1)
- 表示画面上にラダーダイアグラムを作成することによりプログラマブルコントローラ用シーケンスプログラムを作成することができるプログラマブルコントローラのプログラミング装置であって、
ラダーダイアグラムを表示するラダーダイアグラム表示手段(2)と、ラダーダイアグラムをラダーコードに変換するラダーコード生成手段(9)と、前記ラダーコード生成手段(9)によって変換されたラダーコードを記憶するラダーコード記憶手段(10)と、前記ラダーコード生成手段(9)によって変換されたラダーコードの実行を制御するラダープログラム実行制御手段(11)と、を備えたプログラマブルコントローラのプログラミング装置において、
前記ラダーダイアグラムを構成する各命令シンボルおよび各命令シンボル内のパラメータ領域の入力を一時保持するためのラダーダイアグラム記憶手段(6)と、変数・関数および演算子を組合わせた任意の式を入力することにより、数式を入力するとともに、前記数式を表示する数式入力・表示手段(5)と、前記数式を記憶するための数式記憶手段(7)と、前記数式記憶手段(7)に記憶されている前記数式を字句解析して変数トークンであればトークン番号を付加して保存する変数トークン保持領域(23)と、レジスタアドレスとレジスタ識別名の対応を記憶し、レジスタアドレスからレジスタ識別名、あるいはレジスタ識別名からレジスタアドレスへの変更を行うレジスタ識別名記憶・変換手段(8)と、をさらに備え、前記ラダーコード生成手段(9)が前記数式記憶手段(7)に記憶される前記数式をラダーコードに変換し、前記ラダープログラム実行制御手段(11)によるラダーコードの実行時に、前記数式の中の変数の現在値であるオンラインデータを、前記変数トークン保持領域(23)に保持されている変数トークンとラダーコードとを対応づけることによりプログラマブルコントローラから取得し、前記レジスタ識別名記憶・変換手段(8)によってレジスタアドレスとレジスタ識別名間の変換を行うことにより、レジスタアドレスまたはレジスタ識別名とともに前記ラダーダイアグラム表示手段(2)に表示することを特徴とするプログラマブルコントローラのプログラミング装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000380546A JP4168224B2 (ja) | 2000-12-14 | 2000-12-14 | プログラマブルコントローラのプログラミング装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000380546A JP4168224B2 (ja) | 2000-12-14 | 2000-12-14 | プログラマブルコントローラのプログラミング装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002182709A JP2002182709A (ja) | 2002-06-26 |
JP4168224B2 true JP4168224B2 (ja) | 2008-10-22 |
Family
ID=18848706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000380546A Expired - Fee Related JP4168224B2 (ja) | 2000-12-14 | 2000-12-14 | プログラマブルコントローラのプログラミング装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4168224B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010020494A (ja) * | 2008-07-09 | 2010-01-28 | Mitsubishi Electric Corp | 保護制御装置 |
CN101872184A (zh) * | 2010-06-04 | 2010-10-27 | 南大傲拓科技江苏有限公司 | 可编程控制器的顺序控制图编程及控制方法 |
JP5785501B2 (ja) | 2012-01-12 | 2015-09-30 | 横河電機株式会社 | ラダープログラム作成装置 |
JP5864033B1 (ja) * | 2014-07-14 | 2016-02-17 | 三菱電機株式会社 | Plcシステムおよび演算式データ作成支援装置 |
US10295981B2 (en) | 2016-02-12 | 2019-05-21 | Mitsubishi Electric Corporation | Engineering tool |
CN107728561A (zh) * | 2016-08-11 | 2018-02-23 | 苏州汉扬精密电子有限公司 | Plc编程系统及方法 |
-
2000
- 2000-12-14 JP JP2000380546A patent/JP4168224B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002182709A (ja) | 2002-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5504902A (en) | Multi-language generation of control program for an industrial controller | |
JPH08202545A (ja) | ターゲット言語コードを生成するためのオブジェクト指向システム及びその方法 | |
Minas | Diagram editing with hypergraph parser support | |
JPH11237980A (ja) | オブジェクト指向最適化コード生成装置及び方法 | |
JP4168224B2 (ja) | プログラマブルコントローラのプログラミング装置 | |
Biermann et al. | Parallel independence of amalgamated graph transformations applied to model transformation | |
US20090112568A1 (en) | Method for Generating a Simulation Program Which Can Be Executed On a Host Computer | |
Bardohl et al. | Formal relationship between Petri nets and graph grammars as basis for animation views in GenGED | |
JP3003459B2 (ja) | プログラム作成支援装置 | |
JPH10289123A (ja) | 最適化コードデバッグ方式 | |
JP2011034419A (ja) | モデルを用いたモデリング装置、およびソフトウェアシステムのシステム構築方法 | |
JP2720768B2 (ja) | プログラムカストマイズ装置 | |
JP2754533B2 (ja) | 流れ図作成装置 | |
JP2827724B2 (ja) | プログラムデバッグ処理方法 | |
JPH0272407A (ja) | ラダー・プログラム変換装置 | |
JP6474055B2 (ja) | 情報処理装置及びその制御方法 | |
JPH04340628A (ja) | ファジィ推論処理コンパイルシステム | |
JPH05341972A (ja) | ソフトウエア開発装置 | |
JP2007156761A (ja) | 設計情報生成装置、プログラム開発システム、設計情報生成方法、プログラム開発方法およびプログラム | |
JP2002140105A (ja) | プログラマブルコントローラのプログラミング装置 | |
Rencis et al. | On the Use of UML Stereotypes in Creating Higher-order Domain-specific Languages and Tools | |
Hunt et al. | The Person Class | |
JP2020170232A (ja) | 運転支援装置、運転支援方法及びコンピュータプログラム | |
JPH10133907A (ja) | 日本語によるプログラム作成機能付きromエミュレー ションシステムと処理方法 | |
JPH07219897A (ja) | 操作履歴記録方法および操作履歴記録装置ならびに操作マニュアル作成方法および操作マニュアル作成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050727 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060324 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071127 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080123 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080321 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080423 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080616 |
|
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: 20080709 |
|
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: 20080722 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110815 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120815 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130815 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140815 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |