- •Содержание
- •Часть 1. Разработка прикладной программы пид-регулятора в среде cimplicity Machine Edition. 57
- •Часть 2. Настройка пид-регулятора. 71 Лабораторная работа №1 Программирование плк Smart I/o. Разработка программы нормального останова газоперекачивающего агрегата в среде iSaGraf.
- •Лабораторная работа №2 Программирование плк Momentum. Исследование работы п-, пи- и пид-законов регулирования.
- •Лабораторная работа №3 Программирование плк ge Fanuc семейства VersaMax. Разработка системы автоматического регулирования температуры печи.
- •Часть 1. Разработка прикладной программы пид-регулятора в среде cimplicity Machine Edition.
- •Часть 2. Настройка пид-регулятора.
Федеральное агентство по образованию Российской Федерации
РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ НЕФТИ И ГАЗА им. И.М. ГУБКИНА
Кафедра автоматизации технологических процессов
Кротов А.В.
Компьютерный практикум по курсу
“ТЕХНИЧЕСКИЕ СРЕДСТВА АВТОМАТИЗАЦИИ”
Москва 2008
Кротов А.В.
Компьютерный практикум по курсу “Технические средства автоматизации”. – М.: РГУ нефти и газа им. И.М. Губкина, 2008 г. – 77 с.
Современные программирующие логические контроллеры (ПЛК) широко используются в нефтяной и газовой промышленности для построения локальных систем автоматического управления технологическими процессами.
В компьютерный практикум по курсу “Технические средства автоматизации” вошли лабораторные работы, связанные с конфигурированием и программированием ПЛК ведущих мировых фирм: PEP Modular Computers, Schneider Electric и GE Fanuc.
Каждая лабораторная работа содержит теоретический материал, необходимый для получения представления об изучаемых технических средствах и используемом программном обеспечении. Для получения навыков программирования ПЛК предлагается решение практических задач.
Компьютерный практикум позволяет без глубокого изучения технической документации осуществлять разработку прикладных программ с помощью инструментальных средств программирования ISaGRAF, Concept и CIMPLICITY Machine Edition.
Рецензент: доцент Андреев Е.Б. (РГУ нефти и газа им. И.М. Губкина)
РГУ нефти и газа им. И.М. Губкина, 2008г.
Содержание
Лабораторная работа №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. Блок-схема алгоритма нормального останова газоперекачивающего агрегата.
Порядок выполнения работы:
Запустите инструментальную среду программирования ISaGRAF. С этой целью в операционной среде Windows активируйте Start (Пуск) Programs (Программы) ISaGRAF Projects (Проекты). В результате откроется окно «Project manager» («Менеджер проектов»), в котором перечислены имеющиеся проекты ISaGRAF и дано их краткое описание.
Создайте новый проект ISaGRAF. Для этого в меню File (Файл) окна «Менеджер проектов» активируйте опцию «New» («Новый») или щелкните левой кнопкой мыши (в дальнейшем ЛК) по значку
.
Появится диалоговое окно «Create
new
project»
(«Создать новый проект»). В строке
«Name:»
(«Имя:») введите имя проекта (первые 8
символов латинскими буквами). Выпадающий
список «IO
configuration:»
(«Конфигурация ввода/вывода») оставьте
без изменений. После заполнения
диалогового окна нажмите кнопку «OK»
(«Принять»). В окне «Менеджер проектов»
инструментальной среды программирования
IGaGRAF
появится новая строка. В левой части
строки будет указано имя созданного
проекта.Для удобства пользователя в среде программирования ISaGRAF предусмотрена возможность давать краткие описания (комментарии) создаваемым проектам. Чтобы ввести комментарий для созданного проекта, в меню «Edit» («Редактор») активируйте опцию «Set comment text» («Текст комментария»). В появившемся диалоговом окне «Project comment text» («Текст комментария к проекту») в строке «Comment:» («Комментарий:») введите краткое описание созданного проекта (введите текст «Лабораторная работа №1»). Нажмите кнопку «OK», в результате чего в строке созданного проекта появится текст комментария к проекту.
Перед составлением программы нормального останова газоперекачивающего агрегата необходимо запустить окно управления прикладными программами. С этой целью выделите созданный проект (переместите указатель мыши на имя проекта и щелкните ЛК), а затем активируйте в меню «File» («Файл») опцию «Open» («Открыть»). Откроется окно управления прикладными программами «Programs» («Программы»). Запустить окно управления прикладными программами можно также двойным щелчком ЛК мыши по названию созданного проекта.
В окне управления программами создайте новую программу. Для этого в меню «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);
- комментарий к созданной прикладной программе (Программа нормального останова ГПА).
Перед непосредственным составлением прикладной программы нормального останова ГПА рекомендуется объявить все используемые в программе переменные. Объявление переменных осуществляется с помощью Редактора словаря переменных («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 с). |
После того, как все переменные будут заданы, можно приступать к непосредственному составлению прикладной программы. Закройте окно Редактора словаря переменных. Для этого в меню «File» («Файл») активируйте опцию «Exit» («Выйти»). В окне управления прикладными программами дважды щелкните ЛК мыши по имени программы, чтобы открыть окно Редактирования программы на языке функциональных блоков и релейной логики (FBD/LD Program).
Составьте программу с помощью языка функциональных блоков в соответствии с блок-схемой, приведенной на рис. 5.
Рис. 5. Блок-схема программы нормального останова ГПА на языке функциональных блоков.
Для вставки
переменных в окно Редактора программы
на языке функциональных блоков и релейной
логики необходимо щелкнуть ЛК мыши по
значку
,
а затем переместить указатель мыши в
то место окна редактирования прикладной
программы, где должна располагаться
переменная и еще раз щелкнуть ЛК мыши.
В появившемся диалоговом окне «Select variable» («Выбрать переменную») из выпадающего списка выберите тип переменной (Булева или Таймерная) и из предложенного списка объявленных переменных выберите нужное имя переменной. Для подтверждения выбора нажмите кнопку «ОК» («Принять»), в противном случае – кнопку «Cancel» («Отмена»).
Для размещения в
окне Редактора программы функциональных
блоков необходимо в выпадающем списке
функциональных блоков на панели
инструментов
выбрать нужную функцию, которую должен
выполнять блок. Переместите указатель
мыши в то место окна редактирования
прикладной программы, где должен
располагаться функциональный блок, и
еще раз щелкните ЛК мыши. В выбранном
месте появится соответствующий
функциональный блок.
Соединение элементов
схемы между собой (функциональных блоков
и переменных) осуществляется инструментом
на инструментальной панели. Выберите
его (щелкните ЛК мыши), переместите
указатель мыши к выходу соединяемого
элемента (функциональный блок или
переменная), нажмите ЛК мыши и, удерживая
ее, переместите указатель к соответствующему
входу другого элемента.
Для удаления функциональных блоков, переменных или линий соединения необходимо выделить данный элемент схемы (подвести указатель мыши на нужный элемент и щелкните ЛК мыши) и нажать клавишу Delete на клавиатуре.
После завершения ввода элементов в программу, ее необходимо сохранить. Активируйте в меню «File» («Файл») опцию «Save» («Сохранить») и в появившемся диалоговом окне нажмите кнопку «ОК» («Принять»).
Следующий этап – привязка входных и выходных переменных к конкретным физическим точкам ввода и вывода информации. С этой целью в меню «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.
Номер входного канала |
Имя переменной |
0 |
Normal |
1 |
Norm_Stp_DP_KS |
2 |
Magistral |
3 |
Ring |
После того, как будет выполнена привязка всех входных переменных, нажмите кнопку «Close» («Закрыть»), чтобы закрыть диалоговое окно «Соединение по каналу ввода/вывода».
Аналогичным образом во второй слот (слот 1) установите модуль дискретного вывода SM-DOUT1 и подключите переменные в соответствии с табл. 4. Задайте этому устройству соответствующий логический адрес.
Таблица 4. Привязка выходных переменных к каналам модуля SM-DOUT1.
Номер выходного канала |
Имя переменной |
0 |
Indication_NO |
1 |
Vkl_Em_KPV |
2 |
Dis_mtch_cnt |
3 |
En_PNS |
4 |
En_PNU |
5 |
Dis_PNS |
6 |
Dis_PNU |
7 |
Dis_NO_Ind |
После выполнения указанных действий, все входные и выходные переменные будут привязаны к соответствующим каналам модулей ввода/вывода.
Сохраните полученную конфигурацию – в окне управления подключениями входных/выходных переменных в меню «File» («Файл») активируйте опцию «Save».
После привязки всех входных и выходных переменных к соответствующим каналам необходимо проверить созданную программу на наличие ошибок и откомпилировать (сгенерировать машинный код программы).
Для проверки
программы на наличие ошибок перейдите
в окно управления прикладными программами
и в меню «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» («Выйти»). Машинные коды для загрузки программы нормального останова ГПА будут сгенерированы.
На следующем этапе программирования контроллера 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» («Загрузить»).
После загрузки машинного кода в контроллер Smart I/O необходимо запустить программу на исполнение (если прикладная программа не запустилась автоматически). Для этого в меню «File» («Файл») отладчика активируйте опцию «Start application» («Запустить приложение»).
Для проверки работоспособности программы подайте дискретные сигналы, например, на входы 0 и 2 модуля дискретного ввода SM-DIN1 (включите первый и третий переключатели на стенде). Это соответствует ситуации, когда агрегат работал в режиме «Магистраль» и оператор нажал кнопку нормального останова. При этом на модуле дискретного вывода SM-DOUT1 должны одновременно загореться светодиоды 0 и 1, через 300 секунд должны загореться светодиоды 2, 3 и 4, а еще через 300 секунд – светодиоды 5, 6 и 7.
Примечание: При проверке работоспособности программы для уменьшения времени отработки алгоритма целесообразно заменить значение таймерной переменной Delay с 300 на 10 секунд.
Контрольные вопросы:
Опишите последовательность разработки прикладного программного обеспечения в среде программирования ISaGRAF.
Перечислите стандартные языки программирования ПЛК и дайте их краткую характеристику.
Какие секции содержит программное обеспечение ISaGRAF?
Перечислите основные функции ПЛК.
Опишите структуру цикла исполнения прикладных программ ISaGRAF.
