Одной из основных частей АСУ ТП является программное обеспечение (ПО), представляющее собой совокупность взаимосвязанных и автономных программ, описаний, инструкций программиста и пользователя, тестов и т.п.
Основным ядром ПО являются его программы, которые обеспечивают: нормальное функционирование УВМ и значительной части ТСА, определение регулирующих и управляющих воздействий, взаимодействие АСУ и управленческого персонала и другие функции. Качество работы всей АСУ ТП существенно зависит от качества ПО, под которым условно понимают совокупность таких разнородных свойств как корректность, быстродействие, стоимость, и, особенно, надежность.
В самом общем случае основную функцию ПО АСУТП можно рассматривать как своевременное получение некоторого результата или решения упри переработке входной информации х из множества Х.
Под х понимается контрольная информация от ТОУ, сигналы о состоянии технологического оборудования и ТСА, команды управленческого персонала и вышестоящих АСУ и т.п. Результат узависит как от случайного х Î Х, так и от свойств ПО, носящих во многом стохастический характер. Поэтому установление каких-либо диапазонов изменения уи тем более границ допустимых или разумных результатов Уоказывается в этом случае невозможным. Вследствие этого становится затруднительной строгая качественная оценка принадлежности данного умножеству «разумных» результатов У.
Решение о выполнении или невыполнении функций ПО вынужден принимать пользователь и, в меньшей степени разработчик программы или программист. Таким образом, надежность - это свойство программ обеспечивать «разумные» по мнению пользователя и программиста решения при переработке входной информации х из условного множества Х и нормальном функционировании УВМ.
Рассмотренное определение надежности ПО базируется на понятии отказ программы, под которым понимается событие, заключающееся в появлении «неразумного» результата у Î Y при х Î Х и нормальной работе УВМ и ТСА.
Отказы ПО делятся на случайные и неслучайные.
Неслучайные отказы ПО обусловлены действием так называемых компьютерных вирусов.
Случайные отказы ПО наблюдаются в случайные моменты времени работы УВМ или процессора. По своим последствиям эти отказы классифицируются на случайные сбои программ и устойчивые отказы ПО.
Сбой ПО - это самоустраняющийся (перемежающийся) отказ программы, возникающий при некоторых, возможно случайных, состояниях УВМ и информации х Î Х, наблюдаемый пользователем в случайные моменты времени и исчезающий без вмешательства программиста.
Устойчивый отказ ПО наблюдается в случайный момент процессорного времени в форме «неразумного» результата у Î Yпри х Î Х в нормальном функционировании УВМ.
Различают ошибки первичного и вторичного типа.
Ошибки первичного типа связаны с неточностями в текстах программ и возникают при подготовке носителей и документации ПО, при записях кодов на алгоритмических языках и трансляции программ на машинный язык. А также из-за неточностей алгоритмов и при неверных или некорректных постановках решаемых на УВМ вычислительных задач.
Ошибки вторичного типа во многом являются следствием первичных ошибок программ. К ним относят ошибки:
-вычислительные (неверная индексация и подсчет временных параметров, расхождение результата ручного и машинного счета, появление неустойчивых операций и т.п.);
-логические (пропуск логических условий, неверные краевые условия и др.)
-сопряжения интерфейсов (межмодульных, программно-технических, информационных).
Ошибки первичного и вторичного типов порождаются на этапах разработки спецификаций на ПО; проектирования ПО; реализации программ.
Устранение ошибок или восстановление программ осуществляется программистом на этапе отладки ПО, который заканчивается сдачей готовых программ в эксплуатацию. Однако, как показывает опыт исследования надежности сложных ПО, около половины ошибок программ не выявляется на стадии отладки и сдачи ПО в эксплуатацию. Эти ошибки (преимущественно вторичные) проявляют себя в процессе эксплуатации ПО в случайные моменты времени tи приводят к отказам программ.
Отказы ПО при его эксплуатации имеют ряд отличий от отказов технических элементов:
· Отказ ПО не приводит к разрушению или поломке программного элемента. Отказы ПО не связаны с физическим износом элемента (в частности носителя программ).
· Отказ ПО не коррелирован с процессорным и, тем более, астрономическим временем (с процессорным временем или числом прогонов ПО программ пользователем).
· При длительной эксплуатации ПО все его ошибки могут быть устранены и программы становятся абсолютно надежными. Если обозначить через N(t) число не выявленных ошибок ПО в произвольный момент процессорного времени t, то формально имеет место соотношение lim N(t) = 0, справедливое при условии, что в процессе восстановления программ в них не вносятся новые ошибки.
Для описания надежности ПО используют такие же функциональные и числовые характеристики, как и при исследовании надежности технических элементов.
Основные показатели надежности ПО:
1. функция ненадежности или отказа ПО Q(t) = Вер {того, что отказ ПО появится до момента времени t};
2. функция надежности ПО P(t) = Вер {того, что отказ ПО появится после момента времени t);
3. интенсивность отказов ПО l(t) = dQ/dt:
4. средняя наработка на отказ ПО: t = ò t f(t)dt = ò P(t)dt
Программное обеспечение АСУТП состоит из большого числа программ, подпрограмм и модулей, находящихся под управлением операционной системы реального времени или программы-диспетчера. Выполнение каждой из этих программ осуществляется последовательно во времени на одном и том же процессоре. Если эти программы имеют взаимные информационные связи или предназначены для получения одного результата y (вычисление одной функции), то в надежностном отношении такой программный комплекс представляет собой простую систему без избыточности и вероятность его безотказной работы равна произведению вероятностей безотказной работы каждой i-ой программы:
где m – общее число программ.
Надежность такого ПО определяется надежностью отказов самой «ненадежной» программы, имеющей наибольшее значение l, i=1,m.
Для повышения надежности нерезервиированного ПО следует в первую очередь улучшить характеристики самых «ненадежных» программ (более жесткое динамическое тестирование «ненадежных» программ, расширяя при этом набор тестовых задач). Если тестирование не уменьшает интенсивность проявления ошибок, то переписывают «ненадежную» программу, стремясь усилить ее структурированность путем увеличения числа готовых и хорошо изученных программных модулей и стандартных подпрограмм и применения межмодульных интерфейсов. Понижению интенсивности l способствует и переход на другой более высокий язык программирования.
Другой путь повышения надежности ПО связано с резервированием и введением в программную систему некоторой избыточности.
Применительно к ПО АСУТП различают три вида резервирования:
1. временное;
2. информационное;
3. программное.
Временное резервирование ПО заключается в многократном прогоне одних и тех же «ненадежных» программ и сравнении результатов расчета. Такое нагруженное резервирование позволяет устранять влияние случайных сбоев и выявлять случайные ошибки, требующие восстановления программ.
Информационное резервирование ПО основано на дублированных исходных и промежуточных данных. Эти данные могут проходить дополни тельную обработку, например, усреднение, до ввода в ПО, где они обрабатываются один раз; или обрабатываться одной и той же программой дважды, т.е. информационное резервирование подкрепляется временным.
Программное резервирование предусматривает наличие в ПО двух или больше разных программ для получения одного и того же результата у или реализации одной функции. Здесь возможно нагруженное и ненагруженное резервирование.
Резервирование программного обеспечения распределенных АСУТП часто сопровождается аппаратурным резервированием. При отказе ПО какой-либо локальной технологической станции или при выходе из строя технических средств этой станции, операционная система РАСУ передает выполнение ответственных функций отказавшей ЛТС другой станции.
Глава 6 ОБЩАЯ ХАРАКТЕРИСТИКА УСЛОВИЙ РАБОТЫ АВТОМАТИЧЕСКИХ СИСТЕМ
Автоматические системы, а также их отдельные элементы при эксплуатации находятся под воздействием различных факторов, которые будем называть нагрузками. Характерной особенностью электронных автоматических систем по сравнению с механическими системами является большое разнообразие нагрузок, воздействующих на систему.
По физической природе нагрузки можно разделить на следующие основные классы: механические, климатические, электрические, радиоактивные нагрузки.
Механические нагрузки воздействуют на автоматические системы, работающие на подвижных объектах: летательных аппаратах, электровозах, кораблях и др. Кроме того, механические нагрузки возникают при транспортировке, а также при эксплуатации оборудования.
В результате воздействия механических нагрузок отказы автоматических систем имеют следующий характер:
1) смещение скользящих и вращающихся деталей и узлов;
2) обрыв элементов;
3) разрушение паек;
4) разрушение нитей накала ламп;
5) стук контактов;
6) короткое замыкание близко расположенных проводников и деталей;
7) размыкание нормально-замкнутых контактов;
8) замыкание нормально-разомкнутыхконтактов;
9) повреждение обмоток трансформаторов;
10) разрушение элементов конструкции.
Климатические нагрузки, воздействующие на автоматические системы, зависят от географического места, в котором работает система, а также от условий работы системы (стационарные, полевые и т. д.).
В результате воздействия климатических нагрузок отказы автоматических систем имеют следующий характер
1) изменение значений электрических констант (R, L, С и т. д.);
2) размягчение изоляции;
3) снижение эластичности изоляции;
4) уменьшение поверхностного и объемного сопротивлений изоляции вплоть до коротких замыканий вследствие образования льда;
5) замерзание движущихся частей;
6) размыкание и замыкание контактов вследствие коробления;
7) изменение прочности конструкционных элементов;
8) потеря смазочных свойств, а следовательно, чрезмерный механический износ подвижных частей вследствие попадания пыли и песка;
9) короткие замыкания вследствие ухудшения изоляционных характеристик воздуха с изменением высоты.
Так же, как и в случае механических нагрузок, климатические нагрузки в отдельных местах системы могут в значительной степени отличаться от их значений в окружающей атмосфере.
Электрические нагрузки определяют режим работы элемента. Величина электрической нагрузки зависит от принципиальной электрической схемы и конструкции системы. Для большинства электрических элементов устанавливается номинальное значение электрической нагрузки.
Характерными отказами в этом случае являются:
1) обрыв элементов в результате перегорания;
2) короткое замыкание элементов в результате пробоя.
Величина электрических нагрузок в значительной степени зависит от режима работы системы. В установившемся режиме работы действительное значение нагрузки близко к ее расчетному значению, всегда меньшему, чем номинальное значение, поэтому обычно коэффициент нагрузки меньше единицы. В переходных режимах величина нагрузки может в несколько раз превышать расчетное значение, тогда коэффициент нагрузки становится большим единицы. Это обстоятельство характерно для моментов времени включения и выключения автоматической системы. В этом случае обычно появляется большее число отказов, чем при работе в установившемся режиме.
Радиоактивное излучение имеет место в случае применения автоматических систем в установках, использующих термоядерные двигатели. Наибольшее влияние на электронные системы оказывают нейтроны и гамма-лучи. При оценке влияния термоядерного излучения на элементы автоматических систем в первую очередь определяется характер влияния радиации, а затем уже допустимая доза радиации.
Краткое рассмотрение условий работы автоматических систем показывает, что они работают под воздействием сложного комплекса нагрузок. Кроме того, задача аналитического описания нагрузок усложняется также и тем, что некоторые из них характеризуются несколькими параметрами. Например, вибрации характеризуются частотой и амплитудой вибраций. Задачу можно упростить при предположении, что для каждого из элементов можно выделить одну или несколько главных нагрузок. С этой точки зрения целесообразно классифицировать нагрузки не по их физической природе, а по их влиянию на систему или ее отдельные элементы.
Выделим три класса нагрузок:
1) нагрузки-напряжения;
2) нагрузки-катализаторы;
3) пассивные нагрузки.
Нагрузки-напряжения связаны с созданием в элементах или системе напряжений. К ним отнесем механические нагрузки — вибрации, удар, ускорения и электрические нагрузки — ток, напряжение, рассеиваемую мощность. Таким образом, нагрузки-напряжения вызывают разрушение элементов системы в том случае, если они превышают допустимые значения.
Нагрузки-катализаторы сами по себе практически не вызывают напряжений в элементе или системе и, следовательно, без нагрузок-напряжений они не приводят к отказам. Однако нагрузки-катализаторы изменяют прочность материалов или ухудшают физические, химические и электрические параметры. К этой группе нагрузок отнесем климатические нагрузки: температуру, влажность, атмосферное давление, солнечную радиацию. Действительно, повышенные температуры изменяют, например, прочность материалов на разрыв; влажность изменяет электрическую прочность изоляционных материалов и т. д. В дополнение к климатическим нагрузкам можно иногда отнести и накопленное время работы системы или число циклов работы системы. Очевидно, что это может быть сделано в тех случаях, когда время работы изменяет прочностные характеристики элементов или системы в целом.
К пассивным нагрузкам следует отнести такие условия работы системы и элементов, которые сами по себе не вызывают напряжений в элементах системы и не изменяют ее способности противостоять нагрузке, например воздействие пыли, песка, а также биологических факторов. Эти нагрузки в основном определяют выбор соответствующих материалов и конструктивных форм элементов и систем.
В большинстве случаев нагрузки являются случайными функциями времени, т. е. представляют случайный процесс.
В наиболее простейших случаях можно не учитывать корреляционных связей между различными типами нагрузок, т. е. считать нагрузки статистически независимыми. Кроме того, если изменение нагрузок во времени является стационарным случайным процессом, можно в качестве количественных характеристик нагрузок использовать распределения нагрузок как случайных величин.
Представляет интерес оценка, как возможных значений нагрузок, так и их максимальных значений. Для определения плотности вероятности нагрузок по известным реализациям случайного процесса (в случае стационарного процесса достаточно знать одну реализацию в течение длительного времени) необходимо разделить общее время наблюдения на достаточно малые интервалы и определить нагрузку в каждом интервале.
Рис. 6.1. Плотности вероятности нагрузки и плотности ее максимальных значений.
Таким образом может быть построена функция плотности вероятности нагрузки и плотность вероятности максимальных значений нагрузки в результате фиксирования в течение продолжительного отрезка времени максимальных нагрузок. Взаимное расположение указанных плотностей вероятностей показано на рис. 6.1.
Использование для расчетов надежности автоматических систем, плотностей вероятности нагрузок ni(Z) и (Zmax), соответствует условию приложения к системе статических нагрузок.