logo search
АИУС

Глава 2. Обеспечивающие подсистемы информационно-управляющих систем и их характеристики §2.1. Программное обеспечение управления процессами

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

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

Для удобства технологов программы стали представлять в графическом виде, привычном для проектировщиков АСУТП: релейно-контактных схем (RCS), функциональных блоковых диаграмм (FBD), (SFC). К концу 80-х годов, как вершина этого подхода, был разработан стандарт IEC1131-3. Опубликованный в 1988г, он включил в себя 5 языков технологического программирования: перечисленные выше графические плюс текстовые ST и IL. На момент своего принятия стандарт использовал современные технологии программирования и стал важным этапом развития языков технологического программирования, существенно облегчив разработчикам создание прикладных программ.

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

Основой современной системы технологического программирования являются:

– объектный подход;

– компонентная структура;

– технология «промежуточного слоя» с микроядром;

– непроцедурное программирование.

Объектный подход – мощная современная технология проектирования и программирования, разработанная в конце 80-х годов. К настоящему времени АСУТП в силу большой инерционности остается одной из наименее освоенных этой технологией областей. Он практически не используется в системах технологического программирования, а при организации управления «объектность» не поднимается выше уровня задвижки и регулятора. Преимущества объектного подхода в сравнении с функциональным доказаны как теоретически, так и практикой его использования.

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

Компонентная структура – современная технология построения программной системы из набора типовых элементов (компонентов). Для всех компонентов разрабатывается единый протокол взаимодействия с исполняющей системой, пользователями и другими компонентами.

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

Технология «промежуточного слоя» – современная технология, обеспечивающая высокую степень переносимости ПО путем создания в программной системе внутреннего системного слоя и максимальной локализации и стандартизации его взаимодействия с операционной системой.

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

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

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