Показано с 1 по 10 из 81

Тема: Функции String

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,591

    По умолчанию

    Цитата Сообщение от Vetal10 Посмотреть сообщение
    Смотрел. На каком это языке? Что такое "shl" ? Как это применимо к ST ?
    прочтите документацию, например функции сдвига
    Вам вообще то предлагали код формирования вещественного числа, да это сложно, но простой вариант не получится
    Код:
    VAR
    	inpW0, inpW1 :DWORD;
    	stuff: ARRAY [0..3] OF BYTE := 234,89,6,61;
    
            k           : REAL;
            sign        : REAL;
            exponent    : REAL;
            mant_mult   : REAL;
            stuffAdd    : DWORD;
            exp_raw     : DWORD;
            mantissa    : DWORD;
            i           : INT;
            negative    : BOOL;
    
    	arrWToReal : REAL;
    END_VAR
    
    
    
    inpW1 :=SHL(BYTE_TO_WORD(stuff[3]),8) OR BYTE_TO_WORD(stuff[2]);
    inpW0 :=SHL(BYTE_TO_WORD(stuff[1]),8) OR BYTE_TO_WORD(stuff[0]);
    stuffAdd := SHL(inpW1, 16) +  inpW0;
    negative := SHR(stuffAdd, 31) > 0;
    mant_mult := 1.0;
    IF negative THEN
    	sign := -1.0;
    ELSE
    	sign := 1.0;
    END_IF;
    exp_raw := SHR((stuffAdd MOD 2147483648), 23);
    exponent := DWORD_TO_REAL(exp_raw) - 127;
    
    mantissa := stuffAdd MOD 8388608;
    FOR i := 0 TO 22 DO
    	IF (SHR(mantissa, (22 - i)) MOD 2) = 1 THEN
           	k := INT_TO_REAL(23 - (22 - i));
                	mant_mult := mant_mult + 1/(EXPT(2,k));
    	END_IF;
    END_FOR;
    
    arrWToReal := sign * (EXPT(2, exponent)) * mant_mult;
    примерно так должно получится требуемое число

    что касается этого утверждения
    Цитата Сообщение от Vetal10 Посмотреть сообщение
    Есть 4 байта вырванных из ответа прибора в виде STRING.
    У Вас же получалось с ComPortByte, который сразу возвращает массив байт, поэтому все и спрашивают зачем строки
    Последний раз редактировалось capzap; 08.08.2024 в 08:48.
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

Похожие темы

  1. Длинные строки (STRING)
    от rumkin в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 25.02.2026, 17:11
  2. String и Модбас слейв
    от жекон в разделе Сетевые технологии
    Ответов: 11
    Последнее сообщение: 04.11.2013, 16:59
  3. Длинный STRING
    от Nazar в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 08.03.2011, 13:04
  4. String переменные в архиваторе
    от Антон в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 25.12.2007, 10:53

Ваши права

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