Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 21

Тема: Формат времени %t работает неправильно

  1. #1

    По умолчанию Формат времени %t работает неправильно

    Здравствуйте!

    Пытаюсь вывести на окне визуализации сохраненное значение времени. Формат переменной - DT.
    Формат в поле %t[dd'/'MM'/'yy' 'HH':'MM':'ss]

    Формат соблюдается, но на экран выдается текущее время. В свойствах "Текстовая переменная" стоит правильное имя переменной. И эта переменная имеет нужное значение.

    Пробовал Тип элемента "Текстовое поле" и "Прямоугольник" - одинаково.

    Что нужно сделать?
    Прошивка 5.472.

  2. #2
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,064

    По умолчанию

    Цитата Сообщение от Фирст Посмотреть сообщение
    Здравствуйте!

    Пытаюсь вывести на окне визуализации сохраненное значение времени. Формат переменной - DT.
    Формат в поле %t[dd'/'MM'/'yy' 'HH':'MM':'ss]

    Формат соблюдается, но на экран выдается текущее время. В свойствах "Текстовая переменная" стоит правильное имя переменной. И эта переменная имеет нужное значение.

    Пробовал Тип элемента "Текстовое поле" и "Прямоугольник" - одинаково.

    Что нужно сделать?
    Прошивка 5.472.
    Добрый день.
    Это ошибка в CODESYS V3.5 SP5 Patch 5, исправили в более поздних версиях.
    В вашем случае лучше считывать время через библиотеку CAA DTUtil, конвертировать в STRING и выводить на визуализации в виде строки.

  3. #3

    По умолчанию

    Я пробовал DT_TO_STRING, некрасиво выходит.
    Есть еще какое либо преобразование по формату?

  4. #4

  5. #5

    По умолчанию

    Это понятно ... Я уже использовал такой текст, чтобы добавлять лидирующие нули:
    cur.RTC();

    cur.temp_str := mid( UINT_TO_STRING(cur.RTC.Hour+100),2,2);
    cur.str_time := concat(cur.temp_str,':');

    cur.temp_str := mid( UINT_TO_STRING(cur.RTC.Minute+100),2,2);
    cur.str_time := concat(cur.str_time,concat(cur.temp_str,':'));

    cur.temp_str := mid( UINT_TO_STRING(cur.RTC.Second+100),2,2);
    cur.str_time := concat(cur.str_time,concat(cur.temp_str,' '));

    cur.temp_str := mid( UINT_TO_STRING(cur.RTC.Day+100),2,2);
    cur.str_time := concat(cur.str_time,concat(cur.temp_str,'/'));

    cur.temp_str := mid( UINT_TO_STRING(cur.RTC.Month+100),2,2);
    cur.str_time := concat(cur.str_time,concat(cur.temp_str,'/'));

    cur.str_time := concat(cur.str_time,UINT_TO_STRING(cur.RTC.Year));
    Перешел на DT - хотел избавится от текстовых преобразований ....

  6. #6

    По умолчанию

    Цитата Сообщение от Фирст Посмотреть сообщение
    Это понятно ... Я уже использовал такой текст, чтобы добавлять лидирующие нули:

    Перешел на DT - хотел избавится от текстовых преобразований ....
    Добрый день.
    Предлагаю использовать функцию DT_TO_STRING_FORMAT библиотеки OwenStringUtils (ссылка на библиотеку)

    Использовать ее просто (полный перечень заполнителей в приложении А документа "Пользовательское описание OwenStringUtils v2.pdf" по ссылке выше):
    объявляем переменные
    Код:
    VAR CONSTANT
    	m_c_sDtFormat		: STRING		:= '%t[dd/MM/yy HH:mm:ss]';	// Как форматировать вывод даты и времени в строку
    END_VAR
    VAR
    	m_dtNow			: DT			:= DT#2019-01-19-9:5:00;	// Дата и время, которые необходимо конвертировать
    	m_sNow			: STRING;						// Дата и время, конвертированные в строку
    END_VAR
    разбавляем капелькой кода:
    Код:
    m_sNow := OSU.DT_TO_STRING_FORMAT (m_dtNow, m_c_sDtFormat);
    готово: '19/01/19 09:05:00'.
    Дело за малым: отобразить строку на визуализации.
    Последний раз редактировалось Осинский Алексей; 19.01.2019 в 11:13.
    OSCAT.ru читать стандарты и статьи по автоматизации на русском без регистрации и СМС

  7. #7

    По умолчанию

    Спасибо, посмотрю.

    По этой же теме. Использую WCONCAT и WLEN из библиотеки SPK_Tools.
    Свой ноутбук настраивал года полтора назад и проблем не было.
    Вчера настраивал ноутбук Заказчика, и не смог найти на сайте ОВЕН библиотеку SPK_Tools.

    Пришлите, пожалуйста, ссылку.

  8. #8
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,064

    По умолчанию

    Цитата Сообщение от Фирст Посмотреть сообщение
    Спасибо, посмотрю.

    По этой же теме. Использую WCONCAT и WLEN из библиотеки SPK_Tools.
    Свой ноутбук настраивал года полтора назад и проблем не было.
    Вчера настраивал ноутбук Заказчика, и не смог найти на сайте ОВЕН библиотеку SPK_Tools.

    Пришлите, пожалуйста, ссылку.
    Это из библиотеки Standard64, а не SPK_Tools.
    Она входит в дистрибутив CODESYS.

  9. #9

    По умолчанию

    Оборудование уже в работе, проект передан Заказчику.
    Вот фрагмент программы:
    Фрагмент.png
    Требуется настроить ноутбук у Заказчика, и теперь уже без моего участия.
    Я должен отправить ссылку на библиотеку ....

  10. #10

    По умолчанию

    И еще, если удалить из проекта библиотеку SPK_Tools, то не находится Real_Time_Clock.
    Чем можно ее заменить? Версия 3.5.5.5.
    Последний раз редактировалось Фирст; 24.01.2019 в 15:43.

Страница 1 из 3 123 ПоследняяПоследняя

Похожие темы

  1. Формат вывода времени (%t[mm:ss])
    от Спорягин Кирилл в разделе СПК2хх
    Ответов: 15
    Последнее сообщение: 12.09.2016, 09:16
  2. ТТР работает неправильно
    от voby в разделе Твердотельное реле
    Ответов: 19
    Последнее сообщение: 13.07.2015, 20:18
  3. Формат даты/времени на оси трендов
    от yur15t в разделе Master SCADA 3
    Ответов: 1
    Последнее сообщение: 05.02.2015, 12:55
  4. CODESYS Формат времени.
    от Коваль в разделе Трёп (Курилка)
    Ответов: 1
    Последнее сообщение: 21.12.2012, 21:16
  5. Формат времени
    от KTV в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 24.03.2012, 11:35

Ваши права

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