(57)【特許請求の範囲】
【請求項１】
メモリチェック等のハードウェア診断を行う共通処理、ユーザの制御仕様に対応するユーザプログラムを実行して入出力メモリの内容を書き替えるプログラム実行処理、入力回路を介して外部入力端子から取り込まれた入力データを入出力メモリの入力領域に格納すると共に、入出力メモリの出力領域に格納された出力データを出力回路を介して外部出力端子へと送出する入出力リフレッシュ処理、ツール装置との通信を含む周辺サービス処理等を含む一連の処理を繰り返し実行するように仕組まれたＰＬＣと、
キーボードやマウス等を含むの入力操作手段と、画像表示器等を含む出力手段と、ＣＰＵ等を含む演算処理手段と、ＰＬＣとの通信手段とを有する情報処理装置に、所定のプログラム開発支援機能を組み込んで構成されたツール装置とを具備し、さらに
ＰＬＣには、
ツール装置との通信を介して、所定のトレース開始指令が与えられたとき、入出力データ等の当該ＰＬＣが取り扱う変動性データの中で、ユーザにより予め指定された１若しくは２以上のデータを、所定のデータ取得タイミングをもって継続的に取得すると共に、こうして取得されたトレースデータを所定のメモリ容量を有するトレースメモリの一連のアドレスに順次に書き込む動作を繰り返し実行するデータトレース手段と、
データトレース手段により所定のタイミングで取得されるデータのそれぞれに、連続性のある識別データを付与する識別データ付与手段と、
ツール装置との通信を介して、所定の識別データ送信指令が与えられたとき、その時点で最新の識別データをツール装置へと送信する識別データ送信手段と、
ツール装置との通信を介して、所定のトレースデータ送信指令が与えられたとき、その時点で最新のトレースデータをツール装置へと送信するトレースデータ送信手段とが設けられ、
ツール装置には、
入力操作手段における所定操作に応答してトレース開始指令を生成すると共に、こうして生成されたトレース開始指令を通信手段を介してＰＬＣに送信するトレース開始指令手段と、
トレース開始指令を与えたのち、最新の識別データの送信を要求する所定の識別データ送信指令を、通信手段を介して、所定のタイミングでＰＬＣに対して繰り返し送信する一方、ＰＬＣから返信される最新の識別データを通信手段を介して受信する最新データ問合わせ手段と、
ＰＬＣから受信された最新の識別データを自己が保持する最新の識別データと照合し、自己が保持する最新の識別データよりもＰＬＣから受信された最新の識別データの方が新しいときには、最新のトレースデータの送信を要求する所定のトレースデータ送信指令を通信手段を介してＰＬＣに対して送信するトレースデータ送信要求指令手段と、
ＰＬＣから返信されるトレースデータを通信手段を介して受信すると共に、こうしてＰＬＣから受信されるトレースデータを所定のロギングメモリの一連のアドレスに、識別データと関連づけて保存するトレースデータ保存手段とが設けられている、こと特徴とするＰＬＣを用いたデータトレースシステム。
【請求項２】
前記ＰＬＣにおける所定のデータ取得タイミングが、一定時間が経過する毎タイミング、ユーザプログラム中に組み込まれた所定のトレース命令が実行されるタイミング、又はサイクルタイム経過の毎タイミングである、ことを特徴とする請求項１に記載のＰＬＣを用いたデータトレースシステム。
【請求項３】
メモリチェック等のハードウェア診断を行う共通処理、ユーザの制御仕様に対応するユーザプログラムを実行して入出力メモリの内容を書き替えるプログラム実行処理、入力回路を介して外部入力端子から取り込まれた入力データを入出力メモリの入力領域に格納すると共に、入出力メモリの出力領域に格納された出力データを出力回路を介して外部出力端子へと送出する入出力リフレッシュ処理、ツール装置との通信を含む周辺サービス処理等を含む一連の処理を繰り返し実行するように仕組まれており、
ツール装置との通信を介して、所定のトレース開始指令が与えられたとき、入出力データ等の当該ＰＬＣが取り扱う変動性データの中で、ユーザにより予め指定された１若しくは２以上のデータを、所定のデータ取得タイミングをもって継続的に取得すると共に、こうして取得されたトレースデータを所定のメモリ容量を有するトレースメモリの一連のアドレスに順次に書き込む動作を繰り返し実行するデータトレース手段と、
データトレース手段により所定のタイミングで取得されるデータのそれぞれに、連続性のある識別データを付与する識別データ付与手段と、
ツール装置との通信を介して、所定の識別データ送信指令が与えられたとき、その時点で最新の識別データをツール装置へと送信する識別データ送信手段と、
ツール装置との通信を介して、所定のトレースデータ送信指令が与えられたとき、その時点で最新のトレースデータをツール装置へと送信するトレースデータ送信手段とを具備する、ことを特徴とするＰＬＣ。
【請求項４】
前記ＰＬＣにおける所定のデータ取得タイミングが、一定時間が経過する毎タイミング、ユーザプログラム中に組み込まれた所定のトレース命令が実行されるタイミング、又はサイクルタイム経過の毎タイミングである、ことを特徴とする請求項３に記載のＰＬＣ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プログラマブル・コントローラ（以下、「ＰＬＣ」と言う）を用いたデータトレースシステムに係り、特に、ＰＬＣとプログラム開発支援装置（以下、「ツール装置」と言う）との協働により、ＰＬＣ側に保存されたトレースデータをツール装置側にて読出可能としたＰＬＣを用いたデータトレースシステムに関する。
【背景技術】
【０００２】
ＰＬＣとツール装置との協働により、ＰＬＣ側に保存されたトレースデータをツール装置側にて読出可能としたＰＬＣを用いたデータトレースシステムは、従来より種々知られている（例えば、特許文献１参照）。
【０００３】
この種のデータトレースシステムは、ＰＬＣとツール装置とを通信で結ぶことにより、構成されている。
【０００４】
ＰＬＣ（中でも、ビルディング・ブロック型のＰＬＣ）は、当業者にはよく知られているように、電源ユニット、ＣＰＵユニット、１又は２以上の入出力ユニット、通信ユニット、及び各種の特殊機能ユニット等々により構成されている。
【０００５】
ＣＰＵユニットは、メモリチェック等のハードウェア診断を行う共通処理、ユーザの制御仕様に対応するユーザプログラムを実行して入出力メモリの内容を書き替えるプログラム実行処理、入力回路を介して外部入力端子から取り込まれた入力データを入出力メモリの入力領域に格納すると共に、入出力メモリの出力領域に格納された出力データを出力回路を介して外部出力端子へと送出する入出力リフレッシュ処理、ツール装置との通信を含む周辺サービス処理等を含む一連の処理を繰り返し実行するように仕組まれている。
【０００６】
一方、ツール装置は、キーボードやマウス等を含む入力操作手段と、画像表示器等を含む出力手段と、ＣＰＵ等を含む演算処理手段と、ＰＬＣとの通信手段とを有する情報処理装置（例えば、パソコン等）に、所定のプログラム開発支援機能を組み込んで構成されている。
【０００７】
ＰＬＣは、ツール装置との通信を介して、所定のデータ取得開始指令を受け取ると、入出力データ等の当該ＰＬＣが取り扱う変動性データの中で、ユーザにより予め指定された１若しくは２以上のデータを、所定のデータ取得タイミングをもって継続的に取得すると共に、こうして取得された仮トレースデータを所定のメモリ容量を有するトレースメモリの一連のアドレスに順次に書き込む動作を繰り返し実行する。
【０００８】
また、ＰＬＣは、予め設定されたトレース条件が成立（例えば、所定時間の経過、ユーザプログラムで指定された論理条件の成立、ツール装置からの指示到来、等々）すると、予め指定された時点（例えば、現時点、現時点より所定時間遡った時点、現時点より所定時間経過した時点、等々）以降のデータを実トレースデータとして、データの取得を継続すると共に、こうして取得される実トレースデータをトレースメモリの一連のアドレスに順次に書き込んでゆき、トレースメモリが実トレースデータで満たされるのを待って、データの取得及びトレースメモリへの書き込みを停止する。
【０００９】
さらに、ＰＬＣは、ツール装置との通信を介して、所定のトレースデータ送信指令を受け取ると、トレースメモリから実データを全て読み出して、ツール装置へと送信する。
【００１０】
従来システムにおける上述の動作の一例を示す説明図が図１７に示されている。同図に示されるように、トレースメモリは、図示例では、第１ブロック〜第５ブロックからなる５つのブロックに分けられており、それら一連のブロックは、第１ブロック〜第５ブロックに対して順次にアドレス指定を繰り返すリングバッファメモリとして機能するように構成されている。
【００１１】
ツール装置からのデータ取得開始指令を受けて、予め指定された変動データの取得が開始されると、同図（ａ）に示されるように、取得された仮トレースデータ「１」〜「５」は、図中ハッチングで示されるように、第１ブロック〜第５ブロックへと順次に格納されてゆく。第１ブロック〜第５ブロックが仮トレースデータ「１」〜「５」で満たされると、仮トレースデータ「６」以降のデータは、第１ブロック以降に上書きされてゆき、仮トレースデータ「１」以降のデータはその上書きにより消去されてゆく。
【００１２】
所定のトレース条件が成立して、例えば仮トレースデータ「３」以降が実トレースデータとされると、同図（ｂ）に示されるように、実トレースデータ「３」〜「５」は、図中塗り潰しにて示されるように、第３ブロック〜第５ブロックへと格納される。その後、実トレースデータ「６」〜「７」は、第１ブロック〜第２ブロックへと格納され、第２ブロックに実トレースデータ「７」が格納されると、トレースメモリは実トレースデータで満たされるから、実トレースデータの取得及び書き込みは停止される。
【００１３】
このようにして、トレースメモリが実トレースデータで満たされると、ＰＬＣは、同図（ｃ）に示されるように、入出力メモリ上に設けられたトレース終了リレーをＯＮさせて、外部からトレース終了を検知可能とする。ＰＬＣとの通信を介して、ツール装置がトレース終了リレーのＯＮを検知すると、ツール装置からの送信指令を受けて、ＰＬＣからツール装置へと実トレースデータ「３」〜「７」の送信が行われ、これによりツール装置は実トレースデータ「３」〜「７」を取得することができる。こうして取得された実トレースデータ「３」〜「７」は、ツール装置における分析処理や表示処理に供される。
【特許文献１】特開２００２−３５１５０５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
このような従来のデータトレースシステムによれば、仮トレースデータの取得中にあっては、データの上書き消去が行われるものの、トレース条件が成立（例えば、故障発生等）した以降については、トレースメモリが実トレースデータで満たされるのを待って、データの書き込みが停止するから、実トレースデータについては上書き消去されることがないと言う利点がある。
【００１５】
しかし、上述のデータトレースシステムにあっては、取得可能な実トレースデータの量はトレースメモリの容量に依存するため、トレース条件成立前後の比較的に短い期間におけるトレース対象データの変動を観察すると言った限られた用途には耐え得るものの、トレース条件の成立可否とは関係なく、特定のデータについて長期間に亘ってその変動を観察したいと言った所謂データロギング用途には供し得ないと言う問題点があった。
【００１６】
この発明は、上述の問題点に着目してなされたものであり、その目的とするところは、特定のデータについて長期間に亘ってその変動を観察したいと言った所謂データロギング用途に十分に供し得るＰＬＣを用いたデータトレースシステム、並びに、同システムに好適なＰＬＣを提供することにある。
【００１７】
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【００１８】
上述の技術的な課題は、以下の構成を有するＰＬＣのデータトレースシステムにより解決することができると考えられる。
【００１９】
すなわち、このデータトレースシステムは、ＰＬＣとツール装置とを通信で結ぶことにより構成されている。
【００２０】
ここで、ＰＬＣは、メモリチェック等のハードウェア診断を行う共通処理、ユーザの制御仕様に対応するユーザプログラムを実行して入出力メモリの内容を書き替えるプログラム実行処理、入力回路を介して外部入力端子から取り込まれた入力データを入出力メモリの入力領域に格納すると共に、入出力メモリの出力領域に格納された出力データを出力回路を介して外部出力端子へと送出する入出力リフレッシュ処理、ツール装置との通信を含む周辺サービス処理等を含む一連の処理を繰り返し実行するように仕組まれている。
【００２１】
また、ツール装置は、キーボードやマウス等を含む入力操作手段と、画像表示器等を含む出力手段と、ＣＰＵ等を含む演算処理手段と、ＰＬＣとの通信手段とを有する情報処理装置に、所定のプログラム開発支援機能を組み込んで構成されている。
【００２２】
ＰＬＣには、「データトレース手段」と、「識別データ付与手段」と、「識別データ送信手段」と、「トレースデータ送信手段」とが設けられる。
【００２３】
データトレース手段は、ツール装置との通信を介して、所定のトレース開始指令が与えられたとき、入出力データ等の当該ＰＬＣが取り扱う変動性データの中で、ユーザにより予め指定された１若しくは２以上のデータを、所定のデータ取得タイミングをもって継続的に取得すると共に、こうして取得されたトレースデータを所定のメモリ容量を有するトレースメモリの一連のアドレスに順次に書き込む動作を繰り返し実行する。
【００２４】
識別データ付与手段は、データトレース手段により所定のタイミングで取得されるデータのそれぞれに、連続性のある識別データ（例えば、連続番号、ミリ秒オーダーの時刻情報等々）を付与する。
【００２５】
識別データ送信手段は、ツール装置との通信を介して、所定の識別データ送信指令が与えられたとき、その時点で最新の識別データをツール装置へと送信する。
【００２６】
トレースデータ送信手段は、ツール装置との通信を介して、所定のトレースデータ送信指令が与えられたとき、その時点で最新のトレースデータをツール装置へと送信する。
【００２７】
一方、ツール装置には、「トレース開始指令手段」と、「最新データ問合わせ手段」と、「トレースデータ送信要求指令手段」と、「トレースデータ保存手段」とが設けられる。
【００２８】
トレース開始指令手段は、入力操作手段における所定操作に応答してトレース開始指令を生成すると共に、こうして生成されたトレース開始指令を通信手段を介してＰＬＣに送信する。
【００２９】
最新データ問合わせ手段は、トレース開始指令を与えたのち、最新の識別データの送信を要求する所定の識別データ送信指令を、通信手段を介して、所定のタイミングでＰＬＣに対して繰り返し送信する一方、ＰＬＣから返信される最新の識別データを通信手段を介して受信する。ここで、「所定のタイミング」については、例えば一定時間間隔毎（定期的）とすることができる。この時間間隔は、通信性能の影響を受けるため、ツール装置側で自動的に計算するか、あるいはユーザ側にて適当な値を設定する。
【００３０】
トレースデータ送信要求指令手段は、こうしてＰＬＣから受信された最新の識別データを自己が保持する最新の識別データと照合し、自己が保持する最新の識別データよりもＰＬＣから受信された最新の識別データの方が新しいときには、最新のトレースデータの送信を要求する所定のトレースデータ送信指令を通信手段を介してＰＬＣに対して送信する。
【００３１】
トレースデータ保存手段は、ＰＬＣから返信されるトレースデータを通信手段を介して受信すると共に、こうしてＰＬＣから受信されるトレースデータを所定のロギングメモリの一連のアドレスに、識別データと関連づけて保存する。
【００３２】
このような構成によれば、ＰＬＣ側において、データトレースが開始されたのちにあっては、ツール装置側からの定期的な問い合わせのたびに、最新のトレースデータに対応する識別データがＰＬＣからツール装置へと返送される一方、ツール装置側ではこれを取得済み識別データと照合して、ＰＬＣが新たなトレースデータを取得したことを検知してＰＬＣ側に対してその送信要求を行ない、その応答として新たなトレースデータを取得してロギングメモリに保存するため、ＰＬＣ側のトレースメモリ上で過去のトレースデータが上書き消去されたとしても、ツール装置からの問い合わせ頻度が適切である限り、上書き消去される前に、各トレースデータはツール装置側へと保存されることとなり、そのため、従前からのリングバッファ方式のトレースメモリを使用しつつも、特定のデータについて長期間に亘ってその変動を観察したいと言った所謂データロギング用途に十分に供し得るＰＬＣを用いたデータトレースシステムを実現することができる。
【００３３】
しかも、このようにしてデータロギングメモリに格納される一連のトレースデータには、連続性のある識別データが付与されているため、ツール装置からの問い合わせタイミングとトレースデータ取得タイミングとのずれ等により、連続するトレースデータの一部が欠落したような場合には、一連の識別データの連続性が途切れることにより、そのようなトレースデータの欠落を見つけることが容易となる。
【００３４】
なお、前記ＰＬＣにおける所定のデータ取得タイミングとしては、一定時間が経過する毎タイミング、ユーザプログラム中に組み込まれた所定のトレース命令が実行されるタイミング、又はサイクルタイム経過の毎タイミング等々、様々なタイミングを採用することができる。
【００３５】
別の一面から見た本発明は、上述のデータトレースシステムに好適なＰＬＣとして把握することもできる。
【００３６】
このＰＬＣは、メモリチェック等のハードウェア診断を行う共通処理、ユーザの制御仕様に対応するユーザプログラムを実行して入出力メモリの内容を書き替えるプログラム実行処理、入力回路を介して外部入力端子から取り込まれた入力データを入出力メモリの入力領域に格納すると共に、入出力メモリの出力領域に格納された出力データを出力回路を介して外部出力端子へと送出する入出力リフレッシュ処理、ツール装置との通信を含む周辺サービス処理等を含む一連の処理を繰り返し実行するように仕組まれている。
【００３７】
また、このＰＬＣには、「データトレース手段」と、「識別データ付与手段」と、「識別データ送信手段」と、「トレースデータ送信手段」とが設けられる。
【００３８】
データトレース手段は、ツール装置との通信を介して、所定のトレース開始指令が与えられたとき、入出力データ等の当該ＰＬＣが取り扱う変動性データの中で、ユーザにより予め指定された１若しくは２以上のデータを、所定のデータ取得タイミングをもって継続的に取得すると共に、こうして取得されたトレースデータを所定のメモリ容量を有するトレースメモリの一連のアドレスに順次に書き込む動作を繰り返し実行する。
【００３９】
識別データ付与手段は、データトレース手段により所定のタイミングで取得されるデータのそれぞれに、その取得タイミングに固有でかつ全体として連続性のある識別データを付与する。
【００４０】
識別データ送信手段は、ツール装置との通信を介して、所定の識別データ送信指令が与えられたとき、その時点で最新の識別データをツール装置へと送信する。
【００４１】
トレースデータ送信手段は、ツール装置との通信を介して、所定のトレースデータ送信指令が与えられたとき、その時点で最新のトレースデータをツール装置へと送信する。
【００４２】
このような構成によれば、データトレースの開始、最新トレースデータに関する識別データの送信、最新トレースデータの送信は、いずれも外部から所定の指令を受けて動作するから、ツール装置の側からそのような指令を与えることより、当該ＰＬＣにおいて従前のトレースメモリを使用しつつも、これとツール装置とを適宜に協働させることにより、データロギング機能を実現することができる。
【００４３】
なお、前記ＰＬＣにおける所定のデータ取得タイミングとしては、一定時間が経過する毎タイミング、ユーザプログラム中に組み込まれた所定のトレース命令が実行されるタイミング、又はサイクルタイム経過の毎タイミング等々のように、様々なタイミングを採用することができる。
【発明の効果】
【００４４】
本発明によれば、特定のデータについて長期間に亘ってその変動を観察したいと言った所謂データロギング用途に十分に供し得るＰＬＣを用いたデータトレースシステム、並びに、同システムに好適なＰＬＣを提供することができる。
【発明を実施するための最良の形態】
【００４５】
以下に、この発明に係るＰＬＣを用いたデータトレースシステムの好適な実施の一形態を添付図面に基づいて詳細に説明する。
【００４６】
本発明システムの構成図が図１（ａ）に示されている。同図に示されるように、本発明に係るデータトレースシステムは、ＰＬＣ１とプログラム開発支援装置（ツール装置）２とを通信ケーブル３で結んで構成されている。図示例にあっては、ＰＬＣ１としては、電源ユニット１１、ＣＰＵユニット１２、入力ユニット１３、出力ユニット１４、及び通信ユニット１５を含むビルディングブロック型のＰＬＣが採用されている。
【００４７】
当業者にはよく知られているように、それらのユニット１１〜１５は、それぞれほぼブックケース型のハウジングを有すると共に、その背後に配置されたバックプレーン上に敷設された内部バス上のソケットに対してそれぞれ着脱可能となされ、内部バスを介して互いにデータのやり取りが可能になされている。
【００４８】
電源ユニット１１は、内部バス上の電源ラインを介して他のユニット１２〜１５に対して電源供給が可能になされている。入力ユニット１３は、所定個数の外部入力機器が配線接続される入力端子台と、入力端子台に配線接続される入力機器からの信号を取り込むための入力回路とを含んでいる。出力ユニット１４は、所定個数の出力機器が配線接続される出力端子台と、出力端子台に配線接続される出力機器に対して出力信号を送出するための出力回路とを含んでいる。
【００４９】
通信ユニット１５は、後述するＣＰＵユニット１２との間でデータの受け渡しを行うための共有メモリと、通信ケーブル３を介してツール装置２との間でデータの送受信を行うための送受信回路と、ＣＰＵユニット１２との間のデータのやり取り及びツール装置２との間の通信を統括制御する制御部（マイクロプロセッサ）を含んでいる。
【００５０】
ＣＰＵユニット１２は、ＰＬＣ１の全体を統括制御するものであり、そのハードウェア構成図が図１（ｂ）に示されている。同図に示されるように、ＣＰＵユニット１２は、マイクロプロセッサ（ＭＰＵ）１２１、システムメモリ（ＳＲＯＭ）１２２、バックアップメモリ（ＢＲＯＭ）１２３、ワークメモリ（ＷＲＡＭ）１２４、ユーザメモリ（ＵＭ）１２５、外部サポート回路（ＡＳＩＣ）１２６、及び入出力メモリ（ＩＯＭ）１２７を含んで構成されている。
【００５１】
マイクロプロセッサ（ＭＰＵ）１２１は、ＣＰＵユニット１２の全体を統括制御するものであり、後述するシステムメモリ（ＳＲＯＭ）１２２に格納されたシステムプログラムを実行することにより、ＣＰＵユニット１２に必要な各種の機能を実現するように構成されている。
【００５２】
システムメモリ（ＳＲＯＭ）１２２は、この例ではフラッシュメモリ等の不揮発性メモリで構成されており、先に述べたように、マイクロプロセッサ（ＭＰＵ）１２１で実行される各種のシステムプログラムが格納されている。具体的には、後述する図２のフローチャートの一連の処理（ステップ１５１〜１５４）、図３のフローチャートの一連の処理（ステップ２０１〜２０５）、図４〜図６の一連の処理（ステップ３０１〜３０５、ステップ３１１〜３１３、ステップ３２１〜３２４）をそれぞれ実現するためのシステムプログラム等がこれに相当する。
【００５３】
バックアップメモリ（ＢＲＯＭ）１２３は、フラッシュメモリ等の不揮発性メモリで構成され、電源オフ時にはバッテリが存在しない状態でも内容を保持するように構成されている。このバックアップメモリ（ＢＲＯＭ）１２３には、ＰＬＣの制御仕様に対応したユーザプログラムが、所定のプログラム言語（例えば、ラダー図言語など）にて作成され、外部サポート回路（ＡＳＩＣ）１２６やマイクロプロセッサ（ＭＰＵ）１２１で実行可能なコードに変換して格納される。
【００５４】
ワークメモリ（ＷＲＡＭ）１２４は、マイクロプロセッサ（ＭＰＵ）１２１がシステムメモリ（ＳＲＯＭ）１２２から読み出されたシステムプログラムを実行する際のワークエリアとして機能するものであり、書換可能なＲＡＭで構成されている。後述するトレースメモリ（ＴＭ）は、このワークメモリ（ＷＲＡＭ）１２４内に設けられることとなる。
【００５５】
ユーザメモリ（ＵＭ）１２５は、スタティックＲＡＭ（ＳＲＡＭ）で構成されており、電源オフ時には内容を保持することができない。このユーザメモリ（ＵＭ）１２５には、電源投入と共に、バックアップメモリ（ＢＲＯＭ）１２３から転送されたユーザプログラムが格納される。
【００５６】
外部サポート回路（ＡＳＩＣ）１２６は、ユーザプログラム実行機能が仕組まれた用途限定ＩＣ（ＡＳＩＣ：Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｓｉｆｉｃ  ＩＣ）で構成されており、ユーザメモリ（ＵＭ）１２５から読み出されたユーザプログラムを構成する各命令を順次に実行するように構成されている。
【００５７】
入出力メモリ（ＩＯＭ）１２７は、外部サポート回路（ＡＳＩＣ）１２６がユーザメモリ（ＵＭ）１２５から読み出されたユーザプログラムを実行する際に参照するものであり、その内部には、Ｉ／Ｏバス４を介して接続された入出力ユニット１２，１３の入出力端子台のデータと対応する入出力データエリア、内部演算のみに使用される補助リレーエリア、演算途中で使用される各種の設定データ（パラメータ）、カウントデータ等を格納するデータエリア等が格納される。後述するトレース終了リレーは、この入出力メモリ（ＩＯＭ）１２７内に設けられる。
【００５８】
一方、ツール装置（プログラム開発支援装置）２は、同図（ｃ）に示されるように、パソコン本体２１、画像モニタ２２、マウス２３、及びキーボード２４を有するパソコンシステムを前提とし、その上に、例えば、Ｗｉｎｄｏｗｓ（登録商標）等のＯＳ上で動作するアプリケーションプログラム（プログラム開発支援装置としての機能を実現するするアプリケーションプログラム）を組み込むことにより構成されている。
【００５９】
当業者にはよく知られているように、プログラム開発支援装置としてのアプリケーションプログラムとしては、プログラムの作成機能、編集機能、ＰＬＣからの通信を介するアップロード機能、ＰＬＣへの通信を介するダウンロード機能を実現するためのプログラムが含まれるほか、特に、この例にあっては、本発明に関連して後述する、図２のフローチャートに示される一連の処理（ステップ１０１〜１０７）を実現するためのプログラム、さらには、ロギングメモリに格納されたデータを解析並びにモニタへ表示する等の機能を実現するためのプログラムも含まれている。また、後述するロギングメモリ（ＬＭ）については、パソコン本体２１内のワークメモリ内に設けられる。
【００６０】
次に、本発明システムの動作を示すフローチャートを参照しながら、ＰＬＣ１及びツール装置２の協働関係について説明する。
【００６１】
本発明システムの動作を示すフローチャートが図２に示されている。同図において処理が開始されると、先ず、ツール装置（プログラム開発支援装置）２の側では、トレース開始処理（ステップ１０１）が実行される。このトレース開始処理（ステップ１０１）においては、図７（１）に示されるように、マウス２３やキーボード２４における所定操作に応答してトレース開始指令を生成すると共に、こうして生成されたトレース開始指令を通信手段を介してＰＬＣ１に送信する処理が実行される。なお、この例では、トレースデータを識別するためのトレースＩＤとしては連番が採用されており、このとき、ツール装置２の側では、取得済みの最新トレースＩＤとして連番の「０」が初期設定される。
【００６２】
トレース開始指令（コマンド）を受けたＰＬＣの側では、入出力データ等の当該ＰＬＣ１が取り扱う変動性データの中で、ユーザにより予め指定された１若しくは２以上のデータを、所定のデータ取得タイミングをもって継続的に取得すると共に、こうして取得されたトレースデータを所定のメモリ容量を有するトレースメモリ（ＴＭ）の一連のアドレスに順次に書き込む動作を繰り返し実行する（ステップ１５１）。同時に、ＰＬＣの側では、所定のタイミングで取得されるデータのそれぞれに、連続性のある識別データを付与する。このような連続性のある識別データとしては、連続番号やミリ秒オーダーの時刻情報等を挙げることができる。
【００６３】
ここで、トレースデータの取得タイミングについては、この例にあっては、「ＴＲＳＭ命令実行時指定」、「毎サイクル指定」、及び「一定時間間隔指定」の１つをユーザが任意に選択可能となされている。
【００６４】
当業者にはよく知られているように、この種のＰＬＣ１においては、図３のフローチャートに示されるように、電源投入に続く電源投入時処理（ステップ２０１）を実行したのちにあっては、メモリチェック等のハードウェア診断を行う共通処理（ステップ２０２）、ユーザの制御仕様に対応するユーザプログラムを実行して入出力メモリの内容を書き替えるプログラム実行処理（ステップ２０３）、入力回路を介して外部入力端子から取り込まれた入力データを入出力メモリの入力領域に格納すると共に、入出力メモリの出力領域に格納された出力データを出力回路を介して外部出力端子へと送出する入出力リフレッシュ処理（ステップ２０４）、ツール装置２との通信を含む周辺サービス処理（ステップ２０５）等を含む一連の処理を繰り返し実行するように仕組まれている。
【００６５】
そして、トレースデータ取得タイミングとして「ＴＲＳＭ命令実行時指定」が選択されると、プログラム実行処理（ステップ２０３）のタイミングをもって、トレースデータの取得が行われる。また、トレースデータ取得タイミングとして「毎サイクル指定」が選択されると、プログラム実行処理（ステップ２０３）が終了したのち、入出力リフレッシュ処理（ステップ２０４）が開始される前のタイミングにおいて、トレースデータの取得が行われる。さらに、トレースデータ取得タイミングとして「一定時間間隔指定」が選択されると、実行中の処理に拘わらず、定時割込をもって、トレースデータの取得が行われることとなる。
【００６６】
「ＴＲＳＭ命令実行時指定」の場合におけるトレースデータ取得の説明図が図４に示されている。同図に示されるように、プログラム実行処理（ステップ２０３）にあっては、ユーザメモリ（ＵＭ）１２５からユーザプログラムを構成する各命令が順次に読み出されて（ステップ３０５）解読される毎に、その命令が「ＴＲＳＭ命令」であるか、それ以外の命令であるかの判定が行われる（ステップ３０１）。そして、解読された命令が「ＴＲＳＭ命令」以外の命令であれば（ステップ３０１ＮＯ）、その解読された命令に応じた処理が実行される（ステップ３０２）。これに対して、解読された命令が「ＴＲＭＳ」命令であるときには、さらに、トレースデータの収集タイミンの設定が「ＴＲＭＳ命令実行時」とされているか否かの判定が行われ（ステップ３０３）、トレースデータの収集タイミンの設定が「ＴＲＭＳ命令実行時」とされているときに限り、トレースデータ取得処理（ステップ３０４）が実行されて、トレースデータの取得が行われる。
【００６７】
「毎サイクル指定」の場合におけるトレースデータ取得の説明図が図５に示されている。同図に示されるように、所定のモードフラグが「トレース実行中」のときに（ステップ３１１ＹＥＳ）、トレースデータの収集タイミングの設定が「毎サイクル」であると判定されると（ステップ３１２ＹＥＳ）、さらに現時点がプロクラム実行処理（ステップ２０３）の終了直後のタイミングであるか否かの判定が行われ（ステップ３１２）、終了直後のタイミングであるときに限り（ステップ３１３ＹＥＳ）、トレースデータ取得処理（ステップ３１４）が実行されて、トレースデータの取得が行われる。
【００６８】
「一定時間間隔指定」の場合におけるトレースデータ取得の説明図が図６に示されている。同図に示されるように、定時割込（例えば、１０ｍｓ毎）が開始され、所定のモードフラグが「トレース実行中」のときに（ステップ３２１ＹＥＳ）、トレースデータの収集タイミングの設定が「一定時間間隔」であると判定されると（ステップ３２２ＹＥＳ）、さらにトレースデータ取得間隔を規定する所定時間が経過したか否かの判定が行われ（ステップ３２３）、所定時間が経過したときに限り（ステップ３２３ＹＥＳ）、トレースデータ取得処理（ステップ３２４）が実行されて、トレースデータの取得が行われる。
【００６９】
図２のフローチャートに戻って、トレース開始処理（ステップ１０１）に続いて、ツール装置２の側では、ＰＬＣのトレース実行状態を監視するトレース状態監視処理（ステップ１０２）と、ＰＬＣにおいてトレースモード状態が継続しているか否かを判定するトレース継続判定処理（ステップ１０３）と、前回取得されたトレースＩＤと現在のトレースＩＤとを照合するこにより、現在のトレースＩＤの方が前回取得されたトレースＩＤよりも新しいか否かを判定するデータ更新判定処理（ステップ１０４）と、データ更新判定処理（ステップ１０４）の判定が肯定されることを条件として実行されるトレース読出処理（ステップ１０５）及びトレースデータ保存処理（ステップ１０６）を繰り返し実行することとなる。
【００７０】
より詳細には、トレース状態監視処理（ステップ１０２）では、ツール装置はＰＬＣに対して、最新のトレースＩＤ（識別データ）を問い合わせるために、トレースＩＤ送信指令を通信手段を介して所定のタイミングで繰り返し送信する一方、これに応答してＰＬＣから返信される最新のトレースＩＤ及びトレース状態（ステータス）を通信手段を介して受信して保存する。このとき、ＰＬＣ１の側のトレースデータ収集中処理（ステップ１５２）においては、トレースデータの収集を継続しつつ、ツール装置２からトレースＩＤ送信指令が受信される毎に、最新のトレースデータに対応するトレースＩＤをトレースメモリ（ＴＭ）から読み出して、ツール装置２へと返信する。同時に、ＰＬＣ１では、そのときのＰＬＣの状態（ステータス）がトレース実行中であるか、トレース停止中であるかの状態も併せてツール装置２へと送信する。
【００７１】
トレース継続判定処理（ステップ１０３）においては、ＰＬＣ１側より受信されたＰＬＣの状態（ステータス）に基づいて、ＰＬＣの状態がトレース実行中であるか、トレース停止中であるかを判定し、停止中と判定されれば（ステップ１０３ＮＯ）、トレース停止処理（ステップ１０７）を実行することにより、トレース中断指令を通信手段を介してＰＬＣ側へと送信する。これを受けたＰＬＣの側では、トレース終了処理（ステップ１５４）を実行することにより、データトレースを終了する。
【００７２】
データ更新判定処理（ステップ１０４）においては、ＰＬＣから受信された最新の識別データを自己が保持する最新の識別データと照合し、自己が保持する最新の識別データよりもＰＬＣから受信された最新の識別データの方が新しいか否かの判定を行ない、この判定が肯定されるのを条件として、トレースデータ読出処理（ステップ１０５）へと移行する。
【００７３】
トレースデータ読出処理（ステップ１０５）においては、最新のトレースデータの送信を要求する所定のトレースデータ送信指令を通信手段を介してＰＬＣに対して送信すると共に、これに応答してＰＬＣ側から返信される最新のトレースデータ、トレース実行中であるかトレース停止中であるかの状態、及び最新のトレースＩＤを受信する処理を実行する。このとき、ＰＬＣの側のトレースデータ収集中処理（ステップ１５３）においては、トレースデータの収集を継続しつつ、ＰＬＣからトレースデータ送信指令が受信される毎に、最新のトレースデータをトレースメモリ（ＴＭ）から読み出して、ツール装置２へと返信する。同時に、ＰＬＣ１では、そのときのＰＬＣの状態（ステータス）がトレース実行中であるか、トレース停止中であるかの状態、及び最新のトレースＩＤについても、併せてツール装置２へと送信する。
【００７４】
トレースデータ保存処理（ステップ１０６）においては、ＰＬＣから受信されるトレースデータを所定のロギングメモリ（ＬＭ）の一連のアドレスに、トレースＩＤ（識別データ）と関連づけて保存する。
【００７５】
ツール装置側において、トレース状態監視処理（ステップ１０２）、データ更新判定処理（ステップ１０４）、トレースデータ読出処理（ステップ１０５）、及びトレースデータ保存処理（ステップ１０６）が繰り返し実行されることによるトレース実行中の流れを示す説明図（その１）が図７に、同説明図（その２）が図８にそれぞれ示されている。
【００７６】
トレース開始時にあっては、図７（１）に示されるように、ＰＬＣ１のトレースメモリ（ＴＭ）は空の状態にあり、ツール装置（プログラム開発支援装置）２の取得している最新のトレースＩＤは連番「０」とされている。この状態で、ツール装置２の側で所定のトレース開始操作が行われると、ツール装置２からＰＬＣ１へとトレース開始指令が送信される。なお、図示のトレースメモリ（ＴＭ）は第１ブロック〜第５ブロックからなる５つのブロックに分かれており、リングバッファとして機能することから、第１ブロック（トレースデータ「１」）→第２ブロック（トレースデータ「２」）→・・・・第５ブロック（トレースデータ「５」）→第１ブロック（トレースデータ「６」）→第２ブロック（トレースデータ「７」）と言ったように、ブロックアドレスを「１」〜「５」の範囲で循環させながら、第１乃至第５ブロックへと繰り返しトレースデータの書き込み（上書き）を行うように構成されている。
【００７７】
トレース開始直後にあっては、図７（２）に示されるように、なおも、ＰＬＣ１のトレースメモリ（ＴＭ）は空の状態にあり、ツール装置（プログラム開発支援装置）２の取得している最新のトレースＩＤも連番「０」とされている。そのため、最新トレースＩＤの問い合わせ（（２）−１）に対して回答（（２）−２）される最新トレースＩＤはなおも「０」のままとされ、データ更新判定処理（ステップ１０４）は否定されるから、トレースデータ読出処理（ステップ１０５）及びトレースデータ保存処理（ステップ１０６）は実行されない。
【００７８】
ＰＬＣがトレースデータ「１」を取得した時点では、図７（３）に示されるように、ＰＬＣ１のトレースメモリ（ＴＭ）の第１ブロックにはトレースデータ「１」が格納されているものの、ツール装置２の側の取得している最新トレースＩＤはおも「０」のままとされている。
【００７９】
ＰＬＣがトレースデータ「１」を取得したのちにあっては、図８（４）の上段に示されるように、最新トレースＩＤの問い合わせ（（４）−１）に対して回答（（４）−２）される最新トレースＩＤは「１」となるから、データ更新判定処理（ステップ１０４）は肯定され、同図中段に示されるように、トレースデータ読出処理（ステップ１０５）及びトレースデータ保存処理（ステップ１０６）が実行され、その結果、ＰＬＣ１から最新のトレースデータ「１」が読み出され（（４）−３）、ツール装置２の取得する最新のトレースＩＤは「１」となる。
【００８０】
ツール装置２が最新のトレースＩＤ「１」を取得したのちにあっては、図８（４）の下段に示されるように、最新のトレースＩＤの問い合わせ（（４）−４）に対して回答（（４）−５）はなおも「１」のままとされ、データ更新判定処理（ステップ１０４）は否定されるから、トレースデータ読出処理（ステップ１０５）及びトレースデータ保存処理（ステップ１０６）は実行されない。
【００８１】
ＰＬＣ１がトレースデータ「２」を取得したのちにあっては、図８（５）に示されるように、ＰＬＣ１のトレースメモリ（ＴＭ）の第１及び第２ブロックには、トレースデータ「１」及び「２」が格納され、一方ツール装置２の取得している最新のトレースＩＤは「１」のままとされるから、以後、同様にして、最新のトレースデータがＰＬＣ側で更新される毎に、ツール装置側ではトレースデータ読出処理（ステップ１０５）及びトレースデータ保存処理（ステップ１０６）が実行される。
【００８２】
このように、図２のフローチャートに示されるようにして、ＰＬＣとツール装置とが協働することにより、ＰＬＣのトレースメモリ（ＴＭ）上に生成されるトレースデータは、ツール装置のロギングメモリ（ＬＭ）に移送されつつ蓄えられ、これにより比較的に小容量のトレースメモリ（ＴＭ）を使用しつつも、ツール装置のロギングメモリ（ＬＭ）上には大きなサイズのロギングデータを生成することができるのである。
【００８３】
ＰＬＣによるトレースデータ取得からツール装置によるロギングデータ取得の流れを示す説明図が図９に示されている。
【００８４】
同図（ａ）〜（ｄ）に示されるように、ＰＬＣのトレースメモリ（ＴＭ）の各ブロックに新たなトレースデータが格納される毎に、その新たに格納されたトレースデータはＰＬＣから読み出されて、ロギングメモリ（ＬＭ）に移送されてゆく。トレースメモリ（ＴＭ）の第１乃至第５ブロックが満杯となって、トレースメモリ（ＴＭ）に対する上書きが開始されたのちにあっても、新たに取得されるトレースデータ「６」、「７」・・・は、その都度に、トレースメモリ（ＴＭ）から読み出されて、ロギングメモリ（ＬＭ）に移送されてゆく。一方、このトレースメモリ（ＴＭ）上での裏書き処理により過去のトレースデータ「１」、「２」・・・は順に消去されるが、ツール装置側のロギングメモリ（ＬＭ）には、過去の全てのトレースデータ「１」、「２」・・・が残されるから、これにより比較的に小容量のトレースメモリ（ＴＭ）を使用しつつも、ツール装置のロギングメモリ（ＬＭ）上には大きなサイズのロギングデータを生成することができるのである。
【００８５】
加えて、この実施形態にあっては、従前のトレースメモリ（ＴＭ）をそのまま使用しているため、本発明に係るデータロギング機能と従前の条件付トレース機能とを併存させて、これらを任意に切り替え可能とすることもできる。
【００８６】
なお、以上の実施形態においては、図１（ａ）に示されるように、ＰＬＣ１とツール装置２との間に通信ユニット１５を介在させたが、これは通信形態の一例を示す者に過ぎない。オールインワン型のＰＬＣにおいては、単一のハウジングに送受信器が組み込まれているであろうし、ビルディング・ブロック型のＰＬＣにあっても、ＣＰＵユニット１２に送受信器が組み込まれているものもあるであろう。
【００８７】
また、以上の実施形態にあっては、ＰＬＣとツール装置とを専用ケーブルで結んで１対１通信を行うように構成したが、その他、ＰＬＣとツール装置とをネットワークを介して結んで、リモート配置されたツール装置とＰＬＣとの間で通信を行ってもよい。
【００８８】
このようなネットワーク通信を想定すると、予定される通信頻度は十分にトレースデータ取得頻度に間に合う筈ではあっても、回線の混雑度等の理由で、トレースデータの取りこぼしが起こることも想定されるが、本発明システムにあっては、各トレースデータのそれぞれに連続性のある識別情報が付されているので、このようなトレースデータに取りこぼしが生じたとしても、そのことを識別データの連続性の途切れに基づいて容易に検知することができる。
【００８９】
このようなトレースデータの取りこぼし検知の説明図が図１０に示されている。同図（ａ）に示されるように、トレースＩＤが連番の場合、同図（ｂ）に示されるよう、トレースＩＤが時刻情報の場合のいずれにあっても、ロギングメモリ（ＬＭ）上に格納された一連のデータ列におけるトレースＩＤの連続性の途切れに基づいて、トレースデータの取りこぼしを容易に検知することができる。
【００９０】
また、データトレースを実行させるためには、ツール装置の画面を見ながら、様々なトレースパラメータの設定が必要とされる。このようなトレースパラメータ設定画面の説明図（その１）が図１１に、同説明図（その２）が図１２にそれぞれ示されている。
【００９１】
図１１（ａ）に示されるように、データトレースに先立っては、ツール装置の画面に従って、トレース対象データに関する変数／アドレスの別、トレースデータ取得タイミングの基準となるエッジ種別、エッジからのディレー時間をそれぞれ設定する。また、図１１（ｂ）に示されるように、トレースデータ取得モードが「固定間隔」、「サイクル毎」、又は「ＴＲＳＭ命令による」のいずれであるかを設定する。また、図１２（ａ）に示される見ように、トレー対象ワードデータの種別が「１ワード」又は「２ワード」の別を設定する。さらに、図１２（ｂ）に示されるように、トレース対象ビットのアドレス選択などの設定を行う。
【００９２】
このような設定の下に取得されるトレースデータのフォーマットの一例が図１３に示されている。同図に示されるように、トレースメモリの先頭２ワードには、トレースデータ（ＩＤ＃１，ＩＤ＃２）が、続く２ワードには３２個の接点データ（ｓ０〜ｓ３１）が、続く一連のワードにはサンプリングデータ１〜ｘが格納されている。
【００９３】
こうして取得されるロギングデータのツール装置（プログラム開発支援装置）での解析例の説明図（その１）が図１４に、同説明図（その２）が図１５に、及びトレース結果表示画面の説明図が図１６にそれぞれ示されている。
【００９４】
ツール装置（プログラム開発支援装置）にあっては、所定のアプリケーションプログラムに従って、図１５のフローチャートに示されるように、先ず、トレースＩＤに従ってトレースデータを順番に並べ（ステップ４０１）、トレースパラメータに設定された設定アドレスとトレースデータの接点値とを組み合わせ（ステップ４０２）、トレースパラメータに設定されたＣＨアドレスとトレースデータのＣＨ値を組み合わせ（ステップ４０３）、最後に、以上の情報を図１６に示されるように、モニタ画面上において、視覚的に表現する（ステップ４０４）。
【００９５】
このように、以上の実施形態にかかるデータトレースシステムによれば、ＰＬＣ１側において、データトレースが開始されたのちにあっては、ツール装置２側からの定期的な問い合わせのたびに、最新のトレースデータに対応する識別データ（連番や時刻情報等）がＰＬＣ１からツール装置２へと返送される一方、ツール装置２側ではこれを取得済み識別データと照合して、ＰＬＣが新たなトレースデータを取得したことを検知してＰＬＣ側に対してその送信要求を行ない、その応答として新たなトレースデータを取得してロギングメモリ（ＬＭ）に保存するため、ＰＬＣ１側のトレースメモリ（ＴＭ）上で過去のトレースデータが上書き消去されたとしても、ツール装置２からの問い合わせ頻度が適切である限り、上書き消去される前に、各トレースデータはツール装置２側へと保存されることとなり、そのため、従前からのリングバッファ方式のトレースメモリ（ＴＭ）を使用しつつも、特定のデータについて長期間に亘ってその変動を観察したいと言った所謂データロギング用途に十分に供し得るＰＬＣを用いたデータトレースシステムを実現することができる。
【００９６】
しかも、このようにしてデータロギングメモリ（ＬＭ）に格納される一連のトレースデータには、その取得タイミングに固有であってかつ全体として連続性のある識別データが付与されているため、ツール装置２からの問い合わせタイミングとトレースデータ取得タイミングとのずれ等により、連続するトレースデータの一部が欠落したような場合には、一連の識別データの連続性が途切れることにより、そのようなトレースデータの取りこぼしを見つけることが容易となる。
【産業上の利用可能性】
【００９７】
本発明によれば、特定のデータについて長期間に亘ってその変動を観察したいと言った所謂データロギング用途に十分に供し得るＰＬＣを用いたデータトレースシステム、並びに、同システムに好適なＰＬＣを提供することができる。
【図面の簡単な説明】
【００９８】
【図１】本発明に係るＰＬＣシステム及びその構成要素の説明図である。
【図２】本発明システムの動作を示すフローチャートである。
【図３】ＰＬＣによるトレースデータの取得タイミング及びツールによるトレースデータの読出タイミングの説明図である。
【図４】「ＴＲＳＭ命令実行時指定」の場合におけるトレースデータ取得の説明図である。
【図５】「毎サイクル指定」の場合におけるトレースデータ取得の説明図である。
【図６】「一定時間間隔指定」の場合におけるトレースデータ取得の説明図である。
【図７】トレース実行中の流れを示す説明図（その１）である。
【図８】トレース実行中の流れを示す説明図（その２）である。
【図９】ＰＬＣによるトレースデータ取得からツール装置によるロギングデータ取得の流れの説明図である。
【図１０】トレースデータの検知の説明図である。
【図１１】トレースパラメータ設定画面の説明図（その１）である。
【図１２】トレースパラメータ設定画面の説明図（その２）である。
【図１３】トレースデータのフォーマットの一例を示す説明図である。
【図１４】プログラム開発支援装置での解析例の説明図（その１）である。
【図１５】プログラム開発支援装置での解析例の説明図（その２）である。
【図１６】トレース結果表示画面例の説明図である。
【図１７】従来システムにおける動作を示す説明図である。
【符号の説明】
【００９９】
１      ＰＬＣ
２      プログラム開発支援装置
３      通信ケーブル
４      Ｉ／Ｏバス
１１    電源ユニット
１２    ＣＰＵユニット
１２１  ＭＰＵ
１２２  ＳＲＯＭ
１２３  ＢＲＯＭ
１２４  ＷＲＡＭ
１２５  ＵＭ
１２６  ＡＳＩＣ
１２７  ＩＯＭ
１３    入力ユニット
１４    出力ユニット
１５    通信ユニット
２１    パソコン本体
２２    モニタ
２３    マウス
２４    キーボード
【図１】
0004883314.tif 000002
【図２】
0004883314.tif 000003
【図３】
0004883314.tif 000004
【図４】
0004883314.tif 000005
【図５】
0004883314.tif 000006
【図６】
0004883314.tif 000007
【図７】
0004883314.tif 000008
【図８】
0004883314.tif 000009
【図９】
0004883314.tif 000010
【図１０】
0004883314.tif 000011
【図１１】
0004883314.tif 000012
【図１２】
0004883314.tif 000013
【図１３】
0004883314.tif 000014
【図１４】
0004883314.tif 000015
【図１５】
0004883314.tif 000016
【図１６】
0004883314.tif 000017
【図１７】
0004883314.tif 000018