Ответ: Реализация чтения длинных чисел Modbus
smhcom.hpp, smhproto.hpp отражают состояние дел на 2005 год. Более новых не существует, т.к. ядро перестроено по структуре (оптимизация быстродействия) и из него нельзя выделить BIOS.
Насчёт блоков ввода-вывода, то это происходит как правило не чаще 10 раз в секунду. А то и гораздо реже. От сети требуется иногда гораздо большая частота.
Передаются так:
bool = 1 status (coil/input)
int = 1 register (holding/input)
long = 2 registers (holding/input)
real = 2 registers (holding/input)
real = стандартный четырёхбайтный вещественный тип (IEEE 854-1987).
Очерёдность регистров прямая, очерёдность байтов внутри регистров обратная:
Lo_R(Hi->Lo)->Hi_R(Hi->Lo).
__________________
Программа делает то что написал программист, а не то что он хотел.
Добро всегда побеждает зло. Кто победил - тот и добрый.
|