Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

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

.pdf
Скачиваний:
2
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
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 So­lutions). Он не привязан к какой-либо аппаратной платформе. Ядро системы исполнения 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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]