IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ダイキン工業株式会社の特許一覧

<>
  • 特開-プログラム作成装置 図1
  • 特開-プログラム作成装置 図2A
  • 特開-プログラム作成装置 図2B
  • 特開-プログラム作成装置 図2C
  • 特開-プログラム作成装置 図2D
  • 特開-プログラム作成装置 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023151214
(43)【公開日】2023-10-16
(54)【発明の名称】プログラム作成装置
(51)【国際特許分類】
   G06F 8/30 20180101AFI20231005BHJP
   G05B 19/05 20060101ALI20231005BHJP
【FI】
G06F8/30
G05B19/05 A
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022060704
(22)【出願日】2022-03-31
(71)【出願人】
【識別番号】000002853
【氏名又は名称】ダイキン工業株式会社
(74)【代理人】
【識別番号】110000202
【氏名又は名称】弁理士法人新樹グローバル・アイピー
(72)【発明者】
【氏名】祝 建俊
(72)【発明者】
【氏名】呼元 文数
【テーマコード(参考)】
5B376
5H220
【Fターム(参考)】
5B376BC07
5B376BC23
5B376BC41
5B376BC51
5B376BC68
5B376GA13
5H220BB11
5H220CC07
5H220CX01
5H220CX06
5H220DD07
5H220JJ12
5H220JJ24
5H220JJ53
(57)【要約】
【課題】作成中のプログラムの実行時間を算出するだけでは、作成中のプログラムがプロセッサ等の資源に及ぼす影響を把握することができない、という課題がある。
【解決手段】プログラム作成装置1は、記憶部11と、取得部191と、予測部192と、を備える。記憶部11は、機能ブロックD1を記憶する。機能ブロックD1は、プログラムの構成要素である。機能ブロックD1は、単独で実行可能である。取得部191は、PLC2に機能ブロックD1を実行させ、PLC2から機能ブロックD1の資源使用情報D2を取得する。予測部192は、取得部191により取得した、機能ブロックD1の資源使用情報D2を用いて、作成中のプログラムの資源使用情報D2を予測する。取得部191は、プログラムの作成開始前に、機能ブロックD1の資源使用情報D2を取得する。
【選択図】図1
【特許請求の範囲】
【請求項1】
プログラムを作成するプログラム作成装置(1)であって、
前記プログラムの構成要素であり、単独で実行可能な、機能ブロック(D1)を記憶する、記憶部(11)と、
第1装置(2)に前記機能ブロックを実行させ、前記第1装置から前記機能ブロックの資源使用情報(D2)を取得する、取得部(191)と、
前記取得部により取得した、前記機能ブロックの前記資源使用情報を用いて、作成中の前記プログラムの前記資源使用情報を予測する、予測部(192)と、
を備え、
前記取得部は、前記プログラムの作成開始前に、前記機能ブロックの前記資源使用情報を取得する、
プログラム作成装置(1)。
【請求項2】
前記第1装置は、PLC(Programmable Logic Controller)である、
請求項1に記載のプログラム作成装置(1)。
【請求項3】
前記資源使用情報は、少なくとも、プロセッサの使用率、メモリの使用率、又は通信帯域の使用率、の情報を含む、
請求項1又は2に記載のプログラム作成装置(1)。
【請求項4】
前記プログラムの作成作業に関する情報を表示する、表示部(193)、
をさらに備え、
前記表示部は、前記機能ブロックを示す情報と、前記取得部により取得した、前記機能ブロックの前記資源使用情報と、を表示する、
請求項1から3のいずれか1つに記載のプログラム作成装置(1)。
【請求項5】
前記表示部は、前記予測部により予測した、作成中の前記プログラムの前記資源使用情報を表示する、
請求項4に記載のプログラム作成装置(1)。
【請求項6】
前記取得部は、前記第1装置に作成中の前記プログラムを実行させ、前記第1装置から作成中の前記プログラムの前記資源使用情報を取得し、
前記表示部は、前記取得部により取得した、作成中の前記プログラムの前記資源使用情報を表示する、
請求項4又は5に記載のプログラム作成装置(1)。
【請求項7】
前記記憶部は、前記取得部により取得した、前記機能ブロックの前記資源使用情報を記憶し、
前記予測部は、前記記憶部に記憶した、前記機能ブロックの前記資源使用情報を用いて、作成中の前記プログラムの前記資源使用情報を予測する、
請求項1から6のいずれか1つに記載のプログラム作成装置(1)。
【請求項8】
前記プログラムの前記資源使用情報の閾値、を設定可能であり、
前記表示部は、作成中の前記プログラムの前記資源使用情報が、前記閾値を超えた場合に、警告情報を表示する、
請求項4から6のいずれか1つに記載のプログラム作成装置(1)。
【請求項9】
前記プログラムが使用可能なシステムリソース、を設定可能であり、
前記予測部は、前記システムリソースに基づいて、作成中の前記プログラムの前記資源使用情報を予測する、
請求項1から8のいずれか1つに記載のプログラム作成装置(1)。
【請求項10】
前記プログラムの前記資源使用情報に基づいて、前記プログラムを評価する、評価部(195)、
をさらに備え、
前記表示部は、異なる複数の前記プログラムそれぞれに対して、前記評価部による評価結果を表示する、
請求項4から6のいずれか1つに記載のプログラム作成装置(1)。
【発明の詳細な説明】
【技術分野】
【0001】
プログラム作成装置に関する。
【背景技術】
【0002】
特許文献1(特開2001-216006号公報)に示されているように、プログラムの作成作業を支援する技術がある。
【発明の概要】
【発明が解決しようとする課題】
【0003】
特許文献1のように、作成中のプログラムの実行時間を算出するだけでは、作成中のプログラムがプロセッサ等の資源に及ぼす影響を把握することができない、という課題がある。
【課題を解決するための手段】
【0004】
第1観点のプログラム作成装置は、プログラムを作成する。プログラム作成装置は、記憶部と、取得部と、予測部と、を備える。記憶部は、機能ブロックを記憶する。機能ブロックは、プログラムの構成要素である。機能ブロックは、単独で実行可能である。取得部は、第1装置に機能ブロックを実行させ、第1装置から機能ブロックの資源使用情報を取得する。予測部は、取得部により取得した、機能ブロックの資源使用情報を用いて、作成中のプログラムの資源使用情報を予測する。取得部は、プログラムの作成開始前に、機能ブロックの資源使用情報を取得する。
【0005】
第1観点のプログラム作成装置では、取得部は、プログラムの作成開始前に、機能ブロックの資源使用情報を取得する。予測部は、取得部により取得した、機能ブロックの資源使用情報を用いて、作成中のプログラムの資源使用情報を予測する。その結果、プログラム作成装置は、作成中のプログラムが資源に及ぼす影響を把握することができる。
【0006】
第2観点のプログラム作成装置は、第1観点のプログラム作成装置であって、第1装置は、PLC(Programmable Logic Controller)である。
【0007】
第3観点のプログラム作成装置は、第1観点又は第2観点のプログラム作成装置であって、資源使用情報は、少なくとも、プロセッサの使用率、メモリの使用率、又は通信帯域の使用率、の情報を含む。
【0008】
第4観点のプログラム作成装置は、第1観点から第3観点のいずれかのプログラム作成装置であって、表示部をさらに備える。表示部は、プログラムの作成作業に関する情報を表示する。表示部は、機能ブロックを示す情報と、取得部により取得した、機能ブロックの資源使用情報と、を表示する。
【0009】
第5観点のプログラム作成装置は、第4観点のプログラム作成装置であって、表示部は、予測部により予測した、作成中のプログラムの資源使用情報を表示する。
【0010】
第5観点のプログラム作成装置では、このような構成により、ユーザは、作成中のプログラムの資源使用情報の予測値を見ながら、プログラムを作成することができる。
【0011】
第6観点のプログラム作成装置は、第4観点又は第5観点のプログラム作成装置であって、取得部は、第1装置に作成中のプログラムを実行させ、第1装置から作成中のプログラムの資源使用情報を取得する。表示部は、取得部により取得した、作成中のプログラムの資源使用情報を表示する。
【0012】
第6観点のプログラム作成装置では、このような構成により、ユーザは、作成中のプログラムの資源使用情報の実測値を見ながら、プログラムを作成することができる。
【0013】
第7観点のプログラム作成装置は、第1観点から第6観点のいずれかのプログラム作成装置であって、記憶部は、取得部により取得した、機能ブロックの資源使用情報を記憶する。予測部は、記憶部に記憶した、機能ブロックの資源使用情報を用いて、作成中のプログラムの資源使用情報を予測する。
【0014】
第7観点のプログラム作成装置では、このような構成により、機能ブロックの資源使用情報を、再度第1装置から取得しなくても、作成中のプログラムの資源使用情報を予測することができる。
【0015】
第8観点のプログラム作成装置は、第4観点から第6観点のいずれかのプログラム作成装置であって、プログラムの資源使用情報の閾値、を設定可能である。表示部は、作成中のプログラムの資源使用情報が、閾値を超えた場合に、警告情報を表示する。
【0016】
第9観点のプログラム作成装置は、第1観点から第8観点のいずれかのプログラム作成装置であって、プログラムが使用可能なシステムリソース、を設定可能である。予測部は、システムリソースに基づいて、作成中のプログラムの資源使用情報を予測する。
【0017】
第10観点のプログラム作成装置は、第4観点から第6観点のいずれかのプログラム作成装置であって、評価部をさらに備える。評価部は、プログラムの資源使用情報に基づいて、プログラムを評価する。表示部は、異なる複数のプログラムそれぞれに対して、評価部による評価結果を表示する。
【0018】
第10観点のプログラム作成装置では、このような構成により、評価結果を用いて、複数のプログラムを比較することができる。
【図面の簡単な説明】
【0019】
図1】プログラム作成装置、及びPLCの機能ブロック図である。
図2A】プログラム作成画面の一例を示す図である。
図2B】プログラム作成画面の一例を示す図である。
図2C】プログラム作成画面の一例を示す図である。
図2D】プログラム作成画面の一例を示す図である。
図3】プログラム作成装置の処理の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【0020】
(1)全体構成
プログラム作成装置1は、第1装置2と連動して、ユーザによるプログラムの作成作業を支援する。本実施形態では、第1装置2は、いわゆるPLC(Programmable Logic Controller)である。図1は、プログラム作成装置1、及びPLC2の機能ブロック図である。図1に示すように、プログラム作成装置1と、PLC2とは、ネットワークNW1を介して、通信可能に接続されている。ネットワークNW1は、LAN、WAN、及びインターネット等を含む。
【0021】
(2)詳細構成
(2-1)PLC
PLC2は、ネットワークNW2を介して、空気調和機等の設備機器3と通信可能に接続されている。ネットワークNW2は、LAN、WAN、及びインターネット等を含む。PLC2は、プログラム作成装置1から受信するプログラムを実行して、設備機器3を制御する。図1に示すように、PLC2は、主として、記憶部21と、通信部24と、制御部29と、を有する。
【0022】
記憶部21は、RAM、ROM、及びHDD等のメモリである。記憶部21は、制御部29が実行するプログラムや、プログラムの実行に必要なデータや、PLC2が動作するOS等を記憶する。本実施形態では、記憶部21は、プログラム作成装置1から受信するプログラムや、プログラム作成装置1によって作成可能なプログラムの構成要素である機能ブロックD1を記憶する。機能ブロックD1の具体例については、後述する。
【0023】
通信部24は、ネットワークNW1,NW2を介して、それぞれPLC2及び設備機器3と通信を行うためのネットワークインターフェイス機器である。
【0024】
制御部29は、CPUやGPU等のプロセッサである。制御部29は、記憶部21に記憶されているプログラムを読み込んで実行し、PLC2の様々な機能を実現する。また、制御部29は、プログラムに従って、演算結果を記憶部21に書き込んだり、記憶部21に記憶されている情報を読み出したりすることができる。本実施形態では、制御部29は、プログラム作成装置1から受信するプログラムを実行する。また、制御部29は、機能ブロックD1を、単独で実行可能である。このとき、制御部29は、既定の入力値を与えることにより、機能ブロックD1を実行する。
【0025】
制御部29は、プログラム作成装置1から受信するプログラムを実行したときの資源使用情報D2や、機能ブロックD1を単独で実行したときの資源使用情報D2を、作成する。資源使用情報D2は、少なくとも、プロセッサ(制御部29)の使用率、メモリ(記憶部21)の使用率、又はPLT2と設備機器3との間の回線(ネットワークNW2)の通信帯域の使用率、の情報を含む。資源使用情報D2は、さらに、プログラムで使用可能な機能ブロックD1の既定の最大数に対する、プログラムで実際に使用されている機能ブロックD1の数の割合や、プログラムで使用する外部DBの容量や、プログラムの実行時間等、を含んでもよい。
【0026】
制御部29は、作成した資源使用情報D2を、プログラム作成装置1に送信する。また、制御部29は、プログラム作成装置1から受信するプログラムを実行したときの出力値を、プログラム作成装置1に送信する。
【0027】
(2-2)プログラム作成装置
プログラム作成装置1は、一般的なパーソナルコンピュータである。図1に示すように、プログラム作成装置1は、主として、記憶部11と、入力部12と、モニター13と、通信部14と、制御部19と、を有する。
【0028】
(2-2-1)記憶部
記憶部11は、RAM、ROM、及びHDD等の記憶装置である。記憶部11は、制御部19が実行するプログラムや、プログラムの実行に必要なデータや、プログラム作成装置1が動作するOS等を記憶する。本実施形態では、記憶部11は、プログラムの作成作業を行うための実行ファイルを記憶している。また、記憶部11は、作成可能なプログラムの構成要素である機能ブロックD1を記憶している。機能ブロックD1は、PLC2が記憶している機能ブロックD1と同様である。また、記憶部11は、プログラムの作成開始前に、後述する取得部191により取得した、機能ブロックD1の資源使用情報D2を記憶する。
【0029】
(2-2-2)入力部
入力部12は、キーボード、及びマウス等の入力装置である。ユーザは、入力部12を用いて、プログラムの作成作業に関する各種情報を入力する。
【0030】
(2-2-3)モニター
モニター13には、プログラムの作成作業を行うためのプログラム作成画面131が表示される。図2A~2Dは、プログラム作成画面131の一例を示す図である。図2A~2Dは、この順で、プログラムの作成作業の時系列を示している。図2Aは、プログラムの作成開始直後のプログラム作成画面131である。図2Aに示すように、プログラム作成画面131は、機能ブロック領域R1と、入出力ブロック領域R2と、プログラム作成領域R3と、資源使用情報領域R4と、を有する。
【0031】
機能ブロック領域R1は、機能ブロックD1と、機能ブロックD1の資源使用情報D2と、が配置される領域である。
【0032】
機能ブロック領域R1の左側には、複数の機能ブロックD1が表示される。「ADD」は、数値を加算する際に用いられる機能ブロックである。「MUL」は、数値を乗算する際に用いられる機能ブロックである。「PID」は、PID制御を行う際に用いられる機能ブロックである。「DI(Digital Import)」は、バイナリ入力を行う際に用いられる機能ブロックである。「BACnetBI(BACnet Binary Input)」は、BACnet通信を介して、バイナリ入力を行う際に用いられる機能ブロックである。「ModbusWrite」は、Modbus通信を介して、入出力を行う際に用いられる機能ブロックである。「外部DB」は、外部DBに入出力を行う際に用いられる機能ブロックである。
【0033】
機能ブロック領域R1の右側には、各機能ブロックD1の資源使用情報D2が表示される。「CPU」は、プロセッサ(制御部29)の使用率である。メモリは、メモリ(記憶部21)の使用率である。「時間」は、プログラム(ここでは、機能ブロックD1)の実行時間である。「帯域」は、PLT2と設備機器3との間の回線(ネットワークNW2)の通信帯域の使用率である。「DB」は、プログラム(ここでは、機能ブロックD1)で使用する外部DBの容量である。
【0034】
入出力ブロック領域R2は、プログラムの入出力を示す入力ブロックD3及び出力ブロックD4が配置される領域である。
【0035】
プログラム作成領域R3は、ユーザがプログラムを組み立てるための領域である。言い換えると、プログラム作成領域R3には、作成中のプログラムが表示される。ユーザは、機能ブロック領域R1に配置されている機能ブロックD1や、入出力ブロック領域R2に配置されている入力ブロックD3及び出力ブロックD4を、プログラム作成領域R3にドラッグ&ドロップ等することにより、プログラム作成領域R3でプログラムを組み立てる。図2Bは、図2Aと比較して、プログラム作成領域R3でプログラムが組み立てられた状態を示している。
【0036】
図2Bに示すように、資源使用情報領域R4は、作成中のプログラムの資源使用情報D2が表示される領域である。資源使用情報領域R4の上側には、作成中のプログラムの資源使用情報D2の予測値が表示される。ここで、「FB(Function Block)」は、プログラムに使用可能な機能ブロックD1の既定の最大数に対する、作成中のプログラムで使用されている機能ブロックD1の数の割合である。資源使用情報領域R4の中央には、PLC2に作成中のプログラムを実行させるための実行ボタンB1が配置されている。資源使用情報領域R4の下側には、作成中のプログラムの資源使用情報D2の実測値が表示される。図2Cは、図2Bと比較して、入力ブロックD3に数値が入力され、作成中のプログラムが実行可能となった状態を示している。図2Dは、図2Cと比較して、ユーザによって実行ボタンB1がクリックされたことにより、作成中のプログラムの出力ブロックD4に出力値が入力され、資源使用情報領域R4の下側に作成中のプログラムの資源使用情報D2の実測値が表示された状態を示している。
【0037】
(2-2-4)通信部
通信部14は、ネットワークNW1を介して、PLC2と通信を行うためのネットワークインターフェイス機器である。
【0038】
(2-2-5)制御部
制御部19は、CPUやGPU等のプロセッサである。制御部19は、記憶部11に記憶されているプログラムを読み込んで実行し、プログラム作成装置1の様々な機能を実現する。また、制御部19は、プログラムに従って、演算結果を記憶部11に書き込んだり、記憶部11に記憶されている情報を読み出したりすることができる。
【0039】
図2に示すように、制御部19は、機能部として、取得部191と、予測部192と、表示部193と、操作部194と、を有する。
【0040】
(2-2-5-1)取得部
取得部191は、プログラムの作成開始前に、PLC2に機能ブロックD1を実行させ、PLC2から機能ブロックD1の資源使用情報D2を取得する。
【0041】
また、取得部191は、作成中のプログラムが実行可能な状態で、ユーザによって実行ボタンB1がクリックされると、PLC2に作成中のプログラムを実行させ、PLC2から、作成中のプログラムの資源使用情報D2と、作成中のプログラムの出力値と、を取得する。言い換えると、取得部191は、作成中のプログラムの資源使用情報D2の実測値と、作成中のプログラムの出力値と、を取得する。本実施形態では、作成中のプログラムが実行可能な状態とは、図2Cに示すように、作成中のプログラムが入力から出力まで組み立てられ、かつ入力ブロックD3に数値等が入力されている状態であるとする。取得部191は、PLC2から取得した作成中のプログラムの出力値を、作成中のプログラムの出力ブロックD4に入力する。図2Dでは、図2Cと比較して、作成中のプログラムの出力ブロックD4に、出力値である「210」が入力されている。
【0042】
(2-2-5-2)予測部
予測部192は、プログラムの作成開始前に、取得部191により取得し、記憶部11に記憶した、機能ブロックD1の資源使用情報D2を用いて、作成中のプログラムの資源使用情報D2を予測する。本実施形態では、予測部192は、ユーザによって、プログラム作成領域R3に機能ブロックD1が追加又は削除される度に、作成中のプログラムの資源使用情報D2を予測する。予測部192は、例えば、プログラム作成領域R3に存在する機能ブロックD1の資源使用情報D2や、機能ブロックD1を連結することによるオーバーヘッド等を考慮して、作成中のプログラムの資源使用情報D2を予測する。
【0043】
(2-2-5-3)表示部
表示部193は、プログラムの作成作業に関する情報を表示する。具体的には、表示部193は、機能ブロックD1を示す情報と、プログラムの作成開始前に、取得部191により取得した、機能ブロックD1の資源使用情報D2と、を表示する。図2Aに示すように、表示部193は、機能ブロック領域R1に、複数の機能ブロックD1と、各機能ブロックD1の資源使用情報D2と、を表示する。
【0044】
また、表示部193は、予測部192により予測した、作成中のプログラムの資源使用情報D2を表示する。図2B~2Dに示すように、表示部193は、資源使用情報領域R4の上側に、作成中のプログラムの資源使用情報D2の予測値を表示する。
【0045】
また、表示部193は、取得部191により取得した、作成中のプログラムの資源使用情報D2を表示する。図2Dに示すように、表示部193は、資源使用情報領域R4の下側に、作成中のプログラムの資源使用情報D2の実測値を表示する。
【0046】
(2-2-5-4)操作部
操作部194は、プログラム作成画面131において、ユーザがプログラムの作成作業を行うためのGUI(Graphical User Interface)を実現する。操作部194は、例えば、ユーザが、機能ブロック領域R1に配置されている機能ブロックD1や、入出力ブロック領域R2に配置されている入力ブロックD3及び出力ブロックD4を、プログラム作成領域R3にドラッグ&ドロップすることにより、ユーザにプログラム作成領域R3でプログラムを組み立てさせる機能を有する。また、操作部194は、例えば、ユーザが、機能ブロックD1、入力ブロックD3、及び出力ブロックD4を、有向線によって連結することにより、ユーザにプログラムの流れを表現させる機能を有する。また、操作部194は、例えば、ユーザが、資源使用情報D2に配置されている実行ボタンB1をクリックすることにより、PLC2に作成中のプログラムを実行させる機能を有する。
【0047】
(3)処理
プログラム作成装置1の処理の一例を、図3のフローチャートを用いて説明する。
【0048】
ステップS1に示すように、プログラム作成装置1は、ユーザによって、プログラムの作成作業を行うための実行ファイルが実行されると、モニター13に、プログラム作成画面131を表示する。
【0049】
ステップS1を終えると、ステップS2に示すように、プログラム作成装置1は、ユーザがプログラムの作成作業を開始する前に、PLC2に機能ブロックD1を実行させ、PLC2から機能ブロックD1の資源使用情報D2を取得する。図2Aに示すように、プログラム作成装置1は、機能ブロック領域R1に、複数の機能ブロックD1と、PLC2から取得した、各機能ブロックD1の資源使用情報D2と、を表示する。
【0050】
ステップS2を終えると、ステップS3に示すように、ユーザは、プログラムの作成作業を開始する。図2Bに示すように、ユーザは、機能ブロック領域R1に配置されている機能ブロックD1や、入出力ブロック領域R2に配置されている入力ブロックD3及び出力ブロックD4を、プログラム作成領域R3にドラッグ&ドロップすることにより、プログラム作成領域R3でプログラムを組み立てる。また、ユーザは、機能ブロックD1、入力ブロックD3、及び出力ブロックD4を、有向線によって連結することにより、プログラムの流れを表現する。
【0051】
ステップS3を終えると、ステップS4に示すように、プログラム作成装置1は、ユーザによって、プログラム作成領域R3に機能ブロックD1が追加又は削除されたか否かを判定する。プログラム作成装置1が、プログラム作成領域R3に機能ブロックD1が追加又は削除された、と判定した場合、ステップS5に進む。プログラム作成装置1が、プログラム作成領域R3に機能ブロックD1が追加又は削除されていない、と判定した場合、ステップS6に進む。
【0052】
ステップS4からステップS5に進むと、プログラム作成装置1は、作成中のプログラムの資源使用情報D2を予測する。図2Bに示すように、プログラム作成装置1は、作成中のプログラムの資源使用情報D2の予測値を、資源使用情報領域R4の上側に表示する。
【0053】
ステップS4からステップS6に進むと、又はステップS5を終えると、ステップS6に示すように、プログラム作成装置1は、プログラムが実行可能な状態で、ユーザによって実行ボタンB1がクリックされたか否かを判定する。プログラム作成装置1が、実行ボタンB1がクリックされたと判定した場合、ステップS7に進む。プログラム作成装置1が、実行ボタンB1がクリックされていないと判定した場合、ステップS8に進む。図2Cは、作成中のプログラムが入力から出力まで組み立てられ、かつ入力ブロックD3に数値が入力されているため、プログラムが実行可能な状態を示している。
【0054】
ステップS6からステップS7に進むと、プログラム作成装置1は、PLC2に作成中のプログラムを実行させ、PLC2から、作成中のプログラムの資源使用情報D2と、作成中のプログラムの出力値と、を取得する。図2Dに示すように、プログラム作成装置1は、取得した作成中のプログラムの資源使用情報D2の実測値を、資源使用情報領域R4の下側に表示する。また、プログラム作成装置1は、取得した作成中のプログラムの出力値を、作成中のプログラムの出力ブロックD4に入力する。
【0055】
ステップS6からステップS8に進むと、又はステップS7を終えると、ステップS8に示すように、プログラム作成装置1は、ユーザによって、プログラムの作成作業が終了されたか否かを判定する。プログラム作成装置1が、ユーザによって、プログラムの作成作業が終了されたと判定した場合、プログラム作成画面131を閉じ、処理を終了する。プログラム作成装置1が、ユーザによって、プログラムの作成作業が終了されていないと判定した場合、ステップS4に戻り、ユーザはプログラムの作成作業を継続する。
【0056】
(4)特徴
(4-1)
従来、プログラムの作成作業を支援する技術がある。しかし、作成中のプログラムの実行時間を算出するだけでは、作成中のプログラムがプロセッサ等の資源に及ぼす影響を把握することができない、という課題がある。
【0057】
本実施形態のプログラム作成装置1は、プログラムを作成する。プログラム作成装置1は、記憶部11と、取得部191と、予測部192と、を備える。記憶部11は、機能ブロックD1を記憶する。機能ブロックD1は、プログラムの構成要素である。機能ブロックD1は、単独で実行可能である。取得部191は、PLC2(第1装置2)に機能ブロックD1を実行させ、PLC2から機能ブロックD1の資源使用情報D2を取得する。予測部192は、取得部191により取得した、機能ブロックD1の資源使用情報D2を用いて、作成中のプログラムの資源使用情報D2を予測する。取得部191は、プログラムの作成開始前に、機能ブロックD1の資源使用情報D2を取得する。
【0058】
プログラム作成装置1では、取得部191は、プログラムの作成開始前に、機能ブロックD1の資源使用情報D2を取得する。予測部192は、取得部191により取得した、機能ブロックD1の資源使用情報D2を用いて、作成中のプログラムの資源使用情報D2を予測する。その結果、プログラム作成装置1は、作成中のプログラムが資源に及ぼす影響を把握することができる。
【0059】
(4-2)
本実施形態のプログラム作成装置1では、第1装置2は、PLC2である。
【0060】
(4-3)
本実施形態のプログラム作成装置1では、資源使用情報D2は、少なくとも、プロセッサの使用率、メモリの使用率、又は通信帯域の使用率、の情報を含む。
【0061】
(4-4)
本実施形態のプログラム作成装置1は、表示部193をさらに備える。表示部193は、プログラムの作成作業に関する情報を表示する。表示部193は、機能ブロックD1を示す情報と、取得部191により取得した、機能ブロックD1の資源使用情報D2と、を表示する。
【0062】
(4-5)
本実施形態のプログラム作成装置1では、表示部193は、予測部192により予測した、作成中のプログラムの資源使用情報D2を表示する。その結果、ユーザは、作成中のプログラムの資源使用情報D2の予測値を見ながら、プログラムを作成することができる。
【0063】
(4-6)
本実施形態のプログラム作成装置1では、取得部191は、PLC2に作成中のプログラムを実行させ、PLC2から作成中のプログラムの資源使用情報D2を取得する。表示部193は、取得部191により取得した、作成中のプログラムの資源使用情報D2を表示する。その結果、ユーザは、作成中のプログラムの資源使用情報D2の実測値を見ながら、プログラムを作成することができる。
【0064】
(4-7)
本実施形態のプログラム作成装置1では、記憶部11は、取得部191により取得した、機能ブロックD1の資源使用情報D2を記憶する。予測部192は、記憶部11に記憶した、機能ブロックD1の資源使用情報D2を用いて、作成中のプログラムの資源使用情報D2を予測する。その結果、プログラム作成装置1は、機能ブロックD1の資源使用情報D2を、再度PLC2から取得しなくても、作成中のプログラムの資源使用情報D2を予測することができる。
【0065】
(5)変形例
(5-1)変形例1A
プログラム作成装置1は、プログラムの資源使用情報D2の閾値を、設定可能であってもよい。このとき、表示部193は、作成中のプログラムの資源使用情報D2が、閾値を超えた場合に、警告情報を、例えば、資源使用情報領域R4に表示してもよい。その結果、ユーザは、資源使用情報D2の閾値を意識しながら、プログラムの作成作業を行うことができる。
【0066】
(5-2)変形例1B
プログラム作成装置1は、プログラムが使用可能な、プロセッサやメモリ等のシステムリソース(資源)、を設定可能であってもよい。このとき、予測部192は、設定されたシステムリソースに基づいて、作成中のプログラムの資源使用情報D2を予測する。予測部192は、例えば、設定されたシステムリソースのみについて、作成中のプログラムの資源使用情報D2を予測する。
【0067】
(5-3)変形例1C
プログラム作成装置1は、図1に示すように、機能部として、評価部195を有してもよい。評価部195は、プログラムの資源使用情報D2に基づいて、プログラムを評価する。評価部195は、例えば、プロセッサの使用率が低いプログラムに、高い評価をつけるため、プロセッサの使用率の逆数を、プログラムの評価結果として算出する。このとき、表示部193は、異なる複数のプログラムそれぞれに対して、評価部195による評価結果を、例えば、資源使用情報領域R4に表示してもよい。その結果、プログラム作成装置1は、評価結果を用いて、複数のプログラムを比較することができる。
【0068】
(5-4)
以上、本開示の実施形態を説明したが、特許請求の範囲に記載された本開示の趣旨及び範囲から逸脱することなく、形態や詳細の多様な変更が可能なことが理解されるであろう。
【符号の説明】
【0069】
1 プログラム作成装置
2 PLC(第1装置)
11 記憶部
191 取得部
192 予測部
193 表示部
195 評価部
D1 機能ブロック
D2 資源使用情報
【先行技術文献】
【特許文献】
【0070】
【特許文献1】特開2001-216006号公報
図1
図2A
図2B
図2C
図2D
図3