1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Таймер с пузой

Unity Pro (Control Expert), Quantum, Premium, M340, M580, Hybrid DCS, Process Expert, Zelio, Twido, M17*, M2**, SCADAPACK, SoMachine, MachineExpert, ZelioSoft, TwidoSoft, TwidoSuite, TelePace

Модераторы: Глоб.модераторы, Специалисты SE

Ответить

Автор темы
xOleggelOx
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 13 окт 2021, 11:17
Имя: Олег

Таймер с пузой

Сообщение xOleggelOx »

Добрый день, есть ли у кого-нибудь готовый функциональный блок для EcoStructure Machine Expert HVAC 1.3
Блок на основе TON, только с дополнительным дискретным входом (пауза).
Если на первый вход приходит сигнал (логическая 1), таймер начинает отсчет, если он не успел досчитать до времени уставки и на второй вход приходит сигнал (логическая 1), то таймер встает на паузу, после пропадания сигнала со второго входа таймер продолжает счет с того времени на котором он остановился?

vadymosadchuk
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 07 май 2020, 11:37
Имя: Осадчук Вадим
Страна: Украина
город/регион: Винница

Таймер с пузой

Сообщение vadymosadchuk »

Есть ФБ написаний на ST в Codesys.
Не знаю можно ли так написать в HVAC.

FUNCTION_BLOCK TON_P
VAR_INPUT
IN : BOOL; //Control Input
PT : TIME; //Upper limit for counting up ET (delay time).
PAUSE : BOOL; //Pause
END_VAR
VAR_OUTPUT
Q : BOOL; //Gets a rising edge as soon as ET has reached the upper LIMIT PV (delay TIME is over).
ET_CNTDWN : TIME; //Current state of delay time
END_VAR
VAR
TON_main : TON;
TON_pause : TON;
PT_main : TIME;
ET_main : TIME;
R_trig_IN : R_TRIG;
ET_Pause : TIME;
PT_lastCycle : TIME;
END_VAR


R_trig_IN(clk := IN);
IF R_trig_IN.Q OR PT_lastCycle <> PT THEN PT_main := PT; END_IF
IF pause AND IN THEN PT_main := PT + TON_pause.et; ELSE PT_main := PT_main; END_IF

ET_CNTDWN := PT_main - TON_main.ET;

TON_main(IN:= IN, PT := PT_main, Q=> Q, ET => ET_main);

TON_pause(in := pause AND IN, pt := T#999H);

IF NOT IN THEN pause := FALSE; ET_CNTDWN := PT; END_IF
PT_lastCycle := PT;

Автор темы
xOleggelOx
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 13 окт 2021, 11:17
Имя: Олег

Таймер с пузой

Сообщение xOleggelOx »

Нашел еще такой код в интернетах
FUNCTION_BLOCK TON_P
VAR_INPUT
IN: BOOL; (*Старт*)
P: BOOL; (*Пауза*)
PT: TIME; (*Уставка времени*)
END_VAR
VAR_OUTPUT
Q: BOOL;
ET: TIME; (*Время работы таймера*)
END_VAR
VAR
clk: BOOL;
StartTime: TIME;
tx: TIME;
END_VAR

x:= TIME();
IF P THEN
StartTime:= tx - ET;
END_IF
IF IN AND NOT clk THEN
StartTime:= tx;
clk:= TRUE;
ELSIF NOT IN THEN
clk:= FALSE;
Q:= FALSE;
ET:= t#0s;
END_IF
IF clk AND NOT Q THEN
ET:= MIN(PT, tx - StartTime);
Q:= ET = PT AND IN;
END_IF

Только не знаю как его корректно под Schnider переделать

Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 5790
Зарегистрирован: 07 окт 2011, 09:12
Имя: Гаско Вячеслав Эриевич
Страна: Россия
город/регион: Рязань
Благодарил (а): 673 раза
Поблагодарили: 841 раз

Таймер с пузой

Сообщение Ryzhij »

А что, в вашей системе стандартного ретентивного таймера TRN или TRF нет?
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)

Автор темы
xOleggelOx
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 13 окт 2021, 11:17
Имя: Олег

Таймер с пузой

Сообщение xOleggelOx »

Ryzhij писал(а): 21 окт 2021, 18:23 А что, в вашей системе стандартного ретентивного таймера TRN или TRF нет?
неа(
если бы был, я бы не написал сюда)
Ответить

Вернуться в «ПЛК»