Показано с 1 по 3 из 3

Тема: Крокозяблы в результате REAL_TO_STRING();

  1. #1
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,656

    По умолчанию Крокозяблы в результате REAL_TO_STRING();

    Всем привет.Вопрос по ПЛК73.
    В чем причина, что в результате преобразования REAL_TO_STRING крокозяблы. При этом в режиме симуляции преобразование возвращает нормальный результат.
    Число отформованное-подрезанное (например 1.41).

  2. #2
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,825

    По умолчанию

    Это фича ПЛК63/73
    Берите Oscat функцию REAL_TO_STRF

    Код:
    FUNCTION REAL_TO_STRF : STRING(20)
    VAR_INPUT
    IN : REAL;
    N : INT; (*нужное кол. цифр после запятой*)
    END_VAR
    VAR
    O: REAL;
    i: INT;
    END_VAR
    
    (* LIMIT N to 0 .. 7 *)
    N := LIMIT(0,N,7);
    (* round the input to N digits and convert to string *)
    O := ABS(in) * EXP(N* 2.30258509299405);
    REAL_TO_STRF := DINT_TO_STRING(REAL_TO_DINT(O));
    (* add zeroes in front to make sure sting is at least 8 digits long *)
    FOR i := LEN(REAL_TO_STRF) TO N DO REAL_TO_STRF := CONCAT('0', REAL_TO_STRF); END_FOR;
    (* add a dot if n > 0 *)
    IF n > 0 THEN REAL_TO_STRF := INSERT(REAL_TO_STRF, '.', LEN(REAL_TO_STRF) - N); END_IF;
    (* add a minus sign if in is negative *)
    IF in < 0 THEN REAL_TO_STRF := CONCAT('-', REAL_TO_STRF); END_IF;
    получите сразу и String и нужное кол. цифр после запятой, работает округление для отброшенных знаков.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  3. #3
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,656

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Это фича ПЛК63/73
    Правильнее сказать Косяк ПЛК63/73

    Спасибо, я уже нашел ваш старый-старый пост и притащил в проект Real_to_Strf.

Похожие темы

  1. ПЛК73. REAL_TO_STRING - крякозябры.
    от petera в разделе ПЛК63/73
    Ответов: 8
    Последнее сообщение: 09.02.2018, 00:03
  2. А почему REAL_TO_STRING такая медленная?
    от Yegor в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 16.01.2015, 10:08
  3. скорость преобразования real_to_string
    от nestor в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 20.02.2012, 20:55
  4. проблема с функцией Real_to_string
    от mettled в разделе ПЛК1хх
    Ответов: 0
    Последнее сообщение: 25.04.2008, 17:23

Ваши права

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