ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
19 мая
180912 Топик полностью
rezident (10.02.2010 19:49, просмотров: 170) ответил koyodza на ещё вопрос: как лучше сделать таблицу ссылок на данные?
У нас обычно данные в памяти хранятся в их нативном (естественном) для данной архитектуры виде. Запрос мастера обрабатывается путем поиска по таблице описаний. В таблице описаний есть указатель на начало объекта, размер объекта, тип объекта (переменная или функция) и ссылка на таблицу функций. Если запрошенный объект является переменной, то он просто перекладывается в буфер для отправки в соответствии с типом протокола и с учетом требуемых "индейцев". Если объект - функция, которую необходимо вызвать для доступа к запрашиваемым данным, то указатель на функцию выбирается из таблицы. Для ModBus у нас имеется 5 типов преобразования данных, в которых учтены все возможные комбинации для 16-и и 32-х разрядных данных. Причем типов преобразований у нас 5, а видов - 10, т.к. встречались с такой экзотической ситуаций, когда данные типа Long и данные типа Float обрабатывались по-разному (с разной "эндинанностью").