Перестановка местами WORD в REAL

Инженерное программное обеспечение

Перестановка местами WORD в REAL

Сообщение Ivydy » 09 июл 2019, 13:02

Здравствуйте. Имею следующее. TIA Portal V15, S7-1200 с коммуникационным модулем CM1241 (MASTER).
По RS485 общаюсь с датчиком виброскорости(SLAVE). С датчика получаю ряд данных в виде массива REAL, но проблема, что видятся они в неадекватном виде. Я так понимаю, что нужно поменять местами WORD в REAL, то есть AB CD --> CD AB. Функции SWAP не подходят, они переделывают по другому. Как можно это сделать ? Заранее спасибо.
Ivydy
Дилетант
 
Сообщения: 10
Зарегистрирован: 13 фев 2018, 16:17

Re: Перестановка местами WORD в REAL

Сообщение Михайло » 09 июл 2019, 20:51

Создаем функцию FC, у нее в разделе Input создаем переменную in типа Real, в разделе Output - переменную out типа Real, в разделе Temp - переменные t типа DWord, ab, cd типа Word. Пишем на языке LAD или FBD.
1. MOVE из in в t.
2. MOVE из t.w0 в ab.
3. MOVE из t.w1 в cd.
4. MOVE из ab в t.w1.
5. MOVE из cd в t.w0.
6. MOVE из t в out.

Используем функцию многократно.
Михайло
Администратор
 
Сообщения: 3881
Зарегистрирован: 19 сен 2012, 19:16

Re: Перестановка местами WORD в REAL

Сообщение mr_Frodo » 10 июл 2019, 06:50

Как-то странно слышать, что с датчика получается сразу real.
Так может там и мутить преобразование? Пока оно в реал не ушло.
Вот моя подпись...
Аватара пользователя
mr_Frodo
Профессионал
 
Сообщения: 523
Зарегистрирован: 22 июл 2016, 20:38


Вернуться в Simatic TIA Portal / Step7

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 0