Система программирования ПЛК OpenPCS — КиберПедия 

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

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

2017-10-11 4049
Система программирования ПЛК OpenPCS 5.00 из 5.00 3 оценки
Заказать работу

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

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

 

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

 

 

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

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

 

УДК 681.3.06

 

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

 

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

 

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

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

 

Содержание

1. Система программирования ПЛК OpenPCS  
2. Создание программ и их отладка в контроллере Elsy-TM  
3. ОБЩИЕ СВЕДЕНИЯ О ПЛК SIMATIC  
4 ЗАПУСК SIMATIC MANAGER И СОЗДАНИЕ ПРОЕКТА  

 

 

Система программирования ПЛК 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) в адресном пространстве некоторого устройства.

VAR

Motor AT %Q0.0:BOOL;

END_VAR

 

 

Рис. 5

 

Секция Функция Функциональный блок Программа
VAR_INPUT (1) (1)  
VAR_OUTPUT   (1)  
VAR_GLOBAL     (1)
VAR_EXTERNAL   (1)  

Примечание: (1) – может использоваться, но лишь однократно.

 

На рис 6. представлен скриншот основных полей:

1. МЕНЮ И ПАНЕЛЬ ИНСТРУМЕНТОВ

2. МЕНЕДЖЕР ПРОЕКТОВ

3. РЕДАКТОР ПЕРЕМЕННЫХ

4. РЕДАКТОР КОДА

5. ОКНО ДИАГНОСТИКИ И ТЕСТИРОВАНИЯ

 

 

Рис. 6. Основные поля программного пакета OpenPCS

 

5. В редакторе переменных VAR опишите локальные переменные:

Название сигнала Аппаратный адрес Тип переменной
Valve_In_ST AT%I0.0 Bool
Reset_ST AT%I0.1 Bool
Pump_In_ST AT%I0.2 Bool
And1_ST нет Bool
And2_ST нет Bool
Valve_Сontrol_ST AT%Q0.0 Bool
Pump_Сontrol_ST AT%Q0.2 Bool

Примечание: Valve_In_ST – это говорящее имя переменной (задвижка_входной_программа на языке ST).

 

 

Рис. 7. Описание функциональных блоков RS –триггеров

6. Опишите функциональные блоки (Рис.7.) RS -триггеров (в сущности, это подпрограммы-процедуры) T1_ST:RS и T2_ST:RS: Т1_ST – имя функционального блока, RS – его тип.

 

7. Введите текст программы:

 

 

Рис. 7. Текст программы на языке ST

 

Комментарий к фрагменту программы, поясняющий ее работу:

А) And1_ST:=Valve_In_ST and not (Pump_Control_ST) - переменной And1_ST присваивается результат логического умножения (and) переменной Valve_in_ST и инверсного (not) значения переменной Pump_Control_ST.

Б) T1_ST (Set:=And1_ST, Reset1:=Reset_ST | Valve_Control_ST:=Q1) - входу установки триггера T1_ST в единичное состояние Set присваивается переменная And1_ST, входу сброса триггера Reset1 присваивается переменная Reset_ST. Это входы триггера. После разделителя | идет описание выхода Q1, которому присвоена переменная Valve_Control_ST.

Примечание: 3 и 4 строки выполняют аналогичную функцию, но для других переменных.

8. Теперь созданную программу необходимо проверить на синтаксические ошибки (File->Check Syntax(Alt+F10)) при отсутствии ошибок будет выдано следующее сообщение, рисунок 9.

 

9. Проверьте, что у вас существует активный ресурс (признак активного ресурса – ярко-зеленый цвет) и он не содержит программ, рисунок 10.

 

 

Рис. 9. Результаты проверки программы

 

 

Рис.10

 

10. Настройте ресурс для работы с симулятором промышленного контроллера.

 

Рис. 11. Настройка ресурса для работы с симулятором

 

11. Свяжите написанную программу с активным ресурсом:

 

 

Рис. 12

 

12. Откомпилируйте активный ресурс, связанный с вашей задачей (программой):

 

 

Рис. 13. Компиляция активного ресурса

 

При компиляции будет создан исполняемый код Start_Stop.PCD и сгенерированы сведения о наличие ошибок и предупреждений, как показано на рисунке 14.

 

 

Рис. 14

 

Свяжитесь с «контроллером» (PLC -симулятором), рисунок 15.

 

 

Рис. 15

 

 

13. Загрузите в симулятор код:

 

 

Рис. 16

 

14. Запустите симулятор (run). Из дерева сигналов добавьте двойным кликом необходимые входные и выходные переменные в окно мониторинга и проверьте работу программы, для этого изменяйте входные переменные (двойной клик по переменной) с соответствующими адресами и следите за значением выходных переменных в симуляторе и окне мониторинга OpenPCS.

 

15. На рисунке 18 показано распределение адресного пространства симулятора.

 

 

Рис. 17. Окно мониторинга OpenPCS

 

 

Рис. 18. Распределение адресного пространства симулятора

 

 

УПРАЖНЕНИЕ 2

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

 

1. Остановите работу симулятора, закройте его и разорвите соединение. Создайте новый файл IL с именем IL1. Поскольку ресурс для работы с симулятором уже создан, то все последующие задачи будут добавляться к нему (рис.19).

 

 

Рис. 19

 

2. Опишите переменные. Описание переменных носит такой же характер, как и в редакторе ST, изменим только имена переменных и их адреса, а так же имена функциональных блоков T1_IL и T2_IL.

 

 

Название сигнала Аппаратный адрес Тип переменной
Valve_In_IL AT%I1.0 Bool
Reset_IL AT%I1.1 Bool
Pump_In_IL AT%I1.2 Bool
And1_IL нет Bool
And2_IL нет Bool
Valve_Control_IL AT%Q1.0 Bool
Pump_Control_IL AT%Q1.1 Bool

 

3. Напишите программу «Старт-стоп»:

LDN Pump_control_IL – инвертированная загрузка (LDN) переменной Pump_control_IL.

AND Valve_in_IL – ее логическое умножение на переменную Valve_in_IL.

ST AND1_IL – сохранение (ST) результата умножения в переменную AND1_IL.

CAL T1_IL (Set: =AND1_IL, Reset1: =Reset_IL | Valve_сontrol_IL: =Q1) – вызов (CAL) процедуры (функционального блока в терминах OpenPCS), реализующей RS-триггер и присвоение его входам-выходам переменных.

 

 

Рис. 20. Программа «Старт-стоп» на языке IL

 

4. Если вдруг программа не добавлена к ресурсу на этапе создания новой программы, то сделайте это принудительно согласно рисунку 21.

 

 

Рис. 21

 

5. Откомпилируйте программу, загрузите код в симулятор (теперь будут выполняться обе программы ST1 и IL1 в разном адресном пространстве симулятора), запустите его, добавьте необходимые переменные в окно мониторинга и проверьте работу по аналогии c предыдущим упражнением (предыдущая программа так же должна работать). Для идентификации адресов пользуйтесь рисунком 18.

 

УПРАЖНЕНИЕ 3

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

 

1. Остановите работу симулятора и создайте новый файл LD с именем LD1. Поскольку ресурс для работы с симулятором уже создан, то все последующие задачи будут добавляться к нему, если это не оговорено особо. Окно редактора LD (рис.22.) выглядит довольно специфично.

 

 

Рис. 22. Окно редактора LD

 

2. Элемент, показанный на рисунке 23, носит название элементарная сеть, это заготовка для создания элемента программы.

 

 

Рис. 23. Элементарная сеть

 

3. Опишите переменные. Описание переменных не отличается от редактора ST. Функциональные блоки - T1_LD и T2_LD. Обратите внимание на адреса сигналов.

 

Название сигнала Аппаратный адрес Тип переменной
Valve_In_LD AT%I2.0 Bool
Reset_LD AT%I2.1 Bool
Pump_In_LD AT%I2.2 Bool
And1_LD нет Bool
And2_LD нет Bool
Valve_Control_LD AT%Q2.0 Bool
Pump_Control_LD AT%Q2.2 Bool

 

4. Дополните сеть до элемента «И» и проинвертируйте один из «контактов».

 

 

Рис. 24

 

 

Рис. 25

 

5. Присвойте элементам сети переменные.


 

 

Рис. 26

6. Добавьте новую сеть.

 

 

Рис. 27

 

7. Вставьте функциональный блок RS -триггер:

 

 

 

Рис. 28

 

8. Присвойте входам и выходу триггера соответствующие переменные, после чего фрагмент программы будет иметь вид.

 

 

Рис. 29

 

9. Допишите остальную часть программы, откомпилируйте ее, загрузите в симулятор, запустите его, добавьте необходимые переменные в окно мониторинга и проверьте работу программы. На этом этапе в симуляторе должны выполняться программы ST1, IL1 и LD1, каждая в своем адресном пространстве, убедитесь в этом.

 

УПРАЖНЕНИЕ 4

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

 

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

 

 

Рис. 30

 

1. Остановите симулятор и создайте новую программу FBD 1 на языке FBD, добавив ее к активному ресурсу. Включите сетку (View -> Grid (CFC)).

 

2. Опишите переменные. Описание переменных не отличается от редактора ST. Функциональные блоки - T 1_FBD и T 2_ FBD. Обратите внимание на адреса сигналов.

 

Название сигнала Аппаратный адрес Тип переменной
Valve_In_FBD AT%I3.0 Bool
Reset_FBD AT%I3.1 Bool
Pump_In_FBD AT%I3.2 Bool
And1_FBD Нет Bool
And2_FBD Нет Bool
Valve_Control_FBD AT%Q3.0 Bool
Pump_Control_FBD AT%Q3.2 Bool

 

3. В панели инструментов выберите Insert -> Block, NOT(*BOOL*) (логическое отрицание) и вставьте блок правым кликом мыши в левый верхний квадрат и добавьте остальные блоки.

 

 

Рис. 31

 

4. Назначьте входам – входные, а выходам – выходные переменные:

 

Рис. 32

 

5. Соедините блоки, выбрав мышкой необходимые выводы и применив инструмент Connection.

 

 

Рис. 33

 

6. Откомпилируйте программу, загрузите ее в симулятор и убедитесь в работоспособности всех четырех программ в адресном пространстве PLC -симулятора, защитите вашу работу. Закройте OpenPCS и переместите ваш проект директорию. На этом лабораторная работа закончена.

 

Контрольные вопросы

1. Почему для сигнала Valve_In_ в программах тип переменной указан как Bool?

2. Каким образом можно откомпилировать активный ресурс?

3. Сколько устройств, аналогичных рассмотренному в лабораторной работе, можно подключить к данному симулятору?

4. В каком случае удобнее использовать язык ST, а в каком FBD?

Требования по содержанию отчета

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

Контроллере Elsy-TM

 

Цель работы: Создание программ на языках стандарта IEC 6 1131-3 и их отладка в контроллере Elsy-TM.

В данной лабораторной работе требуется создать, новый ресурс, функциональный блок (другими словами это процедура, которая может иметь сложную структуру внутри и выглядеть очень простой внешне, имеющей входы и выходы). Кроме этого необходимо выполнить программу при помощи функционального блока (ФБ) с указанием этого блока в программе, при этом отладка будет производиться не в PLC-симуляторе OpenPCS 2006, а непосредственно в контроллере Elsy-ТМ.

1. Скопируйте папку проекта FAMILIYA из личной директории в директорию ws143-xx.

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

2. Запустите OpenPCS (ярлык на рабочем столе или программная группа Infoteam OpenPCS 2006 в главном меню).

 

3. Откройте проект (File->Project->Open), путь C:\ws143-xx\FAMILIYA\ FAMILIYA.VAR

 

4. Создайте новый ресурс с именем startstop (“File->New...”, и выберите Resource). Сделайте его активным (рис.34).

 

 

Рис. 34. Создание нового ресурса

 

5. Проверьте и при необходимости настройте параметры соединения. Для этого перейдите в главном меню OpenPCS “PLC->Connections...”. Активным должно быть выбрано соединение PLCXX, где XX -номер вашего лабораторного стенда, обязательно 2 цифры (например, для стенда №7 активным должно быть соединение PLC 07). Далее проверьте параметры этого соединения. Для этого нажмите кнопку Edit справа. Появится окно настроек. В строке Name должно быть PLCXX, в строке Driver – TCP (если драйвер другой, выберите TCP с помощью кнопки Select), далее нажмите Settings и проверьте номер порта (9988) и IP-адрес.

 

Номер порта и IP-адрес выбираются по табличным данным.

 

Рабочее место № IP-адрес контроллера Рабочее место № IP-адрес контроллера
  192.168.0.111   192.168.0.171
  192.168.0.121   192.168.0.181
  192.168.0.131   192.168.0.191
  192.168.0.141   192.168.0.201
  192.168.0.151   192.168.0.211
  192.168.0.161   192.168.0.221

 

6. Проверьте (при необходимости настройте) Resource Properties, вашего ресурса (меню OpenPCS “ PLC-> Resource Properties...”). В качестве аппаратного модуля (Hardware Module) должен быть выбран ElsyTM, сетевое подключение (Network Connection) - настроенное п.5 подключение PLCXX (Рис.35). Остальное оставить без изменений.

 

 

Рис. 35 Настройка ресурса

 

УПРАЖНЕНИЕ 1

Создание ФБ и программы c физическими адресами

контроллера и загрузка её в ПЛК.

 

1. Создайте ФБ с именем Start_Stop на языке программирования ПЛК–ST (рис.36).

 

Рис. 36 Создание функционального блока

 

2. Опишите переменные исходя из табличных данных.

 

Название сигнала Вид переменной Тип переменной
Valve_ I n входной Bool
Reset входной Bool
Pump_In входной Bool
And1 внутренний Bool
And2 внутренний Bool
Valve_Control выходной Bool
Pump_Control выходной Bool

 

3. Опишите функциональные блоки T1_PLC:RS и T2_PLC:RS (рис.37).

 

 

Рис.37 Описание функциональных блоков

 

4. Создайте код ФБ который реализует логику старт-стоп (аналогичный код был создан в предшествующей лабораторной работе).

 

5. Проверьте ФБ на синтаксические ошибки: при отсутствии ошибок в ресурсе ФБ появится в меню вставки ФБ. В редакторе переменных вызовите меню (нажав правой кнопкой мыши на поле) как на рисунке 38, и удостоверьтесь в наличии вашего блока.

 

Рис.38. Проверка наличия созданного блока

 

6. Импортируйте 2 файла Variables. POE и Transport.ST из папки Методические указания (рис.39).

Откройте код импортированных файлов и проверьте синтаксические ошибки в них, для создания РОЕ файлов (Program O rganization Element – элемент программной организации), который необходим для создания PCD файла (Project Compiling Data – компилированные данные проекта).

 

 

Рис.39. Импорт файлов

 

7. Добавьте импортированные файлы к активному ресурсу (рис.40).

 

 

Рис. 40. Добавление файлов

 

8. Создайте новую программу с именем Familia1 на языке FBD. Откройте Variables.POE – здесь описаны глобальные переменные, которые перекладываются в физические адреса ПЛК Elsy-TM в Transport.ST. Скопируйте переменные из Variables.POE в вашу программу.

 

 

Название сигнала Вид переменной Тип переменной
D_ In_3_1 внешняя Bool
D_ In_3_2 внешняя Bool
D_ In_3_3 внешняя Bool
D_Out_1_1 внешняя Bool
D_Out_1_2 внешняя Bool
D_Out_2_1 внешняя Bool
D_Out_2_2 внешняя Bool

Опишите функциональный блок Start_stop 1: Start_stop; во внутренние переменные. Вставьте функциональный блок Start_stop (вход D_In _3_2 необходимо проинвертировать):

Соедините входы ФБ: Valve_IN с D_In_3_3,

Reset с D_In_3_2,

Pump_In с D_In_3_1,

выхода: Valve_Control с D_Out_1_1 и D_Out_2_1,

Pump_Control с D_Out_1_2 и D_Out_2_2.

 

9. Проверьте программу на синтаксические ошибки. Откомпилируйте (plc-> bild), свяжитесь (plc-> online) и прошейте программу в ПЛК Elsy-TM. Запустите программу в контроллере при помощи Open PCS 2006 PLC -> Coldstart или соответствующей кнопкой на панели инструментов. Признаком того, что программа запущенна в контроллере служит мигающий индикатор на модуле ТС505 (рис.41).

 

 

Рис.41. Вид индикатора на модуле

 

10. При помощи пульта расположенного на учебном лабораторном стенде (рис.42) проверьте правильность работы программы и ФБ. При правильной работе, реакция на кратковременное включение нижнего тумблера - откачка из емкости, на средний – сброс, верхний – набор в емкость.

 

 

Рис.42. Вид пульта на стенде

 

Контрольные вопросы

1. Как создать и активизировать новый ресурс?

2. Как проверить функциональные блоки на наличие в них синтаксических ошибок?

3. Почему необходимо добавить к активному ресурсу файлы Variables.POE и Transport.ST?

Требования по содержанию отчета

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

 

 

Создание S7-программ

Программа пользователя создается в каталоге (в объекте) S7 Program. Вы можете назначать этот объект в объекте CPU в структурной иерархии проекта, или вне зависимости от CPU. В свою очередь объект S7 Program включает в себя объект Symbols (Символы) и каталоги Source Files (Исходные файлы) и Blocks (Блоки) (см. рис. 48).

 

Рис. 48 Объекты, участвующие при генерации программы

 

В случае создания программы путем написания исходных файлов (" source-oriented ") Вы должны создать одну или несколько исходных программ и сохранить их в виде файлов в каталоге Source Files (Исходные файлы). Исходные программы - это текстовые файлы формата ASCII, которые содержат операторы программы для одного или нескольких блоков, возможно даже целиком всю программу. Необходимо скомпилировать исходные программы; далее скомпилированные блоки программы помещаются в каталог Blocks (Блоки). Скомпилированные блоки содержат код MC7 и выполняются в S7 CPU.

В случае создания программы "инкрементным" путем (" incremental "),- методом добавления, требуется вводить программу блок за блоком. Вводимые блоки немедленно проверяются на наличие синтаксических ошибок. При поступлении команды на сохранение блок сначала компилируется, затем сохраняется в каталоге Blocks (Блоки). При создании программы данным методом можно также редактировать блоки в интерактивном (online) режиме в CPU, даже во время рабочего режима.

В программе обрабатываются значения сигналов или значения адресов. Адрес - это, например, вход I1.0 (абсолютная адресация). С помощью таблицы символов Symbol Table в объекте Symbols, можно назначить адресу символьное имя, например, "Switch motor on" ("Включение мотора") и после этого обращаться к этому адресу, используя данное символьное имя (символьная адресация). В свойствах автономного объекта Blocks (Блоки) можно определить, каким способом будут адресоваться переменные в таблице символов (Symbol Table) после корректировки - абсолютным или символьным в уже скомпилированных блоках, согласно приоритету адресации (address priority).

 

Таблица символов (Symbol Table)

В управляющей программе работа производится с адресами, т.е. с входами, с выходами, таймерами и блоками. Студент может назначить абсолютные адреса (например, I1.0) или символьные адреса (например, Start signal [сигнал запуска]). При символьной адресации используются символьные имена. Это делает программу легко читаемой, благодаря тому, что символьные имена несут смысловую нагрузку. При использовании символьной адресации различаются локальные (local) и глобальные (global) символы (символьные имена). Локальный (local) символ распознается только в блоке, в котором они определены. Поэтому при необходимости можно использовать одинаковые локальные символьные имена в различных целях в разных блоках. Глобальный символ распознается в любом месте программы и имеет одинаковое значение во всех блоках программы. Студент должен определить глобальный символ в таблице символов (объект Symbols в каталоге S7 Program). Глобальный символ начинается с символа алфавита и может иметь в длину до 24 символов. Глобальный символ может также содержать пробелы, специальные символы и национальные символы.

Исключения составляют символы 00 hex, FF hex и кавычки ("). При программировании необходимо заключать спецсимволы в кавычки. В скомпилированном блоке программный редактор отображает все глобальные символы в кавычках. Комментарий к символу может составлять в свою очередь запись из 80 символов. В таблице символов можно назначать имена следующим адресам и объектам:

Ø Входам I, выходам Q, периферийным входам PI и выходам PQ;

Ø Маркерам M, таймерам T и счетчикам C;

Ø Блокам кодов OB, FB, FC, SFC, SFB и блокам данных DB;

Ø Типам данных, определенным пользователем, UDT;

Ø Таблице переменных VAT.

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

При создании S7-программ SIMATIC Manager создает также пустую таблицу символов Symbols. Студент может открыть эту таблицу и определить глобальные символы и назначить их абсолютным адресам (рис. 49).

 

 

Рис. 49 Пример таблицы символов Symbol Table

 

В S7-программе может быть только одна таблица символов Symbols. Тип данных является частью определения символа. Он определяет особые свойства данных, в частности представление содержимого данных. Например, тип данных BOOL идентифицирует двоичную переменную, а тип данных INT обозначает переменную в цифровой форме, содержание которой определяется 16-битным целым числом.

В случае "инкрементного" программирования создается таблица символов до ввода программы; здесь можно также добавить или скорректировать отдельные символы во время ввода программы. При создании программы путем, ориентированным на создание исходных текстов программы готовая таблица символов должна быть доступна к моменту компиляции программы.

Для выполнения практических упражнений по STEP 7 в этом руководстве потребуется следующее:

Ø Устройство программирования фирмы Siemens или PC;

Ø Пакет программного обеспечения STEP 7 и авторизационная дискета;

Ø Программируемый контроллер SIMATIC S7-300 или S7-400.

Дополнительная документация по STEP 7:

Ø Базовая информация по STEP 7;

Ø Справочная информация по STEP 7.

Создание программы в OB1

В STEP 7 программы S7 создаются на стандартных языках программирования: контактный план (LAD), список операторов (STL) или функциональный план (FBD), рисунок 54. На практике необходимо решить, какой язык использовать.

 

 

Рис. 54 Стандартные языки программирования

 

Блок OB1 теперь откроется в соответствии с языком, который вы выбрали при создании блока в мастере проекта. Однако вы можете в любое время изменить язык программирования, установленный по умолчанию.

Копирование таблицы символов и открытие OB 1

Для копирования таблицы символов необходимо открыть свой проект "Getting Started". Для этого щелкните на кнопке Open [Открыть] на панели инструментов, выберите проект "Getting Started", который был создан, и подтвердите с помощью OK.

В зависимости от того, какой язык программирования решено использовать, откройте один из следующих проектов:

Ø zEn01_06_STEP7__ LAD _1-9;

Ø zEn01_02_STEP7__ STL _1-9;

Ø zEn01_04_STEP7__ FDB _1-9.

В методических указаниях приведены все три примера проектов. Необходимо открыть „zEn01_XXX“ и достигнуть компонент Symbols [Символы]. Далее студент может скопировать его с помощью буксировки в папку S7 Program в окне своего проекта "Getting Started". Затем окно „zEn01_XXX“ закрывается. Дважды щелкнув на OB 1 в проекте "Getting Started" и откроется окно для программирования LAD/STL/FBD.

Буксировка означает, что вы щел


Поделиться с друзьями:

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.266 с.