Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » Языки программирования в TRACE MODE 6 / Algorithm Programming Languages » Ожидание выполнения условия

   
Автор / Author Тема / Topic: Ожидание выполнения условия
Selya
Forum Member / Участник форума
Участник № / Member № 6591


Icon 1 отправлено / posted      Профиль для / Profile for Selya           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Как мне реализовать на Техно 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, то выйти из программы (по таймеру?). Да ещё бы и с выводом сообщения на экран, было бы здорово.
Сообщения / Posts 32 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Цикл здесь не нужен, т.к. первичный цикл организуется циклическим вызовом программы.
Поэтому достаточно ввести условный оператор, например, так:

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

Вывод сообщения на экран - штатным образом.

Сообщения / Posts 17105 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Selya
Forum Member / Участник форума
Участник № / Member № 6591


Icon 1 отправлено / posted      Профиль для / Profile for Selya           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Может я пока чего-то не понимаю, но программа у меня выполняется 1 раз, по нажатию на кнопку, а не молотит постоянно. По этому я и решил сделать именно так.
Сообщения / Posts 32 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Если программа отрабатывает 1 раз, то она 1 раз контролирует входной сигнал и 1 раз передает сигнал на выход.
Сделайте канал CALL.Program типа INPUT.
Тогда программа будет выполняться с собственным циклом автоматически, а не по команде оператора.
Если процедура включения должна выполняться по команде оператора, то надо "ужесточить" условие - ввести в него проверку сигнала с экрана.

Сообщения / Posts 17105 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2