JP2009009462A - シーケンスプログラム編集装置 - Google Patents
シーケンスプログラム編集装置 Download PDFInfo
- Publication number
- JP2009009462A JP2009009462A JP2007171864A JP2007171864A JP2009009462A JP 2009009462 A JP2009009462 A JP 2009009462A JP 2007171864 A JP2007171864 A JP 2007171864A JP 2007171864 A JP2007171864 A JP 2007171864A JP 2009009462 A JP2009009462 A JP 2009009462A
- Authority
- JP
- Japan
- Prior art keywords
- function block
- sequence program
- corrected
- definition
- block definition
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13101—Function block instance, only one function block exists, several instances
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13144—GUI graphical user interface, icon, function bloc editor, OI operator interface
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Stored Programmes (AREA)
Abstract
【課題】ファンクションブロック定義を修正することによりファンクションブロックインスタンスの編集を自動的に行うこと。
【解決手段】ファンクションブロックを含むシーケンスプログラムを編集するシーケンスプログラム編集装置において、パラメータの数や属性を定義するファンクションブロック定義を修正する場合、シーケンスプログラムの中から修正されたファンクションブロック定義に対応するファンクションブロックインスタンスにおいて修正後のファンクションブロック定義に整合するようにパラメータの数や属性を修正する修正手段を有するシーケンスプログラム編集装置。
【選択図】図1
【解決手段】ファンクションブロックを含むシーケンスプログラムを編集するシーケンスプログラム編集装置において、パラメータの数や属性を定義するファンクションブロック定義を修正する場合、シーケンスプログラムの中から修正されたファンクションブロック定義に対応するファンクションブロックインスタンスにおいて修正後のファンクションブロック定義に整合するようにパラメータの数や属性を修正する修正手段を有するシーケンスプログラム編集装置。
【選択図】図1
Description
本発明は、ファンクションブロック定義を修正した際、既にシーケンスプログラムの中で使用しているファンクションブロックインスタンスの使用状況を調査し、自動的に整合性を調査して入力及び出力の引数を再配置することが可能な、シーケンスプログラム編集装置に関する。
オブジェクト指向プログラミング言語により、ファンクションブロックを新規に作成、使用する技術に関するものは存在した。しかしながら、ファンクションブロック定義を修正することによりファンクションブロックインスタンスの編集を自動的に行うことができなかった。
本発明は、修正したファンクションブロック定義を指定するだけで、既にシーケンスプログラムの中で使用しているファンクションブロックインスタンスを「検索」し、検索された該ファンクションブロックインスタンスを「削除」し、新たに「修正したファンクションブロック定義の再インスタンス化」を自動的に行えるようにし、また、入力部・出力部の数や変数タイプが変更になり配置できないパラメータは作業者に問い合わせを行うことにより、シーケンスプログラムの編集作業の効率化を図ることを課題とする。
本願の請求項1に記載された発明は、ファンクションブロックを含むシーケンスプログラムを編集するシーケンスプログラム編集装置において、ファンクションブロック定義の修正を入力するファンクションブロック定義修正入力手段と、シーケンスプログラムの中から前記修正されたファンクションブロック定義に対応するファンクションブロックインスタンスを検出する検出手段と、検出されたファンクションブロックインスタンスにおいて修正後のファンクションブロック定義に整合するようにパラメータの数や属性を修正する修正手段とを有するシーケンスプログラム編集装置である。
請求項2に記載された発明は、前記修正手段は、修正前後のファンクションブロック定義において修正されなかったパラメータやその属性を判断する判断手段と、修正されなかったパラメータの属性の情報はそのまま修正後のファンクションブロックインスタンスに再配置する機能を有することを特徴とする請求項1に記載のシーケンスプログラム編集装置である。
請求項3に記載された発明は、修正されたファンクションブロック定義において、対応するファンクションブロックインスタンスの修正されたパラメータや属性の個所がどこかわかるように表示する機能を有する請求項1又は2のいずれか1つに記載のシーケンスプログラム編集装置である。
請求項4に記載された発明は、ファンクションブロック定義を修正することにより、前記検出手段および修正手段が自動的に起動できることを特徴とする、請求項1〜3のいずれか1つに記載のシーケンスプログラム編集装置である。
本発明により、修正したファンクションブロック定義を指定(入力)するだけで、既にシーケンスプログラムの中で使用しているファンクションブロックインスタンスを「検索」、「削除」、「修正したファンクションブロック定義の再インスタンス化」を自動的に行い情報の再入力を省略することができる。また、入力部・出力部の数や変数タイプが変更になり配置できないパラメータは作業者に問い合わせを行うことにより、シーケンスプログラムの編集作業を効率的に行える。
以下、本発明のシーケンスプログラム編集装置の一実施形態について図面とともに説明する。
図1は本発明の一実施形態であるシーケンスプログラム編集装置のブロック図である。ROM3には本発明を実施するためのシーケンスプログラムを編集するためのプログラムが格納されている。
図2はファンクションブロック定義の構成要素を示している。13はファンクションブロックの定義名である。14は使用するパラメータおよび内部変数などの情報を示している。図2では、ファンクションブロックFBは、入力パラメータIn1,In2、入出力パラメータInOut、出力パラメータOut1,Out2の変数タイプからなる。15は本体プログラムを示している。このファンクションブロックFBをラダー線図で示すと本体プログラム15のように表される。BOOLはビット型でSINT/DINTは整数型のデータタイプを示している。
図3はファンクションブロックの図式である。図2で示されたラダー線図を基に入力パラメータと出力パラメータを持つファンクションブロック図が作成される。
図4はファンクションブロックインスタンスを含んだシーケンスプログラムを示している。16は入力部、17はファンクションブロックインスタンス名FB_0001、18は出力部を示す。R9091.1やD0100はPMCアドレスを意味し、前者は小数点があるのでビット型、後者はバイト型である。
シーケンスプログラムは左から右、上から下に処理される。
(1) 入力部の引数を入力パラメータへ渡す。
R9091.1の内容をIn1入力パラメータへ渡す。
D0100の内容をIn2入力パラメータへ渡す。
R0100.0の内容をInOut入出力パラメータへ渡す。
(2) FB_0001の処理(本体プログラムが実行される。)
(3) 出力パラメータの内容を出力部の引数へ渡す。
Out1出力パラメータの内容をD0200へ渡す。
Out2出力パラメータの内容をR0300.0へ渡す。
InOut入出力パラメータの内容をR0300.1へ渡す。
シーケンスプログラムは左から右、上から下に処理される。
(1) 入力部の引数を入力パラメータへ渡す。
R9091.1の内容をIn1入力パラメータへ渡す。
D0100の内容をIn2入力パラメータへ渡す。
R0100.0の内容をInOut入出力パラメータへ渡す。
(2) FB_0001の処理(本体プログラムが実行される。)
(3) 出力パラメータの内容を出力部の引数へ渡す。
Out1出力パラメータの内容をD0200へ渡す。
Out2出力パラメータの内容をR0300.0へ渡す。
InOut入出力パラメータの内容をR0300.1へ渡す。
図5はファンクションブロック定義編集画面を示し、シンボル名New、データタイプBYTEである入力パラメータを追加した例19を示している。入力パラメータ(配置順序3、シンボル名New、データタイプBYTE)が新たにファンクションブロック定義に追加された例を示している。
図6は再配置処理で検索されるファンクションブロックインスタンスの一例を示している。図6の点線で囲まれるブロックは、検索されたファンクションブロックインスタンス20を示している。ファンクションブロック定義を変更すると、ファンクションブロック定義編集画面から再配置処理へ変更されたファンクションブロック定義名を通知する。再配置処理は調査するファンクションブロック定義名の通知を受け、シーケンスプログラムから対応するファンクションブロックインスタンスを検索する。
図7は、変更したファンクションブロック定義に対応するファンクションブロックインスタンスを見つけた場合、図7(a),(b),(c)に示されるテーブルを作成することを示している。これらのテーブルは例えば図1のRAM4に格納される。図7(a)は修正前のパラメータ一覧をファンクションブロックインスタンスから作成する。図7(b)は修正後のパラメータ一覧をファンクションブロック定義から作成する。図7(c)は、図7(a)と図7(b)との双方の整合性を判定し、判定結果が再配置可であるファンクションブロックの修正前後で相違が無い入力部及び出力部の引数を再配置することを示している。そして、修正により追加されたシンボル名がNew、変数タイプとしてBYTEである入力パラメータは判定結果が再配置不可と判定される。
以下、図7で作成されたテーブル(a)、(b)、(c)を用い、ファンクションブロック定義を再インスタンス化する手順について説明する。
図8は、修正前のファンクションブロックインスタンスの入力部・出力部の引数を記憶することを示している。図9はファンクションブロック定義の再インスタンス化に先立ち、修正前のファンクションブロックインスタンスを削除することを示している。図10はファンクションブロック定義を再インスタンス化することを示している。図11は変数タイプ、シンボル名、変数タイプが修正前と修正後とで一致しているパラメータの入力部・出力部の引数を再配置することを示している。図12は修正又は追加されたパラメータ21や属性の箇所がどこかわかるように色を変えたり点滅させたりして表示することを示している。
図13−1,図13−2はファンクションブロック定義を修正したことに伴う再インスタンス化を行う処理を示すフローチャートの例である。再配置処理を開始すると、調査するファンクションブロック定義名の変更通知を受ける(ステップS1)。調査位置を全ラダープログラムの先頭に設定する(ステップS2)。調査位置から命令を取得する(ステップS3)。調査するファンクションブロック定義を使用したインスタンスか否かを判断する(ステップS4)。NOであれば2Bへ行く。YESと判断されると、変更前のパラメータ一覧をファンクションブロック定義から作成する(ステップS5)。次に変更後のパラメータ一覧をファンクションブロックから作成する(ステップS6)。ファンクションブロックインスタンスの引数を記憶する(ステップS7)。ファンクションブロックインスタンスを削除する(ステップS8)。ファンクションブロック定義を再インスタンス化する(ステップS9)。2Aに行く。
データタイプ、シンボル名、変数タイプは一致するか否かを判断する(ステップS10)。NOの場合、ステップS12に行く。YESと判断されると、記憶した引数を編集バッファに再配置する(ステップS11)。エラーネットか否かを判断する(ステップS12)。YESの場合、作業者に入力を求める(ステップS13)。NOの場合、最後の命令であるか否かを判断する(ステップS14)。YESの場合、終了する。NOの場合、調査位置を次の命令へ進め(ステップS15)、1Aに行きステップS3へ行く。
なお、ステップS12でエラーネットか判断することについて説明する。
ステップS10とステップS11でデータタイプ、シンボル名、変数タイプが変更前と変更後とで一致した引数を編集バッファに再配置しますが、Newの入力パラメータの引数は未定義になる。入力パラメータは省略できないので情報が不足することになり、エラーネットと認識される。エラーネットは回路を赤色、線を太く表示するなどしてユーザーに入力を要求する。
なお、ステップS12でエラーネットか判断することについて説明する。
ステップS10とステップS11でデータタイプ、シンボル名、変数タイプが変更前と変更後とで一致した引数を編集バッファに再配置しますが、Newの入力パラメータの引数は未定義になる。入力パラメータは省略できないので情報が不足することになり、エラーネットと認識される。エラーネットは回路を赤色、線を太く表示するなどしてユーザーに入力を要求する。
1 シーケンスプログラム編集装置
2 CPU
3 ROM
4 RAM
5 ハードディスク
6 キーボードインタフェース
7 表示器インタフェース
8 通信インタフェース
9 キーボード
10 表示器
11 プログラマブルコントローラ
12 I/Oデバイス
13 ファンクションブロック定義名
14 使用するパラメータおよび内部変数などの情報
15 本体プログラム
16 入力部
17 ファンクションブロックインスタンス名
18 出力部
19 入力パラメータが追加された例
20 検索されたファンクションブロックインスタンス
21 追加された入力パラメータの例
2 CPU
3 ROM
4 RAM
5 ハードディスク
6 キーボードインタフェース
7 表示器インタフェース
8 通信インタフェース
9 キーボード
10 表示器
11 プログラマブルコントローラ
12 I/Oデバイス
13 ファンクションブロック定義名
14 使用するパラメータおよび内部変数などの情報
15 本体プログラム
16 入力部
17 ファンクションブロックインスタンス名
18 出力部
19 入力パラメータが追加された例
20 検索されたファンクションブロックインスタンス
21 追加された入力パラメータの例
Claims (4)
- ファンクションブロックを含むシーケンスプログラムを編集するシーケンスプログラム編集装置において、
ファンクションブロック定義の修正を入力するファンクションブロック定義修正入力手段と、シーケンスプログラムの中から前記修正されたファンクションブロック定義に対応するファンクションブロックインスタンスを検出する検出手段と、
検出されたファンクションブロックインスタンスにおいて修正後のファンクションブロック定義に整合するようにパラメータの数や属性を修正する修正手段とを有するシーケンスプログラム編集装置。 - 前記修正手段は、修正前後のファンクションブロック定義において修正されなかったパラメータやその属性を判断する判断手段と、修正されなかったパラメータの属性の情報はそのまま修正後のファンクションブロックインスタンスに再配置する機能を有することを特徴とする請求項1に記載のシーケンスプログラム編集装置。
- 修正されたファンクションブロック定義において、対応するファンクションブロックインスタンスの修正されたパラメータや属性の個所がどこかわかるように表示する機能を有する請求項1又は2のいずれか1つに記載のシーケンスプログラム編集装置。
- ファンクションブロック定義を修正することにより、前記検出手段および修正手段が自動的に起動できることを特徴とする、請求項1〜3のいずれか1つに記載のシーケンスプログラム編集装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007171864A JP2009009462A (ja) | 2007-06-29 | 2007-06-29 | シーケンスプログラム編集装置 |
US12/144,135 US20090007000A1 (en) | 2007-06-29 | 2008-06-23 | Sequence program editing apparatus |
EP08158921A EP2009528A2 (en) | 2007-06-29 | 2008-06-25 | Sequence program editing apparatus |
CNA2008101272455A CN101334653A (zh) | 2007-06-29 | 2008-06-30 | 序列程序编辑设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007171864A JP2009009462A (ja) | 2007-06-29 | 2007-06-29 | シーケンスプログラム編集装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009009462A true JP2009009462A (ja) | 2009-01-15 |
Family
ID=39870039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007171864A Pending JP2009009462A (ja) | 2007-06-29 | 2007-06-29 | シーケンスプログラム編集装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20090007000A1 (ja) |
EP (1) | EP2009528A2 (ja) |
JP (1) | JP2009009462A (ja) |
CN (1) | CN101334653A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9626160B2 (en) | 2013-03-29 | 2017-04-18 | Mitsubishi Electric Corporation | Sequence-program-component creation program and sequence-program-component creation device |
JP7126637B1 (ja) * | 2022-01-14 | 2022-08-26 | 三菱電機株式会社 | プログラミング支援プログラム、プログラミング支援方法及びプログラミング支援装置 |
WO2023248478A1 (ja) * | 2022-06-24 | 2023-12-28 | ファナック株式会社 | 情報処理装置 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3963174B2 (ja) * | 2003-03-14 | 2007-08-22 | オムロン株式会社 | 表示・編集装置及び表示方法並びにプログラム |
WO2009030804A1 (en) * | 2007-09-07 | 2009-03-12 | Abb Technology Ag | Configuration of intelligent electronic device |
CN104572233B (zh) * | 2014-12-30 | 2019-02-22 | 北京纵横机电技术开发公司 | 一种连续功能图编程方法 |
JP6411992B2 (ja) * | 2015-12-25 | 2018-10-24 | ファナック株式会社 | ハンドル操作に応じてncプログラムを実行する機能において、プログラム実行状態を確認する手段を備えた数値制御装置 |
JP2018190133A (ja) * | 2017-05-01 | 2018-11-29 | ファナック株式会社 | ラダープログラム編集装置 |
JP2018194898A (ja) * | 2017-05-12 | 2018-12-06 | オムロン株式会社 | 支援装置、支援装置の制御方法、情報処理プログラム、および記録媒体 |
JP6988597B2 (ja) * | 2018-03-14 | 2022-01-05 | オムロン株式会社 | ラダー図プログラム作成支援装置、ラダー図プログラム作成支援方法、およびラダー図プログラム作成支援プログラム |
JP6950665B2 (ja) * | 2018-11-02 | 2021-10-13 | 横河電機株式会社 | エンジニアリング装置、エンジニアリング装置の制御方法及びプログラム |
JP7423895B2 (ja) * | 2019-03-12 | 2024-01-30 | オムロン株式会社 | ラダー図プログラム作成支援装置、ラダー図プログラム作成支援方法、およびラダー図プログラム作成支援プログラム |
CN115343626B (zh) * | 2022-10-18 | 2023-01-03 | 艾乐德电子(南京)有限公司 | 一种可自定义测试序列的电池测试系统及方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3829905B2 (ja) | 1999-08-06 | 2006-10-04 | オムロン株式会社 | プログラマブル・コントローラ |
US6954904B2 (en) * | 2001-08-15 | 2005-10-11 | National Instruments Corporation | Creating a graphical program to configure one or more switch devices |
JP3963174B2 (ja) * | 2003-03-14 | 2007-08-22 | オムロン株式会社 | 表示・編集装置及び表示方法並びにプログラム |
-
2007
- 2007-06-29 JP JP2007171864A patent/JP2009009462A/ja active Pending
-
2008
- 2008-06-23 US US12/144,135 patent/US20090007000A1/en not_active Abandoned
- 2008-06-25 EP EP08158921A patent/EP2009528A2/en not_active Withdrawn
- 2008-06-30 CN CNA2008101272455A patent/CN101334653A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9626160B2 (en) | 2013-03-29 | 2017-04-18 | Mitsubishi Electric Corporation | Sequence-program-component creation program and sequence-program-component creation device |
JP7126637B1 (ja) * | 2022-01-14 | 2022-08-26 | 三菱電機株式会社 | プログラミング支援プログラム、プログラミング支援方法及びプログラミング支援装置 |
WO2023248478A1 (ja) * | 2022-06-24 | 2023-12-28 | ファナック株式会社 | 情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US20090007000A1 (en) | 2009-01-01 |
CN101334653A (zh) | 2008-12-31 |
EP2009528A2 (en) | 2008-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009009462A (ja) | シーケンスプログラム編集装置 | |
JP6121068B2 (ja) | 情報システム構築支援ツールおよび情報システム構築支援プログラム | |
JP2007052703A (ja) | テストシナリオ作成プログラム、テストシナリオ作成装置、テストシナリオ作成方法 | |
KR100860963B1 (ko) | 컴포넌트 기반의 소프트웨어 개발을 위한 장치 및 방법 | |
JP4513806B2 (ja) | プログラマブルロジックコントローラの周辺装置及びそのプログラム作成方法 | |
JP5619328B1 (ja) | シーケンスプログラム作成支援装置 | |
WO2020008991A1 (ja) | 検証自動化装置、検証自動化方法、およびコンピュータ読み取り可能な記録媒体 | |
JPH0863346A (ja) | プログラム編集方法とその装置 | |
JP2009104342A (ja) | データフロー解析装置、データフロー解析方法およびデータフロー解析プログラム | |
JP6223628B1 (ja) | 情報管理装置、情報管理方法および情報管理システム | |
JP6446819B2 (ja) | 文書差分表示プログラム及び情報処理装置 | |
JP4918797B2 (ja) | ファイル管理プログラム、ファイル管理装置およびファイル管理方法 | |
JP6434435B2 (ja) | 情報処理装置、操作支援方法および操作支援プログラム | |
JP2003084813A (ja) | ラダー回路の編集装置、および、その編集方法 | |
JP2007047849A (ja) | プログラマブル表示器用画面データの作成プログラム、コンピュータ読み取り可能な記録媒体及び画面データ作成装置 | |
JP4691895B2 (ja) | データ処理システム設計装置及びそのためのコンピュータプログラム | |
JP2008181311A (ja) | リファクタリング支援装置及びプログラム | |
JP2009211143A (ja) | 情報処理装置および情報処理プログラム | |
JP2017220142A (ja) | プログラミング装置 | |
JP2013257624A (ja) | データ入力支援装置、方法、およびプログラム | |
JP2013142971A (ja) | プログラム処理装置およびプログラム処理方法 | |
JP2009282788A (ja) | ソフトウェア作成支援装置 | |
JP2024003204A (ja) | 運転支援装置、運転支援方法及びコンピュータプログラム | |
JP2004326161A (ja) | シーケンスプログラム編集装置 | |
JP2020161102A (ja) | 図面作成支援装置、図面作成支援プログラム及び図面作成支援方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20081031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081111 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081211 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090127 |