mt6070ih и float

Работа с панелями оператора Weintek - подключение, программирование, совмещение с ПЛК

Модераторы: kiv, 8bit, VanMo

mt6070ih и float

Сообщение PHoeNiX26 » 15 мар 2013, 17:56

Здравствуйте.
Работаю с панелью 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, связь не пропадает.

В чем может быть проблема?
PHoeNiX26
 
Сообщения: 8
Зарегистрирован: 14 мар 2013, 10:38
Откуда: Белгород

Вернуться в Weintek

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 3