JP2009009462A - シーケンスプログラム編集装置 - Google Patents

シーケンスプログラム編集装置 Download PDF

Info

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
Application number
JP2007171864A
Other languages
English (en)
Inventor
Satoru Hasegawa
哲 長谷川
Mitsuru Mochizuki
充 望月
Junichi Yamaki
純一 八巻
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP2007171864A priority Critical patent/JP2009009462A/ja
Priority to US12/144,135 priority patent/US20090007000A1/en
Priority to EP08158921A priority patent/EP2009528A2/en
Priority to CNA2008101272455A priority patent/CN101334653A/zh
Publication of JP2009009462A publication Critical patent/JP2009009462A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13101Function block instance, only one function block exists, several instances
    • 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/13144GUI 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

Description

本発明は、ファンクションブロック定義を修正した際、既にシーケンスプログラムの中で使用しているファンクションブロックインスタンスの使用状況を調査し、自動的に整合性を調査して入力及び出力の引数を再配置することが可能な、シーケンスプログラム編集装置に関する。
オブジェクト指向プログラミング言語により、ファンクションブロックを新規に作成、使用する技術に関するものは存在した。しかしながら、ファンクションブロック定義を修正することによりファンクションブロックインスタンスの編集を自動的に行うことができなかった。
特開2001−51704号公報
本発明は、修正したファンクションブロック定義を指定するだけで、既にシーケンスプログラムの中で使用しているファンクションブロックインスタンスを「検索」し、検索された該ファンクションブロックインスタンスを「削除」し、新たに「修正したファンクションブロック定義の再インスタンス化」を自動的に行えるようにし、また、入力部・出力部の数や変数タイプが変更になり配置できないパラメータは作業者に問い合わせを行うことにより、シーケンスプログラムの編集作業の効率化を図ることを課題とする。
本願の請求項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へ渡す。
図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の入力パラメータの引数は未定義になる。入力パラメータは省略できないので情報が不足することになり、エラーネットと認識される。エラーネットは回路を赤色、線を太く表示するなどしてユーザーに入力を要求する。
本発明の一実施形態であるシーケンスプログラム編集装置のブロック図である。 ファンクションブロックの構成要素を示す図である。 ファンクションブロックを示す図である。 ファンクションブロックインスタンスを示す図である。 ファンクションブロック定義編集画面で、シンボル名New、データタイプBYTEの入力パラメータを追加する例を示す図である。 ファンクションブロックインスタンスを検索する例を示す図である。 修正前後の整合性を判定するためのテーブルの例を示す図である。 修正前のファンクションブロックインスタンスの入力部・出力部の引数を記憶する例を示す図である。 ファンクションブロックインスタンスを削除する例を示す図である。 ファンクションブロック定義を再インスタンス化する例を示す図である。 変数タイプ、シンボル名、変数タイプが変更前と変更後とで一致しているパラメータの入力部・出力部の引数を再配置する例を示す図である。 修正・追加されたパラメータや属性の箇所がどこかわかるように表示する例を示す図である。 再インスタンスの処理を示すフローチャートの例を示す図である。 再インスタンスの処理を示すフローチャートの例を示す図である。
符号の説明
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 追加された入力パラメータの例

Claims (4)

  1. ファンクションブロックを含むシーケンスプログラムを編集するシーケンスプログラム編集装置において、
    ファンクションブロック定義の修正を入力するファンクションブロック定義修正入力手段と、シーケンスプログラムの中から前記修正されたファンクションブロック定義に対応するファンクションブロックインスタンスを検出する検出手段と、
    検出されたファンクションブロックインスタンスにおいて修正後のファンクションブロック定義に整合するようにパラメータの数や属性を修正する修正手段とを有するシーケンスプログラム編集装置。
  2. 前記修正手段は、修正前後のファンクションブロック定義において修正されなかったパラメータやその属性を判断する判断手段と、修正されなかったパラメータの属性の情報はそのまま修正後のファンクションブロックインスタンスに再配置する機能を有することを特徴とする請求項1に記載のシーケンスプログラム編集装置。
  3. 修正されたファンクションブロック定義において、対応するファンクションブロックインスタンスの修正されたパラメータや属性の個所がどこかわかるように表示する機能を有する請求項1又は2のいずれか1つに記載のシーケンスプログラム編集装置。
  4. ファンクションブロック定義を修正することにより、前記検出手段および修正手段が自動的に起動できることを特徴とする、請求項1〜3のいずれか1つに記載のシーケンスプログラム編集装置。
JP2007171864A 2007-06-29 2007-06-29 シーケンスプログラム編集装置 Pending JP2009009462A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 オムロン株式会社 表示・編集装置及び表示方法並びにプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
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