プログラマブルコントローラユニットと、このプログラマブルコントローラユニットと通信可能なエンジニアリングツールと、を具備するプログラマブルコントローラシステムにおいて、前記プログラマブルコントローラユニットは、複数の構成要素と、自身と前記複数の構成要素のうちの1つの構成要素との間のアクセスの診断を行うための診断プログラムを実行するマイクロプロセッサと、アクセス制御部と、を具備し、前記アクセス制御部は、トレースデータ格納メモリと、前記マイクロプロセッサが前記診断プログラムを実行したときに、前記マイクロプロセッサと前記1つの構成要素間のアクセスに用いられる信号の波形をトレースした測定値トレースデータを生成し、前記測定値トレースデータを含む測定結果を前記トレースデータ格納メモリに格納するトレース制御回路と、を具備し、前記マイクロプロセッサは、前記トレースデータ格納メモリに格納された前記測定結果を前記エンジニアリングツールに送信し、前記エンジニアリングツールは、前記マイクロプロセッサと前記1つの構成要素間のアクセス時において理想的な値を表す期待値トレースデータと、前記マイクロプロセッサと前記1つの構成要素間のアクセス時の異常の原因となる因果関係を表す因果関係情報とが格納された異常原因データベースと、前記測定結果に含まれる前記測定値トレースデータおよび前記異常原因データベースに格納された前記期待値トレースデータを表すトレース画面を表示装置に表示する波形表示制御部と、前記測定値トレースデータと前記期待値トレースデータとが一致しないときに、前記異常原因データベースに格納された前記因果関係情報のうちの、前記マイクロプロセッサと前記1つの構成要素間のアクセス時の異常の原因を同定する第1表示レベル情報を前記トレース画面上に表示する異常表示制御部と、を具備することを特徴とするプログラマブルコントローラシステム。前記異常原因データベースに格納された前記因果関係情報のうちの、前記第1表示レベル情報が表す異常の前段階の異常を同定する第2表示レベル情報は、前記測定結果に含まれる前記測定値トレースデータと前記異常原因データベースに格納された前記期待値トレースデータとの差異を表し、前記異常箇所表示制御部は、前記第2表示レベル情報を前記トレース画面上の前記差異に対応する位置に表示する、ことを特徴とする請求項1に記載のプログラマブルコントローラシステム。前記アクセス制御部は、第1バスと第2バスとに接続され、前記1つの構成要素は、前記第2バスに接続され、前記マイクロプロセッサの実行結果を表すデータを格納するデータメモリと、前記プラント機器と前記第2バスとに接続され、前記マイクロプロセッサからのデジタル信号をアナログ信号に変換してそのアナログ信号を前記プラント機器に出力し、前記プラント機器からのアナログ信号をデジタル信号に変換してそのデジタル信号を前記マイクロプロセッサに出力するプロセス入出力回路と、の少なくとも一方である、ことを特徴とする請求項1または請求項2に記載のプログラマブルコントローラシステム。前記エンジニアリングツールは、前記診断プログラムを実行させるための指示を前記マイクロプロセッサに送信する指示部、をさらに具備し、前記マイクロプロセッサは、前記指示部からの指示に応じて、前記診断プログラムを実行する、ことを特徴とする請求項1ないし請求項3のいずれか1項に記載のプログラマブルコントローラシステム。前記マイクロプロセッサは、起動時に、前記診断プログラムを実行する、ことを特徴とする請求項1ないし請求項4のいずれか1項に記載のプログラマブルコントローラシステム。前記マイクロプロセッサは、一定時間毎に前記診断プログラムを実行し、一定時間毎に前記トレースデータ格納メモリに格納された前記測定結果を前記エンジニアリングツールに送信し、前記エンジニアリングツールは、前記マイクロプロセッサから一定時間毎に送信される前記測定結果を順次格納する経年変化データベース、をさらに具備し、前記異常原因データベースには、一定時間毎の前記期待値トレースデータが格納され、前記波形表示制御部は、前記経年変化データベースに格納された前記測定結果に含まれる一定時間毎の前記測定値トレースデータと、前記異常原因データベースに格納された一定時間毎の前記期待値トレースデータとを表す経年変化画面を前記表示装置に表示し、前記異常表示制御部は、前記経年変化データベースに順次格納された一定時間毎の前記測定値トレースデータと前記異常原因データベースに格納された一定時間毎の前記期待値トレースデータとが一致しないときに、前記異常原因データベースに格納された前記因果関係情報のうちの、前記マイクロプロセッサと前記1つの構成要素間のアクセス時の経年変化による異常の原因を同定する第1経年変化表示レベル情報を前記経年変化画面上に表示する、ことを特徴とする請求項1ないし請求項5のいずれか1項に記載のプログラマブルコントローラシステム。前記異常原因データベースに格納された前記因果関係情報のうちの、前記第1経年変化表示レベル情報が表す経年変化による異常の前段階の異常を同定する第2経年変化表示レベル情報は、一定時間毎の前記測定値トレースデータと一定時間毎の前記期待値トレースデータとの差異を表し、前記異常箇所表示制御部は、前記第2経年変化表示レベル情報を前記経年変化画面上の前記差異に対応する位置に表示する、ことを特徴とする請求項1に記載のプログラマブルコントローラシステム。前記波形表示制御部は、前記トレース画面と前記経年変化画面との両方の画面を前記表示装置に表示する、ことを特徴とする請求項6または請求項7に記載のプログラマブルコントローラシステム。前記波形表示制御部は、利用者の切り替え操作に応じて前記トレース画面と前記経年変化画面との一方の画面を選択的に前記表示装置に表示する、ことを特徴とする請求項6または請求項7に記載のプログラマブルコントローラシステム。前記アクセス制御部の前記トレース制御回路は、前記マイクロプロセッサが前記診断プログラムを実行したときに、前記マイクロプロセッサと前記1つの構成要素間のアクセスに対して、所定のタイミングで前記測定値トレースデータを生成する、ことを特徴とする請求項1ないし請求項9のいずれか1項に記載のプログラマブルコントローラシステム。前記アクセス制御部は、前記マイクロプロセッサが前記診断プログラムを実行したときに、前記マイクロプロセッサと前記1つの構成要素間のアクセスに対して前記第1バスおよび前記第2バスの少なくとも一方のバスに異常がある場合に、前記少なくとも一方のバスの異常を表すエラー検出信号を出力するエラー検出回路、をさらに具備し、前記アクセス制御部の前記トレース制御回路は、前記エラー検出信号をトリガとして前記測定値トレースデータを生成し、前記測定結果は、さらに、前記少なくとも一方のバスの異常を表すエラーログを含む、ことを特徴とする請求項1ないし請求項9のいずれか1項に記載のプログラマブルコントローラシステム。前記アクセス制御部の前記トレース制御回路は、前記マイクロプロセッサが前記診断プログラムを実行したときに、前記少なくとも一方のバスに異常がない場合に、前記マイクロプロセッサと前記1つの構成要素間のアクセスに対して、所定のタイミングで前記測定値トレースデータを生成する、ことを特徴とする請求項11に記載のプログラマブルコントローラシステム。前記エンジニアリングツールと共にコンピュータに設けられ、前記エンジニアリングツールに接続されたJTAGJointTestActionGroup接続ツールと、前記JTAG接続ツールに接続されるJTAG用アダプタと、をさらに具備し、前記プログラマブルコントローラユニットの前記マイクロプロセッサは、OSOperatingSystem上で動作し、前記JTAG用アダプタに接続されるJTAGポートを有し、前記エンジニアリングツールは、前記OSの異常により前記マイクロプロセッサと通信ができないときに、前記測定結果を要求するためのデータ要求を前記JTAG接続ツール、前記JTAG用アダプタおよび前記JTAGポートを介して前記マイクロプロセッサに送信する要求部、をさらに具備し、前記マイクロプロセッサは、前記データ要求に応じて、前記アクセス制御部の前記トレースデータ格納メモリに格納された前記測定結果を読み取り、前記測定結果を前記JTAGポート、前記JTAG用アダプタおよび前記JTAG接続ツールを介して前記エンジニアリングツールに送信する、ことを特徴とする請求項1ないし請求項12のいずれか1項に記載のプログラマブルコントローラシステム。前記エンジニアリングツールと共にコンピュータに設けられ、前記エンジニアリングツールに接続されたJTAGJointTestActionGroup接続ツールと、前記JTAG接続ツールに接続されるJTAG用アダプタと、をさらに具備し、前記プログラマブルコントローラユニットの前記アクセス制御部は、前記JTAG用アダプタに接続されるJTAGポートを有し、前記エンジニアリングツールは、前記マイクロプロセッサと通信ができないときに、前記測定結果を要求するためのデータ要求を前記JTAG接続ツール、前記JTAG用アダプタおよび前記JTAGポートを介して前記アクセス制御部に送信する要求部、をさらに具備し、前記アクセス制御部は、前記データ要求に応じて、前記トレースデータ格納メモリに格納された前記測定結果を前記JTAGポート、前記JTAG用アダプタおよび前記JTAG接続ツールを介して前記エンジニアリングツールに送信する、ことを特徴とする請求項1ないし請求項12のいずれか1項に記載のプログラマブルコントローラシステム。前記プログラマブルコントローラユニットに着脱可能な不揮発性メモリモジュールと、をさらに具備し、前記アクセス制御部の前記トレース制御回路は、前記マイクロプロセッサが前記診断プログラムを実行したときに前記測定結果を前記トレースデータ格納メモリと前記不揮発性メモリモジュールとに格納する、ことを特徴とする請求項1ないし請求項12のいずれか1項に記載のプログラマブルコントローラシステム。上述した特許文献1に記載の制御用ディジタルコントローラでは、エラーが発生したことや、そのエラーが重大なものであるか否かなどの事実が分かるだけであり、それ以上の情報が得られない。このため、エラーが発生した要因を追究するために、観測ツールなどを制御用ディジタルコントローラに接続して、動作確認や解析を行う必要があり、多くの時間を費やしてしまう。そのため、観測ツールなどの接続を必要とせずに動作確認や解析を実施できることが望ましい。また、制御用ディジタルコントローラをプラント機器に接続する場合に、エラーが発生する度に観測ツールを制御用ディジタルコントローラに接続することも多くの時間を費やしてしまう。そのため、遠隔地で動作確認や解析を実施できることが望ましい。本発明が解決しようとする課題は、観測ツールなどの接続を必要とせずに遠隔地で動作確認や解析を実施することにある。実施形態のプログラマブルコントローラシステムは、プログラマブルコントローラユニットと、このプログラマブルコントローラユニットと通信可能なエンジニアリングツールと、を具備し、前記プログラマブルコントローラユニットは、複数の構成要素と、自身と前記複数の構成要素のうちの1つの構成要素との間のアクセスの診断を行うための診断プログラムを実行するマイクロプロセッサと、アクセス制御部と、を具備し、前記アクセス制御部は、トレースデータ格納メモリと、前記マイクロプロセッサが前記診断プログラムを実行したときに、前記マイクロプロセッサと前記1つの構成要素間のアクセスに用いられる信号の波形をトレースした測定値トレースデータを生成し、前記測定値トレースデータを含む測定結果を前記トレースデータ格納メモリに格納するトレース制御回路と、を具備し、前記マイクロプロセッサは、前記トレースデータ格納メモリに格納された前記測定結果を前記エンジニアリングツールに送信し、前記エンジニアリングツールは、前記マイクロプロセッサと前記1つの構成要素間のアクセス時において理想的な値を表す期待値トレースデータと、前記マイクロプロセッサと前記1つの構成要素間のアクセス時の異常の原因となる因果関係を表す因果関係情報とが格納された異常原因データベースと、前記測定結果に含まれる前記測定値トレースデータおよび前記異常原因データベースに格納された前記期待値トレースデータを表すトレース画面を表示装置に表示する波形表示制御部と、前記測定値トレースデータと前記期待値トレースデータとが一致しないときに、前記異常原因データベースに格納された前記因果関係情報のうちの、前記マイクロプロセッサと前記1つの構成要素間のアクセス時の異常の原因を同定する第1表示レベル情報を前記トレース画面上に表示する異常表示制御部と、を具備することを特徴とする。本発明によれば、観測ツールなどの接続を必要とせずに遠隔地で動作確認や解析を実施することができる。以下、本発明に係るプログラマブルコントローラシステムの実施形態について、図面を参照して説明する。ここで、互いに同一または類似の部分には共通の符号を付して、重複説明は省略する。[第1実施形態]図1は、第1実施形態に係るプログラマブルコントローラシステムの構成を示すブロック図である。第1実施形態に係るプログラマブルコントローラシステムは、プログラマブルコントローラユニット6Aと、エンジニアリングツール6Bと、表示装置40と、を具備している。プログラマブルコントローラユニット6Aは、エンジニアリングツール6Bに接続され、互いに通信可能である。表示装置40は、エンジニアリングツール6Bに接続され、コンピュータ26を構成する。エンジニアリングツール6Bおよび表示装置40は、プログラマブルコントローラユニット6Aに対して遠隔地に設けられている。プログラマブルコントローラユニット6Aは、マイクロプロセッサ1と、アクセス制御部2と、複数の構成要素と、を具備している。マイクロプロセッサ1は、通信回線を介してエンジニアリングツール6Bに接続されている。アクセス制御部2は、第1バス7を介してマイクロプロセッサ1に接続され、第2バス8を介して複数の構成要素に接続されている。アクセス制御部2は、マイクロプロセッサ1と複数の構成要素のうちの1つの構成要素との間のアクセスを制御する。マイクロプロセッサ1の内蔵メモリ3には、制御プログラムのコードが書き込まれている。制御プログラムは、マイクロプロセッサ1が原子力発電所などのプラント機器100を監視するためのコンピュータプログラムである。本実施形態では、上記複数の構成要素をデータメモリ4およびプロセス入出力回路5であるものとする。データメモリ4は、マイクロプロセッサ1の実行結果を表すデータを格納する。マイクロプロセッサ1は、通常、内蔵メモリ3に書き込まれた制御プログラムを実行してプロセス入出力回路5を介してプラント機器100を監視する。ここで、マイクロプロセッサ1とデータメモリ4との間のアクセスについて簡単に説明する。データメモリ4は、記憶領域を有する複数のチップ32とドライバ31とを備えている。複数のチップ32の各々は複数のメモリセルを有している。ドライバ31は複数のチップ32と第2バス8とに接続されている。マイクロプロセッサ1は、データメモリ4に演算データを書き込む場合マイクロプロセッサ1からデータメモリ4への書き込み、チップイネーブル信号と、アドレス信号行アドレスおよび列アドレスを含むと、ライト信号と、演算データとをドライバ31に与える。この場合、ドライバ31は、複数のチップ32のうちの、アドレス信号およびチップイネーブル信号により指定されたチップ32を選択チップ32として選択し、選択チップ32の複数のメモリセルのうちの、アドレス信号により指定されたメモリセルを選択メモリセルとして選択し、ライト信号に応じて、選択メモリセルに演算データを書き込む。マイクロプロセッサ1は、データメモリ4から演算データを読み出す場合データメモリ4からマイクロプロセッサ1への読み出し、チップイネーブル信号と、アドレス信号行アドレスおよび列アドレスを含むと、リード信号とをドライバ31に与える。この場合、ドライバ31は、複数のチップ32のうちの、アドレス信号およびチップイネーブル信号により指定されたチップ32を選択チップ32として選択し、選択チップ32の複数のメモリセルのうちの、アドレス信号により指定されたメモリセルを選択メモリセルとして選択し、リード信号に応じて、選択メモリセルから演算データを読み出し、マイクロプロセッサ1に出力する。次に、マイクロプロセッサ1とプロセス入出力回路5との間のアクセスについて簡単に説明する。複数のプラント機器100の各々には、プラント機器100のパラメータたとえば、温度、開度、圧力を監視するための複数のセンサ図示しないが設けられている。複数のセンサとしては、プラント機器100の温度を監視する温度センサや、プラント機器100の制御弁の開閉を監視する開度センサ、プラント機器100の圧力を監視する圧力センサなどが挙げられる。複数のセンサの各々は、制御信号に応じてプラント機器100を監視して監視データ温度、開度、圧力を出力する。複数のセンサの各々にはユニークなアドレス回路アドレス信号が割り当てられている。プロセス入出力回路5は、複数のプロセス入出力部34とプロセス制御回路33とを備えている。複数のプロセス入出力部34は複数のセンサと対応して設けられ、プロセス制御回路33は複数のプロセス入出力部34の各々と第2バス8とに接続されている。プロセス入出力部34は、プラント機器100に設けられた複数のセンサに接続されている。マイクロプロセッサ1は、プロセス入出力回路5に制御信号を出力する場合マイクロプロセッサ1からプロセス入出力回路5への出力、回路イネーブル信号と、回路アドレス信号と、ライト信号と、デジタル信号である制御データとをプロセス制御回路33に与える。この場合、プロセス制御回路33は、複数のプロセス入出力部34のうちの、回路アドレス信号および回路イネーブル信号により指定されたプロセス入出力部34を選択プロセス入出力部34として選択し、選択プロセス入出力部34に接続された複数のセンサのうちの、回路アドレス信号により指定されたセンサを選択センサとして選択し、ライト信号に応じて、制御信号デジタル信号をアナログ信号に変換してそのアナログ信号を選択センサに出力する。マイクロプロセッサ1は、プロセス入出力回路5からアナログ信号である監視データを読み出す場合プロセス入出力回路5からマイクロプロセッサ1への読み出し、回路イネーブル信号と、回路アドレス信号と、リード信号とをプロセス制御回路33に与える。この場合、プロセス制御回路33は、複数のプロセス入出力部34のうちの、回路アドレス信号および回路イネーブル信号により指定されたプロセス入出力部34を選択プロセス入出力部34として選択し、選択プロセス入出力部34に接続された複数のセンサのうちの、回路アドレス信号により指定されたセンサを選択センサとして選択し、リード信号に応じて、選択センサから監視データアナログ信号を読み出してデジタル信号に変換してそのデジタル信号をマイクロプロセッサ1に出力する。マイクロプロセッサ1の内蔵メモリ3には、さらに、複数の診断プログラムのコードが書き込まれている。複数の診断プログラムは、マイクロプロセッサ1と複数の構成要素データメモリ4およびプロセス入出力回路5のうちの1つの構成要素との間のアクセスの診断を行うためのコンピュータプログラムである。マイクロプロセッサ1は、内蔵メモリ3に書き込まれた複数の診断プログラムのうちの、エンジニアリングツール6Bにより指定される1つの診断プログラムを選択診断プログラムとして選択し、選択診断プログラムを実行する。ここで、複数の診断プログラムについて説明する。本実施形態では、複数の診断プログラムをデータメモリライト診断プログラム、データメモリリード診断プログラム、プロセス入出力回路ライト診断プログラム、および、プロセス入出力回路リード診断プログラムであるものとする。データメモリライト診断プログラムは、マイクロプロセッサ1からデータメモリ4への書き込みの診断を行うためのコンピュータプログラムである。データメモリリード診断プログラムは、データメモリ4からマイクロプロセッサ1への読み出しの診断を行うためのコンピュータプログラムである。プロセス入出力回路ライト診断プログラムは、マイクロプロセッサ1からプロセス入出力回路5への書き込み出力の診断を行うためのコンピュータプログラムである。プロセス入出力回路リード診断プログラムは、プロセス入出力回路5からマイクロプロセッサ1への読み出しの診断を行うためのコンピュータプログラムである。複数の診断プログラムの各々には、後述のトレース設定処理、テスト用アクセス処理、および、トレースデータ転送処理を表すコードが書き込まれている。トレース設定情報は、トレースが行われるデバイス間の信号を選択するトレース選択と、トレースが行われるタイミングを表すトリガと、トレース用クロック信号を決定するためのトレース周期とを設定するための情報を含んでいる。エンジニアリングツール6Bは、指示部60と、波形表示制御部61と、異常検出部62と、異常表示制御部63と、異常原因データベース64と、を具備している。エンジニアリングツール6Bの各構成要素の動作については後述する。エンジニアリングツール6Bの各構成要素は、ハードウェアまたはソフトウェアにより構成されている。たとえば、エンジニアリングツール6Bの各構成要素がソフトウェアである場合、第1実施形態に係るプログラマブルコントローラシステムは、さらに、エンジニアリングツール6Bと表示装置40とを備えたコンピュータ26を具備する。そのコンピュータ26は、コンピュータプログラムが格納された記憶部と、そのコンピュータプログラムを記憶部から読み出して実行するCPUCentralProcessingUnitとを備えている。コンピュータプログラムは、後述するエンジニアリングツール6Bの各構成要素の機能を実現する。図2は、プログラマブルコントローラユニット6Aのアクセス制御部2の構成を示すブロック図である。アクセス制御部2は、アクセス制御回路9と、トレース制御回路30と、トレースデータ格納メモリ20と、を具備している。アクセス制御回路9は、第1バス7と第2バス8とに接続され、マイクロプロセッサ1とデータメモリ4およびプロセス入出力回路5との間のアクセスを制御する。トレース制御回路30は、マイクロプロセッサ1が複数の診断プログラムのうちの1つの診断プログラムを選択診断プログラムとして実行したときに、マイクロプロセッサ1と1つの構成要素間のアクセスに用いられる信号の波形をトレースした測定値トレースデータ16を生成し、測定値トレースデータ16を含む測定結果をトレース制御回路30内のトレースデータ格納メモリ20に格納する。このトレース制御回路30は、さらに、設定レジスタ10と、PLL回路14と、データ選択回路18と、リードライト制御回路22と、を具備している。これらの動作については後述する。図3は、エンジニアリングツール6B内の異常原因データベース64を示す図である。異常原因データベース64には、マイクロプロセッサ1と1つの構成要素間のアクセス時の理想的な値を表す期待値トレースデータ51~54と、マイクロプロセッサ1と1つの構成要素間のアクセス時の異常の原因となる因果関係を表す因果関係情報55~58とが格納されている。具体的には、異常原因データベース64には、複数の診断プログラムのうちのデータメモリライト診断プログラムを表す情報に対応付けて、マイクロプロセッサ1からデータメモリ4への書き込み時の理想的な値を表す期待値トレースデータ51と、その書き込み時の異常の原因となる因果関係を表す因果関係情報55とが格納されている。期待値トレースデータ51としては、アドレス信号D11立ち上りタイミング、立ち下りタイミングおよびアドレス値と、チップイネーブル信号D12立ち上りタイミングおよび立ち下りタイミングと、ライト信号D13立ち上りタイミングおよび立ち下りタイミングとが挙げられる。因果関係情報55は、ファイル名○○○として異常原因データベース64に格納されている。また、異常原因データベース64には、複数の診断プログラムのうちのデータメモリリード診断プログラムを表す情報に対応付けて、データメモリ4からマイクロプロセッサ1への読み出し時の理想的な値を表す期待値トレースデータ52と、その読み出し時の異常の原因となる因果関係を表す因果関係情報56とが格納されている。期待値トレースデータ52としては、アドレス信号D21立ち上りタイミング、立ち下りタイミングおよびアドレス値と、チップイネーブル信号D22立ち上りタイミングおよび立ち下りタイミングと、リード信号D23立ち上りタイミングおよび立ち下りタイミングと、メモリデータD24立ち上りタイミング、立ち下りタイミングおよびデータ値とが挙げられる。因果関係情報56は、ファイル名○○△として異常原因データベース64に格納されている。また、異常原因データベース64には、複数の診断プログラムのうちのプロセス入出力回路ライト診断プログラムを表す情報に対応付けて、マイクロプロセッサ1からプロセス入出力回路5への書き込み出力時の理想的な値を表す期待値トレースデータ53と、その書き込み時の異常の原因となる因果関係を表す因果関係情報57とが格納されている。期待値トレースデータ53としては、回路アドレス信号D31立ち上りタイミング、立ち下りタイミングおよびアドレス値と、回路イネーブル信号D32立ち上りタイミングおよび立ち下りタイミングと、ライト信号D33立ち上りタイミングおよび立ち下りタイミングとが挙げられる。因果関係情報57は、ファイル名○△△として異常原因データベース64に格納されている。また、異常原因データベース64には、複数の診断プログラムのうちのプロセス入出力回路リード診断プログラムを表す情報に対応付けて、プロセス入出力回路5からマイクロプロセッサ1への読み出し時の理想的な値を表す期待値トレースデータ54と、その読み出し時の異常の原因となる因果関係を表す因果関係情報58とが格納されている。期待値トレースデータ54としては、回路アドレス信号D41立ち上りタイミング、立ち下りタイミングおよびアドレス値と、回路イネーブル信号D42立ち上りタイミングおよび立ち下りタイミングと、リード信号D43立ち上りタイミングおよび立ち下りタイミングと、監視データD44立ち上りタイミング、立ち下りタイミングおよびデータ値とが挙げられる。因果関係情報58は、ファイル名△△△として異常原因データベース64に格納されている。図4は、データメモリリード診断プログラムを表す情報に対応付けて異常原因データベース64に格納された因果関係情報56○○△を示す図である。データメモリリード診断プログラムを例にした場合、異常原因データベース64に格納されている期待値トレースデータ52としては、上述のアドレス信号D21、チップイネーブル信号D22、リード信号D23、および、演算データメモリデータD24の理想的な値期待値が挙げられる。この場合、異常原因データベース64に格納されている因果関係情報56○○△は、第1表示レベル情報56Aと第2表示レベル情報56Bと第3表示レベル情報56Cとを含んでいる。第1表示レベル情報56Aは、データメモリ4からマイクロプロセッサ1への読み出し時の異常の原因を同定するための情報である。たとえば、その異常の原因としてはリード信号異常、チップイネーブル信号異常、アドレス信号異常、および、メモリ素子異常が挙げられる。第2表示レベル情報56Bは、第1表示レベル情報56Aが表す異常の前段階の異常を同定するための情報である。第1表示レベル情報56Aリード信号異常の前段階の異常としてはリード信号セットアップ時間異常が挙げられる。第1表示レベル情報56Aチップイネーブル信号異常の前段階の異常としてはチップイネーブル信号セットアップ時間異常が挙げられる。第1表示レベル情報56Aアドレス信号異常の前段階の異常としてはアドレス信号値異常またはアドレス信号セットアップ時間異常が挙げられる。第3表示レベル情報56Cは、第2表示レベル情報56Bが表す異常の前段階の異常、または、第2表示レベル情報56Bが表す異常が該当しないときに第1表示レベル情報56Aが表す異常の前段階の異常を同定するための情報である。第2表示レベル情報56Bアドレス信号値異常の前段階の異常、または、第1表示レベル情報56Aメモリ素子異常の前段階の異常としてはメモリデータ信号値異常が挙げられる。第2表示レベル情報56Bリード信号セットアップ時間異常、チップイネーブル信号セットアップ時間異常、および、アドレス信号セットアップ時間異常の前段階の異常、または、第1表示レベル情報56Aメモリ素子異常の前段階の異常としてはメモリデータセットアップ時間異常が挙げられる。図5は、プロセス入出力回路リード診断プログラムを表す情報に対応付けて異常原因データベース64に格納された因果関係情報58△△△を示す図である。プロセス入出力回路リード診断プログラムを例にした場合、異常原因データベース64に格納されている期待値トレースデータ54としては、上述の回路アドレス信号D41、回路イネーブル信号D42、リード信号D43、および、監視データD44温度、開度、圧力の理想的な値期待値が挙げられる。この場合、異常原因データベース64に格納されている因果関係情報58△△△は、第1表示レベル情報58Aと第2表示レベル情報58Bと第3表示レベル情報58Cとを含んでいる。第1表示レベル情報58Aは、プロセス入出力回路5からマイクロプロセッサ1への読み出し時の異常の原因を同定するための情報である。たとえば、その異常の原因としてはリード信号異常、回路イネーブル信号異常、および、回路アドレス信号異常が挙げられる。第2表示レベル情報58Bは、第1表示レベル情報58Aが表す異常の前段階の異常を同定するための情報である。第1表示レベル情報58Aリード信号異常の前段階の異常としてはリード信号セットアップ時間異常が挙げられる。第1表示レベル情報58A回路イネーブル信号異常の前段階の異常としては回路イネーブル信号セットアップ時間異常が挙げられる。第1表示レベル情報58A回路アドレス信号異常の前段階の異常としては回路アドレス信号値異常または回路アドレス信号セットアップ時間異常が挙げられる。第3表示レベル情報58Cは、第2表示レベル情報58Bが表す異常の前段階の異常、または、第2表示レベル情報58Bが表す異常が該当しないときに第1表示レベル情報58Aが表す異常の前段階の異常を同定するための情報である。第2表示レベル情報58B回路アドレス信号値異常の前段階の異常としては監視データ値異常が挙げられる。第2表示レベル情報58Bリード信号セットアップ時間異常、回路イネーブル信号セットアップ時間異常、および、回路アドレス信号セットアップ時間異常の前段階の異常としてはプロセス入出力回路セットアップ時間異常が挙げられる。図6は、第1実施形態に係るプログラマブルコントローラシステムの動作を示すフローチャートである。図7は、データメモリリード診断プログラムが実行されたときに表示装置40に表示されるトレース画面50を示す図である。エンジニアリングツール6Bの指示部60は、マイクロプロセッサ1の内蔵メモリ3に書き込まれた複数の診断プログラムのうちの1つの診断プログラムを実行させるための指示をマイクロプロセッサ1に送信するステップS1。マイクロプロセッサ1は、マイクロプロセッサ1の内蔵メモリ3に書き込まれた複数の診断プログラムのうちの、エンジニアリングツール6Bにより指定される1つの診断プログラムを選択診断プログラムとして選択し、選択診断プログラムを実行するステップS2。たとえば、選択診断プログラムは、データメモリリード診断プログラムであるものとする。この場合、マイクロプロセッサ1は、データメモリリード診断プログラムのトレース設定処理、テスト用アクセス処理、および、トレースデータ転送処理を実行する。まず、図2に示されるように、トレース設定処理において、マイクロプロセッサ1は、データメモリリード診断プログラムに対するトレース設定情報トレース選択、トリガ、トレース周期および設定時間の設定に関する情報をアクセス制御部2の設定レジスタ10に設定する。このとき、マイクロプロセッサ1は、設定レジスタ10に設定されたトレース設定情報の設定時間だけ、基準クロックであるプロセッサクロック信号12をアクセス制御部2に出力するステップS3。ここで、アクセス制御部2のPLL回路14には、周波数選択信号11およびプロセッサクロック信号12が与えられる。周波数選択信号11は、トレース設定処理において設定レジスタ10に設定されたトレース設定情報のトレース周期を表している。PLL回路14は、周波数選択信号11が表すトレース周期に基づいてプロセッサクロック信号12の周期を分周したクロックたとえば1/2に分周したクロックを生成し、そのクロックをトレース用クロック信号13として出力する。PLL回路14は、プロセッサクロック信号12を受け取っている間、トレース用クロック信号13を出力する。すなわち、設定時間だけトレース用クロック信号13を出力する。また、アクセス制御部2のデータ選択回路18には、設定レジスタ10からトレーストリガ選択信号15が与えられる。トレーストリガ選択信号15は、トレース設定処理において設定レジスタ10に設定されたトレース設定情報のトレース選択およびトリガを表している。次に、テスト用アクセス処理において、マイクロプロセッサ1は、データメモリリード診断プログラムに対するトレース許可信号を有効にしてアクセス制御部2の設定レジスタ10に設定するステップS4。アクセス制御部2のデータ選択回路18は、設定レジスタ10に設定されたトレース設定情報のトレース選択およびトリガトレーストリガ選択信号15に基づいて、トレースが行われるデバイス間の信号を第2バス8から選択し、その信号を測定値トレースデータ16としてトレースデータ格納メモリ20に出力するステップS5。選択診断プログラムがデータメモリリード診断プログラムである場合、測定値トレースデータ16としては、アドレス信号、チップイネーブル信号、リード信号、および、演算データメモリデータなどを表す値が例示される。この場合のアドレス信号、チップイネーブル信号、リード信号、および、メモリデータをそれぞれアドレス信号C21、チップイネーブル信号C22、リード信号C23、および、メモリデータC24と表記する。また、アクセス制御部2のデータ選択回路18は、トレースが行われる所定のタイミングとしてトリガ信号17をリードライト制御回路22に出力するステップS6-YES。アクセス制御部2のリードライト制御回路22には、トレース許可信号19Aが与えられる。トレース許可信号19Aは、テスト用アクセス処理において設定レジスタ10に設定されたトレース許可信号であり、その信号が有効であることを表している。リードライト制御回路22は、トリガ信号17を受けとったたきに、設定レジスタ10に設定されたトレース許可信号19A有効と、トリガ信号17とに応じて、PLL回路14からのトレース用クロック信号13に同期したトレースライト信号19Cを設定時間だけトレースデータ格納メモリ20に出力する。トレースデータ格納メモリ20は、リードライト制御回路22からのトレースライト信号19Cに応じて、測定結果を自身のメモリ領域に格納するステップS7。測定結果は、データ選択回路18からの測定値トレースデータ16アドレス信号C21、チップイネーブル信号C22、リード信号C23、および、メモリデータC24などを表す値と、測定値トレースデータ16を格納するときに用いられるクロック信号としてトレース用クロック信号13とを含んでいる。上記クロック信号は、トレース用クロック信号13の他に、トレース用クロック信号13に基づいて上述の分周比から求められるプロセッサクロック信号12も含んでいてもよい。アクセス制御部2のリードライト制御回路22は、トレース用クロック信号13を受け取れなくなったときに、すなわち、設定時間が経過したときに、トレース許可信号19Aを無効にするためのトレース状況信号21を設定レジスタ10に出力する。マイクロプロセッサ1は、トレース許可信号19Aを参照することにより、トレースの実行が終了したことを認識する。この場合、トレースデータ転送処理において、マイクロプロセッサ1は、データメモリリード診断プログラムに対するリード許可信号をアクセス制御部2の設定レジスタ10に設定するステップS8。アクセス制御部2のリードライト制御回路22には、リード許可信号19Bが与えられる。リード許可信号19Bは、トレースデータ転送処理において設定レジスタ10に設定されたリード許可信号を表している。リードライト制御回路22は、リード許可信号19Bに応じて、PLL回路14からのトレース用クロック信号13に同期したトレースリード信号19Dをトレースデータ格納メモリ20に出力する。トレースデータ格納メモリ20は、リードライト制御回路22からのトレースリード信号19Dに応じて、自身のメモリ領域に格納された測定結果測定値トレースデータ16、クロック信号を第2バス8、アクセス制御回路9および第1バス7を介してマイクロプロセッサ1に出力するステップS9。マイクロプロセッサ1は、測定結果測定値トレースデータ16、クロック信号と選択診断プログラムデータメモリリード診断プログラムを表す情報とをエンジニアリングツール6Bに送信転送するステップS10。エンジニアリングツール6Bの波形表示制御部61は、マイクロプロセッサ1からの測定結果と選択診断プログラムを表す情報とを受け取り、選択診断プログラムの実行結果として、図7に示されるようなトレース画面50を表示装置40に表示するステップS11。このトレース画面50は、波形表示欄50Aと異常原因表示欄50Bとを含んでいる。波形表示欄50Aはトレース画面50の中央部分に設けられ、異常原因表示欄50Bは、トレース画面50の波形表示欄50A以外の部分、たとえば波形表示欄50Aの下方部分に設けられている。この場合、波形表示制御部61は、測定結果に含まれるクロック信号プロセッサクロック信号12、トレース用クロック信号13を表す波形と、測定結果に含まれる測定値トレースデータ16アドレス信号C21、チップイネーブル信号C22、リード信号C23、および、メモリデータC24などを表す波形と、異常原因データベース64に格納された期待値トレースデータ52アドレス信号C21、チップイネーブル信号C22、リード信号C23、および、メモリデータC24などを表す波形と、をトレース画面50の波形表示欄50Aに表示する。波形表示制御部61がトレース画面50を表示装置40に表示したとき、エンジニアリングツール6Bの異常検出部62は、測定値トレースデータ16と期待値トレースデータ52とを比較し、比較結果を生成するステップS12。ここで、エンジニアリングツール6Bの異常表示制御部63は、異常検出部62による比較結果が測定値トレースデータ16と期待値トレースデータ52との不一致を表す場合、以下に示す処理異常判定処理、および、異常原因特定処理により、第1表示レベル情報56Aおよび第2表示レベル情報56Bをトレース画面50上に表示するステップS12-YES、S13。異常判定処理、および、異常原因特定処理について、図4を例にして説明する。まず、異常検出部62は、異常判定処理を実施する。異常判定処理異常検出部62は、測定値トレースデータ16のメモリデータC24立ち上りタイミング、立ち下りタイミング、および、データ値と期待値トレースデータ52のメモリデータD24立ち上りタイミング、立ち下りタイミング、および、データ値とを比較することにより、異常原因データベース64に格納された因果関係情報56○○△の第3表示レベル情報56Cが表すメモリデータ信号値異常、および、メモリデータセットアップ時間異常が発生しているか否かを判定する。ここで、メモリデータC24のデータ値とメモリデータD24のデータ値とが一致しない場合、異常検出部62は、メモリデータC24のデータ値の異常と判定し、第3表示レベル情報56Cメモリデータ信号値異常を選択する。一方、メモリデータC24のタイミング立ち上りおよび立ち下りとメモリデータD24のタイミング立ち上りおよび立ち下りとが一致しない場合、異常検出部62は、メモリデータC24のタイミングの異常と判定し、第3表示レベル情報56Cメモリデータセットアップ時間異常を選択する。次に、異常検出部62が第3表示レベル情報56Cメモリデータ信号値異常を選択した場合、異常原因データベース64に格納された因果関係情報56○○△の第2表示レベル情報56Bが表すアドレス信号値異常、または、第1表示レベル情報56Aが表すメモリ素子異常が異常原因である。この場合、異常検出部62は、以下に示す第1および第2の異常原因特定処理を実施する。一方、異常検出部62が第3表示レベル情報56Cメモリデータセットアップ時間異常を選択した場合、異常原因データベース64に格納された因果関係情報56○○△の第2表示レベル情報56Bが表すリード信号セットアップ時間異常、チップイネーブル信号セットアップ時間異常、アドレス信号セットアップ時間異常、および、第1表示レベル情報56Aが表すメモリ素子異常が異常原因である。この場合、異常検出部62は、以下に示す第3~第6の異常原因特定処理を実施する。まず、第1および第2の異常原因特定処理について説明する。第1の異常原因特定処理異常検出部62は、測定値トレースデータ16のアドレス信号C21アドレス値と期待値トレースデータ52のアドレス信号D21アドレス値とを比較することにより、上記第2表示レベル情報56Bが表すアドレス信号値異常が発生しているか否かを特定する。ここで、アドレス信号C21のアドレス値とアドレス信号D21のアドレス値とが一致しない場合、異常検出部62は、アドレス信号C21のアドレス値の異常と特定し、第2表示レベル情報56Bアドレス信号値異常を選択する。さらに、異常検出部62は、第2表示レベル情報56Bアドレス信号値異常の上位段階を表す第1表示レベル情報56Aアドレス信号異常を選択する。異常表示制御部63は、測定値トレースデータ16と期待値トレースデータ52との差異この場合、アドレス信号C21のアドレス値とアドレス信号D21のアドレス値との差異として、第2表示レベル情報56Bアドレス信号値異常をトレース画面50上の上記差異に対応する位置に表示する。この場合、トレース画面50上の第2表示レベル情報56Bアドレス信号値異常は、斜線や、他の色とは異なる色で表示される。さらに、異常表示制御部63は、第1表示レベル情報56Aアドレス信号異常を文字にしてトレース画面50の異常原因表示欄50Bに表示する。第2の異常原因特定処理一方、アドレス信号C21のアドレス値とアドレス信号D21のアドレス値とが一致している場合、異常検出部62は、アドレス信号C21のアドレス値に異常がないと特定し、第1表示レベル情報56Aメモリ素子異常を選択する。異常表示制御部63は、第1表示レベル情報56Aメモリ素子異常を文字にしてトレース画面50の異常原因表示欄50Bに表示する。次に、第3~第6の異常原因特定処理について説明する。第3の異常原因特定処理異常検出部62は、測定値トレースデータ16のリード信号C23立ち上りタイミングおよび立ち下りタイミングと期待値トレースデータ52のリード信号D23立ち上りタイミングおよび立ち下りタイミングとを比較することにより、上記第2表示レベル情報56Bが表すリード信号セットアップ時間異常が発生しているか否かを特定する。ここで、リード信号C23のタイミング立ち上りおよび立ち下りとリード信号D23のタイミング立ち上りおよび立ち下りとが一致しない場合、異常検出部62は、リード信号C23のタイミングの異常と特定し、第2表示レベル情報56Bリード信号セットアップ時間異常を選択する。さらに、異常検出部62は、第2表示レベル情報56Bリード信号セットアップ時間異常の上位段階を表す第1表示レベル情報56Aリード信号異常を選択する。異常表示制御部63は、測定値トレースデータ16と期待値トレースデータ52との差異この場合、リード信号C23のタイミングとリード信号D23のタイミングとの差異として、第2表示レベル情報56Bリード信号セットアップ時間異常をトレース画面50上の上記差異に対応する位置に表示する。たとえば、リード信号C23の立ち上がりタイミングが異常の場合、リード信号C23の立ち上がりの時間付近に第2表示レベル情報56Bリード信号セットアップ時間異常を表示する。この場合、トレース画面50上の第2表示レベル情報56Bリード信号セットアップ時間異常は、斜線や、他の色とは異なる色で表示される図7参照。さらに、異常表示制御部63は、第1表示レベル情報56Aリード信号異常を文字にしてトレース画面50の異常原因表示欄50Bに表示する図7参照。第4の異常原因特定処理異常検出部62は、測定値トレースデータ16のチップイネーブル信号C22立ち上りタイミングおよび立ち下りタイミングと期待値トレースデータ52のチップイネーブル信号D22立ち上りタイミングおよび立ち下りタイミングとを比較することにより、上記第2表示レベル情報56Bが表すチップイネーブル信号セットアップ時間異常が発生しているか否かを判定する。ここで、チップイネーブル信号C22のタイミング立ち上りおよび立ち下りとチップイネーブル信号D22のタイミング立ち上りおよび立ち下りとが一致しない場合、異常検出部62は、チップイネーブル信号C22のタイミングの異常と特定し、第2表示レベル情報56Bチップイネーブル信号セットアップ時間異常を選択する。さらに、異常検出部62は、第2表示レベル情報56Bチップイネーブル信号セットアップ時間異常の上位段階を表す第1表示レベル情報56Aチップイネーブル信号異常を選択する。異常表示制御部63は、測定値トレースデータ16と期待値トレースデータ52との差異この場合、チップイネーブル信号C22のタイミングとチップイネーブル信号D22のタイミングとの差異として、第2表示レベル情報56Bチップイネーブル信号セットアップ時間異常をトレース画面50上の上記差異に対応する位置に表示する。たとえば、チップイネーブル信号C22の立ち上がりタイミングが異常の場合、チップイネーブル信号C22の立ち上がりの時間付近に第2表示レベル情報56Bチップイネーブル信号セットアップ時間異常を表示する。この場合、トレース画面50上の第2表示レベル情報56Bチップイネーブル信号セットアップ時間異常は、斜線や、他の色とは異なる色で表示される。さらに、異常表示制御部63は、第1表示レベル情報56Aチップイネーブル信号異常を文字にしてトレース画面50の異常原因表示欄50Bに表示する。第5の異常原因特定処理異常検出部62は、測定値トレースデータ16のアドレス信号C21立ち上りタイミングおよび立ち下りタイミングと期待値トレースデータ52のアドレス信号D21立ち上りタイミングおよび立ち下りタイミングとを比較することにより、上記第2表示レベル情報56Bが表すアドレス信号セットアップ時間異常が発生しているか否かを判定する。ここで、アドレス信号C21のタイミング立ち上りおよび立ち下りとアドレス信号D21のタイミング立ち上りおよび立ち下りとが一致しない場合、異常検出部62は、アドレス信号C21のタイミングの異常と特定し、第2表示レベル情報56Bアドレス信号セットアップ時間異常を選択する。さらに、異常検出部62は、第2表示レベル情報56Bアドレス信号セットアップ時間異常の上位段階を表す第1表示レベル情報56Aアドレス信号異常を選択する。異常表示制御部63は、測定値トレースデータ16と期待値トレースデータ52との差異この場合、アドレス信号C21のタイミングとアドレス信号D21のタイミングとの差異として、第2表示レベル情報56Bアドレス信号セットアップ時間異常をトレース画面50上の上記差異に対応する位置に表示する。たとえば、アドレス信号C21の立ち上がりタイミングが異常の場合、アドレス信号C21の立ち上がりの時間付近に第2表示レベル情報56Bアドレス信号セットアップ時間異常を表示する。この場合、トレース画面50上の第2表示レベル情報56Bアドレス信号セットアップ時間異常は、斜線や、他の色とは異なる色で表示される。さらに、異常表示制御部63は、第1表示レベル情報56Aアドレス信号異常を文字にしてトレース画面50の異常原因表示欄50Bに表示する。第6の異常原因特定処理一方、リード信号C23のタイミングとリード信号D23のタイミングとが一致し、チップイネーブル信号C22のタイミングとチップイネーブル信号D22のタイミングとが一致し、アドレス信号C21のタイミングとアドレス信号D21のタイミングとが一致している場合、異常検出部62は、リード信号C23、チップイネーブル信号C22およびアドレス信号C21のタイミングに異常がないと特定し、第1表示レベル情報56Aメモリ素子異常を選択する。異常表示制御部63は、第1表示レベル情報56Aメモリ素子異常を文字にしてトレース画面50の異常原因表示欄50Bに表示する。本実施形態では、エンジニアリングツール6Bの異常原因データベース64に期待値トレースデータ52と因果関係情報56○○△とをデータメモリリード診断プログラムを表す情報に対応付けて予めに格納しておく。プログラマブルコントローラユニット6Aでは、マイクロプロセッサ1がデータメモリライト診断プログラムを実行したときに、アクセス制御部2がマイクロプロセッサ1からデータメモリ4への読み出しに用いられる信号の波形をトレースした測定値トレースデータ16を生成し、測定結果測定値トレースデータ16、クロック信号がエンジニアリングツール6Bに送信される。エンジニアリングツール6Bは、測定結果に含まれる測定値トレースデータ16をトレース画面50により作業員に提示する。このように、本実施形態によれば、作業員は観測ツールなどの接続を必要とせずに遠隔地で動作確認を行うことができる。また、本実施形態では、エンジニアリングツール6Bは、測定結果に含まれる測定値トレースデータ16と異常原因データベース64に格納された期待値トレースデータ52とが一致しないときに、異常原因データベース64に格納された因果関係情報56○○△から故障箇所を同定し、それを表す第1表示レベル情報56Aおよび第2表示レベル情報56Bをトレース画面50により作業員に提示する。このように、本実施形態によれば、作業員は観測ツールなどの接続を必要とせずに遠隔地で解析を行うことができる。図8は、プロセス入出力回路リード診断プログラムが実行されたときに表示装置40に表示されるトレース画面50を示す図である。上述では、選択診断プログラムがデータメモリリード診断プログラムである場合を例にしている。たとえば、選択診断プログラムがプロセス入出力回路リード診断プログラムである場合では、測定結果に含まれる測定値トレースデータ16は、回路アドレス信号、回路イネーブル信号、リード信号、および、監視データ温度、開度、圧力などを表す値となる。この場合の回路アドレス信号、回路イネーブル信号、リード信号、および、監視データをそれぞれ回路アドレス信号C41、回路イネーブル信号C42、リード信号C43、および、監視データC44と表記する。ここで、上述のように、異常原因データベース64に格納された期待値トレースデータ52は、回路アドレス信号D41、回路イネーブル信号D42、リード信号D43、および、監視データD44などを表す理想的な値期待値である。前述のステップS10の後に、エンジニアリングツール6Bの波形表示制御部61は、マイクロプロセッサ1からの測定結果と選択診断プログラムを表す情報とを受け取り、選択診断プログラムの実行結果として、図8に示されるようなトレース画面50を表示装置40に表示するステップS11。この場合、波形表示制御部61は、測定結果に含まれるクロック信号プロセッサクロック信号12、トレース用クロック信号13を表す波形と、測定結果に含まれる測定値トレースデータ16回路アドレス信号C41、回路イネーブル信号C42、リード信号C43、および、監視データC44などを表す波形と、異常原因データベース64に格納された期待値トレースデータ54回路アドレス信号D41、回路イネーブル信号D42、リード信号D43、および、監視データD44などを表す波形と、をトレース画面50の波形表示欄50Aに表示する。波形表示制御部61がトレース画面50を表示装置40に表示したとき、エンジニアリングツール6Bの異常検出部62は、測定値トレースデータ16と期待値トレースデータ54とを比較し、比較結果を生成するステップS12。ここで、エンジニアリングツール6Bの異常表示制御部63は、異常検出部62による比較結果が測定値トレースデータ16と期待値トレースデータ54との不一致を表す場合、以下に示す処理異常判定処理、および、異常原因特定処理により、第1表示レベル情報58Aおよび第2表示レベル情報58Bをトレース画面50上に表示するステップS12-YES、S13。異常判定処理、および、異常原因特定処理について、図4を例にして説明する。まず、異常検出部62は、異常判定処理を実施する。異常判定処理異常検出部62は、測定値トレースデータ16の監視データC44立ち上りタイミング、立ち下りタイミング、および、データ値と期待値トレースデータ54の監視データD44立ち上りタイミング、立ち下りタイミング、および、データ値とを比較することにより、異常原因データベース64に格納された因果関係情報58△△△の第3表示レベル情報58Cが表す監視データ値異常、および、プロセス入出力回路セットアップ時間異常が発生しているか否かを判定する。ここで、監視データC44のデータ値と監視データD44のデータ値とが一致しない場合、異常検出部62は、監視データC44のデータ値の異常と判定し、第3表示レベル情報58C監視データ値異常を選択する。一方、監視データC44のタイミング立ち上りおよび立ち下りと監視データD44のタイミング立ち上りおよび立ち下りとが一致しない場合、異常検出部62は、監視データC44のタイミングの異常と判定し、第3表示レベル情報58Cプロセス入出力回路セットアップ時間異常を選択する。次に、異常検出部62が第3表示レベル情報58C監視データ値異常を選択した場合、異常原因データベース64に格納された因果関係情報58△△△の第2表示レベル情報58Bが表す回路アドレス信号値異常が異常原因である。この場合、異常検出部62は、以下に示す第11の異常原因特定処理を実施する。一方、異常検出部62が第3表示レベル情報58Cプロセス入出力回路セットアップ時間異常を選択した場合、異常原因データベース64に格納された因果関係情報58△△△の第2表示レベル情報58Bが表すリード信号セットアップ時間異常、回路イネーブル信号セットアップ時間異常、および、回路アドレス信号セットアップ時間異常が異常原因である。この場合、異常検出部62は、以下に示す第12~第14の異常原因特定処理を実施する。まず、第11の異常原因特定処理について説明する。第11の異常原因特定処理異常検出部62は、測定値トレースデータ16の回路アドレス信号C41アドレス値と期待値トレースデータ54の回路アドレス信号D41アドレス値とを比較することにより、上記第2表示レベル情報58Bが表す回路アドレス信号値異常が発生しているか否かを特定する。ここで、回路アドレス信号C41のアドレス値と回路アドレス信号D41のアドレス値とが一致しない場合、異常検出部62は、回路アドレス信号C41のアドレス値の異常と特定し、第2表示レベル情報58B回路アドレス信号値異常を選択する。さらに、異常検出部62は、第2表示レベル情報58B回路アドレス信号値異常の上位段階を表す第1表示レベル情報58A回路アドレス信号異常を選択する。異常表示制御部63は、測定値トレースデータ16と期待値トレースデータ54との差異この場合、回路アドレス信号C41のアドレス値と回路アドレス信号D41のアドレス値との差異として、第2表示レベル情報58B回路アドレス信号値異常をトレース画面50上の上記差異に対応する位置に表示する。この場合、トレース画面50上の第2表示レベル情報58B回路アドレス信号値異常は、斜線や、他の色とは異なる色で表示される。さらに、異常表示制御部63は、第1表示レベル情報58A回路アドレス信号異常を文字にしてトレース画面50の異常原因表示欄50Bに表示する。次に、第12~第14の異常原因特定処理について説明する。第12の異常原因特定処理異常検出部62は、測定値トレースデータ16のリード信号C43立ち上りタイミングおよび立ち下りタイミングと期待値トレースデータ54のリード信号D43立ち上りタイミングおよび立ち下りタイミングとを比較することにより、上記第2表示レベル情報58Bが表すリード信号セットアップ時間異常が発生しているか否かを特定する。ここで、リード信号C43のタイミング立ち上りおよび立ち下りとリード信号D43のタイミング立ち上りおよび立ち下りとが一致しない場合、異常検出部62は、リード信号C43のタイミングの異常と特定し、第2表示レベル情報58Bリード信号セットアップ時間異常を選択する。さらに、異常検出部62は、第2表示レベル情報58Bリード信号セットアップ時間異常の上位段階を表す第1表示レベル情報58Aリード信号異常を選択する。異常表示制御部63は、測定値トレースデータ16と期待値トレースデータ54との差異この場合、リード信号C43のタイミングとリード信号D43のタイミングとの差異として、第2表示レベル情報58Bリード信号セットアップ時間異常をトレース画面50上の上記差異に対応する位置に表示する。たとえば、リード信号C43の立ち上がりタイミングが異常の場合、リード信号C43の立ち上がりの時間付近に第2表示レベル情報58Bリード信号セットアップ時間異常を表示する。この場合、トレース画面50上の第2表示レベル情報58Bリード信号セットアップ時間異常は、斜線や、他の色とは異なる色で表示される図8参照。さらに、異常表示制御部63は、第1表示レベル情報58Aリード信号異常を文字にしてトレース画面50の異常原因表示欄50Bに表示する図8参照。第13の異常原因特定処理異常検出部62は、測定値トレースデータ16の回路イネーブル信号C42立ち上りタイミングおよび立ち下りタイミングと期待値トレースデータ54の回路イネーブル信号D42立ち上りタイミングおよび立ち下りタイミングとを比較することにより、上記第2表示レベル情報58Bが表す回路イネーブル信号セットアップ時間異常が発生しているか否かを判定する。ここで、回路イネーブル信号C42のタイミング立ち上りおよび立ち下りと回路イネーブル信号D42のタイミング立ち上りおよび立ち下りとが一致しない場合、異常検出部62は、回路イネーブル信号C42のタイミングの異常と特定し、第2表示レベル情報58B回路イネーブル信号セットアップ時間異常を選択する。さらに、異常検出部62は、第2表示レベル情報58B回路イネーブル信号セットアップ時間異常の上位段階を表す第1表示レベル情報58A回路イネーブル信号異常を選択する。異常表示制御部63は、測定値トレースデータ16と期待値トレースデータ54との差異この場合、回路イネーブル信号C42のタイミングと回路イネーブル信号D42のタイミングとの差異として、第2表示レベル情報58B回路イネーブル信号セットアップ時間異常をトレース画面50上の上記差異に対応する位置に表示する。たとえば、回路イネーブル信号C42の立ち上がりタイミングが異常の場合、回路イネーブル信号C42の立ち上がりの時間付近に第2表示レベル情報58B回路イネーブル信号セットアップ時間異常を表示する。この場合、トレース画面50上の第2表示レベル情報58B回路イネーブル信号セットアップ時間異常は、斜線や、他の色とは異なる色で表示される。さらに、異常表示制御部63は、第1表示レベル情報58A回路イネーブル信号異常を文字にしてトレース画面50の異常原因表示欄50Bに表示する。第14の異常原因特定処理異常検出部62は、測定値トレースデータ16の回路アドレス信号C41立ち上りタイミングおよび立ち下りタイミングと期待値トレースデータ54の回路アドレス信号D41立ち上りタイミングおよび立ち下りタイミングとを比較することにより、上記第2表示レベル情報58Bが表す回路アドレス信号セットアップ時間異常が発生しているか否かを判定する。ここで、回路アドレス信号C41のタイミング立ち上りおよび立ち下りと回路アドレス信号D41のタイミング立ち上りおよび立ち下りとが一致しない場合、異常検出部62は、回路アドレス信号C41のタイミングの異常と特定し、第2表示レベル情報58B回路アドレス信号セットアップ時間異常を選択する。さらに、異常検出部62は、第2表示レベル情報58B回路アドレス信号セットアップ時間異常の上位段階を表す第1表示レベル情報58A回路アドレス信号異常を選択する。異常表示制御部63は、測定値トレースデータ16と期待値トレースデータ54との差異この場合、回路アドレス信号C41のタイミングと回路アドレス信号D41のタイミングとの差異として、第2表示レベル情報58B回路アドレス信号セットアップ時間異常をトレース画面50上の上記差異に対応する位置に表示する。たとえば、回路アドレス信号C41の立ち上がりタイミングが異常の場合、回路アドレス信号C41の立ち上がりの時間付近に第2表示レベル情報58B回路アドレス信号セットアップ時間異常を表示する。この場合、トレース画面50上の第2表示レベル情報58B回路アドレス信号セットアップ時間異常は、斜線や、他の色とは異なる色で表示される。さらに、異常表示制御部63は、第1表示レベル情報58A回路アドレス信号異常を文字にしてトレース画面50の異常原因表示欄50Bに表示する。本実施形態では、エンジニアリングツール6Bの異常原因データベース64に期待値トレースデータ54と因果関係情報58△△△とをプロセス入出力回路リード診断プログラムを表す情報に対応付けて予めに格納しておく。プログラマブルコントローラユニット6Aでは、マイクロプロセッサ1がプロセス入出力回路リード診断プログラムを実行したときに、アクセス制御部2がマイクロプロセッサ1からプロセス入出力回路5への読み出しに用いられる信号の波形をトレースした測定値トレースデータ16を生成し、測定結果測定値トレースデータ16、クロック信号がエンジニアリングツール6Bに送信される。エンジニアリングツール6Bは、測定結果に含まれる測定値トレースデータ16をトレース画面50により作業員に提示する。このように、本実施形態によれば、作業員は観測ツールなどの接続を必要とせずに遠隔地で動作確認を行うことができる。また、本実施形態では、エンジニアリングツール6Bは、測定結果に含まれる測定値トレースデータ16と異常原因データベース64に格納された期待値トレースデータ54とが一致しないときに、異常原因データベース64に格納された因果関係情報58△△△から故障箇所を同定し、それを表す第1表示レベル情報58Aおよび第2表示レベル情報58Bをトレース画面50により作業員に提示する。このように、本実施形態によれば、作業員は観測ツールなどの接続を必要とせずに遠隔地で解析を行うことができる。以上により、本実施形態は、観測ツールなどの接続を必要とせずに遠隔地で動作確認や解析を実施することができる。[第2実施形態]第2実施形態に係るプログラマブルコントローラシステムでは、第1実施形態に対して、アクセス制御部2のトレース制御回路30が第1バス7および第2バス8の少なくとも一方のバスの異常をトリガとして測定値トレースデータ16を生成することが異なる。図9は、プログラマブルコントローラユニット6Aのアクセス制御部2の構成を示すブロック図である。第2実施形態に係るプログラマブルコントローラシステムでは、プログラマブルコントローラユニット6Aのアクセス制御部2は、さらに、エラー検出回路23を具備している。アクセス制御部2のエラー検出回路23は、マイクロプロセッサ1が診断プログラムを実行したときに、マイクロプロセッサ1と1つの構成要素間のアクセスに対して第1バス7および第2バス8の少なくとも一方のバスに異常がある場合に、少なくとも一方のバスの異常を表すエラー検出信号23Aを出力する。このとき、アクセス制御部2のトレース制御回路30は、エラー検出信号23Aをトリガとして測定値トレースデータ16を生成する。図10は、第2実施形態に係るプログラマブルコントローラシステムの動作を示すフローチャートである。前述のステップS5の後に、アクセス制御部2のエラー検出回路23は、マイクロプロセッサ1と1つの構成要素間のアクセスに対して第1バス7および第2バス8の少なくとも一方のバスに異常があるか否かを調べる。この場合、ECCErrorCorrectingCode;誤り訂正符号などの診断により上記少なくとも一方のバスの異常を検出する。ここで、エラー検出回路23は、上記少なくとも一方のバスの異常を検出した場合、その旨を表すエラー検出信号23Aをデータ選択回路18に出力するステップS21-YES。この場合、アクセス制御部2のリードライト制御回路22は、エラー検出信号23Aをトリガ信号17として受けとり、設定レジスタ10に設定されたトレース許可信号19A有効と、トリガ信号17エラー検出信号23Aとに応じて、PLL回路14からのトレース用クロック信号13に同期したトレースライト信号19Cを設定時間だけトレースデータ格納メモリ20に出力する。トレースデータ格納メモリ20は、リードライト制御回路22からのトレースライト信号19Cに応じて、測定結果を自身のメモリ領域に格納するステップS7。その後、ステップS8以降が行われる。測定結果は、データ選択回路18からの測定値トレースデータ16アドレス信号C21、チップイネーブル信号C22、リード信号C23、および、メモリデータC24などを表す値と、測定値トレースデータ16を格納するときに用いられるクロック信号プロセッサクロック信号12およびトレース用クロック信号13と、測定値トレースデータ16を格納するときのエラーログエラー検出信号23Aとを含んでいる。一方、エラー検出回路23が上記少なくとも一方のバスの異常を検出しない場合、アクセス制御部2のデータ選択回路18は、第1実施形態と同様に、トレースが行われる所定のタイミングとしてトリガ信号17をリードライト制御回路22に出力するステップS21-NO、S6-YES。この場合、アクセス制御部2のリードライト制御回路22は、トリガ信号17を受けとったたきに、設定レジスタ10に設定されたトレース許可信号19A有効と、トリガ信号17とに応じて、PLL回路14からのトレース用クロック信号13に同期したトレースライト信号19Cを設定時間だけトレースデータ格納メモリ20に出力する。トレースデータ格納メモリ20は、リードライト制御回路22からのトレースライト信号19Cに応じて、測定結果を自身のメモリ領域に格納するステップS7。その後、ステップS8以降が行われる。測定結果は、第1実施形態と同様に、データ選択回路18からの測定値トレースデータ16アドレス信号C21、チップイネーブル信号C22、リード信号C23、および、メモリデータC24などを表す値と、測定値トレースデータ16を格納するときに用いられるクロック信号プロセッサクロック信号12およびトレース用クロック信号13とを含んでいる。本実施形態では、プログラマブルコントローラユニット6Aのアクセス制御部2は、第1バス7および第2バス8の少なくとも一方のバスの異常を検出した場合、それをトリガとして測定値トレースデータ16を生成し、測定結果測定値トレースデータ16、クロック信号およびエラーログがエンジニアリングツール6Bに送信される。このように、本実施形態によれば、バスの異常をトリガとして測定値トレースデータ16を生成するため、第1実施形態に対して、容易に故障箇所を同定することができる。[第3実施形態]第3実施形態に係るプログラマブルコントローラシステムでは、第2実施形態に対して、マイクロプロセッサ1が起動時に診断プログラムを実行することが異なる。図11は、第3実施形態に係るプログラマブルコントローラシステムの動作を示すフローチャートである。マイクロプロセッサ1は、起動時に、マイクロプロセッサ1の内蔵メモリ3に書き込まれた複数の診断プログラムのうちの1つの診断プログラムを選択診断プログラムとして選択し、選択診断プログラムを実行するステップS31-NO、S32-YES、S2。マイクロプロセッサ1は、ステップS3、S4、S8およびS10を実行した後、診断プログラムを全て実行していない場合は、マイクロプロセッサ1の内蔵メモリ3に書き込まれた複数の診断プログラムのうちの他の1つの診断プログラムを選択診断プログラムとして選択し、選択診断プログラムを実行するステップS33-NO、S34-NO、S2。マイクロプロセッサ1は、診断プログラムを全て実行するまでステップS34-YES、ステップS3、S4、S8、S10、S33-NO、S34-NO、S2を繰り返す。一方、エンジニアリングツール6Bにより1つの診断プログラムが指定された場合ステップS1、マイクロプロセッサ1は、第1および第2実施形態と同様の処理を実行するステップS31-YES、S2、S3、S4、S8、S10、S33-YES。本実施形態では、プログラマブルコントローラユニット6Aが、起動時に、診断プログラムを実行して、その実行結果に基づいて測定値トレースデータ16を生成し、測定結果測定値トレースデータ16、クロック信号およびエラーログがエンジニアリングツール6Bに送信される。このように、本実施形態によれば、エンジニアリングツール6Bが診断プログラムを実行させるための指示をマイクロプロセッサ1に送信してから、その指示をプログラマブルコントローラユニット6Aが受け取るまでの時間を短縮することができる。また、本実施形態によれば、プログラマブルコントローラユニット6Aが起動時に複数の診断プログラムを一括して実行する場合では特に有効である。また、本実施形態では、プログラマブルコントローラユニット6Aが起動時に自動的に診断プログラムを実行することにより、たとえば本システムまたはプログラマブルコントローラユニット6Aの出荷前に故障箇所を同定することができる。[第4実施形態]第4実施形態に係るプログラマブルコントローラシステムでは、第3実施形態に対して、エンジニアリングツール6Bがマイクロプロセッサ1と1つの構成要素間のアクセス時の経年変化による異常の原因を同定することが異なる。図12は、第4実施形態に係るプログラマブルコントローラシステムの構成を示すブロック図である。第4実施形態に係るプログラマブルコントローラシステムでは、エンジニアリングツール6Bは、さらに、経年変化データベース65を具備している。図13は、エンジニアリングツール6B内の経年変化データベース65を示す図である。経年変化データベース65には、マイクロプロセッサ1から起動時および一定時間毎に送信される測定結果測定値トレースデータ16、クロック信号およびエラーログが順次格納される。具体的には、経年変化データベース65には、複数の診断プログラムのうちのデータメモリライト診断プログラムを表す情報に対応付けて、マイクロプロセッサ1からデータメモリ4への書き込み時の起動時および一定時間毎に送信される測定結果{測定値トレースデータ16アドレス信号C11、チップイネーブル信号C12およびライト信号C13などを表す値、クロック信号図示省略およびエラーログ図示省略}が格納される。また、異常原因データベース64には、複数の診断プログラムのうちのデータメモリリード診断プログラムを表す情報に対応付けて、データメモリ4からマイクロプロセッサ1への読み出し時の起動時および一定時間毎に送信される測定結果{測定値トレースデータ16アドレス信号C21、チップイネーブル信号C22、リード信号C23、および、メモリデータC24などを表す値、クロック信号図示省略およびエラーログ図示省略}が格納される。また、異常原因データベース64には、複数の診断プログラムのうちのプロセス入出力回路ライト診断プログラムを表す情報に対応付けて、マイクロプロセッサ1からプロセス入出力回路5への書き込み出力時の起動時および一定時間毎に送信される測定結果{測定値トレースデータ16回路アドレス信号C31、回路イネーブル信号C32およびライト信号C33などを表す値、クロック信号図示省略およびエラーログ図示省略}が格納される。また、異常原因データベース64には、複数の診断プログラムのうちのプロセス入出力回路リード診断プログラムを表す情報に対応付けて、プロセス入出力回路5からマイクロプロセッサ1への読み出し時の起動時および一定時間毎に送信される測定結果{測定値トレースデータ16回路アドレス信号C41、回路イネーブル信号C42、リード信号C43、および、監視データC44などを表す値、クロック信号図示省略およびエラーログ図示省略}が格納される。図14は、エンジニアリングツール6B内の異常原因データベース64を示す図である。異常原因データベース64には、起動時および一定時間毎の期待値トレースデータ51~54と、マイクロプロセッサ1と1つの構成要素間のアクセス時の異常の原因となる因果関係を表す因果関係情報55~58とが格納されている。具体的には、異常原因データベース64には、複数の診断プログラムのうちのデータメモリライト診断プログラムを表す情報に対応付けて、マイクロプロセッサ1からデータメモリ4への書き込み時の起動時および一定時間毎の期待値トレースデータ51アドレス信号D11、チップイネーブル信号D12、および、ライト信号D13などを表す値と、その書き込み時の異常の原因となる因果関係を表す因果関係情報55○○○とが格納されている。また、異常原因データベース64には、複数の診断プログラムのうちのデータメモリリード診断プログラムを表す情報に対応付けて、データメモリ4からマイクロプロセッサ1への読み出し時の起動時および一定時間毎の期待値トレースデータ52アドレス信号D21、チップイネーブル信号D22、リード信号D23、メモリデータD24などを表す値と、その読み出し時の異常の原因となる因果関係を表す因果関係情報56○○△とが格納されている。また、異常原因データベース64には、複数の診断プログラムのうちのプロセス入出力回路ライト診断プログラムを表す情報に対応付けて、マイクロプロセッサ1からプロセス入出力回路5への書き込み出力時の起動時および一定時間毎の期待値トレースデータ53回路アドレス信号D31、回路イネーブル信号D32、ライト信号D33などを表す値と、その書き込み時の異常の原因となる因果関係を表す因果関係情報57○△△とが格納されている。また、異常原因データベース64には、複数の診断プログラムのうちのプロセス入出力回路リード診断プログラムを表す情報に対応付けて、プロセス入出力回路5からマイクロプロセッサ1への読み出し時の起動時および一定時間毎の期待値トレースデータ54回路アドレス信号D41、回路イネーブル信号D42、リード信号D43、監視データD44などを表す値と、その読み出し時の異常の原因となる因果関係を表す因果関係情報58△△△とが格納されている。図15は、プロセス入出力回路リード診断プログラムを表す情報に対応付けて異常原因データベース64に格納された因果関係情報58△△△を示す図である。プロセス入出力回路リード診断プログラムを例にした場合、異常原因データベース64に格納されている因果関係情報58△△△は、第1表示レベル情報58Aと第2表示レベル情報58Bと第3表示レベル情報58Cと、第1経年変化表示レベル情報58Dと第2経年変化表示レベル情報58Eとを含んでいる。第1表示レベル情報58Aは、プロセス入出力回路5からマイクロプロセッサ1への読み出し時の異常の原因を同定するための情報である。たとえば、その異常の原因としてはリード信号異常、回路イネーブル信号異常、回路アドレス信号異常、および、経年変化による異常が挙げられる。第2表示レベル情報58Bは、第1表示レベル情報58Aが表す異常の前段階の異常を同定するための情報である。前述と同様に、第1表示レベル情報58Aリード信号異常の前段階の異常としてはリード信号セットアップ時間異常が挙げられる。第1表示レベル情報58A回路イネーブル信号異常の前段階の異常としては回路イネーブル信号セットアップ時間異常が挙げられる。第1表示レベル情報58A回路アドレス信号異常の前段階の異常としては回路アドレス信号値異常または回路アドレス信号セットアップ時間異常が挙げられる。第3表示レベル情報58Cは、第2表示レベル情報58Bが表す異常の前段階の異常、または、第2表示レベル情報58Bが表す異常が該当しないときに第1表示レベル情報58Aが表す異常の前段階の異常を同定するための情報である。第2表示レベル情報58B回路アドレス信号値異常の前段階の異常、または、第1表示レベル情報58A経年変化による異常の前段階の異常としては監視データ値異常が挙げられる。第2表示レベル情報58Bリード信号セットアップ時間異常、回路イネーブル信号セットアップ時間異常、および、回路アドレス信号セットアップ時間異常の前段階の異常としてはプロセス入出力回路セットアップ時間異常が挙げられる。第1経年変化表示レベル情報58Dは、プロセス入出力回路5からマイクロプロセッサ1への読み出し時の経年変化による異常の原因を同定するための情報である。たとえば、その経年変化による異常の原因としては、プラント機器100を監視するセンサの劣化を表す温度センサ劣化可能性あり、開度センサ劣化可能性あり、および、圧力センサ劣化可能性ありが挙げられる。第2経年変化表示レベル情報58Eは、第1経年変化表示レベル情報58Dが表す経年変化による異常の前段階の異常を同定するための情報である。第1経年変化表示レベル情報58D温度センサ劣化可能性ありの前段階の異常としては温度センサ入力値異常が挙げられる。第1経年変化表示レベル情報58D開度センサ劣化可能性ありの前段階の異常としては開度センサ入力値異常が挙げられる。第1経年変化表示レベル情報58D圧力センサ劣化可能性ありの前段階の異常としては圧力センサ入力値異常が挙げられる。第1表示レベル情報58A経年変化による異常は、第2経年変化表示レベル情報58Eが表す経年変化による異常の前段階の異常を同定するための情報である。図16は、第4実施形態に係るプログラマブルコントローラシステムの動作を示すフローチャートである。図17は、プロセス入出力回路リード診断プログラムが実行されたときに表示装置40に表示される経年変化画面70を示す図である。図18および図19は、画面表示パターンを示す図である。ここで、図19は、図18とは異なる例を示している。前述のステップS10の後に、エンジニアリングツール6Bの波形表示制御部61は、マイクロプロセッサ1からの測定結果測定値トレースデータ16、クロック信号、エラーログと選択診断プログラムたとえばプロセス入出力回路リード診断プログラムを表す情報とを受け取り、選択診断プログラムに対応付けて異常原因データベース64に測定結果を格納する。また、波形表示制御部61は、選択診断プログラムの実行結果として、トレース画面50を表示装置40に表示するステップS11。この場合、波形表示制御部61は、測定結果に含まれるクロック信号プロセッサクロック信号12、トレース用クロック信号13を表す波形と、測定結果に含まれる測定値トレースデータ16回路アドレス信号C41、回路イネーブル信号C42、リード信号C43、および、監視データC44などを表す波形と、異常原因データベース64に格納された期待値トレースデータ54回路アドレス信号D41、回路イネーブル信号D42、リード信号D43、および、監視データD44などを表す波形と、をトレース画面50の波形表示欄50Aに表示する。波形表示制御部61がトレース画面50を表示装置40に表示したとき、エンジニアリングツール6Bの異常検出部62は、測定値トレースデータ16と期待値トレースデータ52とを比較し、比較結果を生成するステップS12。ここで、エンジニアリングツール6Bの異常表示制御部63は、異常検出部62による比較結果が測定値トレースデータ16と期待値トレースデータ52との不一致を表す場合、以下に示す処理異常判定処理、および、異常原因特定処理により、第1表示レベル情報56Aおよび第2表示レベル情報56Bをトレース画面50上に表示するステップS12-YES、S13。異常判定処理、および、異常原因特定処理について、図15を例にして説明する。図4に示された内容と重複するものについては、その説明を省略する。異常判定処理ここで、異常検出部62が第3表示レベル情報58C監視データ値異常を選択した場合、異常原因データベース64に格納された因果関係情報58△△△の第2表示レベル情報58Bが表す回路アドレス信号値異常、または、第1表示レベル情報58Aが表す経年変化による異常が異常原因である。この場合、異常検出部62は、以下に示す第11の異常原因特定処理を実施する。第11の異常原因特定処理第11の異常原因特定処理において、回路アドレス信号C41のアドレス値と回路アドレス信号D41のアドレス値とが一致していない場合、異常検出部62は、第2表示レベル情報58B回路アドレス信号値異常と第1表示レベル情報58A回路アドレス信号異常とを選択している。このとき、異常検出部62は、さらに、経年変化による異常と特定し、第1表示レベル情報58Aが表す経年変化による異常を選択する。この場合、異常表示制御部63は、測定値トレースデータ16と期待値トレースデータ54との差異回路アドレス信号C41のアドレス値と回路アドレス信号D41のアドレス値との差異として、第2表示レベル情報58B回路アドレス信号値異常をトレース画面50上の上記差異に対応する位置に表示し、第1表示レベル情報58A回路アドレス信号異常を文字にしてトレース画面50の異常原因表示欄50Bに表示する。エンジニアリングツール6Bの波形表示制御部61は、異常検出部62が第1表示レベル情報58A経年変化による異常を選択し、選択診断プログラムに対応付けて異常原因データベース64に格納された測定結果が2つ以上存在する場合に、図17に示されるような経年変化画面70を表示装置40に表示するステップS41-YES、S42。この経年変化画面70は、経年波形表示欄70Aと経年異常原因表示欄70Bとを含んでいる。経年波形表示欄70Aは経年変化画面70の中央部分に設けられ、経年異常原因表示欄70Bは、経年変化画面70の経年波形表示欄70A以外の部分、たとえば経年波形表示欄70Aの下方部分に設けられている。この場合、波形表示制御部61は、選択診断プログラムプロセス入出力回路リード診断プログラムに対応付けて経年変化データベース65に格納された測定結果に含まれる、起動時および一定時間毎の測定値トレースデータ16回路アドレス信号C41、回路イネーブル信号C42、リード信号C43、および、監視データC44などと、選択診断プログラムに対応付けて異常原因データベース64に格納された起動時および一定時間毎の期待値トレースデータ54回路アドレス信号C41、回路イネーブル信号C42、リード信号C43、および、監視データC44などと、を経年変化画面70の経年波形表示欄70Aに表示する。図17においては、監視データC44温度を例にしている。ステップS42において、波形表示制御部61は、図18に示されるように、トレース画面50と経年変化画面70との両方の画面を表示装置40に表示してもよい。または、図19に示されるように、利用者の切り替え操作に応じてトレース画面50と経年変化画面70との一方の画面を選択的に表示装置40に表示してもよい。波形表示制御部61が経年変化画面70を表示装置40に表示したとき、エンジニアリングツール6Bの異常検出部62は、選択診断プログラムに対応付けて経年変化データベース65に順次格納された起動時および一定時間毎の測定値トレースデータ16と、選択診断プログラムに対応付けて異常原因データベース64に格納された起動時および一定時間毎の期待値トレースデータ54とを比較し、比較結果を生成するステップS43。ここで、エンジニアリングツール6Bの異常表示制御部63は、異常検出部62による比較結果が上記測定値トレースデータ16と上記期待値トレースデータ52との不一致を表す場合、以下に示す処理経年異常原因特定処理により、第1経年変化表示レベル情報58Dおよび第2経年変化表示レベル情報58Eを経年変化画面70上に表示するステップS43-YES、S44。経年異常原因特定処理について、図15を例にして説明する。次に、異常検出部62が第3表示レベル情報58C監視データ値異常を選択した場合、異常原因データベース64に格納された因果関係情報58△△△の第2経年変化表示レベル情報58Eが表す回路アドレス信号値異常、または、第1経年変化表示レベル情報58Dが表す経年変化による異常が異常原因である。この場合、異常検出部62は、前述の第11の経年異常原因特定処理を実施した上で、以下に示す第1~第3の経年異常原因特定処理を実施する。第1の経年異常原因特定処理異常検出部62は、測定値トレースデータ16の監視データC44温度センサ入力値と期待値トレースデータ54の監視データD44温度センサ入力値とを比較することにより、上記第2経年変化表示レベル情報58Eが表す温度センサ入力値異常が発生しているか否かを特定する。ここで、監視データC44の温度センサ入力値と監視データD44の温度センサ入力値とが一致しない場合、異常検出部62は、監視データC44の温度センサ入力値の異常と特定し、第2経年変化表示レベル情報58E温度センサ入力値異常を選択する。さらに、異常検出部62は、第2経年変化表示レベル情報58E温度センサ入力値の上位段階を表す第1経年変化表示レベル情報58D温度センサ劣化可能性ありを選択する。異常表示制御部63は、測定値トレースデータ16と期待値トレースデータ54との差異この場合、監視データC44の温度センサ入力値と監視データD44の温度センサ入力値との差異として、第2経年変化表示レベル情報58E温度センサ入力値を経年変化画面70上の上記差異に対応する位置に表示する。この場合、経年変化画面70上の第2経年変化表示レベル情報58E温度センサ入力値は、斜線や、他の色とは異なる色で表示される図17参照。さらに、異常表示制御部63は、第1経年変化表示レベル情報58D温度センサ劣化可能性ありを文字にして経年変化画面70の経年異常原因表示欄70Bに表示する図17参照。第2の経年異常原因特定処理異常検出部62は、測定値トレースデータ16の監視データC44開度センサ入力値と期待値トレースデータ54の監視データD44開度センサ入力値とを比較することにより、上記第2経年変化表示レベル情報58Eが表す開度センサ入力値異常が発生しているか否かを特定する。ここで、監視データC44の開度センサ入力値と監視データD44の開度センサ入力値とが一致しない場合、異常検出部62は、監視データC44の開度センサ入力値の異常と特定し、第2経年変化表示レベル情報58E開度センサ入力値異常を選択する。さらに、異常検出部62は、第2経年変化表示レベル情報58E開度センサ入力値の上位段階を表す第1経年変化表示レベル情報58D開度センサ劣化可能性ありを選択する。異常表示制御部63は、測定値トレースデータ16と期待値トレースデータ54との差異この場合、監視データC44の開度センサ入力値と監視データD44の開度センサ入力値との差異として、第2経年変化表示レベル情報58E開度センサ入力値を経年変化画面70上の上記差異に対応する位置に表示する。この場合、経年変化画面70上の第2経年変化表示レベル情報58E開度センサ入力値は、斜線や、他の色とは異なる色で表示される。さらに、異常表示制御部63は、第1経年変化表示レベル情報58D開度センサ劣化可能性ありを文字にして経年変化画面70の経年異常原因表示欄70Bに表示する。第3の経年異常原因特定処理異常検出部62は、測定値トレースデータ16の監視データC44圧力センサ入力値と期待値トレースデータ54の監視データD44圧力センサ入力値とを比較することにより、上記第2経年変化表示レベル情報58Eが表す圧力センサ入力値異常が発生しているか否かを特定する。ここで、監視データC44の圧力センサ入力値と監視データD44の圧力センサ入力値とが一致しない場合、異常検出部62は、監視データC44の圧力センサ入力値の異常と特定し、第2経年変化表示レベル情報58E圧力センサ入力値異常を選択する。さらに、異常検出部62は、第2経年変化表示レベル情報58E圧力センサ入力値の上位段階を表す第1経年変化表示レベル情報58D圧力センサ劣化可能性ありを選択する。異常表示制御部63は、測定値トレースデータ16と期待値トレースデータ54との差異この場合、監視データC44の圧力センサ入力値と監視データD44の圧力センサ入力値との差異として、第2経年変化表示レベル情報58E圧力センサ入力値を経年変化画面70上の上記差異に対応する位置に表示する。この場合、経年変化画面70上の第2経年変化表示レベル情報58E圧力センサ入力値は、斜線や、他の色とは異なる色で表示される。さらに、異常表示制御部63は、第1経年変化表示レベル情報58D圧力センサ劣化可能性ありを文字にして経年変化画面70の経年異常原因表示欄70Bに表示する。本実施形態では、エンジニアリングツール6Bの異常原因データベース64に期待値トレースデータ54と因果関係情報58△△△とをプロセス入出力回路リード診断プログラムを表す情報に対応付けて予めに格納しておき、測定結果測定値トレースデータ16、クロック信号およびエラーログを起動時および一定時間毎に順次格納するための経年変化データベース65をエンジニアリングツール6Bに用意しておく。プログラマブルコントローラユニット6Aでは、マイクロプロセッサ1がプロセス入出力回路リード診断プログラムを実行したときに、測定結果がエンジニアリングツール6Bに送信され、経年変化データベース65に格納される。エンジニアリングツール6Bは、経年変化データベース65に格納された測定結果に含まれる、起動時および一定時間毎の測定値トレースデータ16と、異常原因データベース64に格納された起動時および一定時間毎の期待値トレースデータ54とを経年変化画面70により作業員に提示する。このように、本実施形態によれば、作業員は観測ツールなどの接続を必要とせずに遠隔地で経年変化の確認を行うことができる。また、本実施形態では、エンジニアリングツール6Bは、経年変化データベース65に格納された測定結果に含まれる、起動時および一定時間毎の測定値トレースデータ16と、異常原因データベース64に格納された起動時および一定時間毎の期待値トレースデータ54とが一致しないときに、異常原因データベース64に格納された因果関係情報58△△△から経年変化による故障箇所を同定し、それを表す第1経年変化表示レベル情報58Dおよび第2経年変化表示レベル情報58Eを経年変化画面70により作業員に提示する。このように、本実施形態によれば、作業員は観測ツールなどの接続を必要とせずに遠隔地で経年変化による故障の解析を行うことができる。以上により、本実施形態は、観測ツールなどの接続を必要とせずに遠隔地で経年変化の確認や経年変化による故障の解析を実施することができる。[第5実施形態]第5実施形態に係るプログラマブルコントローラシステムでは、第4実施形態に対して、エンジニアリングツール6Bがマイクロプロセッサ1と通信できないときに、エンジニアリングツール6BがJTAGJointTestActionGroupを利用してプログラマブルコントローラユニット6Aから測定結果を取得することが異なる。図20は、第5実施形態に係るプログラマブルコントローラシステムの構成を示すブロック図である。第5実施形態に係るプログラマブルコントローラシステムは、さらに、予備プログラマブルコントローラユニット106Aと、JTAG接続ツール25と、JTAG用アダプタ24と、を具備している。予備プログラマブルコントローラユニット106Aは、プログラマブルコントローラユニット6Aと同じ構成である。プログラマブルコントローラユニット6Aがプラント機器100を監視することが困難であるときに、予備プログラマブルコントローラユニット106Aがプログラマブルコントローラユニット6Aに代わってプラント機器100を監視する。JTAG接続ツール25は、エンジニアリングツール6Bと共にコンピュータ26に設けられ、エンジニアリングツール6Bに接続されている。JTAG用アダプタ24は、JTAG接続ツール25に接続される。プログラマブルコントローラユニット6Aのマイクロプロセッサ1は、OSOperatingSystem上で動作する。マイクロプロセッサ1およびアクセス制御部2は、JTAG用アダプタ24に接続されるJTAGポート41を有している。第5実施形態に係るプログラマブルコントローラシステムでは、エンジニアリングツール6Bは、さらに、要求部66を具備している。図21および図22は、第5実施形態に係るプログラマブルコントローラシステムの動作を示すフローチャートである。ここで、図22は、図21とは異なる例を示している。たとえばエンジニアリングツール6BがOSの異常によりマイクロプロセッサ1と通信ができないときに、図21に示されるように、予備プログラマブルコントローラユニット106Aとプラント機器100とを接続し、プログラマブルコントローラユニット6Aとプラント機器100との接続を解除することにより、プラント機器100の監視をプログラマブルコントローラユニット6Aから予備プログラマブルコントローラユニット106Aに切り替える。同時に、プログラマブルコントローラユニット6Aのマイクロプロセッサ1のJTAGポート41にJTAG用アダプタ24が接続されるステップS51。エンジニアリングツール6Bの要求部66は、測定結果を要求するためのデータ要求をJTAG接続ツール25、JTAG用アダプタ24およびJTAGポート41を介してプログラマブルコントローラユニット6Aのマイクロプロセッサ1に送信するステップS52。プログラマブルコントローラユニット6Aのマイクロプロセッサ1は、データ要求に応じて、アクセス制御部2のトレースデータ格納メモリ20に格納された測定結果を読み取り、その測定結果をJTAGポート41、JTAG用アダプタ24およびJTAG接続ツール25を介してエンジニアリングツール6Bに送信する。具体的には、マイクロプロセッサ1は、データ要求をアクセス制御部2に転送しステップS53、アクセス制御部2のアクセス制御回路9は、データ要求に応じて、トレースデータ格納メモリ20に格納された測定結果をマイクロプロセッサ1に出力するステップS54、マイクロプロセッサ1は、その測定結果をJTAGポート41、JTAG用アダプタ24およびJTAG接続ツール25を介してエンジニアリングツール6Bに送信転送するステップS55。一方、エンジニアリングツール6BがOSの異常以外によりマイクロプロセッサ1と通信ができないときに、図22に示されるように、プラント機器100の監視をプログラマブルコントローラユニット6Aから予備プログラマブルコントローラユニット106Aに切り替える。同時に、プログラマブルコントローラユニット6Aのアクセス制御部2のJTAGポート41にJTAG用アダプタ24が接続されるステップS61。エンジニアリングツール6Bの要求部66は、測定結果を要求するためのデータ要求をJTAG接続ツール25、JTAG用アダプタ24およびJTAGポート41を介してプログラマブルコントローラユニット6Aのアクセス制御部2に送信するステップS62。プログラマブルコントローラユニット6Aのアクセス制御部2は、データ要求に応じて、アクセス制御部2のトレースデータ格納メモリ20に格納された測定結果をJTAGポート41、JTAG用アダプタ24およびJTAG接続ツール25を介してエンジニアリングツール6Bに送信するステップS63。本実施形態では、エンジニアリングツール6Bがマイクロプロセッサ1と通信できないときに、エンジニアリングツール6BがJTAGを利用してプログラマブルコントローラユニット6Aから測定結果測定値トレースデータ16、クロック信号、エラーログを取得することができる。このため、本実施形態によれば、エンジニアリングツール6Bがマイクロプロセッサ1と通信できない原因や、エンジニアリングツール6Bがマイクロプロセッサ1と通信できなくなるときの状況などを測定結果から追究することができる。[第6実施形態]第6実施形態に係るプログラマブルコントローラシステムでは、第4実施形態に対して、エンジニアリングツール6Bがマイクロプロセッサ1と通信できなくても、着脱可能な不揮発性メモリモジュールを用いてプログラマブルコントローラユニット6Aから測定結果を取得することが異なる。図23は、第6実施形態に係るプログラマブルコントローラシステムの構成を示すブロック図である。第6実施形態に係るプログラマブルコントローラシステムは、さらに、予備プログラマブルコントローラユニット106Aと、不揮発性メモリモジュール27とを具備している。予備プログラマブルコントローラユニット106Aについては第5実施形態と同様である。不揮発性メモリモジュール27は、プログラマブルコントローラユニット6Aに着脱可能である。不揮発性メモリモジュール27としては、フラッシュメモリが例示される。この場合、アクセス制御部2のトレース制御回路30は、マイクロプロセッサ1が診断プログラムを実行したときに前述の測定結果測定値トレースデータ16、クロック信号、エラーログをトレースデータ格納メモリ20と不揮発性メモリモジュール27とに格納する。具体的には、前述のステップS7において、アクセス制御部2のリードライト制御回路22は、設定レジスタ10に設定されたトレース許可信号19A有効と、トリガ信号17エラー検出信号23Aとに応じて、PLL回路14からのトレース用クロック信号13に同期したトレースライト信号19Cを設定時間だけトレースデータ格納メモリ20および不揮発性メモリモジュール27に出力する。トレースデータ格納メモリ20は、リードライト制御回路22からのトレースライト信号19Cに応じて、測定結果測定値トレースデータ16、クロック信号、エラーログを自身のメモリ領域に格納する。不揮発性メモリモジュール27は、リードライト制御回路22からのトレースライト信号19Cに応じて、測定結果測定値トレースデータ16、クロック信号、エラーログを自身のメモリ領域に格納する。本実施形態では、エンジニアリングツール6Bがマイクロプロセッサ1と通信できないときに、着脱可能な不揮発性メモリモジュール27を用いてプログラマブルコントローラユニット6Aから測定結果測定値トレースデータ16、クロック信号、エラーログを取得することができる。このため、本実施形態によれば、エンジニアリングツール6Bがマイクロプロセッサ1と通信できない原因や、エンジニアリングツール6Bがマイクロプロセッサ1と通信できなくなるときの状況などを測定結果から追究することができる。[他の実施形態]以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、また各実施形態の特徴を組み合わせることができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。