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

Тема: Фиксация данных на определенный промежуток времени

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от Юрий+ Посмотреть сообщение
    Пишу нв CFC. Мне данные с выхода нужны для дальнейшей обработки и управления приводом, а так как данные появляются только на один цикл, я не могу привязать управление двигателем.
    "данные появляются на один цикл" - а потом какое значение на этом выходе?
    Т.е. как отследить момент появления данных на выходе D?

  2. #2

    По умолчанию

    На вход подается значение REAL, а на этом выходе на один цикл появляется значение на которое изменился вход. Через некоторое время значение входа меняется, на выхода данные на сколько изменились данные на один цикл. А мне нужно эти данные привязать к счетчику импульсов.

  3. #3

    По умолчанию

    Цитата Сообщение от Юрий+ Посмотреть сообщение
    На вход подается значение REAL, а на этом выходе на один цикл появляется значение на которое изменился вход. Через некоторое время значение входа меняется, на выхода данные на сколько изменились данные на один цикл. А мне нужно эти данные привязать к счетчику импульсов.
    Лучше бы свой проект выложили, если значение появляется, значит оно где то посчитано, его только запомнить надо и прибавить 1 к счётчику.

  4. #4

    По умолчанию

    Цитата Сообщение от Юрий+ Посмотреть сообщение
    На вход подается значение REAL, а на этом выходе на один цикл появляется значение на которое изменился вход. Через некоторое время значение входа меняется, на выхода данные на сколько изменились данные на один цикл. А мне нужно эти данные привязать к счетчику импульсов.
    Ну так REAL на входе может меняться непрерывно, значит и на выходе D в каждом цикле будет новое значение?

    Вот код блока TREND:

    Код:
    FUNCTION_BLOCK TREND_DW
    VAR_INPUT
    	X : DWORD;
    END_VAR
    VAR_OUTPUT
    	Q : BOOL;
    	TU : BOOL;
    	TD : BOOL;
    	D : DWORD;
    END_VAR
    VAR
    	last_X: DWORD;
    END_VAR
    
    
    IF X > last_X THEN
    	TU := TRUE;
    	TD := FALSE;
    	D := X - last_X;
    	Q := TRUE;
    ELSIF X < last_X THEN
    	TD := TRUE;
    	TU := FALSE;
    	D := last_X - X;
    	Q := FALSE;
    ELSE
    	TU := FALSE;
    	TD := FALSE;
    	D := 0;
    END_IF;
    last_X := X;
    У вас каждый цикл значение на выходе D меняется, если вы "выхватываете" и задерживаете одно значение, то теряете несколько следующих
    Лучше опишите в чём задача, возможно нужен другой подход
    Последний раз редактировалось 1exan; 22.05.2023 в 09:19.

  5. #5

    По умолчанию

    У меня на входе значение REAL постоянно меняться не будет, значение будет изменяться по мере необходимости. Проекта на данный узел как такогого нет. Суть будет подаваться какой либо аналоговый сигнал на вход X при увеличении сигнала будет открываться шибер, при уменьшении закрываться, уровень открытия будет регулироваться количеством импульсов поступающих с индуктивного датчика. Количество импульсов будет поступать как раз с этого выхода, в голове у меня все сложилось, а вот как взять данные с этого выхода и использовать не могу🤪

Похожие темы

  1. Ответов: 0
    Последнее сообщение: 23.10.2022, 15:11
  2. Ответов: 8
    Последнее сообщение: 25.02.2020, 00:03
  3. Привязка данных ко времени
    от forpiv в разделе СПК1xx (архив)
    Ответов: 8
    Последнее сообщение: 22.09.2019, 07:19
  4. Как запомнить значение за промежуток времени?
    от evgeni293 в разделе СПК2xx (архив)
    Ответов: 1
    Последнее сообщение: 22.03.2019, 06:52
  5. Вывод данных за определенный интервал
    от Flicker в разделе Панели оператора (HMI)
    Ответов: 2
    Последнее сообщение: 21.11.2013, 23:20

Ваши права

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