-
- Чтобы соответствовать общепринятым нормам в наших кругах. Вот к
примеру регистры Модбас у фирмы Сенсор. Каждый регистр и передается
побайтно в Модбасе Лaгyнoв(1 знак., Сегодня, 13:14, картинка)
- Ваша проблема немного надумана. Перевод целочисленных значений в
плавучку (при необходимости) должен быть функцией SCADA-системы,
которая опрашивает modbus-регистры вашего прибора. - reZident(Сегодня, 13:51)
- Проще у себя байты перетасовать в нужном порядке чем потом каждому SCADA-программеру всю эту науку о байтах снова и снова разъяснять. - ЫЫyкпy(Сегодня, 21:11)
- Я о том, что только для передачи нет смысла целочисленные значения преобразовывать в плывучку. Упаковать их в два регистра и дело с концом. Плывучка имеет смысл во время преобразования (масштабирования) величин для удобного отображения циферок пользователю. А отображение обычно на стороне SCADA идет. - reZident(Сегодня, 22:25)
- Проще у себя байты перетасовать в нужном порядке чем потом каждому SCADA-программеру всю эту науку о байтах снова и снова разъяснять. - ЫЫyкпy(Сегодня, 21:11)
- Если соответствовать "общепринятым нормам" именно в этих кругах, то
в 9 из 10 устройств тупо, в отдельном регистре, передают положение
decimal point. Решение уродливое, что не мешает ему быть
"общепринятым". - Tahoe3D(Сегодня, 13:19,
)
- вот именно, что тупо и уродливо. Я б с удовольствием в int16 всё
клал. Но надо так, как на картинке. И у нас так живут 10 из 10. Вот
еще пример счетчик-расходомер ЭМИС. Тоже float32. И вдруг тут я
вылезаю такой оригинальный. :-) Лaгyнoв(2 знак., Сегодня, 13:27, картинка)
- Самое смешное во всей этой стандартизации то, что в так называемых стандартах Модбаса нет ни слова о том как передавать данные размером больше 16 бит. Единственное разумное решение в такой ситуации - сохранять совместимость с уже имеющимся оборудованием. Первые контроллеры Модикон с которых всё начиналось были big-endian. О таких высоких материях как порядок следования байт программисты этих контроллеров не задумывались, просто читали/писали байты в том порядке как они ЫЫyкпy(522 знак., Сегодня, 20:52)
- вот именно, что тупо и уродливо. Я б с удовольствием в int16 всё
клал. Но надо так, как на картинке. И у нас так живут 10 из 10. Вот
еще пример счетчик-расходомер ЭМИС. Тоже float32. И вдруг тут я
вылезаю такой оригинальный. :-) Лaгyнoв(2 знак., Сегодня, 13:27, картинка)
- Ваша проблема немного надумана. Перевод целочисленных значений в
плавучку (при необходимости) должен быть функцией SCADA-системы,
которая опрашивает modbus-регистры вашего прибора. - reZident(Сегодня, 13:51)
- Чтобы соответствовать общепринятым нормам в наших кругах. Вот к
примеру регистры Модбас у фирмы Сенсор. Каждый регистр и передается
побайтно в Модбасе Лaгyнoв(1 знак., Сегодня, 13:14, картинка)