JP7241982B1 - 画像生成プログラム、画像生成装置、プログラマブルコントローラシステム及び画像生成方法 - Google Patents

画像生成プログラム、画像生成装置、プログラマブルコントローラシステム及び画像生成方法 Download PDF

Info

Publication number
JP7241982B1
JP7241982B1 JP2022547160A JP2022547160A JP7241982B1 JP 7241982 B1 JP7241982 B1 JP 7241982B1 JP 2022547160 A JP2022547160 A JP 2022547160A JP 2022547160 A JP2022547160 A JP 2022547160A JP 7241982 B1 JP7241982 B1 JP 7241982B1
Authority
JP
Japan
Prior art keywords
function block
configuration information
state image
image
function
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
JP2022547160A
Other languages
English (en)
Other versions
JPWO2023157091A1 (ja
JPWO2023157091A5 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP7241982B1 publication Critical patent/JP7241982B1/ja
Publication of JPWO2023157091A1 publication Critical patent/JPWO2023157091A1/ja
Publication of JPWO2023157091A5 publication Critical patent/JPWO2023157091A5/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

プログラムは、画像生成装置(10)を、取得部(11)及び生成部(13)として機能させる。取得部(11)は、PLC(20)を動作させるための動作プログラムにおいて記述されるルーチンに相当するファンクションブロックを示すFB情報(121)を取得し、ファンクションブロックの機能が用いられる際のファンクションブロックに関するパラメータの状態を示す状態画像の構成を規定する、ファンクションブロックについて個別に定められた個別構成情報(122)を取得する。生成部(13)は、ファンクションブロックを機能させるときの状態画像を個別構成情報(121)に基づいて生成してUI部(14)に出力する。

Description

本開示は、画像生成プログラム、画像生成装置、プログラマブルコントローラシステム及び画像生成方法に関する。
工場に代表されるFA(Factory Automation)の現場では、予め作成した動作プログラムに従ってプログラマブルコントローラを動作させることにより多数の機器が制御される。動作プログラムを効率的に記述するために、いわゆるルーチンに相当するファンクションブロックが利用される。ファンクションブロックが配布されれば、多くのユーザがコーディング作業をすることなくファンクションブロックの機能を利用することができる。例えば、制御対象の機器のメーカーから当該機器に関するファンクションブロックが現場のユーザに提供される。
動作プログラムを現場で作成するために、ファンクションブロックの機能を試験的に発揮させて、ファンクションブロックに関するパラメータの状態を観察したいという要望がある。そこで、プログラムの一部に相当するファンクションブロックについて部分シミュレーションを行う技術を適用することが考えられる(例えば、特許文献1を参照)。
特開2021-082034号公報
しかしながら、特許文献1の技術では、部分シミュレーションの経過或いは結果を観察するためにユーザに対して提示される画面をどのように構成するかという点については何ら考察されていない。このため、部分シミュレーションを実行する装置に予め実装されたユーザインタフェースが、ファンクションブロックの機能を観察するユーザに提供されることとなる。ここで、種々のファンクションブロックについて共通の仕様に従うユーザインタフェースが実装される場合には、効率的に設計及び実装することができるが、ユーザの使い勝手が悪くなってしまう。一方、ファンクションブロック毎に異なる仕様で詳細にユーザインタフェースを設計及び実装すると、ユーザの使い勝手はよくなるが多くの工数がかかってしまう。このため、ファンクションブロックの機能を観察するためのユーザインタフェースに関し、ユーザの使い勝手と設計及び実装の作業負担の軽減とを両立させる余地がある。
本開示は、上記の事情に鑑みてなされたものであり、ファンクションブロックの機能を観察するためのユーザインタフェースに関し、ユーザの使い勝手と設計及び実装の作業負担の軽減とを両立させることを目的とする。
上記目的を達成するため、本開示の画像生成プログラムは、コンピュータを、プログラマブルコントローラを動作させるための動作プログラムにおいて記述されるルーチンに相当するファンクションブロックを示すファンクションブロック情報を取得し、ファンクションブロックの機能が用いられる際のファンクションブロックに関するパラメータの状態を示す状態画像の構成を規定する、ファンクションブロックについて個別に定められた個別構成情報であって、ユーザによって入力される個別構成情報を取得する取得手段、ファンクションブロックを機能させるときの状態画像を含むウィンドウを、個別構成情報に基づいて生成して表示装置に出力する生成手段、として機能させる。
本開示によれば、取得手段が、状態画像の構成を規定する、ファンクションブロックについて個別に定められた個別構成情報を取得し、生成手段が、状態画像を個別構成情報に基づいて生成する。このため、種々のファンクションブロックに対応するユーザインタフェースをそれぞれ一から設計及び実装することなく、個別構成情報を作成すれば、使い勝手のよいユーザインタフェースが提供されることとなる。したがって、ファンクションブロックの機能を観察するためのユーザインタフェースに関し、ユーザの使い勝手と設計及び実装の作業負担の軽減とを両立させることができる。
実施の形態1に係る画像生成装置の機能的な構成を示す図 実施の形態1に係る画像生成装置のハードウェア構成を示す図 実施の形態1に係るファンクションブロックの一例を示す図 実施の形態1に係る個別構成情報に基づいて生成される状態画像を示す図 実施の形態1に係る個別構成情報の一例を示す図 実施の形態1に係る共通構成情報の一例を示す図 実施の形態1に係る共通構成情報に基づいて生成される状態画像を示す図 実施の形態1に係る画像生成処理を示すフローチャート 実施の形態1に係る個別構成情報及び共通構成情報に基づいて生成される状態画像を示す図 実施の形態2に係る個別構成情報の一例を示す図 実施の形態3に係る個別構成情報及び優先度を有する複数の共通構成情報を示す図
以下、本開示の実施の形態に係る画像生成装置10について、図面を参照しつつ詳細に説明する。
実施の形態1.
本実施の形態に係る画像生成装置10は、図1に示されるように、機器21を制御するPLC(Programmable Logic Controller)20とともに、プログラマブルコントローラシステム100を構成する。プログラマブルコントローラシステム100は、PLC20の動作内容を管理するためのFA(Factory Automation)システムである。
PLC20は、プログラマブルコントローラの一例に相当する制御装置である。PLC20は、画像生成装置10から提供される動作プログラムに従って一又は複数の機器21を制御して、生産ラインに代表される種々の工程を実現する。動作プログラムは、プログラマブルコントローラを動作させるためのプログラムの一例に相当する。例えば、PLC20は、動作プログラムの一種であるラダープログラムに従って、センサである機器21によるセンシング結果に基づいてロボットアームを有する機器21を制御することにより、ベルトコンベア上におけるワークの流れを制御する。なお、図1では1台のPLC20が代表的に示されているが、複数のPLC20が協調して一又は複数の機器21を制御してもよい。
PLC20及び機器21は、電圧信号又は電流信号を伝送する信号線、シリアルデータを伝送する通信線、又は、産業用ネットワークを介して接続される。PLC20は、USB(Universal Serial Bus)ケーブルに代表される通信線又はLAN(Local Area Network)を介して画像生成装置10に接続される。
画像生成装置10は、産業用PC(Personal Computer)に代表されるコンピュータであって、PLC20を管理するための端末に相当する。画像生成装置10は、エンジニアリングツールと呼ばれるソフトウェアを実行することにより、PLC20に実行させる動作プログラムの内容の編集、作成した動作プログラムのPLC20への書き込み、及び、PLC20のメモリに格納されているデータの読み出しを行う。また、画像生成装置10は、動作プログラムに含まれるルーチンに相当するファンクションブロックを実際に機能させてPLC20の試運転を実行したときの当該ファンクションブロックの状態を示す状態画像を生成して、当該状態画像を含む試運転画面をユーザに提示する。
図2には、画像生成装置10のハードウェア構成が示されている。画像生成装置10は、図2に示されるように、プロセッサ31と、主記憶部32と、補助記憶部33と、入力部34と、出力部35と、通信部36と、を有する。主記憶部32、補助記憶部33、入力部34、出力部35及び通信部36はいずれも、内部バス37を介してプロセッサ31に接続される。
プロセッサ31は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)を含む。プロセッサ31は、補助記憶部33に記憶されるプログラムP1を実行することにより後述の機能を発揮する。プログラムP1は、画像生成装置10に種々の機能を発揮させる画像生成プログラムの一例に相当する。
主記憶部32は、RAM(Random Access Memory)を含む。主記憶部32には、補助記憶部33からプログラムP1がロードされる。そして、主記憶部32は、プロセッサ31の作業領域として用いられる。
補助記憶部33は、EEPROM(Electrically Erasable Programmable Read-Only Memory)に代表される不揮発性メモリを含む。補助記憶部33は、プログラムP1の他に、プロセッサ31の処理に用いられる種々のデータを記憶する。補助記憶部33は、プロセッサ31の指示に従って、プロセッサ31によって利用されるデータをプロセッサ31に供給し、プロセッサ31から供給されたデータを記憶する。
入力部34は、キーボードに代表される入力デバイスを含む。入力部34は、画像生成装置10のユーザによって入力された情報を取得して、取得した情報をプロセッサ31に通知する。
出力部35は、LCD(Liquid Crystal Display)に代表される出力デバイスを含む。出力部35は、プロセッサ31の指示に従って種々の情報をユーザに提示する。
通信部36は、外部の装置と通信するための通信インタフェース回路を含む。通信部36は、外部から信号を受信して、この信号により示される情報をプロセッサ31へ通知する。また、通信部36は、プロセッサ31から出力された情報を示す信号を外部の装置へ送信する。
画像生成装置10は、上述のハードウェア構成が協働することにより、実行されているファンクションブロックの状態をユーザに提示する状態画像を生成するための機能を発揮する。詳細には、画像生成装置10は、図1に示されるように、その機能として、FB情報121、個別構成情報122及び共通構成情報123を取得して記憶部12に格納する取得部11と、取得部11から提供される情報を記憶する記憶部12と、記憶部12に記憶されている情報を用いてファンクションブロックの状態画像を生成する生成部13と、状態画像を含む試運転画面をユーザに提示するUI(User Interface)部14と、UI部14に入力されたユーザの操作に従って試運転の指示をPLC20に送信する指示部15と、を有する。
取得部11は、主としてプロセッサ31及び入力部34の協働によって実現される。取得部11は、ユーザによって入力されたFB情報121、個別構成情報122及び共通構成情報123を取得する。
FB情報121は、ファンクションブロックを示すファンクションブロック情報の一例に相当する。ファンクションブロックは、いわゆるルーチン、すなわち複数の命令の集合に相当する再利用可能なプログラム部品であって、その内部で変数の保持が可能であることを特徴とする。ファンクションブロックは、入力されたデータに対して、変数を利用して予め定められた処理を施した結果を出力する。FB情報121は、ファンクションブロックに入力されるデータの種別、当該データに施される処理、及び、処理結果としてファンクションブロックから出力されるデータの種別それぞれを示す。ただし、ファンクションブロックは、変数を利用することなく処理結果を出力してもよい。
図3には、「MCv_AllPower」という名称のファンクションブロック40が例示されている。このファンクションブロック40は、サーボアンプである機器21を扱うためのファンクションブロックである。ファンクションブロック40の入力は、制御対象である軸を示す「Axis」、ファンクションブロック40の機能を有効化するか否かを示すビット値の「Enable」、及び、サーボアンプをオン状態にするか否かを示すビット値の「ServoON」を含む。
また、ファンクションブロック40の出力は、入力された「Axis」と同等の「Axis」、ファンクションブロックが動作中であるか否かを示すビット値の「Busy」、ファンクションブロック40内でエラーが生じているか否かを示すビット値の「Error」、及び、エラーが生じたときのエラー種別を示す符号無しワード型の「ErrorID」を含む。図3中の「DUT」は、構造体を意味し、「B」はビット値であることを示し、「UW」はUnsigned Wordを意味する。
図3からわかるように、ファンクションブロック40の状態は、ファンクションブロック40に関するパラメータの値によって示される。このパラメータは、入力されるデータとしての引数、及び、出力されるデータとしての戻り値を含む。また、パラメータは、入力から出力を得るための処理において用いられる中間パラメータを含んでもよい。以下では、ファンクションブロックの入力に相当するパラメータを入力引数と表記し、出力に相当するパラメータを出力引数と表記することがある。また、これらのパラメータを引数と表記することがある。
図1に戻り、個別構成情報122は、ファンクションブロックについて個別に予め定められた、当該ファンクションブロックの状態画像の構成を規定する情報である。共通構成情報123は、複数のファンクションブロックに共通して予め定められた、状態画像の構成を規定する情報である。個別構成情報122及び共通構成情報123の詳細については、後述する。
なお、取得部11が、FB情報121、個別構成情報122及び共通構成情報123を取得する形態は任意に変更してもよい。例えば、取得部11は、機器21のメーカーから提供されるFB情報121、個別構成情報122及び共通構成情報123の一部又は全部をネットワーク上のサーバ装置からダウンロードすることにより取得してもよい。これらの情報がダウンロードにより取得される場合には、取得部11は、通信部36によって実現される。また、取得部11は、FB情報121、個別構成情報122及び共通構成情報123の一部又は全部を、DVD(Digital Versatile Disk)及びメモリカードに代表される記録媒体から読み出すことにより取得してもよい。さらに、販売される機器21にFB情報121、個別構成情報122及び共通構成情報123が同梱されていてもよいし、プログラムP1にこれらの情報が同梱されて販売されてもよい。取得部11は、ファンクションブロック情報、個別構成情報及び共通構成情報を取得する取得手段の一例に相当する。
記憶部12は、主として主記憶部32及び補助記憶部33の少なくとも一方によって実現される。記憶部12は、取得部11によって格納されたFB情報121、個別構成情報122及び共通構成情報123を保存して、生成部13の要求に応じてこれらの情報を提供する。FB情報121は、複数のファンクションブロックそれぞれについて規定された情報であって、記憶部12は、互いに異なるファンクションブロックをそれぞれ示す複数のFB情報121を記憶する。同様に、個別構成情報122は、複数のファンクションブロックそれぞれについて個別に定められた情報であって、記憶部12は、複数の個別構成情報122を記憶する。ただし、一部のファンクションブロックについては個別構成情報122が規定されておらず、そのような対応する個別構成情報122が無いファンクションブロックのFB情報121が記憶部12には格納され得る。共通構成情報123は、複数のファンクションブロックに共通するため、記憶部12は、単一の共通構成情報123を記憶する。
生成部13は、主としてプロセッサ31によって実現される。生成部13は、特定のファンクションブロックのユーザによる選択を受けたUI部14からの要求に応じて、記憶部12の情報を参照することにより、当該ファンクションブロックのパラメータの状態を示す状態画像を生成する。詳細には、生成部13は、選択されたファンクションブロックを示すFB情報121を記憶部12から読み出して、当該ファンクションブロックの個別構成情報122が記憶部12に格納されている場合には、その個別構成情報122を読み出し、個別構成情報122が記憶部12に格納されていない場合には、個別構成情報122に代えて共通構成情報123を読み出す。生成部13は、ファンクションブロックを機能させるときの状態画像を個別構成情報に基づいて生成して表示装置に出力する状態画像を生成する生成手段の一例に相当する。
図4には、生成部13によって生成される状態画像の一例に相当するウィンドウ400が例示されている。このウィンドウ400は、ファンクションブロックを選択するためのコンボボックス401、軸を選択するためのコンボボックス402、ボタン403,404、及び、パラメータの状態を示す表示部405,406,407を有する。コンボボックス402の選択肢は、図3に示されたファンクションブロック40の「Axis」に対応し、ボタン403,404はそれぞれ、ファンクションブロック40の入力引数である「Enable」及び「ServoON」に対応し、表示部405,406,407はそれぞれ、ファンクションブロック40の出力引数である「Busy」、「Error」及び「ErrorID」に対応する。状態画像は、ファンクションブロックの機能が用いられる際のファンクションブロックに関するパラメータの状態を示す画像の一例に相当する。
図4のようなウィンドウ400は、図5に例示される個別構成情報122に基づいて生成される。この個別構成情報122は、ウィンドウ400に含まれる画像要素の配置を規定する情報であって、エリアの領域を規定する行と、エリア内への画像要素の配置を規定する行と、を含む。例えば、行501は、「FB選択コンボボックスエリア」という名称のエリアを、ウィンドウ400の左上の端点を原点として、下方向に10ピクセル及び右方向に10ピクセルの点と、下方向に40ピクセル及び右方向に320ピクセルの点と、で定まる矩形の領域とすることを示している。なお、FBは、ファンクションブロックを意味する。以下の行502では、行501と同様に矩形の領域が規定されている。
また、行503は、「FB選択コンボボックスエリア」内の左側に「FB選択」という文字列を表示することを示し、行504は、「FB選択コンボボックスエリア」内の中央に、「GetFBs()」という関数の戻り値として得る配列の要素を選択肢として含むコンボボックスを表示することを示している。行505は、「ボタンエリア」内の左側に、ファンクションブロック40の入力引数である「Enable」のビット値に対応させて「有効」又は「停止」を入力するためのボタンを表示することを示す。行506は、「ランプエリア」内の左側に、ファンクションブロック40の出力引数である「Busy」のビット値に対応させて、赤色又は緑色のランプと、「実行中」又は「停止中」の文字列と、を表示することを示している。以上のように、個別構成情報122は、文字列、コンボボックス、ボタン、ランプのような画像要素の配置を規定している。また、配置される複数の画像要素のうちの少なくとも一部は、ファンクションブロックの入力引数又は出力引数に対応しており、その値によって画像要素の表示形態が変更される。ここで、画像要素の表示形態は、文字列を構成する文字、及び、色を意味するが、これには限定されない。
図6には、共通構成情報123の一例が示されている。この共通構成情報123は、個別構成情報122と同様の形式で記述される。ただし、共通構成情報123では、複数のファンクションブロックに含まれる異なるパラメータに対応させて、画像要素の配置が規定される。換言すると、共通構成情報123では、共通構成情報123に対応する複数のファンクションブロックのうちの特定のファンクションブロックに限って用いられる引数が直接的に参照されることはなく、一般化した参照表現が用いられる。例えば、図6中の行601は、「入力引数テーブルエリア」内にデータ型がBoolean型の入力引数をすべて配置することが示されている。これにより、図7に示されるようなウィンドウ600が状態画像として生成される。このウィンドウ600は、ファンクションブロックの入力引数の一覧を示すテーブル602を画像要素として含む。
図1に戻り、UI部14は、主として入力部34及び出力部35の協働により実現される。UI部14は、生成部13によって生成された状態画像を含む画面をユーザに提示して、当該画面を利用して入力されるユーザの操作を受け付ける。例えば、UI部14は、図4中のボタン403,404の押下又はタップによる選択操作を受け付ける。そして、UI部14は、受け付けた操作を指示部15に通知することにより、この操作をPLC20に反映させる。すなわち、UI部14は、ファンクションブロックに従ってPLC20を試運転する際におけるユーザの入出力インタフェースとして機能する。UI部14は、生成部13から出力された状態画像を表示する表示装置の一例に相当する。
指示部15は、主としてプロセッサ31及び通信部36の協働により実現される。指示部15は、UI部14から通知されたユーザ操作に従ってPLC20を動作させる。ここで、ユーザ操作は、ファンクションブロックの機能を試験的にPLCに実行させることを意味するため、指示部15からPLC20への指示は、単一のファンクションブロックに等しい動作プログラムをPLC20に書き込んで当該動作プログラムをPLC20に実行させる指示ともいえる。ただし、ファンクションブロックの入力引数としては、状態画像を用いてユーザによって指定された値が採用される。
そして、指示部15は、PLC20がファンクションブロックを実行した際の当該ファンクションブロックに関するパラメータを、PLC20のメモリから読み出して、生成部13に出力する。指示部15から出力されたパラメータの値を得た生成部13は、この値を用いて、状態画像を更新してUI部14に出力することにより、ユーザに対して提示される状態画像を更新する。指示部15は、ファンクションブロックに従って動作することをプログラマブルコントローラに指示する指示手段の一例に相当する。
続いて、画像生成装置10において実行される画像生成処理の手順について、図8を参照して説明する。画像生成処理は、画像生成装置によって実行される画像生成方法の一例に相当する。なお、画像生成処理は、図8に示される手順に限定されず、ファンクションブロックの状態を示す状態画像がユーザに提示されれば、実行すべきステップ及びステップの順序を任意に変更してもよい。
画像生成処理では、取得部11が、FB情報を取得し(ステップS1)、個別構成情報及び共通構成情報を取得する(ステップS2)。具体的には、取得部11が、ユーザから指定されたアドレスにより示されるサーバ装置又は記録媒体の領域から、これらの情報を読み出す。
次に、生成部13は、PLC20にファンクションブロックを実行させるための試運転操作がユーザによって入力されたか否かを判定する(ステップS3)。試運転操作が入力されていないと判定された場合(ステップS3;No)、ステップS3の判定が繰り返される。
一方、試運転操作が入力されたと判定された場合(ステップS3;Yes)、生成部13は、試運転操作において指定されたファンクションブロックに対応する個別構成情報122が記憶部12に格納されているか否かを判定する(ステップS4)。個別構成情報122が記憶部12に格納されていないと判定された場合(ステップS4;No)、生成部13は、ステップS3の試運転操作において指定されたファンクションブロックに対応するFB情報121からファンクションブロックの引数の情報を抽出し、抽出した引数の情報、及び、共通構成情報123に基づいて状態画像を生成する(ステップS5)。これにより、図7に示されたようなウィンドウ600が生成される。
一方、個別構成情報122が記憶部12に格納されていると判定された場合(ステップS4;Yes)、生成部13は、共通構成情報123により状態画像において示される情報が、個別構成情報122により状態画像において示される情報より多いか否かを判定する(ステップS6)。具体的には、ステップS3の試運転操作において指定されたファンクションブロックに関して、共通構成情報123において参照されるパラメータの数が、個別構成情報122において参照されるパラメータの数より多いか否かを、生成部13が判定する。
ステップS6の判定が否定される場合(ステップS6;No)、生成部13は、ステップS5と同様にFB情報121から抽出した引数の情報、及び、個別構成情報122に基づいて状態画像を生成する(ステップS7)。これにより、図4に示されたようなウィンドウ400が生成される。
一方、ステップS6の判定が肯定される場合(ステップS6;Yes)、生成部13は、ステップS5と同様にFB情報121から抽出した引数の情報、個別構成情報122及び共通構成情報123に基づいて状態画像を生成する(ステップS8)。具体的には、生成部13は、個別構成情報122に基づいて一時的に生成した状態画像に対して、個別構成情報122において参照されないが共通構成情報123においては参照されるパラメータに関する画像要素を含むレイアウトを追加することで、表示すべき状態画像を生成する。これにより、例えば、図3のファンクションブロック40と同様の出力引数を有する「MCv_FB2」という名称のファンクションブロックについて、図9に示されるように、「Busy」及び「Error」という出力引数に対応する画像要素ついては個別構成情報122に基づいて配置されるとともに、「ErrorID」という出力引数に対応する画像要素については共通構成情報123に基づいて配置されたウィンドウ900が状態画像として生成される。
ステップS5,S7,S8に続いて、画像生成装置10は、ファンクションブロックの実行指示をPLC20に送信してPLC20の試運転を行うとともに状態画像をユーザに表示する(ステップS9)。具体的には、UI部14によって表示された状態画像を用いて入力されたユーザからの指示を、指示部15がPLC20に送信することでPLC20を動作させつつ、生成部13が、PLC20の動作結果を状態画像に反映させる。
その後、画像生成処理が終了する。画像生成処理が終了するタイミングは、ユーザによる停止指示が入力されたタイミングであってもよいし、予め定められた長さの時間の経過であってもよいし、その他の任意のタイミングであってもよい。
以上、説明したように、取得部11が、状態画像の構成を規定する個別構成情報122を取得し、生成部13が、状態画像を個別構成情報122に基づいて生成する。このため、種々のファンクションブロックに対応するユーザインタフェースをそれぞれ一から設計及び実装することなく、個別構成情報を作成すれば、使い勝手のよいユーザインタフェースが提供されることとなる。したがって、ファンクションブロックの機能を観察するためのユーザインタフェースに関し、ユーザにとって好適な使い勝手と設計及び実装の作業負担の軽減とを両立させることができる。
また、ファンクションブロックに対応する個別構成情報122が無い場合に、生成部13は、共通構成情報123に基づいて状態画像を生成する。このため、すべてのファンクションブロックについて個別構成情報122を作成し、ユーザに配布する必要はない。したがって、個別構成情報122を作成する作成者の作業負担を軽減するとともに、ユーザが多数の個別構成情報122を管理する必要が無くなる。ここで、対応する個別構成情報122が記憶部12に格納されているファンクションブロックは、第1ファンクションブロックの一例に相当し、対応する個別構成情報122が記憶部12に格納されていないファンクションブロックは、第2ファンクションブロックの一例に相当する。生成部13は、第1ファンクションブロックを機能させるときの状態画像を個別構成情報に基づいて生成し、第1ファンクションブロックとは異なる第2ファンクションブロックを機能させるときの状態画像を共通構成情報に基づいて生成して表示装置に出力する生成手段の一例に相当する。
また、個別構成情報122に基づいて表示される情報が不足する場合には、不足した情報が画像要素として共通構成情報123に基づいて配置された状態画像が生成される。したがって、特に重要なパラメータについて個別構成情報122を作成すればよいため、個別構成情報122の作成者の負担を軽減することができる。ここで、個別構成情報122において参照されるパラメータは、第1パラメータの一例に相当し、個別構成情報122において参照されないが共通構成情報123において参照されるパラメータは、第2パラメータの一例に相当する。生成部13は、第1ファンクションブロックについて共通構成情報に従って構成される状態画像により状態が示されるパラメータが、第1ファンクションブロックについて個別構成情報に従って構成される状態画像により状態が示される第1パラメータと、該第1パラメータとは異なる第2パラメータと、を含む場合に、個別構成情報に基づいて第1パラメータの状態を示し、共通構成情報に基づいて第2パラメータの状態を示す状態画像を生成する生成手段の一例に相当する。
また、個別構成情報122及び共通構成情報123は、状態画像に含まれる複数の画像要素の配置を規定する。これにより、ユーザに対して提示される情報を直接的に構成することができる。
また、状態画像を用いて、ファンクションブロックに従ってPLC20の試運転が実行される。これにより、現場のユーザが、ファンクションブロックの機能が発揮された結果としてのPLC20の動作を容易に観察することができる。
実施の形態2.
続いて、実施の形態2について、上述の実施の形態1との相違点を中心に説明する。なお、上記実施の形態1と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。本実施の形態は、個別構成情報122が、図10に示されるように、新たな画像要素を示す要素情報を含む点で、実施の形態1と異なっている。
図10の個別構成情報122は、「Busy」という出力引数の値に応じて、「image01.jpg」という名称の画像、又は「image02.jpg」という名称の画像を表示することを示す行1001,1002を含むとともに、これらの名称で特定される画像ファイルを要素情報として含んでいる。この個別構成情報122に基づいて生成される状態画像は、「image01.jpg」又は「image02.jpg」のうちのいずれかの画像を含むこととなる。
以上、説明したように、個別構成情報122が新たな画像要素を示す要素情報を含むため、生成部13によって生成される状態画像には、新たな画像要素が配置される。これにより、状態画像を柔軟に設計することが可能となる。
実施の形態3.
続いて、実施の形態3について、上述の実施の形態1との相違点を中心に説明する。なお、上記実施の形態1と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。本実施の形態は、優先度を有する複数の共通構成情報123を用いて状態画像が生成される点で、実施の形態1と異なっている。
図11には、記憶部12に格納される個別構成情報122、優先度が「1」である第1共通構成情報123a、優先度が「2」である第2共通構成情報123b、及び、優先度が「3」である第3共通構成情報123cが例示されている。優先度は、優先される度合いを示し、優先度の値が大きい共通構成情報123が、優先度の値が小さい共通構成情報123より優先して用いられる。
生成部13は、個別構成情報122に基づいて状態画像を生成する。ただし、個別構成情報122に基づく状態画像では表示されるパラメータが不足する場合には、生成部13は、優先度が高い共通構成情報123から順に参照してそのようなパラメータを表示する状態画像の生成を試みる。また、状態画像により状態が表示されるファンクションブロックに対応する個別構成情報122が無い場合には、生成部13は、優先度が高い共通構成情報123から順に参照して、当該ファンクションブロックのパラメータを表示する状態画像を生成する。
ここで、共通構成情報123は、複数のファンクションブロックについて定められた情報であるが、特定のグループのファンクションブロックについて定められてもよい。例えば、第3共通構成情報123cは、特定の製造年の機器を扱うファンクションブロックに対応し、第2共通構成情報123bは、型番を表す文字列が「AB」から始まるグループの機器を扱うファンクションブロックに対応し、第1共通構成情報123aは、特定の機器メーカーの機器を扱うファンクションブロックに対応してもよい。
以上、説明したように、優先度を有する複数の共通構成情報が、優先度に従って優先的に採用されることで状態画像が生成されれば、より柔軟に状態画像の構成を設計することができる。
なお、優先度が明示的に規定されていなくともよい。例えば、プログラミング言語におけるクラスの継承と同様に、共通構成情報123を他の共通構成情報123に継承させることで、優先順位が規定されてもよい。
以上、本開示の実施の形態について説明したが、本開示は上記実施の形態によって限定されるものではない。
例えば、個別構成情報122及び共通構成情報123を記述する手法は、任意に変更してもよい。例えば、これらの情報は、XML(eXtensible Markup Language)に従って記述されてもよい。
また、単一のファンクションブロックに等しい動作プログラムをPLC20に実行させる例について説明したが、これには限定されない。指示部15は、ユーザからの指示に従って、状態画像に状態が表示されるファンクションブロックと、他のソースコードと、を含む動作プログラムをPLC20に実行させてもよい。
また、共通構成情報123は、任意のファンクションブロックについて状態画像を生成するために、動作プログラムにおいて用いられ得るすべての種類のデータ型のパラメータに対応する画像要素の配置を規定してもよい。
また、画像生成装置10は、状態画像を生成する表示装置としてのUI部14を有したが、外部の表示装置に状態画像を出力してもよい。
また、画像生成装置10は、ファンクションブロックの機能をPLC20に反映して試運転を行う際の状態画像を生成したが、これには限定されない。例えば、画像生成装置10は、PLC20を実際に動作させることなく、ファンクションブロックの機能のシミュレーションを実行したときの状態画像を生成してもよい。
また、画像生成装置10の機能は、専用のハードウェアによっても、また、通常のコンピュータシステムによっても実現することができる。
例えば、プロセッサ31によって実行されるプログラムP1を、コンピュータ読み取り可能な非一時的な記録媒体に格納して配布し、そのプログラムP1をコンピュータにインストールすることにより、上述の処理を実行する装置を構成することができる。このような記録媒体としては、例えばフレキシブルディスク、CD-ROM(Compact Disc Read-Only Memory)、DVD、MO(Magneto-Optical Disc)が考えられる。
また、プログラムP1をインターネットに代表される通信ネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロードするようにしてもよい。
また、通信ネットワークを介してプログラムP1を転送しながら起動実行することによっても、上述の処理を達成することができる。
さらに、プログラムP1の全部又は一部をサーバ装置上で実行させ、その処理に関する情報をコンピュータが通信ネットワークを介して送受信しながらプログラムを実行することによっても、上述の処理を達成することができる。
なお、上述の機能を、OS(Operating System)が分担して実現する場合又はOSとアプリケーションとの協働により実現する場合には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロードしてもよい。
また、画像生成装置10の機能を実現する手段は、ソフトウェアに限られず、その一部又は全部を、回路を含む専用のハードウェアによって実現してもよい。
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
本開示は、プログラマブルコントローラに実行させる動作プログラムの開発に適している。
100 プログラマブルコントローラシステム、 10 画像生成装置、 11 取得部 12 記憶部、 121 FB情報、 122 個別構成情報、 123 共通構成情報、 123a 第1共通構成情報、 123b 第2共通構成情報、 123c 第3共通構成情報、 13 生成部、 14 UI部、 15 指示部、 20 PLC、 21 機器、 31 プロセッサ、 32 主記憶部、 33 補助記憶部、 34 入力部、 35 出力部、 36 通信部、 37 内部バス、 40 ファンクションブロック、 400,600,900 ウィンドウ、 401,402 コンボボックス、 403,404 ボタン、 405~407 表示部、 501~506,601 行、 602 テーブル、 P1 プログラム。

Claims (12)

  1. コンピュータを、
    プログラマブルコントローラを動作させるための動作プログラムにおいて記述されるルーチンに相当するファンクションブロックを示すファンクションブロック情報を取得し、前記ファンクションブロックの機能が用いられる際の前記ファンクションブロックに関するパラメータの状態を示す状態画像の構成を規定する、前記ファンクションブロックについて個別に定められた個別構成情報であって、ユーザによって入力される前記個別構成情報を取得する取得手段、
    前記ファンクションブロックを機能させるときの前記状態画像を含むウィンドウを、前記個別構成情報に基づいて生成して表示装置に出力する生成手段、
    として機能させるための画像生成プログラム。
  2. コンピュータを、
    プログラマブルコントローラを動作させるための動作プログラムにおいて記述されるルーチンに相当するファンクションブロックを示すファンクションブロック情報を取得し、前記ファンクションブロックの機能が用いられる際の前記ファンクションブロックに関するパラメータの状態を示す状態画像の構成を規定する、前記ファンクションブロックについて個別に定められた個別構成情報を取得する取得手段、
    前記ファンクションブロックを機能させるときの前記状態画像を前記個別構成情報に基づいて生成して表示装置に出力する生成手段、として機能させ、
    前記取得手段は、互いに異なる前記ファンクションブロックをそれぞれ示す複数の前記ファンクションブロック情報と、複数の前記ファンクションブロックのうちの第1ファンクションブロックについて定められた前記個別構成情報と、前記状態画像の構成を規定する、複数の前記ファンクションブロックに共通する共通構成情報と、を取得し、
    前記生成手段は、前記第1ファンクションブロックを機能させるときの前記状態画像を前記個別構成情報に基づいて生成し、前記第1ファンクションブロックとは異なる第2ファンクションブロックを機能させるときの前記状態画像を前記共通構成情報に基づいて生成して前記表示装置に出力する、
    画像生成プログラム。
  3. 前記生成手段は、前記第1ファンクションブロックについて前記共通構成情報に従って構成される前記状態画像により状態が示される前記パラメータが、前記第1ファンクションブロックについて前記個別構成情報に従って構成される前記状態画像により状態が示される第1パラメータと、該第1パラメータとは異なる第2パラメータと、を含む場合に、前記個別構成情報に基づいて前記第1パラメータの状態を示し、前記共通構成情報に基づいて前記第2パラメータの状態を示す前記状態画像を生成する、
    請求項2に記載の画像生成プログラム。
  4. 前記取得手段は、優先度を有する複数の前記共通構成情報を取得し、
    前記生成手段は、前記個別構成情報を前記共通構成情報より優先し、前記優先度が高い前記共通構成情報を前記優先度が低い前記共通構成情報より優先して用いることにより、前記状態画像を生成する、
    請求項2又は3に記載の画像生成プログラム。
  5. 前記個別構成情報は、前記状態画像に含まれる複数の画像要素の配置を規定する情報であって、
    複数の前記画像要素は、前記パラメータに対応する前記画像要素を含む、
    請求項1から4のいずれか一項に記載の画像生成プログラム。
  6. 前記個別構成情報は、前記画像要素を示す要素情報を含み、
    前記生成手段は、前記要素情報により示される前記画像要素を含む前記状態画像を前記個別構成情報に基づいて生成する、
    請求項5に記載の画像生成プログラム。
  7. 前記コンピュータを、
    前記ファンクションブロックに従って動作することを前記プログラマブルコントローラに指示する指示手段、としてさらに機能させ、
    前記生成手段は、前記指示手段の指示によって前記プログラマブルコントローラが動作するときの前記状態画像を生成する、
    請求項1から6のいずれか一項に記載の画像生成プログラム。
  8. プログラマブルコントローラを動作させるための動作プログラムにおいて記述されるルーチンに相当するファンクションブロックを示すファンクションブロック情報を取得し、前記ファンクションブロックの機能が用いられる際の前記ファンクションブロックに関するパラメータの状態を示す状態画像の構成を規定する、前記ファンクションブロックについて個別に定められた個別構成情報であって、ユーザによって入力される前記個別構成情報を取得する取得手段と、
    前記ファンクションブロックを機能させるときの前記状態画像を含むウィンドウを、前記個別構成情報に基づいて生成して表示装置に出力する生成手段と、
    を備える画像生成装置。
  9. プログラマブルコントローラを動作させるための動作プログラムにおいて記述されるルーチンに相当するファンクションブロックを示すファンクションブロック情報を取得し、前記ファンクションブロックの機能が用いられる際の前記ファンクションブロックに関するパラメータの状態を示す状態画像の構成を規定する、前記ファンクションブロックについて個別に定められた個別構成情報を取得する取得手段と、
    前記ファンクションブロックを機能させるときの前記状態画像を前記個別構成情報に基づいて生成して表示装置に出力する生成手段と、
    を備え、
    前記取得手段は、互いに異なる前記ファンクションブロックをそれぞれ示す複数の前記ファンクションブロック情報と、複数の前記ファンクションブロックのうちの第1ファンクションブロックについて定められた前記個別構成情報と、前記状態画像の構成を規定する、複数の前記ファンクションブロックに共通する共通構成情報と、を取得し、
    前記生成手段は、前記第1ファンクションブロックを機能させるときの前記状態画像を前記個別構成情報に基づいて生成し、前記第1ファンクションブロックとは異なる第2ファンクションブロックを機能させるときの前記状態画像を前記共通構成情報に基づいて生成して前記表示装置に出力する、
    画像生成装置。
  10. 請求項8又は9に記載の画像生成装置と、
    前記プログラマブルコントローラと、
    を備えるプログラマブルコントローラシステムであって、
    前記画像生成装置は、
    前記ファンクションブロックに従って動作することを前記プログラマブルコントローラに指示する指示手段、をさらに備え、
    前記画像生成装置の前記生成手段は、前記指示手段の指示によって前記プログラマブルコントローラが動作するときの前記状態画像を生成する、
    プログラマブルコントローラシステム。
  11. 取得手段が、プログラマブルコントローラを動作させるための動作プログラムにおいて記述されるルーチンに相当するファンクションブロックを示すファンクションブロック情報を取得するステップと、
    前記取得手段が、前記ファンクションブロックの機能が用いられる際の前記ファンクションブロックに関するパラメータの状態を示す状態画像の構成を規定する、前記ファンクションブロックについて個別に定められた個別構成情報であって、ユーザによって入力される前記個別構成情報を取得するステップと、
    生成手段が、前記ファンクションブロックを機能させるときの前記状態画像を含むウィンドウを、前記個別構成情報に基づいて生成して表示装置に出力するステップと、
    を含む画像生成方法。
  12. 取得手段が、プログラマブルコントローラを動作させるための動作プログラムにおいて記述されるルーチンに相当するファンクションブロックを示すファンクションブロック情報を取得するステップと、
    前記取得手段が、前記ファンクションブロックの機能が用いられる際の前記ファンクションブロックに関するパラメータの状態を示す状態画像の構成を規定する、前記ファンクションブロックについて個別に定められた個別構成情報を取得するステップと、
    生成手段が、前記ファンクションブロックを機能させるときの前記状態画像を前記個別構成情報に基づいて生成して表示装置に出力するステップと、
    を含み、
    前記取得手段は、互いに異なる前記ファンクションブロックをそれぞれ示す複数の前記ファンクションブロック情報と、複数の前記ファンクションブロックのうちの第1ファンクションブロックについて定められた前記個別構成情報と、前記状態画像の構成を規定する、複数の前記ファンクションブロックに共通する共通構成情報と、を取得し、
    前記生成手段は、前記第1ファンクションブロックを機能させるときの前記状態画像を前記個別構成情報に基づいて生成し、前記第1ファンクションブロックとは異なる第2ファンクションブロックを機能させるときの前記状態画像を前記共通構成情報に基づいて生成して前記表示装置に出力する、
    画像生成方法。
JP2022547160A 2022-02-15 2022-02-15 画像生成プログラム、画像生成装置、プログラマブルコントローラシステム及び画像生成方法 Active JP7241982B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/005999 WO2023157091A1 (ja) 2022-02-15 2022-02-15 画像生成プログラム、画像生成装置、プログラマブルコントローラシステム及び画像生成方法

Publications (3)

Publication Number Publication Date
JP7241982B1 true JP7241982B1 (ja) 2023-03-17
JPWO2023157091A1 JPWO2023157091A1 (ja) 2023-08-24
JPWO2023157091A5 JPWO2023157091A5 (ja) 2024-01-23

Family

ID=85600315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022547160A Active JP7241982B1 (ja) 2022-02-15 2022-02-15 画像生成プログラム、画像生成装置、プログラマブルコントローラシステム及び画像生成方法

Country Status (3)

Country Link
JP (1) JP7241982B1 (ja)
CN (1) CN118435134A (ja)
WO (1) WO2023157091A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182712A (ja) * 2000-12-15 2002-06-26 Yaskawa Electric Corp プログラマブルコントローラの表示方法および表示装置
JP2004280341A (ja) * 2003-03-14 2004-10-07 Omron Corp ファンクションブロック呼び出し命令を含むラダープログラムの表示切替方法及びプログラミング装置
JP2004341824A (ja) * 2003-05-15 2004-12-02 Fuji Electric Fa Components & Systems Co Ltd プログラマブルコントローラのプログラミング装置
JP2009009505A (ja) * 2007-06-29 2009-01-15 Jtekt Corp Plc

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182712A (ja) * 2000-12-15 2002-06-26 Yaskawa Electric Corp プログラマブルコントローラの表示方法および表示装置
JP2004280341A (ja) * 2003-03-14 2004-10-07 Omron Corp ファンクションブロック呼び出し命令を含むラダープログラムの表示切替方法及びプログラミング装置
JP2004341824A (ja) * 2003-05-15 2004-12-02 Fuji Electric Fa Components & Systems Co Ltd プログラマブルコントローラのプログラミング装置
JP2009009505A (ja) * 2007-06-29 2009-01-15 Jtekt Corp Plc

Also Published As

Publication number Publication date
WO2023157091A1 (ja) 2023-08-24
JPWO2023157091A1 (ja) 2023-08-24
CN118435134A (zh) 2024-08-02

Similar Documents

Publication Publication Date Title
EP2889707B1 (en) Control device and communication control method
JP6150953B2 (ja) デバッグ装置、デバッグ方法及びデバッグプログラム
JP2006330867A (ja) プログラム変更履歴管理システム及びこれに適用されるプログラム編集装置並びにプログラム
JP7241982B1 (ja) 画像生成プログラム、画像生成装置、プログラマブルコントローラシステム及び画像生成方法
CN113939780A (zh) 支持装置以及支持程序
JP7238678B2 (ja) 情報処理装置、サポートプログラムおよびサポートシステム
CN111971629B (zh) 控制系统、支持装置及记录媒体
JP2020060855A (ja) 開発支援プログラム、開発支援装置、および開発支援方法
JP3913414B2 (ja) エディタ装置およびエディタプログラムを記録した記録媒体
JP2004341824A (ja) プログラマブルコントローラのプログラミング装置
JP7119714B2 (ja) 情報処理装置、表示プログラム、および方法
WO2021044654A1 (ja) 情報処理システム、プログラマブル表示器および情報処理装置
JP4877257B2 (ja) プログラマブルコントローラ、プログラマブルコントローラ支援装置、及びプログラマブルコントローラシステム
JP3795473B2 (ja) エディタ装置およびエディタプログラムを記録した記録媒体
WO2022249713A1 (ja) 制御システム、システムプログラムおよびデバッグ方法
JP2009157534A (ja) プログラム作成支援システム、そのプログラマブルコントローラ支援装置、プログラマブル表示器支援装置
JP7403732B1 (ja) 翻訳プログラム、翻訳装置及び翻訳方法
JP7447574B2 (ja) サポート装置、サポートプログラムおよびサポート方法
JP2003223204A (ja) プログラマブルコントローラのプログラミング方法およびその装置並びに記憶媒体
JP7208441B1 (ja) Fa制御テスト支援プログラム、fa制御テスト支援装置、fa制御テスト支援方法及びfa制御テスト支援システム
KR100423742B1 (ko) 순차기능챠트에 의한 전용 제어 시스템
JP2018156214A (ja) Sfcプログラム作成支援装置、sfcプログラム作成支援プログラム、およびsfcプログラム作成方法
JP2024136415A (ja) 制御システム、サポート装置、および制御装置
JPH10289011A (ja) 数値制御装置及び数値制御装置におけるバックグラウンド処理のカスタマイズ方法
JP2024130006A (ja) サポート装置、制御方法、およびサポートプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220802

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220802

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221124

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230307

R150 Certificate of patent or registration of utility model

Ref document number: 7241982

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150