(57)【要約】【課題】鉄道車両に備え付けられた複数階層の通信網を利用することができ、空調制御装置が接続されている通信階層を問わず、効率よく制御プログラムを書き換えることのできる鉄道車両用空調制御装置のプログラム書き換えシステムを得る。【解決手段】プログラム書き換え指示装置１００を最上位のマスタノードとし、空調制御装置Ｃをスレーブノードとするマスタ・スレーブ型の通信網２００を形成しており、プログラム書き換え指示装置１００は、空調制御装置Ｃに対する書き換え対象の制御プログラムをゲートウェイノードに対して送信し、ゲートウェイノードは、制御プログラムを受信すると、受信した制御プログラムを自身の配下のゲートウェイノード又は空調制御装置Ｃに対してマルチキャストし、制御プログラムを受信した空調制御装置Ｃは、受信した制御プログラムへの書き換えを実行する。【選択図】図５
2012006490.tif 000002
【特許請求の範囲】
【請求項１】
鉄道車両に搭載される空調機器を制御プログラムに従って制御する空調制御装置と、
前記空調制御装置の制御プログラムの書き換えを指示するプログラム書き換え指示装置とを備え、
前記プログラム書き換え指示装置を最上位のマスタノードとし、前記空調制御装置をスレーブノードとするマスタ・スレーブ型の通信網を形成する鉄道車両用空調制御装置のプログラム書き換えシステムであって、
前記プログラム書き換え指示装置と前記空調制御装置との間に１以上の通信階層を設けて、この通信階層において前記プログラム書き換え指示装置と前記空調制御装置との間の通信を接続するゲートウェイノードを設け、
前記プログラム書き換え指示装置は、前記空調制御装置に対する書き換え対象の制御プログラムを前記ゲートウェイノードに対して送信し、
前記ゲートウェイノードは、前記制御プログラムを受信すると、受信した前記制御プログラムを自身のスレーブノードである前記ゲートウェイノード又は前記空調制御装置に対してマルチキャストし、
前記制御プログラムを受信した前記空調制御装置は、受信した前記制御プログラムへの書き換えを実行する
ことを特徴とする鉄道車両用空調制御装置のプログラム書き換えシステム。
【請求項２】
複数の前記空調制御装置が２以上の通信階層にそれぞれ接続されており、
前記プログラム書き換え指示装置は、プログラム書き換え対象となる前記空調制御装置の通信階層を選択する書き換え階層選択手段を備え、前記書き換え階層選択手段で選択された通信階層に属する前記空調制御装置に対する制御プログラムを送信する
ことを特徴とする請求項１記載の鉄道車両用空調制御装置のプログラム書き換えシステム。
【請求項３】
前記プログラム書き換え指示装置は、前記書き換え階層選択手段で選択された階層に属する前記空調制御装置のうち、プログラム書き換え対象とする前記空調制御装置を選択する書き換え装置選択手段を備え、前記書き換え装置選択手段で選択された前記空調制御装置に対する制御プログラムを送信する
ことを特徴とする請求項２記載の鉄道車両用空調制御装置のプログラム書き換えシステム。
【請求項４】
前記プログラム書き換え指示装置は、プログラム書き換え対象の空調制御装置を示す識別情報を付加して前記制御プログラムを送信し、
前記空調制御装置は、受信した前記識別情報が自己の識別情報と一致する場合に、前記制御プログラムへの書き換えを実行する
ことを特徴とする請求項１〜請求項３のいずれか一項に記載の鉄道車両用空調制御装置のプログラム書き換えシステム。
【請求項５】
前記プログラム書き換え指示装置は、前記空調制御装置に対して前記制御プログラムを送信する前にプログラム書き換えモードへの遷移要求を送信し、
前記空調制御装置は、前記プログラム書き換えモードへの遷移要求を受信すると、プログラム書き換えに関する送受信処理を除く送受信処理及び空調制御処理を停止する
ことを特徴とする請求項１〜請求項４のいずれか一項に記載の鉄道車両用空調制御装置のプログラム書き換えシステム。
【請求項６】
前記プログラム書き換え指示装置は、前記制御プログラムを複数回送信し、
前記空調制御装置は、受信した制御プログラムを比較し、互いに一致した場合に当該制御プログラムの書き換えを実行する
ことを特徴とする請求項１〜請求項５のいずれか一項に記載の鉄道車両用空調制御装置のプログラム書き換えシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、鉄道車両に用いられる空調制御装置の制御プログラムを書き換えるプログラム書き換えシステムに関する。
【背景技術】
【０００２】
従来、鉄道車両に搭載される空調装置を制御する空調制御装置の制御プログラムを書き換える技術として、「空調制御情報を変更する場合は、情報を入力装置（２）の操作によって設定し直し、それをＲＡＭ（８）に格納して、空調設備（９）を制御する」という技術が提案されている（例えば、特許文献１参照）。
【０００３】
また、各車両間において制御情報を伝送する手段として、１系光伝送路及び２系光伝送路を備えた光２重化リングネットワークを用いた車両情報伝送システムを構成し、いずれかの光伝送路を用いて制御プログラム等を送信する技術が提案されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平４−１９１１６８号公報（第２頁、第１図）
【特許文献２】特開平７−８４９０８号公報（第４頁、第６頁、図１）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、鉄道車両に搭載される空調制御装置においては、車種の差異、走行による場所移動、乗車率の時間的変動、ドアの開閉、あるいは外気温度の変動など、様々な要因を考慮して車内環境を快適にするよう空調装置を制御する必要がある。このように、鉄道車両に搭載される空調装置は、一般の建物内に設置される空調装置と異なり、制御内容が複雑である。そして、上記のような要因の変化に対応して、空調制御装置の制御プログラムを書き換えなければならない場合も多い。
【０００６】
しかしながら、上記特許文献１に記載の技術では、各車両に設置された空調制御装置に入力装置を直接接続して制御プログラムを書き換える必要があるため、作業効率が良くなかった。
【０００７】
また、上記特許文献２に記載の技術では、同じ通信階層に接続される装置の制御プログラムを書き換えることはできる。しかし、複雑化する車両内の制御システムにおいては、複数階層の通信網が敷設されている場合も多く、２層目以降の通信階層に接続された空調制御装置に対する制御プログラムの書き換えについては考慮されていなかった。
【０００８】
本発明は、上記のような課題を解決するためになされたものであり、鉄道車両に備え付けられた複数階層の通信網を利用することができ、空調制御装置が接続されている通信階層を問わず、効率よく制御プログラムを書き換えることのできる鉄道車両用空調制御装置のプログラム書き換えシステムを提供するものである。
【課題を解決するための手段】
【０００９】
本発明に係る鉄道車両用空調制御装置のプログラム書き換えシステムは、鉄道車両に搭載される空調機器を制御プログラムに従って制御する空調制御装置と、前記空調制御装置の制御プログラムの書き換えを指示するプログラム書き換え指示装置とを備え、前記プログラム書き換え指示装置を最上位のマスタノードとし、前記空調制御装置をスレーブノードとするマスタ・スレーブ型の通信網を形成する鉄道車両用空調制御装置のプログラム書き換えシステムであって、前記プログラム書き換え指示装置と前記空調制御装置との間に１以上の通信階層を設けて、この通信階層において前記プログラム書き換え指示装置と前記空調制御装置との間の通信を接続するゲートウェイノードを設け、前記プログラム書き換え指示装置は、前記空調制御装置に対する書き換え対象の制御プログラムを前記ゲートウェイノードに対して送信し、前記ゲートウェイノードは、前記制御プログラムを受信すると、受信した前記制御プログラムを自身のスレーブノードである前記ゲートウェイノード又は前記空調制御装置に対してマルチキャストし、前記制御プログラムを受信した前記空調制御装置は、受信した前記制御プログラムへの書き換えを実行するものである。
【発明の効果】
【００１０】
本発明に係る鉄道車両用空調制御装置のプログラム書き換えシステムによれば、鉄道車両に備え付けられた通信網が複数階層を有する場合であっても、空調制御装置のプログラムの書き換えを行うことができる。既存の通信網を利用でき、書き換え対象の空調制御装置に個別に入力装置を接続する必要もないので、プログラムの書き換え効率を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態に係るプログラム書き換えシステムのシステム構成図である。
【図２】実施の形態に係るプログラム書き換え指示装置のブロック図である。
【図３】実施の形態に係る空調制御装置のブロック図である。
【図４】実施の形態に係る通信フレームの構成例である。
【図５】実施の形態に係るプログラム書き換え動作例を説明するシーケンス図である。
【図６】実施の形態に係るプログラム書き換え指示装置の出力装置の表示画面の例である。
【発明を実施するための形態】
【００１２】
実施の形態．
［プログラム書き換えシステムの構成］
図１は、実施の形態に係る空調制御装置のプログラム書き換えシステムのシステム構成図である。本実施の形態では、鉄道車両に３階層の通信網が敷設された場合を例に説明する。
【００１３】
図１に示すように、鉄道車両には３階層の通信網２００が敷設されており、第１層及び第２層には車両情報制御装置Ａ１、Ａ２（以下、車両情報制御装置Ａと総称する場合がある）が属し、第２層及び第３層には統合空調制御装置Ｂ１１、・・・、Ｂ２２（以下、統合空調制御装置Ｂと総称する場合がある）が属し、第３層には空調制御装置Ｃ１１１、・・・Ｃ２２２（以下、空調制御装置Ｃと総称する場合がある）が属している。空調制御装置Ｃには、それぞれ、空調機器Ｄ１１１、・・・Ｄ２２２（以下、空調機器Ｄと総称する場合がある）が接続されている。このように、車両情報制御装置Ａ、統合空調制御装置Ｂ、及び空調制御装置Ｃは複数階層の通信網２００により通信接続されていて、互いに情報を送受信して鉄道車両の各種制御を行うようになっている。
【００１４】
空調機器Ｄは、例えば空気調和機、暖房装置、あるいは扇風機等であり、１台の空調制御装置Ｃに対して１台あるいは複数台が接続されている。
【００１５】
空調制御装置Ｃは、鉄道車両内に設置された車内温度、外気温度、あるいは車内湿度を検出するセンサ（図示せず）や、空調機器Ｄの動作状態に基づいて、空調機器Ｄの運転制御を行う。
【００１６】
統合空調制御装置Ｂは、複数台の空調制御装置Ｃを統合して管理するための装置である。統合空調制御装置Ｂは、車両情報制御装置Ａから提供される情報に基づいて、空調制御装置Ｃに対して必要な制御を行う。
【００１７】
車両情報制御装置Ａは、車両の運転状態（営業運転中、回送中など）や予定行路（運行時間、予定乗車率など）などの情報を管理し、車両ドアの開閉や車内放送等の制御を行う。
【００１８】
プログラム書き換え指示装置１００は、空調制御装置の制御プログラム（以下、単にプログラムと称する場合がある）の書き換えを指示するための装置であり、通信網２００の第１層または車両情報制御装置Ａに接続される。プログラム書き換え指示装置１００が通信網２００の第１層に接続される場合、図１に通信線３０１として示すようにして接続されるが、中継器３００ａを介して接続してもよいし、中継器３００ａを設けなくともよい。また、プログラム書き換え指示装置１００が車両情報制御装置Ａに接続される場合、図１に通信線３０２として示すようにして接続されるが、中継器３００ｂを介して接続してもよいし、中継器３００ｂを設けなくともよい。なお、図１に示す中継器３００ａ、３００ｂは、本発明のゲートウェイノードとは別異の装置である。
【００１９】
［各装置の構成］
次に、空調制御装置のプログラム書き込みシステムを構成する各装置の構成をさらに説明する。
【００２０】
（プログラム書き換え指示装置１００）
図２は、実施の形態に係るプログラム書き換え指示装置１００の主要部を示すブロック図である。プログラム書き換え指示装置１００は、操作指示や通信状態に基づいて空調制御装置Ｃへのプログラム書き込み動作を制御するＣＰＵ１０と、制御プログラム１７を格納する記憶装置（ＲＯＭ）１１と、制御データを一時的に格納するＲＡＭ１２と、通信網２００における通信処理を行う通信部１３と、操作ボタンやタッチパネル、キーボード、マウスなどにより作業者からの入力を受け付ける入力装置１４と、液晶画面などプログラム書き込みに関する情報を表示する出力装置１５とを備えている。
【００２１】
制御プログラム１７は、書き込み先の空調制御装置やプログラムのバージョンごとに、複数種類が記憶装置１１内に保存されている。
【００２２】
（空調制御装置Ｃ）
図３は、実施の形態に係る空調制御装置Ｃの主要部を示すブロック図である。空調制御装置Ｃは、各種センサ検出値や運転指令に基づいて空調機器Ｄの運転制御を行うＣＰＵ２０と、制御プログラム２７を格納する記憶装置（ＲＯＭ）２１と、制御データを一次格納するＲＡＭ２２と、通信網２００における通信処理を行う通信部２３と、車両内に設置されたセンサ（図示せず）等からの情報を入力するとともに、空調機器Ｄへ制御情報を出力するための入出力部２６とを備えている。
【００２３】
（車両情報制御装置Ａ、統合空調制御装置Ｂ）
なお、車両情報制御装置Ａと統合空調制御装置Ｂの構成については図示しないが、制御を司るＣＰＵ、制御プログラムを格納する記憶装置、制御データを一次格納するＲＡＭ、及び通信処理を行う通信部を備えている。
【００２４】
このように構成された空調制御装置のプログラム書き換えシステムにおける、各装置の役割を説明する。プログラム書き換え指示装置１００が通信線３０１に接続されたときには、プログラム書き換え指示装置１００が通信網２００の第１層のマスタノードとして機能し、車両情報制御装置Ａが第１層のスレーブノードとして機能する。また、プログラム書き換え指示装置１００が通信線３０２に接続されたときには、車両情報制御装置Ａが第１層の擬似マスタノードとして機能する。
また、車両情報制御装置Ａは、通信網２００の第１層〜第２層間のデータゲートウェイを行うとともに、第２層のマスタノードとしての機能を有する。
統合空調制御装置Ｂは、第２層〜第３層間のデータゲートウェイを行う。また、統合空調制御装置Ｂは、第２層のスレーブノード、第３層のマスタノードとしての機能を有する。
空調制御装置Ｃは、第３層のスレーブノードとしての機能を有する。
【００２５】
なお、本実施の形態では説明のため３階層の通信網を例としたが、通信網２００の階層数及びこれに接続される装置については、実施の形態に限定するものではない。
【００２６】
［プログラム書き換え動作］
（動作概要）
次に、本実施の形態における制御プログラムの書き換え動作の概要を説明する。プログラムの書き換えは、通信網２００においてプログラム書き換え指示装置１００を最上位のマスタノードとするマスタ・スレーブ（シングルマスタ）式の通信によって実現される。システムを構成する各装置には、それぞれ固有のノードＩＤが所定の規則に則って割り振られている。そして、マスタノードからスレーブノードに対してリクエストフレームをマルチキャストし、これを各通信階層ごとに順次行うことによって、最下層のスレーブノードにリクエストフレームが伝送される。また、スレーブノードはリクエストフレームの指示に基づく処理を行ってレスポンスフレームを返信し、これを各通信階層ごとに順次行うことによって、レスポンスフレームは最上位のマスタノードであるプログラム書き換え指示装置１００に伝送される。
【００２７】
プログラム書き換えに使用する通信フレームは、フレームＩＤやフレームフォーマットなどが通常の通信フレームとは混同されないよう専用の構成とする。図４は、実施の形態に係る通信フレームの構成例を示す図であり、図４（ａ）はリクエストフレームを、図４（ｂ）はレスポンスフレームを示している。
【００２８】
リクエストフレームは、フレームＩＤ等の「ヘッダ部」と、通信対象の装置の個数を指定する「対象装置指定個数部」と、通信対象の装置のノードＩＤを指定する「対象装置ノードＩＤ指定部」と、対象装置に対する指令内容を指定する「指令内容部」と、データ領域である「データ部」と、「誤り検出部」とを備えている。
【００２９】
レスポンスフレームは、「ヘッダ部」と、正常に機能しているノード数を示す「正常ノード数通知部」と、正常に機能しているノードＩＤを示す「正常ノードＩＤ通知部」と、リクエストフレームに対する応答内容を示す「結果応答部」と、データ領域である「データ部」と、「誤り検出部」とを備えている。
【００３０】
詳細は後述するが、プログラム書き換えは、プログラム書き換え用の各種リクエストフレームとレスポンスフレームを用いて行う。本実施の形態では、プログラム書き換え用のリクエストフレームとレスポンスフレームは、図４に示すフレームフォーマットに従って構成される。
【００３１】
なお、各通信階層の通信規格によりフレームバイト数の上限が定められている場合には、図４に示した通信フレームの構成例のうち、ヘッダ部と誤り検出部を除く領域を分割して送信することができる。また、その際の分割送信ルールは、各通信規格に準ずるものとする。
また、後述するようにリクエストフレームにより制御プログラムを送信するが、プログラムデータの容量が大きい場合には、１フレームで全プログラムデータを送信することは送受信バッファや通信バス占有時間等の観点から現実的でないことがある。この場合には、「データ部」のバイト数に所定の上限を持たせて分割送信することができる。また、その際の分割送信ルールは、各通信規格若しくは独自規格に準ずるものとする。
【００３２】
プログラム書き込みに関する処理は、プログラム書き換え指示装置１００がスレーブノードに対してリクエストフレームをマルチキャストすることによって開始する。このリクエストフレームを受信したスレーブノード（本実施の形態では車両情報制御装置Ａ）は、自身がマスタノードとして機能する階層のスレーブノード（本実施の形態では統合空調制御装置Ｂ）にリクエストフレームをマルチキャストする。同様にして、最下層のスレーブノードまでリクエストフレームが送信される。
【００３３】
リクエストフレームを受信した各装置は、「対象装置ノードＩＤ」に自身のノードＩＤが含まれていれば、リクエストフレームに基づく処理を行い、レスポンスフレームをマスタノードに対して送信する。本実施の形態では、プログラム書き換え処理全体の処理速度を上げるため、プログラムの書き換え対象装置とその通信経路上にあるノードのみ、レスポンスを返す。例えば、図１において空調制御装置Ｃのすべてがプログラム書き換え対象である場合、空調制御装置Ｃ、統合空調制御装置Ｂ、及び車両情報制御装置Ａのすべてがマスタノードに対してレスポンスを返す。また、空調制御装置Ｃ１１１のみがプログラム書き換え対象である場合、空調制御装置Ｃ１１１、統合空調制御装置Ｂ１１、及び車両情報制御装置Ａ１がマスタノードに対してレスポンスフレームを返す。
【００３４】
スレーブノードからのレスポンスフレームを受信した各階層のマスタノードは、自身のマスタノードへとレスポンスフレームを送信する。これを繰り返すことにより、最終的に最上位のマスタノードであるプログラム書き換え指示装置１００にレスポンスフレームが伝送される。
【００３５】
また、プログラムの書き換えを始める前に、プログラム書き換え指示装置１００は、システム全体の通信状況を確認する。具体的には、各通信階層のマスタノードがスレーブノードの通信状態を監視し、この監視結果を上位層のマスタノードへ伝達し、これを繰り返す。これにより、プログラム書き換え指示装置１００は、プログラム書き換えシステム全体の通信状況を把握できる。通信状況を確認したときに、いずれかの装置が通信不能状態にある場合には、プログラム書き換えを行わない。
【００３６】
また、プログラムの書き換えを行う前に、各装置は『プログラム書き換えモード』に遷移し、この状態でプログラムの書き換えを行う。『プログラム書き換えモード』は、プログラムデータを確実に伝送するために設けられた特別なモードである。当該モード中は、通常の送受信、通信異常判定、通常の空調制御等は停止する。
【００３７】
（プログラム書き換え動作例）
図５は、実施の形態に係るプログラム書き換え動作例を説明するシーケンス図である。図５を参照して、空調制御装置Ｃの制御プログラムを書き換える場合を例に説明する。この例では、空調制御装置Ｃが本発明の空調制御装置に相当し、車両情報制御装置Ａ及び統合空調制御装置Ｂが本発明のゲートウェイノードに相当する。なお、図５では、通信が全て正常に行われてプログラム書き換えが正常に終了する場合の動作を説明する。また、前述したとおりプログラムデータを分割送信することも可能であるが、図５では分割送信に関する動作は記載していない。
【００３８】
（ステップ１：通信状況確認）
プログラム書き換え指示装置１００は、車両情報制御装置Ａ及び車両情報制御装置Ａの通信フレームからもたらされる統合空調制御装置Ｂ以下の装置のフレーム送信状態を確認する。全装置のフレーム送信状態が正常であれば、ステップ２へ移行する。
なお、いずれかの装置のフレーム送信状態が異常であれば、プログラム書き換え指示装置１００は、異常のある装置に関する情報を出力装置１５により表示して作業者に伝え、プログラム書き換え処理を中止する。
【００３９】
（ステップ２：プログラム書き換えモードへの遷移）
プログラム書き換え指示装置１００は、車両情報制御装置Ａに対して『書き換えモード遷移リクエスト』をマルチキャストする。
車両情報制御装置Ａは、統合空調制御装置Ｂに対して『書き換えモード遷移リクエスト』をマルチキャストするとともに、プログラム書き換えモードに遷移する。
統合空調制御装置Ｂは、空調制御装置Ｃに対して『書き換えモード遷移リクエスト』をマルチキャストするとともに、プログラム書き換えモードに遷移する。
空調制御装置Ｃは、『書き換えモード遷移リクエスト』を受信してプログラム書き換えモードに遷移するとともに、自身がモード移行したという情報を付加した『モード移行完了レスポンス』を送信する。
【００４０】
次に、統合空調制御装置Ｂは、自身とスレーブノード（本実施の形態では空調制御装置Ｃ）がモード移行したという情報を付加した『モード移行完了レスポンス』を送信する。
車両情報制御装置Ａは、プログラム書き換え指示装置１００に対し、自身とスレーブノード（本実施の形態では統合空調制御装置Ｂ）がモード移行したという情報を付加した『モード移行完了レスポンス』を送信する。
【００４１】
（ステップ３：プログラムデータ送信）
『モード移行完了レスポンス』を受信したプログラム書き換え指示装置１００は、車両情報制御装置Ａに対し、記憶装置１１に格納された制御プログラム１７のうち所定のプログラムデータをマルチキャストする。ここで、送信するプログラムデータには、プログラム書き換え対象の空調制御装置Ｃを示す識別情報を付加する。具体的には、本実施の形態では、リクエストフレームの「対象装置ノードＩＤ指定部」でプログラム書き換え対象の空調制御装置ＣのノードＩＤを指定する。
次に、車両情報制御装置Ａは、自身のスレーブノードである統合空調制御装置Ｂにプログラムデータをマルチキャストし、統合空調制御装置Ｂも自身のスレーブノードである空調制御装置Ｃに受信したプログラムデータをマルチキャストする。
【００４２】
空調制御装置Ｃは、プログラムデータを正常に受信できた場合には、このプログラムデータを記憶装置２１に保存する。なお、ここでは制御プログラムの書き換えは行わず、記憶装置２１に保存するのみである。そして、プログラムデータを正常に受信できたことを示す『プログラムデータ受信完了レスポンス』を送信する。
【００４３】
統合空調制御装置Ｂは、空調制御装置Ｃから送信された『プログラムデータ受信完了レスポンス』をマスタノードである車両情報制御装置Ａに向けゲートウェイし、車両情報制御装置Ａも自身のマスタノードであるプログラム書き換え指示装置１００に向け『プログラムデータ受信完了レスポンス』をゲートウェイする。
【００４４】
『プログラムデータ受信完了レスポンス』を受信したプログラム書き換え指示装置１００は、同じプログラムデータを再び車両情報制御装置Ａに対してマルチキャストする。
車両情報制御装置Ａ、統合空調制御装置Ｂは、それぞれ、自身のスレーブノードに向けプログラムデータをマルチキャストする。すなわち、ステップ３では、同じプログラムデータを２回送信している。
【００４５】
空調制御装置Ｃは、２回目のプログラムデータを正常に受信できた場合には、記憶装置２１に保存しておいた初回のプログラムデータと２回目のプログラムデータとを比較し、一致すれば、同一のプログラムデータを受信したことを示す『比較一致レスポンス』をマスタノードである統合空調制御装置Ｂに送信する。
【００４６】
統合空調制御装置Ｂ、車両情報制御装置Ａは、それぞれ、自身のマスタノードに向けて『比較一致レスポンス』をゲートウェイする。
【００４７】
（ステップ４：プログラム書き換え）
『比較一致レスポンス』を受信したプログラム書き換え指示装置１００は、車両情報制御装置Ａに向けプログラム書き換えを指示する『プログラム書き換え実行リクエスト』をマルチキャストする。車両情報制御装置Ａ、統合空調制御装置Ｂは、それぞれ、自身のスレーブノードに向け『プログラム書き換え実行リクエスト』をマルチキャストする。
【００４８】
『プログラム書き換え実行リクエスト』を受信した空調制御装置Ｃは、記憶装置２１に格納されていた制御プログラム２７を、ステップ３で受信したプログラムデータに書き換える。ここで、書き換え後の制御プログラムを制御プログラム２７’とする。プログラムの書き換えを行う際には、プログラムデータが送信されたリクエストフレームの「対象装置ノードＩＤ指定部」を確認して、自身がプログラム書き換え対象であるか否か判断する。自身がプログラム書き換え対象である場合、すなわち、リクエストフレームの「対象装置ノードＩＤ指定部」に自身のノードＩＤが含まれる場合のみ、プログラムの書き換えを行う。このようにすることで、空調制御装置Ｃへの誤ったプログラムの書き換えが生じるのを抑制できる。書き換えが終了すると、空調制御装置Ｃは、プログラム書き換えが終了したことを示す『書き換え終了レスポンス』をマスタノードである統合空調制御装置Ｂに送信する。
【００４９】
統合空調制御装置Ｂ、車両情報制御装置Ａは、それぞれ、自身のマスタノードに向けて『書き換え終了レスポンス』をゲートウェイする。
【００５０】
（ステップ５：プログラム書き換えモードの終了）
『書き換え終了レスポンス』を受信したプログラム書き換え指示装置１００は、車両情報制御装置Ａに向け『書き換えモード終了リクエスト』をマルチキャストする。車両情報制御装置Ａ、統合空調制御装置Ｂは、それぞれ、自身のスレーブノードに向け『書き換えモード終了リクエスト』をマルチキャストする。
【００５１】
『書き換えモード終了リクエスト』を受信した空調制御装置Ｃは、『モード終了レスポンス』を送信するとともに、プログラム書き換えモードから離脱して通常モードへ移行する。通常モードへの移行後は、通常の送受信、通信異常判定、通常の空調制御等を再開する。
【００５２】
統合空調制御装置Ｂ、車両情報制御装置Ａは、それぞれ、自身のスレーブノードからの『書き換え終了レスポンス』を受信するとこれを自身のマスタノードに向けゲートウェイするとともに、通常モードへ移行する。以上で、プログラム書き換えの一連の動作は終了である。
【００５３】
なお、ステップ３では、プログラム書き換え指示装置１００が同じプログラムデータを２回送信し、空調制御装置Ｃは受信した２つのプログラムデータが一致した場合にプログラムデータの書き込みを行うこととしたが、これはノイズ等によりプログラムデータが破損しうることを考慮して信頼性を向上させるための処理である。通信の信頼性を向上させるための手段として他の手段をとってもよい。
【００５４】
また、ステップ４では、プログラムデータが送信されたリクエストフレームの「対象装置ノードＩＤ指定部」を確認し、自身がプログラム書き換え対象である場合のみ、プログラムの書き換えを行うこととした。しかし、自身がプログラム書き換え対象であるか否かの判断は、ステップ３においてプログラムデータを記憶装置２１に保存するタイミング、あるいは、プログラムデータを比較するタイミングで行ってもよく、同様の効果を得ることができる。
【００５５】
また、図５では、ステップ３で空調制御装置Ｃがプログラムデータを受信した後、ステップ４で『プログラム書き換え実行リクエスト』を受けてプログラムの書き換えを実行するものとして説明した。しかし、プログラムの書き換えタイミングはこれに限定するものではない。例えば、２回受信したプログラムデータの比較が一致した時点で、空調制御装置Ｃがプログラムの書き換えを実行してもよい。
また、プログラムデータを分割送信する場合には、分割して送信されたプログラムデータをすべて受信したタイミングでプログラムの書き換えを実行してもよいし、分割送信された１ブロックのプログラムデータを受信する都度、そのブロック領域のプログラム書き換えを実行してもよい。
【００５６】
以上、図５では、空調制御装置Ｃが本発明の「空調制御装置」であり、車両情報制御装置Ａと統合空調制御装置Ｂが本発明の「ゲートウェイノード」である場合のプログラム書き換え動作例を説明した。なお、統合空調制御装置Ｂのプログラム書き換えについても同様にして行うことができる。この場合には、統合空調制御装置Ｂが本発明の「空調制御装置」に相当し、車両情報制御装置Ａが本発明の「ゲートウェイノード」に相当することとなる。
【００５７】
以上のように、本実施の形態に係るプログラム書き換えシステムでは、鉄道車両に敷設された複数階層の通信網２００を利用して、この通信網２００に接続された空調制御装置Ｃのプログラムの書き換えを行うことができる。備え付けの通信網２００を利用できるので、プログラム書き換え対象装置にプログラム書き換えのための入力装置を直接接続する必要がない。このため、プログラム書き換え対象装置やその装置周辺の車両部品を開閉したり脱着する必要もなく、各種部品が破損するのを防ぐことができる。また、作業者がプログラム書き換え対象装置に入力装置を直接接続する必要がないので、作業効率を大幅に向上させることができる。
【００５８】
また、プログラムの書き換え対象の装置が、通信網２００のいずれの階層に接続されている場合であっても、同様にして制御プログラムの書き換えを行うことができる。
【００５９】
また、本実施の形態では、プログラム書き込みに関するリクエストフレームはマスタノードからスレーブノードへマルチキャストし、レスポンスフレームについては各通信階層のマスタノードがその上位層のマスタノードへ送信するようにした。このため、プログラムデータの授受に要する時間の短縮が期待できる。
ここで、図１に示す空調制御装置Ｃ全てのプログラム書き換えを行う場合の、プログラムデータ授受に要する時間Ｔを試算する。なお、以下のように仮定して試算する。
リクエスト送信に要する時間をTreq（簡単のため全階層で共通と仮定）
レスポンス送信に要する時間をTresp（簡単のため全階層で共通と仮定）
【００６０】
本実施の形態によるプログラムデータ授受時間Ｔ１は、次式で表される。ただし、ｍ：車両情報制御装置Ａの数、ｎ：統合空調制御装置Ｂの数、ｐ：空調制御装置Ｃの数である。
T1=3*Treq+(m+n+p)*Tresp・・・（式１）
これに対し、プログラム書き換え指示装置１００から各空調制御装置Ｃに対し、車両情報制御装置Ａ、統合空調制御装置Ｂを介してリクエストフレームを送信し、各空調制御装置Ｃが送信したレスポンスフレームを統合空調制御装置Ｂ、車両情報制御装置Ａを介してプログラム書き換え指示装置１００が受信するシステムを想定する。この場合のプログラムデータ授受時間Ｔ２は、次式で表される。
T2=3*m*n*p*Treq+3*m*n*p*Tresp・・・（式２）
【００６１】
式１と式２とを比較すると、本実施の形態によれば、以下の時間短縮が可能となる。
T2-T1=3*(m*n*p-1)*Treq+{3*m*n*p-(m+n+p)}*Tresp・・・（式３）
式３から明らかなように、本実施の形態によれば、プログラム書き換え対象の装置の通信系階層が深いほど、また、書き換え対象装置のノード数及び全体ノード数が多いほど、プログラムデータ授受時間の短縮率が向上する。
【００６２】
また、本実施の形態に係るプログラム書き換えシステムでは、プログラム書き換え指示装置１００が全ノードに対するマスタとなり、プログラム書き換えにかかわる情報（プログラムデータ、及び各種レスポンス）がプログラム書き換え指示装置１００に集積される。そして、プログラムデータを送信する際には、プログラム書き換え指示装置１００は、書き換え対象装置のプログラム１種類のみを送信し、書き換え対象装置に至るゲートウェイノード（図５の例では車両情報制御装置Ａ及び統合空調制御装置Ｂ）は、その都度プログラムデータをゲートウェイする。ゲートウェイノードがプログラムデータゲートウェイ用に確保すべき記憶装置の容量は、通信フレームが１回に送信するデータ部の上限値＋α（α≧０）でよい。また、通信規格に準じてプログラムデータを分割送信する場合には、その分割送信するデータ部の上限値＋α（α≧０）でよい。このように、ゲートウェイノードが確保すべき記憶装置の容量を抑制できる。
【００６３】
また、本実施の形態では、プログラム書き換え指示装置１００が送信するプログラムデータに、プログラム書き換え対象の装置を識別する情報を「対象装置ノードＩＤ指定部」にて指定し、プログラムデータを受信した空調制御装置Ｃは、「対象装置ノードＩＤ指定部」で指定されたＩＤと自己のノードＩＤとが一致する場合のみ、プログラムの書き換えを行うようにした。このため、誤ったプログラムへの書き換えが生じるのを抑制することができる。
【００６４】
（プログラム書き換えにおける異常発生時の動作例）
以上、図５を参照してプログラム書き換えが正常終了する場合の動作例を説明したが、以降では異常が生じた場合の動作例を説明する。
【００６５】
各階層のマスタノードは、リクエストフレームに対してレスポンスを返すべきノード（以下、レスポンス送信ノードと称する）を、リクエストフレームの情報に基づいて予め記憶しておく。そして、スレーブノードからのレスポンスフレームに何らかの異常があれば、以後は、そのスレーブノードをレスポンス送信ノードから除外する。
ここで、例えばある装置が異常から復帰して何らかのレスポンスをマスタノードに送信したとする。この場合、『書き換えモード終了リクエスト』以外のプログラム書き換え用のリクエストフレームへのレスポンスであれば、マスタノードはこれを無視する。『書き換えモード終了リクエスト』に対するレスポンスであれば、図５で説明したようにしてマスタノードは上位の階層へ向けてゲートウェイする。
また、すべてのスレーブノードがレスポンス送信ノードから除外された場合には、これ以降、マスタノードは『書き換えモード終了リクエスト』を除き、スレーブノードへのフレーム送信を行わない。
【００６６】
（１）次に、プログラム書き換え対象装置（例えば空調制御装置Ｃ１１１）が属する通信系のマスタノード（例えば統合空調制御装置Ｂ１１）が、プログラム書き換えシーケンス中に通信不良に陥った場合を例に、異常処理について説明する。
【００６７】
（１−１）まず、統合空調制御装置Ｂ１１の上位層にて通信不良となった場合について説明する。マスタノードとの間で通信不良となったことを検出した統合空調制御装置Ｂ１１は、自身のスレーブノードである空調制御装置Ｃ１１１、Ｃ１１２に向けて『プログラム書き換え中止リクエスト』をマルチキャストする。
一方、統合空調制御装置Ｂ１１のマスタノードである車両情報制御装置Ａ１は、スレーブノードである統合空調制御装置Ｂ１１からレスポンスが返ってこないので、『プログラム書き換え続行不能レスポンス』をプログラム書き換え指示装置１００に対して送信することにより、統合空調制御装置Ｂ１１以下がプログラム書き換えを続行できないことを通知する。そして、車両情報制御装置Ａ１は、統合空調制御装置Ｂ１１をレスポンス送信ノードから除外する。また、プログラム書き換えシーケンス続行中に、統合空調制御装置Ｂ１１が通信不能から復帰しても、統合空調制御装置Ｂ１１は『書き換えモード終了リクエスト』以外のプログラム書き換え用リクエストフレームへレスポンスを返さない。
【００６８】
（１−２）次に、統合空調制御装置Ｂ１１の下位層にて通信不良となった場合について説明する。スレーブノードとの間で通信不良となったことを検出した統合空調制御装置Ｂ１１は、自身のマスタノードである車両情報制御装置Ａ１に向けて『プログラム書き換え続行不能レスポンス』を送信する。これ以降、統合空調制御装置Ｂ１１は、『書き換えモード終了リクエスト』以外のプログラム書き換え用リクエストフレームへレスポンスを返さない。
一方、統合空調制御装置Ｂ１１のマスタノードである車両情報制御装置Ａ１は、スレーブノードである統合空調制御装置Ｂ１１とその下位層の装置がプログラム書き換えを続行できないことを、『プログラム続行不能レスポンス』を送信することでプログラム書き換え指示装置１００に通知する。そして、車両情報制御装置Ａ１は、統合空調制御装置Ｂ１１をレスポンス送信ノードから除外する。また、プログラム書き換えシーケンス続行中に、統合空調制御装置Ｂ１１の下位層の通信不良が回復した場合、統合空調制御装置Ｂ１１は空調制御装置Ｃ１１１、Ｃ１１２に向けて『プログラム書き換え中止リクエスト』を送信することで、プログラム書き換えシーケンスを中止することを通知する。
【００６９】
（２）次に、プログラム書き換え対象装置（例えば空調制御装置Ｃ１１１）が、プログラム書き換えシーケンス中に通信不良に陥った場合を例に、異常処理について説明する。
【００７０】
統合空調制御装置Ｂ１１は、スレーブノードである空調制御装置Ｃ１１１から規定時間を超えてレスポンスが返ってこないことを検出すると、『プログラム書き換え続行不能レスポンス』を送信することで、空調制御装置Ｃ１１１がプログラム書き換えシーケンスを続行できないことを車両情報制御装置Ａ１に通知する。そして、統合空調制御装置Ｂ１１は、空調制御装置Ｃ１１１をレスポンス送信ノードから除外する。
【００７１】
ここで、プログラム書き換えシーケンス中に、空調制御装置Ｃ１１１が通信不良から復帰したとする。この場合、空調制御装置Ｃ１１１は、プログラム書き換え用のいずれかのリクエストフレームを受信すると、直ちに『プログラム書き換えモード』に遷移するとともに、『プログラム書き換え続行不能レスポンス』をマスタノードである統合空調制御装置Ｂ１１に送信し、当該シーケンスにおけるプログラム書き換えを行わない。また、通信不良に陥る以前に受信したプログラムデータが記憶装置２１に残存している場合は、そのプログラムデータを破棄し、以後は当該シーケンスにおけるプログラム書き換えを行わない。このように、プログラム書き換えシーケンス中に何らかの異常が生じた場合にはプログラム書き換えを行わないことで、書き込み異常による空調制御装置Ｃ１１１の誤動作を防いでいる。
【００７２】
［プログラム書き換え指示装置１００のマン・マシン・インタフェース］
次に、プログラム書き換え指示装置１００のマン・マシン・インタフェースについて説明する。図６は、プログラム書き換え指示装置１００の出力装置１５の表示画面１５０の例を示している。
表示画面１５０は、プログラム書き換えの実行条件、進行状況、及び実行結果等を表１５１として表示するようになっている。そして、作業者からの操作を受け付ける操作部として、対象装置群選択１５２、対象装置用プログラムＶｅｒ．１５３、プログラムＣＳ１５４、一括実行ボタン１５５、選択実行ボタン１５６が設けられている。
【００７３】
表１５１において、装置１５１ａの列には、プログラム書き換え対象装置として選択可能な装置の名称が通信階層ごとに順に表示されている。選択１５１ｂの列には、プログラム書き換え対象装置か否かを表示しており、書き換え対象装置を個別に選択することも可能である。接続確認１５１ｃは、通信状況確認における確認結果が表示される。モード移行１５１ｄには、プログラム書き換えモードへ移行したか否かが、『モード移行完了レスポンス』に基づいて表示される。データ比較１５１ｅには、図５のステップ３におけるプログラムデータの比較結果が、『比較一致レスポンス』に基づいて表示される。書き換え完了１５１ｆには、プログラムの書き換えが完了したか否かが、『書き換え終了レスポンス』に基づいて表示される。ＣＳ１５１ｇは、プログラム書き換え対象装置のレスポンスフレームに付加されていたプログラムデータのチェックサム情報を表示する。なお、プログラム書き換え対象の装置は、『比較一致レスポンス』あるいは『書き換え終了レスポンス』にチェックサム情報を付加することができる。
【００７４】
対象装置群選択１５２は、本発明の書き換え階層選択手段に相当し、プログラム書き換え対象の装置群を選択することができる。ここでは、プログラム書き換えの対象となる装置を、同じ通信階層に接続された装置群ごとに選択できる。そして、対象装置群選択１５２で選択した装置以外の装置は、表示画面１５０においてプログラム書き換え対象装置として選択不可能とする。図６の表１５１の例では、選択１５１ｂ列において選択不可能の装置の欄に「不可」と表示するとともに網掛け表示している。上述したように、プログラムデータには書き換え可能な装置を表すノードＩＤが付加されていて、プログラムデータを受信した各装置が当該ノードＩＤを判別し、自身のノードＩＤと一致しない場合にはプログラムの書き換えを行わないようにしている。これと併せて、対象装置群選択１５２により所定の装置のみをプログラム書き換え対象装置として選択できるようにすることで、２段階のフェールセーフを講じることができ、誤書き込みを抑制できる。
【００７５】
対象装置用プログラムＶｅｒ．１５３では、プログラム書き換え対象の装置に対して送信するプログラムのバージョンを選択できる。初期状態では、対象装置用プログラムＶｅｒ．１５３には、記憶装置１１に格納されている複数のバージョンの制御プログラム１７のうち最新のバージョンが選択されるが、対象装置用プログラムＶｅｒ．１５３を操作することで、最新以外のバージョンのプログラムを送信することもできる。このようにすることで、例えばプログラム書き換え後の動作不具合を検証する場合などに、以前のバージョンのプログラムに容易に書き換え直すことができる。
【００７６】
プログラムＣＳ１５４には、送信するプログラムとして選択した制御プログラムのチェックサム情報を自動的に表示する。プログラム書き換え指示装置１００で書き換えとして選択したプログラムデータのチェックサム情報（プログラムＣＳ１５４）と、プログラム書き換え対象装置から送信されたチェックサム情報（表１５１のＣＳ１５１ｇ）を双方とも表示することで、作業者はプログラム書き換え作業の確からしさを目視確認できる。
【００７７】
一括実行ボタン１５５は、対象装置群選択１５２で選択した装置群に属するすべての装置のプログラム書き換え処理を、一括して実行する。なお、対象装置群選択１５２でいずれの装置群も選択していない場合には、一括実行ボタン１５５は暗転していて操作できない。
【００７８】
選択実行ボタン１５６は、対象装置群選択１５２で選択した装置群の中から更に個別に選択した装置に対して、プログラム書き換えを行う場合に操作する。書き換え対象の装置を個別に選択する場合には、表１５１の選択１５１ｂ列を操作することにより行う。すなわち、選択１５１ｂは、本発明の書き換え装置選択手段に相当する。個別に選択された装置は、表１５１の選択１５１ｂ列に例示するように「レ」のように表示される。なお、選択１５１ｂの列においていずれの装置も選択されていない場合には、選択実行ボタン１５６は暗転していて操作できない。
【００７９】
このように、本実施の形態に係るプログラム書き換え指示装置１００によれば、プログラム書き換えの操作性を向上させることができる。また、誤ったプログラムの書き換えを抑制できる。
【符号の説明】
【００８０】
１０  ＣＰＵ、１１  記憶装置、１２  ＲＡＭ、１３  通信部、１４  入力装置、１５  出力装置、１７  制御プログラム、２０  ＣＰＵ、２１  記憶装置、２２  ＲＡＭ、２３  通信部、２６  入出力部、２７  制御プログラム、１００  プログラム書き換え指示装置、１５０  表示画面、１５１  表、１５２  対象装置群選択、１５３  対象装置用プログラムＶｅｒ．、１５４  プログラムＣＳ、１５５  一括実行ボタン、１５６  選択実行ボタン、２００  通信網、３００ａ  中継器、３００ｂ  中継器、３０１  通信線、３０２  通信線、Ａ  車両情報制御装置、Ｂ  統合空調制御装置、Ｃ  空調制御装置、Ｄ  空調機器。
【図１】
2012006490.tif 000003
【図２】
2012006490.tif 000004
【図３】
2012006490.tif 000005
【図４】
2012006490.tif 000006
【図５】
2012006490.tif 000007
【図６】
2012006490.tif 000008