Возникла такая необходимость. Нужно фиксировать данные на 5 секунд, а не на один цикл на выходе D блока TREND библиотеки BASIC OSCAT. Сутки голову ломаю, ни одной мысли.
Возникла такая необходимость. Нужно фиксировать данные на 5 секунд, а не на один цикл на выходе D блока TREND библиотеки BASIC OSCAT. Сутки голову ломаю, ни одной мысли.
Вы бы чуть конкретнее, что за программа?
+79104444236
С уважением,
Лапшин Вячеслав
Codesys 3.5
Пишу нв CFC. Мне данные с выхода нужны для дальнейшей обработки и управления приводом, а так как данные появляются только на один цикл, я не могу привязать управление двигателем.
Адаптируйте под свои нужды и "заверните" в функциональный блок указанный выше код, который потом используйте в CFC.Код: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
Последний раз редактировалось Spawn; 22.05.2023 в 01:23.
🙂Я на язык ST смотрю и ничего не понимаю, для меня это темный лес. Я так понимаю, нужно созжать ФБ по этому коду. Нужно дописать вход и выход как я понимаю. Вход будет B1, а выход Var1, как чтоли?
На вход подается значение REAL, а на этом выходе на один цикл появляется значение на которое изменился вход. Через некоторое время значение входа меняется, на выхода данные на сколько изменились данные на один цикл. А мне нужно эти данные привязать к счетчику импульсов.
Ну так REAL на входе может меняться непрерывно, значит и на выходе D в каждом цикле будет новое значение?
Вот код блока TREND:
У вас каждый цикл значение на выходе D меняется, если вы "выхватываете" и задерживаете одно значение, то теряете несколько следующихКод: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;
Лучше опишите в чём задача, возможно нужен другой подход
Последний раз редактировалось 1exan; 22.05.2023 в 09:19.