REPEAT // как-то ожидаем, пока значения Манометра не превысит 20 // какой тут оператор нужен? UNTIL МН2_R < 20 END_REPEAT;
ПК1_In = 0; // Закрываем ПК END_PROGRAM
И ещё вопрос, как прервать выполнение программы, ведь break и exit это прерывание цикла. Например если всё-таки МН2_R никогда не превысит 20, то выйти из программы (по таймеру?). Да ещё бы и с выводом сообщения на экран, было бы здорово.
Сообщения / Posts 32 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Цикл здесь не нужен, т.к. первичный цикл организуется циклическим вызовом программы. Поэтому достаточно ввести условный оператор, например, так:
IF МН2_R < 20 THEN ПК1_In = 1; ELSE ПК1_In = 0; END_IF;
Selya
Forum Member / Участник форума
Участник № / Member № 6591
отправлено / posted
Может я пока чего-то не понимаю, но программа у меня выполняется 1 раз, по нажатию на кнопку, а не молотит постоянно. По этому я и решил сделать именно так.
Сообщения / Posts 32 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Если программа отрабатывает 1 раз, то она 1 раз контролирует входной сигнал и 1 раз передает сигнал на выход. Сделайте канал CALL.Program типа INPUT. Тогда программа будет выполняться с собственным циклом автоматически, а не по команде оператора. Если процедура включения должна выполняться по команде оператора, то надо "ужесточить" условие - ввести в него проверку сигнала с экрана.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |