このページの本文へ

ここから本文

テクノロジー

技術レポート:アーカイブ

Category:交通システム

鉄道車両向け走行制御システムのソフトウェア開発

鉄道車両向け走行制御システムのソフトウェア開発

鉄道車両向け走行制御システムは、乗客の安全輸送を目的にした「走る・止まる」の制御を担う装置である。当社は図1に示す推進制御装置、ブレーキ制御装置、補助電源装置、さらに近年では電子マスターコントローラ(以下、電子マスコン)を搭載した走行制御システムを担当し、各機器をマイコンで制御するソフトウェアの設計・製作・試験に携わってきた。
当社が扱うソフトウェアはアセンブラ言語によるハンドコードでの製作が主流であり、生産性の向上が課題であったため、ソフトウェア製作の共通化・自動化の改善に取り組んできた。 走行制御システムを構成する各機器のシステム概要とソフトウェアの機能構成を説明し、ソフトウェアの課題に対する取り組みについて述べる。

鉄道車両向け走行制御システムのソフトウェア開発[PDFファイル]

参考情報:

  • この技術レポートは、当社が展開する公共・エネルギー事業の交通システムソリューションに係る技術について著述されたものです。
  • 交通システムソリューションは、神戸事業所伊丹事業所が提供しています。
鉄道車両向け走行制御システムのソフトウェア開発
1. まえがき
鉄道車両向け走行制御システムは、乗客の安全輸送を目的にした「走る・止まる」の制御を担う装置である。当社は図1に示す推進制御装置、ブレーキ制御装置、補助電源装置、さらに近年では電子マスターコントローラ(以下、電子マスコン)を搭載した走行制御システムを担当し、各機器をマイコンで制御するソフトウェアの設計・製作・試験に携わってきた。当社が扱うソフトウェアはアセンブラ言語によるハンドコードでの製作が主流であり、生産性の向上が課題であったため、ソフトウェア製作の共通化・自動化の改善に取り組んできた。 走行制御システムを構成する各機器のシステム概要とソフトウェアの機能構成を説明し、ソフトウェアの課題に対する取り組みについて述べる。図1. 車両内 走行制御システム機器配置
2. 車両制御装置
車両制御装置とは推進制御装置と補助電源装置、電子マスコンを指し、基本システム構成が共通のため2章で述べる。また、基本システム構成が異なるブレーキ制御装置は、3章で述べる。2.1 システム概要2.1.1 推進制御装置鉄道車両では架線電圧の種類(直流・交流)によってシステム構成が異なるが、今回は基本的な直流架線の推進制御装置について説明する。システム構成を図2に示す。図2. 推進制御装置 システム構成図(直流架線)一般的な鉄道車両は架線電圧が直流(750V又は1500V)で入力される。推進制御装置はインバータ回路で三相交流に変換し、誘導電動機(以下、モータ)を駆動することで車両を加速させる。ブレーキ時は、モータを発電機として作動させ、モータの回転力を電力に変換し、制動力を得て減速する。このような電力変換制御は主にソフトウェアで実現している。2.1.2 補助電源装置システム構成図を図3に示す。補助電源装置は車内の機器へ電源を供給するシステムである。架線電圧から車内の表示装置の電源や商用電源のAC100VやAC200Vを供給する。図3. 補助電源装置 システム構成図(直流架線)鉄道車両向け走行制御システムのソフトウェア開発伊丹事業所 技術第2部 車両システム課村尾 克也、 坂口 貴史58鉄道車両向け走行制御システムのソフトウェア開発一般論文2.1.3 電子マスコン鉄道車両では、乗務員が車両を操作する装置としてマスコンがある。マスコンを含んだ運転台の概略図を図4に示す。図4. 運転台概略図従来のマスコンは、マスコン位置を示したデジタル信号を複数のワイヤー線で車両情報装置(注1)などに接続していた。近年はマスコンの電子化が一部で進められており、マイコンを内蔵してデジタル通信によりマスコン位置の情報を車両情報装置に伝達するシステムに進化してきた。これを電子マスコンと称している。電子マスコンではハードウェア部品の故障検出や故障発生時のロギングが可能となり、メンテナンス性が向上している。2.2 ソフトウェアの機能構成図5に推進制御装置を例にした、システム構成図を示す。各制御部個別にCPUがあり、以下の役割を担っている。図5. 推進制御装置 ソフトウェア構成図(1) 基幹制御部インバータ制御部をコントロールするための動作指令、周辺回路(接触器など)への入出力や異常時の停止機能を担うシーケンス制御、異常時に事象を解析することを目的に制御状態を記録するログ機能などが含まれ、推進制御装置全体を統括している。(2) インバータ制御部インバータ制御回路にゲート信号(注2)を出力し、電力変換制御を行う。制御方式は推進制御装置、補助電源装置で、共通化している。ソフトウェア構成の詳細は2.3節で述べる。(3) 通信部車両情報装置から運転指令をイーサネット経由で受信し、基幹制御部へ情報を伝達する。制御演算のリアルタイム性を確保するため、通信専用の独立したプロセッサで処理している。2.3 ソフトウェア構成の詳細本節では各機器のソフトウェア構成を説明する。2.3.1 推進制御装置推進制御装置のソフトウェア機能分担を図6に示す。図6. 推進制御装置 機能分担図推進制御装置のインバータ制御部はモータの駆動に最適な三相交流電流を印加することで加減速制御を実現する。交流電流は、インバータ制御部が出力するゲート信号をインバータ回路に与えることで発生し、ゲート信号はソフトウェアが制御演算した電圧指令と周波数指令を基に生成している。(注 1 ) 各機器の情報を統合して車両全体を制御するシステムのこ (注 2 ) 半導体デバイスをON/OFFさせる信号。と。マスコンの状態を通信で各車両の推進制御装置、ブレーキ制御装置に伝達する。59鉄道車両向け走行制御システムのソフトウェア開発(1) トルク指令生成乗務員が操作した運転指令に応じて、運行に必要な駆動力をトルク指令として求める。乗客は荷重として加味してトルク量を演算し、乗車率が変化しても加減速性能を一定に保っている。(2) 電流指令・周波数指令・電圧指令インバータ制御の制御対象であるモータに流れる三相交流電流は、必要トルク量を二相の直流電流に変換した電流指令として算出し、この電流指令から電圧指令を計算して交流電圧の振幅(電圧の大きさ)を演算する。また、速度センサから入力した回転速度と電流指令を基に、インバータ動作周波数である周波数指令を演算する。電圧指令と周波数指令を可変に制御することでモータを低速から高速まで円滑に駆動させ、車両の加減速制御を実現している。(3) フィードバック制御設定した電流指令通りに制御させるため、モータからフィードバックされた実電流値を、電流指令に近づける制御が必要になる。実電流値と電流指令を比較した電流偏差で、電圧指令、周波数指令を補正することで電流指令に近づける閉ループの制御を行っている。(4) PWM(注3)制御PWM制御は高速な信号処理でインバータ回路に内蔵する半導体デバイスのON/OFF指令をスイッチングさせてモータに交流電流を流す。演算した電圧指令と周波数指令からゲート信号に変換し、正弦波に近づけた交流電流を発生させることができる。(5) シーケンス制御運転台からの指令入力、接触器投入・開放や異常時の停止処理などラダー図で示されるシーケンス制御を行う。(1)~(4)の制御演算部とは切り離されたタスクで実行されている。2.3.2 補助電源装置補助電源装置のインバータ制御に関わる部分の機能分担を図7に示す。推進制御装置との違いとしては、周波数指令・電圧指令・フィードバック制御をより高速な周期で演算を実行していることである。推進制御装置の制御対象が機械系(モータ)であることに対し、補助電源装置は他機器への電気系(電源そのもの)が制御対象である。出力する電源波形を安定させるため、より高速な処理が要求される。図7. 補助電源装置 機能分担図2.3.3 電子マスコン電子マスコンの機能構成図を図8に示す。図8. 電子マスコン 機能構成図電子マスコンの機能構成は他の推進制御装置に比べ、大きく異なる。鉄道車両の運転に直結するマスコンを電子化するに当たり、故障に対する冗長性が重要である。電子マスコンは全体を二重化しており、ソフトウェアはホットスタンバイで動作している。互いの動作状況を相互に監視し、故障時には待機系に切り替えることで冗長性を向上させている。電子マスコンで使用しているCPUは他機器の基幹制御部と同一品を採用しており、CPUドライバや通信アプリケーションなどのソフトウェア資産を共用することでソフトウェアの流用度を高め、生産性と品質の向上を図っている。2.4 ソフトウェア開発への取り組み従来の推進制御装置のソフトウェア開発では以下のような課題があった。・ アセンブラ言語によるハンドコードが主流であり、ソフト(注3 ) Pulse Width Modulationの略。一定周期でパルス幅(デューティー比)を変更してモータを制御する方式。60鉄道車両向け走行制御システムのソフトウェア開発ウェアの生産性が著しく低い。・ アセンブラ言語のためソフトウェアの可読性が低く、ソフトウェアの品質確保が困難であった。・ 工期の短納期化が進む中、経験に依存せず、属人性を排除した開発環境の構築が望まれていた。そこで、新機種の開発時に全てのソフトウェアをC言語化するとともに、ビジブル化する仕組みの構築に取り組んできた。本節では製品開発に適用した取り組みについて説明する。これらのビジブル化開発でソフトウェアの生産性は向上し、短縮化する開発期間においても、安定した品質のソフトウェア生産を実現している。また、システムエンジニアとプログラマとの仕様認識の共有化が図れ、システムエンジニアはソフトウェアの処理を視覚的に理解することを可能としている。2.4.1 シーケンス制御鉄道業界では、デジタル信号の条件を組み合わせるシーケンス制御を図9のシーケンス図で記述している。図9. シーケンス図 例このシーケンス図の表現は国内の各メーカー、エンドユーザーで幅広く利用されており、論理を共通認識する手段となっている。そこでシステム仕様で記載されたシーケンス図から、シーケンスのソースコードを自動生成する仕組みを構築した。自動生成ツールはMicrosoft Visioにマクロを組み込んで実現している。図10にソースコード生成事例を示す。図10. シーケンスツール コード生成事例システムエンジニアが記載したシステム仕様書がそのままソフトウェアに反映されるため、生産性の向上に大きく貢献している。また、ツール上でエラーを抽出する機能も備えており、ヒューマンエラーを削減する仕組みとしている。2.4.2 制御演算処理インバータ制御部の演算ブロック部のソフトウェア生成にはMATLAB/Simulinkを使用している。MATLAB/Simulinkはモデルベース開発で使用されるツールである。ライブラリ化された演算ブロックの組合せからソースコードの自動生成が可能なため、開発工数の削減と、ソースコードの信頼性向上につながっている。図11にソフトウェアの生成事例を示す。図11. MATLAB コード生成事例制御機能システム仕様書のブロック図と、MATLABのブロック図が対の関係になっており、ソフトウェアの視認性を大きく向上させることができた。システムエンジニアもブロック図を見て要求機能が実現されていることを確認できる。また、MATLABのシミュレーション機能を利用し、モデルベースでの単体試験も実施している。2.4.3 パラメータ生成インバータ制御の開発では、エンドユーザーごとにモータや制御器の特性に合わせたチューニングが必須である。チューニング対象となるパラメータは約500種類に及ぶことから、Microsoft Excelでパラメータを容易に生成できる環境を構築している。図12にパラメータ生成事例を示す。図12. Microsoft Excel パラメータ生成事例61鉄道車両向け走行制御システムのソフトウェア開発これもシステムエンジニアはシステム定数仕様書を改定することで、そのままソフトウェアのパラメータに展開される。また、チューニング時はプログラミングが不要であり、製作工数の削減にも貢献している。3. ブレーキ制御装置3.1 システム概要鉄道車両のブレーキシステムは、電気ブレーキ(電制)と空気ブレーキ(空制)で構成されている。電気ブレーキはモータの電力回生を利用したブレーキシステムであり、2.1.1項にて述べた推進制御装置にて制御する。一方、空気ブレーキは、圧縮空気を動作流体とした機械式のブレーキシステムである。本項では空気ブレーキを制御するブレーキ制御装置について述べる。まず、制御動作の基礎説明として、空気ブレーキシステムが車両のブレーキ力を発生させる仕組みを、図13に示す。空気ブレーキは車輪と制輪子の摩擦によりブレーキ力を発生させる(①)。ブレーキ力の強弱はブレーキシリンダ圧(BrakeCylinder圧:以下、BC圧)で調整する仕組みである(②)。具体的には、ブレーキ指令を受信したブレーキ制御器(BrakeControlUnit:以下、BCU)(③)が、電空変換中継弁(注4()④)内にある電磁弁(⑤)のON/OFFを制御することで空気タンクからの圧縮空気を給排気する仕組みである。また、電空変換中継弁内においては、BC圧とバランスさせるためのパイロット圧(ApplicationControl圧:以下、AC圧)(⑥)に対して電磁弁での給排気を行う。図13. 空気ブレーキシステムこの電空変換中継弁がBCUの制御対象であり、BCUのソフトウェアによるブレーキ制御演算の流れを図14に示す。図14. ブレーキ制御演算の流れ(1) 電空協調制御BCUは、ブレーキ指令、必要ブレーキ力に加え、電力回生で得られた電気ブレーキ力を回生フィードバックとして車両情報装置から受信する。必要ブレーキ力から回生フィードバックを差し引いた分を、空気ブレーキが発生すべきブレーキ力、すなわち空制補足量として算出する。(①)空制補足量=必要ブレーキ力-回生フィードバック(2) 目標BC圧演算空制補足量を得るために必要なBC圧(以下、目標BC圧)を算出する。(②)目標BC圧=空制補足量×ゲイン+オフセット(3) 目標AC圧演算BCUは、目標BC圧に対するAC圧換算値(以下、目標AC圧)を算出する。(③)目標AC圧=目標BC圧×ゲイン+オフセット(4) AC圧フィードバック制御目標AC圧と、圧力センサで検圧した実AC圧とを比較し、目標値に対してフィードバック制御を行う。実AC圧の増減は、ON/OFF式の電磁弁を用いた給排気動作にて調整する(④)。AC圧フィードバック制御の流れを図15に示す。(注4 ) 電気(電磁石による吸引力)を空気(BC圧)に変換する装置である電空変換弁と、空気ブレーキ配管の途中に設ける中継弁が一体化したものである。62鉄道車両向け走行制御システムのソフトウェア開発図15. AC圧フィードバック制御詳細BCUは圧力センサ(①)を介してAC圧を計測し、目標AC圧との差異に応じて、AC圧を制御する。(②)AC圧の制御は、ブレーキ制御装置内の電空変換中継弁に搭載された電磁弁の駆動パターン(給気モード・排気モード)を切り替えることで実現する。(③)電空変換中継弁は二つの空気室を持ち、BCUがAC圧を給排気すると、AC圧の変動に応じてBC圧がバランスする構造となっている。(④)3.2 ソフトウェアの機能構成BCUのソフトウェア機能構成について、図16に示す。AC圧フィードバック制御(①)は、目標AC(②)圧と実AC圧(③)より、電磁弁駆動制御(④)へ動作モード(給気・排気)を渡す。電磁弁駆動制御は、電磁弁の駆動信号をON/OFFさせる。(⑤)また、車両情報装置へ送信する各軸速度データは、速度センサから取得した周波数データ(⑥)を基に演算した速度値を、伝送処理を経由して送信する。(⑦)図16. BCUのソフトウェア機能構成3.3 ソフトウェア開発への取り組みブレーキ制御装置は、鉄道車両を運行する上で、安全に関わる装置であり、高い信頼性が求められる。開発における信頼性向上の取り組みとして、ソフトウェアの標準化を徹底している。ソフトウェア標準化のイメージについて図17に示す。図17. ソフトウェア標準化のイメージブレーキ制御全体を最小機能に分割し、各機能は制御方式ごとに準備したプログラムを標準モジュールとして登録。各案件に応じてモジュールの組合せで要求仕様を満たすソフトウェアの構築を可能としている。ソフトウェア仕様書は、標準仕様書として各モジュールの内容に対応した頁を用意し、その組合せで作成することで、記述内容の抜け、漏れ、ムラを防止している。63鉄道車両向け走行制御システムのソフトウェア開発4. むすび2.4節と3.3節のソフトウェア開発への取り組みで、推進制御装置やブレーキ制御装置のカスタマイズが容易になり、多様化かつ短納期化するエンドユーザーの要求にも柔軟に対応できるようにした。今後もソフトウェアの開発力を向上して車両システムの発展に貢献していく所存である最後に今回の開発に携わった関係各位、並びに御指導いただいた方々に厚く御礼申し上げる。執筆者紹介村尾 克也 ムラオ カツヤ1998年入社。主に鉄道車両向け推進制御装置のソフトウェア開発に従事。現在、伊丹事業所技術第2部車両システム課。坂口 貴史 サカグチ タカフミ1998年入社。主に鉄道車両向けブレーキ制御装置のソフトウェア開発に従事。現在、伊丹事業所技術第2部車両システム課。64鉄道車両向け走行制御システムのソフトウェア開発