ПРОМЫШЛЕННЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ - Студенческий научный форум

VI Международная студенческая научная конференция Студенческий научный форум - 2014

ПРОМЫШЛЕННЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ

Карпец А.В. 1, Матул Г.А. 1
1Политехнический институт (филиал) ФГАОУ ВПО «Северо-Восточный федеральный университет имени М.К. Аммосова» в г. Мирном Polytechnic Institute (branch) North-Eastern Federal University named after M.K. Ammosov
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

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

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

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

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

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

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

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

─┤ ├─ Нормально разомкнутый контакт разомкнут при значении ложь, назначенной ему переменной и замыкается при значении истина.

─┤/├─ Нормально замкнутый контакт, напротив, замкнут, если переменная имеет значение ложь, и разомкнут, если переменная имеет значение истина.

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

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

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

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

При программировании используются наборы библиотечных блоков и собственные блоки, также написанные на FBD или других языках МЭК 61131-3. Блок (элемент) — это подпрограмма, функция или функциональный блок (И, ИЛИ, НЕ, триггеры, таймеры, счётчики, блоки обработки аналогового сигнала, математические операции и др.).

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

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

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

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

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

Список литературы:

  • http://asutpnews.ru/content/view/208/45/

  • http://ru.wikipedia.org

Просмотров работы: 3186