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