Смекни!
smekni.com

Методические указания по выполнению лабораторных работ Издательство (стр. 1 из 8)

Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

«ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

__________________________________________________

«УТВЕРЖДАЮ»

Декан АВТФ

__________ С.А. Гайворонский

“___”____________2008г.

Лабораторный практикум по

промышленным контроллерам

методические указания по выполнению лабораторных работ

Издательство

Томского политехнического университета

2008

УДК 681.3.06

Лабораторный практикум предназначен для выполнения студентами циклов лабораторных работ по дисциплине инновационной образовательной программы магистерской подготовки «Управление в технических (мехатронных) системах»: средства автоматизации гибких автоматизированных производств / сост. С.В. Леонов, В.А. Рудницкий– Томск: Изд-во Томского политехнического университета, 2008. – 120 с.

Методические указания рассмотрены и рекомендованы к изданию методическим семинаром кафедры интегрированных компьютерных систем управления факультета автоматики и вычислительной техники «_____»_________ 2008г.

Зав. кафедрой

проф., доктор техн. наук ____________А.М. Малышенко

Содержание

1. Система программирования ПЛК OpenPCS

4

2. Создание программ и их отладка в контроллере Elsy-TM

23

3. ОБЩИЕ СВЕДЕНИЯ О ПЛК SIMATIC

30

4 ЗАПУСК SIMATIC MANAGER И СОЗДАНИЕ ПРОЕКТА

33

1. Система программирования ПЛК OpenPCS

Цель работы: Создание ресурса, задач, программ на языках стандарта IEC 6 1131-3 и их отладка в PLC-симуляторе OpenPCS 2004. Все программы выполняют одну и ту же задачу, хорошо известную по лабораторным работам верхнего уровня SCADA-системы – реализация алгоритма «Пуск-Стоп».

О стандарте IEC 6 1131-3

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

1. SFC (Sequential Function Chart) - графический язык, используемый для описания алгоритма в виде набора связанных пар: шаг (step) и переход (transition). Шаг представляет собой набор операций над переменными. Переход - набор условных логических выражений, определяющий передачу управления к следующей паре шаг-переход. По внешнему виду описание на языке SFC напоминает хорошо известные логические блок-схемы алгоритмов. SFC имеет возможность распараллеливания алгоритма. Однако SFC не имеет средств для описания шагов и переходов, которые могут быть выражены только средствами других языков стандарта. Происхождение: Grafcet (Telemechanique-Groupe Schneider).

2. LD (Ladder Diagram) - графический язык программирования, являющийся стандартизованным вариантом класса языков релейно-контактных схем. Логические выражения на этом языке описываются в виде реле, которые широко применялись в области автоматизации в 60-х годах. Ввиду своих ограниченных возможностей язык дополнен привнесенными средствами: таймерами, счетчиками и т.п. Происхождение: различные варианты языка релейно-контактных схем (Allen-Bradley, AEG Schneider Automation, GE-Fanuc, Siemens).

3. FBD (Functional Block Diagram) - графический язык по своей сути похожий на LD. Вместо реле в этом языке используются функциональные блоки, по внешнему виду - микросхемы. Алгоритм работы некоторого устройства на этом языке выглядит как функциональна схема электронного устройства: элементы типа "логическое И", "логическое ИЛИ" и т.п., соединенные линиями. Корни языка выяснить сложно, однако большинство специалистов сходятся во мнении, что это не что иное, как перенос идей языка релейно-контактных схем на другую элементную базу.

4. ST (Structured Text) - текстовый высокоуровневый язык общего назначения, по синтаксису ориентированный на Паскаль. Происхождение: Grafcet (Telemechanique-Groupe Schneider).

5. IL (Instruction List) - текстовый язык низкого уровня.

Выглядит как типичный язык Ассемблера, что объясняется его

происхождением: для некоторых моделей ПЛК фирмы Siemens является языком Ассемблера. В рамках стандарта IEC 6 1131-3 к архитектуре конкретного процессора не привязан. Происхождение - STEP 5 (Siemens).

Перечисленные языки IEC 6 1131-3 используются ведущими фирмами изготовителями ПЛК, имеют длительную историю применения, достаточно распространены и известны пользователям по тем или иным модификациям. Несмотря на то, что во многих случаях такие модификации несущественны, это влечет определенные неудобства при работе с ПЛК различных фирм-изготовителей. С этой точки зрения, стандарт IEC 6 1131-3, несомненно, прогрессивен, поскольку позволяет привести бесчисленное число различных вариантов и интерпретаций языков ПЛК к единому знаменателю. OpenPCS представлен в виде двух частей: набора средств разработки и исполняемого на целевом ПЛК ядра-интерпретатора. Набор средств разработки исполняется на компьютере проектировщика, например, компьютере типа IBM PC, и состоит из редактора, отладчика и препроцессора, который подготавливает описанный проектировщиком алгоритм к формату, "понятному" ядру-интерпретатору. Этот набор имеет современный пользовательский интерфейс, позволяет тестировать алгоритм в режиме эмуляции и получать листинг алгоритма на языках его описания. После создания, пользовательская программа совместно с ядром-интерпретатором загружается в целевой ПЛК для исполнения. Ядро-интерпретатор, как следует уже из его названия, транслирует пользовательский алгоритм во время исполнения. Это позволяет сконцентрировать машинно-зависимый код и таким образом снизить накладные расходы при переходе на другой ПЛК. Неплохой подход, однако, сразу необходимо отметить, что интерпретационная модель имеет недостаток - она всегда снижает показатели эффективности исполнения программы.

Для исполняющей системы контроллер с загруженной программой представляется приведенным на рисунке образом:

Рис.1 Обобщенная внутренняя структура контроллера

Программа, исполняющаяся в контроллере, получает информацию из внешней среды через переменные X, определенные как входные переменные. На основе полученных данных исполняющая система производит определенные программой действия и выводит результат через переменные Y, определенные как выходные. Для промежуточных вычислений служат внутренние переменные Z.

УПРАЖНЕНИЕ 1

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

1. Запустите OpenPCS (ярлык на рабочем столе

или программная группа infoteam openpcs 2004 в главном меню). OpenPCS требует файл с расширением VAR – файл проекта. Возможна показанная на рис. 2 ситуация, когда по у молчанию предлагается загрузить демонстрационный проект.

Рис.2. Начало работы с программным пакетом

2. Если рабочий проект в OpenPCS не создавался, выберите предлагаемый проект (Рис.3) либо загрузите его по указанному ниже пути. Самостоятельно ознакомьтесь с демонстрационными проектами, находящимися в директории С:\Program Files\OpenPCS2004\Samples\

Рис. 2. Загрузка рабочего проекта

3. Создайте новый проект как показано на рис.4.: (File-> Project -> New) с именем Familiya (Ваша фамилия) в директории С:\ ws 326- xx

Рис.4. Создание нового проекта

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

4. Создайте новую программу на ST ( File->New ) с именем ST1, на предложение о добавлении созданной программы к активному ресурсу ответить отказом (Рис.5.). Ознакомьтесь с ключевой для дальнейшей работы информацией:

- Input – переменная, подлежащая только считыванию из пользовательского кода, должна быть описана как входная переменная. Она не должна модифицироваться пользовательским кодом. Ключевое слово: VAR_INPUT;

- Output переменная, которая является результатом какого-либо пользовательского кода, вычисляется этим кодом и должна подвергаться вызовам кода, должна быть описана как выходная переменная. Ключевое слово: VAR_OUTPUT;

- Global переменная, которая должна быть доступной для более чем одного пользовательского кода и при этом не передаваться как аргумент, следует описывать как глобальную. Это возможно только в блоках типа PROGRAM . Другой пользовательский код, желающий иметь доступ к таким переменным, необходимо описывать как внешние (см.ниже). Ключевое слово: VAR_GLOBAL;

- Extern для доступа из пользовательского кода к глобальной переменной. Эта переменная должна быть описана в пользовательском коде как внешняя. Ключевое слово: VAR_EXTERNAL;

- AT переменная, которая будет представлять физический вход или выход, может быть отражена на этот физический адрес.

Пример: булевская (BOOL) выходная (Q) переменная Motor имеет физический адрес (0.0) в адресном пространстве некоторого устройства.