Segnetics

Вернуться   Segnetics > Форум Segnetics > SMConstructor (теплопункты)

SMConstructor (теплопункты) Вопросы о работе Конструктора (теплопункты)

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.11.2014, 13:35   #1
sensei
Member
 
Регистрация: Jan 2014
Сообщения: 62
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Аварии по питанию останавливают работу контура. Как избежать? (решено)

При возникновении аварий, таких как отказ датчика или отказ циркуляци, производится останов контура. Для возобновления работы контура требуется сбросить аварию. Как избежать останова контура (авария пусть фиксируется, но управляющие команды вырабатываются как есть), не прибегая к полной переделке "с нуля" блока "Процессор"?

Проблема возникает из-за частых перебоев электропитания, при которых фиксируется отказ циркуляции. (Контроллер SMH-2G+MC зарезервирован по питанию, насосы и прочее, соответственно, нет).
sensei вне форума   Ответить с цитированием
Старый 10.11.2014, 14:03   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Аварии останавливают работу контура. Как избежать?

Цитата
Сообщение от sensei Посмотреть сообщение
Как избежать останова контура (авария пусть фиксируется, но управляющие команды вырабатываются как есть), не прибегая к полной переделке "с нуля" блока "Процессор"?
Вариант конечно же есть. Вообще не трогать процессор, потому как это аналогично питью воды через ухо.

Теоретически возможно и даже практически реализуемо, но как-то сложно уж очень

Можно попить тоже в голову, но уже через рот - залезть в макрос аварий и выставить флаг "Не запоминать" у нужных аварий.

Контур останавливать всё равно нужно, т.к. регулятор непонятно что нарегулирует по итогу.

Но если очень хочется, то просто в статусе циркуляции перед процессором заблокируйте прохождение первого бита. Процессор никогда не увидит аварию.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 10.11.2014, 14:27   #3
sensei
Member
 
Регистрация: Jan 2014
Сообщения: 62
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Аварии останавливают работу контура. Как избежать?

Цитата:
Сообщение от Arsie Посмотреть сообщение
залезть в макрос аварий и выставить флаг "Не запоминать" у нужных аварий.

Контур останавливать всё равно нужно, т.к. регулятор непонятно что нарегулирует по итогу.
Правильно ли я понял, что в этом случает контур остановится на время существования аварии, а сразу после ее исчезновения автоматически возобновит работу?
sensei вне форума   Ответить с цитированием
Старый 10.11.2014, 14:34   #4
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Аварии останавливают работу контура. Как избежать?

Цитата
Сообщение от sensei Посмотреть сообщение
Правильно ли я понял, что в этом случает контур остановится на время существования аварии, а сразу после ее исчезновения автоматически возобновит работу?
Так должно быть, но проверки на работоспособность этого решения не было - это нештатный режим.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 10.11.2014, 14:50   #5
sensei
Member
 
Регистрация: Jan 2014
Сообщения: 62
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Аварии останавливают работу контура. Как избежать?

В идеальном случае разные типы аварий должны обрабатываться по-разному. Что касается контура отопления, то при авария циркуляции, аварии датчиков температуры, аварии отсутствия электропитания команда управления насосами должна подаваться, а клапан должен открываться на 100%, дабы избежать разморозки.

При некоторых других авариях контур действительно целесообразно останавливать.

В то же время при аварийном состоянии контура открыть клапан на максимум и молотить насосами в целом целесообразнее, т.к. воду в случае утечки закрытием регулирующего клапана все равно не остановить, а насосы для защиты от сухого хода все равно локально завязаны на реле давления, а для защита по току реализуется в частотнике (по крайней мере на моих объектах).

Вероятность же всякого "оторвали провод - датчик отвалился - неделю никому дела нет до этого" или "пропало на 5 минут электричество - насосы встали - простояли до утра - утром руководство покарало эксплуатацию анально - эксплуатация валит на кривую автоматику (что в данном случае будет справедливо)" существенно выше. Второе происходит на одном из объектов 1-2 раза в неделю, и всегда с одиннадцати до часу ночи.
sensei вне форума   Ответить с цитированием
Старый 10.11.2014, 15:04   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Аварии останавливают работу контура. Как избежать?

Цитата
Сообщение от sensei Посмотреть сообщение
В идеальном случае разные типы аварий должны обрабатываться по-разному. Что касается контура отопления, то при авария циркуляции, аварии датчиков температуры, аварии отсутствия электропитания команда управления насосами должна подаваться, а клапан должен открываться на 100%, дабы избежать разморозки.
В результате, все 130С, присутствующие во внешнем контуре, полезут в металлопластиковую вторичку. Печальная гибель для дома и некоторых его жильцов.

Извините, дальнейшее обсуждать не буду. Объекты очень разные, алгоритм должен быть безопасен.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 10.11.2014, 15:25   #7
sensei
Member
 
Регистрация: Jan 2014
Сообщения: 62
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Аварии останавливают работу контура. Как избежать?

Цитата:
Сообщение от Arsie Посмотреть сообщение
залезть в макрос аварий и выставить флаг "Не запоминать" у нужных аварий.
Не совсем понял, как это будет работать. Дело в том, что из макроса "Устр - насосная группа К1" выходит Статус, который подается на процессор и на макрос обработки аварий. Макрос обработки аварий в свою очередь генерирует Код отключения, который тоже подается на процессор.

Статус обрабатывается не так, как стандартная авария и не содержит флага "Не запоминать?".


Где ещё (в каких местах) надо заблокировать прохождение битов (кроме блокировки бита "Работа" в статусе циркуляции), чтобы аварии регистрировались, но не останавливали работу контура?
ИЛИ
Где (в каких местах) надо заблокировать прохождение битов (вместо блокировки бита "Работа" в статусе циркуляции), чтобы аварии регистрировались, а работа контура останавливалась только на время срабатывания входа отказа насосов без "запоминания"?

Последний раз редактировалось sensei, 10.11.2014 в 15:46
sensei вне форума   Ответить с цитированием
Старый 10.11.2014, 15:55   #8
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Аварии останавливают работу контура. Как избежать?

Цитата
Сообщение от sensei Посмотреть сообщение
Где ещё (в каких местах) надо заблокировать прохождение битов (кроме блокировки бита "Работа" в статусе циркуляции), чтобы аварии регистрировались, но не останавливали работу контура?
Но если очень хочется, то просто в статусе циркуляции перед процессором заблокируйте прохождение первого бита. Процессор никогда не увидит аварию.

"Работа" - это нулевой бит. Сам макрос насосов сигнал управления насосом отключит.

Если хочется полной автономии, то аварийные сигналы нужно отключать от макроса насоса и заводить на свободные входы макроса аварий.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 10.11.2014, 20:22   #9
monstr696
Senior Member
 
Регистрация: Apr 2013
Адрес: Россия, Москва
Сообщения: 766
Благодарил(а): 8 раз(а)
Поблагодарили: 63 раз(а) в 59 сообщениях
По умолчанию Ответ: Аварии останавливают работу контура. Как избежать?

Цитата
Сообщение от sensei Посмотреть сообщение
Не совсем понял, как это будет работать. Дело в том, что из макроса "Устр - насосная группа К1" выходит Статус, который подается на процессор и на макрос обработки аварий. Макрос обработки аварий в свою очередь генерирует Код отключения, который тоже подается на процессор.

Статус обрабатывается не так, как стандартная авария и не содержит флага "Не запоминать?".


Где ещё (в каких местах) надо заблокировать прохождение битов (кроме блокировки бита "Работа" в статусе циркуляции), чтобы аварии регистрировались, но не останавливали работу контура?
ИЛИ
Где (в каких местах) надо заблокировать прохождение битов (вместо блокировки бита "Работа" в статусе циркуляции), чтобы аварии регистрировались, а работа контура останавливалась только на время срабатывания входа отказа насосов без "запоминания"?
Может проще и безопаснее поставить задержку на выдачу аварии. По принципу в вентиляции на запуск вентиляторов.

Макрос (Status v2.4), контролирующий состояние
вентилятора. Контроль осуществляется
исходя из аксиом:

1) если вентилятор запущен,
то прессостат должен показать
наличие давления
2) если вентилятор остановлен,
то прессостат должен показать
отсутствие давления

Если аксиомы не выполняются, то
отсчитывается 'Время реакции' и
затем выставляется признак аварии

Если вдруг аварийное состояние пропадает,
то также отсчитывается 'Время реакции'
и затем признак аварии снимается

При 'Время реакции' = 0 признак аварии
не вырабатывается

При активном 'Reset' признак аварии
сбрасывается и обработка аварий не
осуществляется


__________________
Саня

Последний раз редактировалось monstr696, 10.11.2014 в 20:32
monstr696 сейчас на форуме   Ответить с цитированием
Старый 10.11.2014, 21:23   #10
sensei
Member
 
Регистрация: Jan 2014
Сообщения: 62
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Аварии останавливают работу контура. Как избежать?

Цитата:
Сообщение от Arsie Посмотреть сообщение
Но если очень хочется, то просто в статусе циркуляции перед процессором заблокируйте прохождение первого бита. Процессор никогда не увидит аварию.

"Работа" - это нулевой бит. Сам макрос насосов сигнал управления насосом отключит.
Бит 1 "Авария", по крайней мере, согласно связям внутри макроса "Процессор" никак не учитывается. Сигнал "Stat: Циркуляция Кх" подается на вход "Stat: Насосы" макроса "Контроль контура К". Там он подается в макрос "stat2bit", с выхода которого снимаются бит 0 "Работа" и бит 7 "Enabled".

Непосредственное разрешение на запуск останов контура производится в макросе "Пуск/Стоп", находящего в макросе "Контроль контура К". На вход "Можно работать" макроса "Пуск/Стоп" подаётся сигнал "~Проблемы с водой", который есть ИЛИ-НЕ ("Отказ подпитки", "Отказ циркуляции"). Сигналы "Отказ подпитки" и "Отказ циркуляции" есть, соответственно, биты 5 и 3 сигнала "Кх: Код отключения".

Сигнал "Кх: Код отключения", который, как мы выяснили, несет в себе информацию об отказе, генерируется макросом "Отключение устройств" из состава макроса "Обработка аварий 3.00" (который в свою очередь входит во состав макроса "Обработка аварий"). Я не могу понять, как работает макрос "Отключение устройств" и что означают входы d0...d30, на некоторые из которых подаются какие-то битовые последовательности (часть напрямую, часть через входы "Disable" макросов Кху). Понял лишь, что эти битовые последовательности участвуют (по очереди для снижения нагрузки на ЦП) в неких логических операциях с соответствующими им битами аварий из состава сигнала "Код аварии xx".

В свою очередь сигнал "Код аварии xx" получается из сигнала "Код xx" в макросе "Реакция системы", таким образом, что в сигнале "Код аварии xx" те биты, которые отмечены как запоминаемые ("Не запоминать?"=0), единожды возникая не исчезают до сброса, т.к. в макросе "Реакция системы" на D-триггере фактически реализован вектор из "самозалипающих реле".

Сигнал "Код xx" генерируется в макросе "Scan" из состава макроса "scan4x". Как в макросе "Scan" из входов аварий генерируется "Код xx" я тоже не понял. Понял лишь, что "№ события" инкрементируется с каждой новой возникающей аварией.

Итого:
Уважаемый Арсений! Буду чреззвычайно блвгодарен, если проверите, все ли я правильно написал, и ответите на вопросы (постарался выделить их жирным, т.к. они получились преимущественно не в вопросительной форме).
sensei вне форума   Ответить с цитированием
Старый 11.11.2014, 13:33   #11
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Аварии останавливают работу контура. Как избежать?

Цитата
Сообщение от sensei Посмотреть сообщение
Итого:
Уважаемый Арсений! Буду чреззвычайно блвгодарен, если проверите, все ли я правильно написал, и ответите на вопросы (постарался выделить их жирным, т.к. они получились преимущественно не в вопросительной форме).
Описано более-менее правильно, за одним исключением.

Да, действительно, код отключения используется в процессоре. Но если вернуться к истокам вопроса, то никакие манипуляции с ним не помогут.

Конструктор ИТП является бета-версией и многие важные вещи сейчас в нём дублированы.

По итогу, отключить срабатывание и обеспечить запись получится только двумя методами. Один я уже написал - это отключить аварийные сигналы от макроса насосов.

Второй несколько проще. Нужно получить сигнал о появлении питания агрегатов (от ИБП или просто сухой контакт от реле, установленного до ИБП) и по этому сигналу автоматически выполнять сброс аварий. Доработок проекта минимум.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 11.11.2014, 19:49   #12
sensei
Member
 
Регистрация: Jan 2014
Сообщения: 62
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Аварии останавливают работу контура. Как избежать?

Цитата:
Сообщение от Arsie Посмотреть сообщение
Второй несколько проще. Нужно получить сигнал о появлении питания агрегатов (от ИБП или просто сухой контакт от реле, установленного до ИБП) и по этому сигналу автоматически выполнять сброс аварий. Доработок проекта минимум.
Сейчас я выставил единички на входах Stop12...Stop15 макроса "Реакция системы", входящего в состав макроса "Обработка аварий 3.00". Это по сути флаг ("Не запоминать?"). Завтра буду ставить эксперимент, хотя не уверен в его результатах.

Про сброс аварии по накидыванию питания - хорошая идея. Хотел при пропадании питания блокировать аварийный сигнал. Ваш вариант со сбросом лучше. Но в идеале бы чтобы предыдущий абзац сработал.
sensei вне форума   Ответить с цитированием
Старый 12.11.2014, 09:26   #13
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Аварии останавливают работу контура. Как избежать?

Цитата
Сообщение от sensei Посмотреть сообщение
Про сброс аварии по накидыванию питания - хорошая идея. Хотел при пропадании питания блокировать аварийный сигнал. Ваш вариант со сбросом лучше. Но в идеале бы чтобы предыдущий абзац сработал.
Не сработает.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 12.11.2014, 12:56   #14
sensei
Member
 
Регистрация: Jan 2014
Сообщения: 62
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Аварии останавливают работу контура. Как избежать?

Найдена первопричина проблемы "залипания" аварии насосов.

Это RS-триггеры в макросе "Отказы" из состава макроса "Насосная группа Кх".

Возможно ли как-то получить в порядке исключения незаблокированный макрос "Насосная группа Кх"? Желательно с незаблокированным макросом "Отказы". Т.к. использую 2Gi, проблем с нехваткой ресурсов памят и ЦП возникнуть не должно.
sensei вне форума   Ответить с цитированием
Старый 12.11.2014, 14:25   #15
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Аварии останавливают работу контура. Как избежать?

Цитата
Сообщение от sensei Посмотреть сообщение
Найдена первопричина проблемы "залипания" аварии насосов.

Это RS-триггеры в макросе "Отказы" из состава макроса "Насосная группа Кх".
Я же писал это с самого начала.

Почему вы постоянно хотите куда-нибудь залезть? Пропал признак аварии - просто сбросьте либо макрос адресно, либо сделайте общий сброс всей системы и ничего редактировать не придётся.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 12.11.2014, 15:13   #16
sensei
Member
 
Регистрация: Jan 2014
Сообщения: 62
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Аварии останавливают работу контура. Как избежать?

Цитата:
Сообщение от Arsie Посмотреть сообщение
Я же писал это с самого начала.

Почему вы постоянно хотите куда-нибудь залезть? Пропал признак аварии - просто сбросьте либо макрос адресно, либо сделайте общий сброс всей системы и ничего редактировать не придётся.
У меня уже итак много всякой "обвязки" вокруг макроса управления насосами. В какой-то момент приходит понимание того, что проще нормально сделать нужный макрос, чем городить сто первую закладку.

Можно встречный вопрос - в чем причина отказа разблокировать макрос в частном порядке?
sensei вне форума   Ответить с цитированием
Старый 12.11.2014, 15:51   #17
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Аварии останавливают работу контура. Как избежать?

Цитата
Сообщение от sensei Посмотреть сообщение
У меня уже итак много всякой "обвязки" вокруг макроса управления насосами. В какой-то момент приходит понимание того, что проще нормально сделать нужный макрос, чем городить сто первую закладку.

Можно встречный вопрос - в чем причина отказа разблокировать макрос в частном порядке?
Потому что обход аварии занимает один или два блока и секунд 10-15 времени.

Ну и вопрос безопасности. Это уже всё нами пройдено много лет назад.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 12.11.2014, 16:51   #18
sensei
Member
 
Регистрация: Jan 2014
Сообщения: 62
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Аварии останавливают работу контура. Как избежать?

Проблема решена сбросом макроса управления насосами по спадающему фронту любой из интересующих аварий.

Как говорится, еще один костыль...
sensei вне форума   Ответить с цитированием
Старый 12.11.2014, 16:57   #19
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Аварии останавливают работу контура. Как избежать?

Цитата
Сообщение от sensei Посмотреть сообщение
Проблема решена сбросом макроса управления насосами по спадающему фронту любой из интересующих аварий.
Верно, так и нужно было сделать


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как поменять название контура (решено) maxcrazy SMConstructor (теплопункты) 13 14.12.2018 14:15
как изменить работу водяного калорифера из "всегда" в "только зимой" (решено) Goscha SMConstructor (вентиляция) 2 22.05.2017 00:23


Часовой пояс GMT +4, время: 21:25.


Версия vBulletin: 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2023