# プロジェクト概要
弊社では製品として国内/海外に向けた昇降機を取り扱っている.
アメリカの法規改定に伴い,既存機種を新法規※に対応する必要が出てきた.
そのため,製品に搭載しているS/Wを改修することで対応する.
※旧法規と新法規の差分
昇降機のブレーキ性能に関する基準が追加される.
ブレーキの効きが,法規で定義された基準内であることを監視する機能を設ける必要がある.
基準は以下の通り.
停止減速度:91[gal]より緩やかな減速度で停止すること
停止距離:停止距離が670[mm]以内であること
# チーム情報
担当:PL,SE
(PL経験が初めてのため,グループリーダーに都度相談しつつ進めています)
人員:4人(内1人は試験のみ担当)
# 担当フェーズ
ウォーターフォール開発で以下フェーズを担当した.
・要求仕様
・外部仕様
・内部仕様
・コード
・単体試験
・組合試験
# 開発環境
仕様書作成ツール:Microsoft Word,Microsoft Excel
モデリングツール:Enterprise Architect
ソース管理:TortoiseSVN
CPUアーキテクチャ:ルネサスSHアーキテクチャ(CPU:SH-4A)
統合開発環境:High-performance Embedded Workshop
エディタ:VSCode
静的解析ツール:Helix QAC for C
シミュレータ:VisualStudio 2012で作成された課内ツール(C++)
単体試験ツール:カバレッジマスターwinAMS
# 開発内容(ブレーキ停止距離上下限基準値のパラメータ化)
## 概要
アメリカでは州ごとに法規が異なるため,ブレーキ停止距離の監視有無および距離の基準値が変わる可能性が高い.
そのため,保守性を考慮し上記をパラメータ化する.
(昇降機S/Wではパラメータを別Hexとしているため,パラメータ化することで変更が容易になる)
## どのような機能の開発・実装か
以下の3項目をパラメータ化する.
・ブレーキ停止距離監視の有無
・ブレーキ停止減速度基準値
・ブレーキ停止距離基準値
## 課題・問題点
1. 手配ミス確率増大の問題
昇降機の販売時には,物件ごとに機能をカスタム(パラメータを設定)している.
設定項目が多いことが既に課題として挙がっており,本機能によりパラメータを増やすことで,昇降機設置物件ごとに設定する項目が増加し,設定ミスによる手配ミス確率が増大することが考えられる.
2. 既存機能への影響問題
既存の別機能で,ブレーキ停止距離の監視を実装している.
流用することで工数を削減できると考えたが,既存機能を確認したところ,昇降機開発初期に実装された機能であり,想像以上に複雑で影響範囲が広いことが分かった.
## 打つ手(課題・問題点への対応方法)
1. 手配資料の修正とパラメータ化項目の選定
手配時に参照する書類の修正を提案し,実施した.従来はパラメータ実装順に記載してあったが,法規関連で変更する項目を一部にまとめて記載することにより,手配時の設定漏れの確率を減らした.
また,アメリカの販売会社に,法規として変わる可能性が高い項目を問い合わせてもらい,パラメータ化する必要がある項目を洗い出した.
2. 既存機能と切り離す
既存機能に影響した場合,別法規を満たさなる可能性があり,影響が大きいことから,既存機能は流用せず新規で作成する対応をとった.
そのため,予定工数より実工数が増加したが,試験者を1人増やすことにより,納期遅れを防いだ.
# 開発内容(ブレーキ停止距離上下限監視機能追加)
## 概要
ブレーキ停止時に停止動作がアメリカ法規を満たしているかを監視する機能を実装する.
法規を満たせなかった場合,異常発報し再起動不可とする(保守員を呼び,ブレーキの調整をしてもらう).
## どのような機能の開発・実装か
ブレーキ停止時に以下を監視する.
停止減速度:91[gal]より緩やかな減速度で停止すること
停止距離:停止距離が670[mm]以内であること
## 課題・問題点
1. 処理速度の問題
ブレーキ停止時に減速度の常時監視を行うと演算時間がオーバーすることが分かった.原因は除算処理にかかる時間が長いことであった.
2. ブレーキ反応(拘束にかかる時間)個体差の問題
実機試験中に,ブレーキ拘束を行うためのソレノイドの反応速度に個体差があることがあり,反応速度が遅い場合は停止処理が走ってから50[ms]ほどブレーキ拘束がされないことが分かった.
そのため,計測したブレーキ停止距離にブレが生じた.
## 打つ手(課題・問題点への対応方法)
1. 減速度ではなく距離で監視する処理に変更
調査の結果,ブレーキ停止時の減速度は停止開始から完了まで,ほぼ同一であることが分かった.
そのため,減速度の常時監視の代わりに,基準の減速度で停止した場合の距離を算出し,それ以下で停止しないことを監視することで法規を満たすことにした.
処理変更することにより,常時除算処理を行なっていたところ,停止開始時および停止完了時に1度ずつ処理をするだけとなり,演算時間の超過を防止することが可能となった.
2. 正確なブレーキ拘束タイミングを取得
従来はブレーキ停止要求がされたタイミングから距離を計測していたが,停止要求と拘束タイミングは一致しない.そのため,ブレーキ拘束されたかを信号で確認した.
正確には,ブレーキのリレーに電圧を印加したあと,リレーのレシーブ信号を受け取った時点から距離を計測する処理に変更した.
このことで,個体差による距離のズレは解消された.