Просмотр полной версии : Свап
Роман_33
12.07.2020, 12:09
Здравствуйте! Подскажите или ткните носом. Получаю данные с весового терминала в формате REAL, а так как приходят они криво,надо переставить слова или байты. Пытался через реальные адреса кувыркнуть, так он не пересылает (MOVE) почему то на реальный адрес типа AT%MD10. Просто ноль на выходе функции. Как еще можно сделать?
Можно ещё сделать, это почитать документацию на Конфигуратор или воспользоваться поиском на форуме
Пример функции перестановки слов
FUNCTION fSwapReal : REAL
VAR_INPUT
fVal : REAL;
END_VAR
VAR
pReal : POINTER TO ARRAY[0..1] OF WORD;
pResult : POINTER TO ARRAY[0..1] OF WORD;
END_VAR
pReal := ADR( fVal );
pResult := ADR( fSwapReal );
pResult^[ 0 ] := pReal^[ 1 ];
pResult^[ 1 ] := pReal^[ 0 ];
Роман_33
12.07.2020, 14:40
Вы хотите сказать, что можно в конфигураторе так сделать,что нормальный результат сразу будет? Вы простите моё невежество, просто всю дорогу с Симатиком работал,а тут с импортозамещением это чудо подсунули,изучать просто некогда.
Вы хотите сказать, что можно в конфигураторе так сделать,что нормальный результат сразу будет? Вы простите моё невежество, просто всю дорогу с Симатиком работал,а тут с импортозамещением это чудо подсунули,изучать просто некогда.
В UMD, в котором читаете REAL, поменять значение Byte Sequence
50135
Роман_33
12.07.2020, 19:42
Вот спасибо,добрый человек,завтра попробую.
Роман_33
13.07.2020, 05:52
В UMD, в котором читаете REAL, поменять значение Byte Sequence
50135
Все получилось. Еще раз спасибо, Вы сэкономили мне кучу времени.
это чудо подсунули
Ну что за люди, подсунули, чудо - вот зачем?
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot