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

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

  1. #1

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

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

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

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

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

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

  2. #2

    По умолчанию

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

    Пытаюсь вывести на окне визуализации сохраненное значение времени. Формат переменной - 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

    По умолчанию

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

    По этой же теме. Использую 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
    Ответов: 1
    Последнее сообщение: 05.02.2015, 12:55
  4. CODESYS Формат времени.
    от Коваль в разделе Трёп (Курилка)
    Ответов: 1
    Последнее сообщение: 21.12.2012, 21:16
  5. Формат времени
    от KTV в разделе Master SCADA
    Ответов: 4
    Последнее сообщение: 24.03.2012, 11:35

Ваши права

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