Показать сообщение отдельно
Старый 24.05.2022, 06:12   #12
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 164
Благодарил(а): 240 раз(а)
Поблагодарили: 165 раз(а) в 157 сообщениях
По умолчанию Ответ: Вопросы по сетевому взаимодействию

Цитата:
Сообщение от Bigcrash Посмотреть сообщение
Именно, но опрос ведется с учетом кол-ва переменных и самих слейвов, т.е. не каждые 100мс. В матриксе каждый слейв опрашивается раз в 5 секунд.
Интересный момент: если один и тот же слейв опрашивает ОРС-сервер и MbPoll они его между собой спокойно делят. Если матрикс с кем-нибудь из них включить в пару, начинают проскакивать ошибки чтения, неприятно, но не критично, т.к. перезапросы в итоге делают свое дело.
Проблема в том, что в один неприкрасный момент ethernet порт матрикса просто либо засыпает и обмен по нему тупо прекращается, но в основном начинают сыпаться ошибки чтения по всем слейвам, хотя датчики в работе и их никто кроме матрикса не опрашивает. Сегодня утром встал, там порядка уже 5000 ошибок. Занимался весь день другими делами, зашел часов через 6, а опрос уже идет... WTF
Включил в проект Delice(link), т.к. раньше не знал про него, поглядим, что покажет к утру.
сначала создаём себе проблему, а потом ищем способ, как от неё избавиться.

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

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

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


__________________
C уважением, LordN
LordN сейчас на форуме   Ответить с цитированием