JP2012194680A - 制御装置、制御システム、ツール装置および収集指示プログラム - Google Patents

制御装置、制御システム、ツール装置および収集指示プログラム Download PDF

Info

Publication number
JP2012194680A
JP2012194680A JP2011056868A JP2011056868A JP2012194680A JP 2012194680 A JP2012194680 A JP 2012194680A JP 2011056868 A JP2011056868 A JP 2011056868A JP 2011056868 A JP2011056868 A JP 2011056868A JP 2012194680 A JP2012194680 A JP 2012194680A
Authority
JP
Japan
Prior art keywords
collection
program
task
user program
user
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
JP2011056868A
Other languages
English (en)
Other versions
JP5252014B2 (ja
Inventor
Hiromi Yaoita
宏心 矢尾板
Masanori Ota
政則 太田
Yasuki Sakaguchi
泰規 阪口
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 JP2011056868A priority Critical patent/JP5252014B2/ja
Priority to EP12758069.4A priority patent/EP2672348B1/en
Priority to US14/003,342 priority patent/US9921560B2/en
Priority to PCT/JP2012/055674 priority patent/WO2012124541A1/ja
Priority to CN201280011199.7A priority patent/CN103430111B/zh
Publication of JP2012194680A publication Critical patent/JP2012194680A/ja
Application granted granted Critical
Publication of JP5252014B2 publication Critical patent/JP5252014B2/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
    • 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
    • G05B19/058Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15079Multitasking, real time multitasking

Abstract

【課題】収集結果がどの収集指示プログラムにより収集されたのかを利用者が判断することが可能な制御装置を提供する。
【解決手段】CPUユニットは、ユーザプログラムを含むタスクを実行するタスク実行部21と、タスク実行部21によりタスクが実行されているときに、ユーザプログラムにおいて参照および更新される変数を収集するデータ収集部22と、データ収集部22により収集された変数を管理する収集データ管理部24とを備える。ユーザプログラムは、データ収集部22による変数の収集を指示するTRSM命令を含む。TRSM命令は、ユーザプログラムにおける当該TRSM命令の位置を利用者が識別するためのポイント番号を有する。収集データ管理部24は、TRSM命令により変数の収集が指示された場合に、データ収集部22により収集された変数と、TRSM命令のポイント番号とを関連付ける。
【選択図】図6

Description

本発明は、制御対象機器を制御する制御装置、その制御装置を備える制御システム、その制御装置において実行されるユーザプログラムを作成するためのツール装置、および、ユーザプログラムに含まれる収集指示プログラムに関する。
従来、工場の生産ラインに設置される産業用機械などを制御するPLC(Programmable Logic Controller:プログラマブルロジックコントローラ)が知られている(たとえば、特許文献1参照)。
特許文献1のPLCは、PLCを制御するCPUユニットと、センサからの信号が入力される入力ユニットと、産業用機械などに制御信号を出力する出力ユニットとを備えている。CPUユニットは、産業用機械などを制御するためのユーザプログラムを記憶するメモリを有する。このユーザプログラムは、CPUユニットに接続されるツール装置により編集可能に構成されている。
そして、PLCでは、入力ユニットに入力された信号をCPUユニットのメモリに取り込む処理と、ユーザプログラムを実行する処理と、ユーザプログラムの実行結果(演算結果)をメモリに書き込んで出力ユニットに送り出す処理と、ツール装置との間でデータの送受信を行うなどの周辺処理とが繰り返し行われる。これにより、PLCは、センサからの入力に基づいて産業用機械などを制御する。
また、特許文献1のPLCは、ユーザプログラムに含まれるTRSM命令(トレースサンプリング命令)が実行された場合に、ユーザプログラムにおいて参照および更新される変数を収集するように構成されている。これにより、PLCでは、ユーザプログラムの実行に伴う変数の変化についてデータトレースすることが可能である。
特開2009−146040号公報
しかしながら、特許文献1に開示された従来のPLCにおいて、ユーザプログラムに複数のTRSM命令が含まれている場合に、どのTRSM命令によりどの収集結果が得られたのかを利用者が判断することが困難であるという問題点がある。
本発明は、上記の課題を解決するためになされたものであり、本発明の目的は、収集結果がどの収集指示プログラムにより収集されたのかを利用者が判断することが可能な制御装置、その制御装置を備える制御システム、その制御装置において実行されるユーザプログラムを作成するためのツール装置、および、ユーザプログラムに含まれる収集指示プログラムを提供することである。
本発明による制御装置は、制御対象機器を制御する制御装置であって、ユーザプログラムを含むタスクを実行するタスク実行手段と、前記タスク実行手段によりタスクが実行されているときに、前記ユーザプログラムにおいて参照および更新される変数を収集する収集手段と、前記収集手段により収集された変数を管理する管理手段とを備え、前記ユーザプログラムは、前記収集手段による変数の収集を指示する収集指示プログラムを含み、前記収集指示プログラムは、前記ユーザプログラムにおける当該収集指示プログラムの位置を利用者が識別するための識別情報を有し、前記管理手段は、前記収集指示プログラムにより変数の収集が指示された場合に、前記収集手段により収集された変数と、前記収集指示プログラムの識別情報とを関連付けるように構成されている。
このように構成することによって、ユーザプログラムにおける位置を利用者が識別するための識別情報を収集指示プログラムが有することにより、管理手段が収集された変数(収集結果)と識別情報とを関連付けることができる。これにより、収集結果がどの収集指示プログラムにより収集されたのかを利用者が識別情報に基づいて判断することができる。
上記制御装置において、前記収集指示プログラムは、前記収集手段により収集される変数を指定する指定情報を有していてもよい。
このように構成すれば、収集手段により、指定された変数を収集することができる。
上記制御装置において、前記タスク実行手段は、複数の前記タスクを並行に実行し、かつ、前記複数のタスクの各タスクを前記各タスクに応じた周期で実行するように構成されていてもよい。なお、複数のタスクを並行に実行するとは、複数のタスクを同時に並行して実行する場合と、時分割により複数のタスクを並行して実行する場合とを含む。
このように構成すれば、タスクの処理を効率的に行うことができる。
上記制御装置において、前記収集手段により収集された変数および前記変数に関連付けられた識別情報を、前記変数および前記識別情報を表示するためのツール装置に送信するための第1通信部を備えていてもよい。
このように構成すれば、利用者がツール装置を用いて、収集結果を識別情報と関連付けて確認することができる。
本発明による制御システムは、ユーザプログラムを実行することにより制御対象機器を制御する制御装置と、前記ユーザプログラムを作成するためのツール装置とを備える制御システムであって、前記制御装置は、前記ユーザプログラムを含むタスクを実行するタスク実行手段と、前記タスク実行手段によりタスクが実行されているときに、前記ユーザプログラムにおいて参照および更新される変数を収集する収集手段と、前記収集手段により収集された変数を管理する管理手段と含み、前記ユーザプログラムは、前記収集手段による変数の収集を指示する収集指示プログラムを含み、前記収集指示プログラムは、前記ユーザプログラムにおける当該収集指示プログラムの位置を利用者が識別するための識別情報を有し、前記管理手段は、前記収集指示プログラムにより変数の収集が指示された場合に、前記収集手段により収集された変数と、前記収集指示プログラムの識別情報とを関連付けるように構成されている。
このように構成することによって、ユーザプログラムにおける位置を利用者が識別するための識別情報を収集指示プログラムが有することにより、管理手段が収集された変数(収集結果)と識別情報とを関連付けることができる。これにより、収集結果がどの収集指示プログラムにより収集されたのかを利用者が識別情報に基づいて判断することができる。
本発明によるツール装置は、制御対象機器を制御する制御装置において実行されるユーザプログラムを作成するためのツール装置であって、前記ユーザプログラムを作成するプログラム作成手段と、前記プログラム作成手段により作成されたユーザプログラムを前記制御装置に送信するための第2通信部とを備え、前記ユーザプログラムは、前記ユーザプログラムにおいて参照および更新される変数の収集を指示する収集指示プログラムを含み、前記収集指示プログラムは、前記ユーザプログラムにおける当該収集指示プログラムの位置を利用者が識別するための識別情報を有する。
このように構成することによって、ユーザプログラムにおける位置を利用者が識別するための識別情報を収集指示プログラムが有することにより、制御装置において収集された変数(収集結果)と識別情報とを関連付けることができる。これにより、収集結果がどの収集指示プログラムにより収集されたのかを利用者が識別情報に基づいて判断することができる。
上記ツール装置において、前記収集指示プログラムは、前記制御装置により収集される変数を指定する指定情報を有していてもよい。
このように構成すれば、制御装置において指定された変数を収集することができる。
上記ツール装置において、前記プログラム作成手段により作成されるユーザプログラムを表示する表示部を備え、前記第2通信部は、前記制御装置により収集された変数と、前記変数に関連付けられた識別情報とを前記制御装置から受信するように構成され、前記表示部は、前記第2通信部により受信した変数と、前記変数に関連付けられた識別情報とを表示するように構成されていてもよい。
このように構成すれば、収集結果を識別情報と関連付けて利用者が確認することができる。
本発明の収集指示プログラムは、ユーザプログラムを含むタスクを実行するタスク実行手段と、前記タスク実行手段によりタスクが実行されているときに、前記ユーザプログラムにおいて参照および更新される変数を収集する収集手段と、前記収集手段により収集された変数を管理する管理手段とを備える制御装置に、前記収集手段による変数の収集を指示する手順を実行させるための収集指示プログラムであって、前記ユーザプログラムに含まれており、前記ユーザプログラムにおける位置を利用者が識別するための識別情報を有し、前記管理手段は、前記収集手段により収集された変数と、前記識別情報とを関連付ける。
このように構成することによって、ユーザプログラムにおける位置を利用者が識別するための識別情報を収集指示プログラムが有することにより、制御装置において収集された変数(収集結果)と識別情報とを関連付けることができる。これにより、収集結果がどの収集指示プログラムにより収集されたのかを利用者が識別情報に基づいて判断することができる。
本発明の制御装置、その制御装置を備える制御システム、その制御装置において実行されるユーザプログラムを作成するためのツール装置、および、ユーザプログラムに含まれる収集指示プログラムによれば、収集結果がどの収集指示プログラムにより収集されたのかを利用者が判断することができる。
本発明の一実施形態による制御システムの全体構成を示したハードウェアブロック図である。 図1に示した制御システムのCPUユニットおよびツール装置の構成を示したハードウェアブロック図である。 図2に示したCPUユニットのROMに記憶されるユーザプログラムのTRSM命令をラダー表示した図である。 図2に示したCPUユニットのROMに記憶されるタスクに関する情報を説明するための図である。 図2に示したCPUユニットのROMに記憶されるトレース番号情報を説明するための図である。 図2に示したCPUユニットのCPUの機能ブロック図である。 本発明の一実施形態による制御システムのデータトレース時の動作を説明するためのフローチャートである。 本発明の一実施形態によるCPUユニットのデータトレース時の動作を説明するためのタイムチャートである。 図2に示したCPUユニットのRAMに記憶される変数V1のトレース結果を説明するための図である。 図2に示したCPUユニットのRAMに記憶される変数V2のトレース結果を説明するための図である。 本発明の一実施形態によるツール装置のトレース結果の表示時の動作を説明するための図であって、変数V1が選択された状態を示した図である。 本発明の一実施形態によるツール装置のトレース結果の表示時の動作を説明するための図であって、カーソルC2が移動された状態を示した図である。 本発明の一実施形態によるツール装置のトレース結果の表示時の動作を説明するための図であって、変数V2が選択された状態を示した図である。
以下、本発明の実施形態について図面を参照して説明する。
まず、図1〜図6を参照して、本発明の一実施形態による制御システム300の構成について説明する。
制御システム300は、図1に示すように、産業用機械などの制御対象機器60を制御するPLC100と、PLC100において実行されるユーザプログラムを作成・編集するためのツール装置200とを備えている。
PLC100は、PLC100を制御するCPUユニット1と、センサ50からの信号が入力される入力ユニット2と、産業用機械などの制御対象機器60に制御信号を出力する出力ユニット3と、各ユニットに電力を供給する電源ユニット4と、各ユニットを接続する内部バス5とを含んでいる。なお、CPUユニット1は、本発明の「制御装置」の一例である。
PLC100は、ユーザプログラムを含むタスクを実行することにより、センサ50からの入力に基づいて制御対象機器60を制御するように構成されている。すなわち、ユーザプログラムは、制御対象機器60を制御するためのプログラムである。
CPUユニット1では、ユーザプログラムを含むシステムプログラム12a(図2参照)がインストールされており、そのシステムプログラム12aが実行されることによりCPUユニット1の動作が制御されるように構成されている。
なお、システムプログラム12aには、入力ユニット2に入力された信号をCPUユニット1に取り込む処理を実行するためのプログラムや、CPUユニット1による演算結果を出力ユニット3に送り出す処理を実行するためのプログラムなどが含まれている。
CPUユニット1は、制御対象機器60を制御する通常の動作を行うことが可能であり、かつ、データトレースを行うことが可能なように構成されている。ここで、データトレースとは、ユーザプログラムにおいて参照および更新される変数を収集することをいう。具体的には、データトレースは、ユーザプログラムを含むタスクが実行されているときの変数の経時変化を収集する機能である。また、データトレースは、ユーザプログラムをデバッグする際に、ユーザプログラムの動作を確認するために行われる。すなわち、データトレースは、ユーザプログラムの欠陥を検出するために行われる。
CPUユニット1は、図2に示すように、CPU11と、ROM12と、RAM13と、通信インターフェース(以下、「通信IF」という)14および15とを含んでいる。なお、通信IF15は、本発明の「第1通信部」の一例である。
CPU11は、システムプログラム12aを実行する機能を有する。CPU11は、シングルコアであり、時分割により複数のタスクを並行して実行するように構成されている。すなわち、CPU11では、マルチタスクで処理が実行される。
ROM12は、不揮発性のメモリであり、たとえば、フラッシュメモリである。ROM12には、ユーザプログラムを含むシステムプログラム12aが記憶されるとともに、CPUユニット1において実行されるタスクに関する情報L1(図4参照)が記憶されている。タスクに関する情報L1には、各タスクの名称と、各タスクの優先度と、各タスクが実行される周期と、各タスクで実行されるユーザプログラムとが含まれている。なお、タスクは、優先度の値が小さいタスクが優先的に実行される。また、CPUユニット1では、予め設定された時間間隔(たとえば、1ms)の制御サイクルを処理全体の共通サイクルとして採用している。また、ユーザプログラムは、たとえば、ラダー言語で記述されている。
ここで、ユーザプログラムは、プログラム構成単位(Program Organization Unit:POU)により構成されている。プログラム構成単位は、プログラム管理上の最小単位であり、プログラムと、ファンクションと、ファンクションブロックとを含んでいる。そして、ファンクションおよびファンクションブロックは、再利用することが可能である。すなわち、ファンクションおよびファンクションブロックは、複数のユーザプログラムで共用することが可能である。なお、ファンクションは、所定の入力値が入力された場合に、所定の入力値に対応する一定の出力値を出力する関数であり、ファンクションブロックは、内部状態を持てることにより、入力値に対する出力値が一定ではない関数である。
また、プログラム構成単位のファンクションブロックの一つとして、図3に示すように、トレースサンプリング命令(以下、「TRSM命令」という)Pがある。このTRSM命令Pは、ツール装置200を用いて利用者がユーザプログラムを作成・編集する際に、ユーザプログラムの任意の位置に挿入することが可能である。なお、TRSM命令Pは、本発明の「収集指示プログラム」の一例である。
TRSM命令Pにはイネーブル入力ENが入力されるとともに、TRSM命令Pからはイネーブル出力ENOが出力されている。そして、TRSM命令Pでは、イネーブル入力ENが「0」である場合に、ボディ部分のプログラム(データトレースを実行するためのプログラム)を実行することなく、イネーブル出力ENOから「0」が出力される。また、TRSM命令Pでは、イネーブル入力ENが「1」である場合に、ボディ部分のプログラムを実行し、イネーブル出力ENOから「1」が出力される。すなわち、CPUユニット1において通常の動作が行われる場合には、イネーブル入力に「0」が入力され、CPUユニット1においてデータトレースが行われる場合には、イネーブル入力ENに「1」が入力される。
また、TRSM命令Pには、入力パラメータ(引数)TraceNoおよびPointが入力されている。入力パラメータTraceNoは、トレース番号であり、たとえば、「0」〜「3」の値が入力される。また、入力パラメータPointは、ポイント番号であり、たとえば、「0」〜「255」の値が入力される。すなわち、TRSM命令Pは、トレース番号とポイント番号とを有する。なお、トレース番号は、本発明の「指定情報」の一例であり、ポイント番号は、本発明の「識別情報」の一例である。
トレース番号は、TRSM命令Pにより収集される変数を指定するための情報であり、ツール装置200を用いて利用者がユーザプログラムを作成・編集する際に、「0」〜「3」のうちの所望の値が設定される。すなわち、ユーザプログラムの任意の位置に挿入されるTRSM命令Pのトレース番号は、ユーザプログラムの作成・編集時に利用者により予め設定されている。
ポイント番号は、ユーザプログラムにおけるTRSM命令Pの位置を利用者が識別するための情報であり、ツール装置200を用いて利用者がユーザプログラムを作成・編集する際に、「0」〜「255」のうちの所望の値が設定される。すなわち、ユーザプログラムの任意の位置に挿入されるTRSM命令Pのポイント番号は、ユーザプログラムの作成・編集時に利用者により予め設定されている。そして、ユーザプログラムに複数のTRSM命令Pが挿入される場合には、各TRSM命令Pに異なるポイント番号が利用者により付与されることにより、ユーザプログラムにおけるTRSM命令Pの位置を利用者が識別することが可能である。
また、TRSM命令Pからは、出力パラメータ(戻り値)Outが出力されている。なお、出力パラメータOutは、ブーリアン型であり、常にtrueを出力する。
図4に示すタスクに関する情報L1において、タスクAは、タスクBおよびCよりも優先的に実行されるとともに、1msの周期でユーザプログラムP1およびP2を実行する。すなわち、タスクAは、1回分の制御サイクル(1msの時間間隔)を実行サイクルとしている。ここで、たとえば、ユーザプログラムP1の最後には、トレース番号が「0」であり、ポイント番号が「1」であるTRSM命令Pが挿入されている。また、ユーザプログラムP2の最後には、トレース番号が「0」であり、ポイント番号が「2」であるTRSM命令Pが挿入されている。
また、タスクBは、タスクCよりも優先的に実行されるとともに、2msの周期でユーザプログラムP3およびP4を実行する。すなわち、タスクBは、2回分の制御サイクル(2msの時間間隔)を実行サイクルとしている。また、タスクBの周期は、タスクAの周期の整数倍(2倍)に設定されている。ここで、たとえば、ユーザプログラムP3の最後には、トレース番号が「0」であり、ポイント番号が「3」であるTRSM命令Pが挿入されている。また、ユーザプログラムP4の最後には、トレース番号が「0」であり、ポイント番号が「4」であるTRSM命令Pが挿入されている。
また、タスクCは、タスクAおよびBよりも劣後して実行されるとともに、4msの周期でユーザプログラムP5を実行する。すなわち、タスクCは、4回分の制御サイクル(4msの時間間隔)を実行サイクルとしている。また、タスクCの周期は、タスクAの周期の整数倍(4倍)に設定されている。ここで、たとえば、ユーザプログラムP5の最後には、トレース番号が「0」であり、ポイント番号が「5」であるTRSM命令Pが挿入されている。
また、ROM12には、トレース番号に対応付けられた変数に関するトレース番号情報L2(図5参照)が記憶されている。トレース番号情報L2には、トレース番号と、各トレース番号に対応付けられた変数名とが含まれている。このトレース番号情報L2は、利用者がツール装置200を用いて編集することが可能である。すなわち、利用者がツール装置200を用いて、トレース番号に対応付けられた変数を変更することが可能である。
図5の例では、トレース番号「0」には、変数V1およびV2が設定されている。このため、ユーザプログラムにおいてトレース番号「0」を有するTRSM命令P(図3参照)が行われるときに、後述するデータ収集部22(図6参照)により変数V1およびV2の値が収集される。また、トレース番号「1」には、変数V3が設定されている。このため、ユーザプログラムにおいてトレース番号「1」を有するTRSM命令Pが行われるときに、データ収集部22により変数V3の値が収集される。
また、トレース番号「2」には変数V4が設定されている。このため、ユーザプログラムにおいてトレース番号「2」を有するTRSM命令Pが行われるときに、データ収集部22により変数V4の値が収集される。また、トレース番号「3」には、変数V5、V6およびV7が設定されている。このため、ユーザプログラムにおいてトレース番号「3」を有するTRSM命令Pが行われるときに、データ収集部22により変数V5、V6およびV7の値が収集される。
RAM13は、揮発性のメモリであり、たとえば、DRAMである。RAM13は、CPU11により実行されるシステムプログラム12aなどを一時的に記憶する機能を有する。具体的には、RAM13は、ユーザプログラムが実行される際に、ユーザプログラムにおいて参照および更新される変数を記憶する機能を有する。
通信IF14は、内部バス5に接続されており、CPUユニット1が内部バス5を介して各ユニットと通信するために設けられている。通信IF15は、ツール装置200の通信IF36(図2参照)に接続されており、CPUユニット1がツール装置200と通信するために設けられている。
また、CPUユニット1は、図6に示すように、タスク実行部21と、データ収集部22と、トレース番号設定部23と、収集データ管理部24とを含んでいる。なお、タスク実行部21、データ収集部22、トレース番号設定部23および収集データ管理部24は、CPU11がシステムプログラム12aを実行することにより実現される。また、タスク実行部21は本発明の「タスク実行手段」の一例であり、データ収集部22は本発明の「収集手段」の一例であり、収集データ管理部24は本発明の「管理手段」の一例である。
タスク実行部21は、複数のタスクを並行に実行し、かつ、複数のタスクの各タスクを各タスクに応じた周期で実行するように構成されている。具体的には、タスク実行部21は、時分割によりタスクA、BおよびCを並行に実行する。また、タスク実行部21は、タスクAを1msの周期で実行し、タスクBを2msの周期で実行し、タスクCを4msの周期で実行する。
データ収集部22は、タスク実行部21によりタスクが実行されているときに、タスクの実行に伴う変数の変化を収集する機能を有する。具体的には、データ収集部22は、TRSM命令P(図3参照)により変数の収集が指示された場合に、トレース番号により指定された変数を収集するように構成されている。なお、データ収集部22は、TRSM命令Pのボディ部分がCPU11により実行されることによって実現される。
トレース番号設定部23は、ツール装置200から受信したトレース番号に基づいて、データトレースの対象となるトレース番号(収集データ管理部24により管理される変数を指定するトレース番号)を設定する機能を有する。これにより、たとえば、収集データ管理部24は、トレース番号設定部23によりトレース番号「0」が設定された場合には、データ収集部22により収集された変数V1〜V7のうち、変数V1およびV2のみを管理する。
収集データ管理部24は、データ収集部22により収集されたデータ(収集結果)と、そのデータの収集を指示したTRSM命令Pのポイント番号とを関連付ける機能を有する。また、収集データ管理部24は、データ収集部22により収集されたデータに対して、そのデータが収集された順番を示すインデックス番号や、データトレースが開始されてからの経過時間を関連付ける機能も有する。
ツール装置200では、サポートプログラム32a(図2参照)がインストールされており、そのサポートプログラム32aが実行されることにより各種の機能が実現されるように構成されている。ツール装置200は、たとえば、パーソナルコンピュータである。
ツール装置200は、図2に示すように、CPU31と、ROM32と、RAM33と、操作部34と、表示部35と、通信IF36とを含んでいる。なお、CPU31は、本発明の「プログラム作成手段」の一例であり、通信IF36は、本発明の「第2通信部」の一例である。
CPU31は、サポートプログラム32aを実行する機能を有する。ROM32は、不揮発性のメモリであり、たとえば、フラッシュメモリである。ROM32には、サポートプログラム32aが記憶されている。サポートプログラム32aには、たとえば、ユーザプログラムの作成・編集用プログラムや、CPUユニット1で行われたデータトレースの結果の表示制御プログラムなどが含まれている。
RAM33は、揮発性のメモリであり、たとえば、DRAMである。RAM33は、CPU31により実行されるサポートプログラム32aなどを一時的に記憶する機能を有する。
操作部34は、利用者が各種の操作指令を入力するために設けられている。表示部35は、たとえば、液晶ディスプレイであり、作成・編集されるユーザプログラムや、データトレースの結果などを表示する機能を有する。通信IF36は、CPUユニット1の通信IF15に接続されており、ツール装置200がCPUユニット1と通信するために設けられている。
ツール装置200は、PLC100のCPUユニット1において実行されるユーザプログラムの作成・編集機能を有する。したがって、利用者は、ツール装置200を用いて、ユーザプログラムの任意の位置にTRSM命令P(図3参照)を挿入することが可能である。また、利用者は、ツール装置200を用いて、ユーザプログラムに挿入されるTRSM命令Pのトレース番号およびポイント番号を所望の値に設定することが可能である。
また、ツール装置200は、通信IF36により、ユーザプログラムをCPUユニット1からダウンロードするとともに、ユーザプログラムをCPUユニット1にアップロードするように構成されている。これにより、ツール装置200は、TRSM命令Pを含むユーザプログラムを通信IF36からCPUユニット1に送信可能に構成されている。
また、ツール装置200は、CPUユニット1に対してデータトレースの実行を指示する機能を有するとともに、利用者がデータトレースの結果を確認するために、CPUユニット1によるトレース結果のグラフを表示部35に表示する機能を有する。
次に、図7を参照して、本実施形態による制御システム300のデータトレース時の動作について説明する。
まず、ツール装置200(図2参照)では、ステップS1において、CPU31により、データトレースを受け付けたか否かが判断される。具体的には、たとえば、CPU31により、トレース番号を指定する項目と、データトレース開始ボタンとを表示部35に表示する。その後、利用者により操作部34が操作されることによって、データトレース開始ボタンが押されたか否かが判断される。そして、データトレースを受け付けていないと判断される場合には、ステップS1が繰り返し行われる。すなわち、ツール装置200は、データトレースを受け付けるまで待機する。そして、データトレースを受け付けたと判断される場合には、ステップS2に移る。
次に、ステップS2において、CPU31により、データトレース開始指示が通信IF36からPLC100(図1参照)に送信される。なお、このデータトレース開始指示には、データトレースの対象となる変数を指定するためのトレース番号が含まれている。その後、ステップS3に移る。
また、PLC100のCPUユニット1(図2参照)では、ステップS11において、CPU11により、通信IF15がデータトレース開始指示を受信したか否かが判断される。そして、データトレース開始指示を受信していないと判断される場合には、ステップS11が繰り返し行われる。すなわち、CPUユニット1は、データトレース開始指示を受信するまで待機する。そして、データトレース開始指示を受信したと判断される場合には、ステップS12に移る。
次に、ステップS12において、CPU11により、データトレース処理が行われる。これにより、トレース番号により指定された変数が収集される。たとえば、トレース番号が「0」である場合には、変数V1およびV2が収集される。つまり、CPUユニット1では、ツール装置200から送信されるトレース番号により指定された変数が収集される。そして、データトレース処理が終了すると、ステップS13に移る。なお、データトレース処理については、後で詳細に説明する。
次に、ステップS13において、CPU11により、トレース結果が通信IF15からツール装置200に送信される。その後、データトレース時のPLC100の動作が終了される。
また、ツール装置200では、ステップS3において、CPU31により、通信IF36がトレース結果を受信したか否かが判断される。そして、トレース結果を受信したと判断される場合には、ステップS4に移る。その一方、トレース結果を受信していないと判断される場合には、ステップS3が繰り返し行われる。
次に、ステップS4において、CPU31により、通信IF36により受信したトレース結果が表示部35に表示される。なお、トレース結果の表示については、後で詳細に説明する。その後、データトレース時のツール装置200の動作が終了される。
次に、図8〜図10を参照して、本実施形態によるCPUユニット1のデータトレース時の動作について説明する。なお、以下の動作は、CPUユニット1(図2参照)のCPU11によりシステムプログラム12aが実行されることにより行われる。すなわち、システムプログラム12aは、CPUユニット1に以下の動作を実行させるためのシステムプログラムである。
なお、以下では、トレース番号が「0」であるトレース開始指示をツール装置200(図2参照)から受信した場合を例に説明する。すなわち、トレース番号設定部23(図6参照)によりトレース番号「0」が設定されており、収集データ管理部24(図6参照)により管理される変数が変数V1およびV2である場合を例に説明する。また、以下では、データトレースが開始されてから、変数V1が1ms毎に「1、2、3、2、1、2、3・・・」と変化し、変数V2が1ms毎に「5、4、5、4、5、4、5・・・」と変化する場合を例に説明する。
まず、CPU11により、制御サイクルと同時にタスクA、BおよびCの実行サイクルが開始される。なお、タスクAは1msの周期で実行され、タスクBは2msの周期で実行され、タスクCは4msの周期で実行される。
具体的には、タスク実行部21(図6参照)により、最も優先度の高いタスクAの処理が開始される。このとき、タスクBおよびCは、タスクAよりも優先度が低いことから、実際の処理が開始されることなく待機状態になる。
そして、タスクAのユーザプログラムP1が実行される。ここで、ユーザプログラムP1の最後には、トレース番号が「0」であり、ポイント番号が「1」であるTRSM命令P(図3参照)が挿入されている。このため、データ収集部22(図6参照)により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「1」に対して、収集された順番を示すインデックス番号「1」と、データトレースが開始されてからの経過時間「0.15ms」と、TRSM命令Pのポイント番号「1」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「5」に対して、収集された順番を示すインデックス番号「1」と、データトレースが開始されてからの経過時間「0.15ms」と、TRSM命令Pのポイント番号「1」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の1番目の収集結果がRAM13に蓄積される。
そして、タスクAのユーザプログラムP2が実行される。ここで、ユーザプログラムP2の最後には、トレース番号が「0」であり、ポイント番号が「2」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「1」に対して、インデックス番号「2」と、経過時間「0.3ms」と、ポイント番号「2」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「5」に対して、インデックス番号「2」と、経過時間「0.3ms」と、ポイント番号「2」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の2番目の収集結果がRAM13に蓄積される。
次に、タスクAの処理が完了すると、タスクCよりも優先度が高いタスクBの処理が開始される。このとき、タスクCは待機状態のままである。
そして、タスクBのユーザプログラムP3が実行される。ここで、ユーザプログラムP3の最後には、トレース番号が「0」であり、ポイント番号が「3」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「1」に対して、インデックス番号「3」と、経過時間「0.6ms」と、ポイント番号「3」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「5」に対して、インデックス番号「3」と、経過時間「0.6ms」と、ポイント番号「3」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の3番目の収集結果がRAM13に蓄積される。
次に、タスクBのユーザプログラムP4が実行される。その後、タスクA、BおよびCの実行サイクルが同時に開始されてから1ms経過すると、タスクAの実行サイクルが経過することから、タスクBのユーザプログラムP4が中断され、タスク実行部21により、タスクAが実行される。このとき、タスクBおよびCは待機状態である。
そして、タスクAのユーザプログラムP1が実行される。ここで、ユーザプログラムP1の最後には、トレース番号が「0」であり、ポイント番号が「1」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「2」に対して、インデックス番号「4」と、経過時間「1.15ms」と、ポイント番号「1」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「4」に対して、インデックス番号「4」と、経過時間「1.15ms」と、ポイント番号「1」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の4番目の収集結果がRAM13に蓄積される。
そして、タスクAのユーザプログラムP2が実行される。ここで、ユーザプログラムP2の最後には、トレース番号が「0」であり、ポイント番号が「2」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「2」に対して、インデックス番号「5」と、経過時間「1.3ms」と、ポイント番号「2」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「4」に対して、インデックス番号「5」と、経過時間「1.3ms」と、ポイント番号「2」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の5番目の収集結果がRAM13に蓄積される。
次に、タスクAの処理が完了すると、タスクCよりも優先度が高いタスクBの処理が再開される。このとき、タスクCは待機状態のままである。そして、タスク実行部21によりタスクBのユーザプログラムP4の残りが実行される。
ここで、ユーザプログラムP4の最後には、トレース番号が「0」であり、ポイント番号が「4」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「2」に対して、インデックス番号「6」と、経過時間「1.45ms」と、ポイント番号「4」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「4」に対して、インデックス番号「6」と、経過時間「1.45ms」と、ポイント番号「4」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の6番目の収集結果がRAM13に蓄積される。
次に、タスクBの処理が完了すると、タスクCの処理が開始される。そして、タスク実行部21によりタスクCのユーザプログラムP5が実行される。その後、タスクA、BおよびCの実行サイクルが同時に開始されてから2ms経過すると、タスクAの実行サイクルが経過することから、タスクCのユーザプログラムP5が中断され、タスク実行部21により、タスクAが実行される。このとき、タスクBの実行サイクルも経過することから、タスクBおよびCは待機状態である。
そして、タスクAのユーザプログラムP1が実行される。ここで、ユーザプログラムP1の最後には、トレース番号が「0」であり、ポイント番号が「1」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「3」に対して、インデックス番号「7」と、経過時間「2.15ms」と、ポイント番号「1」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「5」に対して、インデックス番号「7」と、経過時間「2.15ms」と、ポイント番号「1」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の7番目の収集結果がRAM13に蓄積される。
そして、タスクAのユーザプログラムP2が実行される。ここで、ユーザプログラムP2の最後には、トレース番号が「0」であり、ポイント番号が「2」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「3」に対して、インデックス番号「8」と、経過時間「2.3ms」と、ポイント番号「2」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「5」に対して、インデックス番号「8」と、経過時間「2.3ms」と、ポイント番号「2」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の8番目の収集結果がRAM13に蓄積される。
次に、タスクAの処理が完了すると、タスクCよりも優先度が高いタスクBの処理が開始される。このとき、タスクCは待機状態のままである。
そして、タスクBのユーザプログラムP3が実行される。ここで、ユーザプログラムP3の最後には、トレース番号が「0」であり、ポイント番号が「3」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「3」に対して、インデックス番号「9」と、経過時間「2.6ms」と、ポイント番号「3」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「5」に対して、インデックス番号「9」と、経過時間「2.6ms」と、ポイント番号「3」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の9番目の収集結果がRAM13に蓄積される。
次に、タスクBのユーザプログラムP4が実行される。その後、タスクA、BおよびCの実行サイクルが同時に開始されてから3ms経過すると、タスクAの実行サイクルが経過することから、タスクBのユーザプログラムP4が中断され、タスク実行部21により、タスクAが実行される。このとき、タスクBおよびCは待機状態である。
そして、タスクAのユーザプログラムP1が実行される。ここで、ユーザプログラムP1の最後には、トレース番号が「0」であり、ポイント番号が「1」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「2」に対して、インデックス番号「10」と、経過時間「3.15ms」と、ポイント番号「1」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「4」に対して、インデックス番号「10」と、経過時間「3.15ms」と、ポイント番号「1」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の10番目の収集結果がRAM13に蓄積される。
そして、タスクAのユーザプログラムP2が実行される。ここで、ユーザプログラムP2の最後には、トレース番号が「0」であり、ポイント番号が「2」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「2」に対して、インデックス番号「11」と、経過時間「3.3ms」と、ポイント番号「2」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「4」に対して、インデックス番号「11」と、経過時間「3.3ms」と、ポイント番号「2」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の11番目の収集結果がRAM13に蓄積される。
次に、タスクAの処理が完了すると、タスクCよりも優先度が高いタスクBの処理が再開される。このとき、タスクCは待機状態のままである。そして、タスク実行部21によりタスクBのユーザプログラムP4の残りが実行される。
ここで、ユーザプログラムP4の最後には、トレース番号が「0」であり、ポイント番号が「4」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「2」に対して、インデックス番号「12」と、経過時間「3.45ms」と、ポイント番号「4」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「4」に対して、インデックス番号「12」と、経過時間「3.45ms」と、ポイント番号「4」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の12番目の収集結果がRAM13に蓄積される。
次に、タスクBの処理が完了すると、タスクCの処理が再開される。そして、タスク実行部21によりタスクCのユーザプログラムP5の残りが実行される。
ここで、ユーザプログラムP5の最後には、トレース番号が「0」であり、ポイント番号が「5」であるTRSM命令Pが挿入されている。このため、データ収集部22により、トレース番号「0」により指定される変数V1およびV2の値が収集される。そして、収集データ管理部24により、図9に示すように、収集された変数V1の値「2」に対して、インデックス番号「13」と、経過時間「3.8ms」と、ポイント番号「5」とが関連付けられてRAM13に記憶される。また、収集データ管理部24により、図10に示すように、収集された変数V2の値「4」に対して、インデックス番号「13」と、経過時間「3.8ms」と、ポイント番号「5」とが関連付けられてRAM13に記憶される。これにより、変数V1およびV2の13番目の収集結果がRAM13に蓄積される。
そして、タスクA、BおよびCの実行サイクルが同時に開始されてから4ms経過すると、タスクAの実行サイクルが経過することから、タスク実行部21により、タスクAが実行される。このとき、タスクBおよびCも実行サイクルが経過することから、タスクBおよびCは待機状態である。
その後、上記した動作と同様の動作が繰り返し行われることにより、トレース番号「0」により指定された変数V1およびV2がRAM13に蓄積されていく。そして、所定の期間(たとえば、10秒)経過すると、データトレースが終了される。なお、図8〜図10では、図面を簡略化するために、データトレースが開始されてから8ms経過するまでの状態を示した。その後、収集結果が蓄積されたトレース結果が通信IF15からツール装置200に送信される。
次に、図11A〜図11Cを参照して、本実施形態によるツール装置200のトレース結果の表示時の動作について説明する。
ツール装置200では、図11Aに示すように、表示部35に、トレース番号が示される項目W1と、トレース番号により指定されることによってデータトレースの対象となる変数が示される項目W2とが表示される。図11Aの例では、項目W1にトレース番号「0」が表示され、項目W2に変数V1およびV2が表示される。表示部35には、項目W2の変数を選択するためのカーソルC1が表示される。図11Aでは、カーソルC1が変数V1を選択している。カーソルC1は、後述するカーソルC2により選択される変数(アクティブな変数)を選択するために設けられている。
また、表示部35には、トレース結果がグラフGに表示される。このグラフGでは、カーソルC1により選択されている変数V1が実線の折れ線で表され、カーソルC1により選択されていない変数V2が点線の折れ線で表されている。なお、グラフGは、横軸が経過時間であり、縦軸が変数の値である。
ここで、グラフGには、水平方向(横軸方向)に移動可能なカーソルC2が配置されている。そして、カーソルC2の近傍には、カーソルC2により選択されるデータに関する情報(インデックス番号、経過時間、ポイント番号)を表示する項目W3が配置されている。図11Aの例では、項目W3には、インデックス番号「12」、経過時間「3.45ms」、ポイント番号「4」が表示されている。なお、項目W3には、カーソルC1により選択される変数について、カーソルC2により選択されるデータ(収集結果)に関する情報が表示される。
そして、利用者が操作部34を操作することにより、図11Bに示すように、カーソルC2が水平方向に移動された場合には、カーソルC2により選択されるデータが変更されることにより、項目W3に表示される内容が変更される。これにより、図11Bの例では、項目W3には、インデックス番号「22」、経過時間「6.6ms」、ポイント番号「3」が表示される。
また、利用者が操作部34を操作することにより、図11Cに示すように、カーソルC1が切り替えられ、カーソルC1が変数V2を選択する場合には、グラフGにおいて、変数V1が点線の折れ線で表され、変数V2が実線の折れ線で表される。
本実施形態では、上記のように、ユーザプログラムにおける位置を利用者が識別するためのポイント番号をTRSM命令Pが有することによって、収集データ管理部24が収集された変数(収集結果)とポイント番号とを関連付けることができる。これにより、収集結果がどのTRSM命令Pにより収集されたのかを利用者がポイント番号に基づいて判断することができる。したがって、収集結果がユーザプログラムのどの位置で収集されたのかを利用者が判断することができる。その結果、利用者がユーザプログラムをデバッグする際に、ユーザプログラムの欠陥を検出しやすくすることができる。
また、本実施形態では、TRSM命令Pがトレース番号を有することによって、データ収集部22により、トレース番号で指定された変数を収集することができる。また、トレース番号には複数の変数を設定することができるので、利用者の所望の変数群について収集結果を収集することができる。
また、本実施形態では、ユーザプログラムにTRSM命令Pを利用者の所望の位置に挿入することによって、利用者の所望のタイミングで変数を収集することができる。
また、本実施形態では、表示部35の項目W3にポイント番号を表示することによって、収集結果をポイント番号と関連付けて利用者が確認することができる。
また、本実施形態では、収集結果が蓄積されたトレース結果をグラフGに表示することによって、トレース結果を利用者が視覚的に理解しやすい状態で確認することができる。
また、本実施形態では、CPU11が、シングルコアであり、時分割により複数のタスクを並行して実行することによって、CPU11の処理能力を効率的に利用することができる。
なお、今回開示した実施形態は、すべての点で例示であって、限定的な解釈の根拠となるものではない。したがって、本発明の技術的範囲は、上記した実施形態のみによって解釈されるものではなく、特許請求の範囲の記載に基づいて画定される。また、本発明の技術的範囲には、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
たとえば、本実施形態では、PLC100がCPUユニット1と、入力ユニット2と、出力ユニット3と、電源ユニット4とを備える例を示したが、これに限らず、PLCが通信ユニットなどのその他のユニットを備えていてもよいし、PLCに入力ユニットが設けられていなくてもよい。
また、本実施形態では、PLC100が複数のユニットにより構成される例を示したが、これに限らず、PLCが1つの筐体により構成され、その筐体に各ユニットの機能が組み込まれていてもよい。
また、本実施形態では、CPU11がシングルコアであり、時分割により複数のタスクを並行して実行する例を示したが、これに限らず、CPUがマルチコアであり、複数のタスクを同時に並行して実行するようにしてもよい。このように構成すれば、タスクの処理能力の向上を図ることができる。
また、本実施形態では、CPU11がシステムプログラム12aを実行することにより、タスク実行部21、データ収集部22、トレース番号設定部23および収集データ管理部24が実現される例を示したが、これに限らず、タスク実行部21、データ収集部22、トレース番号設定部23および収集データ管理部24がそれぞれハードウェアで構成されていてもよい。
また、本実施形態では、収集された変数の値と、収集された順番を示すインデックス番号と、データトレースが開始されてからの経過時間と、TRSM命令Pのポイント番号とが関連付けられてRAM13に記憶される例を示したが、これに限らず、収集された変数の値と、収集された順番を示すインデックス番号と、データトレースが開始されてからの経過時間と、TRSM命令Pのポイント番号とが関連付けられてROM12に記憶されるようにしてもよい。
また、本実施形態では、収集された変数の値と、データトレースが開始されてからの経過時間とが関連付けられる例を示したが、これに限らず、収集された変数の値と、変数が収集された時刻情報とが関連付けられるようにしてもよい。なお、時刻情報には、日付に関する情報が含まれていてもよいし、含まれていなくてもよい。
また、本実施形態では、トレース番号が「0」であるTRSM命令PがユーザプログラムP1〜P5に挿入され、トレース番号設定部23によりトレース番号「0」が設定される例を示したが、これに限らず、たとえば、トレース番号が「1」であるTRSM命令PがユーザプログラムP1〜P5に挿入され、トレース番号設定部23によりトレース番号「1」が設定されてもよい。この場合には、収集データ管理部24により、データ収集部22により収集された変数V1〜V7のうち、変数V3のみが管理される。これにより、変数V3についてのトレース結果を表示部35に表示させることができる。なお、同様に、トレース番号を「2」または「3」に設定するようにしてもよい。
また、本実施形態では、TRSM命令PがユーザプログラムP1〜P5の最後に挿入される例を示したが、これに限らず、TRSM命令Pがユーザプログラムの先頭に挿入されていてもよい。また、TRSM命令Pは、ユーザプログラムのどこに挿入されていてもよく、利用者の所望の位置に挿入することが可能である。
また、本実施形態では、ユーザプログラムP1〜P5の全てにTRSM命令Pが挿入される例を示したが、これに限らず、ユーザプログラムP1〜P5のうち少なくとも1つにTRSM命令が挿入されていればよい。
また、本実施形態では、1つのユーザプログラムに1つのTRSM命令Pが挿入される例を示したが、これに限らず、1つのユーザプログラムに複数のTRSM命令が挿入されていてもよい。
また、本実施形態では、全ての収集結果をグラフ表示する例を示したが、これに限らず、所定のポイント番号(たとえば、ポイント番号「1」)の収集結果のみを選択してグラフ表示するようにしてもよい。このように構成すれば、利用者がユーザプログラムをデバッグする際に、ユーザプログラムの欠陥をより検出しやすくすることができる。
また、本実施形態では、複数の変数についてのトレース結果を1つのグラフGに表示する例を示したが、これに限らず、複数の変数についてのトレース結果を変数毎にグラフに表示するようにしてもよい。また、アクティブな変数のみをグラフに表示するようにしてもよい。
また、本実施形態において、タスクには、定期的に実行されるタスク(定周期タスク)に加えて、予め設定された実行条件が成立した場合に実行されるタスク(イベントタスク)が含まれていてもよい。
1 CPUユニット(制御装置)
15 通信IF(第1通信部)
21 タスク実行部(タスク実行手段)
22 データ収集部(収集手段)
24 収集データ管理部(管理手段)
31 CPU(プログラム作成手段)
35 表示部
36 通信IF(第2通信部)
60 制御対象機器
200 ツール装置
300 制御システム

Claims (9)

  1. 制御対象機器を制御する制御装置であって、
    ユーザプログラムを含むタスクを実行するタスク実行手段と、
    前記タスク実行手段によりタスクが実行されているときに、前記ユーザプログラムにおいて参照および更新される変数を収集する収集手段と、
    前記収集手段により収集された変数を管理する管理手段とを備え、
    前記ユーザプログラムは、前記収集手段による変数の収集を指示する収集指示プログラムを含み、
    前記収集指示プログラムは、前記ユーザプログラムにおける当該収集指示プログラムの位置を利用者が識別するための識別情報を有し、
    前記管理手段は、前記収集指示プログラムにより変数の収集が指示された場合に、前記収集手段により収集された変数と、前記収集指示プログラムの識別情報とを関連付けるように構成されていること
    を特徴とする制御装置。
  2. 請求項1に記載の制御装置であって、
    前記収集指示プログラムは、前記収集手段により収集される変数を指定する指定情報を有すること
    を特徴とする制御装置。
  3. 請求項1または請求項2に記載の制御装置であって、
    前記タスク実行手段は、複数の前記タスクを並行に実行し、かつ、前記複数のタスクの各タスクを前記各タスクに応じた周期で実行するように構成されていること
    を特徴とする制御装置。
  4. 請求項1から請求項3までのいずれか一つに記載の制御装置であって、
    前記収集手段により収集された変数および前記変数に関連付けられた識別情報を、前記変数および前記識別情報を表示するためのツール装置に送信するための第1通信部を備えること
    を特徴とする制御装置。
  5. ユーザプログラムを実行することにより制御対象機器を制御する制御装置と、前記ユーザプログラムを作成するためのツール装置とを備える制御システムであって、
    前記制御装置は、
    前記ユーザプログラムを含むタスクを実行するタスク実行手段と、
    前記タスク実行手段によりタスクが実行されているときに、前記ユーザプログラムにおいて参照および更新される変数を収集する収集手段と、
    前記収集手段により収集された変数を管理する管理手段と含み、
    前記ユーザプログラムは、前記収集手段による変数の収集を指示する収集指示プログラムを含み、
    前記収集指示プログラムは、前記ユーザプログラムにおける当該収集指示プログラムの位置を利用者が識別するための識別情報を有し、
    前記管理手段は、前記収集指示プログラムにより変数の収集が指示された場合に、前記収集手段により収集された変数と、前記収集指示プログラムの識別情報とを関連付けるように構成されていること
    を特徴とする制御システム。
  6. 制御対象機器を制御する制御装置において実行されるユーザプログラムを作成するためのツール装置であって、
    前記ユーザプログラムを作成するプログラム作成手段と、
    前記プログラム作成手段により作成されたユーザプログラムを前記制御装置に送信するための第2通信部とを備え、
    前記ユーザプログラムは、前記ユーザプログラムにおいて参照および更新される変数の収集を指示する収集指示プログラムを含み、
    前記収集指示プログラムは、前記ユーザプログラムにおける当該収集指示プログラムの位置を利用者が識別するための識別情報を有すること
    を特徴とするツール装置。
  7. 請求項6に記載のツール装置であって、
    前記収集指示プログラムは、前記制御装置により収集される変数を指定する指定情報を有すること
    を特徴とするツール装置。
  8. 請求項6または請求項7に記載のツール装置であって、
    前記プログラム作成手段により作成されるユーザプログラムを表示する表示部を備え、
    前記第2通信部は、前記制御装置により収集された変数と、前記変数に関連付けられた識別情報とを前記制御装置から受信するように構成され、
    前記表示部は、前記第2通信部により受信した変数と、前記変数に関連付けられた識別情報とを表示するように構成されていること
    を特徴とするツール装置。
  9. ユーザプログラムを含むタスクを実行するタスク実行手段と、前記タスク実行手段によりタスクが実行されているときに、前記ユーザプログラムにおいて参照および更新される変数を収集する収集手段と、前記収集手段により収集された変数を管理する管理手段とを備える制御装置に、前記収集手段による変数の収集を指示する手順を実行させるための収集指示プログラムであって、
    前記ユーザプログラムに含まれており、前記ユーザプログラムにおける位置を利用者が識別するための識別情報を有し、
    前記管理手段は、前記収集手段により収集された変数と、前記識別情報とを関連付けること
    を特徴とする収集指示プログラム。
JP2011056868A 2011-03-15 2011-03-15 制御装置、制御システム、ツール装置および収集指示プログラム Active JP5252014B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2011056868A JP5252014B2 (ja) 2011-03-15 2011-03-15 制御装置、制御システム、ツール装置および収集指示プログラム
EP12758069.4A EP2672348B1 (en) 2011-03-15 2012-03-06 Control device, control system, tool device, and collection instruction program
US14/003,342 US9921560B2 (en) 2011-03-15 2012-03-06 Control device, control system, tool device, and collection instruction program
PCT/JP2012/055674 WO2012124541A1 (ja) 2011-03-15 2012-03-06 制御装置、制御システム、ツール装置および収集指示プログラム
CN201280011199.7A CN103430111B (zh) 2011-03-15 2012-03-06 控制装置、控制系统、以及工具装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011056868A JP5252014B2 (ja) 2011-03-15 2011-03-15 制御装置、制御システム、ツール装置および収集指示プログラム

Publications (2)

Publication Number Publication Date
JP2012194680A true JP2012194680A (ja) 2012-10-11
JP5252014B2 JP5252014B2 (ja) 2013-07-31

Family

ID=46830616

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011056868A Active JP5252014B2 (ja) 2011-03-15 2011-03-15 制御装置、制御システム、ツール装置および収集指示プログラム

Country Status (5)

Country Link
US (1) US9921560B2 (ja)
EP (1) EP2672348B1 (ja)
JP (1) JP5252014B2 (ja)
CN (1) CN103430111B (ja)
WO (1) WO2012124541A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015176387A (ja) * 2014-03-14 2015-10-05 オムロン株式会社 制御装置、制御システム、データトレース方法、及びプログラム
US9740185B2 (en) 2013-04-12 2017-08-22 Mitsubishi Electric Corporation Peripheral device for programmable controller and debug support program
CN110168456A (zh) * 2017-02-22 2019-08-23 欧姆龙株式会社 控制系统、控制装置以及控制程序

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2504728A (en) 2012-08-08 2014-02-12 Ibm Second failure data capture in co-operating multi-image systems
EP3101497B1 (en) 2014-03-14 2020-02-26 Omron Corporation Control system
US10162328B2 (en) 2014-03-14 2018-12-25 Omron Corporation Controller and control system
WO2016185558A1 (ja) * 2015-05-19 2016-11-24 三菱電機株式会社 プログラマブルロジックコントローラ、エンジニアリングツール及びエンジニアリングツールプログラム
FR3038990B1 (fr) * 2015-07-13 2019-04-05 Tlogic Automation Procede de surveillance et d'expertise du fonctionnement d'une installation industrielle pilotee par un controleur programmable et equipement mettant en œuvre ledit procede
JP6520545B2 (ja) * 2015-08-10 2019-05-29 オムロン株式会社 サポート装置およびサポートプログラム
JP6432494B2 (ja) * 2015-11-30 2018-12-05 オムロン株式会社 監視装置、監視システム、監視プログラムおよび記録媒体
JP6594535B2 (ja) * 2016-05-23 2019-10-23 三菱電機株式会社 シーケンス制御装置
WO2018042520A1 (ja) * 2016-08-30 2018-03-08 三菱電機株式会社 プログラム編集装置、プログラム編集方法及びプログラム編集プログラム
US10769049B2 (en) * 2016-10-17 2020-09-08 Mitsubishi Electric Corporation Debugging support apparatus and debugging support method
JP6859922B2 (ja) * 2017-10-24 2021-04-14 オムロン株式会社 制御装置、制御装置の制御方法、情報処理プログラム、および記録媒体
JP7036069B2 (ja) * 2019-03-15 2022-03-15 オムロン株式会社 制御システム、中継装置、および中継プログラム
DE112019006929T5 (de) * 2019-04-02 2021-11-25 Mitsubishi Electric Corporation Antriebssteuerung

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03105503A (ja) * 1989-09-20 1991-05-02 Mitsubishi Electric Corp プログラマブルコントローラ
JPH04235603A (ja) * 1991-01-10 1992-08-24 Fanuc Ltd Pcの信号トレース制御方式
JPH06161518A (ja) * 1992-11-27 1994-06-07 Hitachi Ltd プログラムコントローラ
JPH07244509A (ja) * 1994-03-07 1995-09-19 Fuji Electric Co Ltd プログラマブルコントローラ用プログラム生成装置
JPH07334211A (ja) * 1994-06-08 1995-12-22 Yaskawa Electric Corp プログラマブルコントローラのデータトレース方法
JP2001154711A (ja) * 1999-11-29 2001-06-08 Omron Corp 工程歩進型プログラムのデバッグ方法および装置
JP2003233403A (ja) * 2002-02-06 2003-08-22 Toshiba Corp 制御装置およびプログラミング装置
JP2009146040A (ja) * 2007-12-12 2009-07-02 Omron Corp Plcを用いたデータトレースシステム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ218742A (en) * 1986-06-03 1990-09-26 Fisher & Paykel Programmed logic controller
US4356552A (en) * 1980-03-19 1982-10-26 Fujitsu Fanuc Limited Tracer control equipment
US5737516A (en) * 1995-08-30 1998-04-07 Motorola, Inc. Data processing system for performing a debug function and method therefor
US6094729A (en) * 1997-04-08 2000-07-25 Advanced Micro Devices, Inc. Debug interface including a compact trace record storage
US6311326B1 (en) * 1999-01-04 2001-10-30 Emc Corporation Online debugging and tracing system and method
US8312435B2 (en) * 2000-12-26 2012-11-13 Identify Software Ltd. (IL) System and method for conditional tracing of computer programs
KR100802606B1 (ko) * 2001-04-13 2008-02-13 엘지전자 주식회사 데이터의 천이 상태에 따른 디버깅 장치 및 방법
US7346895B2 (en) * 2002-07-31 2008-03-18 International Business Machines Corporation Method of tracing data collection
CN100456182C (zh) 2004-04-15 2009-01-28 三菱电机株式会社 可编程逻辑控制器的外围装置及其程序生成方法
DE112006003926B4 (de) 2006-06-13 2016-12-01 Mitsubishi Electric Corp. Peripheriegerät für einen programmierbaren Logik-Controller
JP5796311B2 (ja) * 2011-03-15 2015-10-21 オムロン株式会社 制御装置およびシステムプログラム
JP5218585B2 (ja) * 2011-03-15 2013-06-26 オムロン株式会社 制御装置およびシステムプログラム
US9377769B2 (en) * 2011-03-15 2016-06-28 Omron Corporation Control apparatus for updating a user program while processing is being performed and recording medium

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03105503A (ja) * 1989-09-20 1991-05-02 Mitsubishi Electric Corp プログラマブルコントローラ
JPH04235603A (ja) * 1991-01-10 1992-08-24 Fanuc Ltd Pcの信号トレース制御方式
JPH06161518A (ja) * 1992-11-27 1994-06-07 Hitachi Ltd プログラムコントローラ
JPH07244509A (ja) * 1994-03-07 1995-09-19 Fuji Electric Co Ltd プログラマブルコントローラ用プログラム生成装置
JPH07334211A (ja) * 1994-06-08 1995-12-22 Yaskawa Electric Corp プログラマブルコントローラのデータトレース方法
JP2001154711A (ja) * 1999-11-29 2001-06-08 Omron Corp 工程歩進型プログラムのデバッグ方法および装置
JP2003233403A (ja) * 2002-02-06 2003-08-22 Toshiba Corp 制御装置およびプログラミング装置
JP2009146040A (ja) * 2007-12-12 2009-07-02 Omron Corp Plcを用いたデータトレースシステム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9740185B2 (en) 2013-04-12 2017-08-22 Mitsubishi Electric Corporation Peripheral device for programmable controller and debug support program
KR101775808B1 (ko) * 2013-04-12 2017-09-06 미쓰비시덴키 가부시키가이샤 프로그래머블 컨트롤러의 주변장치 및 디버그 지원 프로그램
JP2015176387A (ja) * 2014-03-14 2015-10-05 オムロン株式会社 制御装置、制御システム、データトレース方法、及びプログラム
CN110168456A (zh) * 2017-02-22 2019-08-23 欧姆龙株式会社 控制系统、控制装置以及控制程序

Also Published As

Publication number Publication date
WO2012124541A1 (ja) 2012-09-20
EP2672348A4 (en) 2015-08-26
EP2672348B1 (en) 2019-09-11
CN103430111A (zh) 2013-12-04
JP5252014B2 (ja) 2013-07-31
US20140058538A1 (en) 2014-02-27
US9921560B2 (en) 2018-03-20
CN103430111B (zh) 2016-04-27
EP2672348A1 (en) 2013-12-11

Similar Documents

Publication Publication Date Title
JP5252014B2 (ja) 制御装置、制御システム、ツール装置および収集指示プログラム
JP5218585B2 (ja) 制御装置およびシステムプログラム
JP5747584B2 (ja) 制御装置およびシステムプログラム
JP6626315B2 (ja) プログラマブル・ロジック・コントローラのモニタ装置及びプログラマブル・ロジック・コントローラ・システム
JP5796311B2 (ja) 制御装置およびシステムプログラム
JP2015176370A (ja) 制御システム、方法、プログラムおよび情報処理装置
JP4097670B2 (ja) 工作機械におけるモニタ装置
JP6626240B2 (ja) コントローラ
US9557897B2 (en) Apparatus and method for inputting cutting shape using interactive program in computer numerical control machine tool
US20210182101A1 (en) Program generating device, program generating method, and information storage medium
JP5994862B2 (ja) 開発支援装置及び開発支援プログラム
JP5996150B2 (ja) プログラマブル表示器及び作画ソフトウェア
JP4324866B2 (ja) ツール
KR101916771B1 (ko) 모니터링 장치 관리 방법
JP2006301765A (ja) 制御装置のメンテナンス装置
EP3633471B1 (en) Program development support device, program development support system, program development support method, and program development support program
CN112559029B (zh) 逻辑组态元件、组态软件的使用方法、可读存储介质
US11151016B2 (en) Control-program-development supporting apparatus, control-program-development supporting system, control-program-development supporting method, and non-transitory computer-readable storage medium
JP6394014B2 (ja) 制御システム及びプログラム部品

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130116

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130401

R150 Certificate of patent or registration of utility model

Ref document number: 5252014

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250