Добрый день,
Если не затруднит, подскажите пжлст,
как ограничить количество знаков после запятой у переменной формата REAL без преобразований в другие типы.
в мануале по CodeSys не нашёл шаблона для записи формата.
Добрый день,
Если не затруднит, подскажите пжлст,
как ограничить количество знаков после запятой у переменной формата REAL без преобразований в другие типы.
в мануале по CodeSys не нашёл шаблона для записи формата.
Про количество знаков после запятой можно говорить только применительно к вводу или выводу числа, вы его куда отправляете (или откуда забираете)?
В библиотеке OSCAT есть ф-ция ROUND(in,N), выгядит она почти так:
Код:VAR_INPUT in : REAL; N : INT; END_VAR VAR X: REAL; DECADES : ARRAY[0..8] OF REAL := 1.0,10.0,100.0,1000.0,10000.0,10000.0,100000.0,1000000.0,10000000.0; END_VAR X :=DECADES[LIMIT(0,N,8)]; ROUND := DINT_TO_REAL(REAL_TO_DINT(in * X)) / X;
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
To YuriBel
Наблюдаю за переменной в самой CodeSys в визуализации.
Есть ли возможность обрезать "хвост" у REAL на экране, без манипуляций c преобразованием типов.
Хотел ограничиться одним знаком после запятой.
To petera
Спасибо. Думаю эта функция решает вопрос, но сложновато.
Сам я пока решаю так, REAL x 10 -> INT -> REAL /10, но думал, что есть просто шаблон вывода.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
To petera.
Большое спасибо. То, что надо.
Раньше я читал этот фрагмент, но тогда не понял, что куда подставлять.
Никто мой вопрос не увидел ))):
>>> Всем добрый вечер.
Просьба камнями не кидать, начинающий.
Подскажите, как получить текущую TOD и желательно без секунд.
CurTimeEx тикает, можно добыть из него по отдельности что надо, но тогда ветвлений получится много при сравнении отдельно часов и минут.
Вижу RTC от Петрова, но CDT там в формате DT.
Задача - естественно, работа по расписанию. Много примеров посмотрел, но что-то не врублюсь никак.