Автор | Сообщение |
|
Отправлено: 13.12.16 13:40. Заголовок: чайниковский вопрос
Извините за дилетантский вопрос (давненько не программировал, забылось уже....:-((() приходит hex-посылка \xFF\xA9 как на панели из него получить "-87" ?
|
|
|
Ответов - 15
[только новые]
|
|
|
| постоянный участник
|
|
|
Отправлено: 13.12.16 13:42. Заголовок: Примените Serial I/O..
Примените прямую обработку события через Serial I/O. При получении \xFF\xA9 выдавайте \x2D\x38\x37 Кроме того, используйте Make String Permanent. Надеюсь, это поможет.
|
|
|
|
Отправлено: 13.12.16 13:45. Заголовок: Vladimir, а откуда, ..
Vladimir, а откуда, если не секрет, такое приходит?
|
|
|
|
Отправлено: 13.12.16 14:29. Заголовок: температура от автом..
температура от автоматики котла по модбасу
|
|
|
|
Отправлено: 13.12.16 14:35. Заголовок: если быть точнее то ..
если быть точнее то температура наружнего воздуха от датчика автоматики котла , -8,7 градуса было ночью под Питером.....
|
|
|
|
Отправлено: 13.12.16 14:38. Заголовок: А, Modbus. Там может..
А, Modbus. Там может всплыть много нового, интересного, я бы даже сказал - увлекательного. Если стоит задача сделать быстро, а разработчиками автоматики не применено какое-нибудь колдунство для передачи, например, отрицательных величин, то соглашусь с предложением Игоря К.
|
|
|
|
Отправлено: 13.12.16 15:18. Заголовок: так это вроде дополнительный код...
FF FF - FF A9 + 1d = 56H + 1d = 86d+1d = 87d переводим в serial ,добавим запятую и ставим впереди знак минус
|
|
|
|
Отправлено: 13.12.16 15:21. Заголовок: marin_n, и откуда та..
marin_n, и откуда такой алгоритм? Документацию на автоматику изучили или дедукция?
|
|
|
|
Отправлено: 13.12.16 15:24. Заголовок: или я ошибаюсь?
или я ошибаюсь? поправьте меня
|
|
|
|
Отправлено: 13.12.16 15:27. Заголовок: marin_n, мы не знаем..
marin_n, мы не знаем, потому интересуемся происхождением предложенного алгоритма.
|
|
|
|
| постоянный участник
|
|
|
Отправлено: 13.12.16 15:39. Заголовок: Если линейно изменяю..
Если линейно изменяющуюся величину отображать и запускать в обработку, то нужно описание или снять десяток точек соответствия данных от датчика текущей температуры. А вот когда будет табличка с графиком, то и алгоритм можно соорудить. Ведь может зависимость и нелинейной быть, и своеобразно через 0 град. перескакивать.
|
|
|
|
Отправлено: 13.12.16 15:40. Заголовок: согласна
нужно несколько измерений
|
|
|
|
|
Отправлено: 13.12.16 15:53. Заголовок: Это обычное правило ..
Это обычное правило преобразования числа из отрицательного в положительное (по сути основы двоичного представления). Реализация только предложена необычная ) Чтоб из положительного преобразовать в отрицательное берем инверсию (not) и прибавляем единицу Чтоб из отрицательного получить положительное (с потерей знака само собой) отнимаем единицу и берем инверсию (not) Итого по вопросу: if (temp>32767) //определяем что число отрицательное по старшему биту { temp=not(temp-1); //преобразуем к положительному виду temp$="-"+ITOA(temp/10)+","+ITOA(temp mod 10)+"\xB0С";//добавляем знак минус впереди, выделяем целую и дробную части, добавляем символ градуса } else { temp$=ITOA(temp/10)+","+ITOA(temp mod 10)+"\xB0С";//тоже но для положительных температур } P.S. У нас офисный Modbus RTU выдает 4-x байтное представление температуры по стандарту IEEE 754. Которое надо декодировать AnalogToFloatingPoint (fptoa) модулем.
|
|
|
|
| постоянный участник
|
|
|
Отправлено: 13.12.16 16:08. Заголовок: Вячеслав, вас так и ..
Вячеслав, вас так и тянет здесь оперировать с отрицательными числами в SIMPL+. Может лучше прологарифмировать весь этот беспредел?
|
|
|
|
Отправлено: 13.12.16 16:20. Заголовок: Можно конечно пару с..
Можно конечно тысячу строк-вариантов на Serial i/o нарисовать на каждое дробное значение в диапазоне -40.0 +50.9. Тут, как Вы сами говорите "каждый делает как ему удобно" Да и откуда вообще вдруг появилась задача апроксимации линейной или логарифмической? Ведь устройство возвращает конкретную величину текущей температуры.
|
|
|
|
| постоянный участник
|
|
|
Отправлено: 13.12.16 16:22. Заголовок: Да, кому и кобыла не..
Да, кому и кобыла невеста.
|
|
|
|