Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 33

Тема: ошибка контрольной суммы в ответе

  1. #21

    По умолчанию

    ODD, Even 1 или 2 стоп бита как бы к протоколу(ам) отношения не имеют,
    с чего бы это
    это проверка целостности
    целостности чего?

  2. #22

    По умолчанию

    Even 1 или 2 стоп бита
    так вот они вроде как раз для того, чтобы не использовать контроль чётности
    скорее железо и прошивка самого прибора не успевает что-то отрабатывать и обрабатывать
    железо и прошивка работает с данными, им вообще наплевать, если данные нормальные, а вот если данные "ломаются" по дороге, то вот тогда и будет "ошибка контрольной суммы"

  3. #23
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    Цитата Сообщение от In_Da_Cher_A Посмотреть сообщение
    целостности чего?
    Конкретного байта.
    И да - я тоже всегда юзаю 8n1


    Цитата Сообщение от melky Посмотреть сообщение
    .. железо и прошивка самого прибора не успевает что-то отрабатывать и обрабатывать.
    Если Вы про 8AC, то коли нечто от него таки приходит в ответ - успевает. А учитывая #1 последний абзац и #15 5) - слишком успевает ))
    Если мы про модбас, то на 115200 минимально - в 2 раза больше.
    Последний раз редактировалось Валенок; 02.12.2023 в 11:39.

  4. #24
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    to Денис Гладышев
    А есть возможность привести побайтный состав запросов/ответов к 8AC ?
    особенно тех которые битые по ответу

  5. #25
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,669

    По умолчанию

    Ну есть проверки целостности байта до протокола и уже на уровне протокола, вместо Modbus может быть что угодно.
    Кстати да, если 8АС отвечает, то она то точно успела принять запрос и он корректный.
    з.ы. у меня как-то вместе 8АС и МЭ110-1М вместе не работали на одной линии, кажется в МЭ пришлось ждать обновления прошивки, после чего все заработало. Опрос тогда был со стороны ПЛК100 через конфигурацию.
    Может и тут какой-то из модулей "фонит" в линии?

  6. #26
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,669

    По умолчанию

    Вариант, что не хватает времени принять весь ответ от 8АС и нет проверки длины ответа, сразу попытка проверять контрольную сумму?

  7. #27

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Конкретного байта.
    данных? значит это имеет прямое отношение к протоколу, хотя коллега melky утверждает, что нет
    вот я читаю описание протокола

    Структура данных в режиме RTU
    В режиме RTU данные передаются младшими разрядами вперед (рис. 2.26).

    По умолчанию в RTU режиме бит паритета устанавливают равным 1, если количество двоичных единиц в байте нечетное, и равным 0, если оно четное. Такой паритет называют четным (even parity) и метод контроля называют контролем четности.

    Screenshot_66.png
    Рис. 2.26. Последовательность битов в режиме RTU; МЗР – младший значащий разряд. При отсутствии бита паритета на его место записывается второй стоп-бит

    При четном количестве двоичных единиц в байте бит паритета может быть равен 1. В этом случае говорят, что паритет является нечетным (odd parity).

    Контроль четности может отсутствовать вообще. В этом случае вместо бита паритета должен использоваться второй стоповый бит. Для обеспечения максимальной совместимости с другими продуктами рекомендуется использовать возможность замены бита паритета на второй стоповый бит.

    Ведомые устройства могут воспринимать любой из вариантов: четный, нечетный паритет или его отсутствие.

    Структура Modbus RTU сообщения
    Сообщения Modbus RTU передаются в виде кадров, для каждого из которых известно начало и конец. Признаком начала кадра является пауза (тишина) продолжительностью не менее 3,5 шестнадцатеричных символов (14 бит). Кадр должен передаваться непрерывно. Если при передаче кадра обнаруживается пауза продолжительностью более 1,5 шестнадцатеричных символа (6 бит), то считается, что кадр содержит ошибку и должен быть отклонен принимающим модулем. Эти величины пауз должны строго соблюдаться при скоростях ниже 19200 бит/с, однако при более высоких скоростях рекомендуется использовать фиксированные значения паузы, 1,75 мс и 750 мкс соответственно.

    Контроль ошибок
    В режиме RTU имеется два уровня контроля ошибок в сообщении:

    контроль паритета для каждого байта (опционно);

    контроль кадра в целом с помощью CRC метода.

    CRC метод используется независимо от проверки паритета. Значение CRC устанавливается в ведущем устройстве перед передачей.
    При приеме сообщения вычисляется CRC для всего сообщения и сравнивается с его значением, указанным в поле CRC кадра. Если оба значения совпадают, считается, что сообщение не содержит ошибки.

    Стартовые, стоповые биты и бит паритета в вычислении CRC не участвуют.

    а у автора - ошибка контрольной суммы в ответе
    сдаётся мне, что проблема совсем не в модуле

  8. #28
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Вариант,...
    Ну на фоне того что 8AC слишком шустрый:
    Цитата Сообщение от Денис Гладышев Посмотреть сообщение
    .. из отличительного по сравнению с другими модулями то, что длительность между концом передачи мастера и началом ответа слейва на ПОРЯДОК меньше, чем у остальных блоков..
    вытекает что мастер не успевает переключается в чтение. И проблема - в мастере.
    Да и подтверждается другим мастером:
    Цитата Сообщение от Денис Гладышев Посмотреть сообщение
    было странным то, что с одним единственным СПК107 (стареньким) модуль не выдавал ошибки по контрольной сумме и все было ОК..
    Но мастер имеет право предъявить про непротокольную шустрость ))


    Но! Не бьётся с этим:
    Цитата Сообщение от Денис Гладышев Посмотреть сообщение
    .. помогло изменение с ODD на None...
    Цитата Сообщение от Денис Гладышев Посмотреть сообщение
    ... в режиме None данный промежуток такой же, но ошибок по контрольной сумме не наблюдается).

    --
    поэтому и попросил п#24
    Последний раз редактировалось Валенок; 02.12.2023 в 14:42.

  9. #29
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    Цитата Сообщение от In_Da_Cher_A Посмотреть сообщение
    данных?
    Причем тут данные ? Сказано же - конкретного байта. К остальным - пофиг.

  10. #30

    По умолчанию

    1. в одном мануале от овен написано, что аппаратно не поддерживается контроль четности
    (надо поискать)
    2. в проекте (который я думаю решил) при обмене периодически возникала ошибка кс,
    модули на дин рейке рядом, соединение хорошими обычными одножильными проводами
    банальное решение - простая витая пара из кабеля UTP и терминальный резистор 120 ом и нет ни одной ошибки кс.
    Изображения Изображения
    Последний раз редактировалось Васильев; 03.12.2023 в 01:36.

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Похожие темы

  1. Подсчет контрольной суммы!
    от Jolly в разделе СПК1хх
    Ответов: 5
    Последнее сообщение: 19.09.2023, 17:32
  2. Диагностика ошибок в ответе Modbus-slave.
    от johnny0000 в разделе ПЛК1хх [М02]
    Ответов: 13
    Последнее сообщение: 10.05.2023, 08:56
  3. Ответов: 4
    Последнее сообщение: 10.10.2016, 14:23
  4. Ответов: 11
    Последнее сообщение: 11.06.2015, 06:10
  5. ATI в ответе модема ПМ01
    от Сергей Мих в разделе Эксплуатация
    Ответов: 15
    Последнее сообщение: 23.01.2014, 12:43

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •