Показано с 1 по 10 из 17

Тема: СПК207. Системное время. Функции "GetDateAndTime" и "SetDateAndTime". Ошибка 5802.

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,627

    По умолчанию

    Я к этой функции обращаюсь несколько раз в одном проходе программы.
    Так делать не стоит (если вы действительно делаете именно это).

    Ознакомьтесь с документом СПК. Системное время.

  2. #2

    По умолчанию

    Закольцевал
    FUNCTION strDateTime : STRING
    VAR_INPUT
    END_VAR
    VAR
    SysTimeT;
    END_VAR

    GDaT(xExecute:=NOT GDaT.xDone);
    SysTime:=GDaT.dtDateAndTime;
    Sys_Time:=DELETE(DT_TO_STRING(SysTime),3,1);
    GDaT(xExecute:= FALSE);
    strDateTime:=Sys_Time;

    Но не помогло. Все равно один проход нули потом сист время...

  3. #3

    По умолчанию

    VAR
    SysTime: DT;
    END_VAR

  4. #4

    По умолчанию

    строку GDaT(xExecute:= FALSE); удалил, определилась положительная динамикаIMG_0523.JPGIMG_0523.JPG

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

    По умолчанию

    Цитата Сообщение от Zeon Посмотреть сообщение
    строку GDaT(xExecute:= FALSE); удалил, определилась положительная динамикаIMG_0523.JPGIMG_0523.JPG
    Рекомендую пример 11.2.5 из документа СПК. Визуализация - он как раз соответствует вашей задаче.

  6. #6

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Рекомендую пример 11.2.5 из документа СПК. Визуализация - он как раз соответствует вашей задаче.
    Ок, Спасибо!
    Я с него начинал. Дело в том что там 1 запрос в 2 секунды, а у меня 4 запроса в менее чем 1 сек. Я похоже решил проблему. Буду сравнивать с нулевым временем и присваивать предыдущее значение если оно равно нулю.
    Еще раз спасибо! 2 дня пучил мозг, с Вашей помощью дело сдвинулось с мертвой точки!

  7. #7

    По умолчанию

    NullDateTime: DT:=DT#1970-00-00-00:00:00;

  8. #8

    По умолчанию

    через три пропуска берет верное имя. Мне не понятно почему только он вместо нулей не ставит предыдущее. Попробую сравнивать с нулевым, и если равно брать старое.
    Спасибо за вектор в правильном направлении!!!

Похожие темы

  1. Ответов: 49
    Последнее сообщение: 06.08.2015, 14:38
  2. Ответов: 20
    Последнее сообщение: 15.04.2015, 11:02
  3. Ответов: 7
    Последнее сообщение: 27.02.2013, 18:08
  4. как выбрать управление "прямое" или "обратное"
    от maxmore в разделе Эксплуатация
    Ответов: 1
    Последнее сообщение: 18.01.2010, 10:13

Ваши права

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