Список авторских статей о Trace Mode 7.
Многие из нас в процессе разработки проекта сталкиваются с необходимостью работы с числами в определенном формате. Разберем основные ситуации.
Задаем формат для всего проекта.
Для каналов Analog (вещественные) и Discrete (целочисленные) в настройках каналов можно задать формат (атрибут 246)
В зависимости от заданного формата, значение канала везде будет отображаться в заданном формате.
Подробно о форматах можно прочитать в
Справочная Система - Приложения - Форматы - Формат СИ вывода чисел
Разберем основные варианты для Analog
F0 (%g, %lf) - отображение float- и doublefloat-чисел без форматирования (так как есть).
F1 (%.1f, %18.1f) - отображение одного знака "после запятой" (654,321 будет 654,3).
F2 (%.2f, %18.2f) - отображение двух знаков "после запятой" (654,321 будет 654,32).
Разберем основные варианты для Discrete
F0 (%lX, %X) - отображение discrete-чисел в шестнадцатеричном (HEX) формате (знакомое десятеричное "256" будет шестнадцатеричным "100").
F1 (%ld, %hd) - отображение discrete-чисел в десятичном (DEC) формате с учетом знака (знакомое десятеричное отрицательное "-256" будет тем же десятичным "-256", а шестнадцатеричное "0x10" будет десятичным "16").
F2 (%lu, %hu) - отображение discrete-чисел в десятичном (DEC) формате без учета знака (знакомое десятеричное отрицательное "-256" будет десятичным "4294967040").
Задаем формат для Документа (Call.Document).
Можно задать формат для отображения значения параметра в рамках конкретного Документа и конкретного места в документа (т.е., одно и тоже число можно отобразить в разном формате в одном документе). В шаблоне Документа необходимо указывать аргумент этого шаблона (обычно, @<имя аргумента>, например @arg_001).
Подробно в
Справочная Система - Генерация документов - Редактор шаблонов документов - Вставка значения переменной
Для отображения отформатированного числа
@(<имя аргумента><точка><короткое имя атрибута><запятая><формат>)
Например, @arg_001.R,%.1f отобразит значение Реального значения канала, привязанного к аргументу arg_001 с одним знаком после запятой.
Задаем формат для Программ (Call.Program).
Особых премудростей нет. Пишет число в том формате, в котором необходимо, например, десятеричное 16 в шестнадцатеричном формате будет 16#10.
Подробно в
Справочная Система - Программирование алгоритмов - Описание языка Техно ST - Переменные и константы - Числовые константы Техно ST.
Задаем формат для Экранов (Call.Screen).
Как отобразить значение на экране мы рассматривали ранее (ссылка).
Теперь рассмотрим форматирование чисел.
Имеем канал Analog с форматом F2 ((%.2f, %18.2f) два знака после запятой) и значением "12.3". Аргумент экрана real.
Auto - отобразит число в удобном виде (уберет незначащие нули) - 12.3
Float %.3f - отобразит как число с тремя знаками - 12.300
Float %.1f - отобразит как число с одним знаком - 12.3
Integer %d - отобразит как целочисленное число в десятичном виде - 12
Integer %X - отобразит как целочисленное число в шестнадцатеричном виде - С
Integer %hu - отобразит как беззнаковое целочисленное число шестнадцатеричном виде - 12
Binary - отобразит как число в двоичном виде - 1100
Default- отобразит число в заданном в канале формате (два знака после запятой) - 12.30
Date/Time- отобразит как время (количество секунд с 01.01.1970, с учетом часового пояса) - 01.01.1970 3:00:12
Успехов в освоении Программы и применении полученного опыта! 👽