Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 13 из 13

Тема: Астрономический таймер

  1. #11
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,998

    По умолчанию

    Цитата Сообщение от c5657 Посмотреть сообщение
    А есть возможность (способ) его импортировать в Owen Logic?
    Цитата Сообщение от melky Посмотреть сообщение
    c5657 для Овен Лождик вроде petera делал когда-то астротаймер, поищите в макросах.
    Тут он https://owen.ru/forum/showthread.php...l=1#post296624

    Захват-1.png
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  2. #12

    По умолчанию

    Да, спасибо! Нашел 10.01.2019. И макрос и схему управления освещением "восход-закат". Опробовал, работает))

  3. #13

    По умолчанию

    Цитата Сообщение от c5657 Посмотреть сообщение
    А есть возможность (способ) его импортировать в Owen Logic?
    Переписал Астротаймер на ST в Лоджике, версия OWEN Logic2.6.345 1 Астротаймер 1 вариант.jpg
    Добавил упрощённый вариант, Астротаймер на ST_2, больше подходит для ПР205 и ПР225 1 Астротаймер 2 вариант.jpg

    Для ПЛК, среда CoDeSys V2.3 пример Астротаймера выложен на 1 странице, сообщение 7
    https://owen.ru/forum/showthread.php?t=29532#7
    Скрытый текст:
    Для Codesys 3.5 добавить биб-ки Oscat_Basic_333 и SysTimeRtc, Вложение 82649 скопировать ФБ SUN_TIME_My копипастом и

    дописать BASIC. в трёх местах Вложение 82650 получится так Вложение 82651 работа Вложение 82652

    Код времени
    Код:
    TOD1:= TO_TOD (TO_DT(SysTimeRtc.SysTimeRtcGet(dwErrorCode))) +T#3h          (* Текущее время TOD для Москвы *)
    Код:
    FUNCTION_BLOCK SUN_TIME_My
    VAR_INPUT
    	LATITUDE : REAL:=55.75;				(* Широта географического положения  *)
    	LONGITUDE : REAL:=37.617 ;				(* Долгота географического положения  *)
    	UTC : DATE:=D#2023-03-24;						(* На 24 марта 2023 года 	(мировое время)	*)
    	H : REAL := -0.83333333333;	(* Высота над горизонтом для восхода солнца *)
    END_VAR
    VAR_OUTPUT
    	MIDDAY : TOD;				(*	Астрономический полдень по Гринвичу *)
    	SUN_RISE : TOD;				(*	Восход солнца на текущий день по Гринвичу *)
    	SUN_SET : TOD;				(*	Заход олнца на текущий день по Гринвичу *)
    	SUN_DECLINATION : REAL;		(*	Склонение солнца над горизонтом в полдень в градусах	*)	
    END_VAR
    VAR
    	dk: REAL;						(* Склонение солнца над горизонтом в полдень *)
    	delta: TIME;					(* Дельта от полудня для восхода и захода солнца  *)
    	b: REAL;
    	RAD_H: REAL;
    	T: REAL;
    	OFFSET: REAL;
    END_VAR
    VAR CONSTANT
    	PI2: REAL := 6.28318530717958647692528676655900576;
    END_VAR
    ______________________________________________________________________
    B := latitude * 0.0174532925199433;
    
    T := DINT_TO_REAL(BASIC.DAY_OF_YEAR(utc));               (*  Дописан BASIC.  *) 
    OFFSET := -0.1752 * SIN(0.033430 * T + 0.5474) - 0.1340 * SIN(0.018234 * T - 0.1939);
    MIDDAY := DWORD_TO_TOD(REAL_TO_DWORD((12.0 - OFFSET - longitude * 0.0666666666666) * 3600000)) +T#180m0s0ms;   (* Для Москвы *)
    DK := 0.40954 * SIN(0.0172 * (T - 79.35));
    
    sun_declination := BASIC.MODR(57.29577951308232 * DK, 360.0);   (*  Дописан BASIC.  *) 
    IF sun_declination > 180.0 THEN sun_declination := sun_declination - 360.0; END_IF;
    sun_declination := 90.0 - LATITUDE + sun_declination;
    
    RAD_H:= BASIC.MODR(0.0174532925199433 * H, PI2);               (*  Дописан BASIC.  *) 
    delta := DWORD_TO_TIME(REAL_TO_DWORD((ACOS((SIN(RAD_H) - SIN(B) * SIN(DK)) / (COS(B) * COS(DK))) * 3.819718632) * 3600000));
    sun_rise := MIDDAY - delta;                           (* Для Москвы *)
    sun_set := MIDDAY + delta;                          (* Для Москвы *)
    Вложения Вложения
    Последний раз редактировалось kondor3000; 24.03.2025 в 19:20.

Страница 2 из 2 ПерваяПервая 12

Похожие темы

  1. таймер TOF
    от servo в разделе ПЛК1хх
    Ответов: 14
    Последнее сообщение: 06.11.2018, 09:46
  2. Таймер TOF
    от kip-pribor в разделе Среда программирования OWEN Logic
    Ответов: 22
    Последнее сообщение: 04.06.2017, 20:36
  3. Таймер(ы)
    от AntoNechayuk в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 23.08.2011, 19:39

Ваши права

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