JP6115063B2 - プログラマブルコントローラの周辺装置 - Google Patents

プログラマブルコントローラの周辺装置 Download PDF

Info

Publication number
JP6115063B2
JP6115063B2 JP2012220155A JP2012220155A JP6115063B2 JP 6115063 B2 JP6115063 B2 JP 6115063B2 JP 2012220155 A JP2012220155 A JP 2012220155A JP 2012220155 A JP2012220155 A JP 2012220155A JP 6115063 B2 JP6115063 B2 JP 6115063B2
Authority
JP
Japan
Prior art keywords
subprogram
processing unit
program
sequence program
display
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
Application number
JP2012220155A
Other languages
English (en)
Other versions
JP2014071862A (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.)
JTEKT Corp
Original Assignee
JTEKT 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 JTEKT Corp filed Critical JTEKT Corp
Priority to JP2012220155A priority Critical patent/JP6115063B2/ja
Publication of JP2014071862A publication Critical patent/JP2014071862A/ja
Application granted granted Critical
Publication of JP6115063B2 publication Critical patent/JP6115063B2/ja
Expired - Fee Related 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

  • Programmable Controllers (AREA)

Description

本発明は、プログラマブルコントローラの周辺装置に関する。
生産設備には、設備を構成する機器を制御対象としたプログラマブルコントローラが数多く使用されている。これらのプログラマブルコントローラのシーケンス・プログラムは、周辺装置を用いて、ラダー回路等のプログラミング言語により作成されている。このプログラミングでは、従来デバイスのアドレスにより記述する方式が一般的であったが、近年では変数名を用いて記述し、変数名とデバイスのアドレスとの関連付けを別途おこなう方式も一般化してきている。このような変数を用いたプログラミング(以下、変数プログラミングという)では、シーケンス・プログラムがデバイスに対して、変数名を介してアドレスに依存しない記述となっている。そのため、変数プログラミングでは、制御対象とする機器に応じて変数名とデバイスのアドレスとの関連付けを変更することで、シーケンス・プログラムを再利用することができる。このように、変数プログラミングはデバイスを用いたプログラミングに比べ、再利用に対する柔軟性が高いといえる。
例えば、特許文献1では、全く同じ機能を有する複数台のプログラマブルコントローラを、統括的な役割を果たす1台のプログラマブルコントローラが制御するような制御システムを開発する場合において、各プログラマブルコントローラ間で同じ変数名(ラベル名)を用いて変数プログラミングができるプログラマブルコントローラの周辺装置が開示されている。
特開2007−265252号公報
しかしながら、既存のシーケンス・プログラムの再利用において、変数名とデバイスのアドレスとの関連付けを変更するだけでは対応できない場合がある。例えば、2台の同じ搬送装置が左右に配置された設備を制御するシーケンス・プログラムの作成において、この搬送装置が1台配置された設備を制御する既存のシーケンス・プログラムを再利用するような場合である。
このような再利用では、上記の搬送装置に関わる制御部分のコピーを2セット作成して、2台分の制御をする方法がある。この方法ではセット間で変数名が重複するので、変数名とデバイスのアドレスとの関連付けを変更する前に、変数名を付け直して重複を解消する必要がある。このプログラム構成は保守性が低いといえる。
また、上記の搬送装置に関わる制御部分をサブプログラムにして、このサブプログラムを多重に呼び出すことにより、2台の搬送装置を制御する再利用の方法がある。このプログラム構成は保守性が高いといえる。これには、制御部分をサブプログラムの形式にするだけではなく、サブプログラムの多重呼び出しが可能になるように変更する必要がある。このようにサブプログラムを多重呼び出し可能に変更することを、以下の説明ではサブプログラムの標準化という。
サブプログラムの標準化による再利用は、使用頻度の高い演算処理をファンクションまたはファンクションブロックとして関数化して再利用するのに比べ、再利用の規模が大きく、利便性の高いものとすることができる。また、プログラム構造として保守性が高いものとすることができる。
サブプログラムの標準化には、入出力回路の分離、変数の内部デバイス化、実行結果を保持する変数の対応等があり、さらに、メインプログラム側にもサブプログラムの入力要素に値を受け渡す入力回路の作成、サブプログラムからの出力要素の値を受け渡す出力回路の作成等があり、手間がかかるという問題があった。
本発明は、上記問題点を解決するためになされたものであって、本発明が解決しようとする課題は、既存のシーケンス・プログラムの再利用において、サブプログラムとして標準化することが容易にできるプログラマブルコントローラの周辺装置を提供することにある。
請求項1に係わる発明は、機器を制御するためのシーケンス・プログラムを編集するシーケンス・プログラム編集処理部を備えるプログラマブルコントローラの周辺装置において、前記シーケンス・プログラムは、接点およびコイル等の回路要素を含むラダー回路により記述され、前記シーケンス・プログラムは、再利用するシーケンス・プログラムと、編集中のシーケンス・プログラムとがあり、前記編集中のシーケンス・プログラムが編集されると編集されたシーケンス・プログラムとなり、前記編集されたシーケンス・プログラムは、メインプログラムとサブプログラム形式からなる複数のサブプログラムとから構成され、前記シーケンス・プログラム編集処理部は、前記シーケンス・プログラムを表示装置に表示するシーケンス・プログラム表示処理部と、前記表示装置に表示された前記再利用するシーケンス・プログラムから指定した範囲のラダー回路を選択する選択処理部と、前記選択処理部により選択した範囲のラダー回路をコピーするコピー処理部と、前記コピー処理部によりコピーされたラダー回路にサブプログラム名を入力し、前記サブプログラム形式にするサブプログラム化処理部と、前記サブプログラム形式にされたラダー回路を、前記編集中のシーケンス・プログラムのサブプログラム領域に貼り付けるサブプログラム貼り付け処理部と、指定された位置にサブプログラム呼び出し命令を挿入するサブプログラム命令挿入処理部と、前記サブプログラム呼び出し命令とその次ステップとの間に前記サブプログラムの表示を展開するサブプログラム表示展開処理部と、前記サブプログラム呼び出し命令とその次ステップとの間の前記サブプログラムの表示を折り畳むサブプログラム表示折り畳み処理部と、前記サブプログラムの表示の展開と折り畳みとを切り替える表示切替処理部とを備えることを特徴とする。
上記のように構成した請求項1の発明によれば、プログラマブルコントローラの周辺装置のシーケンス・プログラム編集処理部は、現在編集中のシーケンス・プログラムとは別の再利用するシーケンス・プログラムを読み出して、シーケンス・プログラム表示処理部により、表示装置に表示することができる。そして、表示装置に表示された再利用するシーケンス・プログラムから、制御対象となる機器に関わり、サブプログラムとして標準化する制御部分の範囲のラダー回路を選択処理部により選択することができる。そして、「コピー」の編集コマンドを実行すると、コピー処理部が呼び出される。コピー処理部は、選択した範囲のラダー回路をバッファメモリ上に一時的にコピーして保持する。次に、現在編集中のシーケンス・プログラムにおいて、上記の制御対象となる機器を制御するステップ位置にて、「サブプログラムとして貼り付け」の編集コマンドを実行すると、サブプログラム化処理部とサブプログラム貼り付け処理部が呼び出される。サブプログラム化処理部は、サブプログラム名の入力を指示し、サブプログラム名が入力されると、サブプログラム命令挿入処理部が呼び出される。サブプログラム命令挿入処理部は、コマンドを実行したステップ位置に、サブプログラム呼び出し命令を挿入する。このサブプログラム呼び出し命令のオペランドには、先に入力したサブプログラム名が設定される。一方、バッファメモリ上のラダー回路は、サブプログラム貼り付け処理部により、サブプログラム領域に貼り付けられ、サブプログラム化処理部により、サブプログラム形式にされる。
シーケンス・プログラム表示処理部は、上記のサブプログラム呼び出し命令を表示するとともに、サブプログラム表示展開処理部により、サブプログラム呼び出し命令とその次ステップとの間にサブプログラムの表示を展開する。この展開されたサブプログラムの表示は、表示切替処理部を呼び出すことにより、サブプログラム表示折り畳み処理部にて、サブプログラムの表示を折り畳むことができる。
シーケンス・プログラム編集処理部は、サブプログラム表示の展開と折り畳みとに関わらず編集可能であり、サブプログラム表示を展開のまま編集することで、メインプログラムとサブプログラムとが同じ領域で連続したラダー回路であるかのように編集することができる。このようにメインプログラムとサブプログラムとの間の編集をスムーズにおこなうことができるので、サブプログラムを標準化する作業を容易におこなうことができる。
請求項2に係わる発明は、請求項1に記載のプログラマブルコントローラの周辺装置であって、前記シーケンス・プログラムは、変数を使用して記述され、前記シーケンス・プログラムに対応して変数の情報を保持する変数情報テーブルと、前記変数情報テーブルの前記変数とデバイスのアドレスとの関連付けをおこなう変数情報テーブル編集処理部を備え、前記サブプログラム化処理部は、前記サブプログラム形式にされたラダー回路に対し、サブプログラム末尾の復帰命令の前ステップに、前記変数の値を内部デバイスに設けられた退避領域に転送する転送命令を挿入し、サブプログラム先頭のラベル命令の後ステップに、前記退避領域から前記変数に値を転送する転送命令を挿入する、サブプログラム変数保持処理部を備え、前記変数情報テーブル編集処理部は、前記サブプログラムにて使用される前記変数に内部デバイスのアドレスを関連付け、前記退避領域のアドレスが前記サブプログラムの呼び出しごとに異なるアドレスとなるようにすることを特徴とする。
上記のように構成した請求項2の発明によれば、プログラマブルコントローラの周辺装置のサブプログラム変数保持処理部は、サブプログラム形式にされたラダー回路に対し、サブプログラムの先頭と末尾に、それぞれ内部デバイスに設けられた退避領域から変数に値を転送する転送命令および変数の値を退避領域に転送する転送命令を挿入している。
また、変数情報テーブル編集処理部は、サブプログラムにて使用される変数に内部デバイスのアドレスを関連付け、退避領域の内部デバイスのアドレスがサブプログラムの呼び出しごとに異なるアドレスとなるようにしている。このようにしてサブプログラム化されたラダー回路は、変数の前回値を保持することができるので、多重の呼び出しにも対応することができる。
本発明によれば、既存のシーケンス・プログラムの再利用において、サブプログラムとして標準化することが容易にできるプログラマブルコントローラの周辺装置を提供することができる。
本発明の実施形態に係る周辺装置のシステム構成図である。 本発明の実施形態に係るプログラマブルコントローラの構成図である。 本発明の実施形態に係る周辺装置のプログラミング・モデルである。 本発明の実施形態に係る周辺装置のシーケンス・プログラム編集処理部のプログラム構成図である。 本発明の実施形態に係る周辺装置のダイアログボックスの画面例である。 本発明の実施形態に係る周辺装置のシーケンス・プログラム表示例1である。 本発明の実施形態に係る周辺装置のシーケンス・プログラム表示例2である。 本発明の実施形態に係るシーケンス・プログラムの動作説明図である。 本発明の実施形態に係る変数情報テーブルの説明図である。
プログラマブルコントローラの周辺装置には、専用のハードウェアにより構成されるものや、汎用のパーソナルコンピュータ(以下、PCと記す)で構成されるもの等、種々のタイプが存在する。図1は、本実施形態の周辺装置ソフトウェアをインストールしたPCを周辺装置10として使用した場合のシステム構成図である。
以下、本発明の実施形態のプログラマブルコントローラの周辺装置10のシステム構成を図面に従って説明する。
図1に示すように、周辺装置10は、CPU(central processing unit)11のシステム・バス12を介して、システムメモリ28、HDD(hard disk drive)24、通信インターフェース27、キーボード22、マウス23、ディスプレイ21が接続されている。HDD24には、周辺装置ソフトウェア26がインストールされている。
システムメモリ28は、RAM(random access memory)14及びROM(read only memory)13等から構成される記憶手段である。RAM14は、CPU11によりHDD24から各プログラムを読み出して実行するのに使用される。また、RAM14は、各プログラムの実行に要するデータを一時記憶するデータ領域、各種情報を生成するワークエリアとして使用される。ROM13には、BIOS(basic input/output system)13aが記憶されており、周辺装置10の起動時において、初期設定をするとともに、HDD24にインストールされているOS(operating system)25の起動をおこなう。通信インータフェース27は、通信ケーブル(図示せず)を介して、プログラマブルコントローラとの通信をおこなう。ディスプレイ21は、出力デバイスであり、周辺装置ソフトウェア26により、シーケンス・プログラムの編集等をおこなう場合の画面表示の出力に使用される。キーボード22およびマウス23は、それぞれ入力デバイスであり、周辺装置ソフトウェア26により、シーケンス・プログラムの編集をおこなう場合等の情報の入力に使用される。HDD24は、ハードディスクにて構成される記憶装置であり、周辺装置ソフトウェア26およびOS25等がインストールされている。
周辺装置ソフトウェア26は、シーケンス・プログラム編集プログラム26a、変換プログラム26b、コンパイル処理プログラム26c、変数情報テーブル編集プログラム26d等が含まれている。周辺装置10は、周辺装置ソフトウェア26の各プログラムにより、各機能が実装されている。OS25は、例えば、Windows7(マイクロソフト社の登録商標)等が適用される。
シーケンス・プログラム編集プログラム26aは、ラダー回路図の形式のシーケンス・プログラム(ソースコード)14aを編集する。変数情報テーブル編集プログラム26dは、シーケンス・プログラム(ソースコード)14aにて使用する変数情報テーブルを編集する。シーケンス・プログラム(ソースコード)14aは、シーケンス・プログラム(バイナリコード)(図示せず)を読み出し、変換プログラム26bによりに変換したものである。編集後のシーケンス・プログラム(ソースコード)14aは、変数情報テーブル14bとともにコンパイル処理プログラム26cにより、コンパイルされ、変換プログラム26bによりシーケンス・プログラム(バイナリコード)に変換される。
図2は、プログラマブルコントローラ100の構成図である。
CPUユニット110は、CPU111の内部バス112を介して、ROM115、RAM114、プログラムメモリ113、入出力制御回路118、通信インターフェース119が接続されている。通信インターフェース119は、通信ケーブル(図示せず)を介して、周辺装置10との通信をおこなう。周辺装置10により、通信インターフェース119を介して、書き込まれたシーケンス・プログラムおよびパラメータは、プログラムメモリ113に格納される。ROM115には、システムプログラム115aが、RAM114には、内部メモリ114aが記憶されている。システムプログラム115aは、CPUユニット110を制御するとともに、シーケンス・プログラム113aを実行することにより、シーケンス制御をおこなっている。
図3は、周辺装置10におけるプログラマブルコントローラ100のプログラミング・モデル200である。
シーケンス・プログラム113aは、メインプログラム113bおよびサブプログラム形式からなるサブプログラム113cから構成され、メインプログラム113bが格納されるメインプログラム領域211および複数のサブプログラム113cが格納されるサブプログラム領域212を有している。メインプログラム領域211とサブプログラム領域212を区分するのは、メインプログラム113bの末尾ステップを示すプログラムエンド命令である。シーケンス・プログラム113aの容量は、対応するプログラマブルコントローラ100の仕様およびパラメータにより規定されている。
シーケンス・プログラム113aは、プログラマブルコントローラ100のプログラムメモリに格納されて実行される。メインプログラム113bは、プログラマブルコントローラ100のスキャンごとに先頭ステップから末尾ステップに至るまでシーケンシャルに実行される。サブプログラム113cは、メインプログラム113bから呼び出されて実行される。
サブプログラム113cは、サブプログラム形式のプログラムであり、先頭ステップにラベル命令(LABEL)、末尾ステップに復帰命令(RETURN)を有し、この2つの命令の間がプログラム本体として構成されている。ラベル命令は、オペランドにサブプログラム名称を有し、このサブプログラム名称により他のサブプログラム113cと区別されている。
サブプログラム113cは、サブプログラム呼び出し命令(CALL)により呼び出される。呼び出されるサブプログラム113cは、オペランドに設定されたサブプログラム名称のサブプログラム113cである。メインプログラム113bから呼び出されたサブプログラム113cは、先頭ステップのラベル命令(LABEL)からシーケンシャルに実行された後、末尾ステップの復帰命令(RETURN)により、呼び出し元のメインプログラム113bに復帰する。
内部デバイス231は、プログラマブルコントローラ100の内部メモリである。変数情報テーブル220には、内部デバイス231のアドレスと変数名との関連付けが示されている。通常、変数情報テーブル220の内部デバイス231は、コンパイル処理により、変数名ごとに異なるアドレスが割り付けられている。
入出力デバイス232は、制御対象の機器160と入出力制御回路を介して接続されるプログラマブルコントローラ100の入出力部である。変数情報テーブル220には、入出力デバイス232のアドレスと変数名の関連付けが示されている。通常、変数情報テーブル220の入出力デバイス232は、機器160との接続位置によりアドレスが割り付けられている。すなわち、入出力デバイス232のアドレスは設計時において決定されている。
変数プログラミングにおいては、シーケンス・プログラム113aの各要素は変数名で記述され、シーケンス・プログラム113aは、変数情報テーブル220を介して、デバイス種別およびアドレスが関係付けられている。
図4は、プログラマブルコントローラ100の周辺装置10のシーケンス・プログラム編集処理部400のプログラム構成である。
このように構成されたシーケンス・プログラム編集処理部400において、既存のシーケンス・プログラムの再利用において、サブプログラムとして標準化する処理について説明する。
最初に、シーケンス・プログラム編集処理部400は、現在編集中のシーケンス・プログラムとは別の再利用するシーケンス・プログラムを読み出して、シーケンス・プログラム表示処理部440により、表示装置に表示する。
そして、選択処理部410により、表示装置に表示されたシーケンス・プログラムから、制御対象となる機器に関わる制御部分のラダー回路の範囲を特定して、このラダー回路の範囲を選択する。
次に「コピー」の編集コマンドを実行するとコピー処理部420が呼び出される。
コピー処理部420は、選択した範囲のラダー回路および変数情報テーブルをバッファメモリ上に一時的にコピーして保持する。
次に、現在編集中のシーケンス・プログラムにおいて、上記の制御対象となる装置を制御するステップ位置にて、「サブプログラムとして貼り付け」の編集コマンドを実行すると、サブプログラム化処理部431とサブプログラム貼り付け処理部430が呼び出される。
サブプログラム化処理部431は、図5に示すサブプログラム名称を問い合わせるダイアログボックス310を表示して、サブプログラム名311の入力を指示する。
ダイアログボックス310にサブプログラム名311(図5)が入力されると、図4のサブプログラム命令挿入処理部433が呼び出される。サブプログラム命令挿入処理部433は、コマンドを実行した編集カーソルの位置に、サブプログラム呼び出し命令(CALL)を挿入する。このサブプログラム呼び出し命令(CALL)のオペランドには、先にダイアログボックス310(図5)で入力したサブプログラム名311(図5)と、後述する退避領域のアドレスが設定される。
一方、サブプログラム貼り付け処理部430は、バッファメモリ上のラダー回路をサブプログラム領域に貼り付ける。また、サブプログラム化処理部431は、サブプログラム領域に貼り付けたラダー回路をサブプログラム形式にする。すなわち、先頭ステップにラベル命令(LABEL)を挿入し、末尾ステップに復帰命令(RETURN)を追加する。このオペランドには、先に入力したサブプログラム名311(図5)が設定される。
サブプログラム変数保持処理部432は、末尾ステップの復帰命令(RETURN)の前ステップに、変数の値を内部デバイスに設けられた退避領域に転送する転送命令(MOVE)を挿入し、先頭ステップのラベル命令(LABEL)の後ステップに、退避領域から変数に値を転送する転送命令(MOVE)を挿入する。この退避領域のアドレスは、サブプログラムの呼び出しごとに異なるアドレスとなるように、サブプログラム呼び出し命令(CALL)のオペランドで設定される。転送するデータサイズはサブプログラムにて使用されるすべての変数の領域のサイズとされる。
また、バッファメモリ上の変数情報テーブルを現在編集中のシーケンス・プログラムの変数情報テーブルに追加するとともに、サブプログラムにて使用されるすべての変数に内部デバイスを関連付ける。そして、変数情報テーブル編集処理部450が、これら内部デバイスにアドレスを関連付ける。変数のアドレスは空きアドレスから順に詰められて、サブプログラムにて使用される変数の領域が連続したメモリブロックとなっている。
シーケンス・プログラム表示処理部40は、上記のサブプログラム呼び出し命令(CALL)を表示するとともに、サブプログラム表示展開処理部441により、サブプログラム呼び出し命令(CALL)とその次ステップとの間にサブプログラムの表示を展開する。一方、サブプログラム表示折り畳み処理部442は、この展開されたサブプログラムの表示を折り畳むことができる。
シーケンス・プログラム表示処理部40は、表示切替処理部443を呼び出すことにより、サブプログラムの表示の展開と折り畳みを切り替えることができる。なお、ここに表示されるサブプログラムはサブプログラムそのものあるが、サブプログラムの実体は表示された位置ではなく、サブプログラム領域に存在している。
図6および図7は、シーケンス・プログラム表示処理部40による、シーケンス・プログラムの表示例である。
図6に示すように、シーケンス・プログラムは、ラダー回路を構成する接点、コイル等の回路要素が格子状のシートに配置されて表示される。この格子の1つには編集カーソル340が表示されており、マウスやキーボードの方向キーで格子間を移動することができる。そして、編集操作により、編集カーソル340が示す位置の回路要素を編集することができる。
図6は、サブプログラム表示展開処理部441(図4)により、ステップ0103のサブプログラム呼び出し命令(CALL)とその次ステップ0104との間にサブプログラムSUB010の表示が展開された状態を示している。また、サブプログラムSUB010の範囲が、区切り線331、332により示されている。
図7は、サブプログラム表示折り畳み処理部442(図4)により、ステップ0103のサブプログラム呼び出し命令(CALL)とその次ステップ0104との間のサブプログラムSUB010の表示を折り畳んだ状態を示している。
図6のマウスカーソル(矢印アイコン)380を、この区切り線331、332上に移動させると、マウスカーソル(矢印アイコン)380は、マウスカーソル(折り畳みアイコン)381に切り替わる。マウスカーソル(折り畳みアイコン)381の状態でクリックすると、表示切替処理部443(図4)からサブプログラム表示折り畳み処理部442(図4)が呼び出され、図7に示すように、サブプログラムSUB010の表示を折り畳むことができる。このとき、区切り線331、332は1つとなる。
マウスカーソル(矢印アイコン)380を、1つになった区切り線331、332上に移動させると、マウスカーソル(矢印アイコン)38は、マウスカーソル(展開アイコン)382に切り替わる。マウスカーソル(展開アイコン)382の状態でクリックすると、表示切替処理部443(図4)からサブプログラム表示展開処理部441(図4)が呼び出され、図6に示す表示に戻り、サブプログラムSUB010の表示を展開することができる。
編集カーソル340は、サブプログラム表示の展開と折り畳みとに関わらず、区切り線331、332をまたいで移動することができる。
このように、シーケンス・プログラム編集処理部400は、サブプログラム表示の展開と折り畳みとに関わらず編集可能であり、サブプログラム表示を展開のまま編集することで、メインプログラムとサブプログラムとが同じ領域で連続したラダー回路であるかのように編集することができる。
次に、このようにして作成されたシーケンス・プログラムの動作について説明する。
図1の周辺装置10は、通信ケーブル(図示せず)を介して接続された図2のプログラマブルコントローラ100のプログラムメモリ113に、シーケンス・プログラム113aを格納する。
図8に示すシーケンス・プログラム113aは、図2のプログラムメモリ113に格納され、システムプログラム115aにより実行される、メインプログラムおよび標準化したサブプログラムSUB010である。このサブプログラムSUB010は、2台の同じ機器(機器1、機器2)が左右に配置された設備を制御するシーケンス・プログラム113aから多重に呼び出されて、機器1、機器2を個別に制御するものである。
図9は、サブプログラムSUB010に対応する変数情報テーブル500である。サブプログラムの標準化により、サブプログラムが使用するすべての変数は内部デバイスが割り付けられている。シーケンス・プログラム113aは、変数名とデバイスのアドレスとの関連付けられた変数情報テーブルを参照して、使用されるすべての変数にアドレスが関連付けられた状態で、プログラマブルコントローラ100のプログラムメモリ113に格納されている。
図8に示す内部デバイスは、図2のRAM114の内部メモリ114aであり、サブプログラムSUB010は、領域sp0の変数値を参照して実行される。領域sp1,sp2は、退避領域であり、サブプログラムの呼び出し命令(CALL)ごとに異なるアドレスとなるとなるように、オペランドで設定されている。なお、領域sp0,sp1,sp2のサイズは、サブプログラムにて使用されるすべての変数の領域のサイズと同じである。
図8に示すように、シーケンス・プログラム113aは、機器1を制御するステップ位置において、サブプログラム呼び出し命令(CALL)601を実行する。このオペランドにおいてサブプログラム名SUB010と退避領域のアドレス(sp1)が設定されている。サブプログラム呼び出し命令(CALL)601が実行されると、実行ステップのポインタがサブプログラムSUB010のラベル命令(LABEL)に移る。
次に、ラベル命令(LABEL)の次ステップの転送命令(MOVE)が実行されると、内部デバイスの領域sp1から領域sp0に変数の前回値が転送される。サブプログラムSUB010は、領域sp0の変数値を参照して、プログラム本体部を実行することにより、機器1の制御を実行する。そして、復帰命令(RETURN)の前ステップの転送命令(MOVE)が実行されることにより、領域sp0から領域sp1に変数の今回値が転送される。
また、シーケンス・プログラム113aは、機器2を制御するステップ位置において、サブプログラム呼び出し命令(CALL)602を実行する。このオペランドにおいてサブプログラム名SUB010と退避領域のアドレス(sp2)が設定されている。サブプログラム呼び出し命令(CALL)602が実行されると、実行ステップのポインタがサブプログラムSUB010のラベル命令(LABEL)に移る。
次に、ラベル命令(LABEL)の次ステップの転送命令(MOVE)が実行されると、内部デバイスの領域sp2から領域sp0に変数の前回値が転送される。サブプログラムSUB010は、領域sp0の変数値を参照して、プログラム本体部を実行することにより、機器2の制御を実行する。そして、復帰命令(RETURN)の前ステップの転送命令(MOVE)が実行されることにより、領域sp0から領域sp2に変数の今回値が転送される。
このように、標準化されたサブプログラムSUB010は、変数の前回値の復帰と今回値を保持をおこなうことができるので、サブプログラムSUB010を多重に呼び出して、機器1、機器2を別個に制御することができる。本実施形態によれば、このようなサブプログラムを標準化する作業を容易におこなうことができる。
本発明は、上記実施形態に限定されるものではなく、特許請求の範囲に記載された発明の範囲内で適宜変更することが可能である。例えば、本実施形態ではサブプログラムの表示切替を、区切り線上でマウスカーソルをクリックすることでおこなっているが、例えば、表示コマンド「サブプログラム表示切替」による方法でもよい。また、メインプログラムとサブプログラムとの境界を区切り線にて示しているが、背景色等により境界を示すようにしてもよい。
10:周辺装置、 11:CPU、 12:システム・バス、 13:ROM、
13a:BIOS、 14:RAM、
14a:シーケンス・プログラム(ソースコード)、 14b:変数情報テーブル、
14c:パラメータ、 21:ディスプレイ、 22:キーボード、 23:マウス、
24:HDD、 25:OS、 26:周辺装置ソフトウェア、
26a:シーケンス・プログラム編集プログラム、 26b:変換プログラム、
26c:コンパイル処理プログラム、 26d:変数情報テーブル編集プログラム、
27:通信インターフェース、 28:システムメモリ、
100:プログラマブルコントローラ、 110:CPUユニット、 111:CPU、
112:内部バス、 113:プログラムメモリ、 113a:シーケンス・プログラム、
113b:メインプログラム、 113c:サブプログラム、 114:RAM、
114a:内部メモリ、 115:ROM、 115a:システムプログラム、
118:入出力制御回路、 119:通信インターフェース、 160:機器、
200:プログラミング・モデル、 220:変数情報テーブル、
231:内部デバイス、 232:入出力デバイス、
310:ダイアログボックス、
311:サブプログラム名、 331,332:区切り線、 340:編集カーソル、
380:マウスカーソル(矢印アイコン)、
381:マウスカーソル(折り畳みアイコン)、
382:マウスカーソル(展開アイコン)、
400:シーケンス・プログラム編集処理部、 410:選択処理部、
420:コピー処理部、 430:サブプログラム貼り付け処理部、
431:サブプログラム化処理部、 432:サブプログラム変数保持処理部、
433:サブプログラム命令挿入処理部、 440:シーケンス・プログラム表示処理部、
441:サブプログラム表示展開処理部、 442:サブプログラム表示折り畳み処理部、
443:表示切替処理部、 450:変数情報テーブル編集処理部、
500:変数情報テーブル、 601,602:サブプログラム呼び出し命令

Claims (2)

  1. 機器を制御するためのシーケンス・プログラムを編集するシーケンス・プログラム編集処理部を備えるプログラマブルコントローラの周辺装置において、
    前記シーケンス・プログラムは、接点およびコイル等の回路要素を含むラダー回路により記述され、前記シーケンス・プログラムは、再利用するシーケンス・プログラムと、編集中のシーケンス・プログラムとがあり、前記編集中のシーケンス・プログラムが編集されると編集されたシーケンス・プログラムとなり、前記編集されたシーケンス・プログラムは、メインプログラムとサブプログラム形式からなる複数のサブプログラムとから構成され、
    前記シーケンス・プログラム編集処理部は、
    前記シーケンス・プログラムを表示装置に表示するシーケンス・プログラム表示処理部と、
    前記表示装置に表示された前記再利用するシーケンス・プログラムから指定した範囲のラダー回路を選択する選択処理部と、
    前記選択処理部により選択した範囲のラダー回路をコピーするコピー処理部と、
    前記コピー処理部によりコピーされたラダー回路にサブプログラム名を入力し、前記サブプログラム形式にするサブプログラム化処理部と、
    前記サブプログラム形式にされたラダー回路を、前記編集中のシーケンス・プログラムのサブプログラム領域に貼り付けるサブプログラム貼り付け処理部と、
    指定された位置にサブプログラム呼び出し命令を挿入するサブプログラム命令挿入処理部と、
    前記サブプログラム呼び出し命令とその次ステップとの間に前記サブプログラムの表示を展開するサブプログラム表示展開処理部と、
    前記サブプログラム呼び出し命令とその次ステップとの間の前記サブプログラムの表示を折り畳むサブプログラム表示折り畳み処理部と、
    前記サブプログラムの表示の展開と折り畳みとを切り替える表示切替処理部と
    を備えることを特徴としたプログラマブルコントローラの周辺装置。
  2. 請求項1に記載のプログラマブルコントローラの周辺装置であって、
    前記シーケンス・プログラムは、変数を使用して記述され、
    前記シーケンス・プログラムに対応して変数の情報を保持する変数情報テーブルと、
    前記変数情報テーブルの前記変数とデバイスのアドレスとの関連付けをおこなう変数情報テーブル編集処理部を備え、
    前記サブプログラム化処理部は、
    前記サブプログラム形式にされたラダー回路に対し、
    サブプログラム末尾の復帰命令の前ステップに、前記変数の値を内部デバイスに設けられた退避領域に転送する転送命令を挿入し、
    サブプログラム先頭のラベル命令の後ステップに、前記退避領域から前記変数に値を転送する転送命令を挿入する、
    サブプログラム変数保持処理部を備え、
    前記変数情報テーブル編集処理部は、
    前記サブプログラムにて使用される前記変数に内部デバイスのアドレスを関連付け、
    前記退避領域のアドレスが前記サブプログラムの呼び出しごとに異なるアドレスとなるようにすることを特徴としたプログラマブルコントローラの周辺装置。
JP2012220155A 2012-10-02 2012-10-02 プログラマブルコントローラの周辺装置 Expired - Fee Related JP6115063B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012220155A JP6115063B2 (ja) 2012-10-02 2012-10-02 プログラマブルコントローラの周辺装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012220155A JP6115063B2 (ja) 2012-10-02 2012-10-02 プログラマブルコントローラの周辺装置

Publications (2)

Publication Number Publication Date
JP2014071862A JP2014071862A (ja) 2014-04-21
JP6115063B2 true JP6115063B2 (ja) 2017-04-19

Family

ID=50746948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012220155A Expired - Fee Related JP6115063B2 (ja) 2012-10-02 2012-10-02 プログラマブルコントローラの周辺装置

Country Status (1)

Country Link
JP (1) JP6115063B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10466674B2 (en) 2017-04-24 2019-11-05 Mitsubishi Electric Corporation Programmable logic controller system, and engineering tool computer program product
JP7238678B2 (ja) * 2019-08-08 2023-03-14 オムロン株式会社 情報処理装置、サポートプログラムおよびサポートシステム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4850556B2 (ja) * 2006-03-29 2012-01-11 三菱電機株式会社 プログラム作成支援装置およびその方法

Also Published As

Publication number Publication date
JP2014071862A (ja) 2014-04-21

Similar Documents

Publication Publication Date Title
US8843885B2 (en) Program creation support device
US10295985B2 (en) Program processing apparatus and program
JP2008282363A (ja) プログラマブルコントローラ、プログラム作成支援装置、コンピュータプログラム及びplcシステム
US20060117043A1 (en) Engineering system with automatic generation of entity templates
JP6115063B2 (ja) プログラマブルコントローラの周辺装置
JP2005301520A (ja) プログラミングシステム
JPH03229352A (ja) プログラム変更方法
JP2016224559A (ja) プログラム作成支援装置、制御方法およびプログラム
JP2010224597A (ja) プログラマブルコントローラ制御プログラム作成方法、および、プログラマブルコントローラ制御プログラム作成システム
JP5205988B2 (ja) Plcのグローバル変数定義方式
JP4877257B2 (ja) プログラマブルコントローラ、プログラマブルコントローラ支援装置、及びプログラマブルコントローラシステム
JPH0410081B2 (ja)
JP3526232B2 (ja) ステップ実行型プログラマブルコントローラのオンラインエディット機能処理方法
WO2022190417A1 (ja) 開発支援装置、開発支援方法および開発支援プログラム
JP4387288B2 (ja) 制御用表示装置、エディタ装置、プログラムおよび記録媒体
JP2009181173A (ja) 機械操作盤画面表示システム及びシーケンス制御処理機能を備えた表示装置
JP2010157155A (ja) プログラム作成支援方法、プログラム及びプログラム作成支援装置
JPH04294424A (ja) コンピュータシステムの対話的画面制御装置
JP4057766B2 (ja) プログラム作成支援装置および方法、プログラム作成支援プログラムを記録した媒体
JP2000020294A (ja) プログラム開発支援装置、及びコンピュータ読み取り可能な記録媒体
JP2004272409A (ja) オブジェクト仮止め装置、オブジェクト仮止め方法及びオブジェクト仮止めプログラム
JP2009245194A (ja) プログラマブルコントローラ、プログラマブルコントローラ支援装置、及びプログラマブルコントローラシステム
JPH07334358A (ja) 手順編集装置
JP2003263328A (ja) イベント駆動型ファンクションブロックの起動方法、イベント駆動型制御装置、イベント駆動型ファンクションブロック用コンパイラ及びイベント駆動型制御プログラム用コンパイラ
JPH1195987A (ja) リンクコマンドエディタおよびリンクコマンドエディタプログラムを記録したコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150922

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160908

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170306

R150 Certificate of patent or registration of utility model

Ref document number: 6115063

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees