|
Вопросы о Pixel Раздел специально по темам работы и применения контроллеров Pixel - 12xx и Pixel - 25xx |
|
Опции темы | Поиск в этой теме |
27.02.2022, 20:59 | #1 |
Новичок
Регистрация: Feb 2022
Сообщения: 15
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Формат Real в Modbus RTU (нет проблемы)
Добрый день.
Поимел проблему. Есть счетчик электроэнергии. Поддерживает Modbus. Все бы ничего, но данные передает в формате Real, но не таком, какой хочет принимать Pixel, а именно, последовательность байт в 32битном Real у Pixel - badc, а счетчик передает в последовательности abcd. И вот тут делема. Я могу запросить с него два раза по слову в int, могу запросить 1 раз в long, но дальше с ними толком ничего не сделать. Битовых преобразований нет для long. Побитно собрать real тоже никак. Подскажите, может есть путь решения проблемы? Формат телеги на счетчике я поменять никак не могу |
27.02.2022, 21:15 | #2 |
Senior Member
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Формат Real в Modbus RTU
__________________ RTFM |
Благодарность от: |
27.02.2022, 21:24 | #3 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 785
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Формат Real в Modbus RTU
Ссылку уже кинули. Кстати там real побитно собирается.
__________________ Не являюсь сотрудником Segnetics !!! |
27.02.2022, 22:48 | #4 |
Новичок
Регистрация: Feb 2022
Сообщения: 15
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Формат Real в Modbus RTU
Господа, вот что значит иметь разум. Недопер совсем чуть чуть.
Спасибо огромное. |
28.02.2022, 10:50 | #5 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Формат Real в Modbus RTU
И тут вы также недоглядели, всё есть для лонга.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
01.03.2022, 01:27 | #6 |
Новичок
Регистрация: Feb 2022
Сообщения: 15
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Формат Real в Modbus RTU
А можно подсказочку? 16битные преобразования вижу. Ну вот, например, альтернативу этому можно?
uint32_t LNG = 0xAB01CD02 uint16_t LH = (LNG >> 16); uint16_t LL = (LNG & 0xFFFF); LNG = (LL << 16) | LH; Простая перестановка по словам. Ну я учусь, да не профи, но учусь. На кону выбор контроллера, смотрю на Трим, про цены не буду. |
01.03.2022, 01:59 | #7 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Формат Real в Modbus RTU
bool->long разворачивается на 32 разряда. reg32->bits разворачивается на 32 разряда. Это даёт возможность проводить любые трансформации.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
01.03.2022, 18:49 | #8 |
Новичок
Регистрация: Feb 2022
Сообщения: 15
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Формат Real в Modbus RTU (нет проблемы)
Ну да, затупил. Мне-то в real надо было, но с этим разобрались в принципе.
Кстати, а нет ли возможности делать для smlogix блоки на асм или с-подобном языке? Иной раз это проще описать, чем городить карусель из блоков. Примеры приводить не буду, но даже на сименсе порой легче в STL делать, чем LAD. |
02.03.2022, 10:22 | #9 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Формат Real в Modbus RTU (нет проблемы)
Если вам действительно интересна эта тема, воспользуйтесь поиском по форуму. Всё уже обговорено до вас многажды.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |