-
СП270 и float
Какой-то баг в адресации float переменных или я что недопонял.
На панели, в элементе "ввод данных" прописываю регистр psw300. формат float, данные тип - Dword. Панель слэйвом. В контроллере определяю переменную real input с адресом 300 - и в этой переменной хрень приходит. Но если ставлю адрес 301 - число с панели приходит нормально. Сдвигал вперед-назад на байт-два - все равно такой эффект. чтобы получить нормально float - в контроллере адрес должен быть +1 от адреса в панели. С целыми типами такого нет! И с ИП320 такого не было.
Грешить на 4-рех байтовое выравнивание float переменных - не получается.
В общем можно терпеть, но как-то не логично.
-
Аналогичная фигня
Столкнулся с той же проблемой Работаю сПЛКдругого производителя.
Вконтроллере есть float по адресу 6 - младшая часть в 6 адресе, старшая - в 7-м.
Панель же кладет наоборот в 6 адрес кладет старшую часть в 7-ой - младшую. Получается галиматья полнейшая.
Сижу в непонятках - как бороться? В ПЛК Modicon (откуда собственно и пошел Modbus) всебыло также как в моем теперешнем ПЛК - младшая часть по младшему адресу..
-
Существует минимум 4 варианта расположения float в регистрах ModBus. Стандартизации никакой. Вот такой промышленный стандарт
-
Господа разработчики! т.к. на самом деле порядок расположения float в регистрах MODBUS не описан стандартом, то вам предлагаю решить проблему с "конвертацией" данных от стороннего прибора, в стандарт принятый у Вас. Иначе и быть не должно! Получается вроде и поддерживает, а на самом деле один из четырёх вариантов! Это ни есть нормально! И решение о переносе данной проблемы на пользователей Вашей продукции некорректно. Подключил по MODBUS RTU Метран 910, а там как раз расположение байтов другое, в итоге принимаю непонятно что.
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума