Страница 4 из 4 ПерваяПервая ... 234
Показано с 31 по 40 из 42

Тема: Свой таймер

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,799

    По умолчанию

    Цитата Сообщение от spectrum48k Посмотреть сообщение
    всего лишь подбиваю уйти от трещетки и работать с накоплением времени а не импульсов )
    А надо????
    Мы живем в окружении "трещотки" .
    Второе вам надо передать секунды наработанные в панель (выложить в слэйв) в формате 2байт (Ворд , Инт) ,с точностью 1 сотка. Ну тка преобразуйте T#1s105MS , ничего не потеряете ?

  2. #2

    По умолчанию

    Цитата Сообщение от Sergey666 Посмотреть сообщение
    А надо????
    Мы живем в окружении "трещотки" .
    Второе вам надо передать секунды наработанные в панель (выложить в слэйв) в формате 2байт (Ворд , Инт) ,с точностью 1 сотка. Ну тка преобразуйте T#1s105MS , ничего не потеряете ?
    не путаем. речь идет не об обострении перфекционизма и борьбой с каждой потерянной милисекундой, а именно с большой накопленной погрешностью. для кого некритично, вообще заморачиваться не стоит. хотелось бы прийти к истинно правильному методу с точки зрения математики и плк-шного квантования времени, так сказать к примеру №1 добавить пример №2 для ценителей)) (желательно простой и без посторонних бибок , как у меня)

  3. #3
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,799

    По умолчанию

    Цитата Сообщение от spectrum48k Посмотреть сообщение
    не путаем. речь идет не об обострении перфекционизма и борьбой с каждой потерянной милисекундой, а именно с большой накопленной погрешностью. для кого некритично, вообще заморачиваться не стоит. хотелось бы прийти к истинно правильному методу с точки зрения математики и плк-шного квантования времени, так сказать к примеру №1 добавить пример №2 для ценителей)) (желательно простой и без посторонних бибок , как у меня)
    Так вот товарищ Петера выше все сделал !
    А можно еще изящнее - задействовать TASK_Manager и отдаться ему (Du hast mich) вызывая 1 раз в секунду программу Tik_1s с одной строчкой Tik:=true;


    С точки зрения математической правильности конечно надо с TIME() работать .
    Америкосы тоже калаш сначала модернизировать пытались , зазоры все убрали , подогнали все четко-идеально ... , а он не заработал ...
    Последний раз редактировалось Sergey666; 26.08.2015 в 15:43.

  4. #4

    По умолчанию

    вариации на тему)
    Код:
    FUNCTION_BLOCK TIMER
    VAR_INPUT
    	iCntUp : BOOL;
    	iCntDn : BOOL;
    	iCntRes : BOOL;
    	iCntSP : TIME;
    END_VAR
    VAR_OUTPUT
    	OutTime : TIME;
    	OutAlm : BOOL;
    END_VAR
    VAR
    	TimeAct : TIME;
    	TimeOld : TIME;
    	TimeDelta : TIME;
    	DoCalc : UINT;
    	Init: BOOL;
    	CntUpOld :BOOL;
    	CntDnOld : BOOL;
    END_VAR
    
    
    
    IF iCntRes THEN Init := FALSE; END_IF
    
    
    (*INIT*)
    IF NOT Init THEN
    				Init := TRUE;
    				iCntUp := iCntDn := CntUpOld := CntDnOld := OutAlm := FALSE;
    				TimeAct := TimeOld := TimeDelta := OutTime := t#0ms;
    				DoCalc := 0;
    				RETURN;
    END_IF
    
    
    (*DOCALC*)
    DoCalc := DoCalc +1;
    
    IF (DoCalc MOD 10=0) OR (iCntUp <> CntUpOld) OR (iCntDn <> CntDnOld) THEN
    
    
    TimeAct :=TIME();
    
    		IF TimeOld > t#0ms THEN
    		TimeDelta := TimeAct - TimeOld;
    
    		(*COUNT_UP*)
    			IF iCntUp OR (CntUpOld > iCntUp) THEN
    						IF iCntSP > OutTime THEN OutTime := OutTime + TimeDelta;
    						IF OutTime > iCntSP THEN OutTime := iCntSP; END_IF
    						END_IF;
    			END_IF
    
    		(*COUNT_DOWN*)
    			IF iCntDn OR (CntDnOld > iCntDn) THEN
    						IF OutTime > TimeDelta THEN OutTime := OutTime - TimeDelta;
    						ELSE OutTime := t#0ms;
    						END_IF;
    			END_IF
    
    		OutAlm := iCntSP > t#0ms AND OutTime = iCntSP;
    
    		END_IF
    
    		TimeOld := TimeAct;
    
    END_IF
    
    CntUpOld := iCntUp;
    CntDnOld := iCntDn;
    Последний раз редактировалось spectrum48k; 27.08.2015 в 11:27.

Страница 4 из 4 ПерваяПервая ... 234

Похожие темы

  1. Как оценить свой труд?
    от a_gricaj в разделе Master SCADA 3
    Ответов: 30
    Последнее сообщение: 12.07.2015, 13:20
  2. Ответов: 2
    Последнее сообщение: 18.03.2015, 16:04
  3. Таймер
    от Deoxes в разделе СПК1xx (архив)
    Ответов: 8
    Последнее сообщение: 16.07.2014, 11:19
  4. Таймер(ы)
    от AntoNechayuk в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 23.08.2011, 19:39

Ваши права

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