Страница 1 из 1

mt6070ih и float

СообщениеДобавлено: 15 мар 2013, 17:56
PHoeNiX26
Здравствуйте.
Работаю с панелью mt6070ih. Она подключена как Slave к контроллеру фирмы Segnetics (не принципиально).
При отправке контроллером числа типа real, в панель приходит неверное число. Например при отправке чисел 120,1 или 120,2 в память сохраняется одно и тоже число 120,13074
ИзображениеИзображение
При отправке 120,6 сразу перескакиевает на 120,63074
Изображение
И чем больше порядок числа, тем крупнее разброс.

Хотел схитрить, например умножить исходное число на 10, преобразовать в тип integer и уже в контроллере сделать обратное преобразование в float и разделить число обратно на 10 в макросе (думал может проблемы с передачей данных). Но внутри панели расчет происходит также неточно с некоторым шагом.
Можно ли как нибудь исправить эту проблему или какие есть способы посчитать точно?


Чтобы не плодить темы, заодно здесь еще один вопрос спрошу.
Тут на форуме есть жалобы, что не получается настроить связь и выскакивает "PLC no response". У меня обратная ситуация. Я связываюсь через COM1 (rs485 2w)/ При обрыве связи не происходит ничего, панель ведет себя так, как будто связь есть. Проверил системные метки LW-9541 (номер станции) и LB9201 (индикация состояния соединения с ПЛК). Состояние всегда в 1, связь не пропадает.

В чем может быть проблема?