«Человеческий фактор inside»

Массовое распространение и расширение систем автоматики, рассчитанных на длительную эксплуатацию, особенно в потенциально опасных технологических процессах, бесспорно, снижает угрозы влияния человеческого фактора (Ч-фактора), но только в форме исключения человека из контуров прямого управления процессом. Человек остаётся разработчиком самой системы автоматики и производителем многих типов работ по её созданию и эксплуатации, что создаёт возможность «наследования» Ч-фактора самой системой в виде недоработок и ошибок (то есть, разного рода несовершенств), ведущих к неожиданностям в действиях автоматики.

Такие несовершенства могут быть внесены в процессе разработки, внедрения и эксплуатации на любом уровне системы и проявляться в любом её аспекте: программном и аппаратном, канальном и контурном, компонентном и системном.

С учётом возможных масштабов и быстродействия автоматики результаты неожиданных действий системы могут превосходить последствия ошибок прямого управления, допущенных человеком. По меньшей мере, ценой вопроса является доверие к системам автоматики.

В статье пойдёт речь о современных методах и новых возможностях, снижающих вероятность внесения ошибок и объём возможных недоработок на всех уровнях системы, а также снижающих уровень их возможного влияния.

Базовые принципы ограничения несовершенств

Совокупность принципов, непосредственно определяющих содержание требований к компонентам и системам, подходы разработчиков и эксплуатационщиков, можно свести к двум базовым, степень следования которым определяет успех любого проекта автоматизации во всех аспектах, включая решение проблем скрытого влияния Ч-фактора:

COTS-решения

В наше время практика планирования и управления имеет дело со значительным уровнем рисков, связанных с низкой предсказуемостью изменений ситуации у клиентов и поставщиков, со сложностью точного прогноза потребностей отдельных групп потенциальных заказчиков и т.д..

В таких условиях не только эффективность, но и жизнеспособность производителя зависит от готовности реагировать на специфические требования отдельного клиента, способности свести к минимуму затраты времени и средств на создание нового продукта и извлечь прибыль даже из небольшого заказа. И речь идет не только о мелких компаниях и их заказчиках, для которых разработка “с нуля” неприемлема по времени, деньгам и всем типам рисков, включая непредсказуемые затраты на локализацию и устранение недоработок в продукте, переданном в эксплуатацию. Далеко не все и госбюджетные проекты могут позволить себе роскошь уникальной разработки.

Аналитические обзоры рынка автоматизации [1][2] отмечают рост интереса к инструментальным средствам, программным и аппаратным компонентам, позволяющим:

AR2-решения

Методология AR2 отработана в процессе проектирования и эксплуатации телекоммуникационного оборудования и сетей массового обслуживания, ориентированных на безусловность, неотложность и непрерывность функционирования и предоставления услуг, в том числе, при внесении любых изменений в программные или аппаратные компоненты, или в случае их частичного отказа, а также из-за проявления скрытого и прямого влияния ЧФ.

Базовыми стратегиями AR2 являются предупреждение отказов, сокращение времени восстановления после отказа, максимальная устойчивость и живучесть компонентов и системы в целом при возможных сбоях и отказах из-за любых внешних или внутренних причин.

Реализация этих стратегий возлагается на все этапы жизни системы, на все её уровни и все аспекты реализации: программный и аппаратный, прикладной и системный, канальный и контурный, компонентный и интеграционный, проектный, монтажный и эксплуатационный.

Некоторые элементы реализации являются независимыми от приложения. Другие же подлежат определению в соответствии со структурой и параметрами решаемой задачи. Можно выделить несколько базовых направлений реализации принципов AR2, классифицируя их по целям и эффективности:

Ограничения и тенденции

Современные технологии

Полевые шины

Переход от двухточечного сигнального соединения к многоточечному цифровому – одно из основных и широко доступных решений, сочетающих значительные преимущества по всем перечисленным направлениям реализации базовых принципов [3].

Полевые шины позволяют исключить большое количество коммутационной аппаратуры и монтажных проводов, уменьшить объём монтажно-распаечных работ, маркировки проводов, контактных соединений, значительно (на порядок) уменьшить объем конструкторско-технологической документации и работы, необходимых для комплектования, развёртывания, пуска и эксплуатации системы, сократить численность обслуживающего персонала. При этом обеспечиваются лёгкость гальванической изоляции компонентов системы и безопасность их “горячей” замены, повсеместный унифицированный доступ к информации и параметрам функционирования.

Индустриальные технологии программирования

За два последних десятилетия сформировались и приобрели широкое распространение индустриальные средства технологического программирования, исключающие необходимость участия самих программистов (и вообще специалистов в области IT) в решении прикладных задач.

Первые принципиальные проблемы программистского посредничества появились ещё в 80-х, когда системы специализированных КИП начали уступать место универсальным программируемым микропроцессорным системам.

В рамках прикладных работ качественно решить все вопросы структуризации и унификации программного обеспечения и тем более создать универсальные инструментальные средства весьма затруднительно. Это обстоятельство при полном «карт-бланше» ради любого результата не редко приводит к разработке “с нуля” уникальных программ высокой сложности, функционирование которых основано на профессиональном мастерстве программиста (что обычно становится основным предметом его гордости).

При этом сложность и уникальность разработки традиционно сопровождается различными тонкими и трудно обнаруживаемыми ошибками, взаимной зависимостью и взаимовлиянием частей программы и другими проявлениями недоработок.

Широкое распространение PC-совместимых ПЛК (так называемых, softLogic и softPLC) играет в этом отношении особую роль. С одной стороны, это вовлекает в разработку широкие слои владеющих программированием на PC, в том числе и не обладающих высокой квалификацией. С другой стороны, значительные ресурсы и мощь процессоров вместе с возможностями ОС технически позволяют сплести все подзадачи в “единый клубок” в одном процессоре, что может обострить ситуацию побочными эффектами “конкуренции” процессов за ресурсы, взаимным влиянием программных частей при меньшей прозрачности функционирования, значительной трудности тестирования и локализации проблем и высокими требованиями к квалификации программиста для их разрешеня.

Как правило, надёжность такой программной разработки остаётся под вопросом и после вывода продукта на рынок или сдачи в эксплуатацию. Хотя, в отличие от “офисных приложений”, останов техпроцесса для исправления ошибок в системе автоматики во многих случаях недопустим, как не всегда возможно и обновление программной начинки устройств собственными силами потребителя.

На это накладывается ещё и традиционное пренебрежение программистов к документированию. Возможность поддержки и развития программного продукта становится зависимым от конкретной персоны программиста, а его уход ставит судьбу работы под вопрос до появления следующей персоны, скоро приходящей к выводу, что проще всё начать с начала, чем тратить время на изучение особенностей программистского мышления предшественника по многим тысячам строчек листинга.

Но самое печальное то, что программисты часто демонстрируют особую систему ценностей, перенос которой в прикладные решения вызывает уже исторически закрепившееся неприятие со стороны экспуатационщиков, КИПовцев, и других “прикладных” специалистов, близких к производственной практике. Конечно, встречаются и исключения с обеих сторон, но это только подчёркивает проблему.

Первое условие надёжности программ и снижения различных рисков было осознано уже в 80-х, когда разработчики отечественного ПЛК “Ремиконт” [4] создали средства, позволявшие программировать этот контроллер на языке функциональных блок-схем. Программная библиотека элементарных функциональных компонентов (так называемых “алгоблоков”) полностью воспроизводила функции целой гаммы распространённых специализированных КИП. Это позволяло перенести весь накопленный опыт решения задач автоматизации (передающийся в форме наглядных и самодокументированных графических схем, составленных с использованием специализированных КИП) на удобную программируемую платформу, но без программистов и сопутствующих рисков. В этом – главный смысл такого подхода, ставшего общепринятым и непреложным.

Компоновка прикладного решения на базе готовых и независимых программных частей без их изменения (то есть, без программирования) – органичное свойство языка функциональных блок-схем, радикально упрощающее создание надёжных приложений автоматизации. Функциональная блок-схема явно вычленяет прикладную часть программного обеспечения и жёстко ограничивает её тип. Уже это исключает возможность загрузить в контур аварийной защиты некий game.exe (по ошибке) вместо алгоритма блокировки. Это также позволяет исключить взаимозависимость системных и прикладных частей, добиться исключительной простоты и надёжности реализации и представления приложения.

Качественно новый уровень надёжности программ и снижение затрат на их разработку, независимость представления решений от технических средств и платформ сделали этот язык основной формой представления опыта решения задач автоматизации и основой индустриальной технологии разработки автоматики, позволившей прикладным специалистам создавать надёжное программное обеспечение автоматизации без посредников и их Ч-фактора.

Открытые стандарты и технологии

Для потребителя фактически единственный путь создания систем с высокой устойчивостью к Ч-фактору основан на технологии системной интеграции компонентов от разных производителей на основе открытых стандартов на аппаратные и программные средства [5]. Поскольку открытость стандарта предполагает (в частности) существование нескольких сертифицированных поставщиков, то это обеспечивает определённые гарантии долговременной доступности компонентов и конкуренцию, что положительно сказывается на общем уровне надёжности компонентов.

С другой стороны, ориентация производителя на применение продукции в таких системах означает, что устройства должны обеспечивать функциональную независимость, простоту и гибкие возможности интеграции, лёгкость адаптации (настройки, персонализации) и обновления программного содержимого в процессе эксплуатации, возможность ведения архивов, диагностики и других сервисных функций.

Устойчивое смещение приоритетов в направлении бесперебойности и качества функционирования систем отражается во многих аспектах рынка средств автоматизации. По заключению [1]: “Если раньше всегда генеральным подрядчиком работ по автоматизации выступала фирма, поставляющая основные средства автоматизации, а исполнители инжиниринговых и внедренческих работ (проектанты, разработчики алгоритмов и программ контроля и управления, монтажники) являлись её субподрядчиками, то теперь всё чаще они меняются местами и генеральным подрядчиком выступает основной исполнитель работ по автоматизации“.

Это перераспределение по сути отражает завершение переходного этапа развития рынка, ориентированного на приоритет средств автоматизации. Новый этап состоит в формировании рынка решений инжиниринговых и внедренческих задач с иной системой приоритетов:

Однако в существующей практике разработчики конечных решений автоматизации часто сталкиваются с выбором: отказаться от естественных приоритетов из-за узости выбора средств или ограничить класс решаемых задач адекватно узости реализуемых (на базе существующих средств) подходов.

В большинстве создаваемых систем воспроизводится подход, сложившийся на 1000-канальных задачах во времена дорогих процессоров, дешёвой меди, приоритета снижения средней цены канала и привычности сбоев и отказов: тысячи протяжённых медных кабелей с “сырым” сигналом от “первички” сводятся в “центр” с набором модулей УСО на высокоскоростной параллельной шине и одним мощным вычислителем, исполняющим весь спектр задач. В небольшой доле проектов с более современным исполнением исключаются лишь параллельная шина, передача “сырых” сигналов на расстояние и ненадёжные и дорогие кабельные трассы за счёт подключения модулей УСО к полевой шине и их переноса непосредственно к “первичке”.

Номенклатура УСО для таких систем строится на разделении по типам каналов [3]. Это обеспечивает лаконичность номенклатуры и максимальную канальность каждого типа модуля и при данных конструктивных ограничениях (и, соответственно, снижение средней цены канала). С другой стороны, возможность выбора аппаратной конфигурации УСО только по составу сигналов сопряжения и независимо от решаемых задач, отсутствие структуризации каналов с сопутствующим смешением всех задач в одном центре создаёт определённые удобства комплектования систем, снижение средней стоимости канала при их значительном количестве.

В соответствии с такой практикой построения систем основной логикой развития существующих средств являлись универсальность, вычислительная мощность и объём ресурсов центрального вычислителя. На соответствующие ресурсы целевых систем ориентированы и распространённые инструментальные средства (CASE-системы).

Однако такая номенклатура средств не позволяет создать независимое решение отдельной задачи менее чем 3 компонентами (потребуется центральный процессор и хотя бы по одному модулю ввода и вывода). Для множества задач полевого уровня (интеллектуальных датчиков, автономных контуров аварийной защиты и пр.) в большинстве случаев применение таких решений оказывается недопустимо дорогим, не говоря уже об ограничениях, связанных с габаритами, конструктивным исполнением, электропотреблением, искробезопасностью для эксплуатации в опасных средах, климатическим исполнением и пр.

Таким образом, существующие средства разработки и компоненты не предназначены для независимого решения отдельных небольших задач.

Это ограничение является достаточно болезненным для многих отечественных производителей, инжиниринговых и внедренческих компаний с их системой приоритетов. Кроме того, часто речь может идти только о замене части действующей установки и во многих случаях независимое решение задач является наиболее привлекательным экономически, психологически и организационно.

Новые возможности

Новые возможности реализации хорошо известных и отработанных принципов позволяют преодолеть указанные ограничения.

Возможность “интеллектуализации” полевого оборудования благодаря доступности широкой номенклатуры недорогих микроконтроллеров со встроенной поддержкой полевых шин образуют новые коммерчески и технически эффективные решения для дальнейшего продвижения в направлении реализации рассмотренных базовых методов:

По сути, такая модернизация полевого оборудования обеспечивает полную реализацию известных методов AR2и COTS-решений и ведёт к формированию на полевом уровне “вычислительной среды”, обеспечивающей качественно новый уровень бесперебойности функционирования вообще, и устойчивости к Ч-фактору в частности [6][7].

Новые инструменты и компоненты

Очевидно, что значительные перспективы в реализации указанных возможностей связаны с созданием инструментальных и технических средств, позволяющих распространить существующих технологии CASE-систем на ресурсы микроконтроллеров.

Распространение нового поколения инструментальных средств обеспечит широкие возможности создания функционально-законченных решений самых различных задач по множеству актуальных направлений:

Интерес рынка к функционально-ориентированным решениям демонстрирует широкая известность и успех функциональных контроллеров (например, “ОВЕН”). Большинство устройств этого типа не обладают гибкостью ПЛК, и показательно, что даже связанные эти ограничения не препятствуют росту данного сектора.

CASE-система CONField

Разработанная ИНЭУМ CASE-система CONField [8] – один из первых продуктов на рынке, рассчитанный на преодоление указанной проблемы.

В основе возможностей CONField – резкое снижение требований к ресурсам целевой системы. Вы можете программировать на графическом языке функциональных блок-схем (FBD МЭК 1131-3) дешёвые устройства, реализованные на самых распространённых 8- и 16- разрядных микроконтроллерах, равно как и устройства на мощных 32- и 64- разрядных процессорах.

Это означает, что CONField доступны не только мощные ПЛК, но также недорогие универсальные и специализированные (функциональные) контроллеры, встраиваемая в оборудование спецавтоматика, интеллектуальные датчики и исполнительные механизмы, для разработки ПО которых (из-за неприменимости стандартных CASE-систем) ранее требовалось привлечение профессиональных программистов.

Функциональные контроллеры

Новые возможности разработки успешно реализованы в новых сериях ПЛК марки СМ, обеспечивающих реализацию типовых защиты, регулирования и циклограмного управления. Ориентация на выделение отдельным подзадачам отдельных вычислительных ресурсов позволило отказаться от применения сложных операционных систем реального времени и реализовать простой детерминированный программный автомат. На этой основе обеспечена простота и надёжность системного ПО, исключена возможность взаимовлияния его компонентов и радикально снижены требования к вычислительным ресурсам целевых систем.

Поддерживаемые платформы

CONField является открытой системой с точки зрения поддерживаемых микроконтроллерных платформ. В данный момент поддерживаются распространённые 8-разрядные семейства микроконтроллеров (Intel51, AVRAtmel), микропотребляющие 16-разрядные микроконтроллеры DSPTexas Instruments (MSP430), 32-разрядные ARM (в частности, Phillips LPC 210X) и, конечно, клоны Intelx86.

Заключение

Распространение приоритетов надёжности и задаче-ориентированности становится тенденцией, оказывающей влияние на многие аспекты рынка автоматизации. Многие элементы перспективных решений входят в практику автоматизации, становятся общепринятыми и определяют облик и параметры систем ближайшего будущего. Активная оценка тенденций в этом направлении – важное слагаемое принятия оптимальных решений для производителя и потребителя, инжиниринговых и внедренческих компании.

Литература

Назад