Приклад об'єктного проектування
Например, если анализ сигнала нагрузки запрещен (бит 6 входа END равен 0), то команды выключения CMD=2 и STS=7 выполняются аналогично описанной выше команде включения. Т. е. при подаче команды выход STS блока принимает значение 10, а выход OFF — значение 1 (сигнал управления выключением двигателя). Далее блок ожидает сброса сигнала датчика включения (т.е. обнуления бита 0 входа END). Максимальное… Читати ще >
Приклад об'єктного проектування (реферат, курсова, диплом, контрольна)
Цель: Создание элементарного АРМ насосной станции на примере объектного проектирования.
Итоговый экран создания элементарного АРМ Описание программы Н_упр
PROGRAM.
VAR_INPUT Руч_упр: INT; END_VAR.
VAR_OUTPUT Статус: INT; END_VAR.
VAR_INPUT Авария: INT; END_VAR.
VAR_OUTPUT Видео: INT; END_VAR.
VAR_OUTPUT Н_вкл: INT; END_VAR.
VAR_OUTPUT Н_выкл: INT; END_VAR.
Насос (Руч_упр, Статус, Авария, Н_вкл, Н_выкл);
if Статус==1 THEN.
Видео=1;
ELSE.
Видео=0;
END_IF;
END_PROGRAM.
объектный проектирование программа Данный блок предназначен для управления устройством типа «двигатель», снабженного командными входами включения и выключения. Двигатель также может вырабатывать следующие сигналы диагностики — «включен», «выключен» и «наличие/отсутствие нагрузки». По этим сигналам блок MOTOR может анализировать состояние устройства.
Блок MOTOR может находиться в следующих режимах:
режимы диагностики и управления (включено, выключено и резерв). В этих режимах блок непрерывно анализирует состояние двигателя и готов к исполнению команды управления;
режимы ремонт, авария и режим ожидания подтверждения перевода в режим резерв. В этих режимах блок не анализирует состояние двигателя и не готов к исполнению команды управления.
Блок имеет следующие функциональные входы:
CMD — этот вход предназначен для подачи команд управления двигателем при CHK=0:
- 1 — команда включения двигателя;
- 2 — команда выключения двигателя;
STS — этот вход предназначен для подачи команд управления двигателем и команд перевода блока в нужный режим:
- 0 — запрет изменения состояния двигателя по команде CMD или CHK;
- 1 — команда включения двигателя, имеет более низкий приоритет по сравнению с командами CMD и CHK;
- 2 — команда перевода блока в режим выключено;
- 3 — команда перевода блока в режим ожидания подтверждения перевода в режим резерв; если блок определяет, что двигатель находится в состоянии «включен», одновременно запускается процедура выключения двигателя (описание этой процедуры приведено ниже);
- 4 — команда перевода блока в режим ремонт; если блок определяет, что двигатель находится в состоянии «включен», одновременно запускается процедура выключения двигателя (описание этой процедуры приведено ниже);
- 5 — команда перевода блока в режим авария; если блок определяет, что двигатель находится в состоянии «включен», одновременно запускается процедура выключения двигателя (описание этой процедуры приведено ниже);
- 6 — обнуление выхода ERR;
- 7 — команда выключения двигателя, имеет более высокий приоритет по сравнению с командами CMD и CHK;
- 8 — команда перевода блока в режим резерв; если блок определяет, что двигатель находится в состоянии «включен», одновременно запускается процедура выключения двигателя (описание этой процедуры приведено ниже);
- 9 — команда подтверждения перевода блока в режим резерв;
Полное описание команд STS приведено в таблицах ниже.
END — по значению этого входа блок анализирует состояние двигателя. С помощью END можно также разрешить/запретить анализ сигналов диагностики двигателя. Установленные в 1 биты этого входа интерпретируются следующим образом:
- 0 бит — двигатель включен (получено подтверждение от датчика включения);
- 1 бит — двигатель выключен (получено подтверждение от датчика выключения);
- 2 бит — получен сигнал от датчика нагрузки (наличие нагрузки двигателя подтверждено);
- 3 бит — состояние двигателя не определено;
- 4 бит — анализ сигнала датчика включения отключен;
- 5 бит — анализ сигнала датчика выключения отключен;
- 6 бит — анализ сигнала датчика нагрузки включен;
- 7 бит — состояние двигателя не определено.
По умолчанию анализ датчиков включения и выключения разрешен, а анализ датчика нагрузки запрещен.
dT — максимальная длительность сигналов, генерируемых на выходах ON и OFF (в секундах). Этот параметр задает также время ожидания сброса сигналов датчиков (см. описание выхода ERR);
ALR — ненулевое значение этого входа интерпретируется как команда аварийного выключения двигателя, при этом блок переводится в режим авария. Эта команда имеет наивысший приоритет. При ALR0 OFF=1, после чего OFF принимает значение 0 только по истечении dT секунд с момента обнуления ALR;
T — в течение (dT+T) секунд с момента подачи команды блок ожидает прихода подтверждающих сигналов датчиков (см. описание выхода ERR). Если отключен анализ датчика включения, T должно быть отлично от 0;
CHK — при ненулевом значении этого входа блок переходит в режим отладки, при этом CHK используется для подачи команд управления двигателем (вход CMD игнорируется):
- 1 — команда включения двигателя;
- 2 — команда выключения двигателя.
При CHK0 выход STS индицирует коды, увеличенные на 16.
Выходы данного блока имеют следующее назначение:
STS — коды, индицируемые на этом выходе, соответствуют следующим сочетаниям состояния двигателя и режима работы блока (в скобках даны значения при CHK0):
- 0 (16) — состояние двигателя не определено;
- 1 (17) — двигатель включен, режим блока — включено;
- 2 (18) — двигатель выключен, режим блока — выключено;
- 3 (19) — двигатель выключен, режим блока — резерв;
- 4 (20) — двигатель выключен, режим блока — ремонт;
- 5 (21) — двигатель включен или выключен, режим блока — авария;
- 9 (25) — выход STS принимает это значение на время исполнения команды включения двигателя;
- 10 (26) — выход STS принимает это значение на время исполнения команды выключения двигателя;
- 11 (27) — двигатель выключен, блок ожидает подтверждения перевода в режим резерв;
- 12 (28) — выход STS принимает это значение только при старте пересчета в следующих ситуациях:
CHK=1 (или CMD=1 при CHK=0), END=65, STS=1,2 — двигатель включен внешними средствами, при этом нагрузка отсутствует (т.е. двигатель включен, но не совершает полезной работы);
CHK=0, CMD=1, END=65 и STS=3,7,8 — двигатель включен внешними средствами, при этом отработать команду STS невозможно, т. е. в этой ситуации блок не вырабатывает сигнал управления выключением на выходе OFF;
CHK=0, CMD=1, END=65 и STS=4,5 — устройство включено внешними средствами; выход STS принимает значение 12 на один такт пересчета, после чего отрабатывается команда STS, т. е. в этой ситуации блок вырабатывает сигнал управления выключением на выходе OFF;
CHK=1, END=65 и STS=3,4,5,7,8 — устройство включено внешними средствами, при этом отработать команду STS невозможно, т. е. в этой ситуации блок не вырабатывает сигнал управления выключением на выходе OFF;
ON — на этом выходе генерируется сигнал управления включением;
OFF — на этом выходе генерируется сигнал управления выключением;
ERR — характеристика аварийной ситуации:
- 1 — одновременно присутствуют подтверждающие сигналы от датчиков включения и выключения;
- 2 — двигатель выключен внешними средствами (т.е. не с помощью блока MOTOR) или неисправен датчик выключения;
- 3 — двигатель включен внешними средствами или неисправен датчик включения;
- 4 — в течение (dT+T) секунд после подачи команды выключения не пришел подтверждающий сигнал от датчика выключения;
- 5 — в течение (dT+T) секунд после подачи команды включения не пришел подтверждающий сигнал от датчика включения;
- 6 — в течение dT секунд после подачи команды включения не сброшен сигнал датчика выключения;
- 7 — в течение dT секунд после подачи команды выключения не сброшен сигнал датчика включения;
- 8 — блок переведен в режим авария по команде STS;
- 9 — отработана команда аварийного выключения двигателя ALR0;
- 10 — при включенном двигателе сброшен сигнал датчика нагрузки;
- 12 — не сброшен сигнал датчика нагрузки при выключении двигателя по команде STS=8 (или STS=9 после STS=3);
- 14 — при выключенном двигателе пришел сигнал, подтверждающий наличие нагрузки.
Если анализ всех сигналов диагностики разрешен (установлен в 1 бит 6 входа END) и подана команда включения, выход STS блока принимает значение 9, а выход ON — значение 1 (сигнал управления включением двигателя). Далее блок ожидает сброса сигнала датчика выключения (т.е. обнуления бита 1 входа END). Максимальное время ожидания сброса — dT секунд. Если за это время сигнал не сброшен, STS (выход)=5, ERR=6, ON=0 и дальнейшее выполнение процедуры включения прерывается. (Следует иметь в виду, что двигатель может быть уже включен к этому моменту — если, например, датчик выключения неисправен). Если за время dT сигнал датчика выключения сброшен, блок ожидает прихода сигналов, подтверждающих включение двигателя и наличие нагрузки (т.е. установки в 1 битов 0 и 2 входа END). Эти сигналы должны прийти либо одновременно со сбросом сигнала датчика выключения (но не раньше), либо в интервале времени от момента сброса до момента (dT+T) секунд (очередность прихода подтверждающих сигналов не важна). Если это условие не выполняется, STS (выход)=5, ERR=5 или 10 и дальнейшее выполнение процедуры включения прерывается. Если в течение указанного интервала времени подтверждающие сигналы получены, двигатель считается включенным, STS (выход)=1 и блок переходит в режим включено.
Если все условия включения выполнены за время, меньшее dT, ON=0 одновременно с выполнением последнего условия.
Исполнение команды выключения зависит от способа ее формирования, а также от значения бита 6 входа END, определяющего разрешение/запрет анализа сигнала датчика нагрузки.
Например, если анализ сигнала нагрузки запрещен (бит 6 входа END равен 0), то команды выключения CMD=2 и STS=7 выполняются аналогично описанной выше команде включения. Т. е. при подаче команды выход STS блока принимает значение 10, а выход OFF — значение 1 (сигнал управления выключением двигателя). Далее блок ожидает сброса сигнала датчика включения (т.е. обнуления бита 0 входа END). Максимальное время ожидания сброса — dT секунд. Если за это время сигнал не сброшен, STS (выход)=5, ERR=7, OFF=0 и дальнейшее выполнение процедуры выключения прерывается. (Двигатель может быть уже выключен к этому моменту — если, например, датчик включения неисправен). Если за время dT сигнал датчика включения сброшен, блок ожидает прихода сигнала, подтверждающего выключение двигателя (т.е. установки в 1 бита 1 входа END). Этот сигнал должен прийти либо одновременно со сбросом сигнала датчика включения (но не раньше), либо в интервале времени от момента сброса до момента (dT+T) секунд. Если это условие не выполняется, STS (выход)=5, ERR=4 и дальнейшее выполнение процедуры выключения прерывается. Если в течение указанного интервала времени подтверждающий сигнал получен, двигатель считается выключенным, STS (выход)=2 и блок переходит в режим выключено. Если все условия выключения выполнены за время, меньшее dT, OFF=0 одновременно с выполнением последнего условия.
Динамика исполнения других команд выключения описана в таблицах ниже.
Если анализ какого-либо сигнала диагностики запрещен, условие, в котором проверяется сброс/приход такого сигнала, считается заведомо выполненным.
Если запрещен анализ всех сигналов диагностики, считается, что двигатель перешел в заданное состояние («включен» или «выключен») по истечении времени (dT+T) секунд с момента подачи команды, при этом блок переходит в соответствующий режим, а выход STS принимает соответствующе значение.
Ниже в таблицах приведена динамика исполнения команд, возможных в различных режимах блока. Указаны также допустимые переходы блока из режима в режим. Числа в заголовках столбцов соответствуют значениям выхода STS. Прочерк обозначает игнорирование команды STS. Корректное изменение значения входа END в течение требуемого времени, необходимое для отработки команды полностью, обозначено как «END=TRUE». Невыполнение любого условия обозначено как «FALSE». При нарушении условия стандартным следствием является STS=5(21) и ERR="код ошибки"; это следствие в таблице опущено. «Проверка END» обозначает, что завершение действия зависит от значения входа END. Обозначение «ON=1» и «OFF=1» подразумевает установку выхода в 1 на время, не превышающее dT секунд с момента подачи команды.
Входные-выходные аргументы программы Н_упр Вывод: В данной лабораторной работе было создано управление приводами насосов. При подаче команды включения 1 сработает сработает генерация сигнала включения, затем подадим команду 8- насос включится. Таким образом возможно включить любой из приводов насоса.