JP5384306B2 - 表示/制御・シミュレートシステム、そのプログラマブル表示器、シミュレータ装置 - Google Patents
表示/制御・シミュレートシステム、そのプログラマブル表示器、シミュレータ装置 Download PDFInfo
- Publication number
- JP5384306B2 JP5384306B2 JP2009269085A JP2009269085A JP5384306B2 JP 5384306 B2 JP5384306 B2 JP 5384306B2 JP 2009269085 A JP2009269085 A JP 2009269085A JP 2009269085 A JP2009269085 A JP 2009269085A JP 5384306 B2 JP5384306 B2 JP 5384306B2
- Authority
- JP
- Japan
- Prior art keywords
- macro
- line
- display
- execution
- breakpoint
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Programmable Controllers (AREA)
Description
まず、外部機器の機能・動作をシミュレートする機能を有する。この機能は、例えばプログラマブル表示器からのメモリの読み込み/書き込み要求に応じて、シミュレータ装置上に擬似的に構築している外部機器メモリ(以下、擬似メモリと表記)について応答/書き換えを行なうことで、外部機器をシミュレートしている。
上記のシミュレータ装置によると、PLCのシーケンスをシミュレートすることによりPLCのデバッグ効率を向上させることができる。
上記のシミュレータ装置によると、プログラマブル表示器とのI/F部分をシミュレートすることで、実際の外部機器を接続していなくても、プログラマブル表示器の動作を確認することができる。
しかしながら、一方で、従来のプログラマブル表示器用の外部機器シミュレータ装置では、カスタマイズしたマクロデータの設定に何らかの問題がある為にユーザが望んだ通りの動作とならない場合に、各種マクロデータのうち問題があるマクロデータを特定することは容易であるが、当該マクロブロック内において問題がある箇所(行)を特定する為の作業が、非常に手間が掛かるという問題があった。つまり、マクロブロックのデバッグ効率が悪いという問題があった。
まず、任意のマクロデータ(マクロブロックともいう)は、例えば「mov」、「Fill」等のマクロコマンドを用いた複数行のプログラムリスト(例えば後に図5等に一例を示す)となっている。各行は、例えば、上記マクロコマンドと、このマクロコマンドの実行対象(例えばリード/ライトするメモリアドレス等)から成る。
ことができないので、問題となるマクロブロックの内容を修正して処理実行して結果(メモリ値)を確認する作業を繰り返し行っていた。例えば、上記100行から成るマクロブロックの例の場合、例えばまず上記作画エディタ装置上でユーザが、1行目〜10行目までを残して残り(11行〜100行)は削除したマクロブロックを作成する。そして、作成した(修正した)マクロブロックをプログラマブル表示器にダウンロードする。その後、シミュレーションを行う。
本発明の課題は、プログラマブル表示器用のシミュレータ装置において、任意のマクロブロック実行中に任意のタイミングで実行を一旦停止する機能を備えさせたことで、手間が掛からず短時間でマクロブロック内の問題箇所を特定することができ、以ってマクロブロックのデバッグ効率の向上を図ることができる表示/制御・シミュレートシステム、そのプログラマブル表示器、シミュレータ装置等を提供することである。
装置とが接続されたシステムであって、前記プログラマブル表示器は、各種マクロブロックより成るマクロデータが付随された画面データを記憶する画面データ記憶手段と、該画面データを用いて任意のイベントに応じた処理を実行し、該処理に係わり前記マクロブロックのプログラムを実行する際、1行毎にその行番号を前記シミュレータ装置に通知し、実行許可が返信されてくると当該行のプログラムを実行する処理実行手段とを有し、前記シミュレータ装置は、前記画面データ記憶手段に記憶されているマクロデータと同じマクロデータを記憶する記憶手段と、該記憶手段に記憶されているマクロデータのマクロブロックのプログラムの任意の行をブレークポイントに設定させて、該設定内容をブレーク位置情報として記憶するブレークポイント設定支援手段と、前記処理実行手段から前記行番号の通知がある毎に、前記ブレーク位置情報を参照して、該行番号の行が前記ブレークポイントであるか否かを判定し、ブレークポイントではない場合には前記実行許可を返信し、ブレークポイントである場合には前記実行許可を返信せずに実行再開待ち状態とすると共にその後に所定の指示があった場合に前記実行許可を返信するマクロ実行制御手段とを有する。
図1に、本例の表示/制御システム(プログラマブル表示器を含むPLCシステム等)の概略構成図を示す。
プログラマブル表示器1には、従来で説明したように、作画エディタ装置5上で任意に作成された画面データ(各種マクロブロックが付随されている)が、作画エディタ装置5からダウンロードされて、これを表示器1内の記憶部(メモリ等)に格納する。そして、表示器1内の基本プログラムが、この画面データを用いて各種処理を実行する。その際、例えば後述するマクロデータ26(マクロブロック)を実行することで、上記制御用メモリの特定のアドレスのデータを読み出して表示したり、特定のアドレスにデータを書き込む。PLC本体は、書き込まれたデータに基づいて、このアドレスに対応する制御対象機器(またはPLC本体自身)を制御する。
例えば、作画エディタ装置5における画面データの作成においては、表示器1においてユーザによるオペレーションを受け付ける為のスイッチや、データの表示を行う数値表示などの各種部品のシンボル画を含む部品リストが、不図示の画面データ作成支援画面上に表示される。ユーザは、この中から所望の部品を選択して、支援画面上の任意位置に配置する。更に、ユーザは、配置した部品に対して、任意の制御対象機器のデバイス名とアドレス(上記制御用メモリにおけるアドレス)等を対応付ける。また、各部品には、予め所定のマクロブロックが割り当てられている。あるいは、ユーザが、各部品に、任意のマクロブロックを割り当てる。また、マクロブロックの内容は、ユーザが任意に編集可能であり、更に例えば従来の課題で説明したように100行のマクロブロックを10行とするような修正を行うこともできる。
そして、この様な表示器1の処理を、実機(PLC本体)に実際にアクセスすることなく擬似的に実行させる為に、シミュレータ装置が設けられている。
本例のシミュレータ装置に係わるシミュレーション動作については、後に図3、図4等を参照して説明する。
制御ユニット10は、グラフィックコントローラ11、ROM12、RAM13、通信コントローラ14、CPU15、タッチパネルコントローラ16等から成り、これらが内
部バス17に接続している。
まず、プログラマブル表示器1における上記ROM12には、図3に示す各種プログラムや各種データが格納される。すなわち、図示の本体プログラム21、通信プログラム22、シミュレータ通信プログラム23等の各種プログラムや、シミュレータ動作判定情報24、画面データ25、マクロデータ26等の各種データが、ROM12に記憶される。
ば画面データ25を用いてディスプレイ19上に表示/制御用画面を表示する。そして、この表示/制御用画面上でのユーザによるアイテム操作に応じてマクロブロックを実行したり、あるいは定周期でマクロブロックを実行する。つまり、任意のイベントが発生する毎に、このイベントに応じたマクロブロックの処理を実行することになる。
びマクロデータ34が、プログラマブル表示器1にダウンロードされて記憶される。これが、図示の画面データ25及びマクロデータ26である。
尚、本例のシミュレータ装置は、シミュレータ31とマクロビューア32とから成るものと考えても良い。
まず、プログラマブル表示器1側においては、本体プログラム21が、画面データ25を用いて、上述した状態表示や制御等を行っている。そして、任意のマクロブロックを実行する毎に、マクロ実行部21bがこのマクロブロックの処理を実行する。
タ装置5のシミュレータ31に対して、今から実行するマクロブロックのブロック番号と行番号を通知する(ステップS12)。
上記の通り、ブレーク位置情報35は、マクロビューア32によってユーザが任意にブレークポイントの設定を行うことで作成される。
ロックに関して上記ブレークポイントとして設定された“行”の行番号が記憶されるものである。
また、ブレークポイント設定画面40上においては、上記ブレークポイントとして設定された“行”がユーザに分かるような表示が行われる。図示の例では設定された“行”の左側に黒丸が表示される。図示の例では、3行目(行番号=2)の行が、ブレークポイントとして設定されていることが分かる。尚、ブレークポイントとして設定する行の数は、図示の例では1つだけだが、複数の行をブレークポイントとして設定してもよい。極端な例では全ての行をブレークポイントとして設定することも可能である。
上記の通り、ステップS21の説明に関して、図5、図6を参照して、ブレークポイントの設定と、この設定に応じたブレーク位置情報35について説明した。この説明により、ステップS21の処理は、ブレーク位置情報35において上記通知されたブロック番号のマクロブロックに関するブレークポイントの情報を参照することで行われる。つまり、上記の通り、ブレークポイントとして設定された1または複数の“行”の行番号が登録されているので、その中に上記通知された行番号があるか否かを判定する。
た“行”の処理を実行する(ステップS14)。最初は、先頭行の処理を実行することになる。
ここでは、例えば、100行から成るマクロブロックを例にして、100行目に何らかの問題があるものとする。
マクロブロックの修正→画面転送→確認を、1〜100行目まで繰り返し行う。
(a)画面作画(マクロブロック修正):20秒
(b)画面転送:20秒
(c)動作確認:20秒
よって、この例では、デバッグ作業に掛かる時間(ここでは問題の行を特定するまでに掛かる時間)は、以下の通りとなる。
一方、本例のシステムによれば、上記(a)画面作画と(b)画面転送が必要なくなり、(c)動作確認に掛かる時間と、ブレークポイント設定に掛かる時間だけで済む。上記の例の場合、全ての行をブレークポイントとする設定を行うことになる。あるいは、先頭行のみブレークポイント設定しておき、デバッグ作業中は必ず上記「ステップ実行」ボタンを操作するようにしてもよい。何れの方法でも、先頭行から1行ずつ動作確認を行うことになる。また、特に上記の例の場合、ブレークポイントとすべき行をどこにすべきか考える必要がなく、先頭行または全行指定で設定が完了するので、設定作業に掛かる時間は極めて短くて済む(例えば、数十秒程度)。
すなわち、マクロのステップ実行による1行毎の動作確認に掛かる時間は20秒であるので、
20秒×100行 = 2000秒(約33分)
となる。これに、上記設定作業に掛かる時間を加えたとしても、従来(100分)に比べて、非常に短い時間で済む(ほぼ1/3程度で済む)。
画面データのサイズが大きい場合や、マクロブロック内の行数が多いほど/マクロブロックの数が多いほど、作業効率の向上(時間短縮)の効果は更に大きくなるものと考えられる。
ってもよいし、行わなくてもよい。モード設定を行う場合は、作画エディタ装置5上でユーザが設定する。例えば、シミュレータ装置と連携動作させずにエミュレート装置単独で動作させたい場合には、上記通常モードに設定することで、ステップS11の判定がNOとなる処理を実行させることになる。
*従来のシミュレータ機能の概要
表示器1の動作を確認する場合、表示器1と実際の外部機器(実機;外部機器4)を接続して動作確認する方法と、例えば特許文献3のように、表示器とシミュレータ装置(パーソナルコンピュータ等によって構成される、外部機器(実機)をシミュレートするシミュレータ装置)を接続して、動作確認する方法が提案されている。また、パーソナルコンピュータ等によって構成される、表示器をエミュレートするエミュレート装置と、同パーソナルコンピュータ上に構成されるシミュレータソフトとの連動により、動作確認する方法が考えられる。
リの内容を容易に変更することができる。
尚、マクロデータは、図5で示す通り画面データの一部であり、プログラマブル表示器内とシミュレータソフト内に同じ内容のデータを持つ。各種マクロブロックを実行することによって、演算処理や、プログラマブル表示器の動作や外部機器のメモリ操作等を、任意のタイミングで行うことができる。この任意のタイミングについても、具体例を以下に示している。尚、以下の具体例では、各種マクロブロック(オープンマクロ、ONマクロ等)を、例えば[スクリーン]、[スイッチ]等のようにグループ分けしたうえで示している。また、具体的なマクロブロック名称を示さず、概略的な説明のみとしている場合もある。
- オープンマクロ:スクリーンを表示したとき1回実行
- クローズマクロ:スクリーンを切り替えたとき1回実行
- サイクルマクロ:スクリーンを表示中繰り返し実行
[マルチオーバーラップ]
- オープンマクロ:マルチオーバーラップを表示したとき1回実行
- クローズマクロ:マルチオーバーラップを消したとき1回実行
[スイッチ]
- ONマクロ:スイッチを押したとき1回実行
- OFFマクロ:スイッチから指が離れたとき1回実行
[ファンクションスイッチ]
- ONマクロ:ファンクションスイッチを押したとき1回実行
- OFFマクロ:ファンクションスイッチから指が離れたとき1回実行
[初期マクロ]
コントローラと通信を開始する前にマクロブロックのマクロを1回実行。
読込エリアのマクロ実行ビットが0 →1(エッジ)でマクロブロックのマクロを1回実行。
表示している画面に関係なく、常時設定時間ごとにマクロブロックのマクロを実行。
[インターバルタイマ]
インターバルタイマを設定したスクリーンを表示中、設定内容に従ってタイマが起動。
[マクロモード]
マクロモードが設定されている画面を表示中、設定メモリの状態によってマクロを実行。
- OFFマクロ:メモリのビットが1 → 0(エッジ)で実行
2 通信インタフェース
3 通信ライン
4 外部機器
5 作画エディタ装置
10 制御ユニット
11 グラフィックコントローラ
12 ROM
13 RAM
14 通信コントローラ
15 CPU
16 タッチパネルコントローラ
17 内部バス
18 タッチパネル
19 ディスプレイ
21 本体プログラム
21a 通信選択部
21b マクロ実行部
22 通信プログラム
23 シミュレータ通信プログラム
24 シミュレータ動作判定情報
25 画面データ
26 マクロデータ
30 プログラマブル表示器用作画ソフト
31 シミュレータ
32 マクロビューア
33 画面データ
34 マクロデータ
35 ブレーク位置情報
40 ブレークポイント設定画面
41 「ブレークポイント設定」ボタン
42 「ブレークポイント解除」ボタン
43 「実行」ボタン
Claims (6)
- プログラマブル表示器とシミュレータ装置とが接続されたシステムであって、
前記プログラマブル表示器は、
各種マクロブロックより成るマクロデータが付随された画面データを記憶する画面データ記憶手段と、
該画面データを用いて任意のイベントに応じた処理を実行し、該処理に係わり前記マクロブロックのプログラムを実行する際、1行毎にその行番号を前記シミュレータ装置に通知し、実行許可が返信されてくると当該行のプログラムを実行する処理実行手段とを有し、
前記シミュレータ装置は、
前記画面データ記憶手段に記憶されているマクロデータと同じマクロデータを記憶する記憶手段と、
該記憶手段に記憶されているマクロデータのマクロブロックのプログラムの任意の行をブレークポイントに設定させて、該設定内容をブレーク位置情報として記憶するブレークポイント設定支援手段と、
前記処理実行手段から前記行番号の通知がある毎に、前記ブレーク位置情報を参照して、該行番号の行が前記ブレークポイントであるか否かを判定し、ブレークポイントではない場合には前記実行許可を返信し、ブレークポイントである場合には前記実行許可を返信せずに実行再開待ち状態とすると共にその後に所定の指示があった場合に前記実行許可を返信するマクロ実行制御手段と、
を有することを特徴とする表示/制御・シミュレートシステム。 - 前記シミュレータ装置は、前記実行再開待ち状態におけるシミュレート結果を表示するシミュレート結果表示手段を更に有することを特徴とする請求項1記載の表示/制御・シミュレートシステム。
- 前記マクロ実行制御手段は、前記所定の指示としてステップ実行があった場合には、前記通知された行番号の行の次の行をブレークポイントに設定したうえで、前記実行許可を返信することを特徴とする請求項1または2記載の表示/制御・シミュレートシステム。
- 前記プログラマブル表示器は、プログラマブル表示器の実機、または該実機の動作をエミュレートするエミュレート装置であることを特徴とする請求項1〜3の何れかに記載の表示/制御・シミュレートシステム。
- プログラマブル表示器とシミュレータ装置とが接続されたシステムにおける該プログラマブル表示器であって、
各種マクロブロックより成るマクロデータが付随された画面データを記憶する画面データ記憶手段と、
該画面データを用いて任意のイベントに応じた処理を実行し、該処理に係わり前記マクロブロックのプログラムを実行する際、1行毎にその行番号を前記シミュレータ装置に通知し、実行許可が返信されてくると当該行のプログラムを実行する処理実行手段と、
を有することを特徴とするプログラマブル表示器。 - プログラマブル表示器とシミュレータ装置とが接続されたシステムにおける該シミュレータ装置であって、
前記プログラマブル表示器側に記憶されているマクロデータと同じマクロデータを記憶する記憶手段と、
該記憶手段に記憶されているマクロデータのマクロブロックのプログラムの任意の行をブレークポイントに設定させて、該設定内容をブレーク位置情報として記憶するブレーク
ポイント設定支援手段と、
任意のマクロブロックを実行中の前記プログラマブル表示器からこれから実行する行の行番号の通知がある毎に、前記ブレーク位置情報を参照して、該行番号の行が前記ブレークポイントであるか否かを判定し、ブレークポイントではない場合には実行許可をプログラマブル表示器へ返信し、ブレークポイントである場合には前記実行許可を返信せずに実行再開待ち状態とすると共にその後に所定の指示があった場合に前記実行許可を返信するマクロ実行制御手段と、
を有することを特徴とするシミュレータ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009269085A JP5384306B2 (ja) | 2009-11-26 | 2009-11-26 | 表示/制御・シミュレートシステム、そのプログラマブル表示器、シミュレータ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009269085A JP5384306B2 (ja) | 2009-11-26 | 2009-11-26 | 表示/制御・シミュレートシステム、そのプログラマブル表示器、シミュレータ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011113304A JP2011113304A (ja) | 2011-06-09 |
JP5384306B2 true JP5384306B2 (ja) | 2014-01-08 |
Family
ID=44235594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009269085A Active JP5384306B2 (ja) | 2009-11-26 | 2009-11-26 | 表示/制御・シミュレートシステム、そのプログラマブル表示器、シミュレータ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5384306B2 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3512705B2 (ja) * | 2000-03-31 | 2004-03-31 | 株式会社デジタル | プログラマブル表示器の画面シミュレーションシステム、画面シミュレーション方法および画面シミュレーションのためのプログラムを記録した記録媒体 |
JP4542494B2 (ja) * | 2005-10-17 | 2010-09-15 | 株式会社キーエンス | プログラマブル表示装置、デバッグ支援プログラム及びデバッグ装置の制御方法 |
JP4941674B2 (ja) * | 2008-03-14 | 2012-05-30 | オムロン株式会社 | シミュレーション・システム |
-
2009
- 2009-11-26 JP JP2009269085A patent/JP5384306B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011113304A (ja) | 2011-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2804058B1 (en) | System and method for emulation of an automation control system | |
EP2816427B1 (en) | Plc simulation system, plc simulator, recording medium, and simulation method | |
WO2010017835A1 (en) | A system and a method for off-line programming of an industrial robot | |
JP2006350549A (ja) | 統合シミュレーションシステム | |
CN110197698B (zh) | 自动测试ssd不同电源状态影响的方法及装置 | |
JP5552300B2 (ja) | 接続機器シミュレータのシーケンス制御装置、方法、及びプログラム | |
KR102198204B1 (ko) | 시뮬레이션 장치 | |
WO2020039900A1 (ja) | 情報処理装置およびプログラム | |
US20160171132A1 (en) | Simulation device and simulation program | |
JP2014099058A (ja) | 制御システムおよび制御装置 | |
WO2015079503A1 (ja) | システム構築支援装置 | |
JP4566904B2 (ja) | システム、制御プログラムおよびそのプログラムを記録した記録媒体、ならびに画像データ作成プログラムおよびそのプログラムを記録した記録媒体 | |
JP2013084112A (ja) | プログラマブルコントローラシステム、そのプログラミング装置、プログラマブルコントローラ、プログラム、デバッグ方法 | |
JP4941674B2 (ja) | シミュレーション・システム | |
JP5384306B2 (ja) | 表示/制御・シミュレートシステム、そのプログラマブル表示器、シミュレータ装置 | |
JP2007179112A5 (ja) | ||
JP5492573B2 (ja) | トレース機能を備える接続機器シミュレータ装置、方法、及びプログラム | |
WO2001097035A1 (fr) | Procede et systeme d'evaluation automatique, et support de stockage d'un programme d'evaluation automatique | |
JP2008033572A (ja) | 画面作成装置、画面作成プログラムおよびそれを記録した記録媒体 | |
JP5926584B2 (ja) | Plcシステム、そのプログラマブル表示器、作画エディタ装置 | |
JP2003044277A (ja) | プログラム開発支援装置、プログラム開発支援プログラムおよびそれを記録した記録媒体 | |
JP2009244952A (ja) | モーションコントローラ、シミュレーション方法及びシミュレーションプログラム | |
JPH07219980A (ja) | テスト実行方式 | |
JP2007172128A (ja) | I/oシミュレータ装置 | |
JP2022142493A (ja) | シミュレーション装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A625 | Written request for application examination (by other person) |
Free format text: JAPANESE INTERMEDIATE CODE: A625 Effective date: 20120514 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130904 |
|
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: 20130910 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131002 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5384306 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |