пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Сети промышленных контроллеров, аппаратура и программное обеспечение.

Взаимодействие устройств в промышленных сетях выполняется в соответствии с моделями клиент-сервер или издатель-подписчик(производитель-потребитель) [Thomesse]. В модели клиент-сервер взаимодействуют два объекта. Сервером является объект, который предоставляет сервис, т. е. который выполняет некоторые действия по запросу клиента. Сеть может содержать несколько серверов и несколько клиентов. Каждый клиент может посылать запросы нескольким серверам, а каждый сервер может отвечать на запросы нескольких клиентов. Эта модель удобна для передачи данных, которые появляются периодически или в заранее известное время, как, например, значения температуры в периодическом технологическом процессе. Однако эта модель неудобна для передачи случайно возникающий событий, например, события, состоящего в случайном срабатывании датчика уровня, поскольку для получения этого события клиент должен периодически, с высокой частотой, запрашивать состояние датчика и анализировать его, перегружая сеть бесполезным трафиком.

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

В любой модели взаимодействия можно выделить устройство, которое управляет другим (подчиненным) устройством. Устройство, проявившее инициативу в обмене, называют ведущим, главным или мастером (Master). Устройство, которое отвечает на запросы мастера, называют ведомым, подчиненным или слейвом (Slave). Ведомое устройство никогда не начинает коммуникацию первым. Оно ждет запроса от ведущего и только отвечает на запросы. Например, в модели клиент-сервер клиент является мастером, сервер - подчиненным. В модели издатель-подписчик на этапе подписки мастером является клиент, а на этапе рассылки публикаций - сервер.

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

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

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

Сеть Profibus

На уровне датчиков и исполнительных устройств сигналы двоичных сенсоров и приводов передаются по шине датчиков и исполнительных устройств. Получается простая и экономически эффективная технология, при которой данные и питание идут в общей среде. AS-Interface предлагает подходящую магистральную систему для этой области применения.

На полевом уровне распределенные устройства, такие как: модули В/В, преобразователи, приводы, анализаторы, клапаны и операторские терминалы, сообщаются с АС посредством мощной системы связи реального времени. Передача данных тех. процесса является циклической, в то время как дополнительные прерывания, конфигурационные и диагностические данные приходят ациклически, по мере необходимости. PROFIBUS удовлетворяет этим критериям и предлагает универсальное решение, как для АСУП, так и для АСУТП.

На секционном уровне программируемые контроллеры (программируемые логические и периферийные контроллеры) обмениваются информацией друг с другом и с информационными офисными системами, используя стандарты Ethernet, TCP/IP, Intranet и Internet. Этот информационный поток требует большого размера пакетов данных и наличия целого ряда мощных коммуникационных функций.

Так же как и PROFIBUS, основанный на Ethernet PROFInet предлагает для этих целей решение, достойное подражания.

Далее будет подробно описан PROFIBUS как центральное связующее звено информационных потоков в индустрии автоматизации. Информацию об AS-Interface смотрите в соответствующей литературе. Затем будет кратко представлен PROFInet.

Полевые шины это промышленные системы связи, использующие для соединения устройств (датчиков, исполнительных устройств, приводов, преобразователей и т.п.) с центральной управляющей системой целый ряд передающих сред, таких как: медный кабель, оптоволокно или беспроводные, с последовательной побитовой передачей. Полевая технология была разработана в 80е годы с целью заменить широко используемое центрально- параллельное соединение (central parallel wiring) и господствующую аналоговую передачу (4-20 мА- или +/- 10V интерфейс) на цифровые технологии. Частично благодаря специфическим требованиям разных отраслей промышленности, а так же предпочтению крупных производителей использовать проприетарные решения, на рынке установились несколько полевых систем с разнообразными свойствами. Ключевые технологии на данный момент закреплены в недавно принятых стандартах IEC 61158 и IEC 61784. PROFIBUS -неотъемлемая часть этих стандартов.

Совсем недавно в промышленной автоматизации появились Ethernet системы связи. Они предлагают широкий диапазон опций для коммуникаций между разными уровнями промышленной автоматики и офисным уровнем. PROFInet это пример Ethernet системы связи.

 

 

Контроллеры для систем автоматизации

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

Первые контроллеры появились на рубеже 60-х и 70-х годов в автомобильной промышленности, где использовались для автоматизации сборочных линий. В то время компьютеры стоили чрезвычайно дорого, поэтому контроллеры строились на жесткой логике (программировались аппаратно), что было гораздо дешевле. Однако перенастройка с одной технологической линии на другую требовала фактически изготовления нового контроллера. Поэтому появились контроллеры, алгоритм работы которых мог быть изменен несколько проще - с помощью схемы соединений реле. Такие контроллеры получили название программируемых логических контроллеров (ПЛК), и этот термин сохранился до настоящего времени. Везде ниже термины "контроллер" и "ПЛК" мы будем употреблять как синонимы.

Немного позже появились ПЛК, которые можно было программировать на машинно-ориентированном языке, что было проще конструктивно, но требовало участия специально обученного программиста для внесения даже незначительных изменений в алгоритм управления. С этого момента началась борьба за упрощение процесса программирования ПЛК, которая привела сначала к созданию языков высокого уровня, затем - специализированных языков визуального программирования, похожих на язык релейной логики. В настоящее время этот процесс завершился созданием международного стандарта IEC (МЭК) 1131-3, который позже был переименован в МЭК 61131-3 . Стандарт МЭК 61131-3 поддерживает пять языков технологического программирования , что исключает необходимость привлечения профессиональных программистов при построении систем с контроллерами, оставляя для них решение нестандартных задач.

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

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

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

6.1. Программируемые логические контроллеры

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

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

Несмотря на огромное разнообразие контроллеров, в их развитии заметны следующие общие тенденции:

  • уменьшение габаритов;
  • расширение функциональных возможностей;
  • увеличение количества поддерживаемых интерфейсов и сетей;
  • использование идеологии "открытых систем";
  • использование языков программирования стандарта МЭК 61131-3;
  • снижение цены.

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

6.1.1. Типы ПЛК

Для классификации огромного разнообразия существующих в настоящее время контроллеров рассмотрим их существенные различия.

Основным показателем ПЛК является количество каналов ввода-вывода. По этому признаку ПЛК делятся на следующие группы:

  • нано-ПЛК (менее 16 каналов);
  • микро-ПЛК (более 16, до 100 каналов);
  • средние (более 100, до 500 каналов);
  • большие (более 500 каналов).

По расположению модулей ввода-вывода ПЛК бывают:

  • моноблочными - в которых устройство ввода-вывода не может быть удалено из контроллера или заменено на другое. Конструктивно контроллер представляет собой единое целое с устройствами ввода-вывода (например, одноплатный контроллер);
  • модульные - состоящие из общей корзины (шасси), в которой располагаются модуль центрального процессора и сменные модули ввода-вывода. Состав модулей выбирается пользователем в зависимости от решаемой задачи. Типовое количество слотов для сменных модулей - от 8 до 32;
  • распределенные (с удаленными модулями ввода-вывода) - в которых модули ввода-вывода выполнены в отдельных корпусах, соединяются с модулем контроллера по сети (обычно на основе интерфейса RS-485) и могут быть расположены на расстоянии до 1,2 км от процессорного модуля.

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

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

По конструктивному исполнению и способу крепления контроллеры делятся на:

  • панельные (для монтажа на панель или дверцу шкафа);
  • для монтажа на DIN-рейку внутри шкафа;
  • для крепления на стене;
  • стоечные - для монтажа в стойке;
  • бескорпусные (обычно одноплатные) для применения в специализированных конструктивах производителей оборудования (OEM - "Original Equipment Manufact urer").

По области применения контроллеры делятся на следующие типы:

  • универсальные общепромышленные;
  • для управления роботами;
  • для управления позиционированием и перемещением;
  • коммуникационные;
  • ПИД-контроллеры;
  • специализированные.

По способу программирования контроллеры бывают:

  • программируемые с лицевой панели контроллера;
  • программируемые переносным программатором;
  • программируемые с помощью дисплея, мыши и клавиатуры;
  • программируемые с помощью персонального компьютера.

Контроллеры могут программироваться на следующих языках:

  • на классических алгоритмических языках (C, С#, Visual Basic);
  • на языках МЭК 61131-3.

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

6.1.2. Архитектура

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

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

Основными характеристиками микропроцессора являются разрядность (в ПЛК используются 8-ми, 16-ти и 32-разрядные микропроцессоры), тактовая частота, архитектура, наличие операций с плавающей точкой, типы поддерживаемых портов ввода-вывода, температурный диапазон работоспособности и потребляемая мощность.

Производительность микропроцессоров с одной и той же архитектурой пропорциональна тактовой частоте. Большинство контроллеров используют микропроцессоры с сокращенным набором команд (RISC - Reduced Instruction Set Computing), в которых используется небольшое количество команд одинаковой длины и большое количество регистров. Сокращенный набор команд позволяет строить более эффективные компиляторы и конвейер процессора, способный за каждый такт выдавать результат исполнения очередной команды.

Основными типами памяти является постоянное запоминающее устройство (ПЗУ), оперативное запоминающее устройство (ОЗУ) и набор регистров. Регистры являются самыми быстродействующими элементами памяти, поскольку они используются арифметико-логическим устройством (АЛУ) для исполнения элементарных команд процессора. ПЗУ используют для хранения редко изменяемой информации, такой, как операционная система, драйверы устройств, загрузчик, исполняемый модуль программы пользователя. ОЗУ используется для хранения данных, которые многократно изменяются в процессе работы контроллера, например, значения тегов, результаты промежуточных вычислений, диагностическая информация, массивы, выводимые на графики, данные для отображения на дисплее.

В качестве ПЗУ (или ROM - "Read Only Memory") обычно используется электрически стираемая перепрограммируемая память (EEPROM - "Electrically Erasable Programmable ROM". Разновидностью EEPROM являетсяфлэш-память. Особенностью флэш-памяти является ее энергонезависимость, т.е. сохраняемость данных при выключенном питании. Стирание и перезапись во флэш-памяти выполняется не отдельными ячейками, а большими блоками, поэтому она получила название, происходящее от английского "flash" - "вспышка". Недостатком всех ПЗУ является низкое быстродействие.

В качестве ОЗУ современные микропроцессоры используют статическую память ( SRAM - Static Random Access Memory) и динамическую (DRAM - "Dynamic Random Access Memory"),SDRAM ("Synchronous DRAM").

Моноблочные и модульные контроллеры используют, как правило, параллельную шину для обмена данными с модулями ввода-вывода, что позволяет на порядок повысить быстродействие их опроса по сравнению с последовательной шиной. Параллельные шины могут быть стандартными (ISA, PC/104, PCI, ComactPCI, VME, CXM) или частнофирменными. Последовательная шина контроллера (на основе интерфейса RS-485) используется для подключения к нему удаленных (распределенных) модулей ввода-вывода.

Программирование контроллеров малой мощности выполняется с помощью кнопок, расположенных на лицевой панели или с помощью переносного пульта для программирования. В качестве пульта в последнее время используется компьютер формата "ноутбук". Программирование мощных контроллеров выполняется с помощью персонального компьютера, на котором устанавливается специальное программное обеспечение, например CoDeSys или ISaGRAF, выполняющее трансляцию технологического языка стандарта МЭК 61131-3 в исполняемый код процессора, который загружается в ПЗУ ПЛК, например, через порт Ethernet.

Процессорный модуль

Процессорный модуль ПЛК выполняет следующие задачи:

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

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

К основным характеристикам процессорного модуля относятся:

  • тип операционной системы (Windows CE, Linux, DOS, OS-9, QNX и др.);
  • наличие исполнительной среды для стандартной системы программирования на языках МЭК 61131-3;
  • типы поддерживаемых интерфейсов (RS-232, RS-422, RS-485, CAN, USB, Ethernet и др.);
  • типы поддерживаемых сетей (Modbus RTU, Modbus TCP, Ethernet, Profibus, CANopen, DeviceNet и др.);
  • возможность подключения устройств индикации или интерфейса оператора (светодиодного или ЖКИ индикатора, клавиатуры, мыши, дисплея с интерфейсами VGA, DVI или CMOS, LVDS, трекбола и др.);
  • разрядность (8, 16, 32 или 64 бита);
  • тактовая частота микропроцессора и памяти;
  • время выполнения команд;
  • объем, иерархия и типы памяти (ОЗУ, кэш, ПЗУ - флэш, съемная флэш и др.);
  • типы встроенных функций (ПИД-регулятор, счетчики, ШИМ, алгоритмы позиционирования и управления движением и др.);
  • брендпроизводителя (Intel, AMD, Atmel, Motorola, RealLab! и др.).

Пример ПЛК – NLcon-CE продвигаемый фирмой НИЛ АП под торговой маркой "RealLab!". Контроллер построен на базе мощного (для ПЛК) процессора PXA-255 фирмы Intel и работает с удаленными модулями ввода-вывода через интерфейс RS-485 по протоколу Modbus RTU или DCON.

6.2.1. Компьютер в качестве контроллера

Компьютер может быть превращен в полноценный контроллер, если на него установить:

  • систему программирования контроллеров (например, CoDeSys или ISaGRAF);
  • электронный диск вместо обычного жесткого диска;
  • платы ввода-вывода или внешние модули ввода-вывода;
  • сторожевой таймер.

Электронный диск представляет собой ПЗУ, состоящее из микросхем флэш-памяти и конструктивно выполненное в виде корпуса обычного жесткого диска формата 2.5", 3.5" или 5.25" со стандартными интерфейсами IDE и SCSI. Основным достоинством электронного диска является его высокая устойчивость к вибрациям, отсутствие акустического шума, высокая надежность, низкое энергопотребление, малый вес.

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

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

К достоинствам персональных компьютеров (ПК) при их использовании в качестве контроллеров относятся:

  • на порядок большая емкость оперативной памяти;
  • наличие жесткого диска с практически неограниченной емкостью;
  • на порядки более высокое быстродействие;
  • быстрое развитие аппаратного обеспечения (модернизация компьютеров происходит каждые 4..6 месяца, контроллеров - через 3...5 лет);
  • в несколько раз более низкая цена;
  • наличие большого числа специалистов, хорошо владеющих персональным компьютером;
  • поддержка компьютером DVD и CD-ROM дисководов, принтера, звуковых карт, систем распознавания и синтеза речи, систем распознавания образов и текста, а также других средств, недоступных для контроллера;
  • легкая замена компьютера на более мощный без изменения программного обеспечения;
  • поддержка клавиатуры, мыши и монитора;
  • возможность комплектации компьютера из частей, производимых большим числом независимых производителей;
  • возможность создания всей системы автоматизации с помощью SCADA пакетов (например, MasterSCADA, Trace Mode), без привлечения систем программирования контроллеров и средств связи контроллера с компьютером;
  • наличие стандартов на шины, что обеспечивает большое число независимых поставщиков стандартных компьютерных плат.

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

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

  • мышь, клавиатуру и монитор;
  • жесткий диск;
  • узкий температурный диапазон (от 0 до +50 ºС);
  • операционную систему Windows (иногда используют ОС реального времени Windows CE, QNX, RTOS);
  • вентилятор для охлаждения процессора и блока питания.

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

9. Программное обеспечение

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

  • автоматизация управления технологическими процессами (АСУ ТП);
  • взаимодействие системы с диспетчером (оператором);
  • автоматизированный контроль и измерения (мониторинг);
  • обеспечение безопасности;
  • дистанционное управление, измерение, сигнализация (задачи телемеханики).

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

9.1. Развитие программных средств автоматизации

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

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

  • требованием надежности программного обеспечения. Система, написанная целиком на алгоритмическом языке для конкретного заказа, содержала слишком много программного кода, на тщательную разработку и тестирование которого не хватало времени;
  • сжатыми сроками внедрения системы и ограниченной стоимостью работ. Для создания системы в короткий срок при ограниченном бюджете требовалось большое количество готовых универсальных программных компонентов, уже написанных и тщательно оттестированных;
  • необходимостью модификации системы в процессе ее эксплуатации. Внести изменения в специализированную программу мог только написавший ее программист, который к этому времени обычно работал уже на другом предприятии. Поэтому вместо того, чтобы модифицировать программное обеспечение, его приходилось переписывать заново;
  • требованиями совместимости с другими системами автоматизации, работающими на том же предприятии. Были необходимы стандартные интерфейсы между программами, созданными разными производителями на разных аппаратно-программных платформах;
  • высокими требованиями к качеству пользовательского интерфейса. Ограниченный бюджет времени и финансовых ресурсов не позволял разработать достаточно хороший программный интерфейс на универсальных алгоритмических языках.

Разделение труда по созданию программных средств автоматизации

Перечисленные причины привели к следующему разделению труда по созданию программных средств для систем автоматизации: фирмы, специализирующиеся на программном обеспечении, создают универсальные системы программирования задач автоматизации (SCADA-пакеты и средства МЭК-программирования), а инжиниринговые фирмы(системные интеграторы) адаптируют эти средства к нуждам конкретного заказчика. В результате достигается решение всех перечисленных выше проблем. Более того, благодаря существенному упрощению процесса адаптации по сравнению с классическим программированием изменения в алгоритмы управления могут быть внесены, например, технологом эксплуатирующей организации без привлечения системных интеграторов или программистов.

9.1.1. Графическое программирование

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

Настоящую революцию в программировании систем автоматизации сделали языки графического программирования. Одним из первых в этом классе был графический язык среды Simulink, входящей в состав Matlab (MathWorks Inc), а также языки LabVIEW (National Instruments) и HP-VEE (Hewlett Packard). Они были предназначены и успешно использовались для сбора данных, моделирования систем автоматизации, автоматического управления, обработки собранных данных и их визуального представления в виде графиков, таблиц, звука, с помощью компьютерной анимации. Графические языки были настолько простыми и естественными, что для их освоения зачастую было достаточно метода проб и ошибок без использования учебников и консультаций. Человек, не знакомый с программированием на алгоритмических языках, пользуясь только логикой и понимая постановку прикладной задачи, мог собрать работающее приложение из готовых компонентов, набрасывая их мышкой на экран монитора и проводя графические связи для указания потоков информации.

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

Поэтому появление в 1993 году стандарта на языки программирования контроллеров МЭК 61131-3 [IEC] было большим шагом в направлении создания открытых систем автоматизации и обеспечило снижение стоимости разработки, сокращение сроков, повышение качества реализации алгоритмов автоматизации и возможность детального изучения языков программирования, пригодных для любого контроллера. МЭК 61131-3 устанавливал стандарты для пяти языков программирования, рассчитанных на специалистов разных профессий, не связанных с программированием.

9.1.3. Открытость программного обеспечения

Программные средства автоматизации должны удовлетворять требованиям открытости. Для этого они должны поддерживать:

  • стандартные средства программирования МЭК 61131-3;
  • стандарт ОРС для связи с физическими устройствами;
  • стандартные сетевые протоколы Ethernet, Modbus, Profibus, CAN и др.;
  • стандартный интерфейс ODBC для доступа к базам данных c языком запросов SQL;
  • наиболее распространенные операционные системы (Windows XP/CE, Linux);
  • веб-технологию;
  • обмен данными с Microsoft Office.

Перечисленные средства удовлетворяют общепризнанным или официальным стандартам, имеются в свободной продаже, разрабатываются несколькими независимыми производителями, конкурирующими между собой (последнее не касается MS Windows и MS Office).

9.1.4. Связь с физическими устройствами

Связь программного обеспечения с физическими устройствами в системах автоматизации осуществляется с помощью методов DDE, OLE, COM, DCOM и OPC.

Технология обмена данными между приложениями Windows с аббревиатурой DDE (Dynamical Data Exchange - "динамический обмен данными") - появилась в 1987 г. вместе с Windows 2.0. В промышленной автоматизации DDE использовалась для обмена данными между SCADA в качестве DDE-клиента и физическим устройством, которое поставлялось с DDE сервером.

После появления OLE (Object Linking and Embedding - "связывание и внедрение объектов") фирмы Microsoft, а позже COM(Component Object Model - "модель многокомпонентных объектов") и DCOM (Distributed COM - "СОМ для распределенных систем") [Круглински] технология DDE была полностью вытеснена этими новыми средствами, которые оказались гораздо более эффективными.

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

Одной из составляющих COM является Automation - средства взаимодействия программ, написанных на С++ с программами на языке VBA (Visual Basic for Application) или Delphi, а также с программами на языках сценариев (VBScript, JScript). Благодаря автоматизации COM-объект может быть также размещен и исполняться на веб-странице.

Расширение COM в виде DCOM позволяет программам взаимодействовать между собой, даже если они исполняются на разных компьютерах локальной сети. Поэтому DCOM явилась универсальной программной технологией, которая как нельзя лучше позволяет осуществить взаимодействие между SCADA в качестве клиента и сервером, обеспечивающим интерфейс к аппаратным средствам промышленной автоматизации. Именно благодаря этому свойству DCOM была использована в качестве базы для разработки стандарта OPC- "OLE for Process Control" - "OLE для управления процессами", который лежит в основе всех современных SCADA пакетов, взаимодействующих с аппаратурой через OPC сервер.

9.2. ОРС сервер

9.2.1. Обзор стандарта ОРС

Главной целью стандарта ОРС явилось обеспечение возможности совместной работы средств автоматизации, функционирующих на разных аппаратных платформах, в разных промышленных сетях и производимых разными фирмами. До разработки ОРС стандарта SCADA пакет нужно было адаптировать к каждому новому оборудованию индивидуально. Существовали длинные списки "поддерживаемого оборудования", очень сложной была техническая поддержка. При модификации оборудования нужно было вносить изменения во все драйверы, каждый из которых поддерживал протокол обмена только с одной клиентской программой. Число таких драйверов доходило до сотен.

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

Стандарт ОРС относится только к интерфейсам, которые ОРС сервер предоставляет клиентским программам. Метод же взаимодействия сервера с аппаратурой (например, с модулями ввода-вывода), стандартом не предусмотрен и его реализация возлагается полностью на разработчика аппаратуры. Поэтому стандарт ОРС может быть использован не только для взаимодействия SCADA с "железом", но и для обмен данными с любым источником данных, например, с базой данных или с GPS приемником.

ОРС сервер как средство взаимодействия с техническим устройством может быть использован при разработке заказных программ на C++, Visual Basic, VBA и т. п. В этих задачах ОРС сервер используется как Microsoft DCOM объект, от которого он отличается только стандартизацией обозначений и специфическими терминами из области промышленной автоматизации. Применение ОРС сервера при разработке заказных программ позволяет скрыть от разработчика всю сложность общения с аппаратурой, представляя простой и удобный метод доступа к аппаратуре через интерфейсы СОМ-объекта.

Стандарт ОРС состоит из нескольких частей:

  • ОРС DA (OPC Data Access) - спецификация для обмена данными между клиентом (например SCADA) и аппаратурой (контроллерами, модулями ввода-ввода и др.) в реальном времени;
  • OPC Alarms & Events (A&E) - спецификация для уведомления клиента о событиях и сигналах тревоги, которые посылаются клиенту по мере их возникновения. Этот сервер пересылает аварийные сигналы, действия оператора, информационные сообщения, результаты контроля состояния системы;
  • OPC HDA (Historical Data Access) - спецификация для доступа к предыстории процесса (к сохраненным в архиве данным). Сервер обеспечивает унифицированный способ доступа с помощью DCOM технологии. Обеспечивает чтение, запись и изменение данных;
  • Batch - спецификация для особых физико-химических технологических процессов обработки материалов, которые не являются непрерывными. В таких процессах выполняется загрузка нескольких видов сырья в определенных пропорциях согласно рецепту, устанавливаются режимы обработки, а после выполнения цикла обработки и выгрузки готового материала загружается новая партия сырья. ОРС сервер выполняет обмен между клиентом и сервером рецептами, характеристиками технологического оборудования, условиями и результатами обработки;
  • OPC Data eXchange - спецификация для обмена данными между двумя ОРС DA серверами через сеть Ethernet;
  • OPC Security - спецификация, которая определяет методы доступа клиентов к серверу, которые обеспечивают защиту важной информации от несанкционированной модификации;
  • OPC XML-DA - набор гибких, согласующихся друг с другом правил и форматов для представления первичных данных с помощью языка XML, веб технологий и сообщений SOAP (см. раздел "Архитектура автоматизированной системы".);
  • OPC Complex Data - дополнительные спецификации к OPC DA и XML-DA, которые позволяют серверам работать со сложными типами данных, такими как бинарные структуры и XML-документы;
  • OPC Commands - набор программных интерфейсов, который позволяет ОРС клиентам и серверам идентифицировать, посылать и контролировать команды, исполняемые в техническом устройстве (в контроллере, модуле ввода-вывода);
  • OPC Unified Architecture - принципиально новый набор спецификаций, который уже не базируется на DСОМ технологии, подробнее см. раздел "Спецификация OPC UA".

Из перечисленных спецификаций в России широко используются только две: ОРС DA и реже - OPC HDA.

 

9.3. Системы программирования на языках МЭК 61131-3

Стандарт МЭК 61131-3 устанавливает пять языков программирования ПЛК, три графических и два текстовых. Первоначально стандарт назывался IEC 1131-3 и был опубликован в 1993 г. но в 1997 г. МЭК (IEC) перешел на новую систему обозначений и в названии стандарта добавилась цифра "6". Продвижением стандарта занимается организацияPLCopen.

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

Системы программирования, основанные на МЭК 61131-3, характеризуются следующими показателями:

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

Языки МЭК 61131-3 появились не как теоретическая разработка, а как результат анализа множества языков, уже используемых на практике и предлагаемых рынку производителями ПЛК. Стандарт устанавливает пять языков программирования со следующими названиями:

  • структурированный текст (ST - Structured Text);
  • последовательные функциональные схемы (SFC - "Sequential Function Chart");
  • диаграммы функциональных блоков (FBD - Function Block Diagram);
  • релейно-контактные схемы, или релейные диаграммы (LD - Ladder Diagram);
  • списокинструкций (IL - Instruction List).

Графическими языками являются SFC, FBD, LD. Языки IL и ST являются текстовыми.

В стандарт были введены несколько языков (а не один) для того, чтобы каждый пользователь мог применить наиболее понятный ему язык. Программисты чаще выбирают язык IL (похожий на ассемблер) или ST, похожий на язык высокого уровня Паскаль; специалисты, имеющие опыт работы с релейной логикой, выбирают язык LD, специалисты по системам автоматического управления (САУ) и схемотехники выбирают привычный для них язык FBD.

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

Языки МЭК 61131-3 базируются на следующих принципах:

  • вся программа разбивается на множество функциональных элементов - Program Organization Units (POU), каждый из которых может состоять из функций, функциональных блоков и программ. Любой элемент МЭК-программы может быть сконструирован иерархически из более простых элементов;
  • стандарт требует строгой типизации данных. Указание типов данных позволяет легко обнаруживать большинство ошибок в программе до ее исполнения;
  • имеются средства для исполнения разных фрагментов программы в разное время, с разной скоростью, а также параллельно. Например, один фрагмент программы может сканировать концевой датчик с частотой 100 раз в секунду, в то время как второй фрагмент будет сканировать датчик температуры с частотой один раз в 10 сек;
  • для выполнение операций в определенной последовательности, которая задается моментами времени или событиями, используется специальный язык последовательных функциональных схем ( SFC);
  • стандарт поддерживает структуры для описания разнородных данных. Например, температуру подшипников насоса, давление и состояние "включено-выключено" можно описать с помощью единой структуры "Pomp" и передавать ее внутри программы как единый элемент данных;
  • стандарт обеспечивает совместное использование всех пяти языков, поэтому для каждого фрагмента задачи может быть выбран любой, наиболее удобный, язык;
  • программа, написанная для одного контроллера, может быть перенесена на любой контроллер, совместимый со стандартом МЭК 61131-3.

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

Программирование ПЛК на описанных выше языках МЭК 61131-3 осуществляется с помощью специализированного программного обеспечения, которое разрабатывается производителями ПЛК или фирмами, специализирующимися на создании ПО для систем автоматизации. Наиболее известными в мире являются системы CoDeSys фирмы 3S и ISaGRAF фирмы ICS Triplex.

9.4. Пользовательский интерфейс, SCADA-пакеты

Большинство систем автоматизации функционирует с участием человека (оператора, диспетчера). Интерфейс между человеком и системой называют человеко-машинным интерфейсом (ЧМИ), в зарубежной литературе - HMI (Human-Machinery Interface) или MMI (Man-Machinery Interface). В частном случае, когда ЧМИ предназначен для взаимодействия человека с автоматизированным технологическим процессом, его называют SCADA-системой (Supervisory Control And Data Acquisition). Этот термин переводится буквально как "диспетчерское управление и сбор данных", но на практике его трактуют гораздо шире, а современные SCADA-пакеты включают в себя широчайший набор функциональных возможностей, далеко выходящий за рамки сбора данных и диспетчерского управления.

9.4.1. Функции SCADA

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

  • наcтройка SCADA на конкретную задачу (т. е. разработка программной части системы автоматизации);
  • диспетчерское управление;
  • автоматическое управление;
  • хранение истории процессов;
  • выполнение функций безопасности;
  • выполнение общесистемных функций.

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

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

Иногда SCADA комплектуются средствами для программирования контроллеров, однако эта функция вызвана коммерческими соображениями и слабо связана с основным назначением SCADA.

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

В отличие от события, аларм (от английского "alarm" - "сигнал тревоги") представляет собой предупреждение о важном событии, в ответ на которое нужно срочно предпринять некоторые действия. У английского слова "аларм" имеется точный русский перевод - "сигнал тревоги" или "аварийный сигнал", однако термин "аларм" уже прочно вошел в лексикон промышленной автоматизации.

В настоящее время наиболее распространенными отечественными универсальными SCADA являются MasterSCADA, Trace Mode, Круг-2000 и САРГОН. Все системы удовлетворяют основным требованиям к SCADA, описанным выше, и успешно конкурируют с зарубежными аналогами.

 


15.06.2015; 01:28
хиты: 156
рейтинг:0
Точные науки
информатика
Компьютерные коммуникации (сети)
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь