Страница 30 из 33 ПерваяПервая ... 202829303132 ... ПоследняяПоследняя
Показано с 291 по 300 из 321

Тема: Codesys v3 + Raspberry Pi

  1. #291

    По умолчанию

    Народ, а есть, где почитать, как прикрутить такой RTC-модуль и потом пользовать его из CDS?

  2. #292

    По умолчанию

    Цитата Сообщение от Sergeba Посмотреть сообщение
    Народ, а есть, где почитать, как прикрутить такой RTC-модуль и потом пользовать его из CDS?
    А к чему и зачем ты собрался его прикручивать ?

  3. #293
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    7,463

    По умолчанию

    только часы как-то бессмысленны, можно просто ntp клиента настроить. Вот если бы с памятью, чтобы retain переменные сохранять.

  4. #294

    По умолчанию

    Цитата Сообщение от IVM Посмотреть сообщение
    А к чему и зачем ты собрался его прикручивать ?
    Ну, я как понял, в отсутствии связи эти часы будут дальше тикать, а NTP будет недоступен... Инструкций уже нашёл море... Вроде прикрутил. Попробовал на CDS... Использую DTSplit... Почему-то вижу универсальное время, т.е. минус 3 часа для Москвы. На малинке время правильное, московское. Как сделать чтобы CDS видел московское?

  5. #295

  6. #296

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Ну и далее несложные математические операции.
    Как бы устройство находится в известной Timezone, и эти несложные операции уже применяю, но это же получается костыль... Неужели нет возможности получать информацию по местному времени? Почему, если я на RP настроил модуль RTC как основной для получения информации о времени, в командной строке он даёт верное время, не пойму откуда CDS берёт универсальное?

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

    По умолчанию

    Потому что стандартные функции/ФБ возвращают универсальное время.
    Написать обертку с учетом часового пояса (SysTimeRtcGetTimezone) - не проблема.
    Если по каким-то неочевидным причинам хочется получить локальное время именно вызовом одного POU - то см. библиотеку SysProcess - с помощью нее можно выполнить ту команду, которую вы вводите в командной строке, и получить тот же результат.

  8. #298

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Потому что стандартные функции/ФБ возвращают универсальное время.
    А если использовать DTU.SetTimeZoneInformation?

    И задать нужную TimeZone. Пытаюсь сделать, но что-то не компелируется - ругается на:

    gc_tzTimeZoneCET : TimeZone :=
    (
    iBias := 60 (* T#1M => minutes *),
    asgPeriod := [
    ( (* (CEST -> CET) - Last Sunday in Oktober at 03:00:00.000 (CEST) *)
    sName:='CET',
    dtDate := (uiMonth := 10, eWeekday := WEEKDAY.SUNDAY, uiDay := 5, uiHour := 3)
    ),( (* (CET -> CEST) - Last Sunday in March at 02:00:00.000 (CET) *)
    sName := 'CEST',
    dtDate := (uiMonth := 3, eWeekday := WEEKDAY.SUNDAY, uiDay := 5, uiHour := 2),
    iBias := 60 (* T#1M => minutes *)
    )]
    );
    Эту структуру я хочу использовать для задания своей TimeZone, пока взял из примера.
    Последний раз редактировалось Sergeba; 18.04.2020 в 19:18.

  9. #299

    По умолчанию

    Сейчас сделал однократно, при загрузке 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.

  10. #300
    Пользователь Аватар для Сема
    Регистрация
    17.12.2011
    Адрес
    Армавир
    Сообщений
    489

    По умолчанию

    Скажите, а малина стабильно у вас работает? У меня постоянно выкидывала при использовании CDS. Каждые 5 минут примерно гарантированно выкидывает из рантайма. Использовал Демо версию, может из-за этого?
    kip-world - приходите, будет интересно...

Страница 30 из 33 ПерваяПервая ... 202829303132 ... ПоследняяПоследняя

Похожие темы

  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

Ваши права

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