ericN 3 24 мая, 2023 Опубликовано 24 мая, 2023 · Жалоба В 24.05.2023 в 15:16, tonyk_av сказал: Внизу на картинке указан адрес сайта. а вы сами заходили на этот адрес? я заходил. Не нашел. более того я нашел "MODBUS APPLICATION PROTOCOL SPECIFICATION V1.1b3" от 26 апреля 2012г. Что у вас за картинка? как документ называется? Где он на modbus.org? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 234 24 мая, 2023 Опубликовано 24 мая, 2023 · Жалоба 6 минут назад, tonyk_av сказал: Вообще-то, максимальная длина фрейма явно прописана. Это длина данных уже на более высоком уровне, не канальном, а значит никак не поможет во фрейминге. Не используется она для фрейминга и не должна. К тому же - даже на более высоких уровнях протокола длина опциональна. 6 минут назад, tonyk_av сказал: Ну вот - сами же и противоречите своему предыдущему высказыванию. Так где тут длина? 6 минут назад, tonyk_av сказал: Типично, когда слэйв начинает приём какого-то кадра в его середине. И что страшного? Ошибочность частично принятого фрейма определяется очень просто каким образом? Объясните плиз. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
quark 48 24 мая, 2023 Опубликовано 24 мая, 2023 · Жалоба 32 минуты назад, jcxz сказал: И как определить где у пакета "первые байты", а где - последние? Не зная его границ. Те, которые первые приняли, после отправки запроса. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ericN 3 24 мая, 2023 Опубликовано 24 мая, 2023 (изменено) · Жалоба В 24.05.2023 в 15:16, tonyk_av сказал: . В 24.05.2023 в 14:23, ericN сказал: на текущиый действующий стандарт протокола Modbus, в котором есть ограничение на битрейт? Меня явно с кем-то путают. Такого я не утверждал, да и не мог, потому что в стандарте нет ограничений на скорость. Да что ж такое?... ))) а кто говорит, что вы утверждаете на ограничение? вот смотрите.... вот что я скал, то, что вы процетировали В 24.05.2023 в 14:23, ericN сказал: Префразирую: Кто может поделиться трушной рабочей ссылкой на текущиый действующий стандарт протокола Modbus, в котором есть ограничение на битрейт? я здесь ни чего не утверждаю, я спрашиваю. в конце знак '?' - означает что это не утверждение, а вопрос. Это обращение не к вам лично, это обращение ко всему сообществу. Ну хорошо.... пусть не "ограничение на битрейт", а рекомендация... Где описание действующего стандарта модбас, в котором упоминается какието ограничения/реокмнедации/указания/гайды/апноте.... на битрейт более 19200? Изменено 24 мая, 2023 пользователем ericN Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 43 24 мая, 2023 Опубликовано 24 мая, 2023 · Жалоба 8 minutes ago, ericN said: я заходил. Не нашел. Вот он. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 234 24 мая, 2023 Опубликовано 24 мая, 2023 · Жалоба 9 минут назад, quark сказал: Анализируете первые байты и определяете по ним длину пакета. Ещё раз: Как определить где у пакета "первые байты", а где - "последние"? 11 минут назад, quark сказал: Считаете контрольную сумму после завершения приема пакета предполагаемой длины. Если не сходится, то бракуете весь пакет. А если сошлась? Случайно. При 16-битной CRC это весьма вероятное событие. 2 минуты назад, quark сказал: Те, которые первые приняли, после отправки запроса. Какого запроса? При чём тут какой-то запрос? Вы - ведомое устройство, подключились в линию в произвольный момент, там идёт какой-то обмен уже. Как найти "первые байты" пакета? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 43 24 мая, 2023 Опубликовано 24 мая, 2023 · Жалоба 4 minutes ago, ericN said: Где описание действующего стандарта модбас, в котором упоминается какието ограничения/реокмнедации/указания/гайды/апноте.... Ссылка выше, с.34. 5 minutes ago, jcxz said: Как найти "первые байты" пакета? В чём сложность-то? Протокол достаточно структурирован, чтобы выделить фрейм даже в сплошном потоке без пауз. У меня была реализация драйвера, которая искала во входном потоке фреймы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ericN 3 24 мая, 2023 Опубликовано 24 мая, 2023 · Жалоба В 24.05.2023 в 15:30, tonyk_av сказал: Вот он. нашел. спасибо. Цитата it is recommended to use a value of 750µs for the inter-character time-out (t1.5) and a value of 1.750ms for inter-frame delay (t3.5). рекомендация. Зафиксирую! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 43 24 мая, 2023 Опубликовано 24 мая, 2023 · Жалоба 7 minutes ago, jcxz said: А если сошлась? Случайно. При 16-битной CRC это весьма вероятное событие. Во фрейме есть несколько полей, содержимое которых должно коррелировать друг с другом. В Рекомендациях по реализации указывается на необходимость учёта этого факта помимо проверки CRC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
quark 48 24 мая, 2023 Опубликовано 24 мая, 2023 · Жалоба 4 минуты назад, jcxz сказал: Ещё раз: Как определить где у пакета "первые байты", а где - "последние"? Вы что, издеваетесь? Вы хотя бы читайте, что вам пишут. И не только вам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 43 24 мая, 2023 Опубликовано 24 мая, 2023 · Жалоба Just now, quark said: Вы что, издеваетесь? Вы хотя бы читайте, что вам пишут. И не только вам Ни капельки. Определить границы фрейма- это значит определить где первый байт, а где- последний. Никакой сложности в этом нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 234 24 мая, 2023 Опубликовано 24 мая, 2023 · Жалоба 1 минуту назад, tonyk_av сказал: Во фрейме есть несколько полей, содержимое которых должно коррелировать друг с другом. В Рекомендациях по реализации указывается на необходимость учёта этого факта помимо проверки CRC. Пока пакет не выделен, то нет никакого пакета. А когда он уже выделен - то длина уже не нужна, уже её знаем. Только что, tonyk_av сказал: Ни капельки. Определить границы фрейма- это значит определить где первый байт, а где- последний. Никакой сложности в этом нет. Сложности конечно нет. Я говорю, что для этого не нужна некая "длина данных". Фрейминг в Modbus-RTU делается только на основе межкадровых пауз. Когда фрейминг выполнен - длина уже известна. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
quark 48 24 мая, 2023 Опубликовано 24 мая, 2023 · Жалоба 5 минут назад, jcxz сказал: Пока пакет не выделен, то нет никакого пакета. Не выделен из чего? 5 минут назад, tonyk_av сказал: Ни капельки. tonyk_av , это не к вам был вопрос. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 234 24 мая, 2023 Опубликовано 24 мая, 2023 · Жалоба Только что, quark сказал: Не выделен из чего? Из потока символов на линии. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 178 24 мая, 2023 Опубликовано 24 мая, 2023 · Жалоба 26 минут назад, ericN сказал: Что у вас за картинка? как документ называется? Где он на modbus.org? https://modbus.org/docs/Modbus_over_serial_line_V1_02.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться