Показано с 1 по 6 из 6

Тема: Подсчет контрольной суммы!

  1. #1

    По умолчанию Подсчет контрольной суммы!

    Всем привет! Необходимо реализовать опрос устройства с нестандартным протоколом по RS 485.
    В документации есть такая таблица (во вложении)

    В этой таблице байт №23 BCC - это контрольная сумма. Метод ее подсчета написан, но так как я не сталкивался с подобным - не совсем понимаю как это переписать на ST.
    Опрос организовать могу, но не могу посчитать контрольную сумму. Если кто сталкивался, подскажите!
    Изображения Изображения
    • Тип файла: png 1.png (159.0 Кб, Просмотров: 16)

  2. #2

    По умолчанию

    В цикл for i=0 to 22 загони и массив используй.
    i это номер байта от 0 до 22, а байт, это само число на этом месте.

    Csum[0]=byte[0]
    for i=1 to 22 do
    Csum[i]=Csum[i-1] xor byte[i]
    End_for
    Последний раз редактировалось МихаилГл; 19.09.2023 в 16:24.

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

    По умолчанию

    0 байт в расчете CS вроде не участвует. или участвует, что-то не догоню...

    Код HTML:
    4.4. BCC generation
    The following example shows how the BCC is generated:
    BCC = 0, before the first character of a telegram is received (STX)
    BCC 0 0 0 0 0 0 0 0
    After the first character has been received: BCCnew = BCCold EXOR "first character"
    (EXOR = exclusive OR logic operation)
    BCCold = 0 0 0 0 0 0 0 0
    EXOR
    "first character" = 0 0 0 0 0 0 1 0 ( ^ STX)
    ________________________________________________
    BCCnew = 0 0 0 0 0 0 1 0
    After each additional character has been received, this is EXOR’d with BCCold EXOR, in order to regenerate
    BCCnew, e. g.:
    BCCold = 0 0 0 0 0 0 1 0
    EXOR
    "second character"= 1 1 0 1 0 1 1 0
    ________________________________________________
    BCCnew = 1 1 0 1 0 1 0 0
    The result is the BCC after the last net character.
    Последний раз редактировалось melky; 19.09.2023 в 17:29.

  4. #4

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    0 байт в расчете CS вроде не участвует. или участвует, что-то не догоню...
    Самая первая строчка, где i=0
    Я не искал всс в интернете, взял описание из поста
    Последний раз редактировалось МихаилГл; 19.09.2023 в 17:31.

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

    По умолчанию

    Извиняйте, из доки по USS протоколу на инглише

    Вроде простой XOR байт за байтом, начальный 0-й, стартовый байт 0.
    Последний раз редактировалось melky; 19.09.2023 в 17:39.

  6. #6

    По умолчанию

    Спасибо! Буду пробовать!

Похожие темы

  1. Ответов: 4
    Последнее сообщение: 10.10.2016, 14:23
  2. Ответов: 11
    Последнее сообщение: 11.06.2015, 06:10
  3. подсчет суммы доз материала
    от niklud19511 в разделе ПЛК1хх
    Ответов: 14
    Последнее сообщение: 13.09.2011, 17:20
  4. Контрольные суммы: протоколы ОВЕН и Modbus
    от ks-app в разделе Сетевые технологии
    Ответов: 3
    Последнее сообщение: 16.12.2009, 16:32
  5. Подсчет импульсов (расходомеры)
    от Gans в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 22.05.2007, 14:55

Ваши права

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