以下、本願の多重化通信システムを具現化した一実形態について図を参照して説明する。図1は、本願の多重化通信システムを適用する装置の一例である電子部品装着装置(以下、「装着装置」と略する場合がある)10のシステム構成を模式的に示している。
(装着装置の構成)
図1に示すように、装着装置10は、固定部11と、可動部13とを備えている。固定部11と可動部13とは、多重通信回線を介して接続されている。固定部11は、システム制御装置21と、サーボコントローラ22と、画像処理装置23と、シーケンサ24と、第1スレーブ25と、第1バーコードリーダ(BCR)26と、第1多重通信装置29とを有している。また、可動部13は、2組のサーボアンプ/モータ31,32と、カメラ33と、2台のスレーブ(第2スレーブ34及び第3スレーブ35)と、2台のバーコードリーダ(第2バーコードリーダ36及び第3バーコードリーダ37)と、第2多重通信装置39とを有している。本実施形態の装着装置10は、例えば、システム制御装置21の制御に基づいて、固定部11が有するテープフィーダ(図示略)から供給された電子部品を、可動部13が有する装着ヘッド(図示略)により吸着保持して回路基板に装着する装置である。
システム制御装置21は、例えば、CPUを主体として構成されている。システム制御装置21は、サーボコントローラ22、画像処理装置23及びシーケンサ24と接続されており、これらの装置を制御することで装着装置10を統括的に制御する。
サーボコントローラ22は、産業用ネットワーク、例えば、MECHATROLINK(登録商標)−III規格に準拠したイーサネット(登録商標)によって、サーボアンプ/モータ31,32を制御する制御データ(イーサネットフレーム)を伝送する。サーボコントローラ22は、例えば、産業用ネットワークのマスターとして機能し、2つのスレーブ(サーボアンプ/モータ31,32)が後段に接続されたネットワークを構築する。サーボコントローラ22から送信されたイーサネットフレームは、サーボアンプ/モータ31,32の各々に伝送される。サーボコントローラ22は、MECHATROLINK(登録商標)−III規格に準拠したイーサネット(登録商標)用のLANケーブル41を介して第1多重通信装置29と接続されている。
なお、本願における産業用ネットワークの通信プロトコルとしては、MECHATROLINK(登録商標)−IIIに限らず、例えば、EtherCAT(登録商標)、SERCOS(登録商標)−IIIなどの産業用イーサネット(登録商標)を採用することができる。
第1多重通信装置29は、ギガビット・イーサネット(登録商標)用LAN(以下、「GbELAN」と表記する)ケーブル43を介して第2多重通信装置39と接続されている。第1及び第2多重通信装置29,39は、上記した産業用ネットワークの制御データ等を、例えば、時分割多重化方式(TDM:Time Division Multiplexing)で多重化し多重化データとして送受信する。なお、第1多重通信装置29と第2多重通信装置39との間の多重化通信の内容については後述する。また、第1多重通信装置29と第2多重通信装置39との接続は、GbELANケーブル43に限らず、他の有線通信(例えば、光ファイバーケーブルやUSBケーブルなど)でもよい。また、第1多重通信装置29と第2多重通信装置39との多重通信は、有線通信に限らず無線通信でもよい。
第2多重通信装置39は、ローカル側において、MECHATROLINK(登録商標)−III規格に準拠したイーサネット(登録商標)用のLANケーブル45を介してサーボアンプ/モータ31,32と接続されている。サーボアンプ/モータ31,32の各々は、例えば、駆動源としてのサーボモータ、当該サーボモータの回転位置等を検出するエンコーダ等を備えている。サーボアンプ/モータ31,32は、多重通信を介してサーボコントローラ22へエンコーダの検出信号を送信し、サーボコントローラ22からの制御に基づいて、例えば、可動部13の装着ヘッド(図示略)の吸着ノズルを昇降、自転等させる。
また、システム制御装置21は、画像処理装置23を介して、第1多重通信装置29と接続されている。画像処理装置23は、可動部13のカメラ33で撮像された画像データを処理する。画像処理装置23は、LANケーブル47を介して第1多重通信装置29と接続されている。また、カメラ33は、LANケーブル49を介して第2多重通信装置39と接続されている。カメラ33は、例えばGigE-vision(登録商標)等の画像伝送規格により、LANケーブル49を介して撮像した画像データを第2多重通信装置39に出力する。カメラ33は、例えば、装着装置10で搬送される回路基板のマークを撮像するマークカメラや、装着ヘッドに保持した電子部品を撮像するパーツカメラである。
画像処理装置23は、第1多重通信装置29及び第2多重通信装置39を介して撮像の開始を示すトリガ信号をカメラ33に送信する。カメラ33は、トリガ信号の受信に応じて撮像を行い、撮像した画像データを第2多重通信装置39へ出力する。画像処理装置23は、カメラ33で撮像した画像データを処理することで、回路基板の位置や装着ヘッドに保持された電子部品の位置を検出する。システム制御装置21は、画像処理装置23で検出した位置に基づいて、回路基板等の位置を補正したり、次の制御内容を決定したりする。
また、システム制御装置21は、シーケンサ24を介して第1多重通信装置29と接続されている。シーケンサ24は、例えば、RS−485規格やRS−422規格などのシリアル通信規格に準拠した通信ケーブル51及び第1スレーブ25を介して、第1多重通信装置29に接続されている。また、第2多重通信装置39は、ローカル側において、RS−485等のシリアル通信規格に準拠した通信ケーブル53を介して第2スレーブ34及び第3スレーブ35と接続されている。シーケンサ24は、これらの第1〜第3スレーブ25,34,35と半2重通信を実行する。
また、シーケンサ24は、例えば、CC−Link(登録商標)やCUNET(登録商標)に準拠した通信規格により、第1〜第3スレーブ25,34,35を制御する。第1〜第3スレーブ25,34,35は、例えば、各種のセンサ38などの素子が接続されており、シーケンサ24の制御に基づいてセンサ38等に入出力される信号を処理する。なお、第1〜第3スレーブ25,34,35に接続される素子は、センサ38に限らず、例えば、警告ランプでもよい。シーケンサ24は、例えば、第1〜第3スレーブ25,34,35に対してマスターとして機能し、第1〜第3スレーブ25,34,35が後段に接続された産業用ネットワークを構築する。シーケンサ24から送信された制御データ(処理対象データの一例)は、第1〜第3スレーブ25,34,35の各々に伝送される。例えば、シーケンサ24は、CC−Link(登録商標)等の通信によって、第2スレーブ34に向けてセンサ38の検出結果を要求する。第2スレーブ34は、シーケンサ24からの要求を受信することに応じて、センサ38の検出結果をCC−Link(登録商標)等の通信によって、シーケンサ24に向けて送信する。
また、シーケンサ24は、例えば、RS−485規格やRS−422規格などのシリアル通信規格に準拠した通信ケーブル55及び第1バーコードリーダ26を介して、第1多重通信装置29に接続されている。また、第2多重通信装置39は、ローカル側において、RS−485等のシリアル通信規格に準拠した通信ケーブル57を介して第2バーコードリーダ36及び第3バーコードリーダ37と接続されている。シーケンサ24は、これらの第1〜第3バーコードリーダ26,36,37と半2重通信を実行する。
第1〜第3バーコードリーダ26,36,37は、例えば、回路基板やテープフィーダに識別情報として付されたバーコードラベルの読み込み処理を実行する。シーケンサ24は、第1〜第3バーコードリーダ26,36,37で読み込んで検出した識別情報をシステム制御装置21へ通知する。システム制御装置21は、例えば、シーケンサ24の検出情報に基づいて、搬入された回路基板や補給されたテープフィーダの種類が正しいか否かを判定することができる。
(第1多重通信装置29の内部構成)
次に、第1多重通信装置29の内部構成について説明する。図2は、第1多重通信装置29の内部構成を示している。本実施形態の第1多重通信装置29及び第2多重通信装置39は、LANケーブル41,47及び通信ケーブル51,55の4つの回線を多重化する。なお、第2多重通信装置39の内部構成は、第1多重通信装置29と同様であるため、その説明を省略する。
図2に示すように、第1多重通信装置29は、多重側物理層用PHY−IC61、多重処理部62、及びローカル側物理層用PHY−IC63,64、RS−485DRIVER−IC65,66を有する。また、多重処理部62は、多重通信プロトコル処理部71、入出力処理部72,73,74,75を有している。多重処理部62は、例えば、フィールドプログラマブルゲートアレイ(FPGA)といった論理回路で構築されている。なお、多重処理部62は、論理回路に限らず、例えば、通信制御に特化した特定用途向け集積回路(ASIC)でもよく、これらと論理回路とを組み合わせたものでもよい。
多重側物理層用PHY−IC61は、1000base−t用の物理層のICであり、GbELANケーブル43を介して第2多重通信装置39(図1参照)と接続されている。多重側物理層用PHY−IC61は、例えば、GbELANケーブル43を流れるアナログ信号をデジタル信号に変換して多重通信プロトコル処理部71に出力する。
ローカル側物理層用PHY−IC63は、100base−tx用の物理層のICであり、LANケーブル41を介してサーボコントローラ22(図1参照)と接続されている。同様に、ローカル側物理層用PHY−IC64は、100base−tx用の物理層のICであり、LANケーブル47を介して画像処理装置23(図1参照)と接続されている。ローカル側物理層用PHY−IC63,64の各々は、例えば、LANケーブル41等を介して入力したアナログ信号をデジタル信号に変換して入出力処理部72,73のそれぞれに出力する。
また、RS−485DRIVER−IC65は、RS−485規格に準拠した物理層のICであり、通信ケーブル51を介して第1スレーブ25やシーケンサ24(図1参照)と接続されている。同様に、RS−485DRIVER−IC66は、RS−485規格に準拠した物理層のICであり、通信ケーブル55を介して第1バーコードリーダ26やシーケンサ24(図1参照)と接続されている。本実施形態のRS−485DRIVER−IC65,66は、入出力処理部74,75からの制御に基づいて、RTS(送信リクエスト)端子から出力する送受信切替信号RTSの信号レベルが変更される。なお、送受信切替信号RTSの制御の詳細については後述する。
多重通信プロトコル処理部71は、第1多重通信装置29及び第2多重通信装置39間で送受信される多重化データの多重化処理又は分離処理を実行する。第1多重通信装置29及び第2多重通信装置39は、例えば、後述する8ビットの多重化データ(図3及び図4参照)の1フレーム当りの周期が8nsec(周波数が125MHz)に設定され、1Gbps(8ビット×125MHz)の多重通信回線を構築する。この通信回線は半2重通信である。
多重通信プロトコル処理部71は、GMII−I/Fデータ入力部81、GMII−I/Fデータ出力部82、多重混合部84、及び多重分離部85を有する。GMII−I/Fデータ入力部81及びGMII−I/Fデータ出力部82は、例えば、多重側物理層用PHY−IC61(物理層デバイス)と、多重処理部62(FPGA)とを接続するためのIEEE802.3で規定しているGMII(Gigabit Media Independent Interface)といったインタフェースとして機能する。
多重混合部84は、ローカル側の装置(サーボコントローラ22など)から入出力処理部72〜75を介して入力した各種データを多重化した多重化データを生成し、生成した多重化データをGMII−I/Fデータ出力部82を介して第2多重通信装置39へ送信する。
多重分離部85は、第2多重通信装置39からGMII−I/Fデータ入力部81を介して入力した多重化データを分離する処理を実行する。多重分離部85は、分離したデータを対応する入出力処理部72〜75の各々に出力する。
入出力処理部72〜75は、多重化の対象となるデータの入出力処理を実行する。入出力処理部72は、MII−I/Fデータ入力部91A、MII−I/Fデータ出力部92A、受信バッファ93A、及び送信バッファ94Aを有する。同様に、入出力処理部73は、MII−I/Fデータ入力部91B、MII−I/Fデータ出力部92B、受信バッファ93B、及び送信バッファ94Bを有する。なお、LANケーブル47(画像処理装置23)に接続される入出力処理部73は、LANケーブル41(サーボコントローラ22)に接続される入出力処理部72と同様の構成であるため、その説明を適宜省略する。
入出力処理部72のMII−I/Fデータ入力部91A及びMII−I/Fデータ出力部92Aは、例えば、ローカル側物理層用PHY−IC63(物理層デバイス)と、多重通信プロトコル処理部71等(FPGA)とを接続するためのIEEE802.3で規定しているMII(Media Independent Interface)といったインタフェースとして機能する。MII規格では、例えば、転送クロックの周波数を25MHzに設定し、データを4ビット単位で転送する。
受信バッファ93Aは、LANケーブル41を介してサーボコントローラ22から受信したデータを一時的に蓄積する。受信バッファ93Aは、上記した多重通信回線の転送クロックである125MHzと、ローカル側のMIIの転送クロックである25MHzとの転送レートの差を吸収するためのバッファとして機能する。
送信バッファ94Aは、GbELANケーブル43を介して第2多重通信装置39(サーボアンプ/モータ31,32)から受信したデータを一時的に蓄積し、転送レートの差を吸収するためのバッファとして機能する。また、MII−I/Fデータ出力部92Aは、多重通信におけるジッタを保障する。ここでいうジッタとは、例えば、通信回線の輻輳などの様々な要因に起因して発生する多重化データの到達間隔の揺らぎである。MII−I/Fデータ出力部92Aは、多重通信のジッタ(例えば、図3及び図4に示す1サイクル(30クロック)など)を考慮して予め設定した閾値分(例えば、4ビット)のデータが送信バッファ94Aに蓄積されることに基づいて、送信バッファ94A内のデータのローカル側(サーボコントローラ22)に向けた連続送信を開始する。また、MII−I/Fデータ出力部92Aは、例えば、送信バッファ94A内に所定時間以上データが入力されない場合、多重化データ(1フレームのデータ)の区切り(IPG:Inter-Packet Gap)と判断し、連続送信を停止する。
ここで、例えば、閾値(4ビット)未満で連続送信を開始すると、ジッタにより送信バッファ94A内のデータがなくなり、MII−I/Fデータ出力部92Aは、出力データの連続性を保障できない。その結果、ローカル側のサーボコントローラ22は、データを正常に受信できなくなる虞がある。これに対し、本実施形態のMII−I/Fデータ出力部92Aは、上記したようにジッタを保障することで、ローカル側の装置に対するデータの連続性を確保している。
また、RS−485規格の通信に対応する入出力処理部74は、RS−485データ入力部101A、RS−485データ出力部102A、受信バッファ103A、及び送信バッファ104Aを有する。また、入出力処理部75は、RS−485データ入力部101B、RS−485データ出力部102B、受信バッファ103B、及び送信バッファ104Bを有する。なお、入出力処理部74,75の説明において、入出力処理部72,73と同様の構成については、その説明を適宜省略する。
RS−485データ入力部101A,101B及びRS−485データ出力部102A,102Bは、RS−485規定に準拠したインタフェースであり、物理層のIC(RS−485DRIVER−IC65,66)と接続される。受信バッファ103A,103Bは、通信ケーブル51,55を介して受信したデータを一時的に蓄積し、転送レートの差を吸収するためのバッファとして機能する。送信バッファ104A,104Bは、GbELANケーブル43を介して第2多重通信装置39(第2スレーブ34や第2バーコードリーダ36など)から受信したデータを一時的に蓄積し、転送レートの差を吸収するためのバッファとして機能する。また、RS−485データ出力部102A,102Bは、MII−I/Fデータ出力部92Aと同様に、多重通信におけるジッタを保障する。これにより、ローカル側の装置(シーケンサ24)に対するデータの連続性を確保する。
(多重化データのデータ構成)
次に、第1多重通信装置29と第2多重通信装置39との間で送受信される多重化データ(フレームデータ)について説明する。図3及び図4は、多重化データの各ビット位置のデータを示している。図3及び図4の第2列目は、多重化データの各ビットの位置を示している。例えば、「B0」は、0番目のビット位置を示している。多重化データは、例えば、1フレームが8ビットで構成されている。第1及び第2多重通信装置29,39は、1フレーム当りの周期が8nsec(周波数が125MHz)に設定され、1Gbps(8ビット×125MHz)の通信回線(半2重通信回線)を構築する。従って、第1及び第2多重通信装置29,39間の1000base−tのデータの最小単位は、GMIIのデータ単位(125MHz*8BIT)と一致している。
図3及び図4の第3列目(0クロック)から第17列目(14クロック)には、多重化データを送信する1クロック(例えば8nsec)ごとに送信されるデータを示している。多重化データは、30クロックを1サイクル(1周期)として、半周期ごとに送受信が切り替えられる。図3及び図4の第1列目には、通信方向が記載されている。図3は、一例として、固定部11から可動部13に多重化データを送信する半周期(1/2サイクル)の0〜14クロックを示している。半2重通信であるため、可動部13から固定部11に向かうデータは、記載されていない。同様に、図4は、一例として、可動部13から固定部11に多重化データを送信する半周期の15〜29サイクルを示している。従って、図3及び図4に示す例では、第1及び第2多重通信装置29,39は、14クロック目又は29クロック目で互いに同期を取って送信停止状態となり、送受信を切り替える。
なお、図4に示す可動部13(第2多重通信装置39)から固定部11(第1多重通信装置29)に向かう多重化データは、図3に示す固定部11から可動部13に向かう多重化データと同様の構成となっている。このため、以下の説明では、図3を主に説明する。
図3に示すように、多重化データは、1/2サイクル(15クロック)のうち、最初の2クロック(図中のクロック0,1)で、プリアンブルデータを送信する。このプリアンブルデータは、例えば、ヘッダー情報などの制御情報である。
また、多重化データは、2〜13クロックの先頭5ビット(「B0」〜「B4」)に、サーボコントローラ22及び画像処理装置23に係わるデータ(イーサネット(登録商標)に係わるデータ)がビット割り当てされている。「B0」〜「B3」に示される「MII」の次の番号は、回線番号を示している。また、ハイフン(−)以下の番号は、受信バッファ93A,93B(図2参照)に蓄積された順番を示している。例えば、「MII1−1」は、LANケーブル41に接続される受信バッファ93Aに1番目に蓄積され送信されたデータを示している。また、例えば、「MII2−2」は、LANケーブル47に接続される受信バッファ93Bに2番目に蓄積され送信されたデータを示している。また、「B4」の「MII1−1有」等は、対応する番号のデータの有無を示す情報である。例えば、「MII1−1有」に1ビットが設定されている場合、「MII1−1」にデータが設定されていることを示し、0ビットが設定されている場合、「MII1−1」にデータが設定されていないことを示している。
ここで、第1及び第2多重通信装置29,39は、遅延やジッタを最小としながら一定の固定間隔で多重化データを送受信する。このため、例えば、多重化データ(多重化通信回線)のデータ転送レートに対して低速なエンコーダの信号が各ビット位置に設定されていない場合もある。従って、多重化データには、常に有効なデータが設定されているとは限らない。第1及び第2多重通信装置29,39は、ローカル側に送信すべきデータがないにも係わらず、ローカルの装置に向けて送信処理を実行すると、通信異常となる。これに対し、上記したように、MIIの最小単位である4ビット(MII1−1等)のデータ毎にデータ有無のフラグ(M1−1有等)を付加することで、第1及び第2多重通信装置29,39は、ローカル側に送信すべきデータが存在しないときは、データを出力しない。これにより、通信異常を防ぐことができる。
また、2〜9クロックの「B5」のビット位置には、第2及び第3バーコードリーダ36,37に係わるデータがビット割り当てされている。第2及び第3バーコードリーダ36,37に係わるデータは、読み込み指示データや読み込みデータ等(図中の「Rデータ」)と、そのデータの有無を示す情報(図中の「R有無」)とが1クロックごとに交互に、多重化データに対して設定されている。この第2及び第3バーコードリーダ36,37に係わるデータ(「Rデータ」)を割り当てるデータ領域は、本願の第1データ格納領域の一例である。第2及び第3バーコードリーダ36,37のRS−485規格に準拠したデータは、例えば、多重混合部84(図2参照)によって1ビットごとに分割され、「B5」のビット位置にビット割り当てされ多重化される。なお、図中の「空き」は、データが設定されていないビットを示している。また、10〜13クロックの「B5」のビット位置には、第2及び第3バーコードリーダ36,37に係わるデータの誤りを訂正するための誤り訂正符号(4ビット)がビット割り当てされている。誤り訂正符号は、例えば、前方誤り訂正FECのハミング符号(15,11)の短縮形である。
また、2〜9クロックの「B6」のビット位置には、第1〜第3スレーブ25,34,35の産業用ネットワーク内を伝送するデータがビット割り当てされている。多重化データは、最初の5クロック(2〜6クロック)に、第1〜第3スレーブ25,34,35に係わるデータ(図中の「Cデータ1〜5」)が5ビットだけ設定されている。この5ビットのデータは、図3であればセンサ38に対する読み込み指示データ等であり、図4であればセンサ38の検出信号等である。この第1〜第3スレーブ25,34,35に係わるデータ(「Cデータ1〜5」)を割り当てるデータ領域は、本願の第2データ格納領域の一例である。また、残りの3クロック(7〜9クロック)には、2〜6クロックにおける5ビットの「Cデータ1〜5」のうち、データを設定した有効なビット数を示す情報(図中の「Cデータ有効個数」)が設定されている。従って、第1〜第3スレーブ25,34,35に係るデータは、上記した第2及び第3バーコードリーダ36,37のデータとは異なり、最初の5クロックだけデータを送信した後、その5クロックのうち、何ビットが有効なデータであるかを示す情報(「Cデータ有効個数」)を後から送信される。
例えば、第1多重通信装置29の多重混合部84(図2参照)は、シーケンサ24や第1スレーブ25から通信ケーブル51を介して3ビットのデータを入力した場合、最初の2〜4クロック(Cデータ1〜3)において「B6」のビット位置に入力したデータを設定して送信する。また、多重混合部84は、次の5,6クロックにおいて「B6」のビット位置に無効なデータ(例えば、「0」)を設定して送信する。そして、多重混合部84は、7〜9クロックにおいて、最初の3ビット(Cデータ1〜3)に有効なデータを設定したことを示すビット値(例えば、「3」)を、「Cデータ有効個数」として設定し送信する。この場合、多重混合部84は、送信前に、有効なデータ数を判定する処理が必要となる。なお、10〜13クロックの「B6」のビット位置には、前方誤り訂正FECのハミング符号(15,11)の短縮形符号がビット割り当てされている。
また、2〜9クロックの「B7」のビット位置には、コマンドデータ(図中のCMD−B0〜B7)がビット割り当てされている。このコマンドデータは、例えば、第1多重通信装置29から第2多重通信装置39に対する制御コマンドである。また、図4に示すように、第2多重通信装置39から第1多重通信装置29に向けた多重化データは、2〜9クロックの「B7」のビット位置に、コマンドエラーを示すデータ(図中のERR−B0〜B7)がビット割り当てされる。このコマンドエラーを示すデータは、例えば、多重化データの受信エラーを通知するデータである。また、図3に示すように、10〜13クロックの「B7」のビット位置には、前方誤り訂正FECのハミング符号(15,11)の短縮形符号がビット割り当てされている。
(入出力処理部74,75の制御内容)
次に、第1及び第2多重通信装置29,39のRS−485規格の通信に係る制御内容について説明する。図5は、一例として、第1多重通信装置29の入出力処理部74の制御内容を状態遷移図で示している。また、図6は、シーケンサ24、第1〜第3スレーブ25,34,35の通信動作を示している。なお、第1多重通信装置29の入出力処理部75や、第2多重通信装置39のRS−485規格の通信を行う入出力処理部(図示略)の制御内容は、図5に示す入出力処理部74の制御内容と同様であるため、その説明を省略する。
まず、入出力処理部74は、図5に示すステップ(以下、単に「S」と表記する)21において、通信ケーブル51,53等を接続した状態で第1及び第2多重通信装置29,39の電源が投入されると初期化処理1を実行する。本実施形態の入出力処理部74は、誤り検出の回数を計測するための異常カウンタ(図示略)と、タイムアウトエラーを検出するためのタイマー(図示略)とを有している。入出力処理部74は、初期化処理1において、異常カウンタ、送信バッファ104A(図2参照)、受信バッファ103A、及びタイマーをクリアする。また、入出力処理部74は、例えば、RS−485DRIVER−IC65のRTS端子から出力する送受信切替信号RTSの信号レベルを初期値として受信(OFF:ローレベル)にする。
次に、入出力処理部74は、データの受信を待つ状態となる(S23、「RS−485受信データ待ち」)。入出力処理部74は、例えば、多重通信回線(GbELANケーブル43)又はローカル側(通信ケーブル51)から特定のパターンのデータ(各通信規格等で定められたデータ)などを受信するまで待機状態となる。
次に、入出力処理部74は、例えば、ローカル側の通信ケーブル51を介してシーケンサ24(第1スレーブ25)からデータを受信すると、多重通信プロトコル処理部71(図2参照)を介して第2多重通信装置39に向けたデータの送信を開始する(S25)。
ここで、従来の多重通信装置では、ローカル側からデータを受信すると、受信状態から送信状態に切り替わってしまい、タイムアウトエラーが発生していた(図8参照)。これに対し、本実施形態の第1多重通信装置29及び第2多重通信装置39は、ローカル側からデータを受信し、多重通信回線を介して送信したとしても、送受信切替信号RTSを受信状態(初期値)で維持する(S25、図6の状態ST1)。これにより、仮に、第1スレーブ25に向けたデータを第2スレーブ34や第3スレーブ35へ送信して応答がない場合であっても、第1及び第2多重通信装置29,39は、タイムアウトエラーの発生を防止することができる。
また、入出力処理部74は、S25において、ローカル側から受信したデータからRS−485規格に準拠したヘッダーやフッターを検出できない状態が所定時間だけ経過すると、タイムアウト異常であると判定し送信を停止等して、S27の初期化処理2を実行してS23の状態に戻る。入出力処理部74は、初期化処理2(S27)において、送信バッファ104A、受信バッファ103A、及びタイマーをクリアする。この間、送受信切替信号RTSは、受信状態(OFF)で維持される。
また、入出力処理部74は、例えば、ローカル側から受信したRS−485規格のフレームデータのフッターを検出すると、フレームデータに付加されたCRC−16等のFCS(フレームチェックシーケンス)を計算してデータの誤りを検出する(S29)。入出力処理部74は、FCSによる誤りを検出した場合(図中の「FCS−NG」)、シーケンサ24に対する再送要求処理等の誤り異常に対応した処理を実行する(S31)。また、入出力処理部74は、ローカル側(図中の「RS−485受信側」)に対応する異常カウンタをカウントアップさせる(S31)。入出力処理部74は、例えば、異常カウンタの値が予め定められた基準値以上になると、システム制御装置21に対するエラー通知を実行する(S31)。入出力処理部74は、初期化処理2(S27)を実行してS23の状態に戻る。
また、入出力処理部74は、S29において、FCSによる誤りを検出しない場合(図中の「FCS−OK」)、正常に通信処理を終了させる。入出力処理部74は、ローカル側の異常カウンタをクリアし(S33)、初期化処理2(S27)を実行してS23の状態に戻る。
一方、入出力処理部74は、S23において、多重通信回線を介して特定パターンのデータを受信すると、データ受信待ち状態となる(S35)。また、上記したように、入出力処理部74のRS−485データ出力部102Aは、多重通信におけるジッタを保障する。RS−485データ出力部102Aは、例えば、ジッタを保障するために予め設定されたビット数以上のデータが送信バッファ104Aに蓄積されることに基づいて、送信バッファ104A内のデータのローカル側(シーケンサ24)に向けた連続送信を開始する(S37)。入出力処理部74は、一時的に送受信切替信号RTSを送信状態(ON)にする(S37)。上記したように、第2多重通信装置39は、第1多重通信装置29と同様の制御を実行する。このため、図6の状態ST2に示すように、第2多重通信装置39は、多重通信回線を介したデータを受信し、ローカル側への送信を開始する際、一時的に送受信切替信号RTSを送信状態(図中の「S」)に切り替える。
また、入出力処理部74は、S35の状態において、通信ケーブル51を介したローカル側から特定パターンのデータを受信すると、S25へ遷移しローカル側の通信処理を開始する。これにより、第1多重通信装置29は、ローカル側からのRS−485規格に係る通信データの連続性を保障する。
また、入出力処理部74は、多重通信回線を介した特定パターンのデータを検出したにも係わらず、ジッタを保障するデータ量以上のデータを受信できない状態が所定時間継続すると、タイムアウト異常と判定し、S27へ遷移する。これにより、入出力処理部74は、例えば、多重通信回線におけるノイズを特定パターンのデータとして誤って検出した場合に、一定の条件に基づいてS25やS27へ遷移することができる。即ち、第1多重通信装置29は、ノイズをデータの受信であると誤って処理する事態が抑制される。
次に、入出力処理部74は、S37において、第2多重通信装置39から受信した多重化データに付加したヘッダーやフッターを検出できない状態が所定時間だけ経過すると、タイムアウト異常であると判定し送信を停止等して、初期化処理2(S27)を実行してS23の状態に戻る。送受信切替信号RTSは、受信状態(OFF)となる(S27)。
また、入出力処理部74は、例えば、多重通信回線を介して受信したRS−485規格のフレームデータのフッターまでのローカル側に向けた送信を完了させると、フレームデータに付加されたCRC−16等のFCS(フレームチェックシーケンス)を計算してデータの誤りを検出する(S39)。また、送受信切替信号RTSは、受信状態(OFF)となる(S39)。
また、S39において、入出力処理部74は、FCSによる誤りを検出した場合(図中の「FCS−NG」)、第2多重通信装置39に対する再送要求処理等の誤り異常に対応した処理を実行する(S41)。また、入出力処理部74は、多重側(図中の「RS−485送信側」)に対応する異常カウンタをカウントアップさせる(S41)。入出力処理部74は、例えば、異常カウンタの値が予め定められた基準値以上になると、第2多重通信装置39やシステム制御装置21に対するエラー通知を実行する(S41)。入出力処理部74は、初期化処理2(S27)を実行してS23の状態に戻る。
また、入出力処理部74は、S39において、FCSによる誤りを検出しない場合(図中の「FCS−OK」)、正常に通信処理を終了させる。入出力処理部74は、多重側の異常カウンタをクリアし(S33)、初期化処理2(S27)を実行してS23の状態に戻る。このようにして、第1及び第2多重通信装置29,39は、半2重通信の切り替え制御を適切に実行することが可能となっている。
因みに、装着装置10は、作業機の一例である。シーケンサ24は、第1ノードの一例である。第2スレーブ34及び第3スレーブ35は、第2ノードの一例である。図5のS21,S23は、信号出力処理の一例である。S25は、状態維持処理の一例である。S37は、信号切替処理の一例である。
以上、詳細に説明した実施形態によれば以下の効果を奏する。
<効果1>本実施形態の第1及び第2多重通信装置29,39は、ローカル側のシーケンサ24や第1〜第3スレーブ25,34,35からRS−485規格に準拠した半2重通信のデータを受信し、多重通信回線を介して相手側に送信したとしても、送受信切替信号RTSを受信状態で維持する(S25)。
より具体的には、例えば、第1多重通信装置29は、半2重通信のデータを待つ状態では送受信切替信号RTSを受信状態とする(S23)。また、第1多重通信装置29は、半2重通信のデータを第1スレーブ25から受信して第2及び第3スレーブ34,35に向けて送信し応答があるまでの間も受信状態となる(S25,S29,S33など)。そして、第1多重通信装置29は、第2多重通信装置39から受信したデータをシーケンサ24に向けて送信する際に、一時的に送受信切替信号RTSを送信状態とする(S37)。これにより、仮に、送信先からの応答がない場合であっても、第1及び第2多重通信装置29,39は、送受信切替信号RTSを受信状態で維持することで、タイムアウトエラーの発生を防止することができる。
<効果2>第1及び第2多重通信装置29,39は、産業用ネットワーク等で一般的に使用されているRS−485規格に準拠した通信において、半2重通信の切り替え制御を適切に実行することが可能となっている。このため、エンコーダ、バーコードリーダ、スレーブ等を備えるRS−485規格の半2重通信が必要となる様々なシステムにおいて、多重通信による省配線化と、半2重通信による適切な制御との両立を図ることができる。
<効果3>入出力処理部74のRS−485データ出力部102Aは、予め設定されたビット数以上のデータが送信バッファ104Aに蓄積されることに基づいて、送信バッファ104A内のデータのローカル側(シーケンサ24)に向けた連続送信を開始する。入出力処理部74は、一時的に送受信切替信号RTSを送信状態(ON)にする(S37)。これにより、入出力処理部74は、多重通信におけるジッタを保障することで、ローカル側の装置に対するデータの連続性を確保できる。
<効果4>図3の「B5」に示すように、第2及び第3バーコードリーダ36,37に係わるデータは、読み込みデータ等(図中の「Rデータ」)と、そのデータの有無を示す情報(図中の「R有無」)とが、多重化データを送信する1クロックごとに交互に、多重化データに対して設定されている。これにより、第2及び第3バーコードリーダ36,37に係わるデータは、第1及び第2多重通信装置29,39に入力された順番に有無情報を付加されながら順次送信される。
<効果5>また、図3の「B6」に示すように、多重化データは、最初の5クロック(2〜6クロック)に、第1〜第3スレーブ25,34,35に係わるデータ(図中の「Cデータ1〜5」)が5ビットだけ設定されている。また、残りの3クロック(7〜9クロック)には、2〜6クロックにおける「Cデータ1〜5」のうち、データを設定した有効なビット数を示す情報(図中の「Cデータ有効個数」)が設定されている。これにより、データの有無情報を1つにまとめて送信することができる。
<効果6>本実施形態の装着装置10は、電子部品の回路基板に対する実装作業を実施する。装着装置10は、実装作業にともなう固定部11と可動部13との間の半2重通信を、第1及び第2多重通信装置29,39によって多重化することで省配線化を図ることができる。さらに、装着装置10は、第1及び第2多重通信装置29,39において送受信切替信号RTSの切り替えにともなうタイムアウトエラーが発生しないため、固定部11と可動部13との通信、即ち、実装作業を円滑に実施することが可能となる。従って、本願の多重化通信システムを装着装置10に搭載することは極めて有効である。
<効果7>固定部11に設けたシーケンサ24は、CC−Link(登録商標)等の通信によって、可動部13に設けた第2スレーブ34に向けてセンサ38の検出結果を要求する。第2スレーブ34は、要求に応じてセンサ38の検出結果をシーケンサ24に向けて送信する。これにより、シーケンサ24やシステム制御装置21は、実装作業においてセンサ38の検出結果に応じて次の制御内容を決定するなど、適切な制御を実行できる。
なお、本発明は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。
例えば、上記実施形態では、本願の送受信切替信号を使用する半2重通信として、RS−485規格に準拠した通信を例に説明したが、本願はこれに限らず、例えば、RS−422規格や他の送受信切替信号を使用する半2重通信にも適用できる。
また、上記実施形態において、第1及び第2多重通信装置29,39は、ジッタの保障をするために一定量のデータの蓄積を実施したが、これを実施しなくともよい。
また、上記実施形態では、本願の多重化通信システムとして、装着装置10の固定部11と可動部13とを接続する通信システムを例に説明したが、これに限らない。例えば、本願の多重化通信システムは、装置内の通信を対象とするのではなく、例えば、2つの工場間を接続する通信システムでもよい。
また、上記実施形態では本願における作業機として、電子部品を回路基板に実装する電子部品装着装置10を例に説明したが、これに限らない。本願における作業機としては、例えば、スクリーン印刷装置などの他の対基板作業機を採用することができる。また、作業機としては、例えば、二次電池(太陽電池や燃料電池など)等の組立て作業を実施する作業用ロボットでもよい。