Показано с 1 по 3 из 3

Тема: SysLibTime выдает неправильное время.

  1. #1

    По умолчанию SysLibTime выдает неправильное время.

    ПЛК110

    Код следующий:

    Объявление блока:
    Код:
    FUNCTION_BLOCK GET_SYSTEM_TIME_FB
    VAR_OUTPUT
    	Milliseconds : UINT;
    	Seconds :  UINT;
    	Minutes : UINT;
    	Hours : UINT;
    
    	DayOfWeek : UINT;
    	Day : UINT;
    	Month : UINT;
    	Year : UINT;
    END_VAR
    VAR
    	TimeAndDate: SystemTimeDate;
    	SysTime: SysTime64;
    	GetTime: CurTimeEx;
    END_VAR
    Тело блока:
    Код:
    TimeAndDate.Day :=0;
    TimeAndDate.DayOfWeek :=0;
    TimeAndDate.dwHighMsec :=0;
    TimeAndDate.dwLowMSecs :=0;
    TimeAndDate.Milliseconds :=0;
    TimeAndDate.Second :=0;
    TimeAndDate.Hour :=0;
    TimeAndDate.Year :=0;
    TimeAndDate.Month :=0;
    SysTime.ulHigh :=0;
    SysTime.ulLow :=0;
    
    GetTime (SystemTime := SysTime , TimeDate := TimeAndDate);
    
    Milliseconds := TimeAndDate.Milliseconds;
    Seconds := TimeAndDate.Second;
    Minutes := TimeAndDate.Minute;
    Hours  := TimeAndDate.Hour;
    
    DayOfWeek := TimeAndDate.DayOfWeek;
    Day := TimeAndDate.Day;
    Month := TimeAndDate.Month;
    Year := TimeAndDate.Year;
    При работе дает время, которое со старта набежало что-то около 29 минут, которые даже близко не соответствуют дате и времени, выставленным для ПЛК. При этом кроме минут на выходе ничего не отображается.

    GetTime в PLC браузере отображает правильное время.

    Почему CurTimeEx не дает правильные данные? Где я ошибся?
    Последний раз редактировалось Barabus; 09.01.2016 в 15:38.

  2. #2
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,278

    По умолчанию

    Где я ошибся?
    В вызове своего блока.
    Вижу по форме кофейной гущи.

  3. #3

    По умолчанию

    Не, я разобрался. Пропустил инициализацию
    Код:
    TimeAndDate.Minute :=0;
    Теперь все работает как надо.

    Есть один забавный момент. Системное время, устанавливаемое и читаемое SysLibTime, не соответствует времени, устанавливаемому в ПЛК через браузер. Это нормально или я опять что-то упускаю?

    Во всяком случае мой некорректный блок, перезаписавший значение минут и обнуливший все прочие величины, на вышеуказанное время не повлиял.

    Странно это.


    Отбой. Все заработало правильно, часы синхронны.
    Последний раз редактировалось Barabus; 09.01.2016 в 16:37.

Похожие темы

  1. Syslibtime
    от Safron в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 13.12.2015, 10:48
  2. Ответов: 2
    Последнее сообщение: 21.03.2014, 20:50
  3. Ответов: 6
    Последнее сообщение: 28.12.2011, 08:36
  4. Simp Light + МВУ-8 выдает ошибку
    от КамасутриК в разделе Другие SCADA системы
    Ответов: 9
    Последнее сообщение: 02.09.2010, 11:53
  5. Delphi-OPC-ПЛК 100 неправильное определение состояния выхода
    от michaeladm в разделе Помощь Разработчикам
    Ответов: 7
    Последнее сообщение: 26.05.2010, 15:12

Ваши права

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