This is topic Ожидание выполнения условия in forum Языки программирования в TRACE MODE 6 / Algorithm Programming Languages at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/33/t/000172.html

Posted by Selya (Участник № / Member № 6591) on :
 
Как мне реализовать на Техно ST ожидание выполнения некоторого условия.

Например, открываем ПневмоКлапан, и не закрываем его, пока значение на Манометре не достигнет определённой величины.

Что-то вроде этого:
code:
PROGRAM
VAR_INPUT МН2_R : REAL; END_VAR
VAR_INOUT ПК1_In : REAL; END_VAR

ПК1_In = 1; // Открываем ПневмоКлапан

REPEAT
// как-то ожидаем, пока значения Манометра не превысит 20
// какой тут оператор нужен?
UNTIL МН2_R < 20 END_REPEAT;

ПК1_In = 0; // Закрываем ПК
END_PROGRAM

И ещё вопрос, как прервать выполнение программы, ведь break и exit это прерывание цикла. Например если всё-таки МН2_R никогда не превысит 20, то выйти из программы (по таймеру?). Да ещё бы и с выводом сообщения на экран, было бы здорово.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Цикл здесь не нужен, т.к. первичный цикл организуется циклическим вызовом программы.
Поэтому достаточно ввести условный оператор, например, так:

IF МН2_R < 20
THEN ПК1_In = 1;
ELSE ПК1_In = 0;
END_IF;

Вывод сообщения на экран - штатным образом.
 
Posted by Selya (Участник № / Member № 6591) on :
 
Может я пока чего-то не понимаю, но программа у меня выполняется 1 раз, по нажатию на кнопку, а не молотит постоянно. По этому я и решил сделать именно так.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Если программа отрабатывает 1 раз, то она 1 раз контролирует входной сигнал и 1 раз передает сигнал на выход.
Сделайте канал CALL.Program типа INPUT.
Тогда программа будет выполняться с собственным циклом автоматически, а не по команде оператора.
Если процедура включения должна выполняться по команде оператора, то надо "ужесточить" условие - ввести в него проверку сигнала с экрана.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2