Смекни!
smekni.com

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

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. Дополните сеть до элемента «И» и проинвертируйте один из «контактов».