Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 13

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

  1. #1

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

    Возникла такая необходимость. Нужно фиксировать данные на 5 секунд, а не на один цикл на выходе D блока TREND библиотеки BASIC OSCAT. Сутки голову ломаю, ни одной мысли.

  2. #2

    По умолчанию

    Вы бы чуть конкретнее, что за программа?
    +79104444236
    С уважением,
    Лапшин Вячеслав

  3. #3

  4. #4

    По умолчанию

    Пишу нв CFC. Мне данные с выхода нужны для дальнейшей обработки и управления приводом, а так как данные появляются только на один цикл, я не могу привязать управление двигателем.

  5. #5

    По умолчанию

    Код:
    VAR
         TON1 : TON;
         Trig1 : R_TRIG;
         B1 : BYTE;
         Var1 : BYTE;
    END_VAR
    
         B1 := B1 + 1;
    
         TON1(IN := NOT TON1.Q, PT := T#5000MS);
    
         Trig1(CLK := TON1.Q);
    
         IF Trig1.Q THEN
              Var1 := B1;
         END_IF
    Адаптируйте под свои нужды и "заверните" в функциональный блок указанный выше код, который потом используйте в CFC.
    Последний раз редактировалось Spawn; 22.05.2023 в 01:23.

  6. #6

    По умолчанию

    🙂Я на язык ST смотрю и ничего не понимаю, для меня это темный лес. Я так понимаю, нужно созжать ФБ по этому коду. Нужно дописать вход и выход как я понимаю. Вход будет B1, а выход Var1, как чтоли?

  7. #7

    По умолчанию

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

  8. #8

    По умолчанию

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

  9. #9

    По умолчанию

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

  10. #10

    По умолчанию

    Цитата Сообщение от Юрий+ Посмотреть сообщение
    На вход подается значение 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.

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

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

Ваши права

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