Рекомендуется ознакомиться с усовершенствованной версией функции TXD_CRC
Функция выполняет расчет контрольной суммы (настройка Тип) по TXD буферу, начиная с index до (index + size - 1). Рассчитанная контрольная сумма записывается в TXD буфер на позицию с индексом value_index.
| В меню функций | На схеме |
|---|---|
![]() |
![]() |
| Название | Тип значения | Описание |
|---|---|---|
enable |
bool | Если True, то функция выполняет расчет контрольной суммы |
index |
int32 | Позиция в TXD буфере, начиная с которой производится расчет контрольной суммы |
size |
int32 | Длина массива данных для расчета контрольной суммы |
value_index |
int32 | Позиция значения в TXD буфере, начиная с которой будет записана контрольная сумма |
отсутствуют
| Название | Описание |
|---|---|
| Тип | Алгоритм расчета контрольной суммы: CRC-16 (Modbus) - Стандартный алгоритм CRC-16 Modbus. CRC-8 (Maxim/Dallas) - Стандартный алгоритм CRC-8 Maxim/Dallas. XOR (8 bits) - Последовательная операция XOR. Сумма (8 bits) - Последовательное сложение элементов. |
| Порядок байт | Только если Тип = CRC-16 (Modbus) Порядок байт, для дальнейшего выполнения преобразований контрольной суммы (для примера считаем, что расчетное значение = 0x0201):Младшим вперед - Далее будет использовано значение 0x0102.Старшим вперед - Далее будет использовано значение 0x0201. |
| Инвертировать | Если флаг установлен, то перед следующей операцией значение будет побитово инвертировано. Например, если было 0x0201, то будет 0xFDFE. |
| Добавить 1 | Если флаг установлен, то перед записью в буфер значение будет увеличено на 1.Например, если было 0x0201, то будет 0x0202. |
Операции "Порядок байт", "Инвертировать", "Добавить 1" выполняются после расчета контрольной суммы по очереди в порядке перечисления и влияют на финальное значение, используемое при записи в буфер.