JP4137778B2 - データ収集システム - Google Patents

データ収集システム Download PDF

Info

Publication number
JP4137778B2
JP4137778B2 JP2003415073A JP2003415073A JP4137778B2 JP 4137778 B2 JP4137778 B2 JP 4137778B2 JP 2003415073 A JP2003415073 A JP 2003415073A JP 2003415073 A JP2003415073 A JP 2003415073A JP 4137778 B2 JP4137778 B2 JP 4137778B2
Authority
JP
Japan
Prior art keywords
data
input
bit
data piece
variable
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.)
Expired - Fee Related
Application number
JP2003415073A
Other languages
English (en)
Other versions
JP2005174105A (ja
Inventor
聡 有働
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 JP2003415073A priority Critical patent/JP4137778B2/ja
Priority to EP04732196A priority patent/EP1693987B1/en
Priority to KR1020057018508A priority patent/KR100731431B1/ko
Priority to PCT/JP2004/006616 priority patent/WO2005057861A1/ja
Priority to DE602004029081T priority patent/DE602004029081D1/de
Priority to US10/544,916 priority patent/US7325080B2/en
Publication of JP2005174105A publication Critical patent/JP2005174105A/ja
Application granted granted Critical
Publication of JP4137778B2 publication Critical patent/JP4137778B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C15/00Arrangements characterised by the use of multiplexing for the transmission of a plurality of signals over a common path
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40032Details regarding a bus interface enhancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40221Profibus

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)
  • Selective Calling Equipment (AREA)
  • Programmable Controllers (AREA)
  • Small-Scale Networks (AREA)

Description

この発明は、制御の分野で用いられるデータ収集システムに関するものである。
制御の分野では、1台のコントローラが数mから数100m離れた場所に配置した1以上の入出力装置の入力状態を監視するためにネットワーク経由で1以上の入出力装置からデータ収集を行うシステムや、その出力状態を制御するためにネットワーク経由で制御データを1以上の入出力装置に分配するシステムが広く採用されている。
ところで、入出力装置1台当りの入出力点数(1点は1ビット)は、当初は、8点〜64点であったが、近年になって、利用者の要求の多様化により、1台当りの入出力点数が1点〜8点の入出力装置も使われるようになってきた。そして、市場での成立の経緯と入出力装置の入出力点数の違いから、用いるネットワークは、前者の場合はフィールドネットワークと呼ばれ、後者の場合はセンサ・アクチュエータネットワークと呼ばれることがある。このフィールドネットワークとセンサ・アクチュエータネットワークについては、政府系機関や民間機関から規格が公開されている(非特許文献1〜6)。
すなわち、このシステムでは、コントローラは、フィールドネットワークないしはセンサ・アクチュエータネットワーク経由で数10点〜数1000点に及ぶ入出力情報を扱うことになる。そこで、近年では、数100点〜数1000点の入力を数10点の小さなグループに分割し、コントローラと各グループとの間ではフィールドネットワークを介してデータ伝送を行い、各グループ内部でのデータ伝送をセンサ・アクチュエータネットワークで行ういわゆるネットワークの階層化が行われるようになってきた。その概要を図9を参照して説明する。なお、この明細書では、入出力装置の入出力点数が8点以上のネットワークをフィールドネットワークと呼び、入出力点数が8点以下のネットワークをセンサ・アクチュエータネットワークと呼ぶことにする。
図9は、フィールドネットワークとセンサ・アクチュエータネットワークを階層化する場合の概念図である。図9において、コントローラ110には長さが数10m〜数1000mのフィールドネットワーク111が接続され、フィールドネットワーク111にはm個(m=1〜M)のグループが接続される。グループmでは、フィールドネットワーク111に接続される転送装置121mが配置される。この転送装置121mには、複数の入出力装置122mn(n=1〜N)が長さ数m〜数100mのセンサ・アクチュエータネットワーク112mを介して接続される。すなわち、転送装置121mは、自グループに属する複数の入出力装置122mnから受け取った入力状態データをコントローラ110に送信し、またコントローラ110から受け取った制御データを自グループに属する複数の入出力装置122mnに分配するようになっている。
以下、図10〜図21を参照して、コントローラが1以上の入出力装置から入力状態を示すデータを収集する場合について説明する。図10は、図9に示す一つのグループにおける入出力装置からのデータ収集を説明する図である。図10では、グループmの入出力装置122mnが入力状態データを含めた送信フレーム123mnを生成してセンサ・アクチュエータネットワーク112m上に送信し、グループmの転送装置121mがセンサ・アクチュエータネットワーク112mから取り込んだ送信フレーム123mnからコントローラ110宛の送信フレーム123mを生成してフィールドネットワーク111上に送信する場合が示されている。
ここで、送信フレーム123mnは、ヘッダフィールド71とデータフィールド72とチェックフィールド73とからなるビット列である。また、送信フレーム123mは、ヘッダフィールド75とデータフィールド76とチェックフィールド77とからなるビット列である。このような送信フレームの構成は、シリアル通信において一般に用いられ、非特許文献1〜6においても同様の構成を用いている。また、このデータフィールドのビット配置と入出力装置の入出力ポートとの対応関係は、最下位ビット(LSB)が0番の入出力ポートの状態を表すというように、固定的に定められている。
なお、非特許文献1、2、5にて規定される送信フレームでのデータフィールド76の1単位は1バイトである。非特許文献4にて規定される送信フレームでのデータフィールド76の1単位は4バイトまたは2バイトである。非特許文献3にて規定される送信フレームでのデータフィールド72の1単位は0.5バイト(4ビット固定)である。非特許文献6にて規定される送信フレームでのデータフィールド72の1単位は0.5バイト、1バイトまたは2バイトである。
そこで、図10では、入出力装置122mnがセンサ・アクチュエータネットワーク112mに送出する送信フレーム123mnのデータフィールド72の1単位は1バイトとしている。すなわち、送信フレーム123mnのデータフィールド72は、ビットb0〜ビットb7の8ビットで構成される。ヘッダフィールド71側の第1ビットb0が最下位ビット(LSB)であり、チェックフィールド73側の第8ビットb7が最上位ビット(MSB)である。そして、データフィールド72のビット位置と入出力ポートとの対応関係は、1対1の関係で固定的に定められている。
また、転送装置121mがフィールドネットワーク111上に送出する送信フレーム123mでのデータフィールド76の1単位は1バイトとしている。データフィールド76に格納されるビット列113mは、2×Nビット(Nは4の倍数)で構成され、ヘッダフィールド75側の第1ビットが最下位ビット(LSB)であり、チェックフィールド77側の最終ビットが最上位ビット(MSB)である。図10では、入出力装置122mnが2つの入力ポートmnP0,mnP1を持つとしているので、このデータフィールド76には各入出力装置122mnからのデータ2ビットが格納されるとしている。すなわち、第1ビットと第2ビットは、入出力装置122m1からのデータであり、第3ビットと第4ビットは、入出力装置122m2からのデータである。
さて、入出力装置122mnは、入力125mnk(図示例では、k=0、1)が接続される入力ポートmnPkと、入力ポートmnPkの状態を示すデータ片126mnを記憶する記憶部と、データ片126mnを送信フレーム123mnのデータフィールド72に格納してセンサ・アクチュエータネットワーク112mに送信する送信部127mnとを備えている。データ片126mnでは、ビットb0に入力ポートmnP0の値(“0”または “1”)が格納され、ビットb1に入力ポートmnP1の値が格納される。ビットb2〜ビットb7には、対応する入力ポートがないので、値0が格納される。
入出力装置122mnでは、入力ポートmnPkが入力125mnk(k=0、1)の入力状態を観測する。入力ポートmnPkは、入力125mnkの入力状態がONの場合には値1をデータ片126mnに出力し、入力125mnkの入力状態がOFFの場合には値0をデータ片126mnに出力する。図示例では、入力125mn0の入力状態はONであり、入力125mn1の入力状態はOFFであるので、データ片126mnは、ビットb0〜ビットb7に“10000000”と格納される。送信部127mnは、データ片126mnを送信フレーム123mnのデータフィールド72に格納し、転送装置121m宛に送信する。
送信フレーム123mnを受信した転送装置121mは、送信フレーム123mn(n=1〜N)のデータフィールド72にそれぞれ格納されている入力ポートmnPk由来のデータをそれぞれビット列113mの(2×(m−1)+1)ビット目〜(2×m)ビット目に格納して送信フレーム123mを作成し、コントローラ110宛に送信する。
ここで、図11、図12を参照して転送装置121mが入出力装置122mnから受け取った送信フレーム123mnからコントローラ宛の送信フレーム123mを生成する処理内容を具体的に説明する。なお、図11では、転送装置121mが8ビットのマイコンを用いて、入力点数が2点の入出力装置122mnの64台分〈局数n=64)の送信フレーム123mnから各データを抜き取り、送信フレーム123mのビット列113mにおける該当ビット位置に埋め込む処理内容が示されている。図12は、図11に示すa部に関する処理内容の詳細を説明する図である。
図11において、転送装置121mは、定数定義部にて定数を定め、変数定義部にて変数を宣言した後に、get_sensor_actuator_network_data()関数にて送信フレーム123mnのデータフィールド72の値を配列変数d123mnに取得する。そして、局番が1の入出力装置122m1の入力ポート125m1k(k=0、1)からのデータが格納されている配列変数d123mn[0]の値を変数d0に格納する。また、局番が2の入出力装置122m2の入力ポート125m2k(k=0、1〜3)からのデータが格納されている配列変数d123mn[1]の値を変数d1に格納する。次いで、変数d1の値を局番n=2に基づいて2ビット左方向にシフトした上で変数d0に論理和し、局番が3の入出力装置122m3の入力ポート125m3k(k=0、1〜3)からのデータが格納されている配列変数d123mn[2]の値を変数d1に格納し、変数d1の値を局番n=3に基づいて4ビット左方向にシフトした上で変数d0に論理和する。
そして、局番が4の入出力装置122m4の入力ポート125m4k由来のデータが格納されている配列変数d123mn[3]の値を変数d1に格納し、変数d1の値を局番n=4に基づいて6ビット左方向にシフトした上で、変数d1と変数d0の論理和を配列変数d123m[0]に格納する。以下同様に、4局分のデータd123mn[i+0〜3](iは4の倍数)をd123m[i]に収合する処理をi=N−4になるまで行ってデータd123mの生成を完了し、set_field_network_data()関数にて配列変数d123mに格納されたデータをコントローラ110に送信する。
図12では、欄(イ)に図11に示すa部での処理を示され、欄(ロ)に実際にマイコンが行う処理動作が示され、欄(ハ)に所要クロック数が示されている。欄(ハ)に示すように、マイコンが命令を実行する際に必要となる所要クロック数は、全て命令1つ当たり1クロックとすれば、計64台の入出力装置のデータを収合する場合、図11に示すa部での16行の処理には、計2176クロックを要し、ビットのシフト処理には2320クロックのおよそ45%に当る976クロックを要することになる。
また、図13〜図15を参照して、入出力装置122mnが入力125mnkからデータ片126mnを決定する処理内容を具体的に説明する。なお、図13と図14では、入出力装置122mnが8ビットのマイコンを用いて、入力125mnkからデータ片126mを決定する処理内容が示されている。図13は、入力ポートが同一アドレスの場合であり、図14は、入力ポートが異なるアドレスの場合である。また、図15は、図14に示すb部に関する処理内容の詳細を説明する図である。
図13と図14において、入出力装置122mnでは、定数定義部にて定数を定め、変数定義部にて変数を宣言した後に、get_port_status()関数にて入力125mnkを入力ポートmnPk(k=0、1)から変数mnPkに取り込み、変数d123mに変数mnPkをそれぞれ論理和した後、set_sensor_actuator_network_data()関数にてデータ片126mnに値を格納する。
図10では、入力125mn0がONであり、入力125mn1がOFFであるとしている。この場合の処理内容の詳細が図15に示されている。図15では、欄(イ)に図14に示すb部での処理を示され、欄(ロ)に実際にマイコンが行う処理動作が示され、欄(ハ)に所要クロック数が示されている。
図15の欄(ロ)において、手順(1)では、値0x00(16進数の00)を変数d123mnに格納する。手順(2)では、入力125mn0に由来する変数mnP0の値をレジスタaに格納する。今の例では、入力125mn0がONであるので、レジスタaに値0x01が格納される。手順(3)では、レジスタaの値が0x01であるので、手順(4)に遷移する。手順(4)では、変数d123mnの値をレジスタaに格納する。手順(5)では、変数mnP0onの値0x01をレジスタbに格納する。手順(6)では、レジスタbの値をレジスタaに論理和してレジスタaの値を0x01に変化させる。手順(7)では、レジスタaの値を変数d123mnに格納する。今の例では、変数d123mに値0x01が格納される。手順(8)では、入力125mn1に由来する変数mnP1の値をレジスタaに格納する。今の例では入力125mn1がOFFであるので、レジスタaに値0x00が格納される。手順(9)では、レジスタaの値が0x00であるので、図14に示すb部の処理が完了し、手順(13)の後に続く命令に処理が移り、変数d123mnの値0x01が以降の処理に渡る。
図15の欄(ハ)に示すように、マイコンが命令を実行する際に必要となる所要クロック数は、全て命令1つ当たり1クロックとすれば図14に示すb部での3行の処理には、計9クロックを要することになる。
次に、図16は、従来の階層化されたデータ収集システムの構成と転送装置の処理内容を説明する図である。図16では、システム全体を制御するコントローラ110が転送装置211を介して3台の入出力装置250q(q=A、B、C)から入力状態データを収集し制御対象の状態を観測するシステムが示されている。転送装置211は、コントローラ110とはフィールドネットワーク111を介して接続され、入出力装置250qとはセンサ・アクチュエータネットワーク112mを介して接続されている。なお、図16に示す入出力装置250qの構成と処理内容は、図17〜図19に示してある。
図16において、転送装置211は、3台の入出力装置250q(q=A、B、C)からビット列114qを受け取る受信部224と、受信部224からデータ片132qを受ける演算部223と、演算部223が生成したデータ片228a、228bを下位データ片222a、上位データ片222bとして保持する送信バッファ222と、送信バッファ222が保持する下位データ片222a、上位データ片222bをビット列113に格納してコントローラ110に送信する送信部221とを備えている。
図16では、ビット列113は、16ビットで構成されている。なお、ビット列113におけるLSBとMSBの位置は、図10にて説明したのとは逆に表示され、右端側がLSBである。ビット列113では、最下位側の第1ビットと第2ビットが入出力装置250q(q=A)が送信したデータ141Aである。第3ビット〜第6ビットが入出力装置250q(q=B)が送信したデータ141Bである。第7ビット〜第10ビットが入出力装置250q(q=C)が送信したデータ141Cである。第11ビット〜最上位の第16ビットは不使用となっている。
ここに、演算部223では、受信部224から受け取るデータ片132Aをデータ片131Aとしてレジスタ223aに格納する。また、受信部224から受け取るデータ片132Bをシフトレジスタ223bにてMSB方向である左向きに2ビットシフトしてデータ片131Bを取得し、それをレジスタ223cに格納する。また、受信部224から受け取るデータ片132Cを2つのシフトレジスタ223d、223fに与える。シフトレジスタ223dでは、データ片132Cを左向きに6ビットシフトしてデータ片131Caを生成し、それをレジスタ223eに格納する。一方、シフトレジスタ223fでは、データ片132Cを右向きに2ビットシフトしてデータ片131Cbを生成し、それをデータ片228bとする。また、レジスタ223a、223c、223eの各保持データ片は論理和が取られ、データ片228aが生成される。
また、送信バッファ222では、データ片228aを下位データ片222aとして保持され、データ片228bを上位データ片222bとして保持される。送信部221は、このような下位データ片222aと上位データ片222bとをビット列113に格納する。したがって、ビット列113では、LSBからMSBに向かって、入出力装置250q(q=A)が送信した2ビットのデータ141Aと、入出力装置250q(q=B)が送信した4ビットのデータ141Bと、入出力装置250q(q=C)が送信した4ビットのデータ141Cとが隙間無く並べられる。
次に、入出力装置250qは、図17〜図19に示すように、入力154qk(k=0〜3)からデータ片158qkを生成するデータ生成部253qkと、データ片158qkからデータ片157qを生成するデータ片生成部256qと、データ片157qを記憶するデータ片記憶部252qと、データ片157qをビット列114qとして転送装置211に送信する送信部251qとを備えている。
ここに、データ生成部253qkは、入力154qkがONのときは、データ片158qkのLSBからk+1ビット目のビットの値を“1”にし、入力154qkがOFFのときは、データ片158qkのLSBからk+1ビット目のビットの値を“0”にする。データ片生成部256qは、qを同じくする全てのデータ片158qkの論理和を取ってデータ片157qを生成する。
次に、以上のように構成される従来のデータ収集システムの動作について説明する。図17に示す入出力装置250Aでは、データ生成部253A0は、入力154A0がONであるので、8ビットの全てが“1”であるデータ“11111111”を生成し、それとLSBから1ビット目が“1”でそれ以外のビットが“0”である8ビット長の定数“00000001”との論理積を取って、LSBから1ビット目が“1”でそれ以外のビットが“0”である8ビット長のデータ片158A0(“00000001”)を生成する。
データ生成部253A1は、入力154A1がOFFであるので、8ビットの全てが“0”であるデータ“00000000”を生成し、それとLSBから2ビット目が“1”でそれ以外のビットが“0”である8ビット長の定数“00000010”との論理積を取ってLSBから2ビット目が“0”でそれ以外のビットも“0”である8ビット長のデータ片158A1(“00000000”)を生成する。
これによって、データ片生成部256Aは、データ片158A0とデータ片158A1との論理和を取って“00000001”なるデータ片157Aを生成しデータ片記憶部252Aに格納する。そして、送信部251Aは、データ片記憶部252Aからデータ片157Aを取り出し、それをビット列114Aとして転送装置211に送信する。ビット列114Aの下位2ビットは、コントローラ110に送信するデータ141A(“01”)である。
図18に示す入出力装置250Bでは、データ生成部253B0は、入力154B0がONであるので、8ビットの全てが“1”であるデータ“11111111”を生成し、それとLSBから1ビット目が“1”でそれ以外のビットが“0”である8ビット長の定数“00000001”との論理積を取って、LSBから1ビット目が“1”でそれ以外のビットが“0”である8ビット長のデータ片158B0(“00000001”)を生成する。
データ生成部253B1は、入力154B1がOFFであるので、8ビットの全てが“0”であるデータ“00000000”を生成し、それとLSBから2ビット目が“1”でそれ以外のビットが“0”である8ビット長の定数“00000010”との論理積を取って、LSBから2ビット目が“0”でそれ以外のビットも“0”である8ビット長のデータ片158B1(“00000000”)を生成する。
データ生成部253B2は、入力154B2がONであるので、8ビットの全てが“1”であるデータ“11111111”を生成し、それとLSBから3ビット目が“1”でそれ以外のビットが“0”である8ビット長の定数“00000100”との論理積を取って、LSBから3ビット目が“1”でそれ以外のビットが“0”である8ビット長のデータ片158B2(“00000100”)を生成する。
データ生成部253B3は、入力154B3がONであるので、8ビットの全てが“1”であるデータ“11111111”を生成し、それとLSBから4ビット目が“1”でそれ以外のビットが“0”である8ビット長の定数“00001000”との論理積を取って、LSBから4ビット目が“1”でそれ以外のビットが“0”である8ビット長のデータ片158B3(“00001000”)を生成する。
これによって、データ片生成部256Bは、データ片158B0とデータ片158B1とデータ片158B2とデータ片158B3の論理和を取って“00001101”なるデータ片157Bを生成しデータ片記憶部252Bに格納する。そして、送信部251Bは、データ片記憶部252Bからデータ片157Bを取り出し、それをビット列114Bとして転送装置211に送信する。ビット列114Bの下位4ビットは、コントローラ110に送信するデータ141B(“1101”)である。
図19に示す入出力装置250Cでは、データ生成部253C0は、入力154C0がONであるので、8ビットの全てが“1”であるデータ“11111111”を生成し、それとLSBから1ビット目が“1”でそれ以外のビットが“0”である8ビット長の定数“00000001”との論理積を取って、LSBから1ビット目が“1”でそれ以外のビットが“0”である8ビット長のデータ片158C0(“00000001”)を生成する。
データ生成部253C1は、入力154C1がOFFであるので、8ビットの全てが“0”であるデータ“00000000”を生成し、それとLSBから2ビット目が“1”でそれ以外のビットが“0”である8ビット長の定数“00000010”との論理積を取って、LSBから2ビット目が“0”でそれ以外のビットも“0”である8ビット長のデータ片158C1(“00000000”)を生成する。
データ生成部253C2は、入力154C2がONであるので、8ビットの全てが“1”であるデータ“11111111”を生成し、それとLSBから3ビット目が“1”でそれ以外のビットが“0”である8ビット長の定数“00000100”との論理積を取って、LSBから3ビット目が“1”でそれ以外のビットが“0”である8ビット長のデータ片158C2(“00000100”)を生成する。
データ生成部253C3は、入力154C3がONであるので、8ビットの全てが“1”であるデータを生成し、それとLSBから4ビット目が“1”でそれ以外のビットが“0”である8ビット長の定数“00001000”との論理積を取って、LSBから4ビット目が“1”でそれ以外のビットが“0”である8ビット長のデータ片158C3(“00001000”)を生成する。
これによって、データ片生成部256Cは、データ片158C0とデータ片158C1とデータ片158C2とデータ片158C3の論理和を取って、“00001101”なるデータ片157Cを生成しデータ片記憶部252Cに格納する。そして、送信部251Cは、データ片記憶部252Cからデータ片157Cを取り出し、それをビット列114Cとして転送装置211に送信する。ビット列114Cの下位4ビットは、コントローラ110に送信するデータ141C(“1101”)である。
図16において、転送装置211では、受信部224は、受信したビット列114Aをデータ片132Aとして演算部223に渡し、受信したビット列114Bをデータ片132Bとして演算部223に渡し、受信したビット列114Cをデータ片132Cとして演算部223に渡す。演算部223では、受け取ったデータ片132Aに含まれるデータ141A(“01”)は、全てビット列113の下位8ビットに1対1の対応関係で格納できるので、そのデータ片132Aをそのままデータ片131Aとしてレジスタ223aに格納する。
また、演算部223では、受け取ったデータ片132Bに含まれるデータ141B(“1101”)は、全てビット列113の下位8ビットに格納できるが、ビット位置が2ビットずれているので、受け取ったデータ片132Bをシフトレジスタ223bに与えて左向きに2ビットシフト操作し、得られた“00110100”なるデータ片131Bをレジスタ223cに格納する。
一方、演算部223では、受け取ったデータ片132Cに含まれるデータ141C(“1101”)は、ビット列113の上位8ビットと下位8ビットの境界を跨いでいるので、それらを分離しビット位置を合わせるため、受け取ったデータ片132Cをシフトレジスタ223d、223fに与える。
シフトレジスタ223dでは、データ片132Cのデータ“00001101”を左向きに6ビットシフト操作し、得られた“01000000”なるデータ片131Caをレジスタ223eに格納する。また、シフトレジスタ223fでは、データ片132Cのデータ“00001101”を右向きに2ビットシフト操作し、得られた“00000011”なるデータ片131Cbをデータ片228bとする。
そして、演算部223では、レジスタ223aに格納したデータ片131Aとレジスタ223cに格納したデータ片131Bとレジスタ223eに格納したデータ片131Caとの論理和を取って“01110101”なるデータ片228aを生成し、それを下位データ片222aとして送信バッファ222に格納する。また、演算部223では、シフトレジスタ223fにて生成されたデータ片228bを上位データ片222bとして送信バッファ222に格納する。これによって、送信部221は、送信バッファ222に格納されている下位データ片222aと上位データ片222bとを連続したビット列113としてコントローラ110に送信する。
ここで、図20と図21を参照して、転送装置211がビット列114q(q=A〜C)からビット列113を作成する処理内容を具体的に説明する。なお、図20では、転送装置211が8ビットのマイコンを用いて処理を実行する場合が示されている。また、図21は、図20に示すc部に関する処理内容の詳細を説明する図である。
図20において、転送装置211は、定数定義部にて定数を定め、変数定義部にて変数を宣言し、変数の初期化を行った後、配列変数d113に0x00を格納した上で、get_sensor_actuator_network_data()関数にてビット列114qの値を配列変数d114に取得する。そして、局番が1の入出力装置250Aの入力ポート154Ak(k=0、1)からのデータが格納されている変数d114[0]の値を変数d0に格納し、変数d113[0]に変数d0の値を論理和する。また、局番が2の入出力装置21Bの入力ポート154Bk(k=0〜3)からのデータが格納されている変数d114[1]の値を変数d0に格納し、次いで、変数d0の値を左に2ビットシフトした上で、変数d113[0]に変数d0の値を論理和する。
また、局番が4の入出力装置21Cの入力ポート154Ck(k=0〜3)からのデータが格納されている変数d114[2]の値を変数d0に格納する。そして、変数d0の値を左に6ビットシフトした上で、変数d113[0]に変数d0の値を論理和する。次いで、変数d114[2]の値を変数d0に格納し、変数d0の値を右に2ビットシフトした上で、変数d0の値を変数d113[1]に格納する。これによって配列変数d113へのデータの格納を完了し、set_field_network_data()関数にて配列変数d113に格納されたデータをコントローラ110に送信する。
図21では、欄(イ)に図20に示すc部での処理が示され、欄(ロ)に実際にマイコンが行う処理動作が示され、欄(ハ)に所要クロック数を示されている。欄(ハ)では、マイコンが一行分の処理を行うに要するクロック数を1とし、条件判断の結果実行されない行のクロック数を0とし、実行される行のクロック数を1として表し、最下段にクロック数の合計が示されている。
図21の欄(ロ)において、手順(1)から手順(4)では、変数p250q[0]に格納されている値0x00を変数p0に格納する。手順(5)から手順(11)では、値0x01が格納されている変数d0にp0の値が0x00のためシフト演算を施さない。手順(12)から手順(18)では、変数d0の値を変数d113[0]に論理和して変数d113[0]の値を0x01に変化させる。手順(19)から手順(23)では、変数p0の値が0x06ではないので変数p113の値を変化させない。手順(24)から手順(28)では、変数flag_of_separate[0]の値が0x00であるので、q==0の処理を終了し、q==1の処理に遷移する。手順(41)から手順(44)では、変数p250q[1]に格納されている値0x02を変数p0に格納する。手順(45)から手順(51)では、値0x0Dが格納されているd0の値をp0の値が0x02のため左向きに2ビットシフトする演算を施した結果である値0x34を変数d0に格納する。
手順(52)から手順(58)では、変数d0の値を変数d113[0]に論理和して変数d113[0]の値を0x35に変化させる。手順(59)から手順(63)では、変数p0の値が0x06ではないので変数p113の値を変化させない。手順(64)から手順(68)では、変数flag_of_separate[1]の値が0x00であるので、q==1の処理を終了し、q==2の処理に遷移する。手順(81)から手順(84)では、変数p250q[3]に格納されている値0x06を変数p0に格納する。手順(85)から手順(91)では、値0x0Dが格納されているd0の値をp0の値が0x06のため左向きに6ビットシフトする演算を施した結果である値0x40を変数d0に格納する。手順(92)から手順(98)では、変数d0の値を変数d113[0]に論理和して変数d113[0]の値を0x75に変化させる。
手順(99)から手順(103)では、変数p0の値が0x06であるので変数p113の値に1を加える。手順(104)から手順(120)では、変数flag_of_separate[3]の値が0x00でないので、変数d0に変数d114[2]の値を格納する。そして、変数d0の値を右向きに2ビットシフト演算した結果を変数d113[1]に格納して、変数d113[1]の値を0x03に変化させる。これによって、配列変数d113にビット列141qを格納する処理が完了する。以上の処理によって、命令一つ当たりの所要クロック数が全て1クロックである場合には、図21の欄(ハ)に示すように、図20に示すc部の処理には、計116クロックを要することになる。
JISB3511規格OPCN−1(政府系機関から公開されているフィールドネットワークの規格) EN50170規格PROFIBUS(政府系機関から公開されているフィールドネットワークの規格) IEC62026−2規格AS−Interface(政府系機関から公開されているセンサ・アクチュエータネットワークの規格) CC−Link協会のCC−Link(民間機関から公開されているフィールドネットワークの規格) ODVAのDeviceNet(民間機関から公開されているフィールドネットワークの規格) CC−Link協会のCC−Link/LT(民間機関から公開されているセンサ・アクチュエータネットワークの規格)
しかしながら、従来の処理方法では、上記の通り転送装置がコントローラにデータを転送する際にビットのシフト操作が必要であるので、コントローラ宛の送信フレームを生成する処理に時間が掛るという問題がある。
そして、転送装置は、センサ・アクチュエータネットワークにて全ての入出力装置からデータを収集するので、全ての入出力装置からデータを収集する処理が完了するまでの時間は、一台当たりの処理時間に入出力装置の台数を乗じた値となる。したがって、上記したシフト処理による処理の遅れが収集処理の性能低下を招くという問題がある。
この発明は、上記に鑑みてなされたものであり、転送装置にてビットのシフト操作が不要なデータ収集システムを得ることを目的とする。
上述した目的を達成するため、この発明は、1台のコントローラが転送装置を介して1以上の入力装置の入力状態を収集するデータ収集システムにおいて、前記転送装置は、前記1以上の入力装置から受信した個別データに対しビットシフト操作を施すことなく論理演算のみの操作によって前記個別データを所定の順序に配列したビット列を生成し前記コントローラに送信する手段と、前記ビット列におけるビット位置と前記個別データとの対応関係を示すテンプレート情報を対応する入力装置に対して送信する手段とを備え、前記入力装置は、前記転送装置から受信したテンプレート情報を記憶する手段と、入力状態と前記記憶されたテンプレート情報とに基づき前記転送装置に送信する個別データを生成する手段とを備えることを特徴とする。
この発明によれば、転送装置にてビットのシフト操作が不要になるので、コントローラ宛に送信するビット列を短時間に生成することができる。したがって、収集処理の性能を向上することができる。
この発明によれば、1台のコントローラが1以上の入出力装置からデータを収集する処理性能を向上することができるという効果を奏する。
以下に、この発明にかかるデータ収集システムの好適な実施の形態を図面を参照して詳細に説明する。
図1は、この発明の一実施の形態であるデータ収集システムの構成と転送装置の処理内容を説明する図である。図1では、システム全体を制御するコントローラ10が転送装置20を介して3台の入出力装置50q(q=A、B、C)から入力状態データを収集し制御対象の状態を観測するシステムが示されている。転送装置20は、コントローラ10とはフィールドネットワーク12を介して接続され、入出力装置50qとはセンサ・アクチュエータネットワーク17を介して接続されている。なお、入出力装置50qの構成と処理内容は、図2〜図4に示してある。
図1において、転送装置20は、3台の入出力装置50q(q=A、B、C)に対してテンプレート情報45a、45b、45cを送信するとともに、3台の入出力装置50q(q=A、B、C)からビット列14qを受け取る送受信部24と、送受信部24からデータ片32qを受ける演算部23と、演算部23が生成したデータ片28a、28bを下位データ片22a、上位データ片22bとして保持する送信バッファ22と、送信バッファ22が保持する下位データ片22a、上位データ片22bをビット列13に格納してコントローラ10に送信する送信部21とを備えている。
図1では、ビット列13は、16ビットで構成されている。そして、ビット列13におけるLSBの位置は、右端側であり、MSBの位置は、左端側であるとしている。ビット列13では、最下位側の第1ビットと第2ビットが入出力装置50q(q=A)が送信したデータ41Aである。第3ビット〜第6ビットが入出力装置50q(q=B)が送信したデータ41Bである。第7ビット〜第10ビットが入出力装置50q(q=C)が送信したデータ41Cである。第11ビット〜最上位の第16ビットは不使用となっている。
ここに、演算部23では、送受信部24から受け取るデータ片32Aをデータ片31Aとしてレジスタ23aに格納する。また、送受信部24から受け取るデータ片32Bをデータ片31Bとしてレジスタ23bに格納する。また、送受信部24から受け取るデータ片32Cを2つの論理積回路23c、23dに与える。論理積回路23cでは、データ片32Cと16進数の値“C0”との論理積を取ってデータ片31Caを生成し、それをレジスタ23eに格納する。一方、論理積回路23dでは、データ片32Cと16進数の値“03”との論理積を取ってデータ片31Cbを生成し、それをデータ片28bとする。また、レジスタ23a、23b、23eの各保持データ片は論理和が取られ、データ片28aが生成される。
また、送信バッファ22では、演算部23から受け取ったデータ片28aを下位データ片22aとして保持し、演算部23から受け取ったデータ片28bを上位データ片22bとして保持する。送信部21は、送信バッファ22が保持するこのような下位データ片22aと上位データ片22bとをビット列13に格納する。ビット列13では、LSBからMSBに向かって入出力装置50q(q=A)が送信した2ビットのデータ41Aと、入出力装置50q(q=B)が送信した4ビットのデータ41Bと、入出力装置50q(q=C)が送信した4ビットのデータ41Cとが隙間無く並べられる。
また、転送装置20では、機能ブロックは明示してないが、ビット列13におけるビット位置と入出力装置50qから収集したデータ41A、41B、41Cの各ビット位置との対応関係を示す情報(テンプレート情報45a、45b、45c)をデータ収集動作の開始前にコントローラ10の指示を受けて生成し、送受信部24から対応する入出力装置50qに対して送信するようになっている。
次に、入出力装置50qは、図2〜図4に示すように、テンプレート情報を記憶するテンプレート記憶部55qk(k=0〜3)と、入力54qkからデータ片58qkを生成するデータ生成部53qkと、データ片58qkからデータ片57qを生成するデータ片生成部56qと、データ片57qを記憶するデータ片記憶部52qと、データ片57qをビット列14qとして転送装置20に送信するとともに、転送装置20からのテンプレート情報をテンプレート記憶部55qkに送り込む送受信部51qとを備えている。
ここに、データ生成部53qkは、入力54qkがONのときは、8ビットが全て“1”であるデータ“11111111”とテンプレート記憶部55qkに記憶されるテンプレート情報との論理積を取って、また入力54qkがOFFのときは、8ビットが全て“0”であるデータ“00000000”とテンプレート記憶部55qkに記憶されるテンプレート情報との論理積を取って、データ片58qkを生成する。そして、データ片生成部56qは、qを同じくする全てのデータ片58qkの論理和を取ってデータ片57qを生成する。
次に、以上のように構成されるこの実施の形態によるデータ収集システムの動作について説明する。図1において、転送装置20は、入出力装置50qからデータ収集処理を開始する前にコントローラ10から指示を受けて、テンプレート情報45a、45b、45cを生成し、各入出力装置50qに対し送信する。テンプレート情報45aは、入出力装置50Aの入力54A0用と入力54A1用とからなる。テンプレート情報45bは、入出力装置50Bの入力54B0用と入力54B1用と入力54B2用と入力54B3用とからなる。テンプレート情報45cは、入出力装置50Cの入力54C0用と入力54C1用と入力54C2用と入力54C3用とからなる。
これらのテンプレート情報は、この実施の形態では、8ビットで構成されるが、ビット列13でのビット位置を考慮して入力54qkに割り当てられたビット位置に“1”を設定し、その他のビット位置に“0”を設定することで生成される。
具体的には、ビット列13では、データ41Aは、下位8ビットにおける下位2ビットに格納されるので、テンプレート情報45aは、8ビット長の第1ビットに“1”が設定されたテンプレート情報“00000001”と、8ビット長の第2ビットに“1”が設定されたテンプレート情報“00000010”とからなる。
また、データ41Bは、ビット列13の下位8ビットにおける中間4ビットに格納されるので、テンプレート情報45bは、8ビット長の第3ビットに“1”が設定されたテンプレート情報“00000100”と、8ビット長の第4ビットに“1”が設定されたテンプレート情報“00001000”と、8ビット長の第5ビットに“1”が設定されたテンプレート情報“00010000”と、8ビット長の第6ビットに“1”が設定されたテンプレート情報“00100000”とからなる。
また、データ41Cは、ビット列13の下位8ビットにおける上位2ビットと上位8ビットにおける下位2ビットとに格納されるので、テンプレート情報45cは、8ビット長の第7ビットに“1”が設定されたテンプレート情報“01000000”と、8ビット長の第8ビットに“1”が設定されたテンプレート情報“10000000”と、8ビット長の第1ビットに“1”が設定されたテンプレート情報“00000001”と、8ビット長の第2ビットに“1”が設定されたテンプレート情報“00000010”とからなる。
これによって、入出力装置50qでは、テンプレート記憶部55qkにテンプレート情報が保持される。すなわち、図2に示す入出力装置50Aでは、テンプレート情報45aを受けて、テンプレート記憶部55A0にテンプレート情報“00000001”が保持され、テンプレート記憶部55A1にテンプレート情報“00000010”が保持される。
また、図3に示す入出力装置50Bでは、テンプレート情報45bを受けて、テンプレート記憶部55B0にテンプレート情報“00000100”が保持され、テンプレート記憶部55B1にテンプレート情報“00001000”が保持され、テンプレート記憶部55B2にテンプレート情報“00010000”が保持され、テンプレート記憶部55B3にテンプレート情報“00100000”が保持される。
また、図4に示す入出力装置50Cでは、テンプレート情報45cを受けて、テンプレート記憶部55C0にテンプレート情報“01000000”が保持され、テンプレート記憶部55C1にテンプレート情報“10000000”が保持され、テンプレート記憶部55C2にテンプレート情報“00000001”が保持され、テンプレート記憶部55C3にテンプレート情報“00000010”が保持される。
入出力装置50qでは、以上のようにテンプレート情報が格納されると、入力54qkの状態を転送装置20に送信する処理を開始する。すなわち、図2に示す入出力装置50Aでは、データ生成部53A0は、入力54A0がONであるので、8ビットの全てが“1”であるデータ“11111111”を生成し、それとテンプレート記憶部55A0に記憶されるテンプレート情報“00000001”との論理積を取って“00000001”なるデータ片58A0を生成する。データ生成部53A1は、入力54A1がOFFであるので、8ビットの全てが“0”であるデータ“00000000”を生成し、それとテンプレート記憶部55A1に記憶されるテンプレート情報“00000010”との論理積を取って“00000000”なるデータ片58A1を生成する。
これによって、データ片生成部56Aは、データ片58A0とデータ片58A1との論理和を取って“00000001”なるデータ片57Aを生成しデータ片記憶部52Aに格納する。そして、送受信部51Aは、データ片記憶部52Aからデータ片57Aを取り出し、それをビット列14Aとして転送装置20に送信する。ビット列14Aの下位2ビットは、コントローラ10に送信するデータ41A(“01”)である。
図3に示す入出力装置50Bでは、データ生成部53B0は、入力54B0がONであるので、8ビットの全てが“1”であるデータ“11111111”を生成し、それとテンプレート記憶部55B0に記憶されるテンプレート情報“00000100”との論理積を取って“00000100”なるデータ片58B0を生成する。データ生成部53B1は、入力54B1がOFFであるので、8ビットの全てが“0”であるデータ“00000000”を生成し、それとテンプレート記憶部55B1に記憶されるテンプレート情報“00001000”との論理積を取って“00000000”なるデータ片58B1を生成する。データ生成部53B2は、入力54B2がONであるので、8ビットの全てが“1”であるデータ“11111111”を生成し、それとテンプレート記憶部55B2に記憶されるテンプレート情報“00010000”との論理積を取って“00010000”なるデータ片58B2を生成する。データ生成部53B3は、入力54B3がONであるので、8ビットの全てが“1”であるデータ“11111111”を生成し、それとテンプレート記憶部55B3に記憶されるテンプレート情報“00100000”との論理積を取って“00100000”なるデータ片58B3を生成する。
これによって、データ片生成部56Bは、データ片58B0とデータ片58B1とデータ片58B2とデータ片58B3との論理和を取って“00110100”なるデータ片57Bを生成しデータ片記憶部52Bに格納する。そして、送受信部51Bは、データ片記憶部52Bからデータ片57Bを取り出し、それをビット列14Bとして転送装置20に送信する。ビット列14Bの中間4ビットは、コントローラ10に送信するデータ41B(“1101”)である。
図4に示す入出力装置50Cでは、データ生成部53C0は、入力54C0がONであるので、8ビットの全てが“1”であるデータ“11111111”を生成し、それとテンプレート記憶部55C0に記憶されるテンプレート情報“01000000”との論理積を取って“01000000”なるデータ片58C0を生成する。データ生成部53C1は、入力54C1がOFFであるので、8ビットの全てが“0”であるデータ“00000000”を生成し、それとテンプレート記憶部55C1に記憶されるテンプレート情報“10000000”との論理積を取って“00000000”なるデータ片58C1を生成する。データ生成部53C2は、入力54C2がONであるので、8ビットの全てが“1”であるデータ“11111111”を生成し、それとテンプレート記憶部55C2に記憶されるテンプレート情報“00000001”との論理積を取って“00000001”なるデータ片58C2を生成する。データ生成部53C3は、入力54C3がONであるので、8ビットの全てが“1”であるデータ“11111111”を生成し、それとテンプレート記憶部55C3に記憶されるテンプレート情報“00000010”との論理積を取って“00000010”なるデータ片58C3を生成する。
これによって、データ片生成部56Cは、データ片58C0とデータ片58C1とデータ片58C2とデータ片58C3との論理和を取って“01000011”なるデータ片57Cを生成しデータ片記憶部52Cに格納する。そして、送受信部51Cは、データ片記憶部52Cからデータ片57Cを取り出し、それをビット列14Cとして転送装置20に送信する。ビット列14Cの上位2ビットは、コントローラ10に送信するデータ41C(“1101”)の下位2ビット(“01”)であり、ビット列14Cの下位2ビットは、コントローラ10に送信するデータ41C(“1101”)の上位2ビット(“11”)である。これは、データ41Cがビット列13の上位8ビットと下位8ビットの境界を跨いでいることを示している。
図1において、転送装置20では、送受信部24は、受信したビット列14Aをデータ片32Aとして演算部23に渡し、受信したビット列14Bをデータ片32Bとして演算部23に渡し、受信したビット列14Cをデータ片32Cとして演算部23に渡す。
演算部23では、受け取ったデータ片32Aに含まれるデータ41A(“01”)と32Bに含まれるデータ41B(“1101”)とは、全てビット列13の下位8ビットに1対1の対応関係で格納できるので、データ片32Aをそのままデータ片31Aとしてレジスタ23aに格納し、データ片32Bをそのままデータ片31Bとしてレジスタ23bに格納する。
一方、演算部23では、受け取ったデータ片32Cに含まれるデータ41C(“01”“11”)は、上位2ビットと下位2ビットに別れているので、それらを分離しビット位置を合わせるため、受け取ったデータ片32Cを論理積回路23c、23dに与える。
論理積回路23cでは、データ片32Cのデータ“01000011”と16進数で「C0」と表記される定数“11000000”との論理積を取って“01000000”なるデータ片31Caを生成し、それをレジスタ23eに格納する。また、論理積回路23dでは、データ片32Cのデータ“01000011”と16進数で「03」と表記される定数“00000011”との論理積を取って“00000011”なるデータ片31Cbを生成し、それをデータ片28bとする。
そして、演算部23では、レジスタ23aに格納したデータ片31Aとレジスタ23bに格納したデータ片31Bとレジスタ23eに格納したデータ片31Caとの論理和を取って“01110101”なるデータ片28aを生成し、それを下位データ片22aとして送信バッファ22に格納する。また、演算部23では、論理積回路23dにて生成されたデータ片28bを上位データ片22bとして送信バッファ22に格納する。これによって、送信部21は、送信バッファ22に格納されている下位データ片22aと上位データ片22bとを連続したビット列13としてコントローラ10に送信する。
ここで、図5と図6を参照して、転送装置20がビット列14qからビット列13を作成する処理内容を具体的に説明する。なお、図5では、転送装置20が8ビットのマイコンを用いて処理を実行する場合が示されている。また、図6は、図5に示すd部に関する処理内容の詳細を説明する図である。
図5において、転送処理では、定数定義部にて定数を定め、変数定義部にて変数を宣言し、変数の初期化部にて変数の初期値を定めた後、get_sensor_actuator_network_data()関数にてビット列14qの値を配列変数d14に格納し、続くforループにて、ビット列14qを配列変数d13に収合して、set_field_network_data()関数にてビット列13として配列変数d13をコントローラ10に送信する処理が行われる。
図6において、欄(イ)は図5に示すd部での処理を示し、欄(ロ)は実際にマイコンが行う処理動作を示し、欄(ハ)は所要クロック数を示している。欄(ハ)では、マイコンが一行分の処理を行うのに要するクロック数を1とし、条件判断の結果実行されない行のクロック数を0とし、実行される行のクロック数を1として表し、最下段にクロック数の合計が示されている。
図6の欄(ロ)において、手順(1)から手順(5)では、変数flag_of_separate[0]が0x00であるので手順(6)に遷移する。手順(6)から手順(12)では、予め0x00が格納されている変数d13[0]に0x01が格納されている変数d0の値を論理和して、変数d13[0]の値を0x01に変化させる。手順(13)から手順(21)では、変数p50q[0]に0x00が格納されているので、q==0の処理を完了し、q==1の処理に遷移する。手順(41)から手順(45)では、変数flag_of_separate[1]が0x00であるので、手順(46)に遷移する。手順(46)から手順(52)では、0x34が格納されている変数d0を変数d13[0]に論理和して、変数d13[0]の値を0x35に変化させる。手順(53)から手順(61)では、変数p50q[1]に0x02が格納されているので、q==1の処理を完了し、q==2の処理に遷移する。
手順(81)から手順(85)では、変数flag_of_separate[3]が0x01であるので手順(102)に分岐する。手順(102)から手順(120)では、0x43が格納されている変数d0に値0xC0を論理積した結果と変数d13[0]の論理和の結果を変数d13[0]に格納して変数d13[0]の値を0x75に変化させる。また、変数d0の値に値0x03を論理積した結果を変数d13[1]に格納して変数d13[1]の値を0x03に変化させる。これによって、配列変数d13にビット列14qを格納する処理が完了する。
以上の処理によって、命令一つ当たりの所要クロック数が全て1クロックの場合に図5に示すd部の処理を実行するには、図6の欄(ハ)に示すように、計60クロックを要することが分る。これに対して、従来例(図21)では、データ転送の処理に116クロックを要していた。すなわち、この実施の形態によれば、従来例(図21)の約半分以下のクロック数で転送処理を完了することができるので、転送装置の処理時間を大幅に短縮する効果を奏することが分る。
次に、図7と図8は、入出力装置50qが入力54qkから転送装置20に送信するビット列14qを決定する処理内容を具体的に説明する図である。なお、図7では、入出力装置50qが8ビットのマイコンを用いて処理を実行する場合が示されている。また、図8では、図7に示すe部に関する処理内容の詳細が示されている。
図7において、入出力装置50qでは、定数定義部にて定数を定め、変数定義部にて変数を宣言し、それを入出力装置50q毎に適用した後に、get_port_status()関数にて入力54qk(k=0〜3)の値を変数d54qkに格納し、変数d52qに値0x00を格納した後、変数d54qkの値が0x00ではない場合には変数t55qkの値を変数d52qに論理和して入力54qkの状態を変数d52qに格納し、set_sensor_actuator_network_data()関数にてビット列14qとして変数d52qを転送装置20に送信する処理が行われる。
図8において、欄(イ)は図7に示すe部での処理を示し、欄(ロ)は実際にマイコンが行う処理動作を示し、欄(ハ)は所要クロック数を示している。欄(ハ)では、マイコンが一行分の処理を行うのに要するクロック数を1とし、条件判断の結果実行されない行のクロック数を0とし、実行される行のクロック数を1として表し、最下段にクロック数の合計が示されている。
図8の欄(ロ)において、入出力装置50Aでのマイコンは、手順(1)では、変数d52qに値0x00を格納する。手順(2)から手順(7)では、入力54A0がONであるので、変数d54q0には値0x01が格納されている。つまり、d54q0の値が値0x00と異なるので、変数d52qに変数t55q0の値0x01が論理和され、変数d52qに値0x01が格納される。手順(8)から手順(13)では、入力54A1がOFFであるので、変数d54q1には値0x00が格納されている。つまり、d54q1の値が値0x00であるので、変数d52qには演算は施さず、変数d52qに入力54A0および入力54A1の状態を格納し、処理を完了する。
以上の処理によって、命令一つ当たりの所要クロック数が全て1クロックの場合に図7に示すe部の処理を実行するには、図8の欄(ハ)に示すように、計9クロックを要することが分る。これに対し、従来例(図15)では、処理の実行に要したクロック数は9クロックであった。すなわち、この実施の形態によれば、入出力装置の処理時間を維持したまま、転送装置の処理時間を大幅に短縮できるようになっている。
以上のように、この発明にかかるデータ収集システムは、1台のコントローラが1以上の入力装置から個別にデータを収集する処理の性能を向上するのに有用である。
この発明の一実施の形態であるデータ収集システムの構成と転送装置の処理内容を説明する図である。 図1に示す入出力装置の構成と処理内容を説明する図である。 図1に示す入出力装置の構成と処理内容を説明する図である。 図1に示す入出力装置の構成と処理内容を説明する図である。 図1に示す転送装置が各入出力装置から受信したビット列に基づきコントローラに転送するビット列を作成する処理内容を具体的に説明する図である。 図5に示すd部に関する処理内容の詳細を説明する図である。 図1に示す入出力装置が入力状態に基づき転送装置に送信するビット列を決定する処理内容を具体的に説明する図である。 図7に示すe部に関する処理内容の詳細を説明する図である。 フィールドネットワークとセンサ・アクチュエータネットワークを階層化する場合の概念図である。 図9に示す一つのグループにおける入出力装置からのデータ収集を説明する図である。 図10に示す転送装置が入出力装置から受け取った送信フレームからコントローラ宛の送信フレームを生成する処理内容を具体的に説明する図である。 図11に示すa部に関する処理内容の詳細を説明する図である。 図10に示す入出力装置が入力状態から転送装置に送信するデータ片を決定する処理内容を具体的に説明する図である(入力ポートが同一アドレスの場合)。 図10に示す入出力装置が入力状態から転送装置に送信するデータ片を決定する処理内容を具体的に説明する図である(入力ポートが異なるアドレスの場合)。 図14に示すb部に関する処理内容の詳細を説明する図である。 従来の階層化されたデータ収集システムの構成と転送装置の処理内容を説明する図である。 図16に示す従来のデータ収集システムにおける入出力装置の構成と処理内容を説明する図である。 図16に示す従来のデータ収集システムにおける入出力装置の構成と処理内容を説明する図である。 図16に示す従来のデータ収集システムにおける入出力装置の構成と処理内容を説明する図である。 図16に示す転送装置が各入出力装置から受信したビット列に基づきコントローラに転送するビット列を作成する処理内容を具体的に説明する図である。 図20に示すc部に関する処理内容の詳細を説明する図である。
符号の説明
10 コントローラ
12 フィールドネットワーク
13、14A、14B、14C ビット列
17 センサ・アクチュエータネットワーク
20 転送装置
21 送信部
22 送信バッファ
23 演算部
24 送受信部
23a、23b、23e レジスタ
23c、23d 論理積回路
28a、28b、31A、31B、31Ca、31Cb、32A、32B、32C データ片
45a、45b、45c テンプレート情報
50A、50B、50C 入出力装置
51A、51B、51C 送受信部
52A、52B、52C データ片記憶部
53A0、53A1、53B0、53B1、53B2、53B30、53C0、53C1、53C2、53C3 データ生成部
54A0、54A1、54B0〜54B3、54C0〜54C3 入力
55A0、55A1、55B0〜55B3、55C0〜55C3 テンプレート記憶部
56A0、56A1、56B0〜56B3、56C0〜56C3 データ片生成部
57A、57B、57C、58A0、58A1、58B0〜58B3、58C0〜58C3 データ片

Claims (1)

  1. 1台のコントローラが転送装置を介して1以上の入力装置の入力状態を収集するデータ収集システムにおいて、
    前記転送装置は、
    前記1以上の入力装置から受信した個別データに対しビットシフト操作を施すことなく論理演算のみの操作によって前記個別データを所定の順序に配列したビット列を生成し前記コントローラに送信する手段と、
    前記ビット列におけるビット位置と前記個別データとの対応関係を示すテンプレート情報を対応する入力装置に対して送信する手段とを備え、
    前記入力装置は、
    前記転送装置から受信したテンプレート情報を記憶する手段と、
    入力状態と前記記憶されたテンプレート情報とに基づき前記転送装置に送信する個別データを生成する手段とを備える
    ことを特徴とするデータ収集システム。
JP2003415073A 2003-12-12 2003-12-12 データ収集システム Expired - Fee Related JP4137778B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2003415073A JP4137778B2 (ja) 2003-12-12 2003-12-12 データ収集システム
EP04732196A EP1693987B1 (en) 2003-12-12 2004-05-11 Data collection system
KR1020057018508A KR100731431B1 (ko) 2003-12-12 2004-05-11 데이터 수집 시스템
PCT/JP2004/006616 WO2005057861A1 (ja) 2003-12-12 2004-05-11 データ収集システム
DE602004029081T DE602004029081D1 (de) 2003-12-12 2004-05-11 Datensammelsystem
US10/544,916 US7325080B2 (en) 2003-12-12 2004-05-11 Data collection system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003415073A JP4137778B2 (ja) 2003-12-12 2003-12-12 データ収集システム

Publications (2)

Publication Number Publication Date
JP2005174105A JP2005174105A (ja) 2005-06-30
JP4137778B2 true JP4137778B2 (ja) 2008-08-20

Family

ID=34675114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003415073A Expired - Fee Related JP4137778B2 (ja) 2003-12-12 2003-12-12 データ収集システム

Country Status (6)

Country Link
US (1) US7325080B2 (ja)
EP (1) EP1693987B1 (ja)
JP (1) JP4137778B2 (ja)
KR (1) KR100731431B1 (ja)
DE (1) DE602004029081D1 (ja)
WO (1) WO2005057861A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004062683A1 (de) * 2004-12-21 2006-06-29 Bosch Rexroth Aktiengesellschaft Verfahren zur Regelung einer Übertragung mit kurzen Datentelegrammen
JP7443678B2 (ja) * 2019-01-30 2024-03-06 富士電機株式会社 端末装置、通信システム及び端末装置の通信方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0382246A3 (en) 1989-02-09 1991-09-11 Nec Corporation Bit addressing system
US5818725A (en) 1993-08-11 1998-10-06 First Pacific Networks System for utility demand monitoring and control
US5751572A (en) * 1996-06-22 1998-05-12 Carrier Corporation HVAC communication network
JPH10320039A (ja) 1997-05-22 1998-12-04 Mitsubishi Electric Corp プラント制御システム
US6223285B1 (en) * 1997-10-24 2001-04-24 Sony Corporation Of Japan Method and system for transferring information using an encryption mode indicator
JP2000174713A (ja) 1998-12-08 2000-06-23 Fujitsu Ltd 監視情報転送方式
JP2001074713A (ja) 1999-09-08 2001-03-23 Nkk Corp タンク検査装置
US7006631B1 (en) * 2000-07-12 2006-02-28 Packet Video Corporation Method and system for embedding binary data sequences into video bitstreams
US6708239B1 (en) 2000-12-08 2004-03-16 The Boeing Company Network device interface for digitally interfacing data channels to a controller via a network
JP3804770B2 (ja) 2001-11-12 2006-08-02 オムロン株式会社 制御システム及びスレーブ

Also Published As

Publication number Publication date
KR100731431B1 (ko) 2007-06-21
EP1693987B1 (en) 2010-09-08
US7325080B2 (en) 2008-01-29
US20060085571A1 (en) 2006-04-20
EP1693987A1 (en) 2006-08-23
EP1693987A4 (en) 2009-07-29
JP2005174105A (ja) 2005-06-30
DE602004029081D1 (de) 2010-10-21
WO2005057861A1 (ja) 2005-06-23
KR20060036376A (ko) 2006-04-28

Similar Documents

Publication Publication Date Title
US9898611B2 (en) Method and apparatus for scrambling a high speed data transmission
EP0752654A2 (en) Checksum generation circuit and method
US20020011996A1 (en) Image display system
CN104243300A (zh) 包处理方法以及包处理装置
US20130070789A1 (en) Information processing apparatus, communication method and storage medium
JPH0715354A (ja) Crcコードの確認方法及び装置
EP0253940B1 (en) Method and system of routing data blocks in data communication networks
WO2016037474A1 (zh) 定帧方法及装置
JP2002032018A (ja) データ暗号化標準アルゴリズムを利用した暗号化装置
JP2002524904A (ja) Crcコードを生成するための並列crc生成回路
CN105262644B (zh) 一种基于协议配置的通用测试系统及测试方法
JP4137778B2 (ja) データ収集システム
CN100372318C (zh) 10g网络性能测试系统并行流调度方法
JP4137773B2 (ja) データ分配システム
CN112256617B (zh) 一种提升设备串口通信效率的方法及终端
CN102932276A (zh) 计算节点集群系统和数据中继器
JPH11177592A (ja) データ伝送装置
CN112003878B (zh) 一种串行通信装置和系统
JP2019185193A (ja) Kvmシステム
JPS6273826A (ja) フレ−ム送受信方式
JP4604354B2 (ja) 情報入出力装置
JP2786161B2 (ja) データ転送方法
CN106375243B (zh) 数据处理设备和光传送网络交换机
SU983705A1 (ru) Устройство дл арифметической и логической обработки двоичных чисел
JP2004240298A (ja) ハッシュ関数処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051208

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

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

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130613

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees