Страница 1 из 2

Пуск-стоп двигателя

Добавлено: 05 сен 2018, 08:02
mish17
Здравствуйте. Изучаю LabVIEW недавно. До этого программировал только ПЛК. Поделитесь, пожалуйста, примером. Задача Пуск - останов двух двигателей в двух режимах: Ручной - кнопками, автоматический переключение через 24ч.

Re: Пуск-стоп двигателя

Добавлено: 05 сен 2018, 08:26
Kosist
Для начала нужно с железом определиться, а затем код под него писать. Вы же двигатель напрямую к компу не подключите? :wink:

Re: Пуск-стоп двигателя

Добавлено: 05 сен 2018, 10:05
mish17
Да,у меня контроллер sbrio-9607.и написать программу в одном цикле с помошью булевых операций в принципе несложно,но это будет не расширяемое приложение.А хотелось бы посмотреть пример в стиле машины состояний.

Re: Пуск-стоп двигателя

Добавлено: 05 сен 2018, 13:24
Borjomy_1
Входы-выходы какие? что планируете расширять? Количество двигателей?

Re: Пуск-стоп двигателя

Добавлено: 05 сен 2018, 13:39
mish17
Входы-выходы RMC NI 9684. Хочется разобраться в принципе построения программ на примере простой насосной установки да 2 насоса ( на плк проект можно сделать за день).2 режима работы: ручной с кнопок пуск/стоп на дискретных входах, автоматический - пид регулятор с переключением нососов по времени и авариии; 2 режима управления: местный и с Host LabVIEW.

Re: Пуск-стоп двигателя

Добавлено: 05 сен 2018, 14:15
Borjomy_1
ПИД регулятор на основе чего работает? аналоговые входы-выходы? откуда задание? Короче, опишите все входные и выходные величины. А то у вас помимо таймера, еще и пид регулятор появился.

Re: Пуск-стоп двигателя

Добавлено: 05 сен 2018, 14:23
mish17
Про ПИД регулятор я написал, чтобы четко отделить ручной от автоматического режима. Но в целом да-аналоговый вход-датчик давления, аналоговый выход- задание на ПЧ 0-5В.

Re: Пуск-стоп двигателя

Добавлено: 05 сен 2018, 14:32
mish17
Задача: управление насосной станцией из 2-х насосов.
Режим управления местный(сигнал на дискретном входе):
Режим ручной: управление кнопками пуск-стоп каждого насоса( сигналы приходят на дискретные входы) задание частоты -0-5В, фиксированное -максимальное(5В).
Режим автоматический (сигнал на дискретном входе):переключение насосов по времени или по аварии(например нет сигнала включения соответствующего контактора), задание частоты-ПИД регулятор требуемое давление на одном аналоговом входе, текущее давление на другом аналоговом входе, задание на ПЧ -аналоговый выход.

Режим управления удаленный- с Host :
Режим ручной: управление кнопками пуск-стоп каждого насоса( сигналы на панели компьютера) задание частоты -0-5В, фиксированное -задается с панели компьютера.
Режим автоматический :переключение насосов по времени или по аварии(например нет сигнала включения соответствующего контактора), задание частоты-ПИД регулятор: требуемое давление-задается на панели компьютера, текущее давление на аналоговом входе, задание на ПЧ -аналоговый выход.

Re: Пуск-стоп двигателя

Добавлено: 05 сен 2018, 14:54
Borjomy_1
Не совсем стиль машины состояний... При возникновении аварии в авто режиме насос переключается из выключенного во включенный и наоборот. Если сигнал аварии один на два двигателя, то один включится, другой выключится. Запускать машину надо в ручном режиме.

Re: Пуск-стоп двигателя

Добавлено: 05 сен 2018, 15:25
mish17
Спасибо за пример. Для меня основная сложность возникает не написание алгоритма на уровне Real-Time контроллера, а получение команд с верхнего уровня. Здесь в примере режим ручной только для местного режима-это 1 кейс структура, если добавить еще выбор режима управления, то добавить еще одну кейс или в той же структуре вводить 4 состояния: Местный ручной, Местный автоматический, Удаленный ручной, удаленный автоматический?

Re: Пуск-стоп двигателя

Добавлено: 05 сен 2018, 15:54
Borjomy_1
Думаю, старт, стоп и режим надо переключать с местного на удаленный в одном месте. Логика управления не меняется, меняется только источник (местный или удаленный). Также надо решить вопрос с возможной неконсистентностью данных. Например, положение переключателя режима в разных источниках. Кнопки-то работают по нажатию, а режим - нет

Re: Пуск-стоп двигателя

Добавлено: 05 сен 2018, 16:03
mish17
Режим мест/удаленный логично изменять в одном месте. Я сегодня подготовлю проект, как его вижу я. Думаю с этого надо было начинать.

Re: Пуск-стоп двигателя

Добавлено: 06 сен 2018, 09:35
mish17
Выкладываю пример организации передачи команд с верхнего уровня на контроллер. Вопрос вот чем: Если строить логику работы на основе конечного автомата, какие-то команды игнорируются, какие-то принимаются в зависимости от текущего состояния станции. Это значит для каждой команды с верхнего уровня выделяется case, внутри которого еще case состояния системы? И как отслеживать допустим состояние контактора в нескольких состояниях? А кнопку аварийного останова необходимо отслеживать во многих состояниях.(в добавление к физическому разрыву цепей управления)?

Re: Пуск-стоп двигателя

Добавлено: 06 сен 2018, 16:44
IvanLis
mish17 писал(а):Выкладываю пример организации передачи команд с верхнего уровня на контроллер.
Не думаю, что кто-то установит себе LV2018, что бы посмотреть Ваш код.
Тем более в профиле написана версия 2017.

Re: Пуск-стоп двигателя

Добавлено: 06 сен 2018, 16:48
mish17
Вроде сохранял в 2014.