(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-28
(45)【発行日】2025-02-05
(54)【発明の名称】シミュレーション装置
(51)【国際特許分類】
G05B 19/05 20060101AFI20250129BHJP
G05B 23/02 20060101ALI20250129BHJP
【FI】
G05B19/05 D
G05B23/02 G
(21)【出願番号】P 2021042680
(22)【出願日】2021-03-16
【審査請求日】2024-03-04
(73)【特許権者】
【識別番号】317014747
【氏名又は名称】シュナイダーエレクトリックホールディングス株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】▲徳▼永 絵里
【審査官】田中 友章
(56)【参考文献】
【文献】特開2001-282326(JP,A)
【文献】特開2006-318362(JP,A)
【文献】特開2018-200660(JP,A)
【文献】特開2009-124853(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/05
G05B 23/02
(57)【特許請求の範囲】
【請求項1】
プログラマブル表示器に表示される表示画面として作成され、1つ以上のオブジェクトを含む作成画面を表示部に表示させる表示制御部と、
前記1つ以上のオブジェクトの動作を定義する定義ファイルにしたがって、前記1つ以上のオブジェクトの動作を前記表示部に表示させる制御を前記表示制御部に実行させるシミュレーションを自動的に実行する実行部と、を備え
、
前記実行部は、前記定義ファイルにしたがって、前記1つ以上のオブジェクトの動作を前記プログラマブル表示器の前記表示部に表示させる制御を前記表示制御部に実行させる前記シミュレーションを自動的に実行することを特徴とするシミュレーション装置。
【請求項2】
前記作成画面を含み、前記1つ以上のオブジェクトに、当該オブジェクトの動作に関する設定情報が設定された画面ファイルを記憶する記憶部と、
前記記憶部に記憶された前記画面ファイルから、前記設定情報を読み出すことにより、前記定義ファイルを自動的に作成する作成部と、をさらに備えることを特徴とする請求項1に記載のシミュレーション装置。
【請求項3】
前記定義ファイルは、前記1つ以上のオブジェクトの動作に対応して予め設定された数値範囲について、当該数値範囲外の異常値の情報を含み、
前記実行部は、前記異常値の情報に対応する前記オブジェクトの動作を前記表示部に表示させる制御を前記表示制御部に実行させることを特徴とする請求項1
または2に記載のシミュレーション装置。
【請求項4】
プログラマブル表示器に表示される表示画面として作成され、1つ以上のオブジェクトを含む作成画面を表示部に表示させる表示制御部と、
前記1つ以上のオブジェクトの動作を定義する定義ファイルにしたがって、前記1つ以上のオブジェクトの動作を前記表示部に表示させる制御を前記表示制御部に実行させるシミュレーションを自動的に実行する実行部と、
前記作成画面を含み、前記1つ以上のオブジェクトに、当該オブジェクトの動作に関する設定情報が設定された画面ファイルを記憶する記憶部と、
前記記憶部に記憶された前記画面ファイルから、前記設定情報を読み出すことにより、前記定義ファイルを自動的に作成する作成部と、を備え、
前記記憶部は、前記画面ファイルとして、編集前の第1編集画面ファイルと、編集後の第2編集画面ファイルと、を記憶し、
前記作成部は、前記第2編集画面ファイルの前記設定情報が前記第1編集画面ファイルの前記設定情報と相違している前記1つ以上のオブジェクトの動作を定義する前記定義ファイルを相違定義ファイルとして自動的に作成し、
前記実行部は、前記相違定義ファイルに定義されている前記1つ以上のオブジェクトの動作に対してのみ前記シミュレーションを自動的に実行することを特徴とす
るシミュレーション装置。
【請求項5】
プログラマブル表示器に表示される表示画面として作成され、1つ以上のオブジェクトを含む作成画面を表示部に表示させる表示制御部と、
前記1つ以上のオブジェクトの動作を定義する定義ファイルにしたがって、前記1つ以上のオブジェクトの動作を前記表示部に表示させる制御を前記表示制御部に実行させるシミュレーションを自動的に実行する実行部と、を備えるシミュレーション装置であって、
前記表示部として、前記シミュレーション装置の第1表示部と、前記プログラマブル表示器の第2表示部と、が設けられ、
前記シミュレーション装置は、前記作成画面としての第1作成画面を含む第1画面ファイルを記憶する記憶部を備え、
前記実行部は、
前記定義ファイルにしたがって、前記第1作成画面に含まれる前記1つ以上のオブジェクトの動作を前記第1表示部に表示させる制御と、
前記定義ファイルにしたがって、前記第1画面ファイルとはファイル形式が異なる第2画面ファイルに含まれる、前記作成画面としての第2作成画面に含まれる前記1つ以上のオブジェクトの動作を前記第2表示部に表示させる制御と、を前記表示制御部に実行させる前記シミュレーションを自動的に実行することを特徴とす
るシミュレーション装置。
【請求項6】
前記実行部は、前記シミュレーションを実行している前記オブジェクトを、他のオブジェクトに比べて強調して前記表示部に表示させる制御を前記表示制御部に実行させることを特徴とする請求項1から
5のいずれか1項に記載のシミュレーション装置。
【請求項7】
前記定義ファイルは、前記オブジェクトの動作に対応する前記シミュレーションの開始時間の情報、または、複数の前記オブジェクトそれぞれの動作に対応する前記シミュレーションの実行間隔の情報を含み、
前記実行部は、前記定義ファイルに含まれる前記開始時間の情報または前記実行間隔の情報にしたがって、前記シミュレーションを自動的に実行することを特徴とする請求項1から
6のいずれか1項に記載のシミュレーション装置。
【請求項8】
プログラマブル表示器に表示される表示画面として作成され、1つ以上のオブジェクトを含む作成画面を表示部に表示させる表示制御部と、
前記1つ以上のオブジェクトの動作を定義する定義ファイルにしたがって、前記1つ以上のオブジェクトの動作を前記表示部に表示させる制御を前記表示制御部に実行させるシミュレーションを自動的に実行する実行部と、を備え、
前記定義ファイルは、前記オブジェクトの動作に対応する前記シミュレーションの開始時間の情報、または、複数の前記オブジェクトそれぞれの動作に対応する前記シミュレーションの実行間隔の情報を含み、
前記実行部は、前記定義ファイルに含まれる前記開始時間の情報または前記実行間隔の情報にしたがって、前記シミュレーションを自動的に実行することを特徴とするシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はシミュレーション装置に関する。
【背景技術】
【0002】
特許文献1には、カバレッジ画面作成手段と、シミュレーション実行手段と、を備える表示画面デバック装置が開示されている。カバレッジ画面作成手段は、画面の設定データから設定項目一覧データを作成する。カバレッジ画面データ中の設定データと設定項目一覧データとは項目ごとに関連付けがなされている。また、シミュレーション実行手段は、入力されたカバレッジ画面データ内の設定データに基づいてシミュレーションを実行する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に開示の表示画面デバック装置において、ユーザが複数の設定項目について1つずつシミュレーションを実行するために、複数の設定項目に対して手作業で入力を行う場合、ユーザの作業時間が増大するという問題がある。本発明の一態様は、ユーザによるシミュレーションの作業時間を短縮することや、確認漏れを防ぐことを目的とする。
【課題を解決するための手段】
【0005】
上記の課題を解決するために、本発明の一態様に係るシミュレーション装置は、プログラマブル表示器に表示される表示画面として作成され、1つ以上のオブジェクトを含む作成画面を表示部に表示させる表示制御部と、前記1つ以上のオブジェクトの動作を定義する定義ファイルにしたがって、前記1つ以上のオブジェクトの動作を前記表示部に表示させる制御を前記表示制御部に実行させるシミュレーションを自動的に実行する実行部と、を備える。
【0006】
シミュレーション装置上で1つ以上のオブジェクトの動作のシミュレーションが自動的に実行される。これにより、ユーザが1つ以上のオブジェクトの動作をシミュレーションする操作を行う必要がないため、ユーザによるシミュレーションの作業時間を短縮することや、確認漏れを防ぐことができる。
【0007】
前記シミュレーション装置は、前記作成画面を含み、前記1つ以上のオブジェクトに、当該オブジェクトの動作に関する設定情報が設定された画面ファイルを記憶する記憶部と、前記記憶部に記憶された前記画面ファイルから、前記設定情報を読み出すことにより、前記定義ファイルを自動的に作成する作成部と、をさらに備えてもよい。
【0008】
作成画面を含む画面ファイルから定義ファイルが自動的に作成されるため、ユーザが定義ファイルを作成する必要がなくなり、ユーザによる定義ファイルの作成に要する作業時間を削減することができる。
【0009】
前記実行部は、前記定義ファイルにしたがって、前記1つ以上のオブジェクトの動作を前記プログラマブル表示器の前記表示部に表示させる制御を前記表示制御部に実行させる前記シミュレーションを自動的に実行してもよい。プログラマブル表示器を用いてシミュレーションを自動的に実行することができる。
【0010】
前記定義ファイルは、前記1つ以上のオブジェクトの動作に対応して予め設定された数値範囲について、当該数値範囲外の異常値の情報を含み、前記実行部は、前記異常値の情報に対応する前記オブジェクトの動作を前記表示部に表示させる制御を前記表示制御部に実行させてもよい。
【0011】
予め設定された数値範囲外の異常値の情報に対応するオブジェクトの動作が表示部に表示された場合において、ユーザは、想定されていない異常な動作をオブジェクトが起こさないかを確認することができる。
【0012】
前記記憶部は、前記画面ファイルとして、編集前の第1編集画面ファイルと、編集後の第2編集画面ファイルと、を記憶し、前記作成部は、前記第2編集画面ファイルの前記設定情報が前記第1編集画面ファイルの前記設定情報と相違している前記1つ以上のオブジェクトの動作を定義する前記定義ファイルを相違定義ファイルとして自動的に作成し、前記実行部は、前記相違定義ファイルに定義されている前記1つ以上のオブジェクトの動作に対してのみ前記シミュレーションを自動的に実行してもよい。
【0013】
画面ファイルの編集によって編集前から相違した設定情報に対応する1つ以上のオブジェクトの動作に対してのみシミュレーションが実行される。このため、シミュレーションの実行時間が短縮されることから、ユーザによるシミュレーションの作業時間を短縮することができる。
【0014】
前記表示部として、前記シミュレーション装置の第1表示部と、前記プログラマブル表示器の第2表示部と、が設けられ、前記シミュレーション装置は、前記作成画面としての第1作成画面を含む第1画面ファイルを記憶する記憶部を備え、前記実行部は、前記定義ファイルにしたがって、前記第1作成画面に含まれる前記1つ以上のオブジェクトの動作を前記第1表示部に表示させる制御と、前記定義ファイルにしたがって、前記第1画面ファイルとはファイル形式が異なる第2画面ファイルに含まれる、前記作成画面としての第2作成画面に含まれる前記1つ以上のオブジェクトの動作を前記第2表示部に表示させる制御と、を前記表示制御部に実行させる前記シミュレーションを自動的に実行してもよい。
【0015】
第1作成画面に含まれる1つ以上のオブジェクトの動作と、第2作成画面に含まれる1つ以上のオブジェクトの動作と、の間に違いがあるか否かの確認作業において、オブジェクトの動作の表示を自動化することができる。これにより、ユーザは、第1表示部の表示と第2表示部の表示とを比較するだけで、オブジェクトの動作の確認作業を容易に行うことができる。
【0016】
前記実行部は、前記シミュレーションを実行している前記オブジェクトを、他のオブジェクトに比べて強調して前記表示部に表示させる制御を前記表示制御部に実行させてもよい。
【0017】
シミュレーションが実行されているオブジェクトが強調して表示部に表示されるため、ユーザは、現在シミュレーションが実行されているオブジェクトを認識することができ、オブジェクトの動作の確認を容易に行うことができる。
【0018】
前記定義ファイルは、前記オブジェクトの動作に対応する前記シミュレーションの開始時間の情報、または、複数の前記オブジェクトそれぞれの動作に対応する前記シミュレーションの実行間隔の情報を含み、前記実行部は、前記定義ファイルに含まれる前記開始時間の情報または前記実行間隔の情報にしたがって、前記シミュレーションを自動的に実行してもよい。
【0019】
オブジェクトの動作のシミュレーションが、定義ファイルに含まれるシミュレーションの開始時間の情報または実行間隔の情報にしたがって自動的に実行される。このため、ユーザが都度、デバイス値を書き替えながら確認をする必要がなくなり作業時間を短縮することができる。
【発明の効果】
【0020】
本発明の一態様によれば、ユーザによるシミュレーションの作業時間を短縮することや、確認漏れを防ぐことができる。
【図面の簡単な説明】
【0021】
【
図1】本発明の実施形態1に係るPCの構成の一例を示すブロック図である。
【
図2】
図1に示すPCの表示部に表示される作成画面と、作成画面に含まれるオブジェクトに設定された設定情報と、の一例を示す図である。
【
図3】1つ以上のオブジェクトの動作を定義する定義ファイルの一例を示す図である。
【
図4】
図1に示すPCの制御部によって実行される1つ以上のオブジェクトのシミュレーションの一例を示す図である。
【
図5】
図1に示すPCの制御部が有する作成部が定義ファイルを作成する手順を示すフローチャートである。
【
図6】
図5に示すステップS5の処理において作成部によって参照される設定情報である。
【
図7】本発明の実施形態2に係る作成画面と、作成画面に含まれるオブジェクトに設定された設定情報と、定義ファイルと、の一例を示す図である。
【
図8】本発明の実施形態3に係るPCと、プログラマブル表示器と、PLCと、の構成の一例を示すブロック図である。
【
図9】
図8に示すPCと、プログラマブル表示器と、PLCと、の接続状態の一例を示す図である。
【
図10】本発明の実施形態4に係るPCと、プログラマブル表示器と、の構成の一例を示す図である。
【
図11】
図10に示すPCにカメラが接続されている状態を示す図である。
【発明を実施するための形態】
【0022】
〔実施形態1〕
パーソナルコンピュータ(以降、単に「PC」と称する)1の構成について
図1に基づいて説明する。
図1は、本発明の実施形態1に係るPC1の構成の一例を示すブロック図である。
【0023】
<PC1の構成>
図1に示すように、PC1は、制御部11と、表示部12と、操作部13と、記憶部14と、インタフェース部15と、を備える。PC1は、プログラマブル表示器2が表示する作成画面に含まれる1つ以上のオブジェクトの動作のシミュレーションを実行するシミュレーション装置として機能する。
【0024】
制御部11は、PC1の各部を制御する。制御部11は、表示制御部111と、作成部112と、実行部113と、を有する。作成部112については後述の変形例にて説明する。表示部12は、PC1での処理内容を表示するモニタである。
【0025】
操作部13は、例えば、ユーザがデータの入力を行うためのキーボードやユーザが操作を行うためのマウスである。記憶部14は、PC1での処理内容を記憶するとともに、ユーザによって作成された1つ以上の作成画面を含む画面ファイルを記憶する。インタフェース部15は、PC1が
図8に示すプログラマブル表示器2及びPLC(プログラマブルロジックコントローラ)3と通信を行うための通信部であり、
図8に示すプログラマブル表示器2の制御部21と通信可能である。
【0026】
<PC1の処理>
図2は、
図1に示すPC1の表示部12に表示される作成画面と、作成画面に含まれるオブジェクトに設定された設定情報と、の一例を示す図である。
図2の符号101及び102はそれぞれ、ユーザがPC1を用いて作成した画面ファイルに含まれる作成画面P1及びP2である。
図2の符号103は、作成画面P1及びP2に含まれる1つ以上のオブジェクトに設定された設定情報I1である。
【0027】
ユーザは、PC1を用いて、1つ以上の作成画面を含み、作成画面に含まれる1つ以上のオブジェクトに、当該オブジェクトの動作に関する設定情報が設定された画面ファイルを作成する。記憶部14は、ユーザによって作成された画面ファイルを記憶する。作成画面P1及びP2は、記憶部14に記憶された画面ファイルに含まれ、
図8に示すプログラマブル表示器2の表示部22に表示される表示画面として作成されたものである。表示制御部111は、作成画面P1及びP2を表示部12に表示させる。
【0028】
図2の符号101に示すように、作成画面P1は、オブジェクトB1~B3を含む。オブジェクトB1は、PLC3のデバイスメモリ上のアドレスのビットを切り替えるためのビットスイッチを示すオブジェクトであり、オブジェクトB2はランプを示すオブジェクトであり、オブジェクトB3は状態切替スイッチを示すオブジェクトである。また、
図2の符号102に示すように、作成画面P2は、オブジェクトB4及びB5を含む。オブジェクトB4はグラフを示すオブジェクトであり、オブジェクトB5は数値表示器を示すオブジェクトである。
【0029】
図2の符号103に示すように、設定情報I1には、画面番号と、部品IDと、オブジェクトの機能と、アドレスと、値と、が対応付けられて設定されている。つまり、設定情報I1はこれらの情報を含む。設定情報I1は、記憶部14に記憶された画面ファイルに設定されており、1つ以上のオブジェクトの動作に関して設定されている。設定情報I1に設定されている各項目について以下に説明する。
【0030】
画面番号は、1つ以上の作成画面を識別するために各作成画面に設定された番号である。部品IDは、1つ以上のオブジェクトを識別するために各オブジェクトに設定されたIDである。オブジェクトの機能の欄は、各オブジェクトの動作の内容を示す。アドレスは、PLC3のデバイスメモリ上において、各オブジェクトの動作の内容が記憶されているアドレスである。値の欄は、各オブジェクトの動作に対応して予め設定された数値を示す。
【0031】
また、
図2の符号103に示すように、1つのオブジェクトに対し複数の動作が設定される場合もある。例えば、オブジェクトB1には、動作として「スイッチ」及び「ランプ」が設定されている。設定情報I1の値は、オブジェクトの動作と一対一に対応して設定されている。
【0032】
図3は、1つ以上のオブジェクトの動作を定義する定義ファイルの一例を示す図である。ユーザは、PC1を用いて、1つ以上のオブジェクトが正しく動作するか否かを確認するための定義ファイルを作成する。記憶部14は、ユーザによって作成された定義ファイルを記憶する。
図3に示すように、定義ファイルD1には、開始時間と、画面番号と、部品IDと、オブジェクトの機能と、アドレスと、値と、異常値と、が対応付けられて設定されている。つまり、定義ファイルD1はこれらの情報を含む。定義ファイルD1に設定されている各項目について以下に説明する。
【0033】
開始時間は、実行部113によって定義ファイルD1にしたがってシミュレーションが実行される場合に、オブジェクトの動作に対応するシミュレーションの開始時間である。定義ファイルD1の画面番号、部品ID、オブジェクトの機能、アドレス及び値は、設定情報I1と同様である。異常値は、1つ以上のオブジェクトの動作に対応して予め設定された数値範囲について、当該数値範囲外の異常値である。
【0034】
図4は、
図1に示すPC1の制御部11によって実行される1つ以上のオブジェクトのシミュレーションの一例を示す図である。実行部113は、記憶部14に記憶された定義ファイルD1にしたがって、1つ以上のオブジェクトの動作を表示部12に表示させる制御を表示制御部111に実行させるシミュレーションを自動的に実行する。このとき、表示制御部111は、1つ以上のオブジェクトの動作を表示部12に表示させる。
【0035】
図4に示すように、表示部12は、プログラマブル表示器2の機能を再現するHMIシミュレータの画面S1と、PLC3の機能を再現するPLCシミュレータの画面S2と、関連するデバイス4などの状態を示す画面S3と、を表示する。HMIシミュレータ及びPLCシミュレータは、実行部113によって実行されている。画面S1には作成画面P1が表示されている。画面S2にはPLCシミュレータによる処理内容が表示されている。画面S3にはHMIシミュレータ及びPLCシミュレータに関連するデバイス4などの状態が表示されている。
【0036】
実行部113は、定義ファイルD1からオブジェクトの動作に対応するシミュレーションの開始時間の情報を読み出し、当該開始時間の情報にしたがってシミュレーションを自動的に実行する。これにより、シミュレーションの開始時間にしたがって、表示部12に各オブジェクトの動作が順番に表示部12に表示される。
【0037】
このとき、実行部113は、定義ファイルD1から各オブジェクトの機能を読み出し、その機能の動作を表示部12に表示させる制御を表示制御部111に実行させる。なお、定義ファイルD1には、複数のオブジェクトそれぞれの動作に対応するシミュレーションの実行間隔の情報が含まれてもよく、この場合、実行部113は、定義ファイルD1に含まれる当該実行間隔の情報にしたがってシミュレーションを実行する。
【0038】
このように、オブジェクトの動作のシミュレーションが、定義ファイルD1に含まれるシミュレーションの開始時間の情報にしたがって自動的に実行される。このため、ユーザが都度、デバイス値を書き替えながら確認をする必要がなくなり作業時間を短縮することができる。
【0039】
また、実行部113は、シミュレーションを実行しているオブジェクトを、他のオブジェクトに比べて強調して表示部12に表示させる制御を表示制御部111に実行させる。この場合において、例えば、オブジェクトB3の動作のシミュレーションが実行されているとすると、オブジェクトB3が他のオブジェクトB1及びB2に比べて強調して表示される。
【0040】
例えば、
図4に示すように、オブジェクトB3が枠線で囲まれて表示されたり、オブジェクトB3が手のアイコンで指し示されてもよい。また、オブジェクトB3のアイコンの色が変更されたり、オブジェクトB3のアイコンが点滅してもよい。これにより、ユーザは、現在シミュレーションが実行されているオブジェクトを認識することができ、オブジェクトの動作の確認を容易に行うことができる。
【0041】
さらに、実行部113は、定義ファイルD1に含まれる異常値の情報に対応するオブジェクトの動作を表示部12に表示させる制御を表示制御部111に実行させる。これにより、予め設定された数値範囲外の異常値の情報に対応するオブジェクトの動作が表示部12に表示された場合において、ユーザは、想定されていない異常な動作をオブジェクトが起こさないかを確認することができる。
【0042】
以上により、PC1上で1つ以上のオブジェクトの動作のシミュレーションが自動的に実行される。これにより、ユーザが1つ以上のオブジェクトの動作をシミュレーションする操作を行う必要がないため、ユーザによるシミュレーションの作業時間を短縮することや、確認漏れを防ぐことができる。
【0043】
<変形例>
図5は、
図1に示すPC1の制御部11が有する作成部112が定義ファイルD1を作成する手順を示すフローチャートである。
図6は、
図5に示すステップS5の処理において作成部112によって参照される設定情報I2である。本変形例において、作成部112が定義ファイルD1を自動的に作成してもよい。なお、上述した通りユーザが定義ファイルD1を作成する場合、制御部11は作成部112を有していなくてもよい。
【0044】
まず、作成部112は、実行部113によって実行されるシミュレーションの詳細設定にしたがって、記憶部14に記憶されている画面ファイルに含まれる1つ以上の作成画面を順番に参照する(S1)。シミュレーションの詳細設定は記憶部14に記憶されている。シミュレーションの詳細設定には、個々のオブジェクトの動作に係るシミュレーションの実行間隔、画面の範囲指定、オブジェクトの種類選択などが設定されている。
【0045】
そして、作成部112は、作成画面の切り替えの設定を定義ファイルD1に追加する(S2)。作成部112は、例えば、定義ファイルD1に開始時間と画面番号とを対応付けて設定することにより、作成画面の切り替えの時間を定義ファイルD1に設定することができる。
【0046】
次に、作成部112は、作成画面を順番に参照するとともに、シミュレーションの詳細設定を参照しながら、1つ以上のオブジェクトを検索する(S3)。ステップS3において、作成部112は、検索対象のオブジェクトが、シミュレーションの詳細設定で予め選択されている対象オブジェクトであるか否かを判定する(S4)。対象オブジェクトは、実行部113によって実行されるシミュレーションの対象となるオブジェクトである。作成部112は、検索対象のオブジェクトが対象オブジェクトではないと判定した場合(S4にてNO)、ステップS3に進み、次の検索対象のオブジェクトの検索に移る。
【0047】
作成部112は、検索対象のオブジェクトが対象オブジェクトであると判定した場合(S4にてYES)、対象オブジェクトの分類に応じて、対象オブジェクトのプロパティを読み込んで、定義ファイルD1を作成する(S5)。このとき、作成部112は、画面ファイルから、作成画面に含まれるオブジェクトに設定された対象プロパティを設定情報I2から読み出す。設定情報I2には、対象オブジェクトとしての対象部品と、分類と、対象オブジェクトのプロパティとしての対象プロパティと、が対応付けられて設定されている。上述した異常値の情報についても、設定情報I2に基づき定義ファイルD1に含まれて自動的に生成される。
【0048】
次に、作成部112は、作成画面に含まれる全てのオブジェクトについて検索が終了したか否かを判定する(S6)。作成部112は、作成画面に含まれる全てのオブジェクトについて検索が終了していないと判定した場合(S6にてNO)、ステップS3に進む。
【0049】
作成部112は、作成画面に含まれる全てのオブジェクトについて検索が終了したと判定した場合(S6にてYES)、ステップS7に進む。この場合、作成部112は、ステップS2~S6にて対象としていた作成画面が、画面ファイルに含まれる1つ以上の作成画面のうち最終の作成画面であるか否かを判定する(S7)。
【0050】
作成部112は、ステップS2~S6にて対象としていた作成画面が最終の作成画面ではないと判定した場合(S7にてNO)、ステップS1に進む。作成部112は、ステップS2~S6にて対象としていた作成画面が最終の作成画面であると判定した場合(S7にてYES)、定義ファイルD1の作成処理を終了する。
【0051】
以上により、作成部112は、記憶部14に記憶された画面ファイルから、設定情報I2を参照して、オブジェクトの対象プロパティを読み出すことにより、定義ファイルD1を自動的に作成する。このとき、ユーザは、PC1を用いて、作成部112によって自動的に作成された定義ファイルD1を確認し、必要に応じて編集することもできる。これにより、作成画面を含む画面ファイルから定義ファイルD1が自動的に作成されるため、ユーザが定義ファイルD1を作成する必要がなくなり、ユーザによる定義ファイルD1の作成に要する作業時間を削減することができる。
【0052】
また、ユーザがPC1を用いてシミュレーションを手作業で実施する場合において、作成部112は、ユーザによるシミュレーションの実施内容を参照して、当該実施内容から定義ファイルD1を自動的に作成することもできる。作成部112は、作成した定義ファイルD1を記憶部14に記憶する。
【0053】
さらに、実行部113は、シミュレーションを自動的に実行する際に、停止箇所を設定するなどしてシミュレーションを停止したり、シミュレーションをトレースしたりしてもよい。また、実行部113によるシミュレーションの実行中に、ユーザがPC1を用いて手作業でシミュレーション内容を追加することが可能であってもよい。この場合、作成部112は、ユーザにより追加されたシミュレーション内容を定義ファイルD1に追加する。実行部113は、定義ファイルD1に追加されたシミュレーションも実行する。
【0054】
〔実施形態2〕
本発明の実施形態2について、以下に説明する。なお、説明の便宜上、実施形態1にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
図7は、本発明の実施形態2に係る作成画面と、作成画面に含まれるオブジェクトに設定された設定情報と、定義ファイルと、の一例を示す図である。
図7において符号201は作成画面P1を示し、符号202は設定情報I3を示し、符号203は相違定義ファイルD2を示す。
【0055】
ユーザが、作成画面P1においてオブジェクトB1の位置を変更するとともにオブジェクトB3におけるPLC3のデバイスメモリ上のアドレスを変更するように、画面ファイルを編集した場合について説明する。この場合において、編集前の画面ファイルを第1編集画面ファイル、編集後の画面ファイルを第2編集画面ファイルと称する。記憶部14は、画面ファイルとして、第1編集画面ファイル及び第2編集画面ファイルを記憶する。
【0056】
このとき、
図7の符号202の点線で囲まれた部分に示すように、設定情報I3においてオブジェクトB1に関する値のうち、位置を示す値が変更され、オブジェクトB3におけるデバイスメモリ上のアドレスが変更される。作成部112は、第2編集画面ファイルの設定情報I3が第1編集画面ファイルの設定情報I3と相違している1つ以上のオブジェクトの動作を定義する定義ファイルを相違定義ファイルD2として自動的に作成する。また、実行部113は、相違定義ファイルD2に定義されている1つ以上のオブジェクトの動作に対してのみシミュレーションを自動的に実行する。
【0057】
このように、画面ファイルの編集によって編集前から相違した設定情報I3に対応する1つ以上のオブジェクトの動作に対してのみシミュレーションが実行される。このため、シミュレーションの実行時間が短縮されることから、ユーザによるシミュレーションの作業時間を短縮することができる。
【0058】
〔実施形態3〕
本発明の実施形態3について、以下に説明する。なお、説明の便宜上、実施形態1及び2にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
図8は、本発明の実施形態3に係るPC1と、プログラマブル表示器2と、PLC3と、の構成の一例を示すブロック図である。
図9は、
図8に示すPC1と、プログラマブル表示器2と、PLC3と、の接続状態の一例を示す図である。PC1は、プログラマブル表示器2及びPLC3と接続されている。
【0059】
<プログラマブル表示器2>
プログラマブル表示器2は、制御部21と、表示部22と、タッチパネル23と、ユーザメモリ24と、インタフェース部25と、を備える。プログラマブル表示器2は、PC1及びPLC3と接続されている。プログラマブル表示器2は、操作及び表示のための作成画面を表示することにより、プログラマブル表示器特有の操作機能と表示機能とを実現する専用コンピュータであり、HMI(Human Machine Interface)機器として使用される。
【0060】
制御部21は、PLC3と接続されたデバイス4の状態を表示する動作や、タッチパネル23への操作に応じてデバイス4の状態を制御する動作を特定する。制御部21は、プログラマブル表示器2の各部を制御する。表示部22は、ユーザによって作成された作成画面や、デバイス4の状態を表示する。ユーザメモリ24は、ユーザによって作成された画面ファイルを記憶する。インタフェース部25は、プログラマブル表示器2がPC1及びPLC3と通信を行うための通信部である。
【0061】
PLC3は、ユーザによって作成されたシーケンスプログラムにしたがって、予め定められたスキャンタイム毎に、デバイス4の状態を読み出したり、デバイス4に制御指示を与えたりする制御装置である。デバイス4は、PLC3によって制御されるものや、センサ等の検出値を出力するものであり、1つ以上存在する。
【0062】
図9に示すように、PC1の表示部12は、プログラマブル表示器2を制御するHMI制御ソフトの画面C1と、PLC3を制御するPLC制御ソフトの画面C2と、関連するデバイス4などの状態を示す画面S3と、を表示する。HMI制御ソフト及びPLC制御ソフトは、実行部113によって実行されている。画面C1には作成画面P1が表示されている。画面C2にはPLC制御ソフトによる処理内容が表示されている。画面S3にはHMI制御ソフト及びPLC制御ソフトに関連するデバイス4などの状態が表示されている。
【0063】
実行部113は、HMI制御ソフトを実行することにより、プログラマブル表示器2の表示部22に作成画面P1を表示させる制御を表示制御部111に実行させる。表示制御部111は、表示部22に作成画面P1を表示させるように、プログラマブル表示器2の制御部21に指示を出す。これにより、作成画面P1が表示部12の画面C1に加えて、表示部22にも表示される。また、実行部113は、PLC制御ソフトを実行することにより、PLC3を制御する。
【0064】
実行部113は、記憶部14に記憶された定義ファイルD1にしたがって、1つ以上のオブジェクトの動作を表示部22に表示させる制御を表示制御部111に実行させるシミュレーションを自動的に実行する。よって、プログラマブル表示器2を用いてシミュレーションを自動的に実行することができる。表示制御部111は、表示部22に1つ以上のオブジェクトの動作を表示させるように、プログラマブル表示器2の制御部21に指示を出し、PLC3のデバイス値を変更する指示を出す。これにより、1つ以上のオブジェクトの動作が表示部12の画面C1及び表示部22に表示される。
【0065】
以上により、PC1は、プログラマブル表示器2及びPLC3を制御しながら、1つ以上のオブジェクトの動作のシミュレーションを実行することができる。これにより、PC1は、実際の1つ以上のオブジェクトの動作に近い状態で、1つ以上のオブジェクトの動作のシミュレーションを実行することができる。
【0066】
〔実施形態4〕
本発明の実施形態4について、以下に説明する。なお、説明の便宜上、実施形態1~3にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
図10は、本発明の実施形態4に係るPC1と、プログラマブル表示器2と、の構成の一例を示す図である。
図11は、
図10に示すPC1にカメラ5が接続されている状態を示す図である。
【0067】
実施形態4において、コンバートされた後の画面ファイルを第1画面ファイルと称し、コンバートされる前の画面ファイルを第2画面ファイルと称する。PC1の記憶部14は、第1画面ファイルを記憶しており、プログラマブル表示器2のユーザメモリ24は、第2画面ファイルを記憶している。ユーザは、PC1を用いて、旧機種または他社製のプログラマブル表示器2に対応している第2画面ファイルをコンバートすることにより、自社製かつ最新機種のプログラマブル表示器2に対応している第1画面ファイルを作成する。これにより、第2画面ファイルは、第1画面ファイルとはファイル形式が異なる。
【0068】
図10に示すように、PC1の表示部12は、HMIシミュレータの画面S1と、PLCシミュレータの画面SC1と、関連するデバイス4などの状態を示す画面S3と、を表示する。HMIシミュレータ及びPLCシミュレータは、実行部113によって実行されている。
【0069】
画面S1には、第1画面ファイルに含まれる作成画面P1が表示されている。画面SC1には、PLCシミュレータによる処理内容が表示されている。画面S3には、HMIシミュレータ及びPLCシミュレータに関連するデバイス4などの状態が表示されている。
【0070】
実行部113は、HMI制御ソフトを実行することにより、プログラマブル表示器2の表示部22に、第2画面ファイルに含まれる作成画面P1を表示させる制御を表示制御部111に実行させる。これと同時に、実行部113は、HMI制御ソフトを実行することにより、表示部12の画面S1に、第1画面ファイルに含まれる作成画面P1を表示させる制御を表示制御部111に実行させる。
【0071】
表示制御部111は、第2画面ファイルに含まれる作成画面P1を表示部22に表示させるように、プログラマブル表示器2の制御部21に指示を出す。また、表示制御部111は、表示部12の画面S1に、第1画面ファイルに含まれる作成画面P1を表示させる。これにより、第2画面ファイルに含まれる作成画面P1が表示部22に表示されるとともに、第1画面ファイルに含まれる作成画面P1が表示部12の画面S1に表示される。
【0072】
実行部113は、記憶部14に記憶された定義ファイルD1にしたがって、第2画面ファイルに含まれる作成画面P1に含まれる1つ以上のオブジェクトの動作を表示部22に表示させる制御を表示制御部111に実行させるシミュレーションを自動的に実行する。表示制御部111は、表示部22に1つ以上のオブジェクトの動作を表示させるように、プログラマブル表示器2の制御部21に指示を出す。これにより、第2画面ファイルに含まれる作成画面P1に含まれる1つ以上のオブジェクトの動作が表示部22に表示される。
【0073】
これと同時に、実行部113は、記憶部14に記憶された定義ファイルD1にしたがって、第1画面ファイルに含まれる作成画面P1に含まれる1つ以上のオブジェクトの動作を表示部12に表示させる制御を表示制御部111に実行させるシミュレーションを自動的に実行する。表示制御部111は、表示部12に1つ以上のオブジェクトの動作を表示させる。これにより、第1画面ファイルにおける1つ以上のオブジェクトの動作が表示部12に表示される。
【0074】
また、実行部113は、表示部12の画面S1に表示された作成画面P1と、表示部22に表示された作成画面P1と、に対し、HMI制御ソフトにより画面の切り替えやユーザによるタッチパネル23への操作に応じた制御を実行する。実行部113は、HMI制御ソフトにより、PLCシミュレータによって再現されたPLC3の機能との通信によってデバイス値の読み書きを実行する。よって、表示部12の画面S1に表示された作成画面P1と、表示部22に表示された作成画面P1と、は、実行部113によって略同期しながらシミュレーションが実行される。
【0075】
これにより、ユーザは、第1作成画面に含まれる1つ以上のオブジェクトの動作と、第2作成画面に含まれる1つ以上のオブジェクトの動作と、の間に違いがあるか否かの確認作業において、オブジェクトの動作の表示を自動化することができる。これにより、ユーザは、表示部12の表示と表示部22の表示とを比較するだけで、オブジェクトの動作の確認作業を容易に行うことができる。
【0076】
なお、
図11に示すように、PC1にカメラ5を接続して、カメラ5がプログラマブル表示器2の表示部22を撮影してもよい。この場合、カメラ5は撮影した表示部22の映像をPC1の制御部11に出力する。実行部113は、カメラ5から出力された表示部22の映像の作成画面P1と、表示部12に表示されている作成画面P1と、を比較する画像処理を実行する。
【0077】
また、プログラマブル表示器2の制御部21が、表示部22に表示された作成画面P1をキャプチャし、キャプチャした作成画面P1をPC1の制御部11に出力してもよい。この場合、実行部113は、プログラマブル表示器2の制御部21から出力された表示部22の作成画面P1と、表示部12に表示されている作成画面P1と、を比較する画像処理を実行する。
【0078】
これにより、実行部113は、第1画面ファイルにおける1つ以上のオブジェクトの動作が正確であるか否かを判断する。実行部113は、第1画面ファイルにおける1つ以上のオブジェクトの動作が正確ではないと判定した場合、1つ以上のオブジェクトの動作が正確ではないことを示す内容を報知させる制御を図示しない報知部に実行させる。当該報知部は、1つ以上のオブジェクトの動作が正確ではないことを示す内容を報知する。上記報知部は、PC1に備えられ、音声を出力するスピーカ等の音声出力部である。
【0079】
また、実行部113は、第1画面ファイルにおける1つ以上のオブジェクトの動作が正確ではないと判定した場合、アイコンや強調表示などの表示を表示制御部111に実行させてもよい。
【0080】
このように、第1画面ファイルにおける1つ以上のオブジェクトの動作が正確であるか否かの判断が実行部113によって自動的に実行される。このため、ユーザが、第1画面ファイルにおける1つ以上のオブジェクトの動作が正確であるか否かを確認する必要がなくなり、ユーザによる確認の作業時間を削減することができる。
【0081】
〔ソフトウェアによる実現例〕
PC1の機能は、PC1としてコンピュータを機能させるためのプログラムであって、PC1の各制御ブロック(特に制御部11に含まれる各部)としてコンピュータを機能させるためのプログラムにより実現することができる。
【0082】
この場合、PC1は、上記プログラムを実行するためのハードウェアとして、1つ以上の制御装置(例えばプロセッサ)と1つ以上の記憶装置(例えばメモリ)を有するコンピュータを備えている。この制御装置と記憶装置により上記プログラムを実行することにより、上記各実施形態で説明した各機能が実現される。
【0083】
上記プログラムは、一時的ではなく、コンピュータ読み取り可能な、1または1つ以上の記録媒体に記録されていてもよい。この記録媒体は、PC1が備えていてもよいし、備えていなくてもよい。後者の場合、上記プログラムは、有線または無線の任意の伝送媒体を介してPC1に供給されてもよい。
【0084】
また、上記各制御ブロックの機能の一部または全部は、論理回路により実現することも可能である。例えば、上記各制御ブロックとして機能する論理回路が形成された集積回路も本発明の範疇に含まれる。この他にも、例えば量子コンピュータにより上記各制御ブロックの機能を実現することも可能である。
【0085】
また、上記各実施形態で説明した各処理は、AI(Artificial Intelligence:人工知能)に実行させてもよい。この場合、AIは上記制御装置で動作するものであってもよいし、他の装置(例えばエッジコンピュータまたはクラウドサーバ等)で動作するものであってもよい。
【0086】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0087】
1 PC(シミュレーション装置)
2 プログラマブル表示器
12 表示部(第1表示部)
22 表示部(第2表示部)
14 記憶部
111 表示制御部
112 作成部
113 実行部
B1~B5 オブジェクト
D1 定義ファイル
D2 相違定義ファイル
I1~I3 設定情報
P1、P2 作成画面