JP2006301784A - プログラマブルロジックコントローラ - Google Patents

プログラマブルロジックコントローラ Download PDF

Info

Publication number
JP2006301784A
JP2006301784A JP2005119868A JP2005119868A JP2006301784A JP 2006301784 A JP2006301784 A JP 2006301784A JP 2005119868 A JP2005119868 A JP 2005119868A JP 2005119868 A JP2005119868 A JP 2005119868A JP 2006301784 A JP2006301784 A JP 2006301784A
Authority
JP
Japan
Prior art keywords
unit
error
transmission data
identification number
transmission
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
JP2005119868A
Other languages
English (en)
Other versions
JP4455393B2 (ja
Inventor
Takayuki Tsuzuki
貴之 都築
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2005119868A priority Critical patent/JP4455393B2/ja
Publication of JP2006301784A publication Critical patent/JP2006301784A/ja
Application granted granted Critical
Publication of JP4455393B2 publication Critical patent/JP4455393B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

【課題】シリアルバス上の伝送エラーを簡易な構成で正確に検出して記録することが可能なプログラマブルロジックコントローラを得ること。
【解決手段】シリアルバス200およびパラレルバス300で接続されたCPUユニット1とインテリジェント機能ユニット100との間のシリアルバス200上のエラーを検出するプログラマブルロジックコントローラにおいて、インテリジェント機能ユニット100は、CPUユニット1からシリアルバス200を介して受信したデータをCRC機能によってエラー検出し、CPUユニット1はインテリジェント機能ユニット100がエラー検出すると、インテリジェント機能ユニット100が受信したデータとCPUユニット1がインテリジェント機能ユニット100に送信したデータを対応付けて記憶する。
【選択図】 図1

Description

本発明は、シリアルバスで発生したエラーを検出するプログラマブルロジックコントローラに関するものである。
近年、ホスト側の装置と端末装置をシリアルバスなどで接続し、ホスト側の装置によって遠隔から端末装置を管理するシステムが普及している。このようなシステムにおいては、ホスト側の装置が端末装置の異常やシリアルバスの異常を検出することが望まれる。
従来の端末制御方式は、主通信パスに接続されるメイン回路と、メイン回路のメインデータバスに接続され当該端末装置の異常情報を表示する操作パネルと、メイン回路とは独立して動作する監視回路とを有し、監視回路は、メイン回路のメインデータバスに接続され操作パネルに表示される異常情報を取り込んで格納するための異常情報監視レジスタと、異常情報監視レジスタに格納された異常情報を補助通信バスによってホストに伝送するためのシリアルパラレル変換部と、異常情報監視レジスタ及びシリアルパラレル変換部を制御するプロセッサとを有して構成している。(例えば、特許文献1参照)
特開平4−344962号公報
上記従来の技術によれば、端末装置のメイン回路に異常が発生した場合に、ホスト側において端末装置の異常を検出することはできる。しかしながら、主通信バスそのものの異常を検出することはできるが、バス内で発生する伝送エラー検出やエラー解析のための仕組みがなく、バス内で発生するエラー解析に対応できないという問題があった。
また、CPUユニットとインテリジェント機能ユニット間をシリアルバスで接続する場合、シリアルバスで発生する伝送エラーを解析するためには、シリアルバスにデジタルオシロスコープやプロトコルアナライザーのプローブなどを物理的に接続し、伝送エラーの解析作業を行なう必要があった。しかしながら、シリアルバスの転送レートが数Gbpsを越える場合、計測機のプローブなどを接続したことによる容量増加やインピーダンスの不整合によって波形に大きな影響を与える。このため、プローブなどを接続することによってエラーの検出がしにくくなったり、実機で発生しているエラーとは異なるエラーが発生する場合があり、伝送エラーの解析作業が困難で不確実になるという問題があった。
また、プローブなどを接続したことによる容量増加やインピーダンスの不整合によって波形に大きな影響を与えるため、実機において実際に発生しているビット化け(送信データと受信データの相違)の内容やエラーの発生頻度を正確に把握することが困難になるという問題があった。
本発明は、上記に鑑みてなされたものであって、実機で発生しているシリアルバス上の伝送エラーの内容を、簡易な構成で正確に検出して記録することが可能なプログラマブルロジックコントローラを得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、シリアルバスおよびパラレルバスで接続された第1のユニットおよび第2のユニットを備え、前記第1のユニットと第2のユニットとの間のシリアルバス上のエラーを検出するプログラマブルロジックコントローラにおいて、前記第1のユニットは、前記第2のユニットに送信する第1の送信データを記憶しておく第1の送信データ記憶部と、前記第1の送信データ毎のCRCコードを送信側CRCコードとして生成する第1の送信側CRCコード生成部と、を備え、前記第2のユニットは、前記第1のユニットから受信した第1の送信データのCRCコードを受信側CRCコードとして生成する第1の受信側CRCコード生成部と、前記受信側CRCコードと前記送信側CRCコードを比較して前記第1のユニットと第2のユニットとの間のシリアルバス上のエラーを検出する第1のCRC比較部と、前記第1のCRC比較部によってシリアルバス上のエラーが検出された送信側CRCコードに対応する第1の送信データを格納する第1のエラーデータ格納部と、前記第1のCRC比較部がシリアルバス上のエラーを検出した際に、前記第1のユニットにエラー通知を行う第1のエラー通知部と、を備え、前記第1のユニットは前記第1の送信データおよび前記送信側CRCコードを前記シリアルバスを介して前記第2のユニットに送信するとともに、前記第2のユニットは前記エラー通知を前記パラレルバスを介して前記第1のユニットに送信し、前記第1のユニットは、前記第2のユニットから前記エラー通知を受けると前記パラレルバスを介して前記第1のエラーデータ格納部が格納する第1の送信データを読み出して、該読み出した第1の送信データと前記読み出した第1の送信データに対応する前記第1の送信データ記憶部内の第1の送信データとを対応付けて記憶することを特徴とする。
この発明によれば、実機で発生しているシリアルバス上の伝送エラーの内容を簡易な構成で正確に検出して記録することが可能になるという効果を奏する。
以下に、本発明にかかるプログラマブルロジックコントローラの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。また、本実施の形態では、データの送信側をCPU(Central Processing Unit)ユニット、データの受信側をインテリジェント機能ユニットとして説明するが、データの送信側がインテリジェント機能ユニットで、データの受信側がCPUユニットの場合であっても同様の処理を行なうことが可能である。
実施の形態
図1は、本発明にかかるプログラマブルロジックコントローラのCPUユニットとインテリジェント機能ユニット間のシステム構成を示す図である。図1において、CPUユニット1とインテリジェント機能ユニット100は、シリアルバス200とパラレルバス300を介して相互にデータ通信を行なう。
CPUユニット1は、マイクロプロセッサ(以下、MPU10という)、シリアルバス回路60、パラレルバス回路80、シリアルバス用のコネクタ50、パラレルバス用のコネクタ81、エラーフレーム格納メモリ90、デュアルポートメモリ82を備えている。
コネクタ50は、インテリジェント機能ユニット100とシリアルバス200によって接続し、インテリジェント機能ユニット100とデータの通信を行う。コネクタ81は、インテリジェント機能ユニット100とパラレルバス300によって接続し、インテリジェント機能ユニット100とデータの通信を行う。コネクタ81へは、インテリジェント機能ユニット100から出力されたCRCコードエラー割り込みなどが入力される。
パラレルバス回路80は、シリアルバス200においてエラーが発生した場合に、インテリジェント機能ユニット100に対しエラー割り込み(CRCコードエラー割り込み)を発生させる。
デュアルポートメモリ82は、MPU10とパラレルバス300の両方から読み出しと書き込みが可能なメモリである。デュアルポートメモリ82は、エラー発生時の基本フレームと、エラー発生直前のフレーム番号を格納する。
エラーフレーム格納メモリ90は、MPU10から読み出しと書き込みが可能なメモリである。エラーフレーム格納メモリ90は、エラー発生時の基本フレーム(CPUユニット1が送信した基本フレームとインテリジェント機能ユニット100が受信した基本フレーム)と、エラー発生直前のフレーム番号を格納する。
シリアルバス回路60は、実行ユニット20、送信バッファ30、パラレルシリアル変換回路31,41、符号化回路32、差動送信バッファ(差動ドライバ)33、CRCコード生成回路35,45、受信バッファ40、復号化回路42、差動受信バッファ(差動受信レシーバ)43を備えている。
実行ユニット20は、CRC(Cyclic Redundancy Check character)コードによってエラー検出を行なうユニットであり、受信バッファ40に格納されたコマンドをデコードするデコード回路21、CRCコード生成回路45が生成したCRCコードと受信バッファ40に格納されたCRCコードを比較するCRC比較回路22、CRCコードの比較対象となっているフレームを格納するフレームレジスタ23、及び、CRCコード比較によって正常な受信が確認されたフレーム番号を格納するフレーム番号レジスタ24を備えている。
送信バッファ30へは、インテリジェント機能ユニット100への基本フレームが実行ユニット20によって書き込まれる。送信バッファ30は、シリアルバス200に送信するデータを蓄積する。送信バッファ30は、FIFO(Fast In Fast Out)機能を有しており、実行ユニット20によって書き込まれた基本フレーム201を、書込みが古い順にパラレルデータとして出力する。
パラレルシリアル変換回路31は、送信バッファ30から出力されるパラレルデータをシリアルデータに変換する。CRCコード生成回路35は、パラレルシリアル変換回路31がパラレルデータをシリアルデータに変換する際に、送信側のCRCコード(送信側CRCコード)を生成し基本フレームに付加する。
符号化回路32は、CRCコード生成回路35によってCRCコードが付加されたシリアルデータを符号化(エンコーディング)する。差動送信バッファ33は、符号化回路32によって符号化されたデータを差動式の電気信号に変換する。
差動受信バッファ43は、差動式の電気信号をシングルエンドのデータに戻す。復号化回路42は、符号化されたシリアルデータを復号化する。パラレルシリアル変換回路41は、復号化回路42から出力されるシリアルデータをパラレルデータに変換する。CRCコード生成回路45は、パラレルシリアル変換回路41がシリアルデータをパラレルデータに変換する際に、受信側のCRCコード(受信側CRCコード)を生成し基本フレームに付加する。
受信バッファ40は、インテリジェント機能ユニット100から受信したフレーム(後述するCRC付き基本フレーム202)と、CRCコード生成回路45で生成する受信側CRCコードを格納する。受信バッファ40は、FIFO機能を有しており、格納したデータを書込まれた順番が古い順に出力する。リトライバッファ36は、シリアルバス200に再送信するためのデータを蓄積する。
MPU10は、CPUユニット1を制御する。MPU10は、シリアルバスとパラレルバスの両方にアクセス可能であり、フレームレジスタ23、フレーム番号レジスタ24、送信バッファ30、リトライバッファ36、受信バッファ40に対し読み出しと書き込みを行なう。ローカルバス15は、MPU10、シリアルバス回路60、パラレルバス回路80、エラーフレーム格納メモリ90を接続する。
インテリジェント機能ユニット100は、CPUユニット1と同様の機能を有している。すなわち、インテリジェント機能ユニット100のMPU100がMPU10に対応し、コネクタ150がコネクタ50に対応し、コネクタ181がコネクタ81に対応し、パラレルバス回路180がパラレルバス回路80に対応し、デュアルポートメモリ182がデュアルポートメモリ82に対応し、シリアルバス回路160がシリアルバス回路60に対応し、エラーフレーム格納メモリ190がエラーフレーム格納メモリ90に対応する。
また、実行ユニット120が実行ユニット20に対応し、送信バッファ130が送信バッファ30に対応し、パラレルシリアル変換回路131,141がパラレルシリアル変換回路31,41に対応し、符号化回路132が符号化回路32に対応し、差動送信バッファ133が差動送信バッファ33に対応し、CRCコード生成回路135,145がCRCコード生成回路35,45に対応し、受信バッファ140が受信バッファ40に対応し、復号化回路42が復号化回路42に対応し、差動受信バッファ143が差動受信バッファ43に対応する。
また、デコード回路121がデコード回路21に対応し、CRC比較回路122がCRC比較回路22に対応し、フレームレジスタ123がフレームレジスタ23に対応し、フレーム番号レジスタ124がフレーム番号レジスタ24に対応する。なお、CPUユニット1とインテリジェント機能ユニット100は、シリアルバス200とパラレルバス300の何れを使用してもデータ通信が可能な構成となっている。
なお、ここでのCPUユニット1、インテリジェント機能ユニット100が、特許請求の範囲に記載の第1のユニットまたは第2のユニットのいずれか一方に対応する。すなわち、CPUユニット1が第1のユニットに対応する場合はインテリジェント機能ユニット100が第2のユニットに対応し、CPUユニット1が第2のユニットに対応する場合はインテリジェント機能ユニット100が第1のユニットに対応する。
CPUユニット1が第1のユニットに対応しインテリジェント機能ユニット100が第2のユニットに対応する場合、リトライバッファ36,136がそれぞれ第1の送信データ記憶部,第2の送信データ記憶部に対応し、CRCコード生成回路35,135がそれぞれ第1の送信側CRCコード生成部、第2の送信側CRCコード生成部に対応する。そして、CRCコード生成回路145,45がそれぞれ第1の受信側CRCコード生成部、第2の受信側CRCコード生成部に対応し、CRC比較回路122,22がそれぞれ第1のCRC比較部,第2のCRC比較部に対応し、デュアルポートメモリ182,82がそれぞれ第1のエラーデータ格納部および第1のエラー識別番号記憶部、第2のエラーデータ格納部および第2のエラー識別番号記憶部に対応し、パラレルバス回路180,80がそれぞれ第1のエラー通知部、第2のエラー通知部に対応する。さらに、フレームレジスタ番号レジスタ24,124が第1の識別番号付加部および第1の送信側識別番号記憶部、第2の識別番号付加部および第2の送信側識別番号記憶部に対応する。
一方、CPUユニット1が第2のユニットに対応しインテリジェント機能ユニット100が第1のユニットに対応する場合、リトライバッファ36,136がそれぞれ第2の送信データ記憶部,第1の送信データ記憶部に対応し、CRCコード生成回路35,135がそれぞれ第2の送信側CRCコード生成部、第1の送信側CRCコード生成部に対応する。そして、CRCコード生成回路145,45がそれぞれ第2の受信側CRCコード生成部、第1の受信側CRCコード生成部に対応し、CRC比較回路122,22がそれぞれ第2のCRC比較部,第1のCRC比較部に対応し、デュアルポートメモリ182,82がそれぞれ第2のエラーデータ格納部および第2のエラー識別番号記憶部、第1のエラーデータ格納部および第1のエラー識別番号記憶部に対応し、パラレルバス回路180,80がそれぞれ第2のエラー通知部、第1のエラー通知部に対応する。さらに、フレームレジスタ番号レジスタ24,124が第2の識別番号付加部および第2の送信側識別番号記憶部、第1の識別番号付加部および第1の送信側識別番号記憶部に対応する。
ここで、CPUユニット1とインテリジェント機能ユニット100の接続について説明する。図1においては、CPUユニット1とインテリジェント機能ユニット100をシリアルバス200、パラレルバス300によって接続する場合について説明したが、CPUユニット1とインテリジェント機能ユニット100の接続はこの接続に限られるものではない。
図2は、ベース上にシリアルバスとパラレルバスを敷設した場合のシステム構成を示す図であり、図3は、ベース上にパラレルバスを敷設し、CPUユニットとインテリジェント機能ユニットをケーブルで接続した場合のシステム構成を示す図である。
図2および図3に示すように、ベース501,502は、電源ユニット510、CPUユニット1、インテリジェント機能ユニット100、IOユニット520を含んで構成されている。また、ベース501はパラレルバス300とシリアルバス200を備え、ベース502はパラレルバス300とケーブル201(シリアルバス)を備えている。
図2に示すように、CPUユニット1とインテリジェント機能ユニット100をベース501上のパラレルバス300とシリアルバス200を介して接続してもよいし、図3に示すように、CPUユニット1とインテリジェント機能ユニット100をベース502上のパラレルバス300とケーブル(シリアルバス)201を介して接続してもよい。
なお、プログラマブルロジックコントローラが1つのCPUユニット1と1つのインテリジェント機能ユニット100を備える場合に限られず、図2,3に示すようにプログラマブルロジックコントローラが複数のCPUユニット1を備える構成としてもよい。
次に、CPUユニット1とインテリジェント機能ユニット100の動作処理手順について説明する。まず、通常動作時(エラー不発生時)の動作について説明する。CPUユニット1内のMPU10は、シリアルバス200に接続されたインテリジェント機能ユニット100の内部のリソースにアクセスし、インテリジェント機能ユニット100が備えるメモリマップ上のシリアルバス領域のエリアを読み書きする。
図4は、メモリマップの構成の一例を示す図である。同図に示すように、メモリマップ400において、所定の領域にシリアルバス領域401が配置されている。MPU10は、このシリアルバス領域401内のデータを読み書き(リード/ライト)する。例えば、MPU10がシリアルバス領域401をリードする場合の動作について説明する。
実行ユニット20は、MPU10がローカルバス15にストローブしたコマンド(リードコマンド)、アドレスの情報(インテリジェント機能ユニット100内のメモリなどのアドレス)に、実行ユニット20で生成したフレーム番号を付加し、所定のデータとともに送信バッファ30とリトライバッファ36に書き込みを行う。ここでの実行ユニット20は、フレーム番号レジスタ24に基づいてフレーム番号を生成する。すなわち、実行ユニット20が生成するフレーム番号は、その前(直前)にフレーム番号レジスタ24が生成したフレーム番号に1を加えた番号をフレーム番号として生成し書き込みを行なう。このフレーム番号、コマンド、アドレス、データからなるデータが基本フレーム(後述する基本フレーム201)となる。
送信バッファ30は、実行ユニット20によって書き込まれた基本フレーム201を、書込みが古い順にパラレルデータとして出力する。送信バッファ30から出力されたパラレルデータは、パラレルシリアル変換回路31によってシリアルデータに変換される。その際、CRCコード生成回路135が基本フレーム201から送信側CRCコードを生成し、基本フレーム201の例えば一番後ろに付加する。この、基本フレーム201に送信側CRCコードを付加したフレームがCRC付き基本フレーム202となる。
ここで、基本フレーム201、CRC付き基本フレーム202のデータ構成を説明する。図5は、基本フレームおよびCRC付き基本フレーム202の構成を示す図である。基本フレーム201は、フレーム番号レジスタ24に基づいて生成されたフレーム番号、MPU10がローカルバス15にストローブしたコマンド、インテリジェント機能ユニット100内のアドレス、インテリジェント機能ユニット100に送るデータを含んで構成されている。また、CRC付き基本フレーム202は、基本フレーム201と送信側CRCコードを含んで構成されている。
CRC付き基本フレーム202は、「1」や「0」が決められた所定の回数以上に連続しないよう、符号化回路32によってエンコーディングされ、差動送信バッファ33から出力される。差動送信バッファ33から出力されたCRC付き基本フレーム202は、コネクタ50、シリアルバス200を介してインテリジェント機能ユニット100に送られる。
CPUユニット1からのCRC付き基本フレーム202は、インテリジェント機能ユニット100のコネクタ150を介して差動受信バッファ143に入力される。このCRC付き基本フレーム202は、復号化回路142とシリアルパラレル変換回路141によってパラレルデータに戻される。その際に、CRCコード生成回路145が改めて基本フレーム201からCRCコード(受信側CRCコード)を生成する。
受信バッファ140には、CRC付き基本フレーム202と受信側CRCコードが格納される。受信バッファ140はFIFOメモリになっているので、格納したデータ(CRC付き基本フレーム202と受信側CRCコード)を古い順にパラレルデータとして出力する。
受信バッファ140から出力されたCRC付き基本フレーム202内の送信側CRCコードと、CRCコード生成回路145が生成した受信側CRCコードは、実行ユニット120のCRC比較回路122で比較される。
CRC比較回路122において、送信側CRCコードと受信側CRCコードが同一である(相違なし)と判断されると、CPUユニット1からのデータを正常に受信できたものと判断し、基本フレーム201内のフレーム番号をフレーム番号レジスタ124に書き込む。
さらに、CRC付き基本フレーム202がデコード回路121でデコードされ、CRC付き基本フレーム202内のコマンドに従った処理が実行される。例えば、コマンドがメモリリードコマンドであれば、CRC付き基本フレーム202内のアドレス(シリアルバス領域401のアドレス)のメモリ(図示せず)をリードし、読み出したデータを送信バッファ130に書き込む。送信バッファ130に書き込む際のフレーム番号は、CPUユニット1から要求のあったフレーム(基本フレーム201内のフレーム番号)と同じフレーム番号を使用する。
実行ユニット120は、メモリから読み出したデータ、CPUユニット1内のアドレスなどに、フレーム番号を付加し、送信バッファ130に書き込み(インテリジェント機能ユニット100側の基本フレーム201の書込み)を行う。
送信バッファ130は、インテリジェント機能ユニット100側の基本フレーム201を書込みが古い順にパラレルデータとして出力する。送信バッファ130から出力されたパラレルデータは、パラレルシリアル変換回路131によってシリアルデータに変換される。その際、CRCコード生成回路135がインテリジェント機能ユニット100側の基本フレーム201から送信側CRCコードを生成し、インテリジェント機能ユニット100側の基本フレーム201の例えば一番後ろに付加する。送信側CRCコードが付加されたインテリジェント機能ユニット100側の基本フレーム201が応答用のCRC付き基本フレーム202となる。
応答用のCRC付き基本フレーム202は、符号化回路132によってエンコーディングされ、差動送信バッファ133から出力される。差動送信バッファ133から出力された応答用のCRC付き基本フレーム202は、CPUユニット1の差動受信バッファ43に入力される。この応答用のCRC付き基本フレーム202は、要求用のCRC付き基本フレーム(CPUユニット1からインテリジェント機能ユニット100へのCRC付き基本フレーム202)と同様に、復号化回路42とシリアルパラレル変換回路41によってパラレルデータに戻される。その際に、CRCコード生成回路45が改めてインテリジェント機能ユニット100側の基本フレーム201からCRCコード(受信側CRCコード)を生成する。
受信バッファ40には、インテリジェント機能ユニット100側のCRC付き基本フレーム202と受信側CRCコードが格納される。受信バッファ40はFIFOメモリになっているので、格納したデータ(インテリジェント機能ユニット100側のCRC付き基本フレーム202と受信側CRCコード)を古い順にパラレルデータとして出力する。
実行ユニット20は、受信バッファ40から出力される応答用のCRC付き基本フレーム202内の送信側CRCコードと、受信側CRCコードを比較回路22で比較する。CRC比較回路22において、送信側CRCコードと受信側CRCコードが同一であると判断されると、インテリジェント機能ユニット100からのデータを正常に受信できたものと判断する。実行ユニット20は、リトライバッファ36に格納されている同一フレーム番号(正常に受信できたフレーム番号と同一のフレーム番号)の基本フレームデータを削除(無効化)するとともに、応答用のCRC付き基本フレーム202内のデータをMPU10に通知する。そして、MPU10が応答用のCRC付き基本フレーム202内のデータに基づいた処理を行なう。
次に、エラー発生時の動作について説明する。なお、通常動作時と同様の処理を行なう動作については説明を省略する。ここでは、インテリジェント機能ユニット100がエラーを検出した場合について説明するが、CPUユニット1がエラーを検出した場合も同様の動作を行なう。
CPUユニット1の差動送信バッファ33から出力されたCRC付き基本フレーム内の送信側CRCコードと受信側CRCコードは、通常動作時と同様に、インテリジェント機能ユニット100の実行ユニット120のCRC比較回路122で比較される。
CRC比較回路122において、送信側CRCコードと受信側CRCコードが同一でない(相違あり)と判断されると、CPUユニット1からのデータを正常に受信できなかったもの(エラー)と判断し、実行ユニット120はMPU110に対してCRCコードエラー割り込みによってエラーを通知する。
エラーの検出されたフレーム(CRC付き基本フレーム202)は、フレームレジスタ123に格納される。また、フレーム番号レジスタ124には、エラー検出前の正常に受信したフレームのフレーム番号(以下、直前正常フレーム番号という)が格納されている。
インテリジェント機能ユニット100のMPU110は、実行ユニット120からの割り込みによってCRCコードエラーの通知を受けると、フレームレジスタ123に格納されているエラー発生時の基本フレーム201と、フレーム番号レジスタ124に格納されている直前正常フレーム番号を、デュアルポートメモリ182に格納させる。
更に、デュアルポートメモリ182へ基本フレーム201、直前正常フレーム番号を格納した後に、パラレルバス回路180を使用して、CPUユニット1に対しCRCコードエラー割り込みを発生させる。このCRCコードエラー割り込みは、コネクタ181を介して出力される。出力されたCRCコードエラー割り込みは、パラレルバス300を介してCPUユニット1に送られコネクタ81から入力される。
インテリジェント機能ユニット100からCRCコードエラー割り込みの通知を受けたCPUユニット1のMPU10は、パラレルバス回路80を使用して、エラー発生時の基本フレーム201と直前正常フレーム番号を、デュアルポートメモリ182から読み出し、エラーフレーム格納メモリ90に書き込む。
また、リトライバッファ36から、エラー発生時の一つ前に受け付けたフレーム番号(直前正常フレーム)に1を足したフレーム番号(エラー発生時のフレーム番号)に対応する基本フレーム201(インテリジェント機能ユニット100においてエラーと判断された基本フレーム201)を読み出し、エラーフレーム格納メモリ90に格納する。これにより、元々送信した基本フレーム201(CPUユニット1が送信した基本フレーム201)とCRCエラーとなった基本フレーム201(インテリジェント機能ユニット100が受信した基本フレーム201)がそれぞれ対応付けされてエラーフレーム格納メモリ90に格納される。
このような、送信した基本フレーム201とCRCエラーとなった基本フレーム201をそれぞれエラーフレーム格納メモリ90に格納する処理を繰り返し実施することによって、エラーフレーム格納メモリ90には、CRCエラーが発生した基本フレーム201が複数格納される。
図6は、エラーフレーム格納メモリの構成を示す図である。図6に示すように、エラーフレーム格納メモリ90には、送信時基本フレームと受信時基本フレームが対応付けられて格納されている。ここでの送信時基本フレームがCPUユニット1から送信した基本フレーム201を示し、受信時基本フレームがインテリジェント機能ユニット100がCPUユニット1から受信した基本フレーム201に対応する。
このエラーフレーム格納メモリ90内のデータ(送信時基本フレーム、受信時基本フレーム)を解析することによって、CRCコードだけでは判別できない情報(どのビットがどのようにビット化けしているかに関する情報など)を正確に取得することが可能となる。
また、エラー発生時のフレーム番号を調査することによって、どの程度の頻度でエラーが発生しているかを正確に知ることが可能となる。これにより、実機(CPUユニット1、インテリジェント機能ユニット100)において、どういったシリアルデータのビット列を送信した場合に、何れのビットがビット化けをするかなどのビットエラーが発生する傾向を把握することが可能となる。
また、シリアルバス200による伝送レートを上げることによって、伝送レートとエラーレートの関係が分かるため、伝送レートの限界を把握することが可能となる。同様に、シリアルバス200の伝送距離を長くすることによって、伝送距離とエラーレートの関係が分かるため、伝送距離の限界を把握することが可能となる。
なお、本実施の形態においては、インテリジェント機能ユニット100のMPU110が、実行ユニット120からの割り込みによってCRCコードエラーの通知を受けた際に、フレーム番号レジスタ124に格納されている直前正常フレーム番号をデュアルポートメモリ182に格納させることとしたが、エラーの発生したCRC付き基本フレーム202を識別することが可能な情報であればデュアルポートメモリ182に格納させる情報は直前正常フレーム番号に限られない。
また、本実施の形態においては、CPUユニット1とインテリジェント機能ユニット100が同様の構成を有する場合について説明したが、一方のユニットがシリアルバス200を介してCRC付き基本フレーム202を送信し、他方のユニットがCRC付き基本フレーム202のエラーを検出し、前記一方のユニットがエラーの検出された基本フレーム201を記憶しておく構成としてもよい。
このように実施の形態によれば、実機におけるエラーレートを正確かつ定量的に把握できるため、基板(ベース501,502)のパターン配線の調整、ケーブルやコネクタなどの通信経路を含めた回路の調整を、容易かつ的確に実施することが可能となる。
また、シリアルバス200の伝送レートや伝送距離などの通信の安定度の評価を、短時間で実現することができるため、シリアルバス200の開発が容易になり、CPUユニット1、インテリジェント機能ユニット100を含んで構成されるプログラマブルロジックコントローラの早期市場投入が可能になる。また、市場で発生したエラー発生頻度が分かるため、市場(実使用)でのシリアルバス200のノイズの影響など、ユーザ使用環境がシステムに与える影響度を把握することができ、市場での生産設備の早期立ち上げやトラブル時の早期復旧が可能となる。
以上のように、本発明にかかるプログラマブルロジックコントローラは、シリアルバス上の伝送エラーの検出や記録に適している。
本発明にかかるプログラマブルロジックコントローラのCPUユニットとインテリジェント機能ユニット間のシステム構成を示す図である。 ベース上にシリアルバスとパラレルバスを敷設した場合のシステム構成を示す図である。 ベース上にパラレルバスを敷設しCPUユニットとインテリジェント機能ユニットをケーブルで接続した場合のシステム構成を示す図である。 メモリマップの構成の一例を示す図である。 基本フレームおよびCRC付き基本フレームの構成を示す図である。 エラーフレーム格納メモリの構成を示す図である。
符号の説明
1 CPUユニット
10,110 MPU
15,115 ローカルバス
20,120 実行ユニット
21,121 デコード回路
22,122 比較回路
23,123 フレームレジスタ
24,124 フレーム番号レジスタ
30,130 送信バッファ
31,41,131,141 パラレルシリアル変換回路
32,132 符号化回路
33,133 差動送信バッファ
35,45,135,145 CRCコード生成回路
36,136 リトライバッファ
40,140 受信バッファ
42,142 復号化回路
43,143 差動受信バッファ
50,81,150,181 コネクタ
60,160 シリアルバス回路
80,180 パラレルバス回路
82,182 デュアルポートメモリ
90,190 エラーフレーム格納メモリ
100 インテリジェント機能ユニット
201 基本フレーム
202 CRC付き基本フレーム
400 メモリマップ
401 シリアルバス領域
501,502 ベース
510 電源ユニット
520 I/Oユニット

Claims (4)

  1. シリアルバスおよびパラレルバスで接続された第1のユニットおよび第2のユニットを備え、前記第1のユニットと第2のユニットとの間のシリアルバス上のエラーを検出するプログラマブルロジックコントローラにおいて、
    前記第1のユニットは、
    前記第2のユニットに送信する第1の送信データを記憶しておく第1の送信データ記憶部と、
    前記第1の送信データ毎のCRCコードを送信側CRCコードとして生成する第1の送信側CRCコード生成部と、
    を備え、
    前記第2のユニットは、
    前記第1のユニットから受信した第1の送信データのCRCコードを受信側CRCコードとして生成する第1の受信側CRCコード生成部と、
    前記受信側CRCコードと前記送信側CRCコードを比較して前記第1のユニットと第2のユニットとの間のシリアルバス上のエラーを検出する第1のCRC比較部と、
    前記第1のCRC比較部によってシリアルバス上のエラーが検出された送信側CRCコードに対応する第1の送信データを格納する第1のエラーデータ格納部と、
    前記第1のCRC比較部がシリアルバス上のエラーを検出した際に、前記第1のユニットにエラー通知を行う第1のエラー通知部と、
    を備え、
    前記第1のユニットは前記第1の送信データおよび前記送信側CRCコードを前記シリアルバスを介して前記第2のユニットに送信するとともに、前記第2のユニットは前記エラー通知を前記パラレルバスを介して前記第1のユニットに送信し、
    前記第1のユニットは、前記第2のユニットから前記エラー通知を受けると前記パラレルバスを介して前記第1のエラーデータ格納部が格納する第1の送信データを読み出して、該読み出した第1の送信データと前記読み出した第1の送信データに対応する前記第1の送信データ記憶部内の第1の送信データとを対応付けて記憶することを特徴とするプログラマブルロジックコントローラ。
  2. 前記第2のユニットは、
    前記第1のユニットに送信する第2の送信データを記憶する第2の送信データ記憶部と、
    前記第2の送信データ毎のCRCコードを送信側CRCコードとして生成する第2の送信側CRCコード生成部と、
    をさらに備え、
    前記第1のユニットは、
    前記第2のユニットから受信した第2の送信データのCRCコードを受信側CRCコードとして生成する第2の受信側CRCコード生成部と、
    前記受信側CRCコードと前記送信側CRCコードを比較して前記第2のユニットと第1のユニットとの間のシリアルバス上のエラーを検出する第2のCRC比較部と、
    前記第2のCRC比較部によってシリアルバス上のエラーが検出された送信側CRCコードに対応する第2の送信データを格納する第2のエラーデータ格納部と、
    前記第2のCRC比較部がシリアルバス上のエラーを検出した際に、前記第2のユニットにエラー通知を行う第2のエラー通知部と、
    をさらに備え、
    前記第2のユニットは前記第2の送信データおよび前記送信側CRCコードを前記シリアルバスを介して前記第1のユニットに送信するとともに、前記第1のユニットは前記エラー通知を前記パラレルバスを介して前記第2のユニットに送信し、
    前記第2のユニットは、前記第1のユニットから前記エラー通知を受けると前記パラレルバスを介して前記第2のエラーデータ格納部が格納する第2の送信データを読み出して、該読み出した第2の送信データと前記読み出した第2の送信データに対応する前記第2の送信データ記憶部内の第2の送信データとを対応付けて記憶することを特徴とする請求項1に記載のプログラマブルロジックコントローラ。
  3. 前記第1のユニットは、
    前記第2のユニットに送信する第1の送信データを識別する識別番号を送信側識別番号として生成し当該第1の送信データに付加する第1の識別番号付加部と、
    前記識別番号付加部が付加した送信側識別番号を前記第1の送信データと対応付けて記憶する第1の送信側識別番号記憶部と、
    をさらに備え、
    前記第2のユニットは、
    前記第1のCRC比較部によってシリアルバス上のエラーが検出された送信側CRCコードに対応する第1の送信データを識別する識別番号をエラー識別番号として格納する第1のエラー識別番号記憶部をさらに備え、
    前記第1のユニットは、前記第1のエラーデータ格納部が格納する第1の送信データとともに前記第1のエラー識別番号記憶部が格納するエラー識別番号を読み出し、該読み出したエラー識別番号および前記第1の送信側識別番号記憶部が記憶する送信側識別番号に基づいて、前記読み出した第1の送信データと前記第1の送信データ記憶部が記憶する第1の送信データとを対応付けし記憶することを特徴とする請求項1に記載のプログラマブルロジックコントローラ。
  4. 前記第2のユニットは、
    前記第1のユニットに送信する第2の送信データを識別する識別番号を送信側識別番号として生成し当該第2の送信データに付加する第2の識別番号付加部と、
    前記識別番号付加部が付加した送信側識別番号を前記第2の送信データと対応付けて記憶する第2の送信側識別番号記憶部と、
    をさらに備え、
    前記第1のユニットは、
    前記第2のCRC比較部によってシリアルバス上のエラーが検出された送信側CRCコードに対応する第2の送信データを識別する識別番号をエラー識別番号として格納する第2のエラー識別番号記憶部をさらに備え、
    前記第2のユニットは、前記第2のエラーデータ格納部が格納する第2の送信データとともに前記第2のエラー識別番号記憶部が格納するエラー識別番号を読み出し、該読み出したエラー識別番号および前記第2の送信側識別番号記憶部が記憶する送信側識別番号に基づいて、前記読み出した第2の送信データと前記第2の送信データ記憶部が記憶する第2の送信データとを対応付けし記憶することを特徴とする請求項2に記載のプログラマブルロジックコントローラ。
JP2005119868A 2005-04-18 2005-04-18 プログラマブルロジックコントローラ Expired - Fee Related JP4455393B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005119868A JP4455393B2 (ja) 2005-04-18 2005-04-18 プログラマブルロジックコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005119868A JP4455393B2 (ja) 2005-04-18 2005-04-18 プログラマブルロジックコントローラ

Publications (2)

Publication Number Publication Date
JP2006301784A true JP2006301784A (ja) 2006-11-02
JP4455393B2 JP4455393B2 (ja) 2010-04-21

Family

ID=37470027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005119868A Expired - Fee Related JP4455393B2 (ja) 2005-04-18 2005-04-18 プログラマブルロジックコントローラ

Country Status (1)

Country Link
JP (1) JP4455393B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010267003A (ja) * 2009-05-13 2010-11-25 Mitsubishi Electric Corp プログラマブルコントローラ
JP2013181536A (ja) * 2012-02-29 2013-09-12 General Electric Co <Ge> ローカルなループを閉鎖するための方法および装置
JP2018007130A (ja) * 2016-07-06 2018-01-11 日本電信電話株式会社 通信システム、通信装置、通信方法、およびプログラム
CN110502932A (zh) * 2018-05-18 2019-11-26 意法半导体(格勒诺布尔2)公司 处理系统、相关集成电路和方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010267003A (ja) * 2009-05-13 2010-11-25 Mitsubishi Electric Corp プログラマブルコントローラ
JP2013181536A (ja) * 2012-02-29 2013-09-12 General Electric Co <Ge> ローカルなループを閉鎖するための方法および装置
JP2018007130A (ja) * 2016-07-06 2018-01-11 日本電信電話株式会社 通信システム、通信装置、通信方法、およびプログラム
CN110502932A (zh) * 2018-05-18 2019-11-26 意法半导体(格勒诺布尔2)公司 处理系统、相关集成电路和方法
CN110502932B (zh) * 2018-05-18 2023-11-03 意法半导体(格勒诺布尔2)公司 处理系统、相关集成电路和方法

Also Published As

Publication number Publication date
JP4455393B2 (ja) 2010-04-21

Similar Documents

Publication Publication Date Title
KR20150067896A (ko) 직렬 통신 테스트 장치, 시스템 및 방법
JP3996928B2 (ja) 破損データを処理する方法
US7210065B2 (en) Methods and structure for testing responses from SAS device controllers or expanders
CN1794186A (zh) 寻址错误和地址检测系统和方法
US7721159B2 (en) Passing debug information
US7461321B2 (en) Error detection
JP4455393B2 (ja) プログラマブルロジックコントローラ
US7436777B2 (en) Failed link training
CN110646723B (zh) 总线接口测试电路和方法
US8687681B2 (en) Receiver and signal testing method thereof
EP3125251A1 (en) Hamming code-based data access method and integrated random access memory
US8291270B2 (en) Request processing device, request processing system, and access testing method
JP2009290497A (ja) エラー特定方法、データ処理装置、及び半導体装置
US7606253B2 (en) Successful transactions
US7000170B2 (en) Method and apparatus for generating CRC/parity error in network environment
KR101086599B1 (ko) 데이터 통신의 갭을 처리하는 방법
TWI383294B (zh) 用以識別資料通訊架構之構件的系統
US7310762B2 (en) Detection of errors
JP2004101203A (ja) ロジックlsiの不良解析システム及び不良解析方法
US9230290B2 (en) Power meter consumption system and method to verify data stored in a register by comparing an address of the register with request for data of the register
US7624213B2 (en) Passing identification information
KR100292059B1 (ko) 교환기에서의데이터재전송시스템
TWI345151B (en) Apparatus and method for testing sata function of motherboard
JP2003271466A (ja) Usbブリッジ回路
JP2000081987A (ja) エラー解析装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091120

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100203

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

Free format text: PAYMENT UNTIL: 20130212

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130212

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140212

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees