-
capzap ага, прочитал. Переменные могут передаваться не пачкой, а выборочно. Тогда наверное на приемниках надо делать обработку переменных. Задавать ей возможный диапазон и фильтрацию, на случай некорректно пришедшего значения. А библиотеку и принцип рассылки оставлять как есть.
-
Для булевых переменных, даже передаваемых в виде маски, диапазон задать не получится. Мне кажется надо пачкой передавать, а получив, посылать в обратную, и сравнивать если пришло то же самое, то посылка дошла, иначе снова посылаем (по событию). И последней переменной сделать счетчик для контроля наличия связи и по ней же можно узнать что пришли новые данные.
capzap, скажите, а как Вы организуете управление дискретными переменными через UDP, не проверяя корректность на том конце? Я понимаю, что если не дойдет посылка ничего страшного не произойдет, дойдет следующая, а если дойдет с ошибками, то ложно сработает какой-нибудь выход.
-
ну чистым UDP я не пользуюсь, модбас по нему посылаю, обычно с панели у меня из дискрет, только старт, стоп, сброс аварии/подтверждения, ручное управление, по сути ложные срабатывания исключены, а ошибки пришедьшие с плк в панель я физически не успею глазом отловить
-
Мне надо через сетевые переменные передавать маску дискретов для автоматического включения/выключения, вот и задумался, что будет если ПЛК получит данные с ошибкой и автоматически будет ложно включаться и выключаться оборудование. Надо ставить какие-то задержки для исключения ложных срабатываний.
-
Контрольную сумму - отменили? Даже несколько, в одном пакете.
-
Насколько я понял из документации (CoDeSys_V23_RU.pdf стр. 201) галочки для контрольной суммы справедливы для типа сети CAN. Было бы здорово, если бы они работали и для UDP. Пусть меня поправят если я ошибаюсь.
-
М-дя... Образование упало ниже плинтуса...
У Вас там 2 контрольных суммы. 1.- IP 2. Ethernet. Вам нужна 3-я?
-
ASo, поясните для необразованного простым языком. Я меняю уставку с панели. Теперь мне надо это значение передать с одного ПЛК на второй через сетевые переменные. Каким образом я могу использовать те две контрольные суммы, о которых Вы говорите, чтобы гарантированно получить значение на другом ПЛК. Если пакет не дойдет или дойдет с ошибкой надо будет повторить отправку.
-
Вам же русским языком сказали - данные приходят правильные (пост 27) или вообще не приходят.
Ненадежность UDP - это дошло/не дошло, а не дошло это/дошло не это.
"Не приходят" определяется обратной квитанцией (а-ля модбас) или "параллельным" чтением текущего состояния
-
Вот теперь понятно, большое спасибо! Добрались таки до истины на 3 странице. То есть галки для контрольной суммы надо ставить.