Автор работы: Пользователь скрыл имя, 16 Мая 2013 в 21:38, лабораторная работа
Цель работы – знакомство с интерфейсом среды для программирования контроллеров CoDeSys, изучение этапов разработки программы для контроллера.
Для эффективного управления техническими процессами в настоящее время используются управляющие ЭВМ (УВМ), которые также называются промышленными контроллерами или программируемыми логическими контроллерами (ПЛК). В отличие от офисных компьютеров, которые используются для выполнения самых разнообразных программ, промышленные контроллеры используются для непрерывного исполнения одного и того же специально разработанного приложения
Цель работы – знакомство с интерфейсом среды для программирования контроллеров CoDeSys, изучение этапов разработки программы для контроллера.
Для эффективного управления техническими процессами в настоящее время используются управляющие ЭВМ (УВМ), которые также называются промышленными контроллерами или программируемыми логическими контроллерами (ПЛК). В отличие от офисных компьютеров, которые используются для выполнения самых разнообразных программ, промышленные контроллеры используются для непрерывного исполнения одного и того же специально разработанного приложения. В большинстве случаев исполняемая контроллером программа не требует никакого взаимодействия с человеком, поэтому привычные клавиатура и монитор отсутствуют, а для разработки, отладки и загрузки программы в ПЛК используется обычный офисный компьютер и специальное программное обеспечение.
Настоящий лабораторный практикум использует в качестве среды разработки приложений для промышленных контроллеров программу CoDeSys (Controller Development System). Среда CoDeSys позиционируется компанией-разработчиком1 как универсальная среда, которая потенциально может использоваться для программирования любых контроллеров. Для этого производитель контроллера должен встроить в свой ПЛК специальную среду исполнения CoDeSys SP. Такой подход выгоден в первую очередь производителям небольших контроллеров нижнего ценового диапазона.
В цикле лабораторных работ в качестве аппаратного обеспечения рассматриваются промышленные контроллеры FASTWEL I/O. Контроллеры FASTWEL I/O имеют модульную организацию, т.е. контроллер состоит из нескольких модулей. Типы и количество модулей выбираются в зависимости от того, какие датчики и исполнительные механизмы используются для контроля и управления технологическим процессом.
В состав контроллера FASTWEL I/O обязательно должен входить модуль центрального процессора или контроллер узла сети, который является одноплатным компьютером. Модуль содержит центральный процессор и оперативную память, контроллер шины и контроллер интерфейса для программирования. К модулю центрального процессора подключаются модули ввода-вывода. Электрическое соединение модулей контроллера друг с другом осуществляется с помощью контактов, расположенных по бокам модулей. Для того, чтобы шина контроллера функционировала правильно, за последним модулем ввода-вывода должен быть установлен оконечный модуль. Механическое соединение модулей осуществляется за счёт крепления их на DIN-рейке.
Автоматическое управление технологическим процессом заключается в анализе текущего состояния процесса с помощью датчиков и формировании управляющих воздействий посредством исполнительных устройств и механизмов. Таким образом, программа контроллера должна реализовывать алгоритм включения и выключения исполнительных устройств и механизмов в зависимости от сигналов, получаемых от датчиков. В общем случае, программа для ПЛК ничем не отличается от обычной программы для персонального компьютера. Разница заключается лишь в том, что переменные, использующиеся в контроллере должны быть «привязаны» к физическим входам и выходам ПЛК, чтобы изменения на входах сразу же отражались на значениях связанных с ними переменных, а изменения переменных, связанных с выходами приводили к изменению состояний выходов.
Для связи переменных программы контроллера с его входами и выходами, необходимо сначала определить конфигурацию контроллера, т.е. задать, какие модули и в какой последовательности подключены к модулю центрального процессора. Далее можно приступать к «привязыванию» имён переменных к входам и выходам контроллера.
Следующий этап разработки программы контроллера – программирование алгоритма управления. Программа контроллера может быть реализована на одном из шести языков, определённых стандартом МЭК 61131-3:
Программа, разрабатываемая в CoDeSys, может состоять из нескольких программных модулей – подпрограмм, процедур и функций. Каждый программный модуль может быть реализован на одном из шести языков программирования.
После разработки программы, она отлаживается с помощью режима эмуляции контроллера, а затем – загружается в контроллер для окончательной отладки и последующего функционирования системы управления.
После запуска CoDeSys, на экране появляется основное окно программы. Для создания нового проекта необходимо выбрать меню Файл\Создать. В появившемся диалоговом окне «Настройка целевой платформы» (рис. 1), в выпадающем списке «Конфигурация» необходимо выбрать пункт «Fastwel I/O System with Multitasking Runtime» и нажать кнопку «ОК».
После чего появится диалоговое окно «Новый программный компонент (POU)», в котором нужно выбрать тип языка для исполняемого программного модуля. Для первой лабораторной работы нужно выбрать язык LD (рис. 2) и нажать кнопку «ОК». Имя нового POU менять не нужно.
После создания нового проекта, необходимо выполнить конфигурирование ПЛК. для этого необходимо переключиться на закладку «Ресурсы» (рис. 3, шаг 1) и выбрать раздел «Конфигурация ПЛК» (рис. 3, шаг 2). Добавление модулей ввода-вывода в состав контроллера удобнее всего выполнять, щёлкая правой кнопкой на пункте «I/O Modules» (рис. 3, шаг 3). В контекстном меню, нужно выбрать пункт «Добавить Подэлемент» и далее – выбрать из меню тип модуля.
Для привязывания переменных ко входам и выходам ПЛК необходимо в списке I/O Modules (рис. 4), раскрыть подсписок модуля. При этом в зависимости от типа модуля, необходимо работать с разными подсписками. Например, для модуля дискретного ввода (рис. 4), необходимо раскрыть подсписок «Inputs[FIX]», и в нём – подсписок «(* InputStates *)». Для модуля дискретного вывода нужно будет раскрыть подсписок «Outputs[FIX]», и в нём – подсписок «(* OutputsControl *)».
Далее двойным щелчком в начале строки (в районе слова «AT») осуществляется переход в режим ввода имени переменной (рис. 4). Имена переменных должны начинаться с буквы, могут состоять из латинских букв и цифр и не должны повторяться.
Предшественниками ПЛК были логические схемы переключений на релейных элементах, поэтому, для удобства перехода от релейных схем к ПЛК, был разработан язык релейных схем (язык LD), который и сейчас успешно используется для решения своего класса задач.
Язык LD – графический язык. Его основные элементы:
С помощью основных элементов собирается электрическая цепь. Прохождение сигнала по цепи зависит от состояния выключателей (замкнут или разомкнут). Если электрический сигнал проходит через катушку реле, то контакт реле замыкается или размыкается в зависимости от типа реле.
Для разработки программы, необходимо переключиться на закладку «POU» (рис. 5) и дважды щёлкнуть по имени программы PLC_PRG.
Сбор электрической цепи осуществляется в редакторе программы на языке LD с помощью управляющих кнопок, расположенных в верхней части окна, сразу под строкой меню.
– добавить новую
– добавить новую
– добавить последовательно в цепь нормально разомкнутый выключатель;
– добавить последовательно в цепь нормально замкнутый выключатель;
– добавить параллельно в цепь нормально разомкнутый выключатель;
– добавить параллельно в цепь нормально замкнутый выключатель;
– добавить реле с нормально разомкнутым контактом;
– инвертировать тип выключателя или контакта реле.
Управление выключателями
«Нормальным» состоянием называют состояние, в котором находится выключатель при отсутствии внешних воздействий. Поэтому иногда встречаются термины «нормально разомкнутый» и «нормально замкнутый» выключатель или контакт реле.
В отличие от выключателей, контакты реле изменяют состояние логических переменных, указанных на релейной схеме над катушками реле. Если ток не течёт, то замыкающийся (нормально разомкнутый) контакт реле разомкнут, и логическая переменная имеет значение «ложь». Размыкающийся (нормально замкнутый) контакт в этом случае замкнут, и логическая переменная принимает значение «истина». При протекании тока через катушку реле значение переменной изменяется на противоположное.
Пример программы на языке LD представлен на рис. 6. Щелчок по символам над выключателем или катушкой реле позволяет перейти в режим ввода или редактирования имени управляющей (а для реле – управляемой) переменной.
Программа на рис. 6 обеспечивает реализацию следующих логических выражений:
Поскольку при последовательном соединении контактов ток будет протекать в цепи только, когда все контакты замкнуты, то последовательное соединение соответствует операции логического умножения. Параллельное соединение соответствует операции логического сложения.
В случае, когда необходимо реализовать инверсию от логической суммы или логического произведения, можно воспользоваться законом общей инверсии, или законом де Моргана:
Для отладки программы в режиме эмуляции необходимо перевести CoDeSys в режим эмуляции с помощью команды меню: «Онлайн \ Режим эмуляции». Далее нужно выполнить команду меню «Онлайн \ Подключение», а затем – «Онлайн \ Старт». При этом CoDeSys запускает эмулятор контроллера, загружает в него программу и переводит контроллер в режим исполнения программы. Если в программе или конфигурации контроллера присутствуют ошибки, то подключение к эмулятору не будет выполнено и в диагностическом окне будет отображён список ошибок, которые необходимо исправить.
В случае успешного запуска программы
контроллера в режиме эмуляции, появляется
возможность отлаживать программу,
изменяя состояние входных
Первый способ – изменение состояния логической переменной путём двойного щелчка по имени логической переменной на LD-схеме. При этом изменение значения переменной не происходит, она «помечается» на изменение. Благодаря этому можно установить новые значения сразу нескольким переменным. Для того, чтобы применить изменения всех помеченных переменных, необходимо выполнить команду меню «Онлайн \ Записать значения» или нажать сочетание клавиш Ctrl+F7.
Второй способ – изменение состояний входов контроллера в окне «Конфигурация ПЛК». После подключения к контроллеру в окне «Конфигурация ПЛК», возле каждого входа и выхода появляется квадратик, в котором отображается его текущее состояние. Квадратик белого цвета соответствует состоянию «Ложь» или «Выключено», квадратик синего цвета – состоянию «Истина» или «Включено». Переключение состояния входов осуществляется щелчком мыши по квадратику. При использовании второго способа, изменение состояния входа происходят сразу же.
1. В программе CoDeSys, создать новый проект, в котором сконфигурировать контроллер, состоящий из следующих модулей.
2. Для всех входов и выходов модулей дискретного ввода и вывода задать переменные.
3. Реализовать на языке релейных схем логическую функцию (табл. 1). Составить таблицу истинности и проверить правильность работы программы с помощью эмулятора.
Таблица 1
№ варианта |
Функция |
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |