Программирование ПЛК Smart I/O. Разработка программы нормального останова газоперекачивающего агрегата в среде ISaGRAF.
Содержание
Лабораторная работа №1. 3
Лабораторная работа №2. 24
Лабораторная работа №3. 41
Часть 1. Разработка прикладной программы ПИД-регулятора в среде CIMPLICITY Machine Edition. 57
Часть 2. Настройка ПИД-регулятора. 71
Лабораторная работа №1
Программирование ПЛК Smart I/O. Разработка программы нормального останова газоперекачивающего агрегата в среде ISaGRAF.
Цель работы: ознакомление с инструментальной средой разработки прикладного программного обеспечения ISaGRAF, разработка прикладной программы, реализующей алгоритм нормального останова газоперекачивающего агрегата, для контроллера Smart I/O в среде ISaGRAF.
Теоретический материал:
Основным элементом современных систем автоматического управления технологическими процессами является программируемый логический контроллер (ПЛК).
К функциям ПЛК относятся:
- получение информации от устройств сопряжения с объектом;
- обработка информации в соответствии с заложенными алгоритмами;
- выработка управляющих команд;
- обмен данными со станциями управления.
ПЛК получает информацию от технологического объекта через модули ввода (аналоговые или дискретные), а управляет исполнительными устройствами через модули вывода (аналоговые или дискретные). Обработка информации осуществляется в процессорном модуле.
Данная работа предназначена для ознакомления со структурой и принципами программирования ПЛК семейства Smart I/O, а также для получения практических навыков разработки прикладных программ с помощью инструментальной среды программирования ISaGRAF на основе реализации алгоритма нормального останова газоперекачивающего агрегата (ГПА)
ПЛК семейства Smart I/O созданы в соответствии с модульным принципом построения систем автоматического управления, позволяющий легко изменять конфигурацию системы в зависимости от конкретных решаемых задач. Различное сочетание процессорных модулей, модулей ввода/вывода, коммуникационных модулей в единой конструкции позволяет решать разнообразные задачи автоматизации технологического процесса независимо от сложности объекта.
Основным элементом ПЛК семейства Smart I/O является базовый модуль Smart-Base, построенный на основе микропроцессора Motorola MC86302. Модуль Smart-Base содержит встроенный источник питания, 2 последовательных коммуникационных порта (RS-232 и RS-485), внутренний таймер, а также три слота для установки модулей ввода/вывода. На лабораторном стенде в эти слоты установлены следующие модули: модуль дискретного ввода SM-DIN1 (8 входных каналов 0…24 В постоянного тока), модуль дискретного вывода SM-DOUT1 (8 оптоизолированных канала 0…24 В постоянного тока) и аналоговый модуль смешанного ввода/вывода SM-DAD1 (4 канала аналоговых сигналов -10…+10В с 12 разрядным разрешением и 2 канала аналогового вывода -10…+10 В с 12 разрядным разрешением). Кроме того, стенд содержит четыре переключателя для имитации дискретных сигналов и два аналоговых задатчика для имитации аналоговых унифицированных сигналов напряжения с диапазоном -10…+10 В.
Для программирования ПЛК Smart I/O используется инструментальная среда программирования ISaGRAF, разработанная на основе международного стандарта IEC 1131-3. Этот стандарт был создан Международной электротехнической комиссией (МЭК – IEC) и регламентирует использование пяти стандартных языков программирования ПЛК:
· Графический язык последовательных функциональных схем SFC (Sequential
Function Charts),описывающий логику работы ПЛК на уровне чередующихся или параллельных процедурных шагов и условных переходов.
· Графический язык функциональных блоков FBD (Fanction Block
Diagrams), позволяющий создавать комплексные процедуры, состоящих из различных библиотечных функций и функциональных блоков. Элементы этого языка выглядят как блоки, соединенные проводами в электрическую цепь, делая язык удобным для множества прикладных программ.
· Графический язык релейных диаграмм, или релейной логики LD (Ladder
Diagrams), используемый для описания логических выражений различного уровня сложности. Функциональные блоки в языках LD и FBD представляют собой программное замещение простых электромеханических элементов.
· Язык структурированного текста ST (Structured Text), относящийся к классу
текстовый языков высокого уровня и по мнемонике похожий на Паскаль. Язык ST содержит булевы и арифметические операторы, а также конструкции структурного программирования, такие как IF-THEN-ELSE, FOR-TO-DO, WHILE-DO, REPEAT-UNTIL. На основе этого языка можно создавать гибкие процедуры обработки данных.
· Язык инструкций IL (Instruction List), относится к классу текстовых языков низкого уровня (ассемблеров).
В инструментальной системе программирования ISaGRAF предусмотрены следующие возможности:
1. Поддержка пяти стандартных языков программирования ПЛК, включая поддержку интерфейса со специализированными функциями (не включенными в стандартные библиотеки языков программирования ПЛК), написанными на языке ANSI C (требует компилятор для соответствующей операционной системы).
2. Встроенный отладчик, обеспечивающий поддержку следующего набора функций:
- выполнение программы по шагам;
- изменение кода программы в процессе работы отладчика;
- трассировка рабочих переменных;
- интерактивная модификация значений переменных;
- запуск/останов отдельных программ, входящих в состав проекта ISaGRAF;
- изменение продолжительности цикла выполнения программы в процессе работы отладчика;
- эмуляция входных сигналов ПЛК и др.
3. Поддержка протокола Modbus (RTU, Slave).
4. Открытость системы для доступа извне к внутренним структурам данных проекта ISaGRAF (опция ISaGRAF Server).
5. Разработка собственных драйверов на модули ввода/вывода УСО.
6. Адаптация ядра ISaGRAF под любую аппаратно-программную платформу.
7. Набор драйверов для работы с контроллерами некоторых производителей аппаратных средств автоматизации технологических процессов (PEP Modular Computers, Motorola, ABB, Computer Boards, Keitley Metrabyte, WEIDMULLER и др.).
8. Использование интерактивных редакторов для описания переменных, определений и конфигурации ввода/вывода.
9. Встроенные средства контроля за разработкой проектов, печати отчетов и документирования приложений.
Помимо перечисленных возможностей существуют специфические функции, реализованные конкретными производителями аппаратных средств. Например, фирма PEP Modular Computers реализовала и интегрировала в среду ISaGRAF поддержку промышленной сети PROFIBUS.
Условно инструментальная среда программирования ISaGRAF состоит из двух систем (см. рис.1):
- система разработки проектов (ISaGRAF DevSys);
- система исполнения программ (ISaGRAF Target).
Рис. 1. Условная структура инструментальной среды программирования ISaGRAF.
В основе системы исполнения (ISaGRAF Target) лежит принцип синхронизации выполнения прикладной программы. Время выполнения прикладной программы (цикл) задается пользователем в процессе разработки программы. Минимальное время цикла определяется используемыми аппаратно-программными средствами. Например, для ПЛК, работающих под управлением операционной системы MS-DOS, минимальный цикл составляет 55 мс, а для ПЛК, работающих под управлением операционной системы OS-9, минимальный цикл составляет 10 мс. Если время цикла установить равным нулю, то каждый следующий программный цикл будет обрабатываться сразу же по окончании обработки предыдущего программного цикла.
На рис. 2 показана временная диаграмма исполнения прикладных программ для случая жестко запрограммированного времени цикла и случая, когда программный цикл не задается.
Рис. 2. Структура программного цикла с жестким заданием времени исполнения прикладной программы и без задания времени исполнения программы.
Структура прикладных программ в среде ISaGRAF включает 3 основные секции:
BEGIN (начальная)процедуры и программы, выполняемые в начале каждого цикла системы исполнения.
SEQUENTIL (последовательная)процедуры и программы, подчиняющиеся динамическим правилам языка SFC.
END (заключительная)процедуры и программы, выполняемые в конце каждого цикла системы исполнения.
Программы начальной секции систематически выполняются в начале каждого цикла исполнения, а программы заключительной секции - в его конце, как показано на рис. 3. Шаги последовательной секции выполняются в соответствии с правилами языка последовательных функциональных схем.
Программы начальной секции обычно формируют значения переменных, вычисляемых на основе входных данных, поступающих от модулей ввода. Сформированные в начальной секции переменные используются программами последовательной секции. Программы заключительной секции традиционно формируют переменные, обработанные в последовательной секции, перед передачей значений в модули вывода.
Рис. 3. Структура программного цикла в системе исполнения ISaGRAF Target.
Программы последовательной секции должны быть написаны только на языке последовательных функциональных схем (SFC). Программы начальной и заключительной секций могут быть написаны на любом из пяти стандартных языков программирования ПЛК, кроме языка последовательных функциональных схем (SFC), то есть на одном из следующих языков:
- язык функциональных блоков (FBD);
- язык релейной логики (LD);
- язык структурированного текста (ST);
- язык списка инструкций (IL).
Для получения практических навыков программирования ПЛК Smart I/O в инструментальной среде программирования ISaGRAF предлагается реализовать алгоритм нормального останова газоперекачивающего агрегата (ГПА) (см. рис.4).
Рис. 4. Блок-схема алгоритма нормального останова газоперекачивающего агрегата.
Порядок выполнения работы:
1. Запустите инструментальную среду программирования ISaGRAF. С этой целью в операционной среде Windows активируйте Start (Пуск) ® Programs (Программы) ® ISaGRAF ® Projects (Проекты). В результате откроется окно «Project manager» («Менеджер проектов»), в котором перечислены имеющиеся проекты ISaGRAF и дано их краткое описание.
2. Создайте новый проект ISaGRAF. Для этого в меню File (Файл) окна «Менеджер проектов» активируйте опцию «New» («Новый») или щелкните левой кнопкой мыши (в дальнейшем ЛК) по значку . Появится диалоговое окно «Create new project» («Создать новый проект»). В строке «Name:» («Имя:») введите имя проекта (первые 8 символов латинскими буквами). Выпадающий список «IO configuration:» («Конфигурация ввода/вывода») оставьте без изменений. После заполнения диалогового окна нажмите кнопку «OK» («Принять»). В окне «Менеджер проектов» инструментальной среды программирования IGaGRAF появится новая строка. В левой части строки будет указано имя созданного проекта.
3. Для удобства пользователя в среде программирования ISaGRAF предусмотрена возможность давать краткие описания (комментарии) создаваемым проектам. Чтобы ввести комментарий для созданного проекта, в меню «Edit» («Редактор») активируйте опцию «Set comment text» («Текст комментария»). В появившемся диалоговом окне «Project comment text» («Текст комментария к проекту») в строке «Comment:» («Комментарий:») введите краткое описание созданного проекта (введите текст «Лабораторная работа №1»). Нажмите кнопку «OK», в результате чего в строке созданного проекта появится текст комментария к проекту.
4. Перед составлением программы нормального останова газоперекачивающего агрегата необходимо запустить окно управления прикладными программами. С этой целью выделите созданный проект (переместите указатель мыши на имя проекта и щелкните ЛК), а затем активируйте в меню «File» («Файл») опцию «Open» («Открыть»). Откроется окно управления прикладными программами «Programs» («Программы»). Запустить окно управления прикладными программами можно также двойным щелчком ЛК мыши по названию созданного проекта.
5. В окне управления программами создайте новую программу. Для этого в меню «File» («Файл») активируйте опцию «New»(«Новый»). В появившемся диалоговом окне «New program» («Новая программа») введите следующие данные:
- в строке «Name:» («Имя:») введите имя создаваемой прикладной программы (в качестве имени программы введите «NO_GPA»);
- в строке «Comment:» («Комментарий:») введите краткое описание создаваемой программы (введите текст «Программа нормального останова ГПА»);
- в выпадающем списке строки «Language:» («Язык:») выберите один из пяти стандартных языков программирования стандарта IEC 1131-3: FBD (язык функциональных блоков), IL (список команд), SFC (последовательные функциональные схемы), LD (релейная логика), ST (структурированный текст). Для разработки программы нормального останова ГПА используйте язык функциональных блоков, поэтому в выпадающем списке строки «Language» выберите FBD;
- из выпадающего списка «Style:» («Стиль:») выберите секцию размещения программы: «Begin», «Sequential», «End», «Function» или «Function block». Программа нормального останова ГПА будет выполняться в начальной секции цикла выполнения программ, поэтому выберите в списке «Execution:» секцию «Begin».
Нажмите на кнопку «ОК». После выполнения указанных действий в окне управления прикладными программами появится строка, в которой слева на право будут указаны:
- секция выполнения прикладной программы (Begin);
- символ используемого языка программирования ( - FBD);
- имя прикладной программы (NO_ GPA);
- комментарий к созданной прикладной программе (Программа нормального останова ГПА).
6. Перед непосредственным составлением прикладной программы нормального останова ГПА рекомендуется объявить все используемые в программе переменные. Объявление переменных осуществляется с помощью Редактора словаря переменных («Dictionary»), который запускается с помощью опции «Dictionary» («Словарь») в меню «File» («Файл»). В результате откроется окно Редактора словаря переменных, которое содержит следующие закладки:
- Booleans (Булевские);
- Integers/Reals (Целые/Действительные);
- Timers (Таймеры);
- Strings (Сообщения);
- FB instances(FB экземпляры);
- Defined words (Макроопределения).
На каждой из представленных закладок задаются переменные соответствующего типа, то есть Булевы переменные следует задавать только на закладке Booleans (Булевские) и т.д.
В алгоритме нормального останова ГПА будут использоваться только Булевы и Таймерные переменные, поэтому подробно рассмотрим процесс объявления указанных типов переменных.
Чтобы объявить Булеву переменную, перейдите на закладку Booleans (Булевские) и дважды щелкните ЛК мыши по пустой строке. Появится диалоговое окно «Boolean variable» («Булевская переменная»). Для объявления переменной в прикладной программе выполните следующие действия:
- в строке «Name:» («Имя:») введите имя переменной (см. табл. 1);
- в строке «Comment:» («Комментарий:») введите краткую информацию о задаваемой переменной (см. табл. 1);
- в поле «Attributes:» («Атрибуты:») укажите, к какому типу относится объявляемая переменная – Internal (Внутренняя), Input (Входная), Output (Выходная), Constant (Константа); атрибуты объявляемых переменных приведены в табл. 1;
- остальные поля оставьте пустыми.
Для сохранения переменной нажмите кнопку «Store» («Сохранить»). В результате выполненных действий в Редакторе словаря переменных на закладке «Booleans» («Булевские») появится строка, в которой будут указаны имя объявленной переменной, ее атрибуты, сетевой адрес и комментарий.
Чтобы объявить Таймерную переменную перейдите на закладку «Timer» («Таймеры») и дважды щелкните ЛК мыши по пустой строке. Заполните диалоговое окно «Timer variable» («Таймерная переменная») следующим образом:
· в строке «Name:» («Имя:») введите имя переменной (см. табл. 2);
· в строке «Commentary:» («Комментарий:») введите краткую информацию о задаваемой переменной (см. табл. 2);
· в поле «Attributes:» («Атрибуты:») укажите тип объявляемой переменной – Internal (Внутренняя) или Constant (Константа) – атрибуты объявляемых переменных приведены в табл. 2;
· остальные поля оставьте без изменений.
Для сохранения заданных параметров переменной нажмите кнопку «Safe» («Сохранить»). В результате выполненных действий в Редакторе словаря переменных на закладке «Timer» («Таймеры») появится строка, в которой будут указаны имя объявленной переменной, ее атрибуты, сетевой адрес и комментарий.
Таблица 1. Список Булевых переменных
Имя переменной | Тип переменной | Атрибуты переменной | Комментарий |
Normal | Boolean | input | Кнопка нормального останова. |
Norm_Stp_DP_KS | Boolean | input | Кнопка нормального останова на диспетчерском пульте КС. |
Magistral | Boolean | input | Режим работы КС «Магистраль». |
Ring | Boolean | input | Режим работы КС «Кольцо». |
Indication_NO | Boolean | output | Индикация нормального останова. |
Dis_Mag_Ind | Boolean | internal | Отключить индикацию режима работы КС в «Магистраль». |
Dis_Ring_Indic | Boolean | internal | Отключить индикацию режима работы КС на «Кольцо». |
Dis_EM_KPV | Boolean | internal | Отключить электромагниты управления КПВ 1,5. |
Dis_PNS | Boolean | output | Отключить ПНС |
Dis_PNU | Boolean | output | Отключить ПНУ |
Dis_MKT_VNA | Boolean | internal | Отключить МКТ ВНА |
Dis_NO_Ind | Boolean | output | Отключить индикацию нормального останова. |
Dis_VOU | Boolean | internal | Отключить вентиляторы ВОУ. |
Dis_mtch_cnt | Boolean | output | Отключить счетчик моточасов. |
En_Ring_Ind | Boolean | internal | Включить индикацию режима работы КС на «Кольцо». |
En_MKT_VNA | Boolean | internal | Включить МКТ ВНА. |
En_EM_CK | Boolean | internal | Включить электромагниты закрытия СК. |
En_PNS | Boolean | output | Включить ПНС. |
En_PNU | Boolean | output | Включить ПНУ. |
Vkl_Em_KPV | Boolean | output | Включить электромагниты управления КПВ 1,5. |
nBDpriv6600 | Boolean | internal | Переход на nВДприв < 6600. |
Open_kp5 | Boolean | internal | Открытие крана 5. |
Open_kp6p | Boolean | internal | Открыть кран 6р. |
Open_kp9 | Boolean | internal | Открыть кран 9. |
Open_KPV | Boolean | internal | Открыть КПВ 1,5. |
Close_kp1 | Boolean | internal | Закрыть кран 1. |
Close_kp2 | Boolean | internal | Закрыть кран 2. |
Close_kp6 | Boolean | internal | Закрыть кран 6. |
Close_kp12 | Boolean | internal | Закрыть кран 12. |
Таблица 2. Список Таймерных переменных
Имя переменной | Тип переменной | Атрибуты переменной | Комментарий |
Delay | Timer | internal | Временная задержка (300 с). |
7. После того, как все переменные будут заданы, можно приступать к непосредственному составлению прикладной программы. Закройте окно Редактора словаря переменных. Для этого в меню «File» («Файл») активируйте опцию «Exit» («Выйти»). В окне управления прикладными программами дважды щелкните ЛК мыши по имени программы, чтобы открыть окно Редактирования программы на языке функциональных блоков и релейной логики (FBD/LD Program).
Составьте программу с помощью языка функциональных блоков в соответствии с блок-схемой, приведенной на рис. 5.
Рис. 5. Блок-схема программы нормального останова ГПА на языке функциональных блоков.
Для вставки переменных в окно Редактора программы на языке функциональных блоков и релейной логики необходимо щелкнуть ЛК мыши по значку , а затем переместить указатель мыши в то место окна редактирования прикладной программы, где должна располагаться переменная и еще раз щелкнуть ЛК мыши.
В появившемся диалоговом окне «Select variable» («Выбрать переменную») из выпадающего списка выберите тип переменной (Булева или Таймерная) и из предложенного списка объявленных переменных выберите нужное имя переменной. Для подтверждения выбора нажмите кнопку «ОК» («Принять»), в противном случае – кнопку «Cancel» («Отмена»).
Для размещения в окне Редактора программы функциональных блоков необходимо в выпадающем списке функциональных блоков на панели инструментов выбрать нужную функцию, которую должен выполнять блок. Переместите указатель мыши в то место окна редактирования прикладной программы, где должен располагаться функциональный блок, и еще раз щелкните ЛК мыши. В выбранном месте появится соответствующий функциональный блок.
Соединение элементов схемы между собой (функциональных блоков и переменных) осуществляется инструментом на инструментальной панели. Выберите его (щелкните ЛК мыши), переместите указатель мыши к выходу соединяемого элемента (функциональный блок или переменная), нажмите ЛК мыши и, удерживая ее, переместите указатель к соответствующему входу другого элемента.
Для удаления функциональных блоков, переменных или линий соединения необходимо выделить данный элемент схемы (подвести указатель мыши на нужный элемент и щелкните ЛК мыши) и нажать клавишу Delete на клавиатуре.
После завершения ввода элементов в программу, ее необходимо сохранить. Активируйте в меню «File» («Файл») опцию «Save» («Сохранить») и в появившемся диалоговом окне нажмите кнопку «ОК» («Принять»).
8. Следующий этап – привязка входных и выходных переменных к конкретным физическим точкам ввода и вывода информации. С этой целью в меню «Project» («Проект») активируйте опцию «I/O connection» («Соединение ввода/вывода») для вызова окна управления подключениями входных/выходных переменных. В левой части окна расположены пустые слоты (всего 256), с помощью которых задается используемое оборудование ввода/вывода (конфигурируется система автоматического управления). Правая часть окна пустая.
Последовательность и тип задаваемого в слотах оборудования должны соответствовать порядку и типу установленных модулей ввода/вывода в системе автоматического управления.
Чтобы задать тип оборудования, устанавливаемого в первый слот (слот 0), выделите указанный слот (переместите указатель мыши на цифру, обозначающую номер слота, и щелкните ЛК мыши). Затем в меню «Edit» («Редактор») активируйте опцию «Set board/equipment» («Установить плату/оборудование»). В результате выполнения указанных действий появится диалоговое окно «Select board/equipment» («Выбор платы/оборудования»). В правом нижнем углу диалогового окна расположено поле «Library» («Библиотека»), в котором выбирается библиотека доступных плат («boards») или оборудования («equipments»). При этом в левой части диалогового окна появится список доступного оборудования или плат.
Переключитесь на библиотеку оборудования (в поле «Библиотека» выберите «unit»). В списке доступного оборудования выберите модуль дискретного ввода SM-DIN1 (наведите указатель мыши на нужную строку и нажмите ЛК мыши). Нажмите кнопку «ОК» («Принять»). При этом диалоговое окно выбора плат/оборудования закроется и в правой части окна управления подключениями входных/выходных переменных появятся 8 виртуальных клемм, обозначающие 8 входных каналов модуля SM-DIN1.
После выбора необходимого модуля нужно задать его логический адрес, то есть порядковый номер слота (начиная с крайнего левого), в котором она установлена. Для этого необходимо два раза щелкнуть ЛК мыши по надписи “logical address”, расположенной над виртуальными клеммами, и в появившемся диалоговом окне ввести номер слота, в котором установлен модуль.
Чтобы выполнить подключение входных или выходных сигналов к виртуальным клеммам, подведите указатель мыши на первую клемму (с номером 0) и щелкните два раза левой кнопкой мыши. Появится диалоговое окно «Connect I/O channel #0» («Соединение по каналу ввода/вывода #0»), в котором отображается полный перечень входных переменных.
Выберите из списка имя переменной, которую необходимо привязать к данному каналу ввода (в соответствии с табл. 3), и нажмите кнопку «Connect» («Соединить»). При этом в правой части окна управления подключениями входных/выходных переменных напротив соответствующей клеммы появится имя подключенной переменной и диалоговое окно «Соединение по каналу ввода/вывода» автоматически переключится на следующий канал. Подобным образом сделайте привязку всех входных переменных к каналам дискретного входного модуля SM-DIN1 в соответствии с табл. 3.
Таблица 3. Привязка входных переменных к каналам модуля SM-DIN1.
Номер входного канала | Имя переменной |
Normal | |
Norm_Stp_DP_KS | |
Magistral | |
Ring |
После того, как будет выполнена привязка всех входных переменных, нажмите кнопку «Close» («Закрыть»), чтобы закрыть диалоговое окно «Соединение по каналу ввода/вывода».
Аналогичным образом во второй слот (слот 1) установите модуль дискретного вывода SM-DOUT1 и подключите переменные в соответствии с табл. 4. Задайте этому устройству соответствующий логический адрес.
Таблица 4. Привязка выходных переменных к каналам модуля SM-DOUT1.
Номер выходного канала | Имя переменной |
Indication_NO | |
Vkl_Em_KPV | |
Dis_mtch_cnt | |
En_PNS | |
En_PNU | |
Dis_PNS | |
Dis_PNU | |
Dis_NO_Ind |
После выполнения указанных действий, все входные и выходные переменные будут привязаны к соответствующим каналам модулей ввода/вывода.
Сохраните полученную конфигурацию – в окне управления подключениями входных/выходных переменных в меню «File» («Файл») активируйте опцию «Save».
9. После привязки всех входных и выходных переменных к соответствующим каналам необходимо проверить созданную программу на наличие ошибок и откомпилировать (сгенерировать машинный код программы).
Для проверки программы на наличие ошибок перейдите в окно управления прикладными программами и в меню «Make» («Создать») активируйте опцию «Verify» («Проверить») или наведите указатель мыши на значок (Проверить программу) и щелкните ЛК мыши. Запустится программа поиска ошибок. Все ошибки, допущенные при создании прикладной программы, будут показаны в окне генератора кода. Если в программе ошибок нет, появится диалоговое окно с надписью «Ошибок не обнаружено. Вы хотите выйти из Генератора кода?». Нажмите кнопку «Exit» («Выйти»).
Прежде, чем создавать код, загружаемый в контроллер, необходимо настроить компилятор. В меню «Make» («Создать») активируйте опцию «Compiler options» («Опции компилятора»). В появившемся диалоговом окне «Compilation options» («Опции компилятора») в списке «Target:» («Цели:») выберите строку «ISa68M:TIC code for Motorola», нажмите на кнопку «Select» («Выделить»), а затем «ОК». Теперь при запуске компилятора будет генерироваться код для процессора Motorola, используемый в программируемых логических контроллерах Smart I/O.
Чтобы сгенерировать код для ПЛК Smart I/O в меню «Make» («Создать») активируйте опцию «Make application» («Создать приложение»). Снова запустится окно Генератора кода и (в случае отсутствия ошибок при проверке кода) появится диалоговое окно с надписью «Ошибок не обнаружено. Вы хотите выйти из Генератора кода?». Нажмите кнопку «Exit» («Выйти»). Машинные коды для загрузки программы нормального останова ГПА будут сгенерированы.
10. На следующем этапе программирования контроллера Smart I/O производится загрузка сгенерированного машинного кода в контроллер. С этой целью в меню «Debug» («Отладка») активируйте опцию «Link setup» («Установление связи»). В появившемся диалоговом окне «Параметры связи ПК-ПЛК» задайте следующие значения:
· в строке «Target slave number» («Номер подчиненного устройства») задайте 1;
· в выпадающем списке «Communication port» («Коммуникационный порт») выберите COM1;
· остальные поля оставьте без изменений.
· Нажмите кнопку «Setup» («Установка») и в появившемся диалоговом окне «Параметры последовательной связи» задайте следующие параметры:
· в выпадающем списке «Baud rate» («Скорость связи [бод]») выберите 9600;
· в выпадающем списке «Parity» («Четность») выберите «none» («нет»);
· в выпадающем списке «Format» («Формат») выберите «8 bits, 1 stop» («8 бит, 1 стоп»);
· в выпадающем списке «Flow control» («Контроль потока») выберите «none» («нет»).
Нажмите кнопку «ОК» («Принять») в окне «Параметры последовательной связи» и окне «Параметры связи ПК-ПЛК».
Включите контроллер.
В меню «Debug» («Отладка») активируйте опцию «Debug» («Отладка»). Откроется окно отладчика прикладной программы с надписью «No application» («Нет приложения»). В меню «File» отладчика активируйте опцию «Download» («Загрузить»). В появившемся диалоговом окне выберите строку «ISa68M:TIC code for Motorola» и нажмите кнопку «Download» («Загрузить»).
11. После загрузки машинного кода в контроллер Smart I/O необходимо запустить программу на исполнение (если прикладная программа не запустилась автоматически). Для этого в меню «File» («Файл») отладчика активируйте опцию «Start application» («Запустить приложение»).
12. Для проверки работоспособности программы подайте дискретные сигналы, например, на входы 0 и 2 модуля дискретного ввода SM-DIN1 (включите первый и третий переключатели на стенде). Это соответствует ситуации, когда агрегат работал в режиме «Магистраль» и оператор нажал кнопку нормального останова. При этом на модуле дискретного вывода SM-DOUT1 должны одновременно загореться светодиоды 0 и 1, через 300 секунд должны загореться светодиоды 2, 3 и 4, а еще через 300 секунд – светодиоды 5, 6 и 7.
Примечание: При проверке работоспособности программы для уменьшения времени отработки алгоритма целесообразно заменить значение таймерной переменной Delay с 300 на 10 секунд.
Контрольные вопросы:
1. Опишите последовательность разработки прикладного программного обеспечения в среде программирования ISaGRAF.
2. Перечислите стандартные языки программирования ПЛК и дайте их краткую характеристику.
3. Какие секции содержит программное обеспечение ISaGRAF?
4. Перечислите основные функции ПЛК.
5. Опишите структуру цикла исполнения прикладных программ ISaGRAF.
Лабораторная работа №2