Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Программирование промышленных контроллеров. Учебное пособие
.pdf
2. МЭК-КОМПЛЕКСЫ ПРОГРАММИРОВАНИЯ
Для систем программирования, основанных на МЭК 61131-3,
характерны следующие свойства:
1) надежность создаваемого программного обеспечения; данное
свойство обусловлено тем, что программы для ПЛК создаются с помощью специализированной среды разработки, которая содержит все
необходимые средства для создания, тестирования и отладки программ с помощью эмуляторов и реальных ПЛК, а также множество
готовых фрагментов программного кода;
2) возможность простой модификации и наращивания программы, ее функциональности;
3) переносимость проекта с одного ПЛК на другой;
4) возможность повторного использования отработанных фрагментов программы;
5) простота языка и ограничение количества его элементов.
К инструментальным средам программирования на языках МЭК
61131-3 относятся:
1) CoDeSys;
2) CX-One;
3) ISaGRAF;
4) MULTIPROG;
5) SIMATIC STEP 7;
6) GXDeveloper;
7) OpenPCS;
8) Concept;
9) Unity Pro;
10) Visilogic (Unitronics PLC);
11) TwinCAT;
12) B&R Automation Studio;
13) Cont Designer (Emicon);
14) PL7;
15) Segnetics SMLogix;
16) ZWorkbench (Zentec) и др.
Рассмотрим некоторые из них.
ISaGRAF (Rockwell Automation) – инструментальная среда разработки прикладных программ для программируемых ПЛК на языках
стандарта МЭК 61131-3 и МЭК 61499 [6]. Особенность технологии –
аппаратно независимый генератор TIC-кода (Target Independent Code).
11

TIC-код, в свою очередь, представляет собой машинно-независимый
код низкого уровня, генерируемый транслятором и исполняемый интерпретатором, благодаря чему, система исполнения интерпретирующего типа очень проста в адаптации. Практически отсутствуют ограничения на аппаратную платформу. Помимо генерации TIC-кода, в
ISaGRAF существует возможность трансляции проекта в С-текст.
Структура комплекса представлена на рис. 2.1.
Рис. 2.1. Структура комплекса ISaGRAF
ISaGRAF состоит из трех взаимосвязанных компонент:
1. Система разработки приложений (Workbench), служащая для
проектирования, компиляции, симуляции, загрузки пользовательской
программы в контроллер и их отладки.
2. Встраиваемая целевая система ISaGRAF может исполняться
под управлением любой ОС. Сама система представляет собой легко
переносимый машинонезависимый программный комплекс, который
встраивается в контроллер и исполняет приложения, спроектированные в системе разработки. Приложение может быть автономным,
т. е. одно приложение исполняется одним контроллером, или распределенным. В этом случае одно приложение исполняется несколькими
контроллерами.
12

3. Средства разработчика, используемые для написания драйверов под ISaGRAF, переноса целевых систем на другие аппаратные и
программные платформы и т. д.
OpenPCS (Infotearn Software GmbH) представлен в виде двух частей: набора средств разработки и исполняемого на целевом ПЛК ядраинтерпретатора. Набор средств разработки исполняется на компьютере
проектировщика. Состоит из редактора, отладчика и препроцессора,
«подгоняющего» описанный проектировщиком алгоритм под формат,
«понятный» ядру-интерпретатору. После создания пользовательская
программа совместно с ядром-интерпретатором загружается в целевой
ПЛК для последующего исполнения. Ядро-интерпретатор производит
трансляцию пользовательского алгоритма во время исполнения.
В OpenPCS язык IL используется в качестве промежуточного
кода, т. е. элементы программы, выполненные на любом МЭК-языке,
можно копировать в буфер обмена ОС Windows и вставлять в программу на другом языке с автоматическим перекодированием. Для
достижения высокого быстродействия в составе комплекса есть компиляторы машинного кода для ряда распространенных процессоров.
SIMATIC STEP7 – программный пакет, предназначенный для
конфигурирования, задания коммуникаций, программирования, тестирования и обслуживания, документирования и архивирования созданных проектов для программируемых логических контроллеров
фирмы Siemens [7]. Стандартный пакет STEP 7, представленный на
рис. 2.2, предоставляет ряд приложений внутри программного пакета.
Рис. 2.2. Состав стандартного пакета STEP7
Утилита SIMATIC Manager служит для организации работы по
конфигурированию, программированию и тестированию программной
13

части системы автоматического управления процессами. Эта программа
содержит все функции, необходимые для создания проекта. При необходимости SIMATIC Manager инициирует запуск других утилит в графическом виде, представленных на рис. 2.3. Единый интерфейс дает
возможность единообразного выполнения всех этапов работ.
Рис. 2.3. Приложения, запускаемые SIMATIC Manager
STEP7 также предоставляет пользователю следующие инструменты для создания проекта:
1. Symbol Editor – для определения символических обозначений, типов данных, и комментариев для глобальных переменных.
Символьные обозначения доступны во всех во всех приложениях.
2. Hardware Configuration – для программного конфигурирования аппаратного обеспечения системы автоматизации и для параметризации всех модулей. Все вводимые параметры проверяются на допустимость.
3. Communication – для задания управляемой по времени циклической передачи данных между компонентами автоматизации через
MPI или для управляемой событиями передачи данных через MPI,
PROFIBUS или Industrial Ethernet.
4. System diagnosis – для предоставления пользователю обзора
состояния контроллера.
14

5. Information functions – для быстрого обзора данных CPU и
поведения написанной пользователем программы.
6. Документирование – для предоставления пользователю
функции документирования всего проекта.
Программа SIMATIC S7 является структурированной программой, т. е. данные и установки для системы автоматизации структурированы внутри проекта и представлены в виде объектов (блоков), обладающих определенными функциями, соответствующими их положению
в сетевой и иерархической структуре системы. Различные классы приоритетов позволяют располагать в определенном порядке прерывания
исполняемой программы пользователя.
STEP 7 работает с переменными различных типов, начиная с переменных двоичного типа (BOOL), численных форматов (INT или
REAL) и заканчивая сложными типами, такими как массивы. STEP7
предлагает следующий набор команд:
1) двоичная логика, сдвиги, операции со словами
2) таймеры/счетчики;
3) операции сравнения, преобразования
4) математические функции (включая тригонометрические, сте-
пенные, логарифмические);
5) управление программой (скобки, переходы, вызовы);
6) установка точек прерывания;
7) установка входов/выходов;
8) поддержка многопроцессорной работы (только для S7-400).
Программные средства применяются:
1) для конфигурирования и параметрирования аппаратуры
(HWConfig);
2) конфигурирования сетей и соединений (NetPro, приложения
задания PROFIBUS-адреса и установки интерфейса PC/PG);
3) загрузки и тестирования пользовательской программы (утилита для наблюдения и изменения переменных, диагностические
функции, LAD/FBD/STL редактор).
В процессе конфигурирования определяется состав оборудования
в целом, разбиение оборудования на модули, способы подключения,
используемые сети, выбираются настройки для используемых модулей.
Система проверяет правильность использования и подключения отдельных компонент. Завершается конфигурирование загрузкой выбранной конфигурации в оборудование. Программирование контроллеров
15

производится редактором программ, обеспечивающим написание программ на одном из трех наиболее распространенных языках:
1) язык релейно-контактной логики;
2) язык функциональных блочных диаграмм;
3) язык списка инструкций.
Комплекс CODESYS разработан фирмой 3S (Smart Software Solutions). Он не привязан к какой-либо аппаратной платформе. Ядро
системы исполнения CODESYS написано на языке С. Имеется несколько модификаций комплекса, оптимизированных для различных
микропроцессоров, включая PC-совместимые. Для привязки к конкретному ПЛК требуется адаптация, касающаяся низкоуровневых ресурсов – распределение памяти, интерфейс связи и драйверы ввода–
вывода.
Базовый состав комплекса программирования ПЛК состоит из
двух обязательных частей: системы исполнения и рабочего места программиста.
В состав CODESYS входят:
1) среда разработки алгоритмов с помощью шести языков про-
граммирования (LD, IL, ST, SFC, FBD + CFC);
2) система исполнения, загруженная непосредственно в ПЛК;
3) компилятор и отладчик проектов;
4) средства построения и конфигурирования распределенных
систем управления;
5) средства создания визуализаций;
6) OPC-сервер для передачи данных в SCADA-системы;
7) режим эмуляции для программирования без подключения
ПЛК.
В дополнение к пяти МЭК-языкам комплекс поддерживает язык
последовательных функциональных схем – Continuous Function
Chart (CFC) – с произвольным размещением блоков и расстановкой
порядка их выполнения.
Система исполнения функционирует в контроллере и помимо
выполнения управляющей программы обеспечивает загрузку кода
прикладной программы, а также отладочные функции. CODESYS SP –
ядро системы исполнения ПЛК, с помощью которого практически
любое программируемое устройство, включая PC совместимые, можно использовать в качестве ПЛК с полноценной поддержкой МЭК
61131-3.
16

Существуют 4 разновидности CODESYS SP [8]:
1) CODESYS SP 8 Bit для семейства 8051 совместимых микро-
контроллеров, без операционной системы;
2) CODESYS SP 16 Bit для семейства Infineon C16x и совместимых с ним микроконтроллеров, без операционной системы или с собственной ОС;
3) CODESYS SP 32 Bit Embedded (CSP32E) для 32-разрядных
процессоров без ОС или с однозадачной ОС;
4) CODESYS SP 32 Bit Full (CSP32F) для 32-разрядных процессоров с многозадачной ОС (VxWorks, WinCE, Linux и др.).
Система исполнения должна иметь связь с компьютером рабочего места программиста. В простейшем случае ПЛК подключается к
компьютеру через стандартный com-порт (RS232) нуль-модемным
кабелем. В условиях цеха может использоваться более помехоустойчивый и дальнобойный интерфейс (RS422, RS485 или токовая петля).
В комплексе CODESYS посредником между средой разработки
и ПЛК служит специальное приложение – шлюз связи (gateway).
Шлюз связи взаимодействует с интегрированной средой через
Windows сокет-соединение, построенное на основе протокола TCP/IP.
Структурная схема представлена на рис. 2.4. Такое соединение обеспечивает единообразное взаимодействие приложений, работающих на
одном компьютере или в сети [6].
Рис. 2.4. Соединение интегрированной среды
программирования с ПЛК
Таким образом, программист может абсолютно полноценно работать на удаленном компьютере без ограничений рамками локальной
сети. ПК, выполняющий задачу шлюза связи, может одновременно вза-
17

имодействовать с ПК программиста через Интернет и с ПЛК через модемное соединение. Встроенные компиляторы непосредственно генерируют пользовательскую программу в машинный код под заданный
тип процессора, что обеспечивает максимально возможное быстродействие на любой аппаратной платформе.
Для пакета программирования предусмотрены target-файлы,
представляющие собой файлы целевой платформы. Они содержат в
себе системную информацию о подключаемом ПЛК: количество входов и выходов, размеры операционной памяти и т. д. Данная информация используется средой программирования CODESYS при создании проекта и загрузке его в ПЛК [9].
«Разумные» редакторы языков не дают совершить типичные для
начинающих МЭК-программистов ошибки. Встроенный эмулятор
контроллера позволяет проводить отладку проекта без физической
реализации с учетом аппаратной платформы ПЛК, на котором будет
использоваться прикладная программа. При дальнейшем подключении реального контроллера (режим online) отладчик будет работать
аналогичным образом.
Элементы визуализации дают возможность создать модель объекта управления и проводить отладку проекта без изготовления
средств имитации.
MULTIPROG wt (Klopper und Wiege Software GmbH) обладает
интуитивно понятным интерфейсом. Среда программирования поддерживает многопользовательский режим работы для сокращения
времени разработки программы и кросс-компилирование языков FBD,
LD и IL.
Система исполнения базируется на собственной операционной
системе реального времени ProConOS (Programmable Controller
Operating System), управляющей исполнением пользовательских задач. MULTIPROG wt позволяет организовать распределенное управление, а так же конфигурировать распределенные системы передачи
данных с помощью сетевых переменных.
Concept – программное обеспечение для программирования
контроллеров Quantum, Momentum и сопроцессоров Atrium. Concept
предоставляет собой набор инструментов на базе Microsoft Windows,
образующих многоязычную среду разработки для программирования
систем управления. Пять редакторов МЭК предоставляют пользователям свободу выбора языка программирования, соответствующего основным эксплуатационным характеристикам оборудования.
18

3. ЯЗЫКИ МЭК 61131-3
Языки МЭК 61131-3 базируются на следующих принципах [10]:
1. Вся программа разбивается на множество функциональных
элементов – Program Organization Units (POU); каждый POU может в
свою очередь состоять из функций, функциональных блоков и программ. Любой элемент МЭК-программы может быть сконструирован
на базе более простых стандартных элементов.
2. Строгая типизации данных, так как указание типов данных
позволяет легко обнаруживать большинство ошибок в программе на
этапе отладки.
3. Наличие средств для исполнения разных блоков программы в
разное время, с разной скоростью, а также параллельно.
4. Выполнение операций в определенной последовательности,
заданной моментами времени или событиями, основано на использовании специального языка последовательных функциональных схем.
5. Стандарт поддерживает структуры для описания разнород-
ных данных; например, температуру подшипников насоса, давление и
состояние включено–выключено можно описать с помощью единой
структуры и передавать ее внутри программы в качестве единого элемента данных.
6. Совместное использование пяти языков стандарта, что дает
возможность для каждого фрагмента задачи выбрать наиболее удобный язык.
7. Программа, написанная для одного контроллера, может быть
перенесена на любой другой контроллер, совместимый со стандартом
МЭК 61131-3.
Согласно данным, предоставленными специалистами компании
3S, IL регулярно используют менее 10 % пользователей, что отображено на рис. 3.1 [11]. Но приверженцев IL мало, исключать этот язык
из общего перечня нельзя. Существует большое число контроллеров,
для программирования которых применяются собственные фирменные системы. Среди таких систем IL является распространенным языком. Таким образом, IL позволяет пользователям таких контроллеров
перенести свои разработанные и проверенные временем проекты в
CODESYS без переработки. Для программ S5/S7 в CODESYS включен
специальный конвертер.
19

Рис. 3.1. Сравнение популярности языков МЭК [11]
Еще одно важное свойство IL состоит в следующем: язык IL
наиболее прозрачно транслируется в ассемблер целевого процессора.
Он оптимален для низкоуровневого кодирования. Опытным программистам это позволяет писать быстрые и переносимые «ассемблерные
вставки» непосредственно в CODESYS. Для некоторых типов ПЛК
в CODESYS разрешено писать обработчики аппаратных прерываний.
Разрешить или запретить пользователям такую возможность решает
изготовитель контроллера. Это же относится и к возможности включения в проект внешних библиотек, написанных на языке C или Ассемблере.
ST регулярно используют до 70 % пользователей. В ST пишутся
наиболее сложные проекты на ПЛК, включающие элементы технического зрения, биометрию и т. п. Ряд важнейших составных частей самого комплекса CODESYS написаны на языке SТ (стандартные библиотеки, библиотеки CANopen и SoftMotion, модуль целевой визуализации).
FBD и CFC регулярно применяют около 30 % пользователей. FBD
является самым популярным языком у начинающих программистов.
CFC, по сути, отличается от FBD только редактором. Он широко применяется для программирования регуляторов непрерывного действия.
LD регулярно используют не менее 10 % пользователей
CODESYS. Он является старейшим языком ПЛК и активно применяется всеми пользователями, особенно в задачах логического управления.
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
