Методичка по объектно ориентированному программированию
ВВЕДЕНИЕ
Методические указания для выполнения лабораторных работ по дисциплине «Объектно-ориентированное программирование» направлены на получение практических навыков для работы с современными программируемыми логическими контроллерами, необходимы для закрепления, систематизации и расширения полученных знаний по вышеуказанной дисциплине, а так же при решении конкретных практических задач по автоматизации технологических процессов.
В основе методологического подхода лежат основные принципы программирования промышленных контроллеров. Лабораторные работы должны быть оформлены в соответствии с основными документами ГОСТ.
ЛАБОРАТОРНАЯ РАБОТА №1. ЗНАКОМСТВО С ЯЗЫКОМ ПРОГРАММИРОВАНИЯ КОНТРОЛЛЕРОВ UNITY PRO
Цель лабораторной работы:
1) Знакомство с пользовательским интерфейсом языка программирования контроллеров Unity Pro. Понятие эмулятор.
2) Получение навыков конфигурирования контроллеров Modicon M340 и создания конфигурации сети.
3) Создание проекта.
1.1 Основные теоретические сведения
1.1.1 Интерфейс пользователя программы Unity Pro
Интерфейс пользователя состоит из нескольких конфигурируемых окон и панелей инструментов (рисунок 1.1).
В него входят: браузер проекта, строка меню, панель инструментов, информационное окно и т. д.
Рисунок 1.1 Интерфейс пользователя Unity Pro
1 Браузер проекта. Позволяет перемещаться по проекту через структурный или функциональный вид дерева каталогов (рисунок 1.2). В таблице 1.1 отображены основные элементы браузера проекта. Браузер проекта предлагает следующие возможности в структурном виде: создание и удаление элементов, символ секции показывает язык программирования секции, и защищена ли она; просмотр свойств элемента; создание пользовательских директорий; запуск различных редакторов; запуск функции импорт/экспорт.
Браузер проекта предлагает следующие возможности в функциональном виде: создание функциональных модулей, вставка секций, анимационных таблиц и т. п.
Рисунок 1.2 Браузер проекта
Таблица 1.1 Структура браузера проекта
№ |
Описание |
1 |
Configuration – Конфигурация |
2 |
Variables&FB instances — переменные (EDT, DDT, DFB и EFB экземпляры) |
3 |
Communication — коммуникационные функции |
4 |
Program — программа |
5 |
Animation tables – анимационная таблица |
6 |
Operator Screens – операторские экраны (экраны реального времени) |
7 |
Documentation — документация проекта (титульный лист, общая информация). |
2 Строка меню. Существует три типа меню: основные или выпадающие, подменю, контекстные или всплывающие. В таблице 1.2 показаны основные виды меню в среде программирования Unity Pro.
Таблица 1.2 Строка меню
№ |
Наименование |
Структура |
1 |
Основные или выпадающие |
|
2 |
Подменю |
|
3 |
Контекстные или всплывающие |
3 Панель инструментов. Позволяет быстро находить и выполнять часто используемые функции (таблица 1.3). Панели основного меню доступные по умолчанию. Важными панелями инструментов являются API и Services. На них располагаются кнопки, которые позволяют осуществлять соединение с контроллером в стандартном режиме или режиме эмулятора, загружать проект в ПЛК, осуществлять анализ и построение проекта (рисунок 1.4).
Рисунок 1.3 Общая структура панели инструментов
Рисунок 1.4 Панель инструментов часто используемых функций
Таблица 1.3 Панель основного меню
№ |
Название |
Функции |
1 |
File |
New project, Open, Save, Print |
2 |
Edit |
Copy, Delete, Paste, Undo, Redo, Validate, Minimize, Maximize, Full screen, Go to |
3 |
Services |
Analyse project, Generate project, Re generate entire project, Project browser, Start search, Type library manager |
4 |
PLC |
Transfer Project to PLC, Transfer Project from PLC, Connect, Disconnect, Start, Stop, Start/Stop Animation, Standard mode, Simulation mode |
5 |
Window |
Cascade, Tile Horizontally, Tile Vertically |
6 |
Help |
Help, What’s This |
7 |
Debug |
Set Breakpoint, Clear Breakpoint, Start, Step Over, Step Into, Step Out, Show Current Step, Display call stack |
8 |
Watchpoint |
Set Watchpoint, Clear Watchpoint, Show Watchpoint, Synchronize Animation Table, Refresh counter Примечание: Эта панель отображается только, когда активен редактор языка программирования. |
9 |
Project Browser |
Structural view, Functional view, Vertical views, Horizontal views, Zoom Out |
4 Информационное окно. Выходное окно состоит из различных листов (рисунок 1.5). Каждый лист соответсвует вкладке.
Рисунок 1.5 Информационное окно
Выходные листы отображают результаты выполненных действий или сообщения об ошибках. Двойной щелчок на сообщении открывает соответствующий редактор и помечает «ошибку». Новые ошибки отображаются красным, уже помеченные ошибки синим.
Таблица 1.4 Доступные выходные листы
№ |
Выходной лист |
Функция |
1 |
Build (построение проекта) |
Отображает ошибки анализа и генерирования. Двойной щелчок на ошибке обеспечивает доступ к ошибочной секции языка программирования, ошибочной конфигурации или ошибочным данным. |
2 |
Import/Export (Импорт/Экспорт) |
Отображает ошибки импорта и экспорта Двойной щелчок на ошибке обеспечивает прямой доступ к ошибке в файле-источнике. |
3 |
User error (Ошибка пользователя) |
Отображает ошибку пользователя. |
4 |
Search/Replace (Поиск/Замена) |
Отображает результат операции поиска и/или замены. Двойной щелчок на элементе обеспечивает доступ к результату поиска в секции языка программирования, в конфигурации или в данных. |
1.3 Понятие эмулятор ПЛК
Эмулятор ПЛК позволяет осуществлять поиск ошибок в проекте без связи с реальным ПЛК. Все задачи проекта (Mast, Fast, AUX и Event), которые выполняются на настоящем ПЛК, также доступны в Эмуляторе. Отличия от реального ПЛК состоят в отсутствии модулей вх/вых и коммуникационных сетей (таких как ETHWAY, Fipio и Modbus Plus) с недетерминированным поведением в реальном времени. Все функции отладки, функции анимации, точки останова, форсирование переменных и т. п. доступны в эмуляторе ПЛК.
Эмулятор контроллера отображает следующее: тип эмулируемого ПЛК; текущее состояние эмулируемого ПЛК; название загруженного проекта; IP адрес и название DNS главного ПК для симулятора и всех соединенных клиентских ПК; диалоговое окно для эмулирования событий вх/вых.; Reset кнопка для сброса эмулируемого ПЛК (эмуляция холодного перезапуска), Power Off/On кнопка (для эмуляции теплого перезапуска), контекстное меню (правой кнопки мыши) для контролирования эмулятора.
Рисунок 1.6 Панель Эмулятора ПЛК Рисунок 1.7 Алгоритм работы с
эмулятором
Алгоритм работы c эмулятором ПЛК (рисунок 1.7).
1 шаг. PLC-> Simulation mode
2 шаг. PLC -> Connect
3 шаг. PLC -> Transfer project to PLC
На рисунке 1.8 показана цветовая индикация состояния ПЛК.
Рисунок 1.8 Цветовая индикация работы эмулятора
1.3 Порядок выполнения лабораторной работы №1. Создание конфигурации контроллера и конфигурации сети.
Задание 1 Необходимо создать конфигурацию контроллера Modicon M 340 c процессором PLC BMX P34 2010.
1 шаг. Создайте новый проект в среде Unity Pro.
2 шаг. В окне New Project выберите вкладку Modicon 340, в раскрывающемся окне выберите PLC BMX P34 2010.
3 шаг. Откройте окно конфигурации локальной корзины.
4 шаг. Перетащите из панели каталога аппаратных средств (Hardware catalog) DDM 3202K дискретный модуль в слот 1.
5 шаг. В модуле дискретных входов установите следующие параметры:
-Обработка входов задачей MAST.
-Индикация наличия питания (Supply monitoring) должна быть активна.
-Подтвердите заданную конфигурацию модуля.
6 шаг. Щелкните дважды по процессорному модулю и задайте следующие его параметры:
-Сброс слов внутренней памяти %Mwi при “холодном” старте
-Количество внутренних битов %M – 512
-Количество слов внутренней памяти %MW — 1024
-Количество слов констант %KW – 256
-Подтвердите заданную конфигурацию модуля
Упражнение 2 Необходимо создать конфигурацию сети.
1 шаг. Создайте логическую сеть Ethernet c именем по умолчанию Ethernet_1.
2 шаг. Сконфигурируйте логическую сеть:
-IP-адрес: IP-адрес вашей станции
-Маска подсети: соответствующая IP-адресу вашей станции
-Адрес шлюза (не обязательно)
3 шаг. Сконфигурируйте порт Ethernet вашего процессора:
-Ethernet TCP/IP
-Сопоставьте логической сети порт процессора
В таблице 1.5 показаны основные характеристики модулей упражнения 1,2.
Таблица 5. Техническое описание модулей Modicon M340
№ |
Тип модуля |
Характеристики |
||||||
1 |
Процессорный модуль |
Усовершенствованный BMX P34 20, расширение до 4-х шасси |
||||||
Кол-во входов/ выходов |
Размер памяти |
Макс. кол-во сетевых модулей |
Встроен-ные порты связи |
№ по каталогу |
Масса, кг |
|||
1024 дискретных вх./вых, 256 аналоговых вх./вых, 36 специализи-рованных каналов |
4 096 кб, встроен-ной |
2 Ethernet Modbus/TCP |
Последовательный интерфейс Modbus, шина CanOpen |
BMX P34 2010 |
0,200 |
|||
2 |
Модуль питания |
Питание от сети |
Доступная мощность (1) |
№ по каталогу |
Масса, кг |
|||
3,3 В (2) |
Монт. шасси 24 В (2) |
Дат-чик 24 В (3) |
Об-щая |
|||||
24 B (изолир.) |
8,3 Вт |
16,8 Вт |
— |
16,8 Вт |
BMX CPS 2010 |
0,290 |
||
3 |
Модуль дискретного ввода/вывода |
Кол-во вх./вых. |
При-соед. |
Кол-во и тип вх. |
Кол-во и тип вых |
Соот. MЭК/EN 61131-2 |
№ по каталогу |
Масса, кг |
32 |
Один 40 конта-ктный соеди-нитель-ный разъем |
16 (полож. логика) 1х16 |
16, твердотельные,24 В/ 0,1 А 1х16 |
входы, тип 3 |
BMX DDM 3202K |
0,110 |
||
№ |
Тип модуля |
Характеристики |
|||
4 |
Cетевой модуль Ethernet Modbus/TCP |
Скорость передачи данных |
Класс Transparent Ready |
№ по каталогу |
Масса, кг |
10/100 Мбит/с |
В 30 |
ВМХ NOE 0100 |
0,200 |
||
Cетевой модуль |
|||||
Физический интерфейс |
10 BASE –T/100BASE-TX (RJ45) |
||||
Cреда передачи |
Витая пара |
||||
Макс. кол-во соединений по Ethernet TCP/IP |
Не более 2 с процессорным модулем BMX P34 2010 |
||||
Рабочая температура |
0…+ 60* С |
||||
Относительная влажность |
10…95% без образования конденсата |
||||
Степень защиты |
IP 20 |
||||
Питание |
От модуля питания, который установлен на монтажном шасси |
||||
(1)- Сумма расходуемой мощности для каждого напряжения питания (3,3 В и 24 В) не должна превышать общей мощности модуля.
(2) – Напряжение 3,3 В и 24 В на монтажном шасси для питания модулей ПЛК от Modicon M340.
(3) – Напряжение 24 В для питания подключенных датчиков (напряжение подается на 2- контактный съемный разъем лицевой панели)
1.4 Оформление отчета по результатам выполненных работ. Отчет должен включать:
— Пошаговое выполнение упражнений 1,2.
— Пояснения к каждому пункту задания.
— Выводы по результатам практикума.
— Пакет прикладных программ с результатами работы.
Литература. 3 осн. [1-3]
1.5 Контрольные вопросы
1) Для чего используется инструмент конфигурации в инструментальной среде Unity Pro?
2) Для чего нужен редактор шины в среде Unity Pro?
3) Какую функцию выполняет редактор входноговыходного модуля ПЛК в инструментальной среде программирования Unity Pro?
4) Объясните понятие «Холодного» и «Теплого» рестарта ПЛК.
ЛАБОРАТОРНАЯ РАБОТА №2 ПОСТРОЕНИЕ СИСТЕМ ЛОГИЧЕСКОГО УПРАВЛЕНИЯ НА ЯЗЫКЕ LD (LADDER DIAGRAM)
Цель работы: Знакомство со структурой проекта на языке LD, создание анимационной таблицы, разработка операторского экрана (экрана реального времени).
2.1 Основные теоретические сведения
Язык программирования LD (релейно – контактных схем) является графическим языком программирования контроллеров. Редактор LD используется для программирования лестничных диаграмм, в соответствии со стандартом MЭК 61131-3.
Рисунок 2.1 Редактор языка LD в Unity Pro
Структура программы LD соответствует ступени переключения реле. Левая шина питания расположена в левой части редактора LD. Левая шина питания соответствует фазе (L проводник) ступени. При программировании LD, также как для ступени, «обрабатываются» только те объекты LD, которые соединены с источником питания, т. е. соединены с левой шиной питания. Правая шина питания соответствует нейтральному проводу.
Свойства программы LD:
1. Секция LD содержит 11-64 столбцов и 17-2000 строк.
2. Программы LD являются ориентированными на ячейки, т. е. только один объект может быть помещен в одну ячейку.
3. Последовательность обработки отдельных объектов в программе LD определена потоком данных в пределах секции. Сети, подключенные к левой шине питания, обрабатываются сверху вниз. Отдельные сети внутри секции обрабатываются в порядке их расположения (сверху вниз).
4. Проверка синтаксиса и семантики выполняется сразу после ввода оператора. Результат проверки отображается цветным текстом и объектами.
5. Синтаксически или семантически неверные секции могут быть сохранены.
Таблица 2.1 Условные обозначения элементов языка LD
№ |
Графический значок |
Значение |
1 |
2 |
3 |
1 |
Нормально открытый контакт, тип А |
|
2 |
Нормально закрытый контакт, тип В |
|
3 |
Последовательный нормально открытый контакт (Логический элемент «И») |
|
4 |
Паралельный нормально открытый контакт (Логический элемент «ИЛИ») |
|
5 |
Паралельный нормально закрытый контакт (Логический элемент «ИЛИ-НЕ») |
|
6 |
Контакт, формирующий импульс по переднему фронту входного сигнала |
|
7 |
Контакт, формирующий импульс по заднему фронту входного сигнала |
|
1 |
2 |
3 |
8 |
Последовательный контакт, формирующий импульс по переднему фронту входного сигнала |
|
9 |
Последовательный контакт, формирующий импульс по заднему фронту входного сигнала |
|
10 |
Параллельный контакт, формирующий импульс по заднему фронту входного сигнала |
|
11 |
Параллельный контакт, формирующий импульс по заднему фронту входного сигнала |
|
12 |
Паралельный блок контактов |
|
13 |
Срабатывание нескольких выходов от одного входа |
2.2 Пример решения задачи на языке LD
Необходимо запрограммировать кнопку, при нажатии которой, будет загораться индикатор.
Решение данной задачи можно разделить на несколько этапов:
1. Создание таблицы переменных.
2. Разработка программы в редакторе LD.
3. Создание анимационной таблицы.
4. Разработка операторского экрана (экрана реального времени).
1 шаг. Создается новый проект в среде программирования Unity Pro, на следующем этапе, конфигурируется ПЛК (лабораторная работа 1).
2 шаг. В браузере проекта, в разделе Program Section необходимо создать новую секцию на языке LD.
3 шаг. Далее в разделе Variables & FB Instances Elementary Variables создается таблица переменных. Для данной задачи она будет выглядеть следующим образом:
4 шаг. В редакторе LD собирается схема. Основными элементами которой будет нормально открытый контакт и катушка.
5 шаг. Необходимо создать анимационную таблицу, которая показывает текущее состояние переменной.
Доступ к анимационной таблице можно получить несколькими способами. Первым способом можно с помощью нажатия левой кнопки мыши выделить все элементы релейно-контактной схемы в редакторе LD и в раскрывшемся контекстном меню выбрать раздел Initialize Animation Table.
Вторым способом можно открыть анимационную таблицу через браузер проекта. В разделе Animation Table New Animation Table.
6 шаг. На данном этапе осуществляется разработка экрана оператора. Для этого необходимо в браузере проекта найти раздел Operator Screens, нажать правой кнопкой мыши и в раскрывшемся контекстном меню выбрать вкладку New Screen. Далее на панели инструментов выбрать кнопку Push button и разместить в рабочем поле редактора. Двойным щелчком мыши раскрыть элемент для подключения переменной. В разделе Control Variable вставить раннее созданную переменную kn (рисунок 2). Далее в разделе Сontrol element style поставить галочку на функции With Latching. Название кнопки можно подписать в окне Text . Необходимо переключить вкладку на Animation, далее поставить галочку в разделе Animated Object (рисунок 2.3).
Рисунок 2.2 Программирование свойств объекта Push Button
Рисунок 2.3 Подключение анимации к объекту Push Button
Аналогичным образом осуществляется программирование индикатора. Его можно создать с помощью элемента Ellipse на панели инструментов. Растянуть в рабочем поле до необходимых размеров, внутри задать цвет линий, заливки и подключить переменную ind, при этом выставив бит на 1.
7 шаг. Данный этап заключается в отладке программы, построении приложения для проверки наличия ошибок. Эта операция осуществляется с помощью кнопки Build на панели инструментов. В случае, если после анализа не обнаружены ошибки необходимо установить соединение с контроллером в режиме эмулятора. Для этого нажать на кнопку Simulation Mode Connect Transfer Project to PLC. Итоговая программа показана на рисунке 2.4. Управление можно осуществлять как через операторский экран, при этом при нажатии кнопки kn будет загораться индикатор, так и через окно редактора языка LD присвоив значение 1 нормально открытому контакту kn. Данную операцию можно осуществить нажав правой кнопкой мыши на контакт и в раскрывшемся меню выбрать раздел Set value Set to 1. При этом в анимационной таблице поменяется значение переменных kn и ind с 0 на 1 .
Рисунок 2.4 Результат работы программы в среде программирования Unity Pro.
2.3 Пример работы комибинированной программы на языке LD c использованием функционального блока
Необходимо разработать программу по управлению режимом работы трехцветной гирлянды, осуществляя переключение цветов в заданный интервал времени.
1 шаг. В новом проекте создается секция на языке LD, для установки заданного интервала времени, необходимо использовать функциональный блок таймер, доступ к которому можно осуществить через функцию FFB Input Assistant. Для этого необходимо нажать правой кнопкой мыши на рабочем поле редактора LD и выбрать соответсвующий раздел контектсного меню, другой вариант возможен благодаря панели инструментов, на которой есть пиктограмма с данной функцией или при нажатии комбинации клавиш Ctrl+I.
Рисунок 2.5 Доступ к помощнику по работе с функциональными блоками FFB Input Assistant
Далее появится окно, в котором необходимо выбрать нужный функциональный блок. Если разработчик программы знает его название заранее, то он может его вписать в первую графу FFB type, в нашем случае необходим счетчик TON, в противном случае пользователь может зайти в библиотеку функциональных блоков и выбрать необходимый, нажав на кнопку с тремя точками, которая расположена справа от окна ввода. Ниже описаны входы и выходы функционального блока, а так же их тип. После осуществления данной операции нажимаем OK, подтверждая выбранный блок.
Рисунок 2.6 Выбор функционального блока
2 шаг. Необходимо создать программу в рабочем поле LD. Контакты, которые отвечают за запуск цикла устанавливаются согласно логике программы, при этом их необходимо подключить к таймеру, который будет обеспечивать задержку появления цвета в несколько секунд. Программа показана на рисунке 2.7.
Рисунок 2.7 Программа по переключению цветов гирлянды
3 шаг. Необходимо создать анимационную таблицу, для отслеживания текущего состояния переменных, а так же управления элементами.
4 шаг. Операторский экран демонстрирует цветовое переключение гирлянды в интервале 2 секунды. Так же необходимо разместить кнопки по запуску работы механизма на экране (рисунок 2.8). Элементы гирлянды создаются с помощью фигуры Elipse на панели инструментов редактора.
Рисунок 2.8 Операторский экран программы по управлению трех цветной гирляндой
Рисунок 2.9 Результат работы программы по управлению трехцветной гирляндой
2.4 Порядок выполнения лабораторной работы №2. Решение задач на языке LD.
Очень часто в системах автоматики необходимо организовать пуск и стоп с помощью кнопок без фиксации, т. е. организовать самоблокировку выхода. Примеры некоторых из них приведены ниже.
Задача 1 Самоблокировка выхода с приоритетом «Стоп».
При нажатии кнопки start, сигнал проходит через нормально замкнутую кнопку stop и вызывает замыкание катушки ind (индикатор), при этом замыкается связанный входной контакт ind. При нажатии кнопки stop цепь разомкнется и катушка (выход) ind отключится. Поэтому данную схему называют приоритетом Стопа.
Задача 2 Самоблокировка выхода с приоритетом «Старт».
При нажатии кнопки start, сигнал проходит через нормально замкнутую кнопку stop и вызывает замыкание катушки ind. При этом замыкается связанный входной контакт ind. При нажатии кнопки stop цепь не разомкнется и катушка (выход) ind останется включенной. Поэтому данную схему называют приоритетом «Старта».
Необходимо реализовать данные задачи в программе Unity Pro.
Cхема логического управления для задачи 1 на языке LD:
Cхема логического управления для задачи 2 на языке LD:
2.5 Оформление отчета по результатам выполненных работ. Отчет должен включать:
— Решение задачи 1,2.
— Пояснения к каждому пункту задания.
— Выводы по результатам практикума.
— Пакет прикладных программ с результатами работы.
Литература. 2 осн. [1- 6]
2.6 Контрольные вопросы
1. Охарактеризуйте язык лестничной диаграммы LD.
2. Что такое катушка в языке LD?
3. Что такое контакт в языке LD?
4. Для чего служат связи? Какие связи различают в языке LD?
ЛАБОРАТОРНАЯ РАБОТА №3 РАЗРАБОТКА ПРОЕКТА НА ЯЗЫКЕ FBD (FUNCTION BLOCK DIAGRAM)
Цель работы: Знакомство со структурой проекта на языке FBD. Работа с основными функциональными блоками, понятиями и определениями. Получение навыков разработки приложений на языке функциональных блоков.
3.1 Основные теоретические сведения
3.1.1 Свойства программы FBD
FBD ( Function Block Diagram) – графический язык программирования стандарта MЭК 61131-3 . Данная программа состоит из функциональных блоков, соединений между ними и переменных, соответствующих входам и выходам ПЛК. При программировании используются наборы библиотечных блоков и собственные блоки, также написанные на FBD или других языках МЭК 61131-3.
Блок (элемент) – это подпрограмма, функция или функциональный блок (И, ИЛИ, НЕ, триггеры, таймеры, счётчики, блоки обработки аналогового сигнала, математические операции и др.).
Каждая отдельная цепь представляет собой выражение, составленное графически из отдельных элементов. К выходу блока подключается следующий блок, образуя цепь. Внутри цепи блоки выполняются строго в порядке их соединения. Результат вычисления цепи записывается во внутреннюю переменную либо подается на выход ПЛК.
При необходимости управления вызовом блоков в них добавляются специальные входы EN (enable) и выходы ENO. Логический ноль на входе EN запрещает вызов блока. Выход ENO используется для индикации ошибки в блоке и позволяет прекратить вычисление остатка цепи.
Cекции FBD имеют на заднем плане сетку. Ячейка сетки состоит из десяти единиц.
Единица сетки – это наименьшее возможное расстояние между двумя объектами в секции FBD. Секция FBD содержит 360 горизонтальных единиц сетки (= 36 ячеек сетки) и 240 вертикальных единиц сетки (= 24 ячеек сетки). Язык программирования FBD не является ориентированным на ячейки, но объекты выравниваются по единицам сетки.
Порядок выполнения определяется позицией FFB в секции (выполняется слева направо и сверху вниз). Если FFB соединены с сетью, используя графические связи, то порядок выполнения определяется потоком сигнала.
Синтаксическая и семантическая проверка выполняется сразу после ввода оператора (см. таблица 3.1). Результат проверки отображается цветным текстом и объектами. Синтаксически и семантически неверные разделы могут быть сохранены.
Таблица 3.1 Значение цветов и меток
№ |
Цвет |
Описание |
Пример |
1 |
Черный |
Синтаксис и семантика верны |
|
2 |
Синий |
-Связанная переменная не объявлена. -Тип данных переменной не совпадает с типом данных вывода. -Вывод входа или выхода не соединен. |
|
3 |
Красная волнистая линия |
Ошибочный текст, например, необъявленные переменные, переменные с неправильным типом данных. |
3.2 Пример решения задачи на языке FBD
Необходимо запрограммировать горизонтальное перемещение крана, при этом двигаясь в одном направлении, кран не должен воспринимать команду изменения направления перемещения, кран необходимо остановить. Одновременная подача единичных изменений на выходы не допускается.
1 шаг. Создание секции на языке FBD .
2 шаг. Создание таблицы переменных.
3 шаг. Необходимо выбрать функциональные блоки для работы программы. Описание блоков доступно в справке, доступ к которой можно получить выделив интересующий блок и нажав кнопку F1 (рисунок 1).
Рисунок 3.1 Доступ к справке Unity Pro
В программе используется RS триггер, который представляет из себя блок с параметрами, описанными в таблице 3.2.
Таблица 3.2 Описание параметров блока
Параметр |
Типа данных |
Назначение |
S |
BOOL |
Установка |
R1 |
BOOL |
Доминирующий сброс |
Q1 |
BOOL |
Выход |
Программа, реализующая горизонтальное перемещение показана на рисунке 3.2.
Рисунок 3.2 Программа на языке FBD
Результаты работы программы показаны на рисунке 3.3.
Рисунок 3.3 Программа реализующая горизонтальное перемещение крана. Операторский экран, анимационная таблица.
3.3 Порядок выполнения лабораторной работы №3
Задание 1. Необходимо разработать приложение на языке FBD для реализации следующих арифметических и логических выражений [4].
где — входные действительные переменные, — выходная действительная переменная.
Алгоритм выполнения работы:
1) Создание нового проекта в среде программирования Unity Pro
2) Конфигурация ввода/вывода
3) Объявление переменных
4) Создание программы
5) Редактирование программы
6) Установка опций приложения и параметров связи с контроллером.
7) Компиляция программы
8) Эмуляция и отладка приложения
9) Загрузка приложения в контроллер
Доступ к элементам программы осуществляется через элемент FFB Input Assistant в библиотеке Libset V5.0 разделе Base Lib Mathematics (рисунок 3.4).
Рисунок 3.4 Библиотека функциональных блоков
Реализация задания 1 показана на рисунке 3.5, 3.6.
Рисунок 3.5 Задача 1 на языке функциональных блоков FBD
Рисунок 3.6 Реализация задачи 1 на языке программирования FBD
Задача №2 Необходимо разработать приложение на языке FBD для реализации следующих арифметических и логических выражений:
Таблица 3.3 Варианты заданий
3.4 Оформление отчета по результатам выполненных работ. Отчет должен включать:
— Решение задач.
-Сведения справочной системы о выбранных функциональных блоках.
— Выводы по результатам практикума.
— Пакет прикладных программ с результатами работы.
3.5 Контрольные вопросы
1) Что представляет из себя язык функциональных блоков FBD?
2) Для чего служат связи при разработке программ на FBD?
3) Каково назначение входов и выходов функциональных блоков?
4) Как располагаются функциональные блоке в редакторе программы FBD?
ЛАБОРАТОРНАЯ РАБОТА №4 CОЗДАНИЕ ПРОЕКТА В СРЕДЕ UNITY PRO НА ЯЗЫКЕ ST И IL
Цель лабораторной работы: Знакомство с языком программирования ST (cтруктурированный текст и список инструкций).
4.1 Основные теоретические сведения
4.1.1 Язык программирования ST
Язык программирования ST — (Structured Text, структурированный текст) представляет собой язык высокого уровня, имеющий общие черты с языком Pascal и Basic. С помощью него можно легко реализовывать арифметические и логические операции (в том числе, побитовые), безусловные и условные переходы, циклические вычисления; возможно использование как библиотечных, так и пользовательских функций. Язык также интерпретирует более 16 типов данных. Язык ST может быть освоен технологом за короткий срок, однако текстовая форма представления программ служит сдерживающим фактором при разработке сложных систем, так как не дает наглядного представления ни о структуре программы, ни о происходящих в ней процессах.
Основой ST— программы служат выражения. Выражения состоят из операндов (констант и переменных) и операторов. Операторы — являются ”командами“ языка программирования ST. Они должны заканчиваться точкой с запятой. Одна строка может содержать несколько операторов (отделяемых точками с запятой). Результат вычисления выражения присваивается переменной при помощи оператора присваивания « : = ” ». Каждое выражение обязательно заканчивается точкой с запятой « ; ». Выражение состоит из переменных, констант и функций, разделенных операторами, например:
Var1 := 1+Var2 / ABS(Var2);
Стандартные операторы в выражениях языка ST имеют символьное представление, например математические действия: +, -, *, /, операции сравнения и т. д. Имена, используемые в исходном коде (идентификаторы переменных, константы, ключевые слова) разделены неактивными разделителями (пробелами, символами окончания строки и табуляции) или активными разделителями, которые имеют заранее определенное значение (например, символ-разделитель « > » означает сравнение больше чем, а символ « + » операцию сложения и т. д.). Неактивные разделители могут быть свободно введены между активными разделителями, константами и идентификаторами. В отличие от неформатных языков, таких как IL, конец строки может быть введен в любом месте программы.
Таблица 4.1 Конструкции на языке ST
№ |
Название конструкции |
Операторы на языке ST |
1 |
Оператор выбора IF |
|
2 |
Множественный выбор СASE |
|
3 |
Цикл FOR |
|
4 |
Цикл WHILE |
|
5 |
Цикл REPEAT — UNTIL |
4.2 Пример решения задачи на языке ST
Задача_1 Необходимо решить простейшую задачу на языке ST в которой при нажатии кнопки kn загорается лампочка lam.
1 шаг. Для этого создается новая секция на языке ST. В рабочем поле редактора языка ST необходимо написать следующий код программы.
Lam:=kn;
2 шаг. Создание анимационной таблицы (рисунок 4.1).
3 шаг. Создание операторского экрана (рисунок 4.1).
Рисунок 4.1 Приложение, реализующее пример работы с языком ST
в среде Unity Pro.
4.3 Порядок выполнения лабораторной работы на ST
Задача_2 Запрограммируйте задачу при которой возможно включение лампочки с помощью двух выключателей, опираясь на программу на языке LD.
Задача_3 Необходимо запрограммировать систему, в которой включение лампочки будет осуществляться кнопкой старт, а выключение кнопкой стоп. Создайте анимационную таблицу и операторский экран.
IF kn1=1 THEN
Lam2:=1;
END_IF;
IF kn2=1 THEN
Lam2:=0;
END_IF;
4.4 Язык программирования IL
IL (Instruction List) — язык программирования стандарта МЭК 61131-3. Предназначен для программирования промышленных контроллеров. По синтаксису напоминает ассемблер.
Работает быстрее графических языков, является более компактным и потребляет меньше памяти ПЛК. Позволяет очень быстро вводить программу, в последствии ее легче воспроизводить на портативных устройствах, но является менее наглядным, что осложняет процесс поиска ошибок.
Список инструкций составляется из набора инструкций. Каждая инструкция начинается на новой строке и состоит из:
— Оператора.
-Модификатора, если требуется.
-Одного или более операндов, если требуется.
-Метки, как цели перехода, если требуется.
— Комментария к логике, если требуется.
Рисунок 4.2 Пример изображения секции на языке IL
Пример 1: Линейное преобразование: Y(x)=A*x+B
Рисунок 4.3 Реализация примера 1 в среде программирования
Unity Pro
4.5 Порядок выполнения лабораторной работы на IL
Запрограммируйте запись процедуры а=а+b в одноадресном и двухадресном режиме, используя основные операторы в таблице 4.2 усложните задачу.
А) LD a б) ADD а b
ADD b
ST a
Таблица 4.2 Список операторов IL
№ |
Оператор |
Пояснение |
1 |
2 |
3 |
1 |
LD |
Загрузить значение операнда в аккумулятор |
2 |
LDN |
Загрузить обратное значение операнда в аккумулятор |
3 |
ST |
Присвоить значение аккумулятора операнду |
4 |
STN |
Присвоить обратное значение аккумулятора операнду |
5 |
S |
Если значение аккумулятора TRUE, установить логический операнд |
6 |
R |
Если значение аккумулятора FALSE, сбросить логический операнд |
7 |
AND |
Поразрядное И аккумулятора и операнда |
8 |
ANDN |
Поразрядное И аккумулятора и обратного операнда |
9 |
OR |
Поразрядное ИЛИ аккумулятора и операнда |
10 |
ORN |
Поразрядное ИЛИ аккумулятора и обратного операнда |
11 |
XOR |
Поразрядное разделительное ИЛИ аккумулятора и операнда |
12 |
XORN |
Поразрядное разделительное ИЛИ аккумулятора и обратного операнда |
13 |
NOT |
Поразрядная инверсия аккумулятора |
14 |
ADD |
Сложение аккумулятора и операнда, результат записывается в аккумулятор |
15 |
SUB |
Вычитание операнда из аккумулятора, результат записывается в аккумулятор |
16 |
MUL |
Умножение аккумулятора на операнд, результат записывается в аккумулятор |
17 |
DIV |
Деление аккумулятора на операнд, результат записывается в аккумулятор |
18 |
GT |
Значение аккумулятора сравнивается со значением операнда(>(greater than)). Значение (TRUE или FALSE) записывается в аккумулятор |
19 |
GE |
Значение аккумулятора сравнивается со значением операнда(>=greater than or equal)). Значение (TRUE или FALSE) записывается в аккумулятор |
20 |
EQ |
Значение аккумулятора сравнивается со значением операнда (=(equal)). Значение (TRUE или FALSE) записывается в аккумулятор |
1 |
2 |
3 |
21 |
NE |
Значение аккумулятора сравнивается со значением операнда (<>(not equal). Значение (TRUE или FALSE) записывается в аккумулятор |
22 |
LE |
Значение аккумулятора сравнивается со значением операнда (<=(less than or equal to)). Значение (TRUE или FALSE) записывается в аккумулятор |
23 |
LT |
Значение аккумулятора сравнивается со значением операнда (<(less than)). Значение (TRUE или FALSE) записывается в аккумулятор |
24 |
JMP |
Переход к метке |
25 |
JMPC |
Переход к метке при условии, что значение аккумулятора TRUE |
26 |
JMPCN |
Переход к метке при условии, что значение аккумулятора FALSE |
27 |
CAL |
Вызов программного или функционального блока |
28 |
CALC |
Вызов программного или функционального блока при условии, что значение аккумулятора TRUE |
29 |
CALCN |
Вызов программного или функционального блока при условии, что значение аккумулятора FALSE |
30 |
RET |
Выход из POU и возврат в вызывающую программу |
31 |
RETC |
Выход из POU и возврат в вызывающую программу при условии, что значение аккумулятора TRUE |
32 |
RETCN |
Выход из POU и возврат в вызывающую программу при условии, что значение аккумулятора FALSE |
4.6 Оформление отчета по результатам выполненных работ. Отчет должен включать:
— Решение задач на языке ST и IL.
— Выводы по результатам практикума.
— Пакеты прикладных программ на языке ST и IL с результатами работы.
Литература. 4 осн. [1- 6]
4.7 Контрольные вопросы
1. Охарактеризуйте язык структурированного текста ST.
2. Что такое выражение, оператор, операнд на языке ST?
3. Какое утверждение используется в языке ST для завершения утверждения повторения (FOR, WHILE, REPEAT) прежде, чем конечное условие будет выполнено?
4. Охарактеризуйте язык списка инструкций IL.
5. Для чего служат модификаторы в языке IL?
6. Что такое оператор в языке IL?
7. Перечислите основные достоинства и недостатки языков ST и IL.
ЛАБОРАТОРНАЯ РАБОТА №5 ПОСТРОЕНИЕ СХЕМЫ ЛОГИЧЕСКОГО УПРАВЛЕНИЯ НА ЯЗЫКЕ
ПРОГРАММИРОВАНИЯ SFC
Цель лабораторной работы: Получение навыков программирования контроллеров на языке SFC.
5.1 Основные теоретические сведения
5.1.1 Язык программирования SFC
SFC ( Series functional charts — последовательность функциональных диаграмм) — графический язык программирования стандарта МЭК 611131-3, является графическим языком, в котором программа описывается в виде схематической последовательности шагов, объединенных переходами. Язык SFC построен по принципу, близкому к концепции конечного автомата, что делает его одним из самых мощных языков программирования.
Наиболее простым и естественным образом на языке SFC описываются технологические процессы, состоящие из последовательно выполняемых шагов, с возможностью описания нескольких параллельно выполняющихся процессов, для чего в языке имеются специальные символы разветвления и слияния потоков.
Шаги последовательности располагаются вертикально сверху вниз. На каждом шаге выполняется определенный перечень действий (операций). При этом для описания самой операции используются другие языки программирования, такие как IL или ST.
Действия (операции) в шагах имеют специальные классификаторы, определяющие способ их выполнения внутри шага: циклическое выполнение, однократное выполнение, однократное выполнение при входе в шаг и т. д. В сумме таких классификаторов насчитывается девять, причем среди них есть, например, классификаторы так называемых сохраняемых и отложенных действий, заставляющие действие выполняться даже после выхода программы из шага.
После того, как шаг выполнен, управление передается следующему за ним шагу. Переход между шагами может быть условным и безусловным.
Условный переход требует выполнения определенного логического условия для передачи управления на следующий шаг; пока это условие не выполнено программа будет оставаться внутри текущего шага, даже если все операции внутри шага уже выполнены.
Безусловный переход происходит всегда после полного выполнения всех операций на данном шаге. С помощью переходов можно осуществлять разделение и слияние ветвей последовательности, организовать параллельную обработку нескольких ветвей или заставить одну выполненную ветвь ждать завершения другой.
Как и любому другому языку, SFC свойственны некоторые недостатки. Хотя SFC может быть использован для моделирования конечных автоматов, его программная модель не совсем удобна для этого.
Это связано с тем, что текущее состояние программы определяется не переменной состояния, а набором флагов активности каждого шага, в связи с чем при недостаточном контроле со стороны программиста могут оказаться одновременно активными несколько шагов, не находящихся в параллельных потоках. Еще одно неудобство языка связано с тем, что шаги графически располагаются сверху вниз, и переход, идущий в обратном направлении, изображается в неявной форме, в виде стрелки с номером состояния, в которое осуществляется переход.
Макросекция (рисунок 5.1) состоит из одной строки последовательности, имеющей принципиально те же элементы, как и секция "контроля последовательности" (т. е. шаги, начальный шаг[и], макрошаги, переходы, ветви, соединение и т. п.). Дополнительно, каждая макросекция содержит входной шаг в начале и выходной шаг в конце. Каждый макрошаг может быть заменен строкой последовательности в выделенной макросекции. Поэтому макросекции могут содержать 0, 1 или более начальных шагов.
Название макросекции идентично названию макрошага, из которого она вызывалась. Если название макрошага изменилось, название макросекции изменяется автоматически. Макросекция может использоваться только однажды.
Рисунок 5.1 Принцип использования макросекций на языке SFC
Таблица 5.1 Типы шагов в языке SFC
№ |
Тип |
Изображение |
Описание |
1 |
"Нормальный" шаг |
Шаг становится активным, когда предыдущий шаг становится неактивным (задержка может быть определена) и вышерасположенный переход исполнен. «Нормальный» шаг становится неактивным, когда закончилась определенная задержка и нижерасположенный переход выполнен. Для параллельного соединения все предыдущие шаги должны удовлетворять этим условиям. Ноль или более действий принадлежат каждому шагу. Шаги без действий известны как шаги ожидания. |
|
2 |
Начальный шаг |
Начальный статус строки последовательности характеризуется начальным шагом. После инициализации проекта или инициализации строки последовательности начальный шаг становится активным. |
|
3 |
Макрошаг |
Макрошаги используются для вызова макросекций и для иерархического структурирования последовательного контроля. |
|
4 |
Входной шаг |
Каждая макросекция начинается со входного шага. |
|
5 |
Выходной шаг |
Каждая макросекция заканчивается выходным шагом. |
Рисунок 5.2 Структура секции на языке SFC
Переход и условие перехода. Переход обеспечивает условие, на которое проверяется один или более шагов перед переходом, и происходит переход к одному или более последующему шагу по соответствующей ссылке (таблица 5.2). Каждому переходу выделяется условие перехода данных типа BOOL.
Тип условия перехода определяет положение имени:
Таблица 5.2 Сведенья о переходах языка SFC
№ |
Условие перехода |
Положение имени |
1 |
Адрес, переменная |
|
2 |
Литерал |
|
3 |
Секция перехода |
Прыжок. Прыжки используются для указания прямых связей, которые не изображены в полную длину. Изображение прыжка:
Связи. Стандартный сигнальный поток в строке последовательности идет сверху вниз. Для создания петель связи могут быть сделаны снизу к верхнему шагу. Это применимо к связям от переходов, параллельных ветвей или альтернативных соединений к шагу. В этих случаях направление связи указывается символом стрелки.
Альтернативная ветвь (рисунок 3,а) предлагает возможность программировать ветви в зависимости от управляющего потока структуры SFC. Для альтернативных ветвей, столько переходов следуют за шагом под горизонтальной линией, сколько есть различных процессов. Все альтернативные ветви объединяются в одну ветвь при помощи альтернативного соединения или прыжков, где они выполняются далее.
а) б)
Рисунок 5.3 а) альтернативная последовательность б) параллельная последовательность на языке SFC
Для параллельных ветвей (рисунок 5.3,б) переключение одиночного перехода ведет к параллельному активированию более одного (максимум 32) шага (ветвей). Выполнение слева направо.
5.2 Пример решения задачи на языке SFC
Необходимо запрограммировать следующую последовательность команд. Ниже приведены основные шаги состояния насоса.
1 шаг. Vu, nu – выключен.
2 шаг. Nu – сработал (vu – сработал, nu — отключен)
3 шаг. Vu – сработал (выдержка времени 10 сек. Запуск двигателя)
4 шаг. Nu – вкл/выкл. двигатель.
Решение программы показано на рисунке 5.4.
Рисунок 5.4 Решение примера 1 на языке SFC
Результат работы программы показан на рисунке 5.5. С помощью анимационной таблицы возможно управление состоянием переменных vu, nu.
Рисунок 5.5 Результаты работы примера 1 на языке SFC
5.3 Порядок выполнения работы №5 на языке SFC
Задача 1. Используя полученные навыки, а так же опираясь на лабораторную работу 3. Необходимо запрограммировать горизонтальное перемещение крана, при этом двигаясь в одном направлении, кран не должен воспринимать команду изменения направления перемещения, кран необходимо остановить. Одновременная подача единичных изменений на выходы не допускается.
5.4 Оформление отчета по результатам выполненных работ. Отчет должен включать:
— Решение задач на языке SFC
— Выводы по результатам практикума.
— Пакеты прикладных программ на языке SFC с результатами работы.
Литература. 6 осн. [1- 7]
5.5 Контрольные вопросы
1. Охарактеризуйте язык функционального управления SFC.
2. Каково назначение переходов в языке SFC?
3. Что такое секция перехода и ее назначение в языке SFC?
4. Назовите основные элементы языка SFC.
5. Что такое альтернативное и параллельное соединение?
ЛАБОРАТОРНАЯ РАБОТА №6 РАЗРАБОТКА ПРОЕКТА «ОБРАБОТКА ПОВЕРХНОСТИ». ПРОГРАММИРОВАНИЕ ВЕРТИКАЛЬНОГО ПЕРЕМЕЩЕНИЯ ПОДЬЕМНОГО МЕХАНИЗМА НА ЯЗЫКЕ SFC
Цель лабораторной работы: Знакомство с принципом устройства и работы лабораторного стенда «Обработка поверхности». Программирование вертикального перемещения подъемного механизма на языке SFC.
6.1 Основные теоретические сведения
6.1.1 Принцип устройства лабораторного стенда «Обработка поверхности»
Лабораторный стенд «Обработка поверхности» состоит из двух основных блоков. Это управляющая часть и объект управления.
Объект управления представляет собой установку обработки поверхности (рисунок 6.1). Она состоит из нескольких уровней, снизу расположены блоки для обработки и загрузки деталей (всего пять блоков, три блока для обработки деталей и два для загрузки/разгрузки деталей). Сверху по рельсам с помощью подъемного механизма перемещается тележка. Тележка совершает вертикальное и горизонтальное перемещение для обработки корзин с деталями. Управляющая часть состоит из панели управления (рисунок 6.2), которая подает команду на программируемый автомат TSX МIСRО, состоящий из 16 входов на 24 В постоянного тока и 12 релейных выходов.
а) б)
Рисунок 6.1 Оборудование «Обработка поверхности», подъемный механизм.
Рисунок 6.2 – «Обработка поверхности», панель управления
Установка «Обработка поверхности» снабжена системой датчиков. Пять датчиков положения указывают и контролируют положение перевозки деталей в корзине с помощью концевых датчиков относительно рабочих станций (D1, D2, D3, D4, D5 рисунок 6.3). Два датчика положения контролируют крайнее верхнее и нижнее положение лебедки (D6, D7 рисунок 6.3).
Пульт управления расположен на передней части установки «Обработка поверхности». В него входят (рисунок 6.4):
— S1 (Влево ←) / S3(Вправо →) – кнопки управления ручным способом горизонтальным положением тележки и лебедки.
—S4 (Поднять ↑), / S6 (Опустить ↓) — кнопки управления ручным способом вертикальным положением тележки и лебедки.
—S2 – кнопка «запуска цикла» («Départ cycle») в автоматическом режиме или «возврат в исходное положение» в ручном режиме.
— S5 – трехпозиционный переключатель автоматического и ручного режима с помощью ключа ( «Auto — 0 – Manu» / «Автоматический – 0 – Ручной» ).
— S7 – кнопка «аварийного отключения». Открывается ключом №455.
Рисунок 6.3 Расположение датчиков
Рисунок 6.4 Пульт управления
Командная часть состоит из:
— контроллера на 16 входов (24 В постоянного тока) и 12 релейных выходов. Блок TSX 3705028DR1 230 обеспечивает 24 В и 0,4 А, поэтому является достаточно мощным для управления датчиками и исполнительными механизмами (рисунок 6.5).
— двух позиций переключателя «Run / Stop» («Пуск/Остановка»);
— двух позиций переключателя
— индикатор белого цвета «Sous tension» («Под напряжением»);
-два разъема сбоку (25 и 37 вывода) для подключения к объекту управления.
-поддерживает формат «Europa» «Европа» с встроенным предохранителем для подключения к сети с помощью предлагаемого шнура.
6.2 Порядок выполнения работы №6
Задание 1: Объект управления представляет собой оборудование по обработке поверхности. Необходимо запрограммировать процесс вертикального перемещения подъемного механизма в ручном режиме в соответствии с представленным Grafcet.
Используемые переменные:
x0 — начальное состояние,
x1,.x3 – шаги программы,
s_km4, s_km3 – состояние активно, пока не сработает условие перехода на следующий шаг (движение вверх и движение вниз подъемного механизма),
e_d7, e_d6 – датчики верхнего и нижнего положения подъемного механизма (рисунок 6.3),
с_s4, c_s6 – кнопка движения вверх и вниз на панели управления (рисунок 6.4).
Grafcet вертикального перемещения подъемного механизма:
На рисунке 6.5 показан пример создания операторского экрана для решения задачи 1.
Рисунок 6.6 Операторский экран для задачи 1 по лабораторному стенду «Обработка поверхности»
Готовая программа показана на рисунке 6.7.
. Рисунок 6.7 Результаты работы программы.
6.3 Оформление отчета по результатам выполненных работ. Отчет должен включать:
— Решение задачи на языке SFC.
— Grafcet решения задачи с переходами. Разработанный операторский экран.
— Выводы по результатам практикума. Пакеты прикладных программ на языке SFC с результатами работы.
Литература. 6 осн. [1-7]
6.4 Контрольные вопросы
1. Опишите устройство оборудования «Обработка поверхности».
2. Что является управляющей частью лабораторного стенда? Что такое Grafcet?
4. Опишите контроллер, который использован для управления системой в стенде «Обработка поверхности».
СПИСОК ЛИТЕРАТУРЫ
1. Минаев И. Г., Самойленко В. В. Программируемые логические контроллеры // Ставрополь: «Агрус», 2009г. – 36 с.
2. Руководство по программированию Delta DVP //www. delta-automation. ru
3. Платформа автоматизации Modicon M340// каталог 2009 г. Schneider Electric.
4. Системы автоматического программирования на основе программируемых логических контроллеров. // Техническая коллекция Schneider Electric. — Выпуск 16, 2008 г.
5. http://www. promserv. ru/information/96-plc. html
6. Справочное руководство о программе Unity Pro (Schneider Electric).
7. Елизаров И. А., Третьяков А. А., Назаров В. Н., Солуданов М. Н., Технические средства автоматизации: Программирование контроллеров в среде ISaGRAF./ Тамбов: Тамбовский государственный технический университет, 2008 г. – 5 с.
СОДЕРЖАНИЕ
Введение………………………………………………………………….3
ЛАБОРАТОРНАЯ РАБОТА №1 Знакомство с языком программирования контроллеров Unity Pro. ………….………………………..6
ЛАБОРАТОРНАЯ РАБОТА №2 Построение систем логического управления на языке LD (LADDER DIAGRAM)……………………………15
ЛАБОРАТОРНАЯ РАБОТА №3 Разработка проекта на языке FBD (Function Block Diagram)………………………………………………………25
ЛАБОРАТОРНАЯ РАБОТА №4 Создание проекта в среде Unity Pro на языке ST и IL………………………………………………………………31
ЛАБОРАТОРНАЯ РАБОТА №5 Построение схемы логического управления на языке программирования SFC………………………………37
ЛАБОРАТОРНАЯ РАБОТА №6 Разработка проекта «Обработка поверхности». Программирование вертикального перемещения подъемного механизма на языке SFС………………………………………..43
Св. план 2012, поз_______
Cамигулина Зарина Ильдусовна
ОБЪЕКТНО ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ
Методические указания к выполнению лабораторных работ
(для студентов специальности 050702 – «Автоматизация и управление»)
Редактор _
Техн. редактор
УТВЕРЖДЕНЫ – Председателем научно методического совета
Ахметовым Б. С. 21.12.2011 г.
СОГЛАСОВАНЫ – Заведующим кафедры АиУ
Сулейменовым Б. А. 30.11.2011 г.
Подписано в печать «__» __________ 2012 г.
Тираж 100 экз. Формат 60´84 1/16
Бумага типографская 1
Объем 1,5 п. л. Заказ № Цена договорная
Издание Казахского национального технического университета
им. К. И. Сатпаева
Издательский центр КазНТУ
Алматы, ул. Ладыгина, 32.
|