ветьте отказом. Включите сетку через контекстное меню (правая кнопка мы-
ши) View → Hide Print Page Boundaries.
В редакторе переменных VAR опишите локальные переменные (табл. 1.1):
Таблица 1.1
Название сигнала |
Аппаратный адрес |
Тип переменной |
|
|
|
Up_In |
AT%I0.0 |
Bool |
|
|
|
Reset |
AT%I0.1 |
Bool |
|
|
|
Down_In |
AT%I0.2 |
Bool |
|
|
|
And1 |
Нет |
Bool |
|
|
|
And2 |
Нет |
Bool |
|
|
|
Up _Control |
AT%Q0.0 |
Bool |
|
|
|
Down _Control |
AT%Q0.2 |
Bool |
|
|
|
Также опишите функциональные блоки RS-триггеров (в сущности, это подпрограммы-процедуры) T1 :RS и T2 :RS. Т1 – имя функционального блока, RS – его тип.
Соберите в редакторе кода схему (см. рис. 1.2) при помощи вызова соответствующих функциональных блоков Insert → Function Block или Insert → Function. Назначьте входам – входные, а выходам – выходные переменные, также назначьте переменные для функциональных блоков. Соедините блоки, выбрав мышкой необходимые выводы и применив инструмент Insert → Connection. Проверьте созданную программу на синтаксические ошибки File
→ Check Syntax.
Проверьте, что у вас существует активный ресурс и он не содержит программ (вкладка Resources). Признак активного ресурса – ярко-зеленый цвет. Настройте ресурс для работы со симулятором промышленного контроллера, вызвав для него контекстное меню и выбрав «Properties». В панели Hardware Module выберите infoteam SmartSIM, а в панели Network Connection – Simulation.
Перейдите на вкладку Files и свяжите написанную программу с активным ресурсом через контекстное меню (Link to Active Resource).
Откомпилируйте активный ресурс, связанный с вашей задачей (программой) PLC → Build Active Resource. При компиляции будет создан исполняемый код *.PCD и сгенерированы сведения о наличии ошибок и предупреждений.Свяжитесь с «контроллером» (симулятором) PLC→ Online и загрузите в симулятор код. Запустите симулятор кнопкой «run» и проверьте работоспособность программы.
6
1.2.2. Реализация программы «Старт-стоп» на языке ST
Остановите работу симулятора (кнопка «stop»), закройте его и разорвите соединение (PLC → Offline). Создайте новый файл ST с именем ST1. Поскольку ресурс для работы со симулятором уже создан, то все последующие задачи будут добавляться к нему.
Вредакторе переменных VAR опишите локальные переменные аналогично предыдущему упражнению, но назначьте им другие аппаратные адреса.
Вредакторе кода введите текст программы:
And1: =Up_In and not (Down_Control);
T1 (Set: =And1, Reset1: =Reset | Up_Control: =Q1);
Здесь переменной And1 присваивается результат логического умножения (and) переменной Up_In и инверсного (not) значения переменной Down_Control. Далее входу установки триггера T1 в единичное состояние Set присваивается переменная And1, входу сброса триггера Reset1 присваивается переменная Reset. После разделителя | идет описание выхода Q1, которому присвоена переменная Up_Control. Две строчки этой программы описывают логику работы верхней половины схемы (см. рис. 1.2). Самостоятельно допишите программу.
Проверьте программу на синтаксические ошибки, откомпилируйте и проверьте ее работоспособность на симуляторе ПЛК (теперь должны выполняться обе программы FBD1 и ST1 в разном адресном пространстве симулятора).
1.2.3. Реализация программы «Старт-стоп» на языке IL
Остановите работу симулятора, закройте его и разорвите соединение (PLC → Offline). Создайте новый файл IL с именем IL1.
Таблица 1.2
Программный код |
Комментарий |
|
|
|
|
LDN Down_Control |
Инвертированная загрузка (LDN) переменной Down_Control… |
|
|
||
|
|
|
AND Up_In |
и ее логическое умножение на переменную Up_In |
|
|
||
|
|
|
ST AND1 |
Сохранение (ST) результата умножения в переменную |
|
AND1_IL |
||
|
||
CAL T1 (Set: =AND1, |
Вызов (CAL) функционального блока, реализующего RS- |
|
триггер и присвоение его входам-выходам переменных |
||
Reset1: =Reset | |
||
|
||
Up_Control: =Q1) |
|
|
|
|
|
|
7 |
В редакторе переменных VAR опишите аналогичные локальные переменные, но с другими аппаратными адресами.
Напишите программу «Старт-стоп» (табл.1.2). Допишите программу самостоятельно.
Откомпилируйте программу, загрузите код в симулятор, запустите его и проверьте работу по аналогии c предыдущими упражнениями.
1.2.4. Реализация программы «Старт-стоп» на языке LD
Остановите работу симулятора и создайте новый файл LD с именем LD1. Поскольку язык графический, редактор выглядит довольно специфично
(рис. 1.3).
Рис. 1.3. Фрагмент редактора кода языка LD
Элемент, показанный на рис. 1.3, носит название элементарная сеть – это заготовка для создания элемента программы.
Опишите переменные, назначив им уникальные аппаратные адреса. Составьте в редакторе кода программу, реализующую алгоритм работы
программы «Старт-стоп». Добавление элементов в сеть, их редактирование и присвоение им соответствующих переменных осуществляется через контекстное меню. Добавление новой сети осуществляется при помощи меню Insert → Network. Фрагмент программы, полностью идентичный коду ST в пункте 3 упражнения 2, приведен на рис. 1.4.
Рис. 1.4. Фрагмент программного кода языка LD
Допишите остальную часть программы, откомпилируйте ее, загрузите в симулятор, запустите его и убедитесь в работоспособности всех четырех про-
8
грамм в адресном пространстве симулятора.
Создайте аналогичную программу «Старт-стоп» на языке SFC.
1.3. Содержание отчета
Отчет должен содержать выполнение всех пяти упражнений лабораторной работы:
−краткое описание особенностей языка программирования стандарта МЭК 61131-3, на котором реализована программа;
−алгоритм работы программы;
−описание созданных переменных;
−тексты программ с комментариями.
9
Лабораторная работа №2
КОНФИГУРИРОВАНИЕ И ПРОГРАММИРОВАНИЕ ПЛК ЭЛСИ-ТМ
Цель работы: изучение основ конфигурирования и программирования ПЛК ЭЛСИ-ТМ.
2.1. Основные сведения
Процесс создания конфигурации контроллера ЭЛСИ-ТМ подразумевает определение состава модулей контроллера, настройку их свойств, создание и маршрутизацию сигналов.
Первым шагом при конфигурировании контроллера является определение количества и типа модулей, необходимых для выполнения поставленной задачи. При добавлении модулей в конфигурацию стоит обратить внимание на то, что существуют два типа модулей: аппаратные и программные. Номер позиции аппаратного блока в конфигурации строго определяется его положением на коммутационной панели контроллера. Номер позиции программного модуля может быть произвольно выбран из предложенного списка позиций. В табл. 2.1 представлено краткое описание аппаратных модулей контроллера ЭЛСИ-ТМ, которыми оснащены индивидуальные исследовательские стенды в лаборатории. Табл. 2.2 содержит краткое описание программных модулей, используемых при выполнении лабораторных работ.
|
|
Таблица 2.1 |
Название модуля |
Позиция |
Краткое описание |
TP 502 024DC |
– |
модуль источника питания |
TC 505 P300 ETHE |
0 |
модуль центрального процессора |
TN 503 COM 485 |
1 |
Модуль связи (RS-232/RS-485) по протоколу Modbus- |
|
|
master |
TA 516 8IDC E |
3 |
модуль измерения аналоговых входов (8 каналов) |
TD 501L 32I 024DC |
4 |
Модуль измерения дискретных входов (32 входа) |
TD 501L 32I 024DC |
5 |
Модуль выдачи дискретных выходов (32 выхода) |
|
|
Таблица 2.2 |
|
|
|
Название модуля |
|
Краткое описание |
main |
Системный служебный модуль |
|
opcs |
Модуль поддержки прикладной программы в |
|
|
среде OpenPCS |
|
mbstcp |
Программный модуль поддержки протокола Modbus TCP/IP в ре- |
|
|
жиме Slave |
|
Следующим этапом конфигурирования контроллера является настройка
10