JP2007280378A - プログラマブル・コントローラ・システム - Google Patents

プログラマブル・コントローラ・システム Download PDF

Info

Publication number
JP2007280378A
JP2007280378A JP2007066487A JP2007066487A JP2007280378A JP 2007280378 A JP2007280378 A JP 2007280378A JP 2007066487 A JP2007066487 A JP 2007066487A JP 2007066487 A JP2007066487 A JP 2007066487A JP 2007280378 A JP2007280378 A JP 2007280378A
Authority
JP
Japan
Prior art keywords
program
execution
trace
programmable controller
memory
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.)
Pending
Application number
JP2007066487A
Other languages
English (en)
Inventor
Rei Hara
玲 原
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 JP2007066487A priority Critical patent/JP2007280378A/ja
Publication of JP2007280378A publication Critical patent/JP2007280378A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

【課題】 PLCのデバッグ機能として、トレース範囲やトレース時間、プログラムのスキャン回数を設定し、動作していない回路情報を抽出することにより、高品質の回路を提供すること。
【解決手段】 プログラマブル・コントローラと、サポートツールとして機能するパソコンと、を備えたプログラマブル・コントローラ・システムにおいて、プログラマブル・コントローラは実行するプログラムの各プログラムステップと、対応する実行/非実行を割り付けるメモリ領域を備え、実行されるプログラムをトレースするトレース手段を具備し、当該トレース手段において各プログラムステップの実行/非実行を判定するプログラム実行/非実行判定手段を有し、かつプログラム実行/非実行判定手段の判定結果に対応して、当該プログラムステップに対応するメモリのアドレスに実行ビットをON/OFFする手段を備える。
【選択図】図1

Description

本発明は、プログラマブル・コントローラに係り、特に当該プログラマブル・コントローラにて実行されるプログラムのデバッグ方法に関する。
様々な出力機器に接続され、それらの出力機器の動作を制御するプログラムが組みこまれたプログラマブル・コントローラ(以下、「PLC」と言う)はよく知られている。そして、当該PLCにサポートツールを接続したPLCシステムも同様によく知られている。ここで、サポートツールとしては、一般的にパソコンが用いられ、PLCにて実行されるプログラムの作成、設定、変更等をパソコン側にて行うためのプログラミングツールが組みこまれていると共に、オペレータから当該PLCにおいて実行されるプログラムのパラメータやプログラム実行命令等を入力する入力端末や、プログラム内容等を表示するための表示装置を兼ねている。プログラミングツールにて作成されたプログラムは、当該サポートツールとPLCのCPUユニットとを接続する通信ケーブル等を介してPLCのCPUユニットへとダウンロードされ、PLC側にて実行される。また、サポートツールのプログラミングツールは、PLCにてプログラムを実行する際に、サポートツール側にてモニタできるように、PLCのCPUユニットのメモリを読み出して表示装置に表示し、プログラムの処理内容や結果等の様々な情報を表示する機能も有している。
このようなPLCシステムにおいて、PLCで実行されるプログラムが正常に動作しているか、また、当該プログラムがラダー図で表現される場合は、特定の回路の実行/非実行状態を確認するためのデバッグ機能は不可欠である。そして、プログラミングツールのデバッグ機能としても様々な機能が開発されており、例えば、各種ジャンプを可能とする機能(同一アドレスの接点から出力命令へのジャンプ、出力命令から接点へのジャンプ、指定行コメント付回路へのジャンプ、指定回路番号へのジャンプ)、検索機能(命令語+指定オペランド/値の組み合わせの検索)、強制セット/リセット機能、微分モニタ機能、停止モニタ機能、タイマ/カウンタの設定値変更機能、クロスレファレンス機能、データトレース/タイムチャートモニタ機能、複数回路のオンラインエディット機能、プログラムの一部分のみのアップロード機能、複数ツールから各々異なるプログラムをオンラインエディットする機能、等が従来より知られている。そして、これらの機能は、特定の回路のデバッグ、または動作確認に使用されるものである。
従来ではこれらの機能を実現するために、(1)プログラミングツールのモニタリング機能のひとつである導通モニタ機能(PLC上で実行されているプログラムをパソコンの画面上にラダー図形式で表示するともに、当該ラダー図上の回路の実行状態をPLCから取得し、取得した回路の実行状態をラダー図に重ね合わせて表示するもの)を用いる、(2)プログラミングツールのデータトレース機能を用いる、ということが行われていた(特許文献1参照)。
特開2001−154711号公報
ところが、上述の(1)プログラミングツールのモニタリング機能における導通モニタ機能においては、回路の実行状態をPLCから取得するために所定の周期でPLCと通信を行なっており、当該周期の途中における回路の実行状態を特定できない、という問題点が指摘されていた。そして、(2)プログラミングツールのデータトレース機能においては、設定したトリガ条件で指定チャンネル、指定接点の状態をトレースするものであり、デバッグ対象のプログラムがラダー図で表現される場合の回路の実行状態をトレースすることできない。そのため、特定回路の実行または非実行を特定することができなかった。
また、これらのデバッグ機能においては、特定回路毎のデバッグを実施することは可能であるが、回路を動作させてデバッグ個所(例えば、入力の繋ぎ間違い、論理の間違い等)を特定する機能は有していなかった。
この発明は、このような従来の問題点に着目してなされたものであり、その目的とするところは、PLCのデバッグ機能として、トレース範囲やトレース時間、プログラムのスキャン回数を設定し、動作していない回路情報を抽出することにより、回路の品質を向上させることにある。
この発明の他の目的ならびに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解される筈である。
本発明の実施形態によれば、メモリを備えたプログラマブル・コントローラと、当該プログラマブル・コントローラに接続され、サポートツールとして機能するパソコンと、を備えたプログラマブル・コントローラ・システムにおいて、プログラマブル・コントローラは、実行されるプログラムの各プログラムステップをトレースするトレース手段と、メモリ内にあって、実行するプログラムの各プログラムステップと各プログラムステップのトレース結果を書き込むメモリ領域と、を具備し、トレース手段において各プログラムステップの実行/非実行を判定するプログラム実行/非実行判定手段を有し、かつプログラム実行/非実行判定手段の判定結果に対応して、メモリ領域の対応アドレスに実行ビットをON/OFFする手段を備え、パソコンから送信されるデータ送信指示に従い、メモリ内のトレース結果データをパソコン側に送信するデータ送信手段をさらに具備することを特徴とする。
このような構成により、プログラムのトレース後、メモリには実行されたプログラムの各プログラムステップ毎の実行/非実行の判定が執り行われ、その判定結果がメモリ内に対応付けして書き込まれているため、プログラムの実行時に動作していないプログラムステップ(回路)を容易に把握することを可能としたプログラマブル・コントローラ・システムを提供することが可能となる。
また、各プログラムステップの実行/非実行判定の判定結果が書き込まれるメモリのデータをサポートツール(パソコン)側に送信し、パソコンの表示機能を介してオペレータに表示することで、オペレータがプログラムの各プログラムステップ(回路)の実行/非実行を容易に把握することが可能となる。
本発明の実施の形態によれば、トレース手段において、トレース対象となるのプログラムのトレース範囲を設定するトレース範囲設定手段をさらに具備することを特徴とする。
このような構成により、トレース対象となるプログラムの範囲をオペレータが任意に設定することが可能となる。また、この機能により、プログラムの全部、若しくは一部をトレース対象とすることができるため、例えば、プログラムの修正や追加等により、その変更部分のみトレースし、各プログラムステップの実行/非実行を把握することができ、デバッグ作業の効率が飛躍的に向上する。
本発明の実施の形態によれば、トレース対象となるプログラムのトレース回数を設定するトレース回数設定手段をさらに具備することを特徴とする。
このような構成により、トレースの回数(スキャン回数)をオペレータが任意に設定することが可能となる。
本発明の実施の形態によれば、トレース対象となるプログラムのトレース時間を設定するトレース時間設定手段をさらに具備することを特徴とする。
このような構成により、トレースの時間をオペレータが任意に設定することが可能となる。
本発明のPLCシステムにおいては、PLCのデバッグ機能として、トレース範囲やトレース時間、プログラムのスキャン回数を設定し、動作していない回路情報を抽出することにより、回路の品質を向上させたPLCシステムを提供することが可能となる。
以下に、この発明の好適な実施の一形態を添付図面を参照しながら詳細に説明する。尚、以下に説明する実施の形態は、本発明のほんの一例を示すものに過ぎず、本発明の要旨とするところは、特許請求の範囲の記載によってのみ規定されるものである。
本発明におけるPLCシステムのシステム構成図が図1に示されている。同図にて示されるように、このPLCシステムは、PLC1と、サポートツールとして機能するパソコン3と、それらを接続する通信ケーブル5とによって概略構成されている。また、PLC1には、ファームウェア21とハードウェア22とを実装するCPUユニット2が、そして、パソコン3はプログラミングツール4をさらに有するものである。このプログラミングツール4とは、よく知られているように、PLCにて実行されるプログラムの作成、設定、変更等をパソコン側にて行うためのアプリケーションソフトウェアである。また、CPUユニット2内に備えられるハードウェア22とファームウェア21とは、CPUユニット2全体の動作を司るものである。
尚、図示しないが、PLC1のCPUユニット2は、サポートツールとなるパソコン3のプログラミングツール4とのインターフェースをなすシリアルインターフェースで接続されている。
次に、図2にて、PLC1のCPUユニット2におけるハードウェア構成を示すブロック図が示されている。同図にて示されるように、CPUユニット2は、当該CPUユニット2全体の動作を司るMPU(マイクロプロセッサ)221を主体として構成されており、このMPU221に、ROM222、ワークRAM223、データ格納用不揮発性メモリ227、並びにASIC225が接続されており、またASIC225を介してUM(ユーザプログラムメモリ)224およびIOM(I/Oメモリ)226に接続している。ここで、ROM222は、システムファームウェアを格納するメモリであり、ワークRAM223はシステムワークとして利用されるメモリである。そして、UM224はユーザプログラムを格納するメモリであり、IOM226はその一部を外部機器と接続するための入出力ユニット(図示せず)とのデータ交換用メモリとして使用したり、あるいは、別の一部をユーザプログラム実行時にデータ格納用メモリとして使用される。また、ASIC225は、ユーザプログラム(命令)の実行処理、通信インターフェース処理、並びにメモリアクセスバス調停処理等を行うものである。
先に述べたように、MPU221はPLC1のCPUユニット2の全体動作を統轄制御するものである。そして、ROM222には、MPU221で処理されるシステムプログラムが記憶され、データ格納用不揮発性メモリ227にはUM224に格納されているユーザプログラムと同一内容のものがバックアップされたユーザプログラムとして記憶されている。また、ワークRAM223には、MPU221の処理全般にかかる各種データが記憶されている。
そして、ASIC225に接続されるUM224には、データ格納用不揮発性メモリ227に格納されているユーザプログラムと同一内容のユーザプログラムが記憶され、ここから読み出されたユーザプログラムが実行される。ASIC225は、UM224からプログラムを順番に読み出し実行し、その実行結果をIOM226へと書き込む。
図3は、サポートツール(パソコン3)のハードウェア構成を示すブロック図である。同図にて示されるように、パソコン3には表示制御用メモリ31とメモリ32とCPU33とがバス34を介して接続されている。さらに、メモリ32には、トレースデータ用データエリア321,ユーザプログラムデータエリア322,およびプログラミングツールプログラムモジュール323が設けられている。また、表示制御用メモリ31は、パソコン3に接続されるモニタ等の表示装置8に接続されている。バス34はオペレータが様々な命令や情報を入力するための入力装置9とさらに接続されており、インターフェース(I/F)35を介してPLC1のCPUユニット2に接続される。
以下に、上述のPLCシステムにおけるPLC1のCPUユニット2、並びにサポートツール(パソコン3)において実行されるプログラムのデバッグ機能について説明する。
図4は、CPUユニット2側における全体処理のフローチャートである。同図にて示されるように、先ず、PLC1に実装されているユニットの接続状態の認識等の電源ON時のイニシャル処理が実行される(ステップ401)。続いて、ハードウェア、ユーザプログラムメモリのチェックが実行され(ステップ402)、チェック結果が正常であれば(ステップ403,正常)、ユーザプログラムの実行処理が行われる(ステップ406)。CPUユニットは、ユーザプログラムを実行すると、設定されたサイクルタイムの経過を待ち(ステップ407)、サイクルタイムの算出を行う(ステップ408)。そして、続いてI/Oリフレッシュ処理(ステップ409)並びに周辺サービス処理(ステップ410)が実行され、ステップ402に戻り、以後の処理を繰り返す。
ここで、ステップ403に戻り、ハードウェア並びにユーザプログラムメモリのチェック結果が異常である場合(ステップ403,異常)、各種異常フラグがセットされ(ステップ404)、異常内容が判定される(ステップ405)。ステップ405において運転停止異常(PLCの運転を継続することができない異常)と判定された場合は、エラー表示用のLEDを点灯後に運転を停止する。一方、ステップ405において運転継続異常(PLCの運転を継続できる異常)と判定された場合は、アラーム表示用のLEDを点滅させつつ、ステップ406のユーザプログラムの実行処理へと移行する。
PLCのCPUユニット2の全体処理としては、よく知られているように、電源ON時のイニシャル処理(ステップ401)、共通処理(ステップ402、403)、演算処理(ステップ406)、サイクルタイム算出処理(ステップ407、408)、I/Oリフレッシュ処理(ステップ409)、そして周辺サービス処理(ステップ410)に大別される。そして、通常PLCのサイクルタイムとは、上記の共通処理、演算処理、サイクルタイム算出処理、I/Oリフレッシュ処理、並びに周辺サービス処理を1サイクルとして表すものである。
続いて、図5および図6を参照して、サポートツールとして機能するパソコン3側、並びにCPUユニット側のデバッグ機能としてのトレース処理の全体動作を説明する。図5には、パソコン3側の処理が示されている。同図にて示されるように、パソコン3は、オペレータが入力装置9を介してトレース実行に必要となるパラメータの入力を待つ(ステップ501およびステップ501,NO)。ここで入力されるパラメータは、メモリ32内のトレースデータ用データエリアに記録される。そして、パラメータの入力があれば(ステップ501,YES)、入力されたパラメータをCPUユニット2へと、先に説明したバス34およびインターフェース35を介して送信する(ステップ502)。続いて、オペレータからのトレース開始指示の入力を待つ(ステップ503およびステップ503,NO)。ここでも、オペレータからのトレース開始指示は、パラメータ入力後に上述の入力装置9を介して入力される。そして、オペレータからのトレース開始指示を受けて(ステップ503,YES)、CPUユニット2へとトレース開始指示を送信する(ステップ504)。
オペレータからのトレース開始指示がCPUユニット2側に送信されると、CPUユニット2側は後に詳細に説明するトレース処理を実行する。そして、サポートツール側では、トレース開始指示をCPUユニット2に送信後、CPUユニット2側におけるトレース完了の確認を行う(ステップ505およびステップ506,NO)。ここで言うサポートツール側のトレース完了確認とは、CPUユニット2側におけるトレース処理が完了したことを示すフラグ(トレース完了フラグ)の状態をCPUユニット2の所定メモリ(例えば、IOM226)より読み出し確認することにより行われる。そして、トレース完了の確認が取れたら(ステップ506,YES)、CPUユニット2に対してトレースデータの送信を要求する指示を送信する(ステップ507)。先に説明したように、PLC1のCPUユニット2においては、UM224に記憶されているプログラムをASIC225が順番に読み出し実行し、その実行結果をIOM226に記録している。従って、ここで要求されているトレースデータとは、IOM226に記録されているトレース処理の実行結果を意味する。そして、サポートツールは、CPUユニット2からのトレースデータの受信を受けて(ステップ508,YES)、受信したトレースデータの解析を実行し(ステップ509)、そのトレース結果を表示装置8を介してオペレータに表示する(ステップ510)。
続いて、CPUユニット2側の処理を図6を参照しつつ説明する。CPUユニット2では、先ずトレース実行に必要となるパラメータがパソコン3側から送信されてくるのを待つ(ステップ601およびステップ601,NO)。そして、パラメータの送信があれば(ステップ601,YES)、受信したパラメータをパラメータメモリに記憶し(ステップ602)、続いてパソコン3から送信されるトレース開始指示の受信を待つ(ステップ603およびステップ603,NO)。パソコン3からのトレース開始指示の受信後(ステップ603,YES)、先に受信したパラメータに従って、後に詳細に説明するトレース・サンプリング処理を実行し、サンプリングして取得したデータをトレースメモリに記憶する(ステップ604)。このデータサンプリング処理をトレースが完了するまで繰り返し(ステップ605およびステップ605,NO)、トレースが完了すると(ステップ605,YES)、トレース完了フラグをセットする(ステップ606)。先に説明したように、パソコン3側では、このトレース完了フラグの状態の確認を行っており、トレース完了が確認されるとトレースデータのデータ送信指示をCPUユニット2へと送信するようにされている。そして、CPUユニット2側では、トレースデータの送信指示がパソコン3側から発行されたことを確認し、当該トレースメモリのトレースデータをパソコン3へと送信する。
次に、上述のCPUユニット2におけるトレース・サンプリング処理を図7〜12を参照してさらに詳細に説明する。先ず、図7において、CPUユニット2のトレース・サンプリング処理の全体フローチャートが示されている。同図にて示されるように、トレース・サンプリング処理は、トレース範囲/回数/時間の設定処理が行われる(ステップ701)。このトレース範囲/回数/時間の設定処理は、CPUユニット2の全体処理において共通処理で実行されるように構成すると良い。
ここで、このトレース範囲/回数/時間の各設定処理の詳細が図8〜10に示されている。図8は、トレース回数(スキャン回数)の設定処理を示すフローチャートである。同図にて示されるように、トレース回数の設定処理は、カウンタ目標値レジスタに所望のトレース回数を設定する(ステップ801)、コマンドレジスタのカウンタイネーブル設定(ステップ802)、コマンドレジスタの割込みイネーブル設定(ステップ803)、そしてコマンドレジスタのカウンタ起動設定(ステップ804)を順次実行することにより行なわれる。
また、図9はトレース時間設定処理を示すフローチャートである。同図にて示されるように、トレース時間の設定処理は、タイマ目標値レジスタ設定(ステップ901)、コマンドレジスタのタイマイネーブル設定(ステップ902)、コマンドレジスタの割込みイネーブル設定(ステップ903)、そしてコマンドレジスタのタイマ起動設定(ステップ904)を順次実行することにより行なわれる。
そして、図10はトレース範囲の設定処理を示すフローチャートである。同図にて示されるように、トレース範囲の設定処理は、トレース範囲先頭プログラムステップアドレスの設定(ステップ1001)と、トレース範囲末尾プログラムステップアドレスを設定する(ステップ1002)ことにより設定される。
ここで、図7に戻り、上述の処理によりトレース範囲/回数/時間の設定が行われた後に、プログラムの命令実行/非実行の判定が行われる(ステップ702)。ここで言うプログラムとは、UM224に格納されているユーザプログラムのことであり、ASIC225により順番に読み出され実行されるプログラムである。そして、この命令実行/非実行判定により、プログラム実行と判定された場合(ステップ702,YES)、当該プログラムの実行処理に移行する(ステップ704)。そして、続いてトレース中であるかどうかの判定が行われ(ステップ705)、トレース中であれば(ステップ705,YES)、トレースポインタが示すアドレスに実行ビットをONにしてステップ番号を格納する(ステップ706)。その後、トレースポインタを次に更新し(ステップ707)、残ステップの有無を確認する(ステップ708)。
また、ステップ702に戻り、プログラムの実行/非実行判定にて非実行と判定された場合(ステップ702,非実行)、プログラムの非実行処理が行われ(ステップ703)、ステップ707のトレースポインタを次に更新し、残ステップの有無を確認するステップ708へと移行する。
ステップ708に移行し、ここで、残ステップがあると判定された場合(ステップ708,YES)、ステップ702に戻り、残ステップがなくなるまでトレースポインタの更新を順次行いつつ、上述の処理を繰り返す。そして、残ステップがないと判定された場合(ステップ708,NO)、このトレース・サンプリング処理は完了する。
図11にて、上記の図7におけるステップ702の命令実行/非実行判定の詳細フローチャートが示されている。同図にて示されるように、命令実行/非実行の判定を行うために、先ず命令実行条件の真偽が判定される(ステップ1101)。ここで、命令の実行条件が「偽」であると判定された場合(ステップ1101,YES)、NOP(No Operation)処理(ステップ1102)へと移行し、非実行と判定される。尚、ここで言うNOP処理とは、よく知られているように、マイクロプロセッサの命令の一つであり、何もしないことを表すものである。そして、命令実行条件が「偽」ではない場合(ステップ1101,NO)、続いて命令個別エラーであるかどうかの判定が行われる(ステップ1103)。ここで、命令個別エラーであると判定されると、NOP処理へと移行し(ステップ1104)、非実行と判定される。それに対し、命令実行条件は「偽」ではない(ステップ1101,NO)、並びに命令個別エラーではない(ステップ1103,NO)、という2つの条件が満たされた場合のみ、命令実行という判定が下される。このように、命令のコードや内部の状態に従い、実行/非実行を決定する。
このように、PLC1におけるプログラムの実行状態を監視するプログラムのデバッグ方法において、UM224に記憶されたプログラムを順次実行するとき、各プログラムの実行条件判定で、非実行回路と記憶する機能と、実行された回路を記憶する機能を有するプログラムデバッグ方法を有する。また、トレースの条件としてプログラムのトレース範囲およびトレースのプログラム実行時間やプログラムの実行回数(スキャン回数)を設定する方法を有するものである。
図12は、先に説明したUM224対応トレースビットの表を示す図である。同図にて示されるように、この表の縦軸はプログラムステップのアドレスを示し、横軸はビット数を示している。そして、命令のプログラムステップ数分のビット領域が確保されている。また、この領域については、ASIC225内部領域、IOM226、または専用メモリを使用することができる。
そして、図13にはプログラムパターンの一例が示されている。同図にて示されるように、PLCにて実行されるプログラムの各プログラムステップ番号(同図における「ステップNo.」欄)に対応して、当該プログラムステップのオブジェクト、ニモニック(mnemonic)表示、並びにUM対応トレースビットが記載されている。尚、同図に示される表の右側のUM対応トレースビット欄にて示されるように、上述の手法による各プログラムステップの命令の実行/非実行の判定結果(ON/OFF、若しくは「操作なし」)が対応するプログラムステップに関連付されて記録されている。尚、同図において、ステップ番号13および17のニモニック表示欄に記載されている「A500.15」はONとする。
次に、図14にて、トレーステーブルの使用方法が示されている。同図(a)にて示されるのは、先に図13にて説明したプログラムのトレーステーブルの一例である。ここでは簡略化のために、プログラムのステップ番号(n)、ニモニック表示、並びに実行/非実行判定のみが記載されている。そして、同図(b)にはメモリイメージが示されている。これらの図にて示されるように、プログラムのステップ毎(n、n+1、n+2...)にビットが割り付けられている。また、同図(a)のトレーステーブルにおけるプログラムのnステップをmアドレス:0ビットとし、実行を「1」、非実行を「0」で表している。従って、同図(b)の0ビットアドレス欄には、nステップ番号に対応する「実行」が割り付けられ、実行を表す「1」が書き込まれている。他のビットアドレスにも、同様に対応するステップにおける実行/非実行の判定が「1」または「0」にて書き込まれている。これらの図にて示されるように、プログラムステップ番号に対応する実行/非実行判定(a〜h)が、メモリイメージの対応するトレースデータアドレスに割り付けられている。尚、この例では、以下の式でビットアドレスが求められる。
nステップ/16=商(トレースデータアドレス)・・・余り(ビットアドレス)
尚、0ステップでは、先頭アドレスの0ビットとなる。
図15は、表示装置8の画面表示例を示す図である。この画面例は、サポートツールであるパソコン3を介して接続される表示装置8の表示画面上に表示される画面の一例である。図15(a)はラダー図形式に表示された表示画面の一部を示し、図15(b)はニモニックウィンドウの表示画面の一部を示している。PLCにて実行されるプログラムにおいて、上述のトレース処理により、非実行回路であると判定された回路は、同図(a)にて示されるように、回路番号の横に符号40にて示される実行/非実行表示領域に所定の表示を行うことにより明記される。この実行/非実行表示領域に、例えば特定の色を施す、等の処理を行うことにより、対象となる回路が非実行回路であることをオペレータが一見して把握することが可能となる。この場合、オペレータが一見して回路の実行/非実行を把握することができれば良いので、色を施すことのみではなく、そのような視認性が得られるのなら他の手法を用いても良いことは言うまでもない。
また、同図(b)のニモニックウィンドウ画面においても、符号50が入力フィールドを示し、また符号51のエクスクラメーションマークが非実行回路を表示している。ここでも、オペレータによって対象となる回路が非実行回路であることが分かれば良いので、エクスクラメーションマーク以外の表示形式を用いても良いことは言うまでもない。このように、オペレータが操作するパソコン3の表示装置8上にて、非実行回路を明確に表示することでプログラムを実行しながら回路の実行/非実行情報を取得することができ、デバッグ作業の効率を飛躍的に高めることが可能である。また、その表示形式においても、ラダー形式とニモニック形式との双方を用いることによって利便性を高めることができる。
以上の説明で明らかなように、本発明によれば、プログラマブル・コントローラのデバッグ機能として、トレース範囲やトレース時間、プログラムのスキャン回数を設定し、動作していない回路情報を抽出することが可能な非実行回路の抽出方法を提供することが可能となる。
本発明におけるPLCシステムのシステム構成図である。 PLCのCPUユニットのハードウェア構成を示すブロック図である。 サポートツールのハードウェア構成を示すブロック図である。 PLCのCPUユニットの全体処理を示すフローチャートである。 サポートツールのトレース処理を示すフローチャートである。 CPUユニット側のトレース処理を示すフローチャートである。 CPUユニット側のトレース・サンプリング処理の詳細を示すフローチャートである。 トレース回数設定処理の詳細を示すフローチャートである。 トレース時間設定処理の詳細を示すフローチャートである。 トレース範囲設定処理の詳細を示すフローチャートである。 命令実行/非実行判定処理を示すフローチャートである。 UMの対応トレースビットを示す図である。 プログラムパターンの一例を示す図である。 トレース方法を示す図である。 画面表示例を示す図である。
符号の説明
1 PLC
2 CPUユニット
3 パソコン(サポートツール)
4 プログラミングツール
5 通信ケーブル
8 表示装置
9 入力装置
21 ファームウェア
22 ハードウェア
31 表示制御用メモリ
32 メモリ
33 CPU
34 バス
35 インターフェース
40 実行/非実行表示領域
50 入力フィールド
51 非実行回路
221 MPU
222 ROM
223 ワークRAM
224 UM
225 ASIC
226 IOM
321 トレースデータ用データエリア
322 ユーザプログラムデータエリア
323 サポートツールプログラムモジュール

Claims (4)

  1. メモリを備えたプログラマブル・コントローラと、当該プログラマブル・コントローラに接続され、サポートツールとして機能するパソコンと、を備えたプログラマブル・コントローラ・システムにおいて、
    プログラマブル・コントローラは、
    実行されるプログラムの各プログラムステップをトレースするトレース手段と、メモリ内にあって、実行するプログラムの各プログラムステップと各プログラムステップのトレース結果を書き込むメモリ領域と、を具備し、
    トレース手段において各プログラムステップの実行/非実行を判定するプログラム実行/非実行判定手段を有し、かつプログラム実行/非実行判定手段の判定結果に対応して、メモリ領域の対応アドレスに実行ビットをON/OFFする手段を備え、
    パソコンから送信されるデータ送信指示に従い、メモリ内のトレース結果データをパソコン側に送信するデータ送信手段をさらに具備することを特徴とするプログラマブル・コントローラ・システム。
  2. トレース手段において、トレース対象となるプログラムのトレース範囲を設定するトレース範囲設定手段をさらに具備することを特徴とする請求項1に記載のプログラマブル・コントローラ・システム。
  3. トレース手段において、トレース対象となるプログラムのトレース回数を設定するトレース回数設定手段をさらに具備することを特徴とする請求項1および2に記載のプログラマブル・コントローラ・システム。
  4. トレース手段において、トレース対象となるプログラムのトレース時間を設定するトレース時間設定手段をさらに具備することを特徴とする請求項1〜3のいずれかに記載のプログラマブル・コントローラ・システム。
JP2007066487A 2006-03-15 2007-03-15 プログラマブル・コントローラ・システム Pending JP2007280378A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007066487A JP2007280378A (ja) 2006-03-15 2007-03-15 プログラマブル・コントローラ・システム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006071800 2006-03-15
JP2007066487A JP2007280378A (ja) 2006-03-15 2007-03-15 プログラマブル・コントローラ・システム

Publications (1)

Publication Number Publication Date
JP2007280378A true JP2007280378A (ja) 2007-10-25

Family

ID=38681709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007066487A Pending JP2007280378A (ja) 2006-03-15 2007-03-15 プログラマブル・コントローラ・システム

Country Status (1)

Country Link
JP (1) JP2007280378A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010224597A (ja) * 2009-03-19 2010-10-07 Hitachi Industrial Equipment Systems Co Ltd プログラマブルコントローラ制御プログラム作成方法、および、プログラマブルコントローラ制御プログラム作成システム
JP2017134493A (ja) * 2016-01-26 2017-08-03 ファナック株式会社 ラダープログラムの自己保持回路の自動トレース機能を備えたラダープログラム表示装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04216103A (ja) * 1990-12-17 1992-08-06 Omron Corp プログラマブルコントローラにおけるユーザプログラムのトレース方式
JPH05150812A (ja) * 1991-11-30 1993-06-18 Fuji Electric Co Ltd プログラマブルコントローラ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04216103A (ja) * 1990-12-17 1992-08-06 Omron Corp プログラマブルコントローラにおけるユーザプログラムのトレース方式
JPH05150812A (ja) * 1991-11-30 1993-06-18 Fuji Electric Co Ltd プログラマブルコントローラ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010224597A (ja) * 2009-03-19 2010-10-07 Hitachi Industrial Equipment Systems Co Ltd プログラマブルコントローラ制御プログラム作成方法、および、プログラマブルコントローラ制御プログラム作成システム
JP2017134493A (ja) * 2016-01-26 2017-08-03 ファナック株式会社 ラダープログラムの自己保持回路の自動トレース機能を備えたラダープログラム表示装置

Similar Documents

Publication Publication Date Title
WO2015136959A1 (ja) 制御システム、方法、プログラムおよび情報処理装置
KR100932057B1 (ko) 피엘씨
JP6481267B2 (ja) プログラマブル表示器
EP1942386A1 (en) Simulation data creation supporting device
US10139805B2 (en) Ladder diagram monitoring device capable of additionally displaying operation situation of CNC in comment
JP4883314B2 (ja) Plcを用いたデータトレースシステム
JP3456692B2 (ja) データ処理装置
JP6362821B2 (ja) 制御装置、制御方法および命令セット
JP2005070949A (ja) プログラム処理装置
JP2007280378A (ja) プログラマブル・コントローラ・システム
JP4085286B2 (ja) Plcのモニタシステム
JP2016045712A (ja) プログラマブルロジックコントローラ
JP2005070950A (ja) プログラム処理装置
US7721251B2 (en) Method and device for creating project planning for an operating device of an automation component
JP2003263339A (ja) デバック機能内蔵型マイクロコンピュータ
CN113348415B (zh) 装置状态再现装置、方法及存储介质
JP2006323726A (ja) モニタプログラムおよびリアルタイムトレースシステム
JP2004265001A (ja) プロセスコントロール機器及びcpuユニット
JP4552737B2 (ja) プログラマブルコントローラ
JP7044086B2 (ja) 制御システム、制御方法、および制御プログラム
JP3562783B2 (ja) プログラム式表示装置のデバッグ方法
JP6042980B2 (ja) プログラマブルコントローラシステム、その作画エディタ装置、そのプログラム
JP4919092B2 (ja) 制御プログラムの開発支援装置
JP2011138451A (ja) トレース機能を備える接続機器シミュレータ装置、方法、及びプログラム
JP2022015197A (ja) デバッグ用インサーキットエミュレータ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090220

A131 Notification of reasons for refusal

Effective date: 20101201

Free format text: JAPANESE INTERMEDIATE CODE: A131

A02 Decision of refusal

Effective date: 20110330

Free format text: JAPANESE INTERMEDIATE CODE: A02