ГОСТ ISO 13849-1—2014
a) спецификация программного обеспечения функций безопасности должна быть проверена
(см. приложение J). доступна каждому человеку, участвующему в жизненном цикле, а также должна
содержать описание:
1) функций безопасности с требуемым уровнем PL и связанных с ними рабочих режимов;
2) критериев эффективности, например, времени срабатывания;
3) структуры комплекса аппаратных средств с интерфейсом внешних сигналов.
4) выявления и контроля внешнего отказа;
b
) выбора инструментов, библиотек, языков:
1) подходящие инструменты: для уровня PL = е. достигнутого одним компонентом и его инстру
ментом. инструмент должен отвечать соответствующим требованиям безопасности; если используют ся
два различных компонента с различными инструментами, то может быть достигнут достаточный
уровень достоверности. Должны учитываться технические параметры, определяющие условия воз
никновения систематической ошибки (такие как несоответствие типов данных, неопределенное раз
мещение динамического запоминающего устройства, незавершенный интерфейс, рекурсия, адресная
арифметика с указателями). Проверки должны проводиться главным образом во время компиляции,
а не только во время рабочего цикла. Инструменты должны вводить в действие подмножества языка и
директивы кодирования или. по крайней мере, контролировать и направлять пользователя, использу
ющего их;
2) при условии целесообразности и практической применимости должны использоваться утверж
денные библиотеки функциональных блоков (FB). или библиотеки FB. связанные с безопасностью и
обеспеченные производителем инструмента (особо рекомендовано для уровня PL = о), или утвержден
ные библиотеки прикладных специальных FB в соответствии с настоящим стандартом;
3) для модульного подхода должно применяться утвержденное LVL-лодмножество. например,
принятое подмножество языков (39). Особо рекомендовано использование графических языков (напри
мер. функциональная блок-схема, релейная диаграмма);
c) разработка программного обеспечения должна содержать в себе:
1) полуформальные методы описания данных и потока управляющих сигналов, например, диа
грамма состояний или блок-схема программы;
2) модульное и структурное программирование, осуществленное преимущественно функцио
нальными блоками, входящими в состав утвержденных библиотек функциональных блоков, связанных с
обеспечением безопасности;
3) функциональные блоки ограниченного размера кодирования;
4) запуск программного кода внутри функционального блока, который должен иметь один вход и
один выход;
5) архитектурную трехступенчатую модель. Входные сигналы => Обработка => Выходные сигналы
(см. рисунок 7 и приложение J);
6) размещение выходного сигнала безопасности только в одном месте программы:
7) использование методов выявления внешнего отказа и защитного программирования в преде
лах блоков входного сигнала, обработки и выходного сигнала, что приводит к безопасному состоянию;
Сборинформцни
о
рвали*ыкдвтчивов
устройством
боогшмогоаксм
гСтщллсгящ.Щфф
ОСИ—
патлибитмна
Обработка апраиим г
ооущмтпмста функций
бтеюпасияла, нлорыши
д
р
оту
ООСгфтив
У
ст
р
ойс тв
выв<иа
КонтрольежлЕнгштей
уагровслушы
бстопосютвывода
Рисунок 7— Общая архитектурная модель программного обеспечения
d) когда SRASW и не SRASW объединены в один компонент;
1)SRASW и не SRASW должны быть закодированы в разных функциональных блоках с четко
определенными каналами передачи данных;
19