ソフトウェアが関連するSRP/CS
プログラマブルセーフティコントローラなどの、ソフトウェアによって安全機能の動作を設定するような安全機器をSRP/CSに用いる場合には、物理的な機器構成とソフトウェアロジックの双方について安全に設計されていることを確認する必要があります。
SRP/CSのソフトウェア設計プロセス
SRP/CSに関係するソフトウェアは、SRP/CSの設計者が安全機能の設定に用いる安全関連アプリケーションソフトウェア(SRASW:Safety-Related Application Software)と、安全機器にあらかじめ組み込まれて提供される安全関連組み込みソフトウェア(SRESW:Safety Related Embedded Software)の2つに分類されます。
ISO 13849-1では、SRP/CSにソフトウェアを用いる場合の設計プロセスとして、Vモデルが示されています。これは、ソフトウェアの設計プロセスの中で生じる可能性のあるフォールトの回避を考慮したプロセスです。ソフトウェアを読み取りや理解が可能で保守できるものとすることを目的として、要求事項が定められています。
Vモデルには、様々な安全関連ソフトウェアの開発に適用できるものと、一部の安全関連ソフトウェアの開発に適用できるものとがあります。下図の簡略化されたVモデルは、一部の安全関連ソフトウェアに対してのみ適用できるものです。
簡略化されたVモデルの適用対象となる安全関連ソフトウェアは、メーカで事前に評価が行なわれているプログラマブルセーフティコントローラと組み合わせて使用される、LVLという種類のプログラム言語を用いて設計されたソフトウェアです。LVLとは、制約可変言語(Limited Variability Language)の略称で、あらかじめ定義された安全機能のライブラリをもち、それらを結合する能力をもつ言語です。多くのプログラマブルセーフティコントローラは、このLVLを用いたSRASWによる安全機能の設計が可能であることから、簡略化されたVモデルを適用してソフトウェア設計を行うことができます。
簡略化されたVモデルに基づくソフトウェア設計は、SRSを基にソフトウェアで実現する安全機能を具体化する「安全関連ソフトウェア仕様」のプロセスから始めます。このプロセスで作成するソフトウェア設計仕様には、安全機能のPLrや関連する運転モード、安全機能の反応時間などの性能基準、使用する通信インタフェース、要求されるDC等の達成に必要な故障検出などについての記述を含む必要があります。
次の「コーディング」のプロセスでは、作成したソフトウェア設計仕様に基づいて、安全機能を実行するソフトウェアプログラムを作成します。このときに用いるプログラミングツールは、ファンクションブロックなどのLVLを使用して設計ができるものでなければなりません。またコーディングした結果は、シミュレーションなどを用いて確認やレビューを行う必要があります。
コーディングが完了した後は、「妥当性確認」を行います。このプロセスでは、コーディングされたソフトウェアプログラムが最初のプロセスで作成した安全関連ソフトウェア仕様を満たしているかを、安全機能の挙動や性能に対するブラックボックス試験などで確認します。
このプロセスを経て作成されたソフトウェアプログラムを変更する際には、変更前にその影響分析を行わなければなりません。また変更後には、同様のプロセスを通じて、変更後のソフトウェアプログラムの品質を担保する必要があります。さらに、これらのプロセスを通じて実行されたすべての設計活動・変更活動は、文書化しなければなりません。
ソフトウェアによる安全関連のパラメータ設定
ソフトウェアによって安全機能の動作を設定する際には、その設定パラメータがハードウェアに正しく転送されることも重要です。
SRP/CSが実行する安全機能の動作に関連するパラメータ(位置、速度、温度、時間、トルク、圧力の制限値など)は、ソフトウェアを用いて手動で設定が行われる場合があります。この設定に用いられるソフトウェアツールは、不正な設定変更が行われないようにするためのパスワード設定機能や、意図したパラメータを確実に転送するための制御機能などを備えています。
ソフトウェアツールを用いた手動のパラメータ設定に関する情報は、文書化する必要があります。文書化の要求は、メーカから提供される専用のソフトウェアツールを用いて設定を行うユーザに対しても適用されます。文書に含まなければならない情報としては、以下が示されています。
- 初期のパラメータ設定の日付または変更したときの日付
- データまたはデータセットのバージョン番号
- パラメータ設定を実施した人の名前
- 使用したデータの出典の表示(あらかじめ規定したパラメータセットなど)
- 安全関連パラメータの明確な識別
- パラメータ化が可能な場合または継続的に必要な場合の影響と境界
- 特定のパラメータ設定の対象となるSRP/CSまたは関連するサブシステムの明確な識別