Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет ук ИСПУ +.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

Вопросы для самопроверки

  1. Чем отличается контроллер от измерителя-регулятора?

  2. Дайте классификацию ПЛК по различным признакам.

  3. Поясните преимущества и недостатки различных типов контроллеров.

  4. Какие Вы знаете контроллеры по областям применения?

  5. Поясните классификацию ПЛК по конструктивному исполнению.

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

Должен уметь: различать устройства ввода-вывода по различным признакам, различать контроллеры по группам.

Раздел 2. Программное обеспечение систем автоматизации и управления

Тема 4. Классификация и состав программного обеспечения систем автоматизации и управления

Литература: [1, 3].

Современные технические средства автоматизации (ТСА) работают в составе промышленных информационно-вычислительных сетей (ИВС). Наряду с аппаратными средствами сети и ТСА должны иметь в своем составе и сложное программное и информационное обеспечение.

Системное программное обеспечение (СПО) ПЛК управляет работой контроллера на аппаратном уровне (уровень драйверов для аппаратных устройств внутри контроллера описывает их взаимодействие). СПО «прошивается» в системной памяти каждого контроллера. Новые версии прошивки создаются для внесения исправлений в работу контроллера либо для добавления новых функций.

Цикл ПЛК. Выполнение программ, написанных для исполнения на ПК и ПЛК, различается. Исполнение программы управления в ПЛК происходит циклически. Это означает, что в течение заданного интервала времени (времени цикла ПЛК) система:

  • считывает значения из области входов;

  • вызывает и один раз выполняет необходимую программу (PLC_PRG по умолчанию);

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

Затем эти операции повторяются вновь.

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

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

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

Краткий обзор языков стандарта.

Аббр.

Обозначение Английский

Обозначение Русский

Описание

IL

Instruction List

Список инструкций

Текстовый язык. Аппаратно-независимый низкоуровневый ассемблероподобный язык.

LD

Ladder Diagram

Релейно-Контактные Схемы

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

FBD

Function Block Diagram

Функциональные блоковые диаграммы

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

SFC

Sequential Function Chart

Последовательностные функциональные диаграммы

Графический высокоуровневый язык. Создан на базе математического аппарата сетей Петри. Описывает последовательность состояний и условий переходов.

ST

Structured Text

Структурированный текст

Текстовый Паскалеподобный язык программирования

Язык LD

Язык LD (LAD, Ladder) является графическим языком разработки, программа на котором представляет собой аналог релейной схемы. Пример программы на данном языке приведен на рис. 4.1. По идее авторов стандарта, такая форма представления программы облегчит переход инженеров из области релейной автоматики на ПЛК.

К недостаткам данного языка можно отнести то, что по мере увеличения количества «реле» в схеме она становится сложнее для интерпретации, анализа и отладки. Еще один недостаток языка LD заключается в следующем: язык, построенный по аналогии с релейными схемами, может быть эффективно использован только для описания процессов, имеющих дискретный (двоичный) характер; для обработки «непрерывных» процессов (с множеством аналоговых переменных) такой подход теряет смысл.

Рис. 4.1. Язык релейных диаграмм LD.

Язык FBD

Язык FBD (Functional Block Diagram, Диаграмма Функциональных Блоков) является языком графического программирования, так же, как и LD, использующий аналогию с электрической (электронной) схемой. Программа на языке FBD представляет собой совокупность функциональных блоков (functional flocks, FBs), входы и выходы которых соединены линиями связи (connections). Эти связи, соединяющие выходы одних блоков с входами других, являются по сути дела переменными программы и служат для пересылки данных между блоками. Каждый блок реализует математическую операцию (сложение, умножение, триггер, логическое “или” и т.д.) и может иметь, в общем случае, произвольное количество входов и выходов. Начальные значения переменных задаются с помощью специальных блоков – входов или констант, выходные цепи могут быть связаны либо с физическими выходами контроллера, либо с глобальными переменными программы. Пример фрагмента программы на языке FBD приведен на рис. 4.2.

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

Рис. 4.2. Функциональная схема FBD.

Пример 4.1. Необходимо изобразить программу в языке FBD равномерного постоянного повышения значения С со скоростью А от начального значения В.

Данная программа будет иметь 2 составляющих:

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

2) второй блок суммы двух величин – к числу (В-А) в каждом шаге выполнения программы будет суммироваться выходная величина из области 1 (на первом шаге начальное значение С будет равно В: С=(В-А)+А=В).

В случае если A=2, В=4, то С будет принимать значения из таблицы:

1 шаг

2 шаг

3 шаг

4 шаг

…

N шаг

…

4

6

8

10

…

2+2N

…

Пример 4.2. Необходимо изобразить программу в языке FBD равномерного постоянного повышения значения С со скоростью А от начального значения В, при условии ограничения C в пределах от Сmin до Сmax.

Данная программа будет иметь 3 составляющих:

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

2) второй блок суммы двух величин (на рис. область 2) – к числу (В-А) в каждом шаге выполнения программы будет суммироваться выходная величина из области 1 (на первом шаге начальное значение С будет равно В: С=(В-А)+А=В).

3) блок ограничения – выходное значение С будет ограничиваться значениями Сmin и Сmax.

В случае если A=2, В=4, Сmin=8, Сmax=12, то С будет принимать значения из таблицы:

1 шаг

2 шаг

3 шаг

4 шаг

5 шаг

6 шаг

…

8

8

8

10

12

12

…

Язык SFC

Рис. 4.3. Язык последовательных функциональных схем SFC.

Язык последовательных функциональных схем SFC (Sequential Function Chart), использующийся совместно с другими языками (обычно с ST и IL), является графическим языком, в котором программа описывается в виде схематической последовательности шагов, объединенных переходами. Язык SFC построен по принципу, близкому к концепции конечного автомата, что делает его одним из самых мощных языков программирования стандарта IEC 61131-3. Пример программы на языке SFC приведен на рис. 4.3.

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

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

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

Язык ST

Язык ST (Structured Text, Структурированный Текст) представляет собой язык высокого уровня, имеющий черты языков Pascal и Basic. Данный язык имеет те же недостатки, что и IL, однако они выражены в меньшей степени. Пример программы на языке ST приведен на рис. 4.4.

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

Рис. 4.4. Язык структурированного текста ST.

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

Язык IL

Язык IL (Instruction List, Список Команд) представляет собой ассемблероподобный язык, достаточно несложный по замыслу авторов стандарта, для его практического применения в задачах промышленной автоматизации пользователем, не имеющим, с одной стороны, профессиональной подготовки в области программирования, с другой стороны, являющимся специалистом в той или иной области производства. Однако, как показывает практика, такой подход себя не оправдывает.

Пример программы на языке IL приведен на рис. 4.5.

Рис. 4.5. Язык инструкций IL.

IL часто применяется для кодирования отдельных функциональных блоков, из которых впоследствии складываются схемы FBD или CFC. При этом IL позволяет достичь высокой оптимальности кода: программные блоки, написанные на IL, имеют высокую скорость исполнения и наименее требовательны к ресурсам контроллера. Язык IL имеет все недостатки, которые присущи другим низкоуровневым языкам программирования: сложность и высокую трудоемкость программирования, трудность модификации написанных на нем программ, малую степень «видимого» соответствия исходного текста программы и решаемой задачи.

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

Язык CFC

Язык CFC (Continuous Flow Chart, непрерывная блок-схема) – еще один высокоуровневый язык визуального программирования. По сути, CFC – это дальнейшее развития языка FBD. Этот язык был специально создан для проектирования систем управления непрерывными технологическими процессами.

Рис. 4.6. Среда проектирования на языке CFC системы Simatic PCS7.

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

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

Диспетчерский уровень включает, прежде всего, одну или несколько станций управления, представляющих собой автоматизированное рабочее место (АРМ) диспетчера/оператора. Здесь же может быть размещен сервер базы данных, рабочие места (компьютеры) для специалистов и т. д. Станции управления предназначены для отображения хода технологического процесса и оперативного управления. Эти задачи и призваны решать SCADA-системы. SCADА (Supervisory Control And Data Acquisition System) – это специализированное программное обеспечение, ориентированное на обеспечение интерфейса между диспетчером и системой управления, а также коммуникацию с внешним миром.

SCADA-системы обеспечивают выполнение следующих основных функций:

1. Прием информации о контролируемых технологических параметрах от контроллеров нижних уровней и датчиков

2. Сохранение принятой информации в архивах.

3. Вторичная обработка принятой информации.

4. Графическое представление хода технологического процесса, а также принятой и архивной информации в удобной для восприятия форме.

5. Прием команд оператора и передача их в адрес контроллеров нижних уровней и исполнительных механизмов.

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

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

8. Формирование сводок и других отчетных документов на основе архивной информации.

9. Обмен информацией с автоматизированной системой управления предприятием (или, как ее принято называть сейчас, комплексной информационной системой).

10. Непосредственное автоматическое управление технологическим процессом в соответствии с заданными алгоритмами.

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