Кажется лучше до отправки считать контрольную сумму, а по приему ее проверять на приемном ПЛК, тогда обратной посылки не потребуется. В случае несовпадения наоборот будет идти запрос на повторную посылку...
Кажется лучше до отправки считать контрольную сумму, а по приему ее проверять на приемном ПЛК, тогда обратной посылки не потребуется. В случае несовпадения наоборот будет идти запрос на повторную посылку...
Из инструкции я понял, что UDP контрольную сумму не передает через сетевые переменные, только CAN. Поэтому контролировать надо самому. Если, к примеру, из панели менять уставку, то на текущем экране мы увидим, если значение неправильное и можно снова его изменить. Вот у меня и вопрос, если переменные пишутся только те, что изменились, то все нормально, а если вся папка целиком и там есть переменные, которые на текущем экране панели не отражены и будут испорчены, то мы об этом не узнаем. В этом случае надо будет делать несколько папок с переменными для каждого экрана свою папку.
amn так я я о чем ? вы хотите передать 10 байт, посчитаете контрольную сумму, прикрепите к переадче и передайте 12 байт. На приемной стороне приняли 12 байт, проверили контрольную сумму, совпало, отправили - ок, принял.
Не совпало, отправили - плохо слышу, повтори...
melky, речь идет о сетевых переменных, тут ничего прикрепить нельзя.
amn кто-то запрещает прикреплять ?
Сетевые переменные это обычные глобальные переменные, которые передаются по сети без организации сетевого интерфейса. Ну и как я к глобальной переменной что-то могу прикрепить, если нет для этого инструмента?
amn блин, инструмент - ВАША программа.
Передача переменных - скопом, то есть 10, 20 и т.д. и никто не мешает программе передающего устройства собрать все переменные до кучи, расчитать им контрольную сумму любым алгоритмом и отправить остальным.
Приемники, получив пакет проверяют по тому же алгоритму, правильно ли все получено, и если не правильно, отправляют запрос на повторное получение, или как вариант ждут следующей посылки, если был некорректный прием и не предпринимают действий.
Даже могут не отвечать и не запрашивать главное устройство, зависит от алгоритма.
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
capzap с сетевыми сталкивался только на Modicon, сильная штука, но там через Modbus они гуляют вроде, не разбирался сильно.
Просто если речь идет о самописной реализации, то какая разница как оно будет реализовано ? просто передача 10 байт в пустоту, или передача тех же 10 байт но с добавлением контрольной суммы этих 10-ти байт ?
По крайней мере это позволяет при получении проверить, а правильный ли мы пакет получили ? Не вдаваясь в подробности протокола (раз уж сам UDP не позволяет выполнить контроль)
я извиняюсь, а чтобы передать по UDP не надо сказать устройству - передай вот это по сети ?
речь о бибке NetVarUdp_LIB_V23.lib и настройке целевой платформы, ни какой самописной реализации
ЗЫ на диске это примерно тут E:\08. Примеры программ и полезности\Samples_plc1xx\Communication\03_ NetVarUDP
Последний раз редактировалось capzap; 25.12.2014 в 22:49.
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран