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

Тема: Codesys v3 + Raspberry Pi

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    По умолчанию

    Сейчас сделал однократно, при загрузке fbSetTimeZone (xExecute: = TRUE, tziInfo: = DTU.GlobalConstants.gc_tziTimeZoneCET);
    Временная зона определилась верно, только перешла на летнее время... Как теперь отключить переход на летнее время...?

    Чудеса... Поставил на Малинке пояс +4, т.е. чтобы время было на час больше, всё равно CDS упорно выдаёт пояс +3 с летним временем... Откуда он тянет эту информацию???

    Всё, разобрался. Не нужны математические операции)))
    Делаем так:

    VAR CONSTANT
    TimeStart:WORD:=1340;
    TimeEnd:WORD:=380;
    gc_tzTimeZoneUTC : DTU.RTCLK.RTCLK_TIME_ZONE_INFO :=
    (
    iBias := 180,
    sPeriode := [( (* Standard *)
    sName:='CET',
    tmDate := (uiMonth := 10, eWeekday := DTU.RTCLK.WEEKDAY.SUNDAY, uiDay := 5, uiHour := 3, uiMinute := 0, uiSecond := 0),
    iBias := 0
    ),( (* Daylight *)
    sName := 'CEST',
    tmDate := (uiMonth := 3, eWeekday := DTU.RTCLK.WEEKDAY.SUNDAY, uiDay := 5, uiHour := 2, uiMinute := 0, uiSecond := 0),
    iBias := 0
    )]
    );
    END_VAR
    VAR
    fbSetTimeZone: DTU.SetTimeZoneInformation;
    GetSysDTTU.GetDateAndTime;
    END_VAR
    ..............................................
    fbSetTimeZone (xExecute:=TRUE, tziInfo:=gc_tzTimeZoneUTC); //это делаем однократно после старта программы
    .............................................
    IF (TIME()-tmpT1)>=T#1S THEN //далее раз в секунду читаем текущее время
    initT:=FALSE;
    END_IF
    GetSysDT(xExecute:=NOT initT);
    IF NOT initT THEN

    dtu.DTSplit
    (
    dtDateAndTime:= GetSysDT.dtDateAndTime,
    puiYear:=ADR(ReYear),
    puiMonth:=ADR(ReMonth), //месяц
    puiDay:=ADR(ReDay),
    puiHour:= ADR(ReHour), //час
    puiMinute:= ADR(ReMinute), //минута
    puiSecond:= ADR(ReSecond) //секунда
    );
    END_IF
    Там, где tmDate остались рудименты от настройки летнего/зимнего времени... Почему-то, если их убрать время становиться опять UTC.

    Больше всего отняло время - использование типа DTU.RTCLK.RTCLK_TIME_ZONE_INFO, оказалось в описании CDS присутствуют ошибки в примерах. То написано RTCLK.TIME_ZONE_INFO, то RTCLK_TIME_ZONE_INFO, ещё нашёл вариант DTU.RTCLK_TIME_ZONE_INFO, но они все нерабочие - оказалось нужно DTU.RTCLK.RTCLK_TIME_ZONE_INFO
    Последний раз редактировалось Sergeba; 19.04.2020 в 14:45.

Похожие темы

  1. CoDeSys V3 и ноутбук
    от smk1635 в разделе СПК2хх
    Ответов: 14
    Последнее сообщение: 23.09.2020, 08:11
  2. codesys v3
    от nevii в разделе ПЛК3хх
    Ответов: 3
    Последнее сообщение: 18.09.2014, 12:23
  3. ПЛК110 и CoDeSys v3
    от DIG в разделе ПЛК1хх
    Ответов: 32
    Последнее сообщение: 09.11.2011, 18:02
  4. CodeSys V3
    от nnesterov в разделе ПЛК3хх
    Ответов: 13
    Последнее сообщение: 05.04.2010, 15:12
  5. CoDeSys v3
    от Alor в разделе Трёп (Курилка)
    Ответов: 1
    Последнее сообщение: 02.12.2008, 10:48

Ваши права

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