JP2008123559A - Plcシミュレータ装置及びシミュレーションするためのプログラムとこれが記録された記録媒体 - Google Patents

Plcシミュレータ装置及びシミュレーションするためのプログラムとこれが記録された記録媒体 Download PDF

Info

Publication number
JP2008123559A
JP2008123559A JP2008034448A JP2008034448A JP2008123559A JP 2008123559 A JP2008123559 A JP 2008123559A JP 2008034448 A JP2008034448 A JP 2008034448A JP 2008034448 A JP2008034448 A JP 2008034448A JP 2008123559 A JP2008123559 A JP 2008123559A
Authority
JP
Japan
Prior art keywords
task
instruction
execution
processing time
program
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.)
Granted
Application number
JP2008034448A
Other languages
English (en)
Other versions
JP4811678B2 (ja
Inventor
Yutaka Abe
裕 阿部
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
Omron Tateisi Electronics Co
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, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2008034448A priority Critical patent/JP4811678B2/ja
Publication of JP2008123559A publication Critical patent/JP2008123559A/ja
Application granted granted Critical
Publication of JP4811678B2 publication Critical patent/JP4811678B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

【課題】タスクの実行可能状態及び待機の内部状態の変更やサイクルタイムの短縮化をシミュレーションで行なえるPLCシミュレータ装置及びシミュレーションするためのプログラムとこれが記録された記録媒体を提供する。
【解決手段】タスク起動命令とタスク待機命令によって他のタスクの実行状態を制御できるPLCプログラムの命令実行をシミュレーションするPLCシミュレータ装置10において、デバッガ30のタスク管理部31からラダー実行エンジン20のメイン処理部21に対して、タスクの内部状態の変更指示が行なわれ、その変更指示に基づいてタスクの内部状態が待機状態から実行可能状態に、又は実行可能状態から待機状態に変更される。
【選択図】図1

Description

この発明は、タスク起動命令とタスク待機命令によって他のタスクの実行状態を制御できるPLCプログラムの命令実行や、タスク単位で実行されるPLCプログラムの命令実行をシミュレーションするPLCシミュレータ装置及びシミュレーションするためのプログラムとこれが記録された記録媒体に関する。
従来、PLC(プログラマブルロジックコントローラ)のプログラムをデバッグする場合には、例えばパソコン上でプログラムを仮想的に1命令ごと実行させることによってプログラムのシミュレーションを行ない、プログラムのデバッグを行なっていた。
ところで、従来、PLCのプログラムは1つの連続したプログラムとして構成されていたが、近年、1つの連続したプログラムをタスクという複数のプログラムに分割してPLCのプログラムを構成する方式が普及してきている。
図6はタスクでプログラムを構成する場合の説明図であるが、従来は同図(a)に示す如く、1つの連続したプログラムでPLCプログラム(ユーザプログラム)を構成していたが、タスクを利用したプログラムでは、従来の1つの連続したプログラムを、同図(b)に示す如く、複数のタスク(同図ではタスク1,2,3)に分割してプログラムを構成する。各タスクに割り付けたプログラムは、従来と同じく最後にEND命令をもった1つのプログラムである。
タスクの特徴は、その実行及び非実行(「待機」と呼ぶ)を、他のタスクからの「タスク制御命令」によって任意に制御できることである。図6(b)では、タスク1とタスク3が実行状態で、タスク2は非実行(待機)とされている。
従って、いくつかのプログラム部品をタスクとして組み込んでおき(プログラムのモジュール化)、品種や工程などに応じて、あるプログラム(タスク)だけを実行することができる(プログラムの段取り替え)。
また、必要なときに、必要なプログラムのみを実行させることができるため、性能(サイクルタイム)向上にも貢献する。
また、プログラムのモジュール化が可能なので、デバッグもタスクごとのデバッグが行なえる。
なお、いったん実行とされたタスクは、次のサイクル以降でも実行される。また、いったん待機とされたタスクは、他のタスクから実行に戻されない限り、次のサイクル以降でも待機のままである。
従来のプログラムを実行する場合とタスクを実行する場合の差異を、図7を参照しながら模式的に説明すると、従来は、図7(a)に示す如く、巻物50をはじめから読んでいくイメージなのに対して、タスクは、図7(b)に示す如く、カードを個々に読んでいくイメージである。
すでに述べたように、タスクの場合、各カードは互いに実行、待機を指示でき、待機とされたカードは読み飛ばされる。実行、待機の指示はタスク制御命令にて行なう。図7(b)の場合、タスク1からのタスク制御命令でタスク2を実行可能状態(活性化)とし、タスク3を待機(非活性化)としている。
ところで、タスクにはサイクル実行タスクと割込みタスクがある。
サイクル実行タスクは、1サイクルに1回、タスクの状態が「実行可能状態」なら実行されるタスクである。
また、割込みタスクは割込み要因が発生すると、サイクル実行タスク実行中でも割り込んで実行されるタスクである。割込みタスクには次の4種類ある。
(1)電断割込みタスク:電源断時に実行
(2)定時割込みタスク:一定時間間隔で実行
(3)I/O割込みタスク:割込み入力ユニットの接点立ち上がりで実行
(4)外部割込みタスク:外部の高機能ユニット等から要求があったとき実行
ここで、このようなタスクより構成されたプログラムをデバッグのためシミュレーションしようとする場合、以下の問題点があった。
(1)サイクル実行タスクはシミュレーションできるのでデバッグが行なえるが、割込みタスクは実機と接続されていないのでシミュレーションできず、デバッグが行なえない。
そこで、従来はPLCシステムを構築後、割込み要因を発生させるデバッグ用装置を取り付け、その装置を手動により操作することで行なっていた。
しかし、このとき、不具合が発生した場合には、すでにできあがったプログラムの再度の検証が必要となり、後処理が面倒であるという問題点があった。また、別途デバッグ用装置が必要になり、コスト高になるという問題点があった。
(2)また、従来は、タスクの内部状態の変更、すなわち、実行可能状態、待機の変更は、実際にPLCシステムを構築後、PLCに接続されたプログラミングコンソールやパソコン上のアプリケーションを通じて、あるいは上記の如き他のタスクからのタスク制御命令の実行を通じてのみ変更可能であった。
従って、タスクの内部状態を変更するデバッグ作業はシステム構築後の工程で行なわれることになり、同じく不具合発生時の後処理が面倒であるという問題点があった。
(3)また、タスクでプログラムを構成する場合でも、なるべくサイクルタイムを短くしなければならないが、そのための特別の構成がなく、サイクルタイムの短縮化が困難であるという問題点があった。
本発明は、タスクの実行可能状態及び待機の内部状態の変更やサイクルタイムの短縮化をシミュレーションで行なえるPLCシミュレータ装置及びシミュレーションするためのプログラムとこれが記録された記録媒体を提供することを目的とする。
上記目的を達成するために、本発明は、タスク起動命令とタスク待機命令によって他のタスクの実行状態を制御できるPLCプログラムの命令実行をシミュレーションするPLCシミュレータ装置において、タスクの内部状態を待機状態と実行可能状態に相互に変更できる内部状態変更手段を有することを特徴とする。
本発明は、タスク単位で実行されるPLCプログラムの命令実行をシミュレーションするPLCシミュレータ装置において、タスク中の1命令毎の実行時または非実行時の処理時間を計測する1命令処理時間計測手段と、上記1命令処理時間計測手段で計測された処理時間を積算して1タスクの処理時間を計測する1タスク処理時間計測手段と、上記1タスク処理時間計測手段で計測された処理時間を記憶する1タスク処理時間記憶手段と、を有することを特徴とする。
本発明は、タスク起動命令とタスク待機命令によって他のタスクの実行状態を制御できるPLCプログラムの命令実行と、タスク単位で実行されるPLCプログラムの命令実行とをシミュレーションするPLCシミュレータ装置において、タスクの内部状態を待機状態と実行可能状態に相互に変更できる内部状態変更手段と、タスク中の1命令毎の実行時または非実行時の処理時間を計測する1命令処理時間計測手段と、上記1命令処理時間計測手段で計測された処理時間を積算して1タスクの処理時間を計測する1タスク処理時間計測手段と、上記1タスク処理時間計測手段で計測された処理時間を記憶する1タスク処理時間記憶手段と、を有することを特徴とする。
本発明は、タスク起動命令とタスク待機命令によって他のタスクの実行状態を制御できるPLCプログラムの命令実行をシミュレーションするプログラムが記録された記録媒体であって、上記記録媒体は、コンピュータを、タスクの内部状態を待機状態と実行可能状態に相互に変更できる内部状態変更手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする。
本発明は、タスク単位で実行されるPLCプログラムの命令実行をシミュレーションするためのプログラムが記録された記録媒体であって、上記記録媒体は、コンピュータを、タスク中の1命令毎の実行時または非実行時の処理時間を計測する1命令処理時間計測手段と、上記1命令処理時間計測手段で計測された処理時間を積算して1タスクの処理時間を計測する1タスク処理時間計測手段と、上記1タスク処理時間計測手段で計測された処理時間を記憶する1タスク処理時間記憶手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする。
本発明は、タスク起動命令とタスク待機命令によって他のタスクの実行状態を制御できるPLCプログラムの命令実行をシミュレーションするプログラムであって、上記プログラムは、コンピュータを、タスクの内部状態を待機状態と実行可能状態に相互に変更できる内部状態変更手段として機能させるためのプログラムであることを特徴とする。
本発明は、タスク単位で実行されるPLCプログラムの命令実行をシミュレーションするためのプログラムであって、上記プログラムは、コンピュータを、タスク中の1命令毎の実行時または非実行時の処理時間を計測する1命令処理時間計測手段と、上記1命令処理時間計測手段で計測された処理時間を積算して1タスクの処理時間を計測する1タスク処理時間計測手段と、上記1タスク処理時間計測手段で計測された処理時間を記憶する1タスク処理時間記憶手段として機能させるためのプログラムであることを特徴とする。
ここで、PLCプログラムの命令実行をシミュレーションするとは、PLC上で制御対象機器の動作を制御する制御プログラムが設計通り動作するか否か調べるため、パソコン等でPLCプログラムを仮想的に実行することをいう。従って、PLCシミュレータ装置とは、そうして使用されるパソコン等をいう。なお、PLCシミュレータ装置は、PLC、PLCと表示装置の組み合わせ等でも構成できる。
ここで、本発明でシミュレーションするPLCプログラムは、サイクル実行タスクと割込みタスクより構成されている。
サイクル実行タスクは、1サイクルに1回、タスクの状態が「実行可能状態」なら実行されるタスクである。
また、割込みタスクは割込み要因が発生すると、サイクル実行タスク実行中でも割り込んで実行されるタスクである。割込みタスクには次の4種類ある。
(1)電断割込みタスク:電源断時に実行
(2)定時割込みタスク:一定時間間隔で実行
(3)I/O割込みタスク:割込み入力ユニットの接点立ち上がりで実行
(4)外部割込みタスク:外部の高機能ユニット等から要求があったとき実行
ここで、このようなタスクより構成されたプログラムをデバッグのためシミュレーションしようとする場合、サイクル実行タスクはシミュレーションできるのでデバッグが行なえるが、外部の実機から起動される割込みタスクはシミュレーション時、装置は実機と接続されていないのでシミュレーションできず、デバッグが行なえない。
そこで、本発明では、割込み要因発生手段で特定の割込みタスクを起動するための割込み要因を発生させ、タスク実行手段で上記割込み要因発生手段で指定された割込みタスクを実行するようにしてもよい。
特定の割込みタスクを起動するための割込み要因を発生させるとは、実際には電断割込みタスクでは電源断、定時割込みタスクでは一定時間の到来、I/O割込みタスクでは割込み入力ユニットの接点立ち上がり、外部割込みタスクでは外部の高機能ユニット等から要求等であるが、実施形態では、図2に示したメッセージウィンドウ32上のタスク種別表示部32−2に表示されたタスク中のうちいずれかの割込みタスクの指定及びこれに続くポップアップ画面(図示せず)中の「起動」ボタンのクリックに基づくタスク管理部31の割込みタスク起動指示である。
また、タスク実行手段で上記割込み要因発生手段で指定された割込みタスクを実行するとは、実施形態では、図3のフローチャートのステップ110〜116の割込みタスク実行処理である。
このように、本発明では、割込みタスクをシミュレーション上で実行でき、PLCシステムを構築前にデバッグを行なうことができる。
従って、PLCシステム構築後の、すでにできあがったプログラムの再度の検証等が不要となり、デバッグ効率が向上する。また、デバッグ用装置が不要になり、低コストにデバッグを行なうことができる。
また、本発明において、タスク起動命令とタスク待機命令によって他のタスクの実行状態を制御するとは、タスクを使用したプログラムでは、例えば、図7(b)に示す如く、タスク1からのタスク制御命令でタスク2を実行可能状態(活性化)とし、タスク3を待機(非活性化)としていることをいう。
このように、タスクを使用したプログラムでは、他のタスクからのタスク制御命令によらなければタスク内の実行状態を変更できない。
そこで、本発明では、上記の通り、内部状態変更手段を設けて、タスクの内部状態を待機状態と実行可能状態に相互に変更できるようにした。
内部状態変更手段は、実施形態では、図4の処理である。
従って、同じく、PLCシステム構築後の、すでにできあがったプログラムの再度の検証等が不要となり、デバッグ効率が向上する。
ここで、シミュレーションするためのプログラムが記録された記録媒体は、例えば、フロッピィディスクで構成される。
この記録媒体に記録されたプログラムがパソコン等より構成されるPLCシミュレータ装置に読み取られて実行されると、割込みタスクをシミュレーション上で実行できる。
本発明では以下の効果を奏する。
(1)本発明では、タスク起動命令とタスク待機命令によって他のタスクの実行状態を制御できるPLCプログラムの命令実行をシミュレーションするPLCシミュレータ装置において、タスクの内部状態を待機状態と実行可能状態に相互に変更できる内部状態変更手段を具備するようにしたので、タスクの内部状態をシミュレーション上で変更できる。
従って、同じく、PLCシステム構築後の、すでにできあがったプログラムの再度の検証等が不要となり、デバッグ効率が向上する。
(2)また、本発明では、タスク単位で実行されるPLCプログラムの命令実行をシミュレーションするPLCシミュレータ装置において、タスク中の1命令毎の実行時または非実行時の処理時間を計測する1命令処理時間計測手段と、上記1命令処理時間計測手段で計測された処理時間を積算して1タスクの処理時間を計測する1タスク処理時間計測手段と、上記1タスク処理時間計測手段で計測された処理時間を記憶する1タスク処理時間記憶手段と、を具備するようにしたので、タスクごとの実行時間等が分かり、例えばプログラムの1サイクルタイムが長い場合等には、そのプログラムを構成する各タスクの実行時間を検証し、1サイクルタイムの短縮化に資することができる。
以下、この発明を実施するための最良の形態について、添付した図面を参照しながら詳細に説明する。
図1は、この発明に係わるPLCシミュレータ装置の概略構成を示すブロック図である。
図1において、PLCシミュレータ装置10はパソコン等より構成され、タスクより構成されるPLCプログラムの命令実行をシミュレーションすることによってプログラムのデバッグを支援するもので、ラダー実行エンジン20とデバッガ30より構成されている。
ここで、ラダー実行エンジン20は、デバッガ30からの指令によってPLCのプログラムを実行するもので、メイン処理部21、ラダー実行処理部22、周辺処理部23より構成されている。
ここで、メイン処理部21はデバッガ30からの指示によりプログラムの実行、停止、タスクの切り替え、タスクの内部状態の変更、プログラムの実行時間の積算処理等を行なう。また、ラダー実行処理部22及び周辺処理部23の管理を行なう。
ラダー実行処理部22は、メイン処理部21からの指令によりプログラムを1命令ずつ実行する。
周辺処理部23は、ラダー実行処理部22の非実行時、メイン処理部21からの指令により、図示しない通信機器(例えばPLC)やアプリケーションとの通信処理を行なう。
デバッガ30は、デバッグのためラダー実行エンジン20に対してプログラムを1命令ずつ実行するよう指示するとともに、本実施形態では特に、ラダー実行エンジン20に対して割込みタスクの起動指示、タスクの内部状態の変更指示、及びタスクの実行時間の管理等が行なえるよう構成され、タスク管理部31とメッセージウィンドウ32を具備している。
ここで、タスク管理部31は、後に詳述する如く、PLCプログラムを構成するタスクの管理を行なうものである。
メッセージウィンドウ32はデバッガ30の行なうプログラムのデバッグを支援するものである。
ところで、本実施形態は、PLCプログラムのシミュレーションをタスク単位で行なうものであるが、その際、従来できなかったシミュレーション上での割込みタスクの実行、シミュレーション上でのタスクの内部状態の変更、シミュレーション上での各タスクの実行時間の演算を行なう。
そこで、本実施形態では、デバッガ30のメッセージウィンドウ32には、図2に示す如きメッセージ画面が表示され、オペレータはこの画面上でマウス等を利用した各種操作を行なうことで上記の如き処理を行なう。
なお、請求項でいうシミュレーションするためのプログラムが記録された記録媒体とは、上記の如き処理を行なうプログラムが記録された記録媒体であり、フロッピィディスク等に記録される。
なお、図2において、メッセージウィンドウ32には、タスク表示切替部32−1、タスク種別表示部32−2、タスクNo.表示部32−3、タスク設定表示部32−4、[閉じる]ボタン32−5、メインメニュー表示部32−6、モニタボタン32−7、タスク起動間隔表示部32−8、タスク状態表示部32−9、タスク実行回数表示部32−10、タスク実行時間表示部32−11が設けられている。
ここで、タスク表示切替部32−1は、この部分をマウスでクリックすることによってタスクの表示を切り替えるものである。
タスク種別表示部32−2は、タスクの種別を表示するもので、割込みタスクかサイクル実行タスクかの種別が表示される。
タスクNo.表示部32−3はタスクの番号を表示するものである。
タスク設定表示部32−4はタスクの設定状態を表示するもので、割込みタスクの場合は割込みの種別、すなわち、「定時」割込みタスクか、「外部」割込みタスクか、「I/O」割込みタスクか等の種別が表示される。なお、サイクル実行タスクは種別がないので、「サイクル」とのみ表示される。
[閉じる]ボタン32−5は、現在の画面を終了させるものである。
メインメニュー表示部32−6は「タスク」とか「ヘルプ」とかのメインメニューが表示されるものである。
モニタボタン32−7は、タスクの状態をモニタするためのスイッチである。
タスク起動間隔表示部32−8は定時割込みタスクの起動間隔を表示するものである。
タスク状態表示部32−9は、サイクル実行タスクの現在の状態を表示するもので、サイクル実行タスクは、未実行状態(INI)、実行可能状態(READY)、実行状態(RUN)、待機状態(WAIT)の4つの状態を遷移するので、いずれの状態かが表示される。
タスク実行回数表示部32−10は、そのタスクのそれまでの実行回数が表示される。
タスク実行時間表示部32−11はそのタスクの実行時間が表示される。
図3は、シミュレーション上で割込みタスクを実行する場合の処理手順を示すフローチャートである。
この処理では、まず、デバッガ30のタスク管理部31よりラダー実行エンジン20のメイン処理部21に対して割込みタスク起動を指示する(ステップ100)。これは、図2に示したメッセージウィンドウ32上でタスク種別表示部32−2に表示されたタスク中のうちいずれかの割込みタスクをマウスでクリックし、このクリックでメッセージウィンドウ32には割込みタスク起動のためのポップアップ画面(図示せず)が出るので、さらにポップアップ画面中の「起動」ボタンをクリックすることにより行なう。
これによって、メイン処理部21は割込み要因を受け取る(ステップ102)。なお、割込み要因とは、実際には電断割込みタスクでは電源断、定時割込みタスクでは一定時間の到来、I/O割込みタスクでは割込み入力ユニットの接点立ち上がり、外部割込みタスクでは外部の高機能ユニット等から要求等であるが、シミュレーション上では、上記の如き、メッセージウィンドウ32上のタスク種別表示部32−2に表示されたタスク中のうちいずれかの割込みタスクの指定及びこれに続くポップアップ画面中の「起動」ボタンのクリックに基づくタスク管理部31の割込みタスク起動指示である。
こうして、割込み要因を受け取ると、メイン処理部21は割込み要因の受け取りを記憶するが、この記憶は後にステップ108で判断される。
次に、メイン処理部21はラダー実行処理部22に対して1命令の実行を依頼する(ステップ104)。これによって、ラダー実行処理部22は1命令を実行する(ステップ106)。
次に、ステップ108では割込み要因が発生しているか否かが調べられる。ここでは、ステップ102でメイン処理部21は割込み要因を受け取っているので、割込み要因は発生していると判断される(ステップ108でYES)。従って、ステップ110に進み、メイン処理部21は割込み要因を分析し、該当する割込みタスクへ実行を移す。該当する割込みタスクとは、ステップ102で受け取った割込みタスクである。
次に、該当する割込みタスクの1命令の実行依頼をメイン処理部21からラダー実行処理部22に対して行なう(ステップ112)。ラダー実行処理部22は1命令を実行する(ステップ114)。
次に、割込みタスクの最後のプログラムか否か、すなわちEND命令か否かが調べられ(ステップ116)、プログラムの最後でない場合は(ステップ116でNO)、ステップ112に戻ってさらに1命令を行なうが、プログラムの最後の場合は(ステップ116でYES)、ステップ108に戻って、再度割込み要因が発生しているか否かが調べられる。
ここで、割込み要因が発生している場合は(ステップ108でYES)、再びステップ110に進み、該当する割込みタスクを実行する。なお、この場合の割込み要因の発生は、割込みタスク実行中にさらに割込みタスクの起動があった場合である。
また、割込み要因が発生していない場合は(ステップ108でNO)、プログラム(PLCプログラム)の最後か否かが調べられ(ステップ118)、プログラムの最後でない場合は(ステップ118でNO)、ステップ104に進んでさらに1命令を実行する。また、プログラムの最後の場合は(ステップ118でYES)、メイン処理部21は周辺処理部23に対して周辺処理を行なうよう指示する(ステップ120)。そして、再びステップ104の処理を行なう。
以上が、シミュレーション上で割込みタスクを実行する場合の処理手順である。
なお、以上の説明では、割込み要因の発生方法として、図2に示したメッセージウィンドウ32上でタスク種別表示部32−2に表示されたタスク中のうちいずれかの割込みタスクをマウスでクリックする等して行なうようにしたが、その他、実機を接続して特定のI/Oの入力の変化で割込み要因を発生させるようにすることもできる。
なお、ステップ108で、割込み要因が発生していると判別された場合は、ステップ110以下の割込みタスクの実行を行ない、割込みタスクの実行中にさらに割込み要因が発生した場合は、再度ステップ110以下の割込みタスクの実行を行なうようにしたが、これは新しく発生した割込み要因は保留とし、現在実行している割込みタスクが終了すると保留した割込みタスクを実行するようにしたものである。つまり、割込みタスクの保留があると、ステップ108では、割込み要因が発生していると判断する。
このように、図3の処理では、図2に示したメッセージウィンドウ32上でタスク種別表示部32−2に表示されたタスク中のうちいずれかの割込みタスクをマウスでクリックする等して特定の割込み要因を発生させ、割込みタスクのシミュレーションを行なうようにしたので、PLCシステムの構築前にシミュレーションによってプログラムのデバッグが行なえ、PLCシステムの構築前に割込みタスクを含めた全てのタスクのデバッグを確実に行なうことができる等の効果を奏する。
次に、タスクの内部状態を、シミュレーションによって実行可能状態から待機状態に、又は待機状態から実行可能状態に変更する場合の処理手順を図4のフローチャートに基づいて説明する。
このタスクの内部状態変更処理では、まず、デバッガ30のタスク管理部31でタスクの内部状態変更指示を行なう(ステップ130)。次に、この変更指示は待機状態から実行可能状態への変更指示か否かが調べられ(ステップ132)、待機状態から実行可能状態への変更指示の場合は(ステップ132でYES)、ラダー実行エンジン20のメイン処理部21は指定されたタスクの内部状態を実行可能状態にする(ステップ134)。
また、変更指示が待機状態から実行可能状態への変更指示でない場合は(ステップ132でNO)、次に、この変更指示は実行可能状態から待機状態への変更指示か否かが調べられ(ステップ136)、実行可能状態から待機状態への変更指示の場合は(ステップ136でYES)、ラダー実行エンジン20のメイン処理部21は指定されたタスクの内部状態を待機状態にする(ステップ138)。
また、変更指示が実行可能状態から待機状態への変更指示でない場合は(ステップ136でNO)、当処理を終了する。
このように、本実施形態では、タスクの内部状態を、シミュレーションによって実行可能状態から待機状態に、又は待機状態から実行可能状態に変更できる。
従って、タスクの内部状態を変更するデバッグ作業をシステム構築前に行なうことができ、不具合発生を事前に防止できる等の効果を奏する。
次に、シミュレーション上で各タスクの実行時間等の演算を行なう場合の処理手順を図5のフローチャートに基づいて説明する。
この処理においては、タスクの実行が開始されると(ステップ150)、1命令のニモニック(コード)読込みを行ない(ステップ152)、実行条件成立か否かが判別される(ステップ154)。これは、1命令について所定の入力条件が成立したか否かが調べられているもので、実行条件不成立の場合は(ステップ154でNO)、非実行処理時間を読込み(ステップ156)、ステップ162に進む。
一方、実行条件成立の場合は(ステップ154でYES)、ニモニック処理、すなわち1命令を実行し(ステップ158)、1命令の実行処理時間を読込む(ステップ160)。そして、前回までの処理時間に積算するが(ステップ162)、初めての命令実行の場合は積算しない。
次に、1タスクの実行が終了したか否かが調べられ(ステップ164)、1タスクの実行が終了しない場合は(ステップ164でNO)、ステップ152に戻り、1タスクの実行を継続するが、1タスクの実行が終了した場合は(ステップ164でYES)、ステップ166に進み、当該1タスクの処理時間を記憶し、タスク数を1インクリメントし(ステップ168)、さらに最後のタスクか否かが調べられる(ステップ170)。
ここで、最後のタスクでない場合は(ステップ170でNO)、ステップ152に戻り、1タスクの実行を継続するが、最後のタスクの場合は(ステップ170でYES)、タスクの総実行時間(プログラムの総実行時間)を記憶し(ステップ172)、実行した総タスク数を記憶し(ステップ174)、タスクの実行を終了する(ステップ176)。
このように、本実施形態では、シミュレーションにおいて、
(1)1つのタスクを構成する1命令ごとの実行時又は非実行時の処理時間を記憶し、
(2)1つのタスクの実行が終了すると各命令の処理時間を積算してその1タスクの処理時間を記憶し、
(3)全てのタスクの実行が終了すると、タスクの総実行時間と、プログラムを構成する総タスク数を記憶
するようにした。
このため、タスクごとの実行時間等が分かり、例えばプログラムの1サイクルタイムが長い場合等には、そのプログラムを構成する各タスクの実行時間を検証し、1サイクルタイムの短縮化に資することができる等の効果を奏する。
この発明に係わるPLCシミュレータ装置の一実施形態の概略構成を示すブロック図である。 図1に示したPLCシミュレータ装置で実行されるPLCプログラムの内容を示す図。 図2に示したプログラムが実行された場合のデバッガのメッセージウィンドウにおける表示例を示す図。 図1に示した実施形態の処理手順を示すフローチャート。 同じく図1に示した実施形態の処理手順を示すフローチャート。 タスクでプログラムを構成する場合の説明図で、(a)は1つの連続したプログラムでPLCプログラム(ユーザプログラム)を構成する場合、(b)は(a)のプログラムを複数のタスク(同図ではタスク1,2,3)に分割してプログラムを構成する場合の説明図である。 従来のプログラムを実行する場合とタスクを実行する場合の差異を模式的に説明する図で、(a)は従来のプログラムを実行する場合、(b)はタスクを実行する場合の説明図である。
符号の説明
10 PLCシミュレータ装置
20 ラダー実行エンジン
21 メイン処理部
22 ラダー実行処理部
23 周辺処理部
30 デバッガ
31 タスク管理部
32 メッセージウィンドウ
32−1 タスク表示切替部
32−2 タスク種別表示部
32−3 タスクNo.表示部
32−4 タスク設定表示部
32−5 [閉じる]ボタン
32−6 メインメニュー表示部
32−7 モニタボタン
32−8 タスク起動間隔表示部
32−9 タスク状態表示部
32−10 タスク実行回数表示部
32−11 タスク実行時間表示部

Claims (7)

  1. タスク起動命令とタスク待機命令によって他のタスクの実行状態を制御できるPLCプログラムの命令実行をシミュレーションするPLCシミュレータ装置において、
    タスクの内部状態を待機状態と実行可能状態に相互に変更できる内部状態変更手段
    を有することを特徴とするPLCシミュレータ装置。
  2. タスク単位で実行されるPLCプログラムの命令実行をシミュレーションするPLCシミュレータ装置において、
    タスク中の1命令毎の実行時または非実行時の処理時間を計測する1命令処理時間計測手段と、
    上記1命令処理時間計測手段で計測された処理時間を積算して1タスクの処理時間を計測する1タスク処理時間計測手段と、
    上記1タスク処理時間計測手段で計測された処理時間を記憶する1タスク処理時間記憶手段と、
    を有することを特徴とするPLCシミュレータ装置。
  3. タスク起動命令とタスク待機命令によって他のタスクの実行状態を制御できるPLCプログラムの命令実行と、タスク単位で実行されるPLCプログラムの命令実行とをシミュレーションするPLCシミュレータ装置において、
    タスクの内部状態を待機状態と実行可能状態に相互に変更できる内部状態変更手段と、
    タスク中の1命令毎の実行時または非実行時の処理時間を計測する1命令処理時間計測手段と、
    上記1命令処理時間計測手段で計測された処理時間を積算して1タスクの処理時間を計測する1タスク処理時間計測手段と、
    上記1タスク処理時間計測手段で計測された処理時間を記憶する1タスク処理時間記憶手段と、
    を有することを特徴とするPLCシミュレータ装置。
  4. タスク起動命令とタスク待機命令によって他のタスクの実行状態を制御できるPLCプログラムの命令実行をシミュレーションするプログラムが記録された記録媒体であって、
    上記記録媒体は、コンピュータを、タスクの内部状態を待機状態と実行可能状態に相互に変更できる内部状態変更手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
  5. タスク単位で実行されるPLCプログラムの命令実行をシミュレーションするためのプログラムが記録された記録媒体であって、
    上記記録媒体は、コンピュータを、タスク中の1命令毎の実行時または非実行時の処理時間を計測する1命令処理時間計測手段と、上記1命令処理時間計測手段で計測された処理時間を積算して1タスクの処理時間を計測する1タスク処理時間計測手段と、上記1タスク処理時間計測手段で計測された処理時間を記憶する1タスク処理時間記憶手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
  6. タスク起動命令とタスク待機命令によって他のタスクの実行状態を制御できるPLCプログラムの命令実行をシミュレーションするプログラムであって、
    上記プログラムは、コンピュータを、タスクの内部状態を待機状態と実行可能状態に相互に変更できる内部状態変更手段として機能させるためのプログラム。
  7. タスク単位で実行されるPLCプログラムの命令実行をシミュレーションするためのプログラムであって、
    上記プログラムは、コンピュータを、タスク中の1命令毎の実行時または非実行時の処理時間を計測する1命令処理時間計測手段と、上記1命令処理時間計測手段で計測された処理時間を積算して1タスクの処理時間を計測する1タスク処理時間計測手段と、上記1タスク処理時間計測手段で計測された処理時間を記憶する1タスク処理時間記憶手段として機能させるためのプログラム。
JP2008034448A 2008-02-15 2008-02-15 Plcシミュレータ装置及びシミュレーションするためのプログラムとこれが記録された記録媒体 Expired - Lifetime JP4811678B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008034448A JP4811678B2 (ja) 2008-02-15 2008-02-15 Plcシミュレータ装置及びシミュレーションするためのプログラムとこれが記録された記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008034448A JP4811678B2 (ja) 2008-02-15 2008-02-15 Plcシミュレータ装置及びシミュレーションするためのプログラムとこれが記録された記録媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000015550A Division JP4192380B2 (ja) 2000-01-25 2000-01-25 Plcシミュレータ装置及びシミュレーションするためのプログラムとこれが記録された記録媒体

Publications (2)

Publication Number Publication Date
JP2008123559A true JP2008123559A (ja) 2008-05-29
JP4811678B2 JP4811678B2 (ja) 2011-11-09

Family

ID=39508164

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008034448A Expired - Lifetime JP4811678B2 (ja) 2008-02-15 2008-02-15 Plcシミュレータ装置及びシミュレーションするためのプログラムとこれが記録された記録媒体

Country Status (1)

Country Link
JP (1) JP4811678B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023576A (zh) * 2010-12-21 2011-04-20 东风康明斯发动机有限公司 模拟发动机燃油系统运行环境仿真模型的方法和系统
JP4748286B1 (ja) * 2011-03-15 2011-08-17 オムロン株式会社 コントローラサポート装置、その装置において実行されるためのコントローラサポートプログラム、そのプログラムを格納した記録媒体、および、制御プログラムの実行時間を推定する方法
US8977534B2 (en) 2011-03-15 2015-03-10 Omron Corporation Controller support apparatus, controller support program executed on the apparatus, storage medium storing the program, and method of estimating execution time of control program
CN110794759A (zh) * 2019-10-29 2020-02-14 北京和利时智能技术有限公司 一种plc任务调度方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6289105A (ja) * 1985-10-15 1987-04-23 Omron Tateisi Electronics Co プログラマブル・コントロ−ラ
JPS62279439A (ja) * 1986-05-28 1987-12-04 Mitsubishi Electric Corp エミユレ−タ装置
JPH11134216A (ja) * 1997-08-28 1999-05-21 Omron Corp 制御装置及び方法
JPH11272310A (ja) * 1998-03-23 1999-10-08 Mitsubishi Electric Corp プログラマブルコントローラのエミュレーション装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6289105A (ja) * 1985-10-15 1987-04-23 Omron Tateisi Electronics Co プログラマブル・コントロ−ラ
JPS62279439A (ja) * 1986-05-28 1987-12-04 Mitsubishi Electric Corp エミユレ−タ装置
JPH11134216A (ja) * 1997-08-28 1999-05-21 Omron Corp 制御装置及び方法
JPH11272310A (ja) * 1998-03-23 1999-10-08 Mitsubishi Electric Corp プログラマブルコントローラのエミュレーション装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023576A (zh) * 2010-12-21 2011-04-20 东风康明斯发动机有限公司 模拟发动机燃油系统运行环境仿真模型的方法和系统
JP4748286B1 (ja) * 2011-03-15 2011-08-17 オムロン株式会社 コントローラサポート装置、その装置において実行されるためのコントローラサポートプログラム、そのプログラムを格納した記録媒体、および、制御プログラムの実行時間を推定する方法
WO2012124134A1 (ja) * 2011-03-15 2012-09-20 オムロン株式会社 コントローラサポート装置、その装置において実行されるためのコントローラサポートプログラム、そのプログラムを格納した記録媒体、および、制御プログラムの実行時間を推定する方法
CN102792235A (zh) * 2011-03-15 2012-11-21 欧姆龙株式会社 控制器支持装置、用于在该装置中执行的控制器支持程序、存储有该程序的记录介质、以及估计控制程序的执行时间的方法
US8977534B2 (en) 2011-03-15 2015-03-10 Omron Corporation Controller support apparatus, controller support program executed on the apparatus, storage medium storing the program, and method of estimating execution time of control program
CN110794759A (zh) * 2019-10-29 2020-02-14 北京和利时智能技术有限公司 一种plc任务调度方法和装置

Also Published As

Publication number Publication date
JP4811678B2 (ja) 2011-11-09

Similar Documents

Publication Publication Date Title
US20150100829A1 (en) Method and system for selecting and executing test scripts
US20150100832A1 (en) Method and system for selecting and executing test scripts
JP7110415B2 (ja) 故障注入方法、装置、電子設備、記憶媒体、及びプログラム
CN109726135B (zh) 一种多核调试方法、装置及计算机可读存储介质
US20150100830A1 (en) Method and system for selecting and executing test scripts
WO2012117556A1 (ja) 情報処理装置及び情報処理装置制御方法
US20150100831A1 (en) Method and system for selecting and executing test scripts
JP2009265668A (ja) 工学プロジェクトの訓練シミュレータ
JP4811678B2 (ja) Plcシミュレータ装置及びシミュレーションするためのプログラムとこれが記録された記録媒体
CN110659198A (zh) 应用程序的测试用例执行方法、装置和软件测试系统
CN113190443A (zh) 测试方法、装置、计算机设备和存储介质
CN109634659A (zh) 一种对bmc进行控制的方法、装置、设备以及存储介质
CN116820908A (zh) 基于Locust的性能测试方法、装置、设备及介质
WO2020039900A1 (ja) 情報処理装置およびプログラム
CN111142469B (zh) 一种plc的组态程序的调试方法及调试系统
JP4192380B2 (ja) Plcシミュレータ装置及びシミュレーションするためのプログラムとこれが記録された記録媒体
JP5542643B2 (ja) シミュレーション装置及びシミュレーションプログラム
JP4941674B2 (ja) シミュレーション・システム
JP5212508B2 (ja) デバッグ装置
JP2861962B2 (ja) コンピュータプログラムのシミュレーション装置および方法
JP2000293210A (ja) 制御プログラムの開発環境装置、制御プログラムを実行する制御装置、並びに、それらを実現するプログラムの記録媒体
CN110497406B (zh) 一种设备分组的方法、装置、设备及介质
JP2009104490A (ja) プログラムのテスト装置
CN113535560A (zh) 测试执行方法、装置、存储介质和计算设备
JP5863332B2 (ja) 情報処理装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100728

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110224

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110810

R150 Certificate of patent or registration of utility model

Ref document number: 4811678

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140902

Year of fee payment: 3

EXPY Cancellation because of completion of term