PDA

Просмотр полной версии : СП270 и float



megas
08.04.2009, 10:59
Какой-то баг в адресации float переменных или я что недопонял.
На панели, в элементе "ввод данных" прописываю регистр psw300. формат float, данные тип - Dword. Панель слэйвом. В контроллере определяю переменную real input с адресом 300 - и в этой переменной хрень приходит. Но если ставлю адрес 301 - число с панели приходит нормально. Сдвигал вперед-назад на байт-два - все равно такой эффект. чтобы получить нормально float - в контроллере адрес должен быть +1 от адреса в панели. С целыми типами такого нет! И с ИП320 такого не было.
Грешить на 4-рех байтовое выравнивание float переменных - не получается.
В общем можно терпеть, но как-то не логично.

BIV
10.04.2009, 13:27
Столкнулся с той же проблемой Работаю сПЛКдругого производителя.
Вконтроллере есть float по адресу 6 - младшая часть в 6 адресе, старшая - в 7-м.
Панель же кладет наоборот в 6 адрес кладет старшую часть в 7-ой - младшую. Получается галиматья полнейшая.
Сижу в непонятках - как бороться? В ПЛК Modicon (откуда собственно и пошел Modbus) всебыло также как в моем теперешнем ПЛК - младшая часть по младшему адресу..

Филоненко Владислав
10.04.2009, 17:07
Существует минимум 4 варианта расположения float в регистрах ModBus. Стандартизации никакой. Вот такой промышленный стандарт :(

Nick72
08.08.2009, 15:46
Господа разработчики! т.к. на самом деле порядок расположения float в регистрах MODBUS не описан стандартом, то вам предлагаю решить проблему с "конвертацией" данных от стороннего прибора, в стандарт принятый у Вас. Иначе и быть не должно! Получается вроде и поддерживает, а на самом деле один из четырёх вариантов! Это ни есть нормально! И решение о переносе данной проблемы на пользователей Вашей продукции некорректно. Подключил по MODBUS RTU Метран 910, а там как раз расположение байтов другое, в итоге принимаю непонятно что.