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

Тема: CODESYS V3.5. Онлайн-FAQ

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

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

    По умолчанию PRG#41. Как считать системное время виртуального контроллера?

    Вопрос: для получения системного времени контроллеров ОВЕН в коде программы мы используем узел OwenRTC в дереве проекта.
    Но для виртуального контроллера CODESYS Control Win V3 (и для контроллеров других производителей) данный узел недоступен.
    Как получить системное время в этом случае?

    Ответ: можно воспользоваться библиотекой SysTimeRtc. Ее потребуется добавить в Менеджер библиотек вашего проекта:

    SysTimeRtc.png

    • функция SysTimeRtcGet позволяет получить системное время контроллера;
    • функция SysTimeRtcGetTimezone позволяет получить информацию о его часовом поясе (поддерживается не во всех контроллеров; для CODESYS Control Win V3 - поддерживается).


    Пример функции-обертки для получения системного времени, которую вы можете создать в своем проекте:

    Код:
    // Функция для получения системного времени
    FUNCTION GetSystemDT : DT
    VAR_INPUT
    	// Установите TRUE, если ваш контроллер не поддерживает функцию SysTimeRtcGetTimezone...
    	xUseManuaTimeZonelOffset:	BOOL 		           := FALSE;
    	// ...и задайте смещение для вашего часового пояса сами ( в минутах); например: 180 для UTC+3
    	iTimeZoneOffsetInMinutes:	INT(INT#-12*60..INT#14*60) := 0;
    END_VAR
    VAR
    	stTimeZone:			SysTimeRtc.TimezoneInformation;
    	dwErrorCode:	  		DWORD;
    END_VAR
    
    
    IF NOT(xUseManuaTimeZonelOffset) THEN
    	
    	dwErrorCode 		 :=  SysTimeRtc.SysTimeRtcGetTimezone(stTimeZone);
    	iTimeZoneOffsetInMinutes :=  -1 * stTimeZone.iBias;
    
    END_IF
    
    {warning disable C0196}
    GetSystemDT := TO_DT(SysTimeRtc.SysTimeRtcGet(dwErrorCode) + (iTimeZoneOffsetInMinutes * 60) );
    {warning restore C0196}
    2025-04-10_6-31-07.png 2025-04-10_6-30-50.png

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 29.06.2017, 11:21

Ваши права

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