|
SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании |
|
Опции темы | Поиск в этой теме |
19.01.2017, 16:55 | #1 |
Member
Регистрация: Jan 2017
Сообщения: 30
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Бассейн.
Доброго дня!
Пытаюсь реализовать алгоритм работы фильтровальной установки для бассейна, на контроллере PIXEL с дополнительными модулями. Выбор режимов: 1 Фильтрация 2 Промывка 3 Уплотнение 4 Опорожнение 5 Рециркуляция 6 Закрыто Текущий режим (фактическое положение крана) определяется состоянием дискретных входов 1 - 6. Кран на 6 положений вот такой(С самодельным приводом) Переключается режимы последовательно, включением привода и ожиданием изменения сигнала на входах. Если сигнал не меняется - сигнал аварии переключения. Схема блока показывающего текущий режим. Схема блока переключателя режимов Общая схема Как создать блок "расписание" которое будет выдавать на "переключатель режимов" код нужного в данный момент режима? Алгоритм расписания: Включить фильтрацию в ЗАДАННОЕ ВРЕМЯ и НА ЗАДАННОЕ ВРЕМЯ если режим АВТО активен И текущий режим 1(фильрация). Это сделано вроде бы... Если текущий режим отличен от 1 то переключиться на него. Если в процессе фильтрации ДАВЛЕНИЕ вырастет больше УСТАВКИ, отменить режим фильрации. Переключить на режим 2 (промывка) на время ДЛИТЕЛЬНОСТЬ ПРОМЫВКИ. Переключить на режим 3 (уплотнение) на время ДЛИТЕЛЬНОСТЬ УПЛОТНЕНИЯ. Переключиться обратно на режим 1(Фильтрация). Все остальные режимы должны выбираться вручную по MODBUS и с панели контроллера. (Ну это не важно сейчас...) ВО вложении текущая, недоделанная реализация расписания.. Как грамотно передать номер нужного режима? |
19.01.2017, 18:43 | #2 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Бассейн.
Смотря как вы хотите загружать... Я рекомендую вам использовать что-то вроде такой схемы (прикладываю макрос). Идея в том, что вы запоминаете из интерфейса "целевой режим" только тогда, когда пришло подтверждение. Грубо говоря, нажали "ок" на панельке. Для того, чтобы при ошибках и просто так ничего никуда не переходило. Можно потом (после выхода на режим) делать сброс регистра (вход r), чтобы там был нуль. Либо прописать другое значение, если это нужно.
Если же вы спрашиваете про передачу номера режима из расписания - то тут вам поможет мультиплексор. Вам нужно отслеживать состояния в расписании, при которых включается тот или иной режим. Поймать номера этих состояний и передать на мультиплексор, в котором на входе будут прописаны константы режимов, соответствующие состояниям. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
20.01.2017, 13:19 | #3 |
Member
Регистрация: Jan 2017
Сообщения: 30
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Бассейн.
Спасибо за идею с подтверждением перехода!
По второму вопросу: Вот получить адрес из булевых состояний я и не могу.... Или это получается очень громоздко. Получается у меня 4 выхода режимов 1 - значения 1\0 2 - значения 1\0 3 - значения 1\0 4 - значения 1\0 Логически я могу получить 16 состояний. В данный же момент мне нужен десятичный дешифратор. Что то типа древней микросхемы к155ид1. Только с одним выходом... |
20.01.2017, 13:26 | #4 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Бассейн.
Вот вам простой рецепт:
p.s. а для трим5 есть блок prcd =) __________________ В сегнетиксе не работаю с самого начала 2019 года. |
20.01.2017, 14:13 | #5 |
Member
Регистрация: Jan 2017
Сообщения: 30
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Бассейн.
ОМГ!! Как я это пропустил....?
Ведь читал же справку.... Спасибо! |
22.01.2017, 04:01 | #6 |
Member
Регистрация: Jan 2017
Сообщения: 30
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Бассейн.
Еще вопрос. Ткните носом новичка пожалуйста
Насколько я понимаю конструкция вида Выводит информацию в "выход" и на экран контроллера. При этом переменную "вход" я могу записать в контроллер по modbus. А переменную "выход" - считать. Так? При такой конфигурации: Я могу записать переменную "Вход" из modbus. И она пройдет на переменную выход. Смогу считать текущее значение переменной по modbus из переменной "Выход". Или я изменю параметр из меню контроллера и соответственно смогу считать его по modbus. Правильно? |
23.01.2017, 11:56 | #7 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Бассейн.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |