Страница 5 из 5 ПерваяПервая ... 345
Показано с 41 по 42 из 42

Тема: 4 байта в число с плавающей запятой

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь Аватар для Пьер
    Регистрация
    26.01.2011
    Адрес
    Земля
    Сообщений
    519

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    )) ватты, попугаи, поллитры .... ?
    M := DH.31;
    if M then
    DH := (not DH) + sel(DL = 0,0,1);
    DL := (not DL) + 1;
    end_if

    DH := A4 * 65536 + A3; DL := A2 * 65536 + A1;
    int64_to_real := (DH * 65536.0 + DL) * sel(M,1,-1);

    Получается вот так добавляю и все?
    Не зная броду, не суйся в воду. (Пословица.)
    Век живи, век учись(а умрешь дураком).
    Опыт растет прямо пропорционально выведенному из строя оборудованию.

  2. #2
    Пользователь Аватар для Пьер
    Регистрация
    26.01.2011
    Адрес
    Земля
    Сообщений
    519

    Post

    Цитата Сообщение от Валенок Посмотреть сообщение
    Если там int64 - да. Только DH/DL образуйте - вначале.
    И можно еще на 1000 разделить. Так ведь привычней будет ?

    PS
    Что разобраццо с порядком - можно на определенное время включить определенную нагрузку. И просмотреть рез-ты до и после.
    Вот так вот изменил и вроде заработало. Но не знаю что будет показывать, когда появятся значения в А1 и А4.
    Код:
    FUNCTION int64_to_real : REAL
    VAR_INPUT
    A1,A2:WORD;
    A3,A4:WORD;
    END_VAR
    VAR
    DL,DH : DWORD;
    M : BOOL;
    END_VAR
    
    ----------------------------
    
    M := DH.31;
    DH := A4 * 65536 + A3; DL := A1 * 65536 +A2;
    
    IF M THEN
       DH := (NOT DH) + SEL(DL = 0,0,1);
       DL := (NOT DL)  + 1;
    END_IF
    
    int64_to_real:= (DH * 65536.0 + DL) * SEL(M,1,-1);
    int64_to_real:=int64_to_real /1000;
    Т.к. У меня последовательность (адресация в программе):
    А1(3204)=0;
    А2(3205)=88;
    А3(3206)=17500;
    А4(3207)=0;
    Так видны значения в CoDeSys. Как там дальше будет, посмотрим.
    Валенок, благодарю очень сильно за полезную помощь.
    И всем остальным ребятам огромное спасибо.
    Не зная броду, не суйся в воду. (Пословица.)
    Век живи, век учись(а умрешь дураком).
    Опыт растет прямо пропорционально выведенному из строя оборудованию.

Страница 5 из 5 ПерваяПервая ... 345

Похожие темы

  1. Как убрать скачки значения в знаки после запятой
    от skinnbatter в разделе Помощь Разработчикам
    Ответов: 2
    Последнее сообщение: 04.06.2017, 11:10
  2. Выбор из чисел с плавающей точкой
    от anthrwpos в разделе Среда программирования OWEN Logic
    Ответов: 2
    Последнее сообщение: 14.02.2017, 10:03
  3. ТРМ138 и Modbus RTU и числа с плавающей запятой
    от Dinf в разделе Помощь Разработчикам
    Ответов: 2
    Последнее сообщение: 10.06.2013, 12:18
  4. Положение запятой в ТРМ138
    от Turboblock в разделе Эксплуатация
    Ответов: 1
    Последнее сообщение: 21.07.2009, 08:45
  5. Есть ли процедура чтения байта в библ. Owen_io.dll
    от незарегистрированный в разделе Сервисное ПО
    Ответов: 6
    Последнее сообщение: 08.10.2007, 10:36

Ваши права

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