Сразу оговорюсь, что критические замечания, высказываемые мной может быть не в очень корректной форме (заранее извиняюсь за это), направлены исключительно на исправление досадных недочетов в общем-то достаточно пристойном девайсе, а не на уязвление самолюбия его создателей.
В протоколе Modbus речи о плавающих числах и строках не идет. А вот о регистрах и об их передаче в нужном количестве идет. На каком основании Вы навязываете мне, как потребителю Вашего продукта, свою личную картину видения мира? Тем более, что она идет вразрез со стандартом, который Вы решили применить в своем устройстве.
Начнем с самого начала. Протокол Modbus, как впрочем и все остальные полевые протоколы, имеет несколько уровней (слоев) согласно соглашению OSI. Откроем документ MODBUS over serial line specification and implementation guide V1.02 [1] на стр. 4 и внимательно ознакомимся с разделом 1.1. Из него мы узнаем, что документ MODBUS Application Protocol Specification V1.1b [2] определяет только 7-ой уровень по соглашению OSI. А на самом деле Modbus - это совокупность 3-х уровней. В том числе и физического.
Поэтому Ваше высказывание
отношу исключительно к тому, что у Вас просто не хватило времени ознакомиться с вышеобозначенными документами ввиду занятости основной работой. Потому как в документе [1] в разделе 3.4.6 речь идет именно о поляризации шины RS-485, если Вы применяете ее в своем устройстве. Правила использования RS-232 изложены в том же документе, в разделе 3.3.5. Особенности применения TCP/IP оговорены в документе MODBUS Messaging on TCP/IP Implementation Guide V1.0b.
В свете вышеизложенного Ваша фраза
выглядит крайне неубедительно. Потому как в разделе 4.2 документа [2] ясно сказано, что "MODBUS uses a ‘big-Endian’ representation for addresses and data items", а вовсе не какой-то там "универсальный тип байтовый массив (string)". Универсальность тут не при чем. Дело в том, что если Вы взялись следовать какому либо стандарту, то его надо выполнять полностью, а не частично. В противном случае необходимо сменить название протокола, как, например, это сделала фирма OMRON в своих приводах.
Не только видел, но и работал с ним. В настоящий момент выполняется уже второй проект на его основе. Поэтому относительно Modbus vs ПЛК "Овен" могу сказать следующее:
1-ый уровень Modbus - не выполнен (нет возможности поляризации на RS485 и соответствующей обязательной индикации в соответствии с [1]),
2-ой уровень выполнен в полном объеме,
7-ой уровень - выполнен частично (не реализованы в полном объеме команды чтения и записи множества регистров в соответствии с [2]).
Лично для меня (условно, поскольку я не один такой) протоколы Овен, DCON и имени Васи Пупкина интереса не представляют. В моих проектах они не используются, поскольку носят локальный характер и нестандартизованы в том смысле как это сделано с PROFIBUS, Modbus, DeviceNet, CanOpen и прочими FieldBus протоколами.
Ну и Вы тоже, извиняйте. Искренне желаю успехов на ниве ПЛК строения, поскольку у нас в стране Вы, пожалуй, единственные, кто это делает по-честному. Надеюсь на понимание в вопросах применения Modbus.
Если хотите, могу изложить свое видение этого вопроса применительно к Вашим ПЛК с вполне конкретными предложениями. На самом деле, привести все в норму не затратно и не сложно.