Segnetics

Вернуться   Segnetics > Форум Segnetics > Связь с внешним миром > Примеры работы по Modbus

Примеры работы по Modbus Примеры работы с частотниками, панелями и любыми другими устройствами, использующими Modbus-RTU/ASCII/TCP

 
 
Опции темы Поиск в этой теме
Старый 17.02.2010, 15:54   #1
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 086
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Получение нестандартного REAL по MODBUS

Макрос исправляет порядок байтов при приёме числа REAL по Modbus.

Позволяет менять местами как регистры, так и байты внутри регистров.

Работает с входными данными в формате LONG или 2хINT. В первом случае переменная REAL читается
как LONG, во втором случае как два последовательно расположенных INT.

На выходе макроса - преобразованное число REAL.

Форматы приёма данных:

- старшим регистром вперед - при передаче 32-битного числа первым передаются старшие 16 бит (стандарт)
- младшим регистром вперед

- страший байт впереди (Little endian) - PC и большинство распространенных микропроцессоров
- младший байт впереди (Big endian)
Вложения
Тип файла: msl real_swapper.msl (38.1 Кбайт, 1820 просмотров)


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

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 08.08.2013 в 17:42
Arsie сейчас на форуме  
Благодарность от:
Старый 29.12.2011, 17:50   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 086
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Получение нестандартного REAL по MODBUS

Для взаимодействия с модулями Мх100 от ОВЕН нужно переставить местами регистры, т.е. это цифра "1" на входе "Mode".


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

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 06.04.2012 в 11:19
Arsie сейчас на форуме  
Старый 31.01.2015, 14:12   #3
Wildrover
Новичок
 
Регистрация: Dec 2014
Сообщения: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Получение нестандартного REAL по MODBUS

Существует макрос обратного преобразования? Необходимо писать значение типа REAL в прибор по ModBus. Из CoDeSys - без проблем, а вот Pixel хранит REAL в памяти младшим словом вперед и так же передает в ModBus.

Во вложениях правильная и неправильная запись.

PS: заранее извиняюсь если тема уже раскрыта, с Segnetics-ом только начинаю разбираться.
Изображения
Тип файла: png 2015-01-26 14-24-33 Baseblock ComTest Pro for Modbus Devices.png (63.2 Кбайт, 1169 просмотров)
Тип файла: png 2015-01-27 15-01-30 Baseblock ComTest Pro for Modbus Devices.png (67.3 Кбайт, 646 просмотров)
Wildrover вне форума  
Старый 01.02.2015, 12:53   #4
СВМ
Senior Member
 
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 179
Благодарил(а): 1 раз(а)
Поблагодарили: 3 раз(а) в 3 сообщениях
По умолчанию Ответ: Получение нестандартного REAL по MODBUS

Цитата:
Сообщение от Wildrover Посмотреть сообщение
Существует макрос обратного преобразования? Необходимо писать значение типа REAL в прибор по ModBus.

PS: заранее извиняюсь если тема уже раскрыта, с Segnetics-ом только начинаю разбираться.
Существует.
Вложения
Тип файла: msl Byteswapper1_1.msl (45.1 Кбайт, 705 просмотров)
СВМ вне форума  
 


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

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



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


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