Материал: LS-Sb89577

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

__________________________________________

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

__________________________________________

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

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

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

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

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

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