On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение



ссылка на сообщение  Отправлено: 13.12.16 13:40. Заголовок: чайниковский вопрос


Извините за дилетантский вопрос (давненько не программировал, забылось уже....:-((()
приходит hex-посылка \xFF\xA9 как на панели из него получить "-87" ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 15 [только новые]


постоянный участник




ссылка на сообщение  Отправлено: 13.12.16 13:42. Заголовок: Примените Serial I/O..


Примените прямую обработку события через Serial I/O.
При получении \xFF\xA9 выдавайте \x2D\x38\x37
Кроме того, используйте Make String Permanent.

Надеюсь, это поможет.

Спасибо: 0 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 13.12.16 13:45. Заголовок: Vladimir, а откуда, ..


Vladimir, а откуда, если не секрет, такое приходит?

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 13.12.16 14:29. Заголовок: температура от автом..


температура от автоматики котла по модбасу

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 13.12.16 14:35. Заголовок: если быть точнее то ..


если быть точнее то температура наружнего воздуха от датчика автоматики котла , -8,7 градуса было ночью под Питером.....

Спасибо: 0 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 13.12.16 14:38. Заголовок: А, Modbus. Там может..


А, Modbus. Там может всплыть много нового, интересного, я бы даже сказал - увлекательного.
Если стоит задача сделать быстро, а разработчиками автоматики не применено какое-нибудь колдунство для передачи, например, отрицательных величин, то соглашусь с предложением Игоря К.

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 13.12.16 15:18. Заголовок: так это вроде дополнительный код...


FF FF - FF A9 + 1d = 56H + 1d = 86d+1d = 87d
переводим в serial ,добавим запятую и ставим впереди знак минус

Спасибо: 0 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 13.12.16 15:21. Заголовок: marin_n, и откуда та..


marin_n, и откуда такой алгоритм? Документацию на автоматику изучили или дедукция?

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 13.12.16 15:24. Заголовок: или я ошибаюсь?


или я ошибаюсь? поправьте меня

Спасибо: 0 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 13.12.16 15:27. Заголовок: marin_n, мы не знаем..


marin_n, мы не знаем, потому интересуемся происхождением предложенного алгоритма.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




ссылка на сообщение  Отправлено: 13.12.16 15:39. Заголовок: Если линейно изменяю..


Если линейно изменяющуюся величину отображать и запускать в обработку, то нужно
описание или снять десяток точек соответствия данных от датчика текущей температуры.
А вот когда будет табличка с графиком, то и алгоритм можно соорудить.
Ведь может зависимость и нелинейной быть, и своеобразно через 0 град. перескакивать.

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 13.12.16 15:40. Заголовок: согласна


нужно несколько измерений

Спасибо: 0 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 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) модулем.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




ссылка на сообщение  Отправлено: 13.12.16 16:08. Заголовок: Вячеслав, вас так и ..


Вячеслав, вас так и тянет здесь оперировать с отрицательными числами в SIMPL+.
Может лучше прологарифмировать весь этот беспредел?

Спасибо: 0 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 13.12.16 16:20. Заголовок: Можно конечно пару с..


Можно конечно тысячу строк-вариантов на Serial i/o нарисовать на каждое дробное значение в диапазоне -40.0 +50.9. Тут, как Вы сами говорите "каждый делает как ему удобно"
Да и откуда вообще вдруг появилась задача апроксимации линейной или логарифмической? Ведь устройство возвращает конкретную величину текущей температуры.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




ссылка на сообщение  Отправлено: 13.12.16 16:22. Заголовок: Да, кому и кобыла не..


Да, кому и кобыла невеста.

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 74
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет