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

Тема: Паразитный выходной импульс - как устранить?

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,991

    По умолчанию

    Код:
    /* ------------------- TP ------------------- */
    TP::TP()
    {
    	IN = false;
    	PT = 0;
    	_M = false;
    	_StartTime = 0;
    	Q = false;
    	ET = 0;
    }
    TP::TP(unsigned long PT)
    {
    	IN = false;
    	TP::PT = PT;
    	_M = false;
    	_StartTime = 0;
    	Q = false;
    	ET = 0;
    }
    boolean TP::Run(boolean IN)
    {
    	TP::IN = IN;
    	if (!_M) {
    		if (TP::IN) {
    			_M = true; // взводим флаг М
    			_StartTime = millis();
    			if (ET < PT)
    				Q = true;
    		}
    	} else {
    		if (Q) {
    			ET = millis() - _StartTime; // вычисляем время
    			if (ET >= PT)
    				Q = false;
    		} else {
    			if (!TP::IN) {
    				_M = false;
    				ET = 0;
    			}
    		}
    	}
    	return Q;
    }

    Код реализации ТР на ПК - паразитных импульсов при PT=0 НЕТ. что не так с программированием ?
    Последний раз редактировалось melky; 19.02.2018 в 10:25.

Похожие темы

  1. Ложный импульс по фронту R_TRIG
    от skinnbatter в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 19.07.2017, 05:02
  2. Импульс
    от SetIG в разделе Master SCADA 3
    Ответов: 2
    Последнее сообщение: 05.10.2016, 12:56
  3. Выходной сигнал СИ8
    от Shad в разделе Эксплуатация
    Ответов: 4
    Последнее сообщение: 17.06.2013, 12:41
  4. Импульс при переходе с 1 в 0
    от servo в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 17.04.2012, 22:12
  5. Импульс определенной длительности
    от Максим_Фалалеев в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 23.09.2008, 07:25

Ваши права

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