Segnetics

Вернуться   Segnetics > Форум Segnetics > Вопросы о Pixel

Вопросы о Pixel Раздел специально по темам работы и применения контроллеров Pixel - 12xx и Pixel - 25xx

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.02.2022, 20:59   #1
Vibo
Новичок
 
Регистрация: Feb 2022
Сообщения: 15
Благодарил(а): 1 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Формат Real в Modbus RTU (нет проблемы)

Добрый день.
Поимел проблему. Есть счетчик электроэнергии. Поддерживает Modbus. Все бы ничего, но данные передает в формате Real, но не таком, какой хочет принимать Pixel, а именно, последовательность байт в 32битном Real у Pixel - badc, а счетчик передает в последовательности abcd.

И вот тут делема. Я могу запросить с него два раза по слову в int, могу запросить 1 раз в long, но дальше с ними толком ничего не сделать. Битовых преобразований нет для long. Побитно собрать real тоже никак.

Подскажите, может есть путь решения проблемы? Формат телеги на счетчике я поменять никак не могу
Vibo вне форума   Ответить с цитированием
Старый 27.02.2022, 21:15   #2
New
Senior Member
 
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили: 22 раз(а) в 22 сообщениях
По умолчанию Ответ: Формат Real в Modbus RTU

https://forum.segnetics.com/showthread.php?t=461


__________________
RTFM
New вне форума   Ответить с цитированием
Благодарность от:
Старый 27.02.2022, 21:24   #3
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 744
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Формат Real в Modbus RTU

Цитата:
Сообщение от Vibo Посмотреть сообщение
Побитно собрать real тоже никак.
Ссылку уже кинули. Кстати там real побитно собирается.


__________________
Не являюсь сотрудником Segnetics !!!
ATS вне форума   Ответить с цитированием
Старый 27.02.2022, 22:48   #4
Vibo
Новичок
 
Регистрация: Feb 2022
Сообщения: 15
Благодарил(а): 1 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Формат Real в Modbus RTU

Господа, вот что значит иметь разум. Недопер совсем чуть чуть.
Спасибо огромное.
Vibo вне форума   Ответить с цитированием
Старый 28.02.2022, 10:50   #5
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 023
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Формат Real в Modbus RTU

Цитата:
Сообщение от Vibo Посмотреть сообщение
Битовых преобразований нет для long.
И тут вы также недоглядели, всё есть для лонга.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 01.03.2022, 01:27   #6
Vibo
Новичок
 
Регистрация: Feb 2022
Сообщения: 15
Благодарил(а): 1 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Формат Real в Modbus RTU

Цитата:
Сообщение от Arsie Посмотреть сообщение
И тут вы также недоглядели, всё есть для лонга.
А можно подсказочку? 16битные преобразования вижу. Ну вот, например, альтернативу этому можно?

uint32_t LNG = 0xAB01CD02
uint16_t LH = (LNG >> 16);
uint16_t LL = (LNG & 0xFFFF);
LNG = (LL << 16) | LH;

Простая перестановка по словам.

Ну я учусь, да не профи, но учусь. На кону выбор контроллера, смотрю на Трим, про цены не буду.
Vibo вне форума   Ответить с цитированием
Старый 01.03.2022, 01:59   #7
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 023
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Формат Real в Modbus RTU

Цитата:
Сообщение от Vibo Посмотреть сообщение
А можно подсказочку? 16битные преобразования вижу.
bool->long разворачивается на 32 разряда. reg32->bits разворачивается на 32 разряда. Это даёт возможность проводить любые трансформации.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 01.03.2022, 18:49   #8
Vibo
Новичок
 
Регистрация: Feb 2022
Сообщения: 15
Благодарил(а): 1 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Формат Real в Modbus RTU (нет проблемы)

Ну да, затупил. Мне-то в real надо было, но с этим разобрались в принципе.

Кстати, а нет ли возможности делать для smlogix блоки на асм или с-подобном языке? Иной раз это проще описать, чем городить карусель из блоков. Примеры приводить не буду, но даже на сименсе порой легче в STL делать, чем LAD.
Vibo вне форума   Ответить с цитированием
Старый 02.03.2022, 10:22   #9
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 023
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Формат Real в Modbus RTU (нет проблемы)

Цитата:
Сообщение от Vibo Посмотреть сообщение
это проще описать, чем городить
Если вам действительно интересна эта тема, воспользуйтесь поиском по форуму. Всё уже обговорено до вас многажды.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Предотвращение сброса переменных в ноль Modbus (нет проблемы) wildegor Вопросы о программировании 4 28.04.2021 11:42
Описание работы FMR про протоколу ModBus (нет проблемы) Taimer81 Вопросы о FMR и MRL 23 06.07.2020 15:35
Matrix как Modbus TCP Master (нет проблемы) Omap Вопросы о Matrix 15 14.02.2020 13:30
2Gi/4G разница в modbus (нет проблемы) kostkost Связь с внешним миром 16 02.03.2018 20:01
Проблема зависание 2Gi/MC djaval Вопросы о SMH-2G(i) 108 20.09.2017 18:58


Часовой пояс GMT +4, время: 14:50.


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2023