(57)【要約】【課題】複数の回路基板間において一の通信チャネルを介して１対多の半２重通信を行うプリンターにおいて、通信異常の発生時に迅速な復旧動作を行うこと。【解決手段】マスター基板は、複数のスレーブ基板のうちの一のスレーブ基板を送信先に指定してコマンドを送信し、上記一のスレーブ基板は、上記コマンドを正常に受信したときは、上記受信が正常であった旨の第１応答をマスター基板へ送信し、他のスレーブ基板は、自身を送信先としない上記コマンドの通信異常を検出したときは、マスター基板に対し、上記第１応答が送信されるタイミングに関わらず、通信異常を検出した旨の第２応答を送信し、マスター基板は、上記第２応答が送信されたことを検出したとき、又は上記第１応答と上記第２応答とが重畳して送信されたことを検出したときは、上記コマンドの送信において通信異常が発生したと判断し、上記コマンドを再送信する。【選択図】図１
2019139550.tif 000002
【特許請求の範囲】
【請求項１】
コマンド送信部と応答受信部と第１異常検出部とを備えるマスター基板と、それぞれがコマンド受信部と応答送信部と第２異常検出部とを備える複数のスレーブ基板と、を備えるプリンターにおいて、前記マスター基板と前記複数のスレーブ基板のそれぞれとが一の通信チャネルを共有して半二重通信を行う、プリンター内部基板の通信方法であって、
前記マスター基板は、前記コマンド送信部により、一の前記スレーブ基板を送信先に指定して、前記一のスレーブ基板へコマンドを送信し、
前記一のスレーブ基板は、前記コマンド受信部により前記コマンドを正常に受信したときは、前記応答送信部により、前記受信が正常であった旨の第１応答を前記マスター基板へ送信し、
他の前記スレーブ基板は、前記第２異常検出部により自身を送信先としない前記コマンドの通信異常を検出したときは、前記応答送信部により、前記マスター基板に対し、前記第１応答が送信されるタイミングに関わらず、通信異常を検出した旨の第２応答を送信し、
前記マスター基板は、前記第２応答が送信されたことを前記応答受信部により検出したとき、又は前記第１応答と前記第２応答とが重畳して送信されたことを前記第１異常検出部により検出したときは、前記コマンドの送信において通信異常が発生したと判断し、前記コマンド送信部により前記コマンドを再送信する、プリンター内部基板の通信方法。
【請求項２】
前記マスター基板は、前記第１異常検出部により、前記通信チャネルから受信したデータについて通信異常を検出したときに、前記第１応答と前記第２応答とが重畳して送信されたものと判断する、請求項１に記載のプリンター内部基板の通信方法。
【請求項３】
前記マスター基板は、前記コマンド送信部により、前記コマンドを構成する複数のデータブロックを所定のインターバル時間を空けて送信し、
前記他のスレーブ基板は、前記第２異常検出部により前記コマンドの前記通信異常を検出したときは、前記マスター基板から一のデータブロックを受信してから前記所定のインターバル時間に所定の余裕時間を加えた時間以内に次のデータブロックを受信しないときに、前記応答送信部により前記第２応答を前記マスター基板へ送信する、請求項１又は２に記載のプリンター内部基板の通信方法。
【請求項４】
前記マスター基板は、前記第１異常検出部により前記コマンドの送信において通信異常が発生したと判断したときは、前記コマンド送信部により全ての前記スレーブ基板に対しそれぞれリセットコマンドを送信し、
前記スレーブ基板のそれぞれは、前記コマンド受信部により前記リセットコマンドを受信したことに応じて、直前に受信した前記コマンドを破棄し、前記コマンド受信部により次のコマンドの受信を待機する、請求項１ないし３のいずれか一項に記載のプリンター内部基板の通信方法。
【請求項５】
前記他のスレーブ基板は、前記第２異常検出部により通信異常を検出するときは、前記マスター基板に第２応答を送信する、請求項１ないし４のいずれか一項に記載のプリンター内部基板の通信方法。
【請求項６】
前記複数のスレーブ基板は、それぞれ、印刷媒体の相異なる部分を乾燥させる複数のヒーターの温度制御を行うものであり、
前記マスター基板は、前記印刷媒体のうち所望の前記部分に対応する前記スレーブ基板を送信先に指定してコマンドを送信することにより、前記スレーブ基板に対応する前記ヒーターの温度制御を行う、請求項１ないし５のいずれか一項に記載のプリンター内部基板の通信方法。
【請求項７】
コマンド送信部と応答受信部と第１異常検出部とを備えるマスター基板と、
それぞれがコマンド受信部と応答送信部と第２異常検出部とを備える複数のスレーブ基板と、
を備え、
前記マスター基板と、前記複数のスレーブ基板のそれぞれとは、一の通信チャネルを共有して半二重通信を行い
前記マスター基板は、前記コマンド送信部により、一の前記スレーブ基板を送信先に指定して、前記一のスレーブ基板へコマンドを送信するよう構成され、
前記一のスレーブ基板は、前記コマンド受信部により前記コマンドを正常に受信したときは、前記応答送信部により、前記受信が正常であった旨の第１応答を前記マスター基板へ送信するよう構成され、
他の前記スレーブ基板は、前記第２異常検出部により自身を送信先としない前記コマンドの通信異常を検出したときは、前記応答送信部により、前記マスター基板に対し、前記第１応答が送信されるタイミングに関わらず、通信異常を検出した旨の第２応答を送信するよう構成されており、且つ、
前記マスター基板は、前記第２応答が送信されたことを前記応答受信部により検出したとき、又は前記第１応答と前記第２応答とが重畳して送信されたことを前記第１異常検出部により検出したときは、前記コマンドの送信において通信異常が発生したと判断し、前記コマンド送信部により前記コマンドを再送信するよう構成されているプリンター。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンター内部基板の通信方法、及びプリンターに関する。
【背景技術】
【０００２】
大判の印刷媒体に印刷を行うインクジェットプリンターでは、インクが吹き付けられた印刷媒体を搬送しつつ、例えば搬送方向に直交する方向（例えば、印刷媒体の幅方向）に配置した複数のヒーターにより、印刷媒体を乾燥させる。上記複数のヒーターは、例えば、１枚のマスター基板が、上記複数のヒーターのそれぞれを制御する複数のスレーブ基板に対し、いわゆる１対多の通信により、それぞれの温度設定値を順次送信することで制御される。上記１枚のマスター基板と複数のスレーブ基板との間の通信は、例えば共通の通信バスを介して半２重シリアル通信により行われる。
【０００３】
マスター基板は、温度目標のデータを送信すべき一のスレーブ基板（以下、指定スレーブ基板という）のＩＤコードをバスに送信した後、必要なデータを送信する。各スレーブ基板は、まず、バスに送信されたＩＤコードを受信して、自身のＩＤコードと比較する。そして、受信したＩＤコードが自身のＩＤコードと一致する一の指定スレーブ基板は、その後にバス上に送信されるデータを受信して、マスター基板への応答の送信や、自身が管理するヒーターへの電流設定等の、必要な処理を行う。
【０００４】
一方、受信したＩＤコードが自身のＩＤコードと一致しない他のスレーブ基板は、マスター基板がバス上へ送信したデータの状態を監視し、例えば所定の数のデータバイトが送信されたか否かに基づいて、そのデータの送信が完了したか否かを検知する。そして、上記他のスレーブ基板は、データの送信が完了したことを検知したときに、マスター基板から次のデータが送信されるのを待機する。
【０００５】
これにより、マスター基板は、通信異常が発生しない限り、順次、複数のスレーブ基板のそれぞれを通信相手に指定してデータの送信を繰り返し、各スレーブ基板が管理するヒーターをリアルタイムに制御することができる。
【０００６】
一方で、スレーブ基板において何らかの通信異常を検知した場合、半２重通信では、マスター基板がデータを送信している間、スレーブ基板は通信異常の通知をマスター基板へ即座に送信することはできない。このため一般には、通信異常を検知した指定スレーブ基板は、マスター基板からのデータ送信が終了しても何も応答を送信せずマスター基板において通信タイムアウトエラーを発生させることでマスター基板にデータ再送信を促す、という異常復旧動作が行われる。
【０００７】
上記の異常復旧動作は、指定スレーブ基板が通信異常を検知した場合には有効に働くものの、他のスレーブ基板が通信異常をマスター基板へ知らせようとする場合には機能しない。マスター基板は、指定スレーブ基板以外の他のスレーブ基板からの応答の送信は待たないためである。
【０００８】
また、マスター基板がデータの送信を終了したあと通信タイムアウトエラーを検知するまでのあいだ相応の時間の経過を必要とするため、上記の異常復旧動作では、異常復旧（すなわちデータ再送信）までに時間の無駄が生じてしまう。このため、上述したヒーターのリアルタイム制御に問題が生じてしまう場合があり得る。そして、この問題は、指定スレーブ基板以外の他のスレーブ基板が検知する通信異常にも対応すべく、マスター基板において他のスレーブ基板からの応答をも待機するようにした場合には、更に深刻となる。全てのスレーブ基板について通信タイムアウトの発生有無を検知しようとすれば、上記時間の無駄は増加することとなるためである。
【０００９】
従来、１対多の通信技術として、特許文献１には、一つの装置本体に接続された複数の増設ユニットが共通バスを介して接続されるインターフェイスが開示されている。このインターフェイスでは、装置本体が一の増設ユニットに指令を送ると、他の増設ユニットが、上記一の増設ユニットにおける上記指令に基づく処理に合わせた動作を実行する。
【００１０】
また、１対多通信についての他の従来技術として、特許文献２には、一つの主局と複数の従局とが通信可能に構成される発電システムにおいて、主局のブロードキャストコマンドに対して、各従局がＩＤ順に時分割でステイタスを返信することが記載されている。
【００１１】
１対多通信についての更に他の従来技術として、特許文献３には、画像形成装置本体の一のＣＰＵと、複数のオプション給紙装置のそれぞれに設けられた複数の他のＣＰＵと、が通信可能に接続された画像形成装置が記載されている。この画像形成装置では、上記一のＣＰＵが発行するコマンドで上記他のＣＰＵが設けられたオプション給紙装置が一度に駆動される。
【００１２】
しかしながら、上記の特許文献は、いずれも、１対多の通信が正常に行われる場合の処理動作を開示するものであり、通信異常の際の迅速な復旧動作についての具体的な手法を教示するものではない。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開平８−８９３５号公報
【特許文献２】特開２０１５−２２２８７６号公報
【特許文献３】特開２０１３−１２９２０３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
本発明の目的は、一のマスター基板と複数のスレーブ基板とが一の通信チャネル（例えば、共通バス）を介して１対多の半２重通信を行うプリンターにおいて、通信異常が発生した際に迅速な通信復旧動作を行うことである。
【課題を解決するための手段】
【００１５】
上記課題を解決するために、本発明は、コマンド送信部と応答受信部と第１異常検出部とを備えるマスター基板と、それぞれがコマンド受信部と応答送信部と第２異常検出部とを備える複数のスレーブ基板と、を備えるプリンターにおいて、前記マスター基板と前記複数のスレーブ基板のそれぞれとが一の通信チャネルを共有して半二重通信を行う、プリンター内部基板の通信方法であって、前記マスター基板は、前記コマンド送信部により、一の前記スレーブ基板を送信先に指定して、前記一のスレーブ基板へコマンドを送信し、前記一のスレーブ基板は、前記コマンド受信部により前記コマンドを正常に受信したときは、前記応答送信部により、前記受信が正常であった旨の第１応答を前記マスター基板へ送信し、他の前記スレーブ基板は、前記第２異常検出部により自身を送信先としない前記コマンドの通信異常を検出したときは、前記応答送信部により、前記マスター基板に対し、前記第１応答が送信されるタイミングに関わらず、通信異常を検出した旨の第２応答を送信し、前記マスター基板は、前記第２応答が送信されたことを前記応答受信部により検出したとき、又は前記第１応答と前記第２応答とが重畳して送信されたことを前記第１異常検出部により検出したときは、前記コマンドの送信において通信異常が発生したと判断し、前記コマンド送信部により前記コマンドを再送信する。
この構成によれば、マスター基板が通信することを意図する一のスレーブ基板以外の他のスレーブ基板は、上記一のスレーブ基板の第１応答の送信終了を待たずに、通信異常を通知する第２応答をマスター基板へ送信することができる。その結果、マスター基板はいち早く通信異常を認識することができ、その後の異常復旧動作を迅速に行うことができる。
【００１６】
また、本発明は、前記マスター基板は、前記第１異常検出部により、前記通信チャネルから受信したデータについて通信異常を検出したときに、前記第１応答と前記第２応答とが重畳して送信されたものと判断する。
この構成によれば、マスター基板は、第２応答が送信されたことを明示的に認識することなく、何等かの通信異常の発生事実を知ることができる。その結果、通信異常を迅速に判断して、その後の異常復旧動作を迅速に行うことができる。
【００１７】
また、本発明は、前記マスター基板は、前記コマンド送信部により、前記コマンドを構成する複数のデータブロックを所定のインターバル時間を空けて送信し、前記他のスレーブ基板は、前記第２異常検出部により前記コマンドの前記通信異常を検出したときは、前記マスター基板から一のデータブロックを受信してから前記所定のインターバル時間に所定の余裕時間を加えた時間以内に次のデータブロックを受信しないときに、前記応答送信部により前記第２応答を前記マスター基板へ送信する。
この構成によれば、他のスレーブ基板は、通信異常を検出した際は、直前に受信したデータブロックの受信後の経過時間から、マスター基板から送信されるべき全てのデータブロックの送信が終了したか否かを検知することができる。従って、他のスレーブ基板は、通信異常を検出した際にマスター基板からその後に送信されるべき残りのデータブロックの数が不明であっても、全てのデータブロックの送信終了後に、第２応答を送出することができる。その結果、他のスレーブ基板は、通信チャネルにおいてマスター基板のデータ送信動作と競合することなく、第２応答を通信チャネルへ送出することができる。
【００１８】
また、本発明は、前記マスター基板は、前記第１異常検出部により前記コマンドの送信において通信異常が発生したと判断したときは、前記コマンド送信部により全ての前記スレーブ基板に対しそれぞれリセットコマンドを送信し、前記スレーブ基板のそれぞれは、前記コマンド受信部により前記リセットコマンドを受信したことに応じて、直前に受信した前記コマンドを破棄し、前記コマンド受信部により次のコマンドの受信を待機する。
この構成によれば、通信異常が発生したときは、マスター基板からリセットコマンドが送信されるので、一のスレーブ基板が同じコマンドを重複して実行してしまうのを防止することができる。また、リセットコマンドは、各スレーブ基板に対して送信されるので、全てのスレーブ基板は、マスター基板から再送信されるコマンドを受信するための準備を、迅速に調えることができる。その結果、マスター基板は、コマンドの再送信を迅速に開始することができ、異常復旧をより素早く行うことができる。
【００１９】
また、本発明は、前記他のスレーブ基板は、前記第２異常検出部により通信異常を検知するときは、前記マスター基板に第２応答を送信する。
この構成によれば、他のスレーブ基板は、マスター基板との通信異常時の、例えば受信したコマンドが正しく受信されず予め定義されたコマンドとして認識されなかった等の受信異常があった場合、第２応答を送信する。したがって、マスター基板は、前記他のスレーブ基板に影響を及ぼす可能性のある通信異常の発生を検知して、異常復旧動作を行うことができる。その結果、マスター基板は、異常のあるスレーブ基板との間で通信途絶が発生してしまうのを回避することができる。
【００２０】
また、本発明は、前記複数のスレーブ基板は、それぞれ、印刷媒体の相異なる部分を乾燥させる複数のヒーターの温度制御を行うものであり、前記マスター基板は、前記印刷媒体のうち所望の前記部分に対応する前記スレーブ基板を送信先に指定してコマンドを送信することにより、前記スレーブ基板に対応する前記ヒーターの温度制御を行う。
この構成によれば、通信異常があっても、迅速に異常復旧動作を行ってマスター基板とスレーブ基板との間の通信途絶期間を低減して、ヒーターに対するリアルタイム制御を続行することができる。その結果、印刷媒体に噴射されたインクの乾燥を適切に行って、高い印刷品質を確保することができる。
【００２１】
また、上記課題を解決するために、本発明は、コマンド送信部と応答受信部と第１異常検出部とを備えるマスター基板と、それぞれがコマンド受信部と応答送信部と第２異常検出部とを備える複数のスレーブ基板と、を備え、前記マスター基板と、前記複数のスレーブ基板のそれぞれとは、一の通信チャネルを共有して半二重通信を行い、前記マスター基板は、前記コマンド送信部により、一の前記スレーブ基板を送信先に指定して、前記一のスレーブ基板へコマンドを送信するよう構成され、前記一のスレーブ基板は、前記コマンド受信部により前記コマンドを正常に受信したときは、前記応答送信部により、前記受信が正常であった旨の第１応答を前記マスター基板へ送信するよう構成され、他の前記スレーブ基板は、前記第２異常検出部により自身を送信先としない前記コマンドの通信異常を検出したときは、前記応答送信部により、前記マスター基板に対し、前記第１応答が送信されるタイミングに関わらず、通信異常を検出した旨の第２応答を送信するよう構成されており、且つ、前記マスター基板は、前記第２応答が送信されたことを前記応答受信部により検出したとき、又は前記第１応答と前記第２応答とが重畳して送信されたことを前記第１異常検出部により検出したときは、前記コマンドの送信において通信異常が発生したと判断し、前記コマンド送信部により前記コマンドを再送信するよう構成されているプリンターである。
この構成によれば、マスター基板が通信することを意図する一のスレーブ基板以外の他のスレーブ基板は、上記一のスレーブ基板の第１応答の送信終了を待たずに、通信異常を通知する第２応答をマスター基板へ送信することができる。その結果、マスター基板はいち早く通信異常を認識することができ、その後の異常復旧動作を迅速に行うことができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態に係るプリンターの構成を示す図。
【図２】マスター基板の構成を示す図。
【図３】スレーブ基板の構成を示す図。
【図４】設定コマンドの構成の一例を示す図。
【図５】通信異常が発生した場合の通信復旧動作の一例を示す図。
【図６】マスター基板における処理のフロー図。
【図７】スレーブ基板における処理のフロー図。
【発明を実施するための形態】
【００２３】
図１は、本発明の一実施形態に係るプリンター１００の構成を示す図である。プリンター１００は、印刷媒体にインクを吐出して印刷を行う印刷機構部１０２と、印刷後の印刷媒体上のインクを乾燥させる乾燥部１０４と、印刷機構部１０２及び乾燥部１０４の動作を制御して印刷処理を行う印刷処理装置１０６と、を有する。乾燥部１０４は、例えばｎ個の複数のヒーター部１０８−１、１０８−２、…、１０８−ｎを備える。以下、ヒーター部１０８−１、１０８−２、１０８−ｎを総称するきは、ヒーター部１０８といい、個々のヒーター部を区別して参照するときのみ、−１、−２、−ｎ等の番号を付して記載するものとする。
【００２４】
これら複数のヒーター部１０８は、それぞれ、印刷媒体の幅方向（例えば、印刷機構部１０２から排出される印刷媒体の搬送方向に対し直交する方向）に分割して設けられた、印刷媒体上の複数の領域のそれぞれを加熱することにより、印刷媒体を乾燥させる。例えば、複数のヒーター部１０８は、印刷媒体の幅に応じて、その全部又は一部が稼働される。
【００２５】
印刷処理装置１０６は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のプロセッサーを備えるコンピューターである。印刷処理装置１０６は、機能要素（又は機能ユニット）として、印刷機構部１０２を制御する印刷制御部１１０と、乾燥部１０４を制御する乾燥制御部１１２と、を備える。
【００２６】
印刷処理装置１０６が備えるこれらの機能要素は、例えば、コンピューターである印刷処理装置１０６のＣＰＵがプログラムをメモリーから読み出して実行することにより実現される。なお、上記コンピューター・プログラムは、コンピューター読み取り可能な任意の記憶媒体に記憶させておくことができる。
【００２７】
上記に代えて、印刷処理装置１０６が備える上記機能要素の全部又は一部を、それぞれ一つ以上の電子回路部品を含むハードウェアにより構成することもできる。そのようなハードウェアは、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）やＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等、プログラムされたハードウェアを含むものとすることができる。
【００２８】
印刷制御部１１０は、例えば、印刷媒体上の各部へのインク吐出量についての情報をリアルタイムに乾燥制御部１１２に与える。乾燥制御部１１２は、印刷制御部１１０から与えられた上記インク吐出量についての情報に基づき、印刷媒体上の各部についての、吐出されたインクを乾燥させるための温度を設定する。そして、乾燥制御部１１２は、印刷媒体上の各部が、上記設定した温度で乾燥されるように、乾燥部１０４が備える各ヒーター部１０８への温度目標の設定指示を、マスター基板１１４を介して対応するスレーブ基板１１６へ送信する。
【００２９】
プリンター１００は、また、マスター基板１１４と、複数のスレーブ基板１１６−１、１１６−２、…、１１６−ｎと、を有する。以下、スレーブ基板１１６−１、１１６−、…、１１６−ｎを総称するきは、スレーブ基板１１６といい、個々のスレーブ基板を区別して参照するときのみ、−１、−２、−ｎ等の番号を付して記載するものとする。
【００３０】
複数のスレーブ基板１１６−１、１１６−２、…、１１６−ｎは、それぞれ、ヒーター部１０８−１、１０８−、…、１０８−ｎに接続されており、マスター基板１１４から受信する指示に従い、それぞれ対応するヒーター部１０８の動作を制御する。
【００３１】
マスター基板１１４と複数のスレーブ基板１１６とは、一の通信チャネルを共有して通信可能に接続され、１対多の半二重通信を行う。ここで、上記一の通信チャネルは差動信号により通信を行う２線式の伝送路１１８であり、複数のスレーブ基板１１６は、マスター基板１１４に対し、伝送路１１８を介してカスケードに接続されている。
【００３２】
図２は、マスター基板１１４の構成を示す図である。マスター基板１１４は、印刷処理装置１０６からの指示に従って乾燥部１０４の各ヒーター部１０８に指示を与えて乾燥処理を行わせる乾燥処理装置２００を備える。また、マスター基板１１４は、印刷処理装置１０６から受信した各ヒーター部１０８の温度目標値を対応するスレーブ基板１１６へ送信するための通信インターフェイス（通信ＩＮＦ）２０２を備える。
【００３３】
乾燥処理装置２００は、例えば、ＣＰＵ等のプロセッサーを備えるコンピューターであり、機能要素（又は機能ユニット）として、コマンド送信部２１２と、応答受信部２１４と、第１異常検出部２１６と、を備える。
【００３４】
乾燥処理装置２００が備えるこれらの機能要素は、例えば、コンピューターである乾燥処理装置２００のＣＰＵがプログラムをメモリーから読み出して実行することにより実現される。なお、上記コンピューター・プログラムは、コンピューター読み取り可能な任意の記憶媒体に記憶させておくことができる。
【００３５】
上記に代えて、乾燥処理装置２００が備える上記機能要素の全部又は一部を、それぞれ一つ以上の電子回路部品を含むハードウェアにより構成することもできる。そのようなハードウェアは、ＤＳＰやＦＰＧＡ等、プログラムされたハードウェアを含むものとすることができる。
【００３６】
コマンド送信部２１２は、印刷処理装置１０６から受信した温度目標の設定指示に基づき、設定コマンドを生成する。設定コマンドには、少なくともコマンドの送信先であるスレーブ基板１１６の指定とデータとが含まれる。図４は、設定コマンドの構成の一例を示す図である。図示の例では、設定コマンドは、図示左側の１バイト目に、温度目標設定のための設定コマンドであることを示すコマンド種別コードを含む。また、設定コマンドは、その２バイト目に、温度目標を設定すべきヒーター部１０８に対応する（即ち、この設定コマンドの送信先である）スレーブ基板１１６のＩＤを含む。また、この設定コマンドは、３バイト目に、例えば温度目標を示すデータのデータバイト数を含み、４バイト目以降に、温度目標を示すデータを含む。図示の例では、温度目標を示すデータは、３バイト目のデータバイト数（値Ｎ）に続く、Ｎバイトのデータで構成されている。ここで、コマンド種別コード、ＩＤ、及びデータバイト数は１バイトで構成されており、コマンド送信部２１２は、設定コマンドを、それぞれ１バイトで構成されるデータブロック（すなわち、１バイトデータ）に分けて、スレーブ基板１１６へ送信する。また、その際、コマンド送信部２１２は、設定コマンドを構成する複数のデータブロックである複数の１バイトデータを所定のインターバル時間Ｔｃｍｄをあけて送信する。なお、乾燥処理装置２００が備える他の機能要素の動作については、後述する。
【００３７】
図２に示す通信ＩＮＦ２０２は、ＵＡＲＴ（Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ／Ｔｒａｎｓｍｉｔｔｅｒ）２２０と、ＨＤＴ（Ｈａｌｆ−Ｄｕｐｌｅｘ  Ｔｒａｎｓｍｉｓｓｉｏｎ）トランシーバー２２２と、を有する。ＵＡＲＴ２２０は、乾燥処理装置２００が出力するパラレルデータに基づいて調歩同期方式によるシリアルデータＴｘＤをＨＤＴトランシーバー２２２へ出力する。また、ＵＡＲＴ２２０は、ＨＤＴトランシーバー２２２から受信する調歩同期方式によるシリアルデータＲｘＤをパラレルデータに変換して乾燥処理装置２００へ出力する。
【００３８】
さらに、ＵＡＲＴ２２０は、ＨＤＴトランシーバー２２２から受信するシリアルデータにおける通信エラーを検出して、乾燥処理装置２００に通知する。ここで、ＵＡＲＴ２２０が検出する通信エラーは、例えば、フレーミングエラー（調歩同期におけるストップビットの欠落）、パリティエラー、オーバーランエラー（受信バッファー（不図示）に対する読出し前の書込み実行）等である。
【００３９】
ＨＤＴトランシーバー２２２は、ＵＡＲＴ２２０が出力するシリアルデータＴｘＤを２線式伝送路である伝送路１１８へ送出するための差動信号を生成して、伝送路１１８へ出力する。また、ＨＤＴトランシーバー２２２は、伝送路１１８から受信した差動信号を、シリアルデータＲｘＤに変換してＵＡＲＴ２２０へ出力する。
【００４０】
ここで、ＨＤＴトランシーバー２２２が、伝送路１１８に対して送信機として機能するか受信機として機能するかは、ＵＡＲＴ２２０がＨＤＴトランシーバー２２２に出力するＤＥ／ＲＥ信号により定まる。
【００４１】
図３は、スレーブ基板１１６の構成を示す図である。スレーブ基板１１６は、マスター基板１１４から受信する設定コマンドに従ってヒーター部１０８を動作させるヒーター制御処理装置３００を備える。また、スレーブ基板１１６は、マスター基板１１４からの設定コマンドを伝送路１１８を介して受信するための通信インターフェイス（通信ＩＮＦ）３０２を備える。
【００４２】
ヒーター制御処理装置３００は、例えば、ＣＰＵ等のプロセッサーを備えるコンピューターである。ヒーター制御処理装置３００は、機能要素（又は機能ユニット）として、ヒーター制御部３１０と、温度計測部３１２と、コマンド受信部３１４と、応答送信部３１６と、第２異常検出部３１８と、を備える。
【００４３】
ヒーター制御処理装置３００が備えるこれらの機能要素は、例えば、コンピューターであるヒーター制御処理装置３００のＣＰＵがプログラムをメモリーから読み出して実行することにより実現される。なお、上記コンピューター・プログラムは、コンピューター読み取り可能な任意の記憶媒体に記憶させておくことができる。
【００４４】
上記に代えて、ヒーター制御処理装置３００が備える上記機能要素の全部又は一部を、それぞれ一つ以上の電子回路部品を含むハードウェアにより構成することもできる。そのようなハードウェアは、ＤＳＰやＦＰＧＡ等、プログラムされたハードウェアを含むものとすることができる。
【００４５】
通信ＩＮＦ３０２は、ＵＡＲＴ３２０と、ＨＤＴトランシーバー３２２と、を有する。ＵＡＲＴ３２０は、ヒーター制御処理装置３００が出力するパラレルデータに基づいて調歩同期方式によるシリアルデータＴｘＤをＨＤＴトランシーバー３２２へ出力する。また、ＵＡＲＴ３２０は、ＨＤＴトランシーバー３２２から受信する調歩同期方式によるシリアルデータＲｘＤをパラレルデータに変換してヒーター制御処理装置３００へ出力する。
【００４６】
さらに、ＵＡＲＴ３２０は、ＨＤＴトランシーバー３２２から受信するシリアルデータにおける通信エラーを検出して、ヒーター制御処理装置３００に通知する。ここで、ＵＡＲＴ３２０が検出する通信エラーは、例えば、フレーミングエラー、パリティエラー、オーバーランエラー等である。
【００４７】
ＨＤＴトランシーバー３２２は、ＵＡＲＴ３２０が出力するシリアルデータＴｘＤを２線式伝送路である伝送路１１８へ送出するための差動信号を生成して、伝送路１１８へ出力する。また、ＨＤＴトランシーバー３２２は、伝送路１１８から受信した差動信号を、シリアルデータＲｘＤに変換してＵＡＲＴ３２０へ出力する。
【００４８】
ここで、ＨＤＴトランシーバー３２２が、伝送路１１８に対して送信機として機能するか受信機として機能するかは、ＵＡＲＴ３２０がＨＤＴトランシーバーに出力するＤＥ／ＲＥ信号により定まる。
【００４９】
ヒーター制御処理装置３００のヒーター制御部３１０及び温度計測部３１２は、スレーブ基板１１６に接続されたヒーター部１０８の温度を制御する。具体的には、温度計測部３１２は、適切なインターフェイス（不図示）を介して、ヒーター部１０８が備える温度センサー３３２からのセンサー信号を受信して印刷媒体上の対応する領域の温度を計測する。そして、ヒーター制御部３１０は、上記計測した温度が、マスター基板１１４から指示される所定の目標温度となるように、適切なインターフェイス（不図示）を介して、ヒーター部１０８を構成するヒーター３３０へ動作電流を出力する。
【００５０】
次に、図２及び図３を参照しつつ、図５に示す通信異常発生時の通信復旧動作の例を用いて、マスター基板１１４の乾燥処理装置２００及びスレーブ基板１１６のヒーター制御処理装置３００の通信関連動作について説明する。図５は、通信復旧動作の例を示すタイミングチャートである。図示上段の３つの信号５００、５０２、５０４は、マスター基板１１４における信号を示している。また、図示中断の３つの信号５１０、５１２、５１４は、マスター基板１１４が送信する設定コマンドの送信先として指定される指定スレーブ基板１１６における信号を示している。図示の例では、指定スレーブ基板１１６は、例えばスレーブ基板１１６−１である。
【００５１】
また、図示下段の３つの信号５２０、５２２、５２４は、指定スレーブ基板１１６−１以外の他のスレーブ基板１１６における信号を示している。図示の例では、他のスレーブ基板１１６を、スレーブ基板１１６−Ｘで表し、スレーブ基板１１６−１以外のいずれかのスレーブ基板１１６であることを示している。なお、以下においては、指定スレーブ基板１１６−１が備える構成要素とスレーブ基板１１６−Ｘが備える構成要素とを区別して示すときは、それぞれ“−１”及び“−Ｘ”を符号に付加して示すものとする。例えば、指定スレーブ基板１１６−１の通信ＩＮＦ３０２は、通信ＩＮＦ３０２−１と記載し、他のスレーブ基板１１６−Ｘの通信ＩＮＦ３０２は、通信ＩＮＦ３０２−Ｘと記載する。
【００５２】
信号５００、５１０、５２０は、それぞれ、マスター基板１１４、指定スレーブ基板１１６−１、スレーブ基板１１６−Ｘにおける、ＨＤＴトランシーバー２２２、３２２−１、３２２−Ｘの通信モード（すなわち、送信モードか受信モードの区別）を示す。具体的には、信号５００、５１０、５２０は、ＵＡＲＴ２２０、３２０−１、３２０−Ｘがそれぞれ出力するＤＥ／ＲＥ信号であり、ｌｏｗが受信モード、ｈｉｇｈが送信モードを表している。
【００５３】
信号５０２、５１２、５２２は、それぞれ、ＨＤＴトランシーバー２２２、３２２−１、３２２−Ｘが伝送路１１８へ送出する送信信号を示す。後述するように、ＨＤＴトランシーバー３２２−Ｘは、ＨＤＴトランシーバー３２２−１が伝送路１１８へ信号を送出しているときに、これに重畳して伝送路１１８へ信号を送出する。この場合、伝送路１１８上の信号波形は、ＨＤＴトランシーバー３２２−１及び３２２−Ｘが送出しようとした信号の波形とは異なるものとなる。ただし、図５においては、理解を容易にするため、ＨＤＴトランシーバー３２２−１及び３２２−Ｘが送出しようとする信号の波形として信号５１２、５２２を示している。
【００５４】
信号５０４、５１４、５２４が示すエラー検知信号は、それぞれ、マスター基板１１４及びスレーブ基板１１６−１、１１６−Ｘにおける異常検出のステイタスを表す内部信号であり、ｌｏｗが正常状態、ｈｉｇｈが異常状態を表している。
【００５５】
ここで、マスター基板１１４の乾燥処理装置２００は、第１異常検出部２１６がＵＡＲＴ２２０からのフレーミングエラー又はパリティエラーを検知した場合に、通信異常が発生したものとして自身のエラー検知信号をｈｉｇｈにする。同様に、スレーブ基板１１６のヒーター制御処理装置３００は、第２異常検出部３１８がＵＡＲＴ３２０からのフレーミングエラー又はパリティエラーを検知した場合に、通信異常が発生したものとして自身のエラー検知信号をｈｉｇｈにする。
【００５６】
図５において、まず、マスター基板１１４は、信号５００をｈｉｇｈにして、ＨＤＴトランシーバー２２２を送信モードに設定し、設定コマンドを送信する（信号５０２の図示左部分）。上述したように、設定コマンドには、コマンド種別コード、送信先スレーブ基板１１６のＩＤ、データバイト数、及び、データバイトが含まれる。図５の例では、ＩＤ＝１が送信され、スレーブ基板１１６−１が指定スレーブ基板となる。また、データバイト数はＮとなっており、その後にＮ個の１バイトのデータブロックが送信されている。上述したように、マスター基板１１４の通信ＩＮＦ２０２は、設定コマンドを構成する複数の１バイトのデータブロックを、所定のインターバル時間Ｔｃｍｄを空けて送信する。なお、図５に示された、一点鎖線により挟まれた縦に延びる３つの帯状部分は、時間経過が省略されていることを示す。
【００５７】
マスター基板１１４は、設定コマンドの最後のＮ番目のデータバイトを送出した後（信号５０２）、ＨＤＴトランシーバー２２２を受信モードに設定する（信号５００）。これにより、指定スレーブ基板１１６−１が応答信号を送信すべき応答期間が開始する。この応答期間は、所定の時間Ｔｍａｘに所定の余裕時間Δｔｍを加算した時間期間として設定される。ここで、Ｔｍａｘは、スレーブ基板１１６が伝送路１１８上において設定コマンドの最後のデータバイトの送出完了を検知してから応答信号（例えば、第１応答）の返信を完了するまでに必要な又は十分な時間に基づいて予め定められる。
【００５８】
一方、スレーブ基板１１６−１は、伝送路１１８へ送出された設定コマンド（信号５０２）を受信し、その設定コマンドに含まれたＩＤ（＝１）が自身のＩＤと一致することを認識して、自身が指定スレーブ基板となったものと判断する。そして、指定スレーブ基板１１６−１は、設定コマンドを構成するデータブロックを受信する毎に、第２異常検出部３１８−１により通信異常の有無を判断すると共に、受信したデータブロックが構成するデータを記憶する。
【００５９】
続いて、指定スレーブ基板１１６−１は、第２異常検出部３１８−１において異常を検出することなく（信号５１４）、設定コマンドを構成する最後のＮ番目のデータブロック（図５において、Ｎｔｈ  Ｄａｔａと記載）の受信を完了する。そして、指定スレーブ基板１１６−１は、第２異常検出部３１８−１において異常を検出しなかったことから、信号５００の設定コマンドを正常に受信したものと判断する（信号５１４）。続いて、指定スレーブ基板１１６−１は、設定コマンドのＮ番目のデータブロックの送信終了から所定の時間の経過後に、応答期間が開始したものと判断して、ＨＤＴトランシーバー３２２を送信モードに設定する（信号５１０）。上記所定の時間は、例えば、所定のインターバル時間Ｔｃｍｄに所定の余裕時間Δｔｃを加算した時間とされる。
【００６０】
そして、指定スレーブ基板１１６−１は、受信した設定コマンドに含まれていたコマンド種別コードと、自身のＩＤ（＝１）と、Ａｃｋ（すなわち、Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔコード）と、を含む応答を伝送路１１８へ送出する（信号５１２）。ここで、Ａｃｋを含む上記応答は、コマンドの受信が正常であった旨の第１応答に対応する。
【００６１】
一方、他のスレーブ基板１１６−Ｘも、伝送路１１８へ送出された設定コマンド（信号５０２）を受信する。そして、スレーブ基板１１６−Ｘは、その設定コマンドに含まれたＩＤ（＝１）が自身のＩＤと異なることを認識して、自身が指定スレーブ基板ではないものと判断する。続いて、スレーブ基板１１６−Ｘは、受信した設定コマンドに含まれるデータブロックを記憶することなく、第２異常検出部３１８−Ｘにより、その設定コマンドについての通信異常の有無を判断する。
【００６２】
そして、スレーブ基板１１６−Ｘは、第２異常検出部３１８−Ｘにより、例えば、設定コマンドのＮ−１番目のデータバイト（図５には（Ｎ−１）ｔｈ  Ｄａｔａとして記載）において、フレーミングエラー等に起因する通信異常を検知する（信号５２４）。
【００６３】
この場合、従来技術においては、指定スレーブ基板１１６−１が設定コマンドに対する応答（上記の例では第１応答）を伝送路１１８へ送出する応答期間の間は、他のスレーブ基板１１６−Ｘは、伝送路１１８への送信動作を行わない。伝送路１１８上に２つの応答が同時に送信されることによる競合状態を回避するためである。
【００６４】
したがって、従来技術の場合には、スレーブ基板１１６−Ｘは、例えば、応答期間の終了を待ってから、マスター基板１１４に対し上記フレーミングエラーによる通信異常を報告すべく、例えばＮａｃｋを伝送路１１８へ送出することとなる。ここで、Ｎａｃｋとは、Ｎｅｇａｔｉｖｅ−Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔコードである。
【００６５】
このため、従来技術においては、指定スレーブ基板１１６−１以外の他のスレーブ基板１１６−Ｘが通信異常を検出してから、マスター基板１１４がその通信異常の発生を知るまでに、遅延時間を生ずることとなる。その結果、その後に行われる通信復旧動作の開始が遅れることとなり、通信復旧を完了して正しいデータを送り直すまでに多くの時間を費やすこととなる。その結果、ヒーター３３０に対するリアルタイム制御に支障を生じ得る。
【００６６】
これに対し、本実施形態のプリンター１００では、他のスレーブ基板１１６−Ｘは、指定スレーブ基板１１６−１から応答が送信されるタイミング（応答期間）であるか否かに関わらず、通信異常を検出した旨の第２応答を、伝送路１１８へ送出する。すなわち、プリンター１００では、指定スレーブ基板ではない他のスレーブ基板１１６−Ｘが通信異常を検出した場合には、伝送路１１８上での第１応答と第２応答との競合（重畳送信）を許容する。
【００６７】
具体的には、スレーブ基板１１６−Ｘは、指定スレーブ基板１１６−１が応答を送信し得る上記応答期間の間、ＨＤＴトランシーバー３２２−Ｘを送信モードに設定する（信号５２０）。そして、スレーブ基板１１６−Ｘは、受信した設定コマンドに含まれていたコマンド種別コードと、自身のＩＤ（＝Ｘ）と、Ｎａｃｋと、を含む応答を伝送路１１８へ送出する（信号５２２）。ここで、Ｎａｃｋを含む上記応答は、通信異常を検出した旨の第２応答に対応する。
【００６８】
なお、他のスレーブ基板１１６―Ｘは、第２異常検出部３１８により通信異常を検出したときは、設定コマンドの一のデータブロックを受信した後、所定の時間内に次のデータブロックを受信しないときに、応答期間が開始したものと判断する。
【００６９】
応答期間において第１応答と第２応答とが伝送路１１８に重畳して送出されることから（信号５１２、５２２）、マスター基板１１４は、第１異常検出部２１６により、通信異常を検知する（信号５０４）。この通信異常は、例えば、フレーミングエラー又はパリティエラーとして検知され得る。
【００７０】
そして、マスター基板１１４は、応答期間中に第１異常検出部２１６が通信異常を検出したときに、指定スレーブ基板１１６−１からの第１応答と他のスレーブ基板１１６−Ｘからの第２応答とが重畳して送信されたものと判断する。すなわち、プリンター１００では、従来技術と異なり、マスター基板１１４は、指定スレーブ基板１１６−１からの応答が受信されるべき応答期間の終了を待つことなく、伝送路１１８において何等かの通信異常が検知されたことをいち早く認識することができる。
【００７１】
従って、プリンター１００では、従来技術に比べてより早く通信復旧動作を開始して、正しいデータを指定スレーブ基板１１６−１に送り直すことができる。その結果、ヒーター３３０に対するリアルタイム制御を適切に行うことができる。
【００７２】
通信復旧動作は、具体的には、マスター基板１１４が、応答期間中に第１異常検出部２１６により通信異常が発生したと判断したことに応じて、コマンド送信部２１２により各スレーブ基板１１６へリセットコマンドを送信することで行われる。リセットコマンドは、リセットコマンドであることを示すコマンド種別コードと、そのリセットコマンドの送信先であるスレーブ基板１１６のＩＤと、で構成される。
【００７３】
リセットコマンドを受信することにより、各スレーブ基板１１６は、第２異常検出部３１８におけるエラー検知の状態を正常状態にリセットする。また、指定スレーブ基板１１６は、更に、直前に受信し記憶した設定コマンドのデータを破棄する。これにより、各スレーブ基板１１６の状態は、通信異常を検知する前の状態に復帰する。その後、マスター基板１１４のコマンド送信部２１２は、直前に送信した設定コマンドを、指定スレーブ基板１１６へ再送信して、通信を再開する。
【００７４】
図５に示す例では、マスター基板１１４は、応答期間の終了後に、まずＩＤ＝１である指定スレーブ基板１１６−１へリセットコマンドを送信する（信号５０２）。指定スレーブ基板１１６−１は、リセットコマンドを受信したことに応じて、その前に受信し記憶した設定コマンドのデータを破棄する。また、指定スレーブ基板１１６−１は、リセットコマンドに対応する応答として、直前に受信したリセットコマンドと同じコマンド種別コードと、自身のＩＤと、Ａｃｋとで構成される応答を、伝送路１１８に送出する（信号５１０、５１２）。
【００７５】
指定スレーブ基板１１６−１からＡｃｋを含む上記応答を受信したマスター基板１１４は、その後、例えばＩＤ番号順に、順次、スレーブ基板１１６へのリセットコマンドの送信と、そのスレーブ基板１１６からの応答の受信とを繰り返す。
【００７６】
通信異常を検出してエラー検知が異常状態となっているスレーブ基板１１６−Ｘは、リセットコマンド（信号５０２）を受信したことに応じて、エラー検知の状態を正常状態にリセットする（信号５２４）。これにより、全てのスレーブ基板１１６は、通信異常が発生した前の状態に復帰し、通信異常の復旧動作が完了する。
【００７７】
そして、マスター基板１１４は、リセットコマンドに対するＡｃｋ応答を最後のスレーブ基板１１６−ｎから受信した後に、直前に送信した設定コマンドを再送信して、通信を再開する（信号５０２）。
【００７８】
なお、上述したように、スレーブ基板１１６−Ｘは、第２異常検出部３１８がＵＡＲＴ３２０からのフレーミングエラー又はパリティエラーを検知した場合に、通信異常が発生したものとして、第２応答を送信する。その他、スレーブ基板１１６−Ｘは、受信したコマンドが正しく受信されず予め定義されたコマンドとして認識されなかった等の受信異常があった場合、第２応答を送信する。これにより、プリンター１００では、マスター基板１１４は、複数のスレーブ基板１１６に影響を及ぼす可能性のある通信異常の発生を検知して、異常復旧動作を行うことができる。逆に、スレーブ基板１１６−Ｘは、第２異常検出部３１８が上記通信異常を検知しないときは、第２応答を送信しない。その結果、マスター基板１１４は、異常のあるスレーブ基板１１６との間で通信途絶が発生してしまうのを回避することができる。
【００７９】
次に、図２を参照しつつ図６に示すフロー図を用いて、マスター基板１１４における乾燥処理装置２００が行う通信動作の処理について説明する。本処理は、プリンター１００の電源がオンされたときに開始し、電源がオフされたときに終了する。
【００８０】
処理を開始すると、乾燥処理装置２００は、印刷処理装置１０６から、乾燥部１０４が備える各ヒーター部１０８への温度目標の設定指示を受信したか否かを判断する（Ｓ１００）。そして、受信していないときは（Ｓ１００、ＮＯ）、ステップＳ１００を繰り返して、設定指示を受信するのを待機する。
【００８１】
一方、設定指示を受信すると（Ｓ１００、ＹＥＳ）、コマンド送信部２１２は、受信した設定指示に基づき、例えば図４に示すような、送信先のスレーブ基板１１６の指定を含む設定コマンドを生成し、伝送路１１８へ送出する（Ｓ１０２）。
【００８２】
コマンド送信部２１２が設定コマンドを送信した後の応答期間において、応答受信部２１４は、指定スレーブ基板１１６から、コマンドを正常に受信した旨の第１応答を受信したか否かを判断する（Ｓ１０４）。そして、第１応答を受信したときは（Ｓ１０４、ＹＥＳ）、応答受信部２１４は、処理をステップＳ１００に戻す。一方、第１応答を受信していないときは、応答受信部２１４は、応答期間中に指定スレーブ基板１１６から通信異常を検出した旨の第２応答を受信したか否かを判断する（Ｓ１０６）。
【００８３】
そして、第２応答を受信したときは（Ｓ１０６、ＹＥＳ）、コマンド送信部２１２は、各スレーブ基板１１６を指定してリセットコマンドを送信する（Ｓ１０８）。
【００８４】
次に、応答受信部２１４は、全てのスレーブ基板１１６から、上記リセットコマンドに対する応答を受信したか否かを判断する（Ｓ１１０）。そして、受信していなければ（Ｓ１１０、ＮＯ）、応答受信部２１４は、ステップＳ１１０を繰り返して、全てのスレーブ基板１１６から応答を受信するのを待機する。そして、全てのスレーブ基板１１６から応答を受信したときは（Ｓ１１０、ＹＥＳ）、コマンド送信部２１２は、ステップＳ１０２において生成し及び送信した設定コマンドを再送信する（Ｓ１１２）。その後、乾燥処理装置２００は、ステップＳ１００に戻って処理を繰り返す。
【００８５】
一方、指定スレーブ基板１１６から第２応答を受信していないときは（Ｓ１０６、ＮＯ）、応答受信部２１４は、応答期間内において指定スレーブ基板１１６以外の他のスレーブ基板１１６から第２応答を受信したか否かを判断する（Ｓ１１４）。そして、他のスレーブ基板１１６から第２応答を受信したときは（Ｓ１１４、ＹＥＳ）、乾燥処理装置２００は、ステップＳ１０８に処理を移して、コマンド送信部２１２により各スレーブ基板１１６にリセットコマンドを送る。なお、マスター基板１１４が、応答期間内に、指定スレーブ基板１１６から何らの応答も受信せず、他のスレーブ基板１１６から第２応答を受信するケースは、例えば、指定スレーブ基板１１６の故障又は断線等の場合であり得る。
【００８６】
一方、応答期間内に他のスレーブ基板１１６から第２応答を受信していないときは（Ｓ１１４、ＮＯ）、第１異常検出部２１６は、応答期間内に通信異常を検知したか否かを判断する（Ｓ１１６）。そして、通信異常を検知していないときは（Ｓ１１６、ＮＯ）、乾燥処理装置２００は、ステップＳ１００に戻って処理を繰り返す。一方、応答期間内に第１異常検出部２１６が通信異常を検知したときは（Ｓ１１６、ＹＥＳ）、乾燥処理装置２００は、指定スレーブ基板１１６からの応答（例えば第１応答）と他のスレーブ基板１１６からの第２応答とが重畳して送信されたものと判断する。すなわち、乾燥処理装置２００は、指定スレーブ基板１１６以外の他のスレーブ基板１１６が通信異常を検知したものと判断する。そして、乾燥処理装置２００は、ステップＳ１０８に処理を移して、コマンド送信部２１２により各スレーブ基板１１６にリセットコマンドを送る。
【００８７】
なお、応答期間内において、指定スレーブ基板１１６及び他のスレーブ基板１１６から何らの応答も受信せず、且つ第１異常検出部２１６も通信異常を検知しないときは、マスター基板１１４は、応答期間の終了後に所定のエラー処理を行うことができる。
【００８８】
次に、図３を参照しつつ図７に示すフロー図を用いて、スレーブ基板１１６のヒーター制御処理装置３００が行う通信動作の処理について説明する。本処理は、プリンター１００の電源がオンされたときに開始し、電源がオフされたときに終了する。
【００８９】
処理を開始すると、スレーブ基板１１６は、コマンド受信部３１４により、伝送路１１８からコマンドを受信したか否かを判断する（Ｓ２００）。そして、コマンドを受信していないときは（Ｓ２００、ＮＯ）、ステップＳ２００に戻ってコマンドを受信するのを待機する。一方、コマンドを受信したときは（Ｓ２００、ＹＥＳ）、コマンド受信部３１４は、受信したコマンドに含まれるコマンド種別コードに基づき、受信したコマンドが設定コマンドか否かを判断する（Ｓ２０２）。
【００９０】
そして、受信したコマンドが設定コマンドであるときは（Ｓ２０２、ＹＥＳ）、コマンド受信部３１４は、受信した設定コマンドに含まれるＩＤが自身のスレーブ基板１１６のＩＤと一致するか否かを判断する（Ｓ２０４）。そして、一致するときは（Ｓ２０４、ＹＥＳ）、コマンド受信部３１４は、自身のスレーブ基板１１６が指定スレーブ基板１１６であることを認識する。そして、ヒーター制御処理装置３００は、第２異常検出部３１８によるその設定コマンドについての通信異常のチェックを開始すると共に、コマンド受信部３１４により、受信している設定コマンドに含まれるデータの記憶を開始する（Ｓ２０６）。記憶されたデータは、ヒーター制御部３１０により読み出されて使用される。
【００９１】
次に、第２異常検出部３１８は、通信異常を検知したか否かを判断する（Ｓ２０８）。そして、通信異常を検知していないときは（Ｓ２０８、ＹＥＳ）、ヒーター制御処理装置３００は、設定コマンド全体の通信異常のチェックとデータの受信とを完了したか否かを判断する（Ｓ２１０）。そして、通信異常のチェックとデータの受信とを完了していないときは（Ｓ２１０、ＮＯ）、ヒーター制御処理装置３００は、ステップＳ２０８に戻って処理を繰り返す。一方、通信異常のチェックとデータの受信とを完了したときは（Ｓ２１０、ＹＥＳ）、応答送信部３１６は、応答期間中に、コマンドの受信が正常であった旨の第１応答を、伝送路１１８へ送出する（Ｓ２１２）。その後、ヒーター制御処理装置３００は、ステップＳ２００へ戻って処理を繰り返す。
【００９２】
一方、ステップＳ２０８において第２異常検出部３１８が通信異常を検知したときは（Ｓ２０８、ＹＥＳ）、応答送信部３１６は、応答期間中に、通信異常を検出した旨の第２応答を伝送路１１８へ送出する（Ｓ２１４）。その後、ヒーター制御処理装置３００は、ステップＳ２００へ戻って処理を繰り返す。
【００９３】
また、一方、ステップＳ２０４において、受信した設定コマンドに含まれるＩＤが自身のスレーブ基板１１６のＩＤと一致しないときは（Ｓ２０４、ＮＯ）、コマンド受信部３１４は、自身のスレーブ基板１１６は指定スレーブ基板１１６ではないものと判断する。そして、ヒーター制御処理装置３００は、設定コマンドに含まれるデータを記憶することなく、第２異常検出部３１８により、設定コマンドについての通信異常のチェックを開始する（Ｓ２１６）。
【００９４】
次に、第２異常検出部３１８は、通信異常を検知したか否かを判断する（Ｓ２１８）。そして、通信異常を検知していないときは（Ｓ２１８、ＹＥＳ）、ヒーター制御処理装置３００は、設定コマンド全体の通信異常のチェックを完了したか否かを判断する（Ｓ２２０）。そして、通信異常のチェックが完了していないときは（Ｓ２２０、ＮＯ）、ヒーター制御処理装置３００は、ステップＳ２１８に戻って処理を繰り返す。一方、通信異常のチェックが完了したときは（Ｓ２２０、ＹＥＳ）、ヒーター制御処理装置３００は、ステップＳ２００へ戻って処理を繰り返す。
【００９５】
一方、ステップＳ２１８において第２異常検出部３１８が通信異常を検知したときは（Ｓ２１８、ＹＥＳ）、応答送信部３１６は、応答期間中か否かに関わらず、通信異常を検出した旨の第２応答を伝送路１１８へ送出する（Ｓ２２２）。その後、ヒーター制御処理装置３００は、ステップＳ２００へ戻って処理を繰り返す。
【００９６】
また、一方、ステップＳ２０２において、受信したコマンドが設定コマンドでないときは（Ｓ２０２、ＮＯ）、コマンド受信部３１４は、受信したコマンドがリセットコマンドであるか否かを判断する（Ｓ２２４）。そして、リセットコマンドでないときは（Ｓ２２４、ＮＯ）、ヒーター制御処理装置３００は、コマンドが異常であるものと判断し、応答送信部３１６により、Ｎａｃｋを含む応答を伝送路１１８へ送出する（Ｓ２２６）。
【００９７】
なお、ここでは、マスター基板１１４が送信するコマンドは、設定コマンド又はリセットコマンドであるものとし、他のコマンドはないものとする。ただし、これに限らず、上記以外の他のコマンドも予め定義されて使用されるものとしてもよい。この場合には、ステップＳ２２２においてＮＯの場合には、他のコマンドのいずれかであるか否かを判断して、そのコマンドについての処理を行うものとすることができる。
【００９８】
一方、ステップＳ２２４において受信したコマンドがリセットコマンドであるときは、（Ｓ２２４、ＹＥＳ）、コマンド受信部３１４は、受信した設定コマンドに含まれるＩＤが自身のスレーブ基板１１６のＩＤと一致するか否かを判断する（Ｓ２２８）。そして、一致するときは（Ｓ２２８、ＹＥＳ）、コマンド受信部３１４は、受信したデータを破棄し、第２異常検出部３１８は、エラー検知の状態を「正常状態」にリセットする（Ｓ２３０）。続いて、応答送信部３１６がＡｃｋを含む応答を伝送路１１８へ送出した後（Ｓ２３２）、ヒーター制御処理装置３００は、ステップＳ２００へ戻って処理を繰り返す。
【００９９】
一方、ステップＳ２２６において、受信した設定コマンドに含まれるＩＤが自身のスレーブ基板１１６のＩＤと一致しないときは（Ｓ２２８、ＮＯ）、ヒーター制御処理装置３００は、何も行うことなく、ステップＳ２００へ戻って処理を繰り返す。
【０１００】
以上説明したように、本発明のプリンター１００又は本発明のプリンター内部基板の通信方法を適用したプリンター１００は、コマンド送信部２１２と応答受信部２１４と第１異常検出部２１６とを備えるマスター基板１１４を備える。また、プリンター１００は、それぞれがコマンド受信部３１４と応答送信部３１６と第２異常検出部３１８とを備える複数のスレーブ基板１１６を備える。そして、マスター基板１１４と複数のスレーブ基板１１６のそれぞれとが一の通信チャネルである伝送路１１８を共有して半二重通信を行う。マスター基板１１４は、コマンド送信部２１２により、一のスレーブ基板１１６を送信先に指定して、指定スレーブ基板１１６へコマンドを送信する。指定スレーブ基板１１６は、コマンド受信部３１４により上記コマンドを正常に受信したときは、応答送信部３１６により、受信が正常であった旨の第１応答をマスター基板１１４へ送信する。また、指定スレーブ基板１１６でない他のスレーブ基板１１６は、第２異常検出部３１８により自身を送信先としない上記コマンドの通信異常を検出したときは、第１応答が送信されるタイミングに関わらず、通信異常を検出した旨の第２応答を送信する。この第２応答の送信は、応答送信部３１６により行われる。そして、マスター基板１１４は、第２応答が送信されたことを応答受信部２１４により検出したとき又は第１応答と第２応答とが重畳して送信されたことを第１異常検出部２１６により検出したときは、上記コマンドの送信において通信異常が発生したと判断する。そして、マスター基板１１４は、コマンド送信部２１２により、上記コマンドを再送信する。
【０１０１】
この構成によれば、マスター基板１１４が通信することを意図する一のスレーブ基板（指定スレーブ基板）１１６以外の他のスレーブ基板１１６は、指定スレーブ基板１１６の第１応答の送信終了を待たずに第２応答をマスター基板１１４へ送信することができる。その結果、マスター基板１１４は、いち早く通信異常を認識することができ、その後の異常復旧動作を迅速に行うことができる。
【０１０２】
また、本発明のプリンター１００では、マスター基板１１４は、第１異常検出部２１６により、通信チャネルである伝送路１１８から受信したデータについて通信異常を検出したときに、第１応答と第２応答とが重畳して送信されたものと判断する。
この構成によれば、マスター基板１１４は、第２応答が送信されたことを明示的に認識することなく、何等かの通信異常の発生事実を知ることができる。その結果、マスター基板１１４は、通信異常を迅速に判断して、その後の異常復旧動作を迅速に行うことができる。
【０１０３】
また、本発明のプリンター１００では、マスター基板１１４は、コマンド送信部２１２により、コマンドを構成する複数のデータブロックである複数の１バイトデータを所定のインターバル時間Ｔｃｍｄをあけて送信する。また、他のスレーブ基板１１６は、第２異常検出部３１８によりコマンドの通信異常を検出したときは、一のデータブロックを受信してから所定時間以内に次のデータブロックを受信しないときに、応答送信部３１６により第２応答をマスター基板１１４へ送信する。ここで、上記所定時間は、上記所定のインターバル時間Ｔｃｍｄに所定の余裕時間Δｔｃを加えた時間とされる。
【０１０４】
この構成によれば、他のスレーブ基板１１６、通信異常を検出した際は、直前に受信したデータブロックの受信後の経過時間から、マスター基板１１４から送信されるべき全てのデータブロックの送信が終了したか否かを検知することができる。従って、他のスレーブ基板１１６は、通信異常を検出した際にマスター基板１１４からその後に送信されるべき残りのデータブロックの数が不明であっても、全てのデータブロックの送信終了後に、第２応答を送出することができる。その結果、他のスレーブ基板１１６は、通信チャネルである伝送路１１８においてマスター基板１１４のデータ送信動作と競合することなく、第２応答を伝送路１１８へ送出することができる。
【０１０５】
また、本発明のプリンター１００では、マスター基板１１４は、第１異常検出部２１６によりコマンドの送信において通信異常が発生したと判断したときは、コマンド送信部２１２により全てのスレーブ基板１１６に対しそれぞれリセットコマンドを送信する。そして、スレーブ基板１１６のそれぞれは、コマンド受信部３１４によりリセットコマンドを受信したことに応じて、直前に受信したコマンドを破棄し、コマンド受信部３１４により次のコマンドの受信を待機する。
【０１０６】
この構成によれば、通信異常が発生したときは、マスター基板１１４からリセットコマンドが送信されるので、指定スレーブ基板１１６が同じコマンドを重複して実行してしまうのを防止することができる。また、リセットコマンドは、各スレーブ基板１１６に対して送信されるので、全てのスレーブ基板１１６は、マスター基板１１４から再送信されるコマンドを受信するための準備を、迅速に調えることができる。その結果、マスター基板１１４は、コマンドの再送信を迅速に開始することができ、異常復旧をより素早く行うことができる。
【０１０７】
また、本発明のプリンター１００では、他のスレーブ基板１１６は、第２異常検出部３１８により通信異常を検知するときは、マスター基板１１４に第２応答を送信する。
【０１０８】
この構成によれば、他のスレーブ基板１１６は、マスター基板１１４との通信異常の、例えば受信したコマンドが正しく受信されず予め定義されたコマンドとして認識されなかった等の受信異常があった場合、第２応答を送信する。したがって、マスター基板１１４は、他のスレーブ基板１１６に影響を及ぼす可能性のある通信異常の発生を検知して、異常復旧動作を行うことができる。その結果、マスター基板１１４は、異常のあるスレーブ基板１１６との間で通信途絶が発生してしまうのを回避することができる。
【０１０９】
また、本発明のプリンター１００では、複数のスレーブ基板１１６は、それぞれ、印刷媒体の相異なる部分を乾燥させる複数のヒーター３３０の温度制御を行うものである。そして、マスター基板１１４は、印刷媒体のうち所望の部分に対応するスレーブ基板１１６を送信先に指定してコマンドを送信することにより、上記スレーブ基板１１６に対応するヒーター３３０の温度制御を行う。
【０１１０】
この構成によれば、通信異常があっても、迅速に異常復旧動作を行ってマスター基板１１４とスレーブ基板１１６との間の通信途絶期間を低減して、ヒーター３３０に対するリアルタイム制御を続行することができる。その結果、印刷媒体に噴射されたインクの乾燥を適切に行って、高い印刷品質を確保することができる。
【０１１１】
なお、本発明は上記実施形態の構成に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能である。
【０１１２】
例えば、上記実施形態では、マスター基板１１４のコマンド送信部２１２は、全てのスレーブ基板１１６に、順次、リセットコマンドを送るものとしたが、これには限られない。全てのスレーブ基板１１６に対し、一つのリセットコマンドをブロードキャストするものとしてもよい。
【０１１３】
また、上記実施形態では、複数のスレーブ基板１１６が、一の共通の通信チャネルである伝送路１１８を介して、１枚のマスター基板１１４に対し、いわゆるカスケード接続されて、半二重通信により１対多の通信を行うものとしたが、これには限られない。共通の通信チャネルに接続された複数の端末装置からの送信信号がその通信チャネルにおいて競合してしまうような、他の通信方式又は通信構成により行われる１対多の通信に、本発明の通信方法を適用することができる。
【符号の説明】
【０１１４】
１００…プリンター、１０２…印刷機構部、１０４…乾燥部、１０６…印刷処理装置、１０８…ヒーター部、１１０…印刷制御部、１１２…乾燥制御部、１１４…マスター基板、１１６…スレーブ基板、１１８…伝送路、２００…乾燥処理装置、２０２、３０２…通信インターフェイス（通信ＩＮＦ）、２１２…コマンド送信部、２１４…応答受信部、２１６…第１異常検出部、２２０、３２０…ＵＡＲＴ、２２２、３２２…ＨＤＴトランシーバー、３００…ヒーター制御処理装置、３１０…ヒーター制御部、３１２…温度計測部、３１４…コマンド受信部、３１６…応答送信部、３１８…第２異常検出部、３３０…ヒーター、３３２…温度センサー。
【図１】
2019139550.tif 000003
【図２】
2019139550.tif 000004
【図３】
2019139550.tif 000005
【図４】
2019139550.tif 000006
【図５】
2019139550.tif 000007
【図６】
2019139550.tif 000008
【図７】
2019139550.tif 000009