PDA

Просмотр полной версии : Отключение логики у ПР



TaPX
21.09.2023, 07:21
Доброе утро, товарищи. У меня интересная проблема: Есть ПР-103, и есть 10 китайских реле, подкинутых к ней по модбас. Хочу сделать их контролируемый опрос, чтоб, если вдруг один из китайцев отвалится, ПР-ка не опрашивала его в течении определенного времени. Запилил макрос, все работает. Но что интересно - работает только если в программе таких макросов не больше восьми (а китайцев у меня - десять). При добавлении еще хотя бы одного у ПР-ки отключается логика. Как это победить? Скриншоты прилагаю.
70353703547035570356

1exan
21.09.2023, 07:33
А если без управления опросом, то всё работает?
Или если без макроса просто повесить "1" на переменную управления опросом?

TaPX
21.09.2023, 08:52
А если без управления опросом, то всё работает?
Или если без макроса просто повесить "1" на переменную управления опросом?

Если принудительно повесить "1" на все переменные опроса, то все работает. Без управления опросом тоже все работает.

melky
21.09.2023, 08:58
Странный макрос, зачем там Rtrig вообще ? я думаю вам макросы козлят, там на каждом 10 сек ТР стоят. Вот когда вы добавляете больше, последние либо не срабатывают, либо уже отключаются.

1exan
21.09.2023, 09:12
Если принудительно повесить "1" на все переменные опроса, то все работает. Без управления опросом тоже все работает.

Странная штука. Если сделать на 2 устройства просто блинк - что будет?

TaPX
21.09.2023, 09:12
Странный макрос, зачем там Rtrig вообще ? я думаю вам макросы козлят, там на каждом 10 сек ТР стоят. Вот когда вы добавляете больше, последние либо не срабатывают, либо уже отключаются.

Rtrig дает импульс при включении ПР-ки для принудительного первого опроса китайской релюшки, чтоб получить статус ее. Вы думаете, как-то проще там можно сделать?

melky
21.09.2023, 09:15
ну Rtrig можно вынести всего один, а макросам сделать вход EN или Start. Зачем пихать в каждый то?
А вот таймеры там вам скорее всего и останавливают опрос. Первое устройство опросилось, второе, а последнее таймер весь вышел. (это предположение)

возможно у вас watchdog срабатывает или ПР вообще зависает.

TaPX
21.09.2023, 09:17
Странная штука. Если сделать на 2 устройства просто блинк - что будет?

Не понял вопроса.

TaPX
21.09.2023, 09:19
ну Rtrig можно вынести всего один, а макросам сделать вход EN или Start. Зачем пихать в каждый то?
А вот таймеры там вам скорее всего и останавливают опрос. Первое устройство опросилось, второе, а последнее таймер весь вышел. (это предположение)

возможно у вас watchdog срабатывает или ПР вообще зависает.

Ща попробую переделать

1exan
21.09.2023, 09:19
Не понял вопроса.

Макросы на 8 устройств, а на 2 оставшихся - просто блинк (опрашивается / не опрашивается)

melky
21.09.2023, 09:19
ПР вообще через жопу работает с опросами по переменным. Еще видео было, где Юрий Ревака показывал. 1 должна быть всегда взведена для опроса, никаких импульсов. Отсюда и грабли скорее всего.

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

TaPX
21.09.2023, 09:38
ну Rtrig можно вынести всего один, а макросам сделать вход EN или Start. Зачем пихать в каждый то?
А вот таймеры там вам скорее всего и останавливают опрос. Первое устройство опросилось, второе, а последнее таймер весь вышел. (это предположение)

возможно у вас watchdog срабатывает или ПР вообще зависает.

70359
Спасибо, помогло )

TaPX
21.09.2023, 09:38
Макросы на 8 устройств, а на 2 оставшихся - просто блинк (опрашивается / не опрашивается)

Понял - но уже переделал по совету выше

melky
21.09.2023, 09:58
а что помогло то? :) вы же макрос новый не показали, мы видим только то, что вы вынесли за пределы.

TaPX
21.09.2023, 10:23
а что помогло то? :) вы же макрос новый не показали, мы видим только то, что вы вынесли за пределы.

Теперь при первичном запуске срабатывает только один таймер - за пределами макроса. Таймер в макросе срабатывает только при отсутствии ответа от опрашиваемого китайца.
70360

TaPX
21.09.2023, 10:33
Есть еще вопрос - как вообще оптимально настроить опрос датчиков по модбасу, чтобы было меньше затыков и задержек - есть вообще какой-то гайд может быть?

1exan
21.09.2023, 10:38
Теперь при первичном запуске срабатывает только один таймер - за пределами макроса. Таймер в макросе срабатывает только при отсутствии ответа от опрашиваемого китайца.

Непонятно всё-же, в чём был затык


Есть еще вопрос - как вообще оптимально настроить опрос датчиков по модбасу, чтобы было меньше затыков и задержек - есть вообще какой-то гайд может быть?

Вариант как у вас мне кажется - вполне себе. Единственно продолжительность проверки "появился ли прибор" подобрать по-минимуму, а период проверки - по максимуму

TaPX
21.09.2023, 10:45
Затык был в том, что на первичном запуске запускалось сразу 10 таймеров - теперь один.
По настройкам - люди там как-то тайминги настраивают, периоды опроса, задержки там какие-то.... Как, где и зачем это делается?

1exan
21.09.2023, 10:53
Затык был в том, что на первичном запуске запускалось сразу 10 таймеров - теперь один.
По настройкам - люди там как-то тайминги настраивают, периоды опроса, задержки там какие-то.... Как, где и зачем это делается?

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

TaPX
21.09.2023, 15:01
Ну основные
Период опроса - зависит от того, как часто обновляются данные в ведомом, насколько часто оно готово отвечать на запросы ну и насколько часто нужны новые данные мастеру.
Таймаут - как долго мастеру ждать ответа после запроса - зависит от того, как быстро способен отвечать ведомый.
Так ещё и каждый производитель норовит свои термины там применить, поди разберись что имелось в виду

Ну таймауты у ведомых я вижу, где менять. А где можно поиграться с периодом опроса?

melky
21.09.2023, 15:46
На ПР общий период на все, без вариантов. Все ваши устройства должны уложиться в общий период. Дальше только сбросом в 0 общего разрешения чтения.

TaPX
22.09.2023, 15:05
На ПР общий период на все, без вариантов. Все ваши устройства должны уложиться в общий период. Дальше только сбросом в 0 общего разрешения чтения.

Этот период как-то можно настраивать?
В принципе, я уменьшил таймауты со 100 до 50 у ведомых, и отзывчивость уже нормально выросла.

melky
23.09.2023, 12:11
так в настройках мастера же период ставится. И насколько я понял, он действует на весь опрос, независимо, сколько у вас слейвов напихано. То есть в ПР нет понятия период для слейва и понятие очереди, где мозги смотрят, кого и в какой последовательности и когда опрашивать.

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