JP5483011B2 - Plcのプログラム開発支援装置及びコンピュータを当該装置として機能させるためのコンピュータプログラム - Google Patents

Plcのプログラム開発支援装置及びコンピュータを当該装置として機能させるためのコンピュータプログラム Download PDF

Info

Publication number
JP5483011B2
JP5483011B2 JP2010058516A JP2010058516A JP5483011B2 JP 5483011 B2 JP5483011 B2 JP 5483011B2 JP 2010058516 A JP2010058516 A JP 2010058516A JP 2010058516 A JP2010058516 A JP 2010058516A JP 5483011 B2 JP5483011 B2 JP 5483011B2
Authority
JP
Japan
Prior art keywords
word
program
display
name
plc
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.)
Active
Application number
JP2010058516A
Other languages
English (en)
Other versions
JP2011192088A (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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Priority to JP2010058516A priority Critical patent/JP5483011B2/ja
Publication of JP2011192088A publication Critical patent/JP2011192088A/ja
Application granted granted Critical
Publication of JP5483011B2 publication Critical patent/JP5483011B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、所望の制御仕様を実現すべくプログラマブル・コントローラ(以下、「PLC」と言う)に組み込まれるべき制御プログラム(以下、「ユーザプログラム」と言う)の開発を支援する機能を有するPLCのプログラム開発支援装置に関する。
任意の言語における「語」のグルーピング手法の1つである名前空間方式は、「語」のデータ型ではなくて、「語」の名前に対して複数の空間を与えるもので、「語」に関して名前の重複を許す仕組みである。この名前空間方式によれば、名前空間とその中の名前とは別に宣言することが許される。また、この名前空間方式によれば、言語の中に存在する全ての「語」に名前空間を与えると共に、名前空間名を別の名前空間に宣言することにより、事実上、名前空間の階層構造化が可能となる。そのため、この名前空間方式によれば、メンバの増減が容易であること、アクセス制御をプログラマが設定できること、階層構造を有することから名前に対するナビゲーションができること等々の利点がある。
ところで、昨今、PLCを提供する各社は、IEC61131−3規格にしたがた言語仕様を用いて開発環境を提供しているが、IEC61131−3規格は明示的な名前空間をもっていないため、「命令」や「FB」と言ったPOU(Program Organization Unitの略)、「変数」のようなグローバルに使用可能な「語」については、同じ名前又は構造体名を持つことができない。
そのため、命令ライブラリの提供に際しては、ライブラリ提供時に同じ名前のPOUを提供してはならないこと、ライブラリに含まれる「変数」には、同じ名前の構造体名を提供してはならないこと、と言った制約があり、グローバル変数の使用に際しては、グローバルスコープの変数(IEC61131−3規格のCONFIGURATIONが保有する変数)内で同じ名前を持つことが許されないと言った制約がある。これは、同じグローバル参照可能である「命令」名、「FB」名、構造体名とも重複することができないことを意味する。
このように「語」に関する同一名称の重複を許さないと言う制約は、他社のPLCに代わって自社のPLCを導入する場合のように、他社のPLCの「命令」を引き継いで、「命令」の追加サポートを要請される場合に大きな問題となる。
そこで、IEC61131−3規格のPLCプログラミングの分野に、「語」のグルーピング手法である名前空間方式を導入すれば、名前が重複してもよく、使い勝手を落とさないこと、アクセス制御の範囲をプログラマが調整できること、名前にアクセスするためのナビゲーションの機能を有すること、等々と言った様々な利点が期待される。
なお、所定の表示スクリーンを有する表示手段と、ポインティングデバイスやキーボード等の入力手段とを備え、所望の制御仕様をPLCを用いて実現するためのユーザプログラムを、入出力を特定するための語種である「変数」、入出力に対して加えられる操作内容を特定するための語種である「命令」、任意に定義された機能を特定するための語種である「ファンクションブロック」(以下、「FB」と言う)と言った複数の語種を含むPLC用のプログラム言語を使用して記述する作業を支援するPLCのプログラム開発支援装置は、従来より知られている(例えば、特許文献1参照)。
特開2008−276525号公報
しかしながら、上述の名前空間方式は、IEC61131−3規格には存在しない比較的に新しい技術であって、特に、FA(Factory Automationの略)のユーザにとっては認知度が低いことに加え、特定の語空間に存在する「語」をプログラム中に記述する場合には、その「語」単位又は「プログラム」単位で、その「語」の属する語空間を指定するために、語空間の宣言文を記述すると言った既存のPLCプログラミングには存在しない操作が必要であるため、上述の名前空間方式をプログラム開発支援装置に導入するについては、プログラマーに違和感を与えないための何らかのユーザフレンドリな仕組みが必要となる。
この発明は、上述の技術的背景に鑑みてなされたものであり、その目的とするところは、名前空間の概念を知らない又は不慣れなプログラマーであっても、特に名前空間の概念を意識すること無く、名前空間方式による「語」のグルーピング手法を使用してユーザプログラムを容易に作成することができるようにしたPLCのプログラム開発支援装置を提供することにある。
その発明のさらに他の目的並びに作用効果は、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
上述の技術的な課題は、以下の構成を有するPLCのプログラム開発支援装置により解決することができるものと考えられる。
すなわち、このPLCのプログラム開発支援装置は、所定の表示スクリーンを有する表示手段と、ポインティングデバイスやキーボード等の入力手段とを備え、所望の制御仕様をPLCを用いて実現するためのユーザプログラムを、入出力を特定するための語種である「変数」、入出力に対して加えられる操作内容を特定するための語種である「命令」、任意に定義された機能を特定するための語種である「ファンクションブロック(FB)」と言った複数の語種を含むPLC用のプログラム言語を使用して記述する作業を支援するものである。
そして、上述のプログラム開発支援装置には、前記表示手段の表示スクリーン上の第1の表示領域に、前記1の語種に属する1又は2以上の語を、その属する名前空間別に一覧表示させる第1の手段と、前記表示手段の表示スクリーン上の第2の表示領域に、前記ユーザプログラムに対応する図式表示を行うための第2の手段と、前記第1の表示領域に一覧表示された前記1の語種に属する1又は2以上の語の中から1の語を選択して、前記第2の表示領域にて行われた図式表示上の所望位置に配置するための前記入力手段の所定操作に応じて、前記選択された1の語を前記所望位置と関連付けて前記ユーザプログラム中に記述すると共に、その語の属する名前空間を特定するための「情報」を自動的に追加記述する第3の手段とが含まれている。
このような構成によれば、前記第1の表示領域に一覧表示された前記1の語種に属する1又は2以上の語の中から1の語を選択して、前記第2の表示領域にて行われた図式表示上の所望位置に配置するための前記入力手段の所定操作に応じて、前記選択された1の語を前記所望位置と関連付けて前記ユーザプログラム中に記述すると共に、その語の属する名前空間を特定するための「情報」を自動的に追加記述する機能が具備されていることから、ユーザーであるプログラマーは、意識して、その語の属する名前空間を特定するための「情報」(例えば、語空間の宣言文)をプログラム中に記述する操作が不要となる。
加えて、名前空間自体を何等かのメタファてとして提供することにより、名前空間の概念を学習するのではなく、そのメタファとして覚えるだけで、自然と名前空間を使用できるようになる。メタファの一例としては、(1)「変数」における名前空間のメタファとして装置の構造名を使用すること、(2)内部補助リレー、データメモリ上のグローバル変数名における名前空間のメタファとして、そのユーザになじみの深いプログラミングツールのセクション名を使用すること、(3)命令名における名前空間のメタファとして、CPUハードウェア名、アプリケーション名を使用すること(このCPUハードアウェア名、アプリケーション名は命令カテゴリのトップレベルとして使用される)、等を挙げることができる。
そのため、本発明によれば、名前空間の概念を知らない又は不慣れなプログラマーであっても、特に名前空間の概念を意識すること無く、名前空間方式による「語」のグルーピング手法を使用してユーザプログラムを容易に作成することができる。
本発明装置の好ましい実施の形態においては、前記「情報」は、そのユーザプログラム中に記述される前記1の語種に属する全ての語に対して適用されるべき名前空間を特定するためのものとして追加記述される、ものであってもよい。このような構成によれば、ユーザプログラム単位で使用する「語」の語空間を定義するような場合には都合がよい。
本発明装置の好ましい実施の形態においては、前記「情報」は、当該記述される語に限り適用されるべき名前空間を特定するためのものとして追加記述される、ものであってもよい。このような構成によれば、語単位で使用する「語」の語空間を定義するような場合には都合がよい。
本発明装置の好ましい実施の形態においては、前記「情報」に対応する表示が、前記第2の表示領域にて行われた図式表示上の語シンボルに付加される、ものであってもよい。このような構成によれば、図式表示上における各語シンボルの属する語空間を一目瞭然に理解させることができる。
別の一面から見た本発明は、コンピュータを上述のPLCのプログラム開発支援装置として機能させるためのコンピュータプログラムとして機能させるためのコンピュータプログラムとして把握することもできる。
すなわち、このコンピュータプログラムは、所定の表示スクリーンを有する画像表示器と、ポインティングデバイスやキーボード等を有する入力操作部と、半導体メモリ、外部記憶装置、及び演算処理部を含む中央処理装置とを有するコンピュータを、所望の制御仕様をPLCを介して実現させるためのユーザプログラムを、入出力を特定するための語種である「変数」、入出力に対して加えられる操作内容を特定するための語種である「命令」、任意に定義された機能を特定するための語種である「ファンクションブロック(FB)」と言った複数の語種を含むPLC用のプログラム言語を使用して記述する作業を支援するPLCのプログラム開発支援装置として機能させるためのものである。
そして、このコンピュータプログラムが実現する機能には、前記画像表示器の表示スクリーン上の第1の表示領域に、前記1の語種に属する1又は2以上の語を、その属する名前空間別に一覧表示させる第1の手段と、前記画像表示器の表示スクリーン上の第2の表示領域に、前記ユーザプログラムに対応する図式表示を行うための第2の手段と、前記第1の表示領域に一覧表示された前記1の語種に属する1又は2以上の語の中から1の語を選択して、前記第2の表示領域にて行われた図式表示上の所望位置に配置するための前記入力操作部の所定操作に応じて、前記選択された1の語を前記所望位置と関連付けて前記ユーザプログラム中に記述すると共に、その語の属する名前空間を特定するための「情報」を自動的に追加記述する第3の手段とが含まれている。
このような構成によれば、前記第1の表示領域に一覧表示された前記1の語種に属する1又は2以上の語の中から1の語を選択して、前記第2の表示領域にて行われた図式表示上の所望位置に配置するための前記入力操作部の所定操作に応じて、前記選択された1の語を前記所望位置と関連付けて前記ユーザプログラム中に記述すると共に、その語の属する名前空間を特定するための「情報」を自動的に追加記述する機能が具備されていることから、ユーザーであるプログラマーは、意識して、その語の属する名前空間を特定するための「情報」(例えば、語空間の宣言文)をプログラム中に記述する操作が不要となる。
加えて、名前空間自体を何等かのメタファてとして提供することにより、名前空間の概念を学習するのではなく、そのメタファとして覚えるだけで、自然と名前空間を使用できるようになる。メタファの一例としては、(1)IOにおける名前空間のメタファとして装置の構造名を使用すること、(2)内部補助リレー、データメモリ上のグローバル変数名における名前空間のメタファとして、そのユーザになじみの深いプログラミングツールのセクション名を使用すること、(3)命令名における名前空間のメタファとして、CPUハードウェア名、アプリケーション名を使用すること(このCPUハードアウェア名、アプリケーション名は命令カテゴリのトップレベルとして使用される)、等を挙げることができる。
そのため、本発明によれば、名前空間の概念を知らない又は不慣れなプログラマーであっても、特に名前空間の概念を意識すること無く、名前空間方式による「語」のグルーピング手法を使用してユーザプログラムを容易に作成することができる。
本発明プログラムの好ましい実施の形態においては、前記「情報」は、そのユーザプログラム中に記述される前記1の語種に属する全ての語に対して適用されるべき名前空間を特定するためのものとして追加記述される、ものであってもよい。このような構成によれば、ユーザプログラム単位で使用する「語」の語空間を定義するような場合には都合がよい。
本発明プログラムの好ましい実施の形態においては、前記「情報」は、当該記述される語に限り適用されるべき名前空間を特定するためのものとして追加記述される、ものであってもよい。このような構成によれば、語単位で使用する「語」の語空間を定義するような場合には都合がよい。
本発明プログラムの好ましい実施の形態においては、前記「情報」に対応する表示が、前記第2の表示領域にて行われた図式表示上の語シンボルに付加される、ものであってもよい。このような構成によれば、図式表示上における各語シンボルの属する語空間を一目瞭然に理解させることができる。
本発明によれば、前記第1の表示領域に一覧表示された前記1の語種に属する1又は2以上の語の中から1の語を選択して、前記第2の表示領域にて行われた図式表示上の所望位置に配置するための前記入力手段の所定操作に応じて、前記選択された1の語を前記所望位置と関連付けて前記ユーザプログラム中に記述すると共に、その語の属する名前空間を特定するための情報を自動的に追加記述する機能が具備されていることから、ユーザーであるプログラマーは、意識して、その語の属する名前空間を特定するための情報(例えば、語空間の宣言文)をプログラム中に記述する操作が不要となる。
加えて、名前空間自体を何等かのメタファてとして提供することにより、名前空間の概念を学習するのではなく、そのメタファとして覚えるだけで、自然に、名前空間を使用できるようになる。メタファの一例としては、(1)IOにおける名前空間のメタファとして装置の構造名をメタファとする、(2)内部補助リレー、データメモリ上のグローバル変数名における名前空間のメタファとして、そのユーザになじみの深いプログラミングツールのセクション名をメタファとする、(3)命令名における名前空間のメタファとして、CPUハードウェア名、アプリケーション名をメタファとして使用する(このCPUハードアウェア名、アプリケーション名は命令カテゴリのトップレベルとして使用される)、等を挙げることができる。
そのため、本発明によれば、名前空間の概念を知らない又は不慣れなプログラマーであっても、特に名前空間の概念を意識すること無く、名前空間方式による「語」のグルーピングを使用してユーザプログラムを容易に作成可能となる。
本発明に係る装置のハードウェア構成図である。 表示スクリーン上の表示例を示す説明図(その1)である。 表示スクリーン上の表示例を示す説明図(その2)である。 「変数」の記述操作の説明図である。 メモリ上の各種設定フラグを表にして示す説明図である。 プログラム作成処理のフローチャートである。 「語空間」の自動宣言処理のフローチャートである。 プログラム作成過程のニモニック列の説明図(その1)である。 プログラム作成過程のニモニック列の説明図(その2)である。 プログラム作成過程のニモニック列の説明図(その3)である。
以下に、本発明に係るPLCのプログラム開発支援装置の好適な実施の一形態を添付図面を参照しながら詳細に説明する。
本発明に係る装置のハードウェア構成図が図1に示されている。この装置は、所望の制御仕様をPLCを用いて実現するためのユーザプログラムを、入出力を特定するための語種である「変数」、入出力に対して加えられる操作内容を特定するための語種である「命令」、任意に定義された機能を特定するための語種である「FB」と言った複数の語種を含むPLC用のプログラム言語を使用して記述する作業を支援するように構成されている。
本発明装置は、所定のハードウェア構成を有するコンピュータに所定のソフトウェア構成を有するコンピュータプログラム(以下、「ツールソフト」と言う)を組み込むことで実現することができる。ここで、コンピュータとしては、図1に示されるように、例えば市販の可搬型パソコン(PC)のハードウェア構成をそのまま利用することもできる。
当業者にはよく知られているように、ノート型パソコン等の可搬型パソコンのハードウェア構成は、PC本体1と、キーボード2と、マウス等のポインティングデバイス3と、所定サイズの表示スクリーンを有する画像表示器4と、ハードディスク、CD−ROM、USBメモリ等々の外部記憶装置5等々を含んで構成されている。
PC本体1の内部には、周知のように、マイクロプロセッサや各種のASIC等で構成されるCPU11と、半導体RAMやROMで構成されるメモリ12と、ネットワークを介してPLC等の通信ノードと交信するための通信インタフェース13とが設けられている。
この種のツールソフトには、所望のPLCシステムの構築に必要なハードウェア構成及びソフトウェア構成の設計に供されるべき各種の機能が組み込まれており、本発明装置を実現するための機能もそのような機能の1つとしてツールソフトに組み込まれる。ツールソフトは例えば可搬型記録媒体(例えば、CD−ROM、USBメモリ等々)に格納された状態でユーザに提供され、ユーザはこれをパソコンのハードディスク等にインストールした後、所定の操作で起動することにより、本発明に係るプログラム開発支援装置が実現される。
ツールソフトが起動されて、所定の準備操作が行われたのちの表示スクリーン上の表示例を示す説明図が図2及び図3に示されている。それらの図において、表示スクリーンSの左端部にあって、上側に位置しかつタイトルとして「コンフィグレーション」なる文字列が表示されているのが第1のメニュー表示領域A11、下側に位置しかつタイトルとして「プログラム」なる文字列が表示されているのが第2のメニュー表示領域A12、中央部にあって、左右方向へ細長い大きな長方形領域が作業用画面表示領域A2、右端部にあって、上下に細長い長方形領域が「語」の一覧表示領域A3である。ここでは、語種として「命令」を採用しているため、タイトルとして「命令一覧」なる文字列が付されているが、語種として「FB」を採用する場合には、タイトルは「FB一覧」となり、又語種として「変数」を採用する場合には、タイトルは「変数一覧」となることを理解されたい。
第1のメニュー表示領域A11には、所望のPLCシステムの構築のためのデバイス構成の設計に必要な設計項目名を階層構造的に(図ではツリー状に)配列してなるデバイス構成設計用メニューが表示され、また第2のメニュー表示領域A12には、所望のPLCシステムの構築のためのプログラム構成の設計に必要な設計項目名を階層構造的に(図ではツリー状に)配列してなるプログラム構成設計用メニューが表示される。
作業用画面表示領域A2には、メニュー表示領域A11,A12からいずれかの設計項目が選択された場合に、その選択された選択項目に対応する作業用画面が表示される。この例では、第2のメニュー表示領域A12から設計項目として「工程歩進」が選択され、それに対応する作業用画面として、ユーザプログラムに相当するラダー図(図式表示)の一部が表示されている。
「語」の一覧表示領域A3には、1の語種に属する1又は2以上の語を、その属する名前空間別に一覧表示させてなる「語」一覧表示が設けられる。ここで、先に説明したように、「語種」には、入出力を特定するための語種である「変数」、入出力に対して加えられる操作内容を特定するための語種である「命令」、任意に定義された機能を特定するための語種である「FB」が含まれる。なお、「語種」として「変数」が採用された場合の一覧表示態様については、図4を参照して後述する。
次に、この実施形態に係る装置の動作について概略的に説明する。先に説明したように、従来、PLCのプログラム開発支援装置に何の配慮もなく名前空間方式を導入しようとすれば、プログラマーは、各「語」に相当する名前をプログラム中に記述しようとすれば、その都度、又はプログラムの先頭において、プログラム中にその「語」の属する名前空間を示す宣言文を意識的に記述することが要求された。
しかし、この装置にあっては、図2及び図3に示されるように、表示スクリーンS上の表示欄A3には、命令一覧が表示される。この命令一覧は、1又は2以上の「命令」(MOV,MOVL・・・)を、その属する名前空間(Std,CJ,・・・)別に一覧表示させてなるものではあるが、プログラマーから見ると、Std,CJ等々の名前空間は、単に、何等かの命令カテゴリとしか認識されない。つまり、それらの「命令」(MOV,MOVL・・・)は、単に、何等かのカテゴリ(Std,CJ,・・・)の違いがある程度にしか認識されないし、認識する必要もない。図2の例では、全ての「命令」は同一のカテゴリ“Std”に属する。図3の例では、カテゴリ“Std”に属する「命令」とカテゴリ“CJ”に属する「命令」とが混在し、それらのカテゴリ間では同一の名前の「命令」も存在する。
先ず、カテゴリ“Std”に属する「命令」だけでプログラムを記述する場合には、図2に示されるように、マウスのドラッグ・アンド・ドロップ(Drag & Drop)操作で、所望の「命令」を表示領域A3の命令一覧から選択し、領域A2に表示されたラダー図の所望位置に移動させればよい。
すると、ラダー図上の所望位置には、当該「命令」(例えば、転送命令,倍長転送命令等々)に対応する回路シンボルがその「命令」に対応する文字列(MOV,MOVL等々)が付された状態で配置される。
同時に、メモリ12内のプログラム記述領域内のニモニック列上には、その「命令」に対応するニモニック(例えば、MOV,MOVL等々)が記述される。加えて、その「命令」の属する名前空間名に相当する名前空間宣言文(例えば、Using Name Space−−−)が所定の態様にてプログラム中に記述される。このとき、所定の宣言モード(「プログラム単位」/「語単位」)にしたがって、名前空間の宣言は、その「命令」単位又はその「命令」を含むプログラム単位にて行うことができる。ここで、プログラム単位とは、ユーザプログラムが複数の部分プログラムから構成されている場合には、各部分プログラム単位としてもよい。
以上の操作を繰り返すだけで、名前空間の概念を意識させたり、名前空間宣言文の記述操作を行わせることなく、実質的に名前空間を使用して、「命令」をグルーピングしながら、プログラムを記述させることができる。
次に、カテゴリ“Std”に属する「命令」のみならず、カテゴリ“CJ”に属する「命令」をも使用してプログラムを記述する場合にも、図3に示されるように、マウスのドラッグ・アンド・ドロップ(Drag & Drop)操作で、所望の「命令」を表示領域A3の命令一覧から選択し、領域A2に表示されたラダー図の所望位置に移動させればよい。
すると、ラダー図上の所望位置には、当該「命令」(例えば、転送命令,倍長転送命令等々)に対応する回路シンボルが、その「命令」に対応する文字列(MOV,MOVL等々)が付された状態で配置される。
同時に、メモリ12内のプログラム記述領域内のニモニック列上には、その「命令」に対応するニモニック(例えば、MOV,MOVL等々)が記述される。加えて、その「命令」の属する名前空間名に相当する名前空間宣言文が所定の態様にてプログラム中に記述される。この場合にも、所定の宣言モード(「プログラム単位」/「語単位」)の切換により、名前空間の宣言は、その「命令」単位又はその「命令」を含むプログラム単位にて行うことができる。
一方、カテゴリ“Std”の転送命令“MOV”を使用した後に、カテゴリ“CJ”の転送命令“MOV”を使用する場合のように、異なるカテゴリの同一名称の「命令」を使用する場合には、所定の語空間変更モード(プログラム単位」/「語単位」)の切替状態に応じた名前空間宣言の変更処理が行われる。
今仮に、語空間変更モードが「語単位」に設定されていたとすると、その新たに出現された異空間(CJ)の転送命令“MOV”に限って、名前空間はカテゴリ“CJ”と宣言され、その他のプログラム中に含まれる「命令」については、依然として、名前空間はカテゴリ“Std”とされる。このように、語空間変更モードを予め「語単位」に設定しておくことによって、プログラム全体としての主たる「命令」カテゴリはカテゴリ“Std”に維持しつつも、同一名称である特定の「命令」についてのみ、カテゴリ“CJ”とすることにより、名前空間の拡張が可能となるのである。
これに対して、語空間変更モードが「プログラム単位」に設定されていたとすると、その異空間(CJ)の「命令」をドラッグ・アンド・ドロップする操作に応答して、名前空間はプログラム単位でカテゴリ“Std”からカテゴリ“CJ”へと変更され、同時に、それまでカテゴリ“Std”が宣言されていた各「命令」の名前空間は、それぞれの語単位で、カテゴリ“Std”に宣言される。このように、語空間変更モードを予め「プログラム単位」に設定しておくことにより、異空間の同一名称が出現するたびに、それまでの同一名称についても齟齬を生ずることなく、プログラム全体としての主たる「命令」カテゴリを新たな出現カテゴリ“CJ”に変更することで、名前空間の拡張が可能となるのである。
次に、以上概略説明した命令記述操作とそれに対応して実行されるコンピュータプログラムとの関係について、図6及び図7のフローチャート、並びに、図8〜図10のニモニック列を参照しながら詳細に説明する。
プログラマによるマウスのドラッグ・アンド・ドロップ操作が検知されると(ステップ601,602YES,603YES)、カーソル始点からは選択された「語」(例えば、“MOV”)が、カーソル終点からはラダー図中の「記述位置」がそれぞれ特定され(ステップ604,605)、さらに、予め用意された所定のテーブルを参照することにより、「語(命令)」からその属する「語空間(名前空間)」(例えば、Std)が特定される(ステップ606)。
こうして特定された「語」に相当するニモニック(MOV)は、メモリ12中のプログラム作成領域のニモニック列中に記述され(ステップ607)、しかるのち、本発明の要部であるところの語空間の自動宣言処理(ステップ608)が実行される。
図7に移って、自動宣言処理が開始されると、先ず、「語空間」宣言モードが参照される(ステップ701)。ここで、参照結果が「語」単位であると判定されると(ステップ701「語」単位)、こうして記述された「語」に限っての「語空間」宣言が行われる(ステップ705)。
このとき作成されるニモニック列の一例が図10に示されている。先ず、名前空間(Std)に属する「命令」であるMOVが記述される時点で、同図(a)に示されるように、その「命令」についてのみ名前空間宣言文(Std.MOV)が記述され、次に名前空間(CJ)の「命令」であるMOVが記述される時点で、同図(b)に示されるように、その「命令」についてのみ名前空間宣言文(CJ.MOV)が記述される。
なお、その「語」に属する「語空間」を指定するための情報としては(名前空間宣言文:Std.MOV,CJ.MOV)の記述方法はこれに限らず、例えば各「語」と対応する「語空間」との関係を定義する表を設ける等としても良い。
一方、参照結果が「プログラム単位」であると判定されると(ステップ701「プログラム」)、当該作成中のプログラム中に出現する最初の「命令」であることを条件として(ステップ702)、当該プログラム中に「プログラム」単位の「語空間」宣言文(Using Name Apace Std)を記述する処理(ステップ703)が実行されたのち、以降の「命令」の出現により、プログラム単位の宣言文更新が行われないように初回フラグをリセットする(ステップ704)。このようにして「プログラム」単位の「語空間」宣言文が記述された例が、図8(a)に示されている。同図に示されるように、プログラムの先頭には、「プログラム」単位の「語空間」宣言文(Using Name Apace Std)が配置されている。以後、出現する「命令」が異空間で重複しない限り(ステップ702NO、ステップ706NO)、「語空間」宣言文の挿入処理(ステップ703,708〜710)はスキップされ、「プログラム」単位の「語空間」宣言文が更新されることはない。
この状態において、例えばMOV(Std)からMOV(CJ)のように、プログラム中に異空間である「語」の重複ありと判定されると(ステップ706YES)、ただちに「語空間」変更モードの内容が参照される(ステップ707)。
ここで、「語空間」変更モードの内容が「語」単位であると判定されると(ステップ707「語」単位)、「語」単位での「語空間」宣言文挿入処理(ステップ710)が実行される。こうして、「プログラム」単位での「語空間」宣言内容は維持したまま、「語」単位での「語空間」宣言文を挿入した例が、図8(b)に示されている。同図に示されるように、2番目に出現した「命令」MOVの位置には、「語」単位の「語空間」“CJ”の宣言文(CJ.MOV)が記述されている。
これに対して、「語空間」変更モードの内容が「プログラム」単位であると判定されると(ステップ707「プログラム」単位)、「プログラム」単位での「語空間」宣言文の変更処理(ステップ708)、及び既出現「語」の「語空間」宣言文を「プログラム」単位から「語」単位へ変更する処理(ステップ709)が実行される。こうして、「プログラム」単位での「語空間」宣言内容を変更したのち、既出現の「語」について、「語」単位での「語空間」宣言文を「プログラム」単位から「語」単位へ変更したのちの例が、図9(b)に示されている。同図に示されるように、プログラム先頭に配置された「語空間」宣言文は、語空間(Std)から語空間(CJ)に変更され、1番目に出現した「命令」MOVの位置には、「語」単位の「語空間」(Std)の宣言文(Std.MOV)が配置されている。
このように、上述の実施形態によれば、表示領域A3に一覧表示された1又は2以上の「命令」の中から1の語を選択して、表示領域A2にて行われたラダー図表示上の所望位置に配置するためのドラッグ・アンド・ドロップ操作に応じて、選択された1の「命令」を所望位置と関連付けてユーザプログラム中に記述すると共に、その「命令」の属する名前空間(Std,CJ等々)を特定するための情報(名前空間宣言文)を自動的に追加記述する機能が具備されていることから、ユーザーであるプログラマーは、意識して、その「命令」の属する名前空間を特定するための情報(例えば、語空間の宣言文)をプログラム中に記述する操作が不要となる。
加えて、名前空間自体を何等かのメタファてとして提供することにより、名前空間の概念を学習するのではなく、そのメタファとして覚えるだけで、自然に、名前空間の概念を使用できるようになる。メタファの一例としては、IOにおける名前空間のメタファとして装置の構造名をメタファとする、内部補助リレー、データメモリ上のグローバル変数名における名前空間のメタファとして、そのユーザになじみの深いプログラミングツールのセクション名をメタファとする、命令名における名前空間のメタファとして、CPUハードウェア名、アプリケーション名をメタファとして使用する(このCPUハードアウェア名、アプリケーション名は命令カテゴリのトップレベルとして使用される)、等を挙げることができる。
そのため、この実施形態によれば、名前空間の概念を知らない又は不慣れなプログラマーであっても、特に名前空間の概念を意識すること無く、名前空間方式による「語」のグルーピングを使用してユーザプログラムを容易に作成可能となる。
加えて、特にこの実施形態においては、「語空間」宣言モードや「語空間」変更モードを適宜に設定することにより、「プログラム」単位や「語」単位における名前空間宣言を切り替えることで、同一名称の「語」であっても、適宜にその属する「語空間」を限定しつつ、使用する語空間を拡張することができる。
なお、以上の実施形態においては、「語」として「命令」の場合で説明したが、本発明は「変数」や「FB」にも拡張することができることは勿論である。「語」として「変数」を採用した場合の例が、図4に示されている。同図に示されるように、「語」として「変数」を採用する場合には、名前空間のメタファとしては、アプリケーションにおける「加工装置」、「インフィーダ」、「パレタイジング」、「リフタ」、「コンベア」等々のような構造体の階層名称をそのまま使用することができる。
また、名前空間の概念に習熟するにつれて、プログラミングの当初から「命令」名、「変数」名、「FB」名について、名前空間の使用宣言を行うようにすれば、本発明の自動宣言技術と組み合わせることで、より使い勝手のよい装置を構成することができる。この場合には、名前空間の宣言を容易とするために、メモリ12内には、各種のフラグが設けられる。それらのフラグとしては、次のようなものが挙げられる。
・[命令名に関する名前空間の使用宣言について]
フラグF11 Std:(IEC61131−3標準)空間の使用宣言の有無
フラグF12 NX:(OMRON NX命令)空間の使用宣言の有無
フラグF13 CJ(OMRON CJ互換命令)空間の使用宣言の有無
フラグF14 使用した命令の命令カテゴリが自動的に宣言されるの有無
・[「変数」に関する名前空間の使用宣言について]
フラグF21 インフィーダ空間の使用宣言の有無
フラグF22 ソータ空間の使用宣言の有無
フラグF23 加工ハンド空間の使用宣言の有無
フラグF24 全ての「変数」空間を使用するの有無
・[FBに関する名前空間の使用宣言について]
フラグF31 当該プログラム空間の使用宣言の有無
フラグF32 全てのFB名空間の使用宣言の有無
これらのフラグを適宜に操作することで、使い勝手のよいプログラム開発支援装置を実現することができる。フラグF11〜13、フラグF21〜23、フラグF31を予め適宜にセットすることで、それぞれの名前空間を既存設定とすると共に、フラグF14,F24,F32を適宜にセットすることで、本発明の自動空間宣言処理を起動することができる。
この場合、次のような応用例が考えられる。例えば、表示スクリーンS上に図に示される画面を表示すると共に、各項目毎に設けられたチェックボックスをアクティブとして、マウスのクリック操作にて該当するフラグを任意にセット又はリセット可能とする。
この状態において、マウスのクリック操作によりフラグF11(Std)をセットしておけば、図2の画面が表示された状態において、カテゴリ“Std”に属する「命令」であるMOVをキーボード2から「M」「O」「V」としてキー入力すれば、命令MOVはカテゴリStdの命令と認識されてプログラム中に記述される。
また、マウスのクリック操作によりフラグF11(Std)とフラグF13(CJ)との双方をセットしておけば、MOVをキーボード2から「M」「O」「V」としてキー入力すれば、表示スクリーンS上には、カテゴリ“Std”とカテゴリ“CJ”とのいずれのカテゴリを選択するかを問い合わせる画面が表示され、ここでユーザがいずれかを選択することにより、当該命令MOVは選択されたカテゴリの命令と認識されてプログラム中に記述される。
このような応用例によっても、名前空間の概念を知らない又は不慣れなプログラマーであっても、特に名前空間の概念を意識すること無く、名前空間方式による「語」のグルーピングを使用してユーザプログラムを容易に作成可能となる。
本発明によれば、名前空間の概念を知らない又は不慣れなプログラマーであっても、特に名前空間の概念を意識すること無く、名前空間方式による「語」のグルーピングを使用してユーザプログラムを容易に作成することができる。
1 PC本体
2 キーボード
3 ポインティングデバイス
4 画像表示器
5 外部記憶装置
11 CPU
12 メモリ
13 通信インタフェース
S 表示スクリーン
A11 第1のメニュー表示領域
A12 第2のメニュー表示領域
A2 作業用画面表示領域
A3 「語」一覧表示領域

Claims (8)

  1. 所定の表示スクリーンを有する表示手段と、ポインティングデバイスやキーボード等の入力手段とを備え、所望の制御仕様をPLCを用いて実現するためのユーザプログラムを、入出力を特定するための語種である「変数」、入出力に対して加えられる操作内容を特定するための語種である「命令」、任意に定義された機能を特定するための語種である「ファンクションブロック」と言った複数の語種を含むPLC用のプログラム言語を使用して記述する作業を支援するPLCのプログラム開発支援装置であって、
    前記表示手段の表示スクリーン上の第1の表示領域に、前記1の語種に属する1又は2以上の語を、その属する名前空間別に一覧表示させる第1の手段と、
    前記表示手段の表示スクリーン上の第2の表示領域に、前記ユーザプログラムに対応する図式表示を行うための第2の手段と、
    前記第1の表示領域に一覧表示された前記1の語種に属する1又は2以上の語の中から1の語を選択して、前記第2の表示領域にて行われた図式表示上の所望位置に配置するための前記入力手段の所定操作に応じて、前記選択された1の語を前記所望位置と関連付けて前記ユーザプログラム中に記述すると共に、その語の属する名前空間を特定するための「情報」を自動的に追加記述する第3の手段とを含む、ことを特徴とするPLCのプログラム開発支援装置。
  2. 前記「情報」は、そのユーザプログラム中に記述される前記1の語種に属する全ての語に対して適用されるべき名前空間を特定するためのものとして追加記述される、ことを特徴とする請求項1に記載のPLCのプログラム開発支援装置。
  3. 前記「情報」は、当該記述される語に限り適用されるべき名前空間を特定するためのものとして追加記述される、ことを特徴とする請求項1に記載のPLCのプログラム開発支援装置。
  4. 前記「情報」に対応する表示が、前記第2の表示領域にて行われた図式表示上の語シンボルに付加される、ことを特徴とする請求項2又は3に記載のPLCのプログラム開発支援装置。
  5. 所定の表示スクリーンを有する画像表示器と、ポインティングデバイスやキーボード等を有する入力操作部と、半導体メモリ、外部記憶装置、及び演算処理部を含む中央処理装置とを有するコンピュータを、
    所望の制御仕様をPLCを介して実現させるためのユーザプログラムを、入出力を特定するための語種である「変数」、入出力に対して加えられる操作内容を特定するための語種である「命令」、任意に定義された機能を特定するための語種である「ファンクションブロック」と言った複数の語種を含むPLC用のプログラム言語を使用して記述する作業を支援するPLCのプログラム開発支援装置として機能させるためのコンピュータプログラムであって、
    前記画像表示器の表示スクリーン上の第1の表示領域に、前記1の語種に属する1又は2以上の語を、その属する名前空間別に一覧表示させる第1の手段と、
    前記画像表示器の表示スクリーン上の第2の表示領域に、前記ユーザプログラムに対応する図式表示を行うための第2の手段と、
    前記第1の表示領域に一覧表示された前記1の語種に属する1又は2以上の語の中から1の語を選択して、前記第2の表示領域にて行われた図式表示上の所望位置に配置するための前記入力操作部の所定操作に応じて、前記選択された1の語を前記所望位置と関連付けて前記ユーザプログラム中に記述すると共に、その語の属する名前空間を特定するための「情報」を自動的に追加記述する第3の手段とを含む、ことを特徴とするコンピュータプログラム。
  6. 前記「情報」は、そのユーザプログラム中に記述される前記1の語種に属する全ての語に対して適用されるべき名前空間を特定するためのものとして追加記述される、ことを特徴とする請求項5に記載のコンピュータプログラム。
  7. 前記「情報」は、当該挿入される語に限り適用されるべき名前空間を特定するためのものとして追加記述される、ことを特徴とする請求項5に記載のコンピュータプログラム。
  8. 前記「情報」に対応する表示が、前記第2の表示領域にて行われた図式表示上の語シンボルに付加される、ことを特徴とする請求項6又は7に記載のコンピュータプログラム。
JP2010058516A 2010-03-15 2010-03-15 Plcのプログラム開発支援装置及びコンピュータを当該装置として機能させるためのコンピュータプログラム Active JP5483011B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010058516A JP5483011B2 (ja) 2010-03-15 2010-03-15 Plcのプログラム開発支援装置及びコンピュータを当該装置として機能させるためのコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010058516A JP5483011B2 (ja) 2010-03-15 2010-03-15 Plcのプログラム開発支援装置及びコンピュータを当該装置として機能させるためのコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2011192088A JP2011192088A (ja) 2011-09-29
JP5483011B2 true JP5483011B2 (ja) 2014-05-07

Family

ID=44796913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010058516A Active JP5483011B2 (ja) 2010-03-15 2010-03-15 Plcのプログラム開発支援装置及びコンピュータを当該装置として機能させるためのコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP5483011B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5785501B2 (ja) 2012-01-12 2015-09-30 横河電機株式会社 ラダープログラム作成装置
JP6922431B2 (ja) 2017-05-31 2021-08-18 オムロン株式会社 プログラム開発支援装置、プログラム開発支援方法、および、プログラム開発支援プログラム
JP6954191B2 (ja) 2018-03-12 2021-10-27 オムロン株式会社 制御システム、開発支援装置、および開発支援プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4725747B2 (ja) * 2007-04-27 2011-07-13 オムロン株式会社 Plcの制御プログラム開発支援装置

Also Published As

Publication number Publication date
JP2011192088A (ja) 2011-09-29

Similar Documents

Publication Publication Date Title
Zanden et al. Automatic, look-and-feel independent dialog creation for graphical user interfaces
KR101362605B1 (ko) 3d 객체의 공간 경계를 사용한 온톨로지컬 필터링
US6836878B1 (en) Visual programming from a tree structure
KR100320972B1 (ko) 링크맵을생성하기위한데이터처리시스템및방법
US9535667B2 (en) Content collapse outside of selection
JP2005056028A (ja) ナビゲーション生成装置、情報管理装置、ナビゲーション生成方法、サイト構造管理方法、プログラム、およびサイト構造データ
JP6372308B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム、および記録媒体
CN112639791A (zh) 用于图形设计的多视图母版
US20170351646A1 (en) User Interface with Movable Mini-Tabs
US7590933B2 (en) Method for displaying an annotated file
JP6079817B2 (ja) ラダープログラム作成装置、コンピュータープログラム及びラダープログラム作成方法
JP2004118550A (ja) テキスト編集装置及びプログラム
JP5483011B2 (ja) Plcのプログラム開発支援装置及びコンピュータを当該装置として機能させるためのコンピュータプログラム
JP3847585B2 (ja) エディタの登録装置、登録プログラムおよびそれを記録した記録媒体
JP4516224B2 (ja) ラダー図作成プログラム
JP2007193425A (ja) 画面データ作成装置、画面データの編集方法及び画面データ編集プログラム
JP5084702B2 (ja) 解析データ入力装置、cae装置、解析データ入力方法、及びプログラム
JPH11175326A (ja) エディタ装置及びエディタプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2004240593A (ja) 処理装置及び表示方法並びにプログラム製品
JP5296724B2 (ja) 画面表示データ編集装置及び画面表示データ編集プログラム
JP3195321B2 (ja) エディタ装置およびエディタプログラムを記録した記録媒体
JPH0954688A (ja) Gui設計支援方法
JPH10333896A (ja) テーブルリファレンス方法および装置
JP2007025813A (ja) 情報処理装置
JP2007280093A (ja) 画面データ作成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130522

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130722

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140204

R150 Certificate of patent or registration of utility model

Ref document number: 5483011

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150