• ОБЯЗАТЕЛЬНО заполнить свой профиль НА РУССКОМ ЯЗЫКЕ КИРИЛЛИЦЕЙ.
  • НЕ НУЖНО писать свой вопрос в первую попавшуюся тему, а вместо этого создать НОВУЮ тему.
  • Дублирование сообщений приравнивается к спаму.
  • Рекламу мы не размещаем ни на каких условиях.

Склеить два Word и получить Real

ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)
Ответить

Автор темы
RoninX
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 08 авг 2018, 21:27
Имя: Павел
Благодарил (а): 1 раз

Склеить два Word и получить Real

Сообщение RoninX » 08 авг 2018, 21:46

Здравствуйте!

Измеритель выдает значение влажности в формате Real IEEE754 двумя Word. Связь с измерителем по интерфейсу RS485 Modbus RTU. Контроллер S7-1200. Как в TIA portal преобразовать эти два регистра WORD в REAL? (CD AB). На контроллерах Овен задача решается путем создания типа FLoat в списке регистров Модбас и контроллер сам преобразовывает два регистра в Реал. Как данная задача решается в tia portal v4.2?


pkl58
здесь недавно
здесь недавно
Сообщения: 86
Зарегистрирован: 19 мар 2012, 19:04
Имя: Павел Ключников
Благодарил (а): 2 раза
Поблагодарили: 6 раз

Склеить два Word и получить Real

Сообщение pkl58 » 09 авг 2018, 12:41

Как у Сименса не знаю. Но в общем случае есть команды преобразования целых чисел в вещественные. Возможно потребуется поменять местами исходные WORD.


NewOrdered
здесь недавно
здесь недавно
Сообщения: 30
Зарегистрирован: 24 янв 2018, 11:18
Имя: Антон
Благодарил (а): 5 раз
Поблагодарили: 4 раза

Склеить два Word и получить Real

Сообщение NewOrdered » 09 авг 2018, 13:49

RoninX писал(а):
08 авг 2018, 21:46
Здравствуйте!

Измеритель выдает значение влажности в формате Real IEEE754 двумя Word. Связь с измерителем по интерфейсу RS485 Modbus RTU. Контроллер S7-1200. Как в TIA portal преобразовать эти два регистра WORD в REAL? (CD AB). На контроллерах Овен задача решается путем создания типа FLoat в списке регистров Модбас и контроллер сам преобразовывает два регистра в Реал. Как данная задача решается в tia portal v4.2?
Определите область памяти длиной 4 байта как REAL. В первые два байта загрузите 1 слово, во вторые - второе слово. Далее работайте с вашим значением в формате REAL.


Автор темы
RoninX
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 08 авг 2018, 21:27
Имя: Павел
Благодарил (а): 1 раз

Склеить два Word и получить Real

Сообщение RoninX » 14 авг 2018, 10:30

NewOrdered писал(а):
09 авг 2018, 13:49
Определите область памяти длиной 4 байта как REAL. В первые два байта загрузите 1 слово, во вторые - второе слово. Далее работайте с вашим значением в формате REAL.
Добрый день! Получилось, спасибо!


djonm
Сообщения: 1
Зарегистрирован: 07 фев 2018, 15:04
Имя: Евгений

Склеить два Word и получить Real

Сообщение djonm » 22 авг 2018, 13:53

RoninX писал(а):
14 авг 2018, 10:30
Добрый день! Получилось, спасибо!
У меня похожая задача и что то не фига не получается. По modbus читаю значение измеренного напряжения float32 (real). MB_Master читает в переменную REAL, но значение получаются совсем левые. Может надо читать Word- дами а потом переставлять биты и конвертировать в REAL?

Аватара пользователя

petr2off
частый гость
частый гость
Сообщения: 476
Зарегистрирован: 06 янв 2016, 19:45
Имя: Петров В.Л.
Благодарил (а): 7 раз
Поблагодарили: 18 раз

Склеить два Word и получить Real

Сообщение petr2off » 22 авг 2018, 16:33

Какая разница как читать, Вы уже считали 4 байта. К этой области памяти можно обратится как 4-х байтовому полю, как к 2 16-ти битовым словам и как к 4 байтовым адресам. А еще добавляя точку можно и к битам обратится. Как вариант поменяйте слова местами. Очень часто при чтении Modbas 16 разрядные слова не в том порядке принимаются.


Автор темы
RoninX
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 08 авг 2018, 21:27
Имя: Павел
Благодарил (а): 1 раз

Склеить два Word и получить Real

Сообщение RoninX » 24 дек 2018, 14:44

[/quote] У меня похожая задача и что то не фига не получается. По modbus читаю значение измеренного напряжения float32 (real). MB_Master читает в переменную REAL, но значение получаются совсем левые. Может надо читать Word- дами а потом переставлять биты и конвертировать в REAL?
[/quote]

Попробуйте применить функцию SWAP

Аватара пользователя

Nicolayy
здесь недавно
здесь недавно
Сообщения: 15
Зарегистрирован: 14 фев 2014, 10:55
Имя: Николай
Поблагодарили: 1 раз
Контактная информация:

Склеить два Word и получить Real

Сообщение Nicolayy » 15 янв 2019, 22:09

RoninX писал(а):
24 дек 2018, 14:44
У меня похожая задача и что то не фига не получается. По modbus читаю значение измеренного напряжения float32 (real). MB_Master читает в переменную REAL, но значение получаются совсем левые. Может надо читать Word- дами а потом переставлять биты и конвертировать в REAL?
Мне кажется, что дело в этом:
http://montazhka.blogspot.com/2017/12/s7-1200.html

Ответить

Вернуться в «Simatic TIA Portal»