Добрый день,
Если не затруднит, подскажите пжлст,
как ограничить количество знаков после запятой у переменной формата 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;
To YuriBel
Наблюдаю за переменной в самой CodeSys в визуализации.
Есть ли возможность обрезать "хвост" у REAL на экране, без манипуляций c преобразованием типов.
Хотел ограничиться одним знаком после запятой.
To petera
Спасибо. Думаю эта функция решает вопрос, но сложновато.
Сам я пока решаю так, REAL x 10 -> INT -> REAL /10, но думал, что есть просто шаблон вывода.
Для визуализации есть и шаблоны вывода.
http://s017.radikal.ru/i434/1306/fc/0362b4513240t.jpg
To petera.
Большое спасибо. То, что надо.
Раньше я читал этот фрагмент, но тогда не понял, что куда подставлять.
Никто мой вопрос не увидел ))):
>>> Всем добрый вечер.
Просьба камнями не кидать, начинающий.
Подскажите, как получить текущую TOD и желательно без секунд.
CurTimeEx тикает, можно добыть из него по отдельности что надо, но тогда ветвлений получится много при сравнении отдельно часов и минут.
Вижу RTC от Петрова, но CDT там в формате DT.
Задача - естественно, работа по расписанию. Много примеров посмотрел, но что-то не врублюсь никак.