1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

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

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

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

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

Сообщение RoninX »

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

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

pkl58
частый гость
частый гость
Сообщения: 428
Зарегистрирован: 19 мар 2012, 20:04
Имя: Павел
Страна: Россия
Благодарил (а): 5 раз
Поблагодарили: 50 раз

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

Сообщение pkl58 »

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

NewOrdered
осмотрелся
осмотрелся
Сообщения: 166
Зарегистрирован: 24 янв 2018, 11:18
Имя: Антон
Страна: Россия
город/регион: Калининград
Благодарил (а): 26 раз
Поблагодарили: 27 раз

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

Сообщение NewOrdered »

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
здесь недавно
здесь недавно
Сообщения: 8
Зарегистрирован: 08 авг 2018, 21:27
Имя: Павел
Страна: Россия
город/регион: Москва
Благодарил (а): 3 раза

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

Сообщение RoninX »

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

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

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

Сообщение djonm »

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

petr2off
эксперт
эксперт
Сообщения: 1602
Зарегистрирован: 06 янв 2016, 19:45
Имя: Петров В.Л.
Страна: Россия
город/регион: Красноярск
Благодарил (а): 69 раз
Поблагодарили: 185 раз

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

Сообщение petr2off »

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

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

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

Сообщение RoninX »

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

Попробуйте применить функцию SWAP
Аватара пользователя

Nicolayy
освоился
освоился
Сообщения: 280
Зарегистрирован: 14 фев 2014, 11:55
Имя: Николай
Страна: Россия
Благодарил (а): 9 раз
Поблагодарили: 64 раза

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

Сообщение Nicolayy »

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

Serg_G
здесь недавно
здесь недавно
Сообщения: 59
Зарегистрирован: 04 авг 2018, 07:02
Имя: Сергей
Благодарил (а): 8 раз
Поблагодарили: 2 раза

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

Сообщение Serg_G »

Попробуйте так. В классике это работало. Только надо правильно выбрать байты из слова.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

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