Просмотр полной версии : Как записать переменную в энергонезависимую память
Андрей 77
10.12.2022, 14:52
Добрый день.Решил первый раз написать простенькую программку для управления насосами сетевым и котловым насосом в авторежиме для ЦТП.Алгоритм такой при переключение переключателя в положения вкл, включается 1й насос далее таймер начинает отсчет 5 сек вкл электрический клапан после насоса на открытие, клапан открывается плавно время его полного хода откр и закр 7сек.Все насос в работе клапан открыт.При нажатие на кнопку стоп.Сначала закрывается клапан электрический и спустя 5 сек выкл насос.
В связи с этим несколько вопросов.1й как записать переменную в энергонезависимую память в случает когда выключится полностью питания ЦТП все остановится.При подачи питания что бы не включился насос а клапаны при этом включились на закрытие.
Далее на насосе стоят два реле давления на входе и выходе насоса.
Я указал что при падение давления перед насосом или после него приходит сигнал аварии и движок выключается.Но у меня получилось что после пропадание аварии двигатель опять сам вкл а мне этого не нужно.Я хочу как квитировать аварию.То есть если пришел сигнал авария и двигатель выкл то при пропадание аварийного сигнала двигатель сам не включался а ждал когда оператор сбросит сигнал аварии.Движки по 4кВт.
То есть если пришел сигнал авария и двигатель выкл то при пропадание аварийного сигнала двигатель сам не включался а ждал когда оператор сбросит сигнал аварии.Движки по 4кВт. Для этого есть триггер. И если оператор , то кнопка на пускателе.
Андрей 77
10.12.2022, 17:31
Для этого есть триггер. И если оператор , то кнопка на пускателе.
Я хотел бы полностью это автоматизировать.
Я хотел бы полностью это автоматизировать.
Это же Вы писали:
а ждал когда оператор сбросит сигнал аварии
Добавьте триггер. А сбрасывать как его будете , Вам решать.
Андрей 77
10.12.2022, 17:45
Это же Вы писали:
Добавьте триггер. А сбрасывать как его будете , Вам решать.
64453Вот в этой программе ломаю голову как сбросить все сигналы при поступление сигнала авария.
Андрей 77
10.12.2022, 17:52
Это же Вы писали:
Добавьте триггер. А сбрасывать как его будете , Вам решать.
64454Вот при приходе сигнала авария работает таймер а я бы хотел бы его отключить.
Андрей 77
10.12.2022, 17:53
Это же Вы писали:
Добавьте триггер. А сбрасывать как его будете , Вам решать.
64454Вот при приходе сигнала авария работает таймер а я бы хотел бы его отключить.64455
как сброс аварии будет осуществляться, как Вы озвучили вручную или по таймеру например.
Поищите много подобных решений, связанных с насосами выкладывали люди.
kondor3000
10.12.2022, 18:06
64454Вот при приходе сигнала авария работает таймер а я бы хотел бы его отключить.64455
Если вы хотите сбросить таймер при аварии, то надо записать в таймер время 0, это делается SEL и с его выхода Writ_To_FB
Андрей 77
10.12.2022, 18:07
Вы бы написали назначения выходов, и что хотите получить, т.е. задачу вашу. Чтоб никто не гадал что за клапана , как сброс аварии будет осуществляться, как Вы озвучили вручную или по таймеру например.
Выхода дискретные, я подписал под выходами названия где насос где клапан.Клапан шаровый с электрическим приводом откр и закр.Алгоритм такой при вкл кнопки пуск вкл насос и вместе с ним начинает открываться электрический клапан он открывается 7 сек далее на насосе на входе и выходе стоят реле давления дискретные, если пришла авария с любого из них то должен выкл насос и начать закрываться электрический клапан.Желательно что переменные были записаны в энергонезависимую память что бы если вдруг будет отключения света клапан и при подачи питания клапан сначала закрылся и только после этого можно было произвести пуск двигателя.
У клапанов внешние концевики есть?
Андрей 77
10.12.2022, 18:42
У клапанов внешние концевики есть?
Нет концевиков нет.Клапаны двух позиционные открыт закрыт.Подал питания он отрывается доконца подал питания от закрывается до конца.Не пойму как сбросить таймер в ноль через стернальную функцию SEL.Как ее туда записать?
Нет концевиков нет.Клапаны двух позиционные открыт закрыт.Подал питания он отрывается доконца подал питания от закрывается до конца.Не пойму как сбросить таймер в ноль через стернальную функцию SEL.Как ее туда записать?
Writ_To_FB на выход SEL. На один вход SEL время таймера в мс для норм. работы на другой 0. вход селект. на аварийный вых.
Андрей 77
10.12.2022, 19:07
Writ_To_FB на выход SEL. На один вход SEL время таймера в мс для норм. работы на другой 0. вход селект. на аварийный вых.
Спасибо разобрался.А последний вопрос какой блок поставить что бы при пропадание аварии у меня не вкл двигатель.Получается когда возникает авария двигатель выкл и вкл сирена.А когда авария уходит двигатель сам вкл так не должно быть.Хотел бы после аварии его запускать в ручную.Сейчас покажу скрин.644606446164462Получается при про падение аварии опять заново начинается процесс открыте клапана и запуск двигателя.А я хотел вручную включать после аварии.Как бы квитирование аварии происходила.
Один вариант кнопка без фиксации на пуск. Или детектор переднего фронта между 1 входом и триггером.
Андрей 77
10.12.2022, 19:36
Один вариант кнопка без фиксации на пуск. Или детектор переднего фронта между 1 входом и триггером.
Спасибо дружище все получилось))Такой еще вопросик как думаешь при выключение двигателя лучше сделать что бы двигатель работал а клапан закрывался при закрытие клапана двигатель работает еще допустим сек 5 и выкл.Или лучше при выкл двигателя сначала выкл двигатель он стоит и потом закрывается клапан?Какой вариант лучше?
Андрей 77
10.12.2022, 19:45
Один вариант кнопка без фиксации на пуск. Или детектор переднего фронта между 1 входом и триггером.
Еще подскажи пожалуйста как можно добавить доп выходы дискретные если добавить модуль расширения дискретный?
Спасибо дружище все получилось))Такой еще вопросик как думаешь при выключение двигателя лучше сделать что бы двигатель работал а клапан закрывался при закрытие клапана двигатель работает еще допустим сек 5 и выкл.Или лучше при выкл двигателя сначала выкл двигатель он стоит и потом закрывается клапан?Какой вариант лучше?
Тут надо по конструктиву смотреть, я не знаю где клапан и каково его предназначение, вообще это не клапан а задвижка с приводом судя по описанию.
Еще подскажи пожалуйста как можно добавить доп выходы дискретные если добавить модуль расширения дискретный?
О каком идет речь? Есть ПРМ Овен ,а может сетевые и не ОВЕН, в т.ч.
Андрей 77
10.12.2022, 21:05
О каком идет речь? Есть ПРМ Овен ,а может сетевые и не ОВЕН, в т.ч.
Речь о реле ПР200-24.8.2 16 Входов и 12 выходов могу ли я в среде овен лоджик написать проект с большим количеством выходов дискретных на этом реле с учетом если подключить доп модуль дискретных входов?
Андрей 77
10.12.2022, 21:11
Тут надо по конструктиву смотреть, я не знаю где клапан и каково его предназначение, вообще это не клапан а задвижка с приводом судя по описанию.
Клапан стоит после насоса, его предназначения открыть подачу воды и закрыть.64463Вот такой шаровый кран с приводом будут стоят на насосе.Просто не знаю как лучше по логики вещей лучше когда насос работает а задвижка закрывается что уменьшает перегрузку двигателя.Если его сразу тормозить а потом закрываться клапан тогда мне кажется бросок по току двигателя может быть.
Сергей0308
10.12.2022, 22:06
Речь о реле ПР200-24.8.2 16 Входов и 12 выходов могу ли я в среде овен лоджик написать проект с большим количеством выходов дискретных на этом реле с учетом если подключить доп модуль дискретных входов?
Откуда Вы такие модификации берете, в смысле, каких не существует в природе?!
Там максимальная цифра "5", у Вас "8", Вам самим это не кажется странным?
64464
Сергей0308
10.12.2022, 23:01
Если это допустимо технологически(может давление подняться), лучше закрыть задвижку на выходе центробежного насоса перед его выключением! Этим уменьшаем рабочий ток до минимума и уменьшится износ, в смысле, подгорание контактов пускателя, напомню, что они в основном подгорают при выключении двигателя!
Андрей 77
10.12.2022, 23:05
Откуда Вы такие модификации берете, в смысле, каких не существует в природе?!
Там максимальная цифра "5", у Вас "8", Вам самим это не кажется странным?
64464
64465А это тогда что за модификация?
Андрей 77
10.12.2022, 23:07
Если это допустимо технологически, лучше закрыть задвижку на выходе центробежного насоса перед его выключением! Этим уменьшаем рабочий ток до минимума и уменьшится износ, в смысле, подгорание контактов пускателя, напомню, что они в основном подгорают при выключении двигателя!
А как можно в программе доп входы дискретные добавить для модуля расширения дискретного?
64465А это тогда что за модификация?
Это ещё не вышедшая в продажу пр200 с кондуктометрическими входами.
Сергей0308
10.12.2022, 23:17
А как можно в программе доп входы дискретные добавить для модуля расширения дискретного?
Их никак не надо добавлять, в смысле, при добавления модуля расширения по внутренней шине(ПРМ), они сами добавятся!
Можно до двух(включительно) модулей расширения поставить!
Андрей 77
10.12.2022, 23:43
Их никак не надо добавлять, в смысле, при добавления модуля расширения по внутренней шине(ПРМ), они сами добавятся!
Можно до двух(включительно) модулей расширения поставить!
А не подскажите как можно записать переменные в энергонезависимую память , что бы при отключение напряжения и последующего его включения насос не включился а клапан начал закрываться.Что бы оператор смог включить снова насос.
Сергей0308
11.12.2022, 00:26
А не подскажите как можно записать переменные в энергонезависимую память , что бы при отключение напряжения и последующего его включения насос не включился а клапан начал закрываться.Что бы оператор смог включить снова насос.
Если я правильно понял и насос включается селекторным переключателем с фиксацией, то можно сделать примерно как-то так:
64466
Андрей 77
11.12.2022, 00:35
Если я правильно понял и насос включается селекторным переключателем с фиксацией, то можно сделать примерно как-то так:
64466
Да насос вкл селекторным переключателем с фиксацией.Это выходные переменные в них что прописать булевское значение и значение по умолчанию 0?
Сергей0308
11.12.2022, 00:48
Да насос вкл селекторным переключателем с фиксацией.Это выходные переменные в них что прописать булевское значение и значение по умолчанию 0?
Если это сигнал с селекторного переключателя, то логично переменную не делать энергонезависимой, я так понимаю Вы используете вместо связей переменные, а у не энергонезависимых переменных нельзя назначить значение по умолчанию, в смысле, проблема отпадёт сама-собой!
Вот, немного поправил:
64467
Андрей 77
11.12.2022, 00:54
Если это сигнал с селекторного переключателя, то логично переменную не делать энергонезависимой, я так понимаю Вы используете вместо связей переменные, а у не энергонезависимых переменных нельзя назначить значение по умолчанию, в смысле, проблема отпадёт сама-собой!
Вот, немного поправил:
64467Получается если переключатель вкл и пропало напряжение то все выкл клапан при этом будет открытым.Но при вкл питания насос начнет крутится на открытый клапан что не есть хорошо.Поэтому и хотел переменную клапана сделать энергонезависемой что бы насос не вкл а клапан закрываться начал.В переменной закрыть и насос что поставить 0 в значение по умолчанию?
Андрей 77
11.12.2022, 01:07
Если это сигнал с селекторного переключателя, то логично переменную не делать энергонезависимой, я так понимаю Вы используете вместо связей переменные, а у не энергонезависимых переменных нельзя назначить значение по умолчанию, в смысле, проблема отпадёт сама-собой!
Вот, немного поправил:
64467
В чем логика работы вашей схемы?
Сергей0308
11.12.2022, 01:09
Получается если переключатель вкл и пропало напряжение то все выкл клапан при этом будет открытым.Но при вкл питания насос начнет крутится на открытый клапан что не есть хорошо.Поэтому и хотел переменную клапана сделать энергонезависемой что бы насос не вкл а клапан закрываться начал.В переменной закрыть и насос что поставить 0 в значение по умолчанию?
Для этого я и усовершенствовал, если даже оператор ошибётся и захочет включить насос сразу после восстановления питания, то насос не запустится, пока кран не закроется!
И, посмотрел Ваши художества, в смысле, картинки, мне кажутся они очень странными, мягко выражаясь, если у Вас управление селекторным переключателем с фиксацией, зачем нужен второй сигнал "стоп", снятия первого сигнала "работа" разве не достаточно?
Вот так можно сделать с автоматическим закрытием-открытием шарового крана:
64468
Андрей 77
11.12.2022, 09:25
Для этого я и усовершенствовал, если даже оператор ошибётся и захочет включить насос сразу после восстановления питания, то насос не запустится, пока кран не закроется!
И, посмотрел Ваши художества, в смысле, картинки, мне кажутся они очень странными, мягко выражаясь, если у Вас управление селекторным переключателем с фиксацией, зачем нужен второй сигнал "стоп", снятия первого сигнала "работа" разве не достаточно?
Вот так можно сделать с автоматическим закрытием-открытием шарового крана:
64468
Спасибо за критику я пока еще не достаточно в теме, это моя первая программа я сел первый раз за программирования пр200 изучаю блоки.Буду благодарен если вы укажите на мои ошибки что бы в дальнейшем их не допускать.У вас да архитектура построения более правильная и красивая.Я размышлял что от одного селектора будет приходить два сигнала пуск вкл и стоп выкл селектора.Но если можно это сделать на один вход то это лучше экономит количество входов.А как мне проверить работу энергонезависимый переменой в эмуляторе?Как то можно это промоделировать типа отключения напряжение и появление снова напруги.
Андрей 77
11.12.2022, 09:27
Для этого я и усовершенствовал, если даже оператор ошибётся и захочет включить насос сразу после восстановления питания, то насос не запустится, пока кран не закроется!
И, посмотрел Ваши художества, в смысле, картинки, мне кажутся они очень странными, мягко выражаясь, если у Вас управление селекторным переключателем с фиксацией, зачем нужен второй сигнал "стоп", снятия первого сигнала "работа" разве не достаточно?
Вот так можно сделать с автоматическим закрытием-открытием шарового крана:
64468
Я свою программу в макрос объединил.Могли бы вы его глянуть и сказать что не так где я сделал ошибку.То что я пишу это не коммерческий проект, это моя так сказать идея которую я хотел бы реализовать.
Андрей 77
11.12.2022, 10:09
Для этого я и усовершенствовал, если даже оператор ошибётся и захочет включить насос сразу после восстановления питания, то насос не запустится, пока кран не закроется!
И, посмотрел Ваши художества, в смысле, картинки, мне кажутся они очень странными, мягко выражаясь, если у Вас управление селекторным переключателем с фиксацией, зачем нужен второй сигнал "стоп", снятия первого сигнала "работа" разве не достаточно?
Вот так можно сделать с автоматическим закрытием-открытием шарового крана:
64468
Мне не совсем понятно зачем сигналы входные записывать в локальные переменные что бы их потом передать какому ли бо блоку?Разнице ведь нет будет это линия связи или локальная переменная?
Сергей0308
11.12.2022, 11:28
Мне не совсем понятно зачем сигналы входные записывать в локальные переменные что бы их потом передать какому ли бо блоку?Разнице ведь нет будет это линия связи или локальная переменная?
Для удобства линии связи можно заменить локальными переменными, это одно и тоже в плане работы логики! При этом переменные не стоит делать энергонезависимыми, в смысле, для сохранения значения надо специальные механизмы предусматривать, кстати, в менеджере компонентов имеются соответствующие макросы, а для энергонезависимости ещё и саму переменную нужно сделать энергонезависимой!
Энергонезависимость невозможно проверить в симуляторе, только в железе, в смысле, в ПР, к тому же могут быть разные нюансы, типа переходных процессов при включении-выключении ПР, например сигналы на входах не сразу появляться-пропадать!
И, если выложите свой проект, могу и посмотреть, только лучше этого не делать, в смысле, если Вы в первый раз делаете, ничего хорошего сказать не получится, так Вы ещё и обидитесь, короче, проверили, работает, как Вы хотели, всё! Заливайте в ПР и проверяйте энергонезависимость, если честно, мне даже не понятно про какую энергонезависимость речь идёт, в смысле, она Вам здесь и не нужна, это из того, что я смог понять из вашего описания хотелок!
Может Вы хотите чтобы авария сохранялась и после выключения-включения ПР, тогда да, энергонезависимость нужна, а чтобы авария сохранялась при исчезновении внешнего сигнала авария, в этом случае(который Вы описываете) и энергонезависимость не нужна, достаточно RS-триггера!
Андрей 77
11.12.2022, 13:19
Мой вариант
64470
Отлично.А что значить флаг открытия?И у вас нет входов по аварии двигателя и реле давления насоса.
Андрей 77
11.12.2022, 13:21
Мой вариант
64470
64471Я сделал такой макрос для удобства.
Андрей 77
11.12.2022, 13:34
Для удобства линии связи можно заменить локальными переменными, это одно и тоже в плане работы логики! При этом переменные не стоит делать энергонезависимыми, в смысле, для сохранения значения надо специальные механизмы предусматривать, кстати, в менеджере компонентов имеются соответствующие макросы, а для энергонезависимости ещё и саму переменную нужно сделать энергонезависимой!
Энергонезависимость невозможно проверить в симуляторе, только в железе, в смысле, в ПР, к тому же могут быть разные нюансы, типа переходных процессов при включении-выключении ПР, например сигналы на входах не сразу появляться-пропадать!
И, если выложите свой проект, могу и посмотреть, только лучше этого не делать, в смысле, если Вы в первый раз делаете, ничего хорошего сказать не получится, так Вы ещё и обидитесь, короче, проверили, работает, как Вы хотели, всё! Заливайте в ПР и проверяйте энергонезависимость, если честно, мне даже не понятно про какую энергонезависимость речь идёт, в смысле, она Вам здесь и не нужна, это из того, что я смог понять из вашего описания хотелок!
Может Вы хотите чтобы авария сохранялась и после выключения-включения ПР, тогда да, энергонезависимость нужна, а чтобы авария сохранялась при исчезновении внешнего сигнала авария, в этом случае(который Вы описываете) и энергонезависимость не нужна, достаточно RS-триггера!
Спасибо за ответ.Да мне нужна энергонезависимость именно когда пропадет питания на пр 200 и потом снова появится хотелось бы что бы автоматика корректно завершила алгоритм работы.А то получится так клапан перед насосом открыт двигатель работает пропало напряжение и на движке и на пр200 при возобновление питания клапан открыт насос включился сразу на открытый клапан что создало перегрузку по току двигателя.Вот именно переменную клапан сделать энергонезависимой что бы после включения закрылся сначала клапан а двигатель не был в работе запуск только вручную.
Андрей 77
11.12.2022, 13:37
Для удобства линии связи можно заменить локальными переменными, это одно и тоже в плане работы логики! При этом переменные не стоит делать энергонезависимыми, в смысле, для сохранения значения надо специальные механизмы предусматривать, кстати, в менеджере компонентов имеются соответствующие макросы, а для энергонезависимости ещё и саму переменную нужно сделать энергонезависимой!
Энергонезависимость невозможно проверить в симуляторе, только в железе, в смысле, в ПР, к тому же могут быть разные нюансы, типа переходных процессов при включении-выключении ПР, например сигналы на входах не сразу появляться-пропадать!
И, если выложите свой проект, могу и посмотреть, только лучше этого не делать, в смысле, если Вы в первый раз делаете, ничего хорошего сказать не получится, так Вы ещё и обидитесь, короче, проверили, работает, как Вы хотели, всё! Заливайте в ПР и проверяйте энергонезависимость, если честно, мне даже не понятно про какую энергонезависимость речь идёт, в смысле, она Вам здесь и не нужна, это из того, что я смог понять из вашего описания хотелок!
Может Вы хотите чтобы авария сохранялась и после выключения-включения ПР, тогда да, энергонезависимость нужна, а чтобы авария сохранялась при исчезновении внешнего сигнала авария, в этом случае(который Вы описываете) и энергонезависимость не нужна, достаточно RS-триггера!Такой еще вопрос как думаете как лучше сделать к выходу реле подключить промежуточное реле и коммутировать сразу два двигателя при включении что бы при нажатие кнопки пуск вкл сразу два двигателя или лучше через промежуточное реле назначить каждый выход пр200 на свой двигатель?Я это к чему из за экономии выходов с пр200.
Сергей0308
11.12.2022, 13:45
Такой еще вопрос как думаете как лучше сделать к выходу реле подключить промежуточное реле и коммутировать сразу два двигателя при включении что бы при нажатие кнопки пуск вкл сразу два двигателя или лучше через промежуточное реле назначить каждый выход пр200 на свой двигатель?Я это к чему из за экономии выходов с пр200.
Каждый двигатель лучше запускать от своего пускателя(или ТТР или УПП), наличие ПР не отменяет силовой части установки и ПР выдаёт только управляющие сигналы!
Отлично.А что значить флаг открытия?И у вас нет входов по аварии двигателя и реле давления насоса.
Флаг открытия - это если вы включили, передумали и сразу выключили (т.е. команды на открытие не было), тогда насос просто выключится без выбега и закрытия задвижки.
По аварии - я не знаю как у вас формируется авария, поэтому сделал просто общий вход
Энергонезависимость вам не нужна - при возобновлении питания макрос сначала закроет задвижку и только потом разрешит запустить насос
Такой еще вопрос как думаете как лучше сделать к выходу реле подключить промежуточное реле и коммутировать сразу два двигателя при включении что бы при нажатие кнопки пуск вкл сразу два двигателя или лучше через промежуточное реле назначить каждый выход пр200 на свой двигатель?Я это к чему из за экономии выходов с пр200.
У вас два насоса всегда работают параллельно? Т.е., нет такой ситуации когда должен или может работать только один из?
И по мне, пусть это и дороже, но лучше насосы запускать либо через частотник, либо через устройство плавного запуска.
Андрей 77
11.12.2022, 15:18
У вас два насоса всегда работают параллельно? Т.е., нет такой ситуации когда должен или может работать только один из?
Насосы работают в параллель.Но думаю будет не лишнем сделать по переменное включения и совместное.Аварии с реле давления насоса приходят на реле этих реле два перед насосом и после.И авария двигателя сухой контакт пускателя приходит на дискретный вход реле пр200.Думаю даже будет лучше если будет и ручное упр задвижкой привода на закрытие и открытие, но может это и лишнее если есть ручной дублер на приводе.А как вы этот флаг создали где о нем почитать?Я так понимаю вы сделали кнопку пуск двухпозиционной она и на запуск и на пуск работает к этому входу можно подключить селекторный переключатель вкл и выкл?
Насосы работают в параллель.Но думаю будет не лишнем сделать по переменное включения и совместное.Аварии с реле давления насоса приходят на реле этих реле два перед насосом и после.И авария двигателя сухой контакт пускателя приходит на дискретный вход реле пр200.Думаю даже будет лучше если будет и ручное упр задвижкой привода на закрытие и открытие, но может это и лишнее если есть ручной дублер на приводе.А как вы этот флаг создали где о нем почитать?Я так понимаю вы сделали кнопку пуск двухпозиционной она и на запуск и на пуск работает к этому входу можно подключить селекторный переключатель вкл и выкл?
Селекторный выключатель - если он включен, то 1, если выключен, то 0. Отдельно обрабатывать положение 0 я не вижу смысла.
Флаг вы можете как угодно назвать, например "Была команда на открытие задвижки" - это просто переменная, которая говорит о каком-то действии.
Аварии с реле давления необходимо обрабатывать совместно с насосом, причем с задержкой - если насос работает и давление за определенное время не выросло, то авария.
По поводу работы насосов то совместно, то индивидуально - необходимо определиться как должен реагировать макрос при переключении режимов на "горячую" - т.е., работал один насос, мы переключили на работу 2 насоса - что надо делать?
Если работает только один насос, нужна ли ротация?
Если ротация, то обрабатываем цикл выключения? Т.е. закрываем задвижку, выключаем насос, включаем другой насос, открываем задвижку
И еще, авария с пускателя - я так понимаю, после пускателя стоит тепловое реле. А что, на самих двигателях нет защиты от перегрева?
Андрей 77
11.12.2022, 17:57
Селекторный выключатель - если он включен, то 1, если выключен, то 0. Отдельно обрабатывать положение 0 я не вижу смысла.
Флаг вы можете как угодно назвать, например "Была команда на открытие задвижки" - это просто переменная, которая говорит о каком-то действии.
Аварии с реле давления необходимо обрабатывать совместно с насосом, причем с задержкой - если насос работает и давление за определенное время не выросло, то авария.
По поводу работы насосов то совместно, то индивидуально - необходимо определиться как должен реагировать макрос при переключении режимов на "горячую" - т.е., работал один насос, мы переключили на работу 2 насоса - что надо делать?
Если работает только один насос, нужна ли ротация?
Если ротация, то обрабатываем цикл выключения? Т.е. закрываем задвижку, выключаем насос, включаем другой насос, открываем задвижку
И еще, авария с пускателя - я так понимаю, после пускателя стоит тепловое реле. А что, на самих двигателях нет защиты от перегрева?
На самих двигателях защиты от перегрева нет.Поэтому теплуху с пускателем поставили для защиты.По поводу ротации насосов.Сначала включение происходит совместно оба два насоса и дальнейшая работа.Но может понадобиться что нужно выключить один насос любой, другой оставить в работе.То есть это может происходить на горячею когда оба насоса включены.Понятно что при переключение насоса сначала команда идет на закрытие задвижки а после спустя n количество времени выкл насос.И при запуски я так думаю запуск двигателя и спустя n количество времени открывается задвижка.И нужно потом предусмотреть после запуска сетевых насосов переход через n количество времени на котловые насосы там цикл тот же самый что и на сетевых просто думаю переход можно сделать по таймеру.
Андрей 77
11.12.2022, 17:59
Селекторный выключатель - если он включен, то 1, если выключен, то 0. Отдельно обрабатывать положение 0 я не вижу смысла.
Флаг вы можете как угодно назвать, например "Была команда на открытие задвижки" - это просто переменная, которая говорит о каком-то действии.
Аварии с реле давления необходимо обрабатывать совместно с насосом, причем с задержкой - если насос работает и давление за определенное время не выросло, то авария.
По поводу работы насосов то совместно, то индивидуально - необходимо определиться как должен реагировать макрос при переключении режимов на "горячую" - т.е., работал один насос, мы переключили на работу 2 насоса - что надо делать?
Если работает только один насос, нужна ли ротация?
Если ротация, то обрабатываем цикл выключения? Т.е. закрываем задвижку, выключаем насос, включаем другой насос, открываем задвижку
И еще, авария с пускателя - я так понимаю, после пускателя стоит тепловое реле. А что, на самих двигателях нет защиты от перегрева?
После ваших подсказок и советов а так же всех участников форума, я пересмотрю и перепишу цикл программы упр насосами.Очень интересно изучать эту тему.
Я не спец по насосам, поэтому вопрос: а зачем выключать насос именно при закрытой задвижке?
Я не спец по насосам, поэтому вопрос: а зачем выключать насос именно при закрытой задвижке?
Как вариант - нет обратного клапана (по технологии/забыли/украли/..).
Встал насос - гуано пошло обратно/другой насос закольцевался/....
Как вариант - нет обратного клапана (по технологии/забыли/украли/..).
Встал насос - гуано пошло обратно/другой насос закольцевался/....
Ну, учитывая, что у нас два насоса работают в параллель, полюбасу должны стоять обратные клапаны
Андрей 77
11.12.2022, 19:59
Я не спец по насосам, поэтому вопрос: а зачем выключать насос именно при закрытой задвижке?
Насос включается при закрытой задвижки потому что если мы выключим его при открытой то будет перегрузка двигателя по току так как среда точнее вода будут течь через него.Выключения двигателя на закрыто задвижки уменьшит перегрузку двигателя и не будет перегрузки по току.Ведь чем больше нагрузка на валу двигателя тем больше его ток.
Андрей 77
11.12.2022, 20:33
Ну, учитывая, что у нас два насоса работают в параллель, полюбасу должны стоять обратные клапаны
Я правильно понимаю при нажатие кнопки пуск в переменной работа везде должна появится единица64477?
Я правильно понимаю при нажатие кнопки пуск в переменной работа везде должна появится единица
Да, вот только давайте определимся - пуск это кнопка или переключатель?
Андрей 77
11.12.2022, 21:30
Да, вот только давайте определимся - пуск это кнопка или переключатель?
Пуск это переключатель двухпозиционный.И я думаю что при аварии что при про падение электричества выключается насос и закрывается клапан должен.
Андрей 77
11.12.2022, 21:37
Да, вот только давайте определимся - пуск это кнопка или переключатель?
Да и еще время хода задвижки 7сек то есть при открытие полностью напруга должна пропасть так как на этой же задвижки есть вход сигнала на закрытие тоесть при получение сигнала на закрытие она закрывается полностью и питание пропадает.
Василий Кашуба
11.12.2022, 21:58
Насос включается при закрытой задвижки потому что если мы выключим его при открытой то будет перегрузка двигателя по току так как среда точнее вода будут течь через него.Выключения двигателя на закрыто задвижки уменьшит перегрузку двигателя и не будет перегрузки по току.Ведь чем больше нагрузка на валу двигателя тем больше его ток.
Спорное утверждение, что
при выключении двигателя при открытой задвижке, он будет перегружен. При выключении двигателя, на него не подаётся напряжение. Каким образом двигитель будет перегружен?
Андрей 77
11.12.2022, 22:38
Спорное утверждение, что При выключении двигателя, на него не подаётся напряжение. Каким образом двигитель будет перегружен?
Может я не верно выразился я имел виду при выключение двигателя и открытой заслонки да перегруза не будет но вдруг оператор решит заново включить движок а задвижка не закрыта будет перегруз.Поэтому сначала закрыть движение воды через насос а потом его выкл.И еще если он будет открыть и через него будет течь вода то он может перейти в генераторный режим что тоже не есть хорошо.
Андрей 77
12.12.2022, 07:52
Да, вот только давайте определимся - пуск это кнопка или переключатель?
Я не нашел в вашем алгоритме как запускается насос?Точнее кнопки пуск?
Я не нашел в вашем алгоритме как запускается насос?Точнее кнопки пуск?
Левый верхний угол - там так и написано "Пуск". Вы бы уже набрали схему в Лоджике и посмотрели как она работает
Скучно что-то сегодня было. Добавил в макрос еще один селекторный переключатель 1-0-1. Теперь можно выбирать режим Только Н1 - Оба насоса - Только Н2. Применяется только на выключенной системе. Если работают два насоса и один встает по аварии, то второй продолжает работу.
Андрей 77
13.12.2022, 18:49
Скучно что-то сегодня было. Добавил в макрос еще один селекторный переключатель 1-0-1. Теперь можно выбирать режим Только Н1 - Оба насоса - Только Н2. Применяется только на выключенной системе. Если работают два насоса и один встает по аварии, то второй продолжает работу.
Скажите пожалуйста а можно как нибудь еще обнулить таймеры tof ton tp3 если не использовать блок SEL что бы не записывать в таймер параметры сброса.А без блока еще есть способы сбросить таймеры все в ноль при аварии и выключение?
Сергей0308
13.12.2022, 18:57
Скажите пожалуйста а можно как нибудь еще обнулить таймеры tof ton tp3 если не использовать блок SEL что бы не записывать в таймер параметры сброса.А без блока еще есть способы сбросить таймеры все в ноль при аварии и выключение?
Таймер с задержкой включения разве не сбрасывается при исчезновении сигнала на входе? Короче, используйте его, если по другому(через Sel) не хотите, какие здесь могут быть проблемы?!
Андрей 77
13.12.2022, 19:10
Таймер с задержкой включения разве не сбрасывается при исчезновении сигнала на входе? Короче, используйте его, если по другому(через Sel) не хотите, какие здесь могут быть проблемы?!
Спасибо за ответ.Таймер с задержкой сбрасывается.Но мне нужен таймер с задержкой выключения.Так как при нажатие кнопки пуск клапан должен сразу начать открываться а не ждать пока таймер отсчитает время на открытие и потом пошлет сигнал открыться.Поэтому и спрашиваю кроме sel есть еще способы сбросить в ноль таймер на закрытие если нет.То тогда только блок sel.
Сергей0308
13.12.2022, 19:57
Спасибо за ответ.Таймер с задержкой сбрасывается.Но мне нужен таймер с задержкой выключения.Так как при нажатие кнопки пуск клапан должен сразу начать открываться а не ждать пока таймер отсчитает время на открытие и потом пошлет сигнал открыться.Поэтому и спрашиваю кроме sel есть еще способы сбросить в ноль таймер на закрытие если нет.То тогда только блок sel.
Так безопасное состояние выходов может быть и логической "1", тогда и таймер с задержкой включения не подойдёт, короче, можно так назначить безопасное состояние выходов при аварии:
64506
64507
Андрей 77
13.12.2022, 20:21
Так безопасное состояние выходов может быть и логической "1", тогда и таймер с задержкой включения не подойдёт, короче, можно так назначить безопасное состояние выходов при аварии:
64506
64507
Спасибо за ответ.Я имею ввиду что по одному нажатию кнопки стоп или появление аварии что бы одновременно сбрасывались все таймеры что я пометил.Я так понимаю только через блок SEL?Я с последнего вашего замечания чуть улучшил алгоритм и дорабатывают.Сейчас у меня так.При включение кнопки пуск вкл два сетевых насоса и загорается работа насоса дале идет отсчет таймера tof на задержку вкл 2с и включается таймер импульса с задержкой включения tp 7с это время открытия заслонки с приводом как только заслонка с приводом открылись и насос в работе.Идет сигнал на таймер tof для включение двух других но уже котловых насосов и так же идет импульс с задержкой на включения клапана с приводом на открытие.Нажимаю стоп.Идет сигнал на закрытие заслонок обоих клапанов.При этом насос выключится только после закрытия всех клапанов.Авария , если пришел сигнал авария на любой вход то тут же должны быть выключены и двигатель и клапана или идти на закрытие.Сигнал аварии завел с дискретных датчиков реле давления по входу выходу насоса нормально открытые при замыкание аварии нет при размыкание то есть падение давления авария..Если разомкнется реле то будет авария.64508
Сергей0308
13.12.2022, 20:36
Мой вариант чем не устраивает, он универсальный и каждый экземпляр можно легко расширить до 32 выходов!
Универсальный, это значит, не надо заморачиваться с каждым конкретным случаем, типа как у Вас и любое состояние(их всего два) можно назначить как безопасное!
Короче, поставил и забыл, что такая проблема возникала!
Или Вас никак убедить нельзя?
Андрей 77
13.12.2022, 21:00
Мой вариант чем не устраивает, он универсальный и каждый экземпляр можно легко расширить до 32 выходов!
Универсальный, это значит, не надо заморачиваться с каждым конкретным случаем, типа как у Вас и любое состояние(их всего два) можно назначить как безопасное!
Короче, поставил и забыл, что такая проблема возникала!
Или Вас никак убедить нельзя?
Вариант ваш устраивает.Я просто не пойму как ваш вариант к таймерам прикрепить или как с помощью вашего варианта когда возникает авария сбрасывать работу двигателя и клапанов?Вашь вариант идет как кнопка сброса или его сигнал к таймерам прикрепить это не пойму.А так нормальный ваш вариант.
Сергей0308
13.12.2022, 21:14
Вариант ваш устраивает.Я просто не пойму как ваш вариант к таймерам прикрепить или как с помощью вашего варианта когда возникает авария сбрасывать работу двигателя и клапанов?Вашь вариант идет как кнопка сброса или его сигнал к таймерам прикрепить это не пойму.А так нормальный ваш вариант.
В моём примере(я так назначил), для нечётных выходов ПР безопасное состояние "0", для чётных - "1", можно назначить любое безопасное состояние для каждого выхода!
Лучше ставить непосредственно на выхода ПР в программе, в смысле, между вашей логикой и выходами ПР в программе(на холсте программы).
Спасибо за ответ.Таймер с задержкой сбрасывается.Но мне нужен таймер с задержкой выключения.Так как при нажатие кнопки пуск клапан должен сразу начать открываться а не ждать пока таймер отсчитает время на открытие и потом пошлет сигнал открыться.Поэтому и спрашиваю кроме sel есть еще способы сбросить в ноль таймер на закрытие если нет.То тогда только блок sel.
Стоп, вы же сами писали,что при переводе переключателя в положение пуск включается на 5 сек насос и только потом открывается задвижка.
Таймер на закрытие не сбрасывается только потому что мы не знаем в каком положении находится задвижка, поэтому ее гарантированно нужно закрыть.
Добрый день.Решил первый раз написать простенькую программку для управления насосами сетевым и котловым насосом в авторежиме для ЦТП.Алгоритм такой при переключение переключателя в положения вкл, включается 1й насос далее таймер начинает отсчет 5 сек вкл электрический клапан после насоса на открытие, клапан открывается плавно время его полного хода откр и закр 7сек.Все насос в работе клапан открыт.При нажатие на кнопку стоп.Сначала закрывается клапан электрический и спустя 5 сек выкл насос.
В связи с этим несколько вопросов.1й как записать переменную в энергонезависимую память в случает когда выключится полностью питания ЦТП все остановится.При подачи питания что бы не включился насос а клапаны при этом включились на закрытие.
Далее на насосе стоят два реле давления на входе и выходе насоса.
Я указал что при падение давления перед насосом или после него приходит сигнал аварии и движок выключается.Но у меня получилось что после пропадание аварии двигатель опять сам вкл а мне этого не нужно.Я хочу как квитировать аварию.То есть если пришел сигнал авария и двигатель выкл то при пропадание аварийного сигнала двигатель сам не включался а ждал когда оператор сбросит сигнал аварии.Движки по 4кВт.
А если это для другого чего-то, то вот так давайте команду
64511
Андрей 77
13.12.2022, 21:46
В моём примере(я так назначил), для нечётных выходов ПР безопасное состояние "0", для чётных - "1", можно назначить любое безопасное состояние для каждого выхода!
Лучше ставить непосредственно на выхода ПР в программе, в смысле, между вашей логикой и выходами ПР в программе(на холсте программы).
Спасибо за пояснения.А скажите как у меня на скрине так делать можно?Имею ввиду так писать логику можно если допустим нет больше сигнала на блок OR и вместо него завести константу как 0 ?Или так не даелается?64513
Сергей0308
13.12.2022, 21:53
Спасибо за пояснения.А скажите как у меня на скрине так делать можно?Имею ввиду так писать логику можно если допустим нет больше сигнала на блок OR и вместо него завести константу как 0 ?Или так не даелается?64513
Это не надо, бессмысленно так делать, в смысле, никакой роли эта константа "0" в данном случае не играет, уберите!
Так можно много всего налепить, в смысле, что не будет играть ни какой роли!
Андрей 77
13.12.2022, 22:32
А если это для другого чего-то, то вот так давайте команду
64511
По точнее выражусь.Мне нужно что бы если во время открытия клапана на насосе в этот момент пришла авария или по давлению низкому давления воды перед насосом или авария по току двигателя то есть теплуха расцепилась и в этот момент была остановка двигателя клапан на открытие сменился на закрытие и закрылся что после устранение аварии можно было снова включить насос заново и весь алгоритм заново запустился.У меня задвижка без концевых выключателей.Просто есть питание она открывается нет питания она стоит.Есть питание она закрывается.Если свет пропадет и вновь появится нужно что бы она закрылась сама.
Андрей 77
13.12.2022, 22:47
Это не надо, бессмысленно так делать, в смысле, никакой роли эта константа "0" в данном случае не играет, уберите!
Так можно много всего налепить, в смысле, что не будет играть ни какой роли!
Такой еще вопрос если у меня программа становится большой так как увеличиваются задачи буду подключать дискретный модуль расширения.Можно как то увеличь поле написания программы что добавилось входы и выходы?Или они добавятся при физическом подключение модуля?Второй вопрос если мне нужно будет вывести в скаду состояние входов и выходов.Выходы и входы дискретные то есть булевы.Где мне можно их регистры прочитать что бы по мотбас передать на описи сервер овен и оттуда читать в скаду?
По точнее выражусь.Мне нужно что бы если во время открытия клапана на насосе в этот момент пришла авария или по давлению низкому давления воды перед насосом или авария по току двигателя то есть теплуха расцепилась и в этот момент была остановка двигателя клапан на открытие сменился на закрытие и закрылся что после устранение аварии можно было снова включить насос заново и весь алгоритм заново запустился.У меня задвижка без концевых выключателей.Просто есть питание она открывается нет питания она стоит.Есть питание она закрывается.Если свет пропадет и вновь появится нужно что бы она закрылась сама.
Хорошо, так
64514
Но в макросе все это реализовано
Такой еще вопрос если у меня программа становится большой так как увеличиваются задачи буду подключать дискретный модуль расширения.Можно как то увеличь поле написания программы что добавилось входы и выходы?Или они добавятся при физическом подключение модуля?Второй вопрос если мне нужно будет вывести в скаду состояние входов и выходов.Выходы и входы дискретные то есть булевы.Где мне можно их регистры прочитать что бы по мотбас передать на описи сервер овен и оттуда читать в скаду?
При добавлении модуля ПРМ в Лоджик автоматически добавляются входы и выходы модуля.
Адреса входов и выходов ПР прописаны в инструкции по эксплуатации, про ПРМ не знаю.
Можно просто собирать состояния в маску и передавать в СКАДУ целочисленным числом
Сергей0308
13.12.2022, 23:03
Такой еще вопрос если у меня программа становится большой так как увеличиваются задачи буду подключать дискретный модуль расширения.Можно как то увеличь поле написания программы что добавилось входы и выходы?Или они добавятся при физическом подключение модуля?Второй вопрос если мне нужно будет вывести в скаду состояние входов и выходов.Выходы и входы дискретные то есть булевы.Где мне можно их регистры прочитать что бы по мотбас передать на описи сервер овен и оттуда читать в скаду?
При добавлении модуля расширения(ПРМ) по внутренней шине входа выхода сами добавятся на холсте программы, ничего дополнительно не надо делать. Произвольно добавить входа выхода на холсте программы нельзя(это не макросы) и не нужно. Можно расширить холст программы на сколько Вам потребуется, но лучше разбить на функциональные части(блоки) и оформить эти части в виде макроса, тогда и холст программы не придётся сильно увеличивать!
....Второй вопрос если мне нужно будет вывести в скаду состояние входов и выходов.Выходы и входы дискретные то есть булевы.Где мне можно их регистры прочитать что бы по мотбас передать на описи сервер овен и оттуда читать в скаду?
Здесь Обмен битовыми (BOOL) переменными с ПР Slave (https://owen.ru/forum/showthread.php?t=32194)
Андрей 77
14.12.2022, 16:28
При добавлении модуля ПРМ в Лоджик автоматически добавляются входы и выходы модуля.
Адреса входов и выходов ПР прописаны в инструкции по эксплуатации, про ПРМ не знаю.
Можно просто собирать состояния в маску и передавать в СКАДУ целочисленным числом
Подскажите пожалуйста.Авария приходит когда реле давления разомкнуты перед насосом и после насоса.Так вот прежде чем запустить насос аварии должны быть устранены потом только идет запуск насоса.Не пойму такую вещь.Когда перед насосом реле замкнуто приходит сигнал что реле в норме.А вот не пойму как запустить насос если реле на выходе из насоса еще разомкнуто так как насос не включен и идет авария.Только после включения насоса реле на выходе замкнется.
Подскажите пожалуйста.Авария приходит когда реле давления разомкнуты перед насосом и после насоса.Так вот прежде чем запустить насос аварии должны быть устранены потом только идет запуск насоса.Не пойму такую вещь.Когда перед насосом реле замкнуто приходит сигнал что реле в норме.А вот не пойму как запустить насос если реле на выходе из насоса еще разомкнуто так как насос не включен и идет авария.Только после включения насоса реле на выходе замкнется.
Проверяйте состояние реле когда насос уже работает
64543
Андрей 77
14.12.2022, 17:13
Проверяйте состояние реле когда насос уже работает
64543
Еще такой вопрос не могу додуматься.Когда нажимаю пуск у меня программа идет по циклам.Запускается насос далее открывается клапан далее когда клапан открылся он дает сигнал на таймер запуска котловых насосов таймер отсчитывает 20сек и запускает котловой насос далее открывается клапан и так далее.Так вот когда в ручном режиме включаю насос сетевой то при открытие клапана он посылает сигнал на таймер для открытия запуска котловых насосов.А мне это не нужно ума не приложу как в ручном режиме открыть и закрыть заслонку при этом сигнал не должен идти на таймер на запуск котловых насосов.Управление ручное сделал вкл насос сетевой вручную далее вручную запускаю таймер на открытие но он когда досчитает переходит в 0 и этот сигнал завязан на таймере который запускает котловые насосы а так не должно быть они должны стоят.Как не пропустить сигнал 0 на таймер котловых насосов в ручном режиме?
kondor3000
14.12.2022, 18:12
Еще такой вопрос не могу додуматься.Когда нажимаю пуск у меня программа идет по циклам.Запускается насос далее открывается клапан далее когда клапан открылся он дает сигнал на таймер запуска котловых насосов таймер отсчитывает 20сек и запускает котловой насос далее открывается клапан и так далее.Так вот когда в ручном режиме включаю насос сетевой то при открытие клапана он посылает сигнал на таймер для открытия запуска котловых насосов.А мне это не нужно ума не приложу как в ручном режиме открыть и закрыть заслонку при этом сигнал не должен идти на таймер на запуск котловых насосов.Управление ручное сделал вкл насос сетевой вручную далее вручную запускаю таймер на открытие но он когда досчитает переходит в 0 и этот сигнал завязан на таймере который запускает котловые насосы а так не должно быть они должны стоят.Как не пропустить сигнал 0 на таймер котловых насосов в ручном режиме?
Либо не подавать сигнал на таймер, через AND на одну ногу подавать ручной режим,
либо в таймер записать уставку 0, через SEL и Write_to_Fb, выбрать нужный таймер.
Андрей 77
14.12.2022, 19:12
Либо не подавать сигнал на таймер, через AND на одну ногу подавать ручной режим,
либо в таймер записать уставку 0, через SEL и Write_to_Fb, выбрать нужный таймер.
На таймер не получится не подавать сигнал.Так как таймер запускает в авто котловые насосы.
Еще такой вопрос не могу додуматься.Когда нажимаю пуск у меня программа идет по циклам.Запускается насос далее открывается клапан далее когда клапан открылся он дает сигнал на таймер запуска котловых насосов таймер отсчитывает 20сек и запускает котловой насос далее открывается клапан и так далее.Так вот когда в ручном режиме включаю насос сетевой то при открытие клапана он посылает сигнал на таймер для открытия запуска котловых насосов.А мне это не нужно ума не приложу как в ручном режиме открыть и закрыть заслонку при этом сигнал не должен идти на таймер на запуск котловых насосов.Управление ручное сделал вкл насос сетевой вручную далее вручную запускаю таймер на открытие но он когда досчитает переходит в 0 и этот сигнал завязан на таймере который запускает котловые насосы а так не должно быть они должны стоят.Как не пропустить сигнал 0 на таймер котловых насосов в ручном режиме?
Вам нужно все эти этапы разбить на макросы. У макросов сделать вход "Ручной режим" и "Команды управления в ручном режиме". В ручном режиме макрос должен либо не реагировать на вход, либо не подавать сигнал на выход, либо и то и другое. Ручной режим можно сделать общим для всех, либо для каждого индивидуально
Далее, если это актуально, то в макросе управления насосом и задвижкой (который я выкладывал) я обнаружил косяк, который в некоторых ситуациях может вывести из строя привод - интересует?
Андрей 77
14.12.2022, 19:50
Вам нужно все эти этапы разбить на макросы. У макросов сделать вход "Ручной режим" и "Команды управления в ручном режиме". В ручном режиме макрос должен либо не реагировать на вход, либо не подавать сигнал на выход, либо и то и другое. Ручной режим можно сделать общим для всех, либо для каждого индивидуально
Далее, если это актуально, то в макросе управления насосом и задвижкой (который я выкладывал) я обнаружил косяк, который в некоторых ситуациях может вывести из строя привод - интересует?
Да интересует.Я вот и хочу понять логику как сделать вато и руч режим.Допусти если взять блок ИЛИ и на один вход подать переменную насос а на двругой вход переменную руч режим то на выходе что так что так будет 1 тоесть мы так не сможем переключить насос с авто на руч.
kondor3000
14.12.2022, 20:05
На таймер не получится не подавать сигнал.Так как таймер запускает в авто котловые насосы.
Вы не поняли, SEL будет подавать в автомате уставку, в ручном 0, Write_to_Fb записывает в таймер уставку либо 0. Уставка должна задаваться в ms, если вам нужны например секунды, умножаете на 1000. Если минуты, умножаете на 60000 и т. д.
AND так же блокирует сигнал в ручном, разрешает в автоматическом.64545
Да интересует.Я вот и хочу понять логику как сделать вато и руч режим.Допусти если взять блок ИЛИ и на один вход подать переменную насос а на двругой вход переменную руч режим то на выходе что так что так будет 1 тоесть мы так не сможем переключить насос с авто на руч.
Надо взять блок И. На один вход подать переменную насоса, на другой переменную авто или отрицание руч - зависит от того как вы этот режим активируете.
Или, например, вот макрос насос + задвижка. Когда макрос отработает алгоритм, то активируется выход Далее для следующего макроса. В ручном режиме этот выход не активируется
Андрей 77
14.12.2022, 20:28
Надо взять блок И. На один вход подать переменную насоса, на другой переменную авто или отрицание руч - зависит от того как вы этот режим активируете.
Или, например, вот макрос насос + задвижка. Когда макрос отработает алгоритм, то активируется выход Далее для следующего макроса. В ручном режиме этот выход не активируется
А ручной режим как можно проверить в симуляторе что он работает?Я макрос запустил все хорошо работает.И хотел спросить Далее что это означает?
А ручной режим как можно проверить в симуляторе что он работает?Я макрос запустил все хорошо работает.И хотел спросить Далее что это означает?
Активный выход Далее означает ,что макрос отработал алгоритм и вышел на режим. В вашем случае означает, что сетевой насос работает в штатном режиме, можно проводить процедуру запуска котловых насосов
Андрей 77
14.12.2022, 20:57
Активный выход Далее означает ,что макрос отработал алгоритм и вышел на режим. В вашем случае означает, что сетевой насос работает в штатном режиме, можно проводить процедуру запуска котловых насосов
То есть к выходу далее можно через таймер задержки включения подключать котловые насосы?Ручной режим проэмулировать не удастся в программе?Нужно дополнительные кнопки вкл выкл для ручного режиме добавлять + кнопку вкл выкл задвижки?
Андрей 77
14.12.2022, 21:08
Активный выход Далее означает ,что макрос отработал алгоритм и вышел на режим. В вашем случае означает, что сетевой насос работает в штатном режиме, можно проводить процедуру запуска котловых насосов
Смотрел ваш код который вы присылали.Хорошая тема выбор насоса 1 или 2 по очереди.Но я не понял как работаю битовые блоки в чем там смысл?64546
Смотрел ваш код который вы присылали.Хорошая тема выбор насоса 1 или 2 по очереди.Но я не понял как работаю битовые блоки в чем там смысл?64546
Ну, во-первых, тут тоже есть ошибка, которая в некоторых случаях одновременно подает команды на открытие и закрытие клапана. Вот исправленный макрос
64547
Битовыми блоками я выбираю какой из насосов должен работать: если Насос 1 и Насос 2 не активны, то Режим в двоичной форме 11 (3 в десятичной), если активен Насос 1, то Режим в двоичной форме 01 (1 в десятичной), если активен Насос 2, то Режим в двоичной форме 10 (2 в десятичной). А на выходе я формирую команду на запуск: для Насоса 1 - Насос И бит 0, для насоса 2 - Насос и бит 1. Получается, что если Режим 11, то запустятся оба насоса, если Режим 01- то запуститься Насос 1, если режим 10, то запуститься Насос 2.
Точно также я обрабатываю аварию от насоса - просто обнуляю бит того насоса, который выпал в аварию. При аварии по давлению обнуляются оба бита, что приводит к остановке всех насосов
То есть к выходу далее можно через таймер задержки включения подключать котловые насосы?Ручной режим проэмулировать не удастся в программе?Нужно дополнительные кнопки вкл выкл для ручного режиме добавлять + кнопку вкл выкл задвижки?
Да, к выходу Далее подключается вход "Пуск" макроса для управления котловыми насосами. Ручной режим эмулировать можно. Насчет доп кнопок - смотря какие действия вам нужно выполнять в ручном режиме.
Вообще, для чего вам нужен ручной режим?
Еще, советую для страховки перед выходами управления приводом заслонки поставить такой макрос
64549
Он не даст одновременно подать команды на оба выхода. Приоритет у команды Закрыть. Задержки нужны для паузы при смене направления движения
Андрей 77
15.12.2022, 07:36
Да, к выходу Далее подключается вход "Пуск" макроса для управления котловыми насосами. Ручной режим эмулировать можно. Насчет доп кнопок - смотря какие действия вам нужно выполнять в ручном режиме.
Вообще, для чего вам нужен ручной режим?
Ручной режим нужен для того что бывает давление в обратке начинает расти в следствии меньшего водоразбора и приходится выключать один насос.Или может какой либо насос сломаться что бы можно было перейти на другой.
Ручной режим нужен для того что бывает давление в обратке начинает расти в следствии меньшего водоразбора и приходится выключать один насос.Или может какой либо насос сломаться что бы можно было перейти на другой.
Так здесь не ручной режим нужен. Здесь нужно разработать правильные процедуры отключения одного из насосов или переключения на другой насос и реализовать это
Андрей 77
15.12.2022, 12:17
Так здесь не ручной режим нужен. Здесь нужно разработать правильные процедуры отключения одного из насосов или переключения на другой насос и реализовать это
Но хотелось бы что это было не в автомате а в ручном режиме именно переход.
Но хотелось бы что это было не в автомате а в ручном режиме именно переход.
Так и имелось ввиду - отключение ручками. А по процедуре: возьмем, например, сетевые насосы - работают два, один нужно вывести из работы. Как действовать - просто отключить его или отключить систему, дождаться когда закроется задвижка, переключить на один насос и запустить? А как на такое отключение должны котловые насосы отреагировать - никак или тоже остановиться и потом запуститься с полной процедурой открытия/закрытия задвижек?
Андрей 77
15.12.2022, 12:58
Так и имелось ввиду - отключение ручками. А по процедуре: возьмем, например, сетевые насосы - работают два, один нужно вывести из работы. Как действовать - просто отключить его или отключить систему, дождаться когда закроется задвижка, переключить на один насос и запустить? А как на такое отключение должны котловые насосы отреагировать - никак или тоже остановиться и потом запуститься с полной процедурой открытия/закрытия задвижек?
Вообще лучше отключить систему дождаться когда закроется задвижка.Что бы можно было и в ремонт вывести насос и циркуляции через него не было.Переключать не нужно просто во время работы двух насосов что бы можно было выключить любой и включить тоже в любой.Котловые насосы не должны на отключения реагировать у нас хватает давление что бы на одном сетево работала два других насоса.Но и котловые насосы тоже бы желательно предусмотреть что бы их можно было чередовать как и сетевые.
Вообще лучше отключить систему дождаться когда закроется задвижка.Что бы можно было и в ремонт вывести насос и циркуляции через него не было.Переключать не нужно просто во время работы двух насосов что бы можно было выключить любой и включить тоже в любой.Котловые насосы не должны на отключения реагировать у нас хватает давление что бы на одном сетево работала два других насоса.Но и котловые насосы тоже бы желательно предусмотреть что бы их можно было чередовать как и сетевые.
Т.е, предусмотреть два варианта?
1. Включить/выключить сетевой насос на "горячую" не закрывая задвижку
2. Закрыть задвижку и выключить все сетевые насосы, но чтобы котловые насосы продолжали работать
Андрей 77
15.12.2022, 16:42
Т.е, предусмотреть два варианта?
1. Включить/выключить сетевой насос на "горячую" не закрывая задвижку
2. Закрыть задвижку и выключить все сетевые насосы, но чтобы котловые насосы продолжали работать
Нет, что бы можно было выключить на горячею и при выключение закрыть задвижку.Один сетевой насос в работе и котловые в работе.Тоже самое и с котловыми насосами.
Пока только концепт. Макрос пока работает немного криво, надо продумать и, возможно, заново написать алгоритм.
Значит, я добавил вход "Ручное отключение" - при его активации, происходит корректное отключение насосов, но выход "Далее" остается активным. Далее, можно переключить режим 1 насос/2 насоса и снять сигнал, произойдет процесс запуска в новом режиме. При авариях макрос реагирует соответственно, но выход "Далее" остается активным. Чтобы вырубить все при аварии нужно активировать вход "Форс стоп". Добавил выход "Код аварии", чтобы знать причину. Стоит работать далее в этом направлении?
Андрей 77
15.12.2022, 21:45
Пока только концепт. Макрос пока работает немного криво, надо продумать и, возможно, заново написать алгоритм.
Значит, я добавил вход "Ручное отключение" - при его активации, происходит корректное отключение насосов, но выход "Далее" остается активным. Далее, можно переключить режим 1 насос/2 насоса и снять сигнал, произойдет процесс запуска в новом режиме. При авариях макрос реагирует соответственно, но выход "Далее" остается активным. Чтобы вырубить все при аварии нужно активировать вход "Форс стоп". Добавил выход "Код аварии", чтобы знать причину. Стоит работать далее в этом направлении?
Спасибо вам большое за труд.Нет не стоит я луше сам а то так и не научусь писать программки.Только я не понимаю зачем в проекте вы использовали PUTBIT если можно использовать стандартные булевы блоки.По вашим алгоритмам я учусь писать ПО более качественно.Как ИИ)))
Спасибо вам большое за труд.Нет не стоит я луше сам а то так и не научусь писать программки.Только я не понимаю зачем в проекте вы использовали PUTBIT если можно использовать стандартные булевы блоки.По вашим алгоритмам я учусь писать ПО более качественно.Как ИИ)))
Можно использовать и булевы функции. Просто мне показалось, что через PUTBIT будет лучше. Вот пример одной задачи двумя способами
64585 64586
Сергей0308
16.12.2022, 09:23
Можно использовать и булевы функции. Просто мне показалось, что через PUTBIT будет лучше. Вот пример одной задачи двумя способами
64585 64586
А, если будет не одна авария, а несколько, в смысле, может лучше битовую маску аварий сделать, поместится до 32, столько и не наберётся в данном случае, короче, не понятно зачем искусственно ограничиваться одной аварией в первом проекте(картинке)!
А, если будет не одна авария, а несколько, в смысле, может лучше битовую маску аварий сделать, поместится до 32, столько и не наберётся в данном случае, короче, не понятно зачем искусственно ограничиваться одной аварией в первом проекте(картинке)!
Да это просто пример, что можно и так и этак сделать
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot