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

LS-Sb89577

.pdf
Скачиваний:
14
Добавлен:
13.02.2021
Размер:
406.17 Кб
Скачать

МИНОБРНАУКИ РОССИИ

__________________________________________

Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»

__________________________________________

ОСНОВЫ РАЗРАБОТКИ СИСТЕМ ДИСПЕТЧЕРСКОГО

КОНТРОЛЯ И УПРАВЛЕНИЯ

Методические указания к лабораторным работам по дисциплине

«Проектирование автоматизированных производственных комплексов и систем»

Санкт-Петербург Издательство СПбГЭТУ «ЛЭТИ»

2013

УДК 528.5-529(075)

Основы разработки систем диспетчерского контроля и управления: Методические указания к лабораторным работам по дисциплине «Проектирование автоматизированных производственных комплексов и систем» / Сост.: Е. С. Филатова, Д. М. Филатов. СПб.: Изд-во СПбГЭТУ

«ЛЭТИ», 2013. 36 с.

Содержат программы и методики выполнения лабораторных работ, посвященных конфигурированию и программированию промышленных логических контроллеров (ПЛК) на языках стандарта МЭК 61131-3 на примере ПЛК ЭЛСИ-ТМ, разработке человеко-машинных интерфейсов на базе программного комплекса InfinitySuite, а также практическим вопросам организации взаимосвязи ОРС-сервера и ПЛК.

Предназначены для студентов, обучающихся по направлению «Управление в технических системах».

Утверждено редакционно-издательским советом университета

в качестве методических указаний

© СПбГЭТУ «ЛЭТИ», 2013

Лабораторная работа №1

ПРОГРАММИРОВАНИЕ ПЛК В СРЕДЕ OPENPCS

Цель работы: получение навыков разработки программ на языках стандарта IEC 61131-3 и их отладка в PLC-симуляторе OpenPCS 2004.

1.1. Основные сведения

Стандарт IEC 61131-3 описывает синтаксис и семантику пяти языков программирования промышленных логических контроллеров (ПЛК) – языков, ставших широко известными за более чем 30-летнюю историю их применения в области автоматизации промышленных объектов:

1.LD (Ladder Diagram) – графический язык программирования, являющийся стандартизованным вариантом класса языков релейно-контактных схем. Логические выражения на этом языке описываются в виде объединенных в цепи контактов, расположенных между двумя вертикальными шинами питания. Для расширения возможностей языка LD в структуру программы возможно добавление функций и функциональных блоков, реализованных на других языках стандарта.

2.FBD (Functional Block Diagram) – графический язык программирова-

ния. Программа, написанная на данном языке, по сути своей напоминает принципиальную схему электронного устройства. В отличие от LD «проводники» в FBD могут передавать сигналы любого типа (логический, аналоговый, время и т. д.).

3.ST (Structured Text) – текстовый высокоуровневый язык общего назначения, по синтаксису представляющий собой адаптированный Паскаль. Вместо процедур Паскаля в ST используются компоненты программ стандарта IEC.

4.IL (Instruction List) – текстовый язык низкого уровня, дословно – список инструкций. Выглядит как типичный язык ассемблера. В рамках стандарта IEC 61131-3 к архитектуре конкретного процессора не привязан. Язык IL позволяет работать с любыми типами данных, вызывать функции и функциональные блоки, реализованные на любом языке.

5.SFC (Sequential Function Chart) – графический язык, используемый для описания алгоритма работы программы в виде шагов (step) и переходов (transition) между ними. Шаг представляет собой определенный набор дей-

3

ствий над переменными. Переход – это набор условных логических выражений, разрешающий передачу управления к следующей паре шаг-переход. SFC имеет возможность распараллеливания алгоритма. Диаграммы SFC являются высокоуровневым наглядным графическим инструментом, однако в конечном счете, действия нижнего уровня необходимо будет писать на других языках стандарта.

В рамках данной лабораторной работы для создания программ на языках стандарта IEC 61131-3 будет использоваться программное обеспечение OpenPCS, разработанное фирмой Infoteam. OpenPCS представлен в виде двух частей: набора средств разработки и исполняемого на целевом ПЛК ядраинтерпретатора. Комплекс средств разработки устанавливается на компьютере проектировщика и состоит из редактора, отладчика и препроцессора, который подготавливает описанный проектировщиком алгоритм к формату, «понятному» ядру-интерпретатору. Программный комплекс имеет современный пользовательский интерфейс, позволяющий тестировать алгоритмы в режиме эмуляции и получать листинг алгоритма на языках его описания. После создания пользовательская программа совместно с ядроминтерпретатором загружается в целевой ПЛК для исполнения.

Рис. 1.1. Адресное пространство симулятора SmartSIM

Для описания переменной, которая будет представлять физический вход или выход, необходимо использовать специальный синтаксис. Например,

4

булевская (BOOL) выходная (Q) переменная Motor, имеющая физический адрес (0.0) в адресном пространстве некоторого устройства, должна быть описана следующим образом: Motor AT %Q0.0 :BOOL; .

В рамках данной лабораторной работы в качестве такого устройства будет выступать программный симулятор контроллера. Адресное пространство симулятора представлено на рис. 1.1.

Область адресов I0.0 до I3.7 соответствует входным сигналам, а область адресов от Q0.0 до Q3.7 соответствует выходным переменным.

1.2.Программа работы

1.2.1.Реализация программы «Старт-стоп» на языке FBD

Так как это графический язык, ориентированный на создание программ, по виду похожих на принципиальную блочную схему, будет уместным привести задачу именно в таком графическом виде (рис. 1.2).

Up_In

 

 

 

 

S

Q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T

 

 

 

 

OR

 

 

 

 

 

 

 

 

 

 

 

R

 

Reset

Down

OR R Q

T

S

Down_In

Рис. 1.2. Реализация алгоритма «Старт-стоп» на логических элементах

В этой схеме переменная Down примет значение, равное единице, только в том случае, если подан сигнал на переменную Down_In, и переменные Up_In и Reset равны нулю. Данный алгоритм имитирует, например, работу лифта, где невозможно одновременное перемещение и вверх и вниз.

Запустите OpenPCS и создайте новый проект (File → New → Projects → Empty Project) с именем Familiya (ваша фамилия, конечно) в рабочей директории. Путь к проекту не должен содержать имен файлов и папок с кириллицей.

Создайте новую программу на FBD (File → New) с именем FBD1, а на предложение о добавлении созданной программы к активному ресурсу от-

5

ветьте отказом. Включите сетку через контекстное меню (правая кнопка мы-

ши) 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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]