ModBus Slave RTU/ASCII без смс и регистрации. Версия 3

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

image

Ранее на Хабре была опубликована статья «ModBus Slave RTU/ASCII без смс и регистрации», посвященная реализации ModBus Slave RTU/ASCII устройств. В комментариях к статье было высказано множество замечаний, в том числе и несколько весьма дельных. В данной публикации я приведена новая версия ModBus Slave RTU/ASCII с учетом этих замечаний.

Новые версии файлов:
modbus.c
modbus.h
ModBus2Prg.c

Настоечные константы полностью аналогичны предыдущей версии. Основные отличии от предыдущей версии:
  • Добавлен расчет CRC по таблице. Включается опцией ModBusUseTableCRC. Расчет CRC таблице не только более эффективен по скорости, но и гораздо компактнее по размеру, при условии использовании высокой оптимизации компилятора по скорости. При оптимизации компилятора по размеру, целесообразней не использовать табличный метод.
  • Введена обработка логических ошибок протокола Modbus. Включается опцией ModBusUseErrMes. Поддерживаются сообщения об ошибках ILLEGAL_FUNCTION, ILLEGAL_DATA_ADDRESS, ILLEGAL_DATA_VALUE, согласно спецификации протокола V1.1b3.
  • Добавлена функция протокола 22-запись регистра по маске. Включается опцией ModBusUseFunc22. Многие Modbus Master устройства опционально поддерживают эту функцию, ее использование позволяет оптимизировать трафик при использовании регистров чтения/записи (4Х) как битовых переменных.
  • Проведена оптимизация кода, исключены дублирующие действия, уменьшено использование статических переменных и т.п.
  • Исправлены ошибки в комментариях.


Мои коллеги, зная что я занимаюсь разработкой промышленных датчиков, просят меня поделится исходными кодами Modbus интерфейса. Я решил «делится кодом» в автоматическом режиме. Надеюсь данная библиотека будет полезна инженерам разрабатывающим ModBus устройства.
Источник: https://habr.com/ru/post/526880/


Интересные статьи

Интересные статьи

Недавно на проекте интегрировал модуль CRM Битрикса c виртуальной АТС Ростелеком. Делал по стандартной инструкции, где пошагово показано, какие поля заполнять. Оказалось, следование ей не гаран...
На работе я занимаюсь поддержкой пользователей и обслуживанием коробочной версии CRM Битрикс24, в том числе и написанием бизнес-процессов. Нужно отметить, что на самом деле я не «чист...
Привет Хабр! В этом году мы делали перевод огрооомного обучающего курса по React — в нашем блоге он был аж в 27 постах. В каждой части, от простого к сложному, выдавался концентрат знаний, которы...
Получить трафик для интернет-магазина сегодня не проблема. Есть много каналов его привлечения: органическая выдача, контекстная реклама, контент-маркетинг, RTB-сети и т. д. Вопрос в том, как вы распор...
Автокэширование в 1с-Битрикс — хорошо развитая и довольно сложная система, позволяющая в разы уменьшить число обращений к базе данных и ускорить выполнение страниц.