Форум 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 бесплатная Базовая версия / TRACE MODE 6 free Base version » ST- проограмма

   
Автор / Author Тема / Topic: ST- проограмма
Vjam
Forum Haunter / Завсегдатай форума
Участник № / Member № 2261


Icon 1 отправлено / posted      Профиль для / Profile for Vjam           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Работоспособна ли такая конструкция, или нет. Компилятор говорит что все нормально.
Сделано как пример
PROGRAM
VAR_INPUT Объем_заказа : REAL := 10; END_VAR
VAR_OUTPUT Коэф : REAL; END_VAR

while Объем_заказа > 0
do if Объем_заказа > 1
then Коэф = 1;
else Коэф = Объем_заказа;
end_if;
end_while;

END_PROGRAM
Спасибо. У меня данная программа не работает, т.е. аргумент -Коэф- не меняет значение

Сообщения / Posts 136 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Гусев Александр Петрович
Active Forum Member / Активный участник форума
Участник № / Member № 2148


Icon 1 отправлено / posted      Профиль для / Profile for Гусев Александр Петрович           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
эта конструкция неработоспособна. у вас здесь бесконечный цикл. переменная Объем_заказа не будет обновлять свое значение во время выполнения программы и выхода из цикла и самой программы никогда не произойдет. рассматривайте программу как функцию которая вызывается каждый раз при пересчете каналов. т. е. вам нужно просто написать:
if Объем_заказа > 1 then
Коэф := 1;
else
Коэф := Объем_заказа;
end_if;

Сообщения / Posts 84 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Vjam
Forum Haunter / Завсегдатай форума
Участник № / Member № 2261


Icon 1 отправлено / posted      Профиль для / Profile for Vjam           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
предполагается что Объем_заказа будет уменьшаться до 0 с каждым циклом Объем_заказа = Объем_заказа-1. просто не доконца передана программа. Сейчас переделаю. Вопрос в том , что впринципе работоспособна ли конструкция, (как в Си)
Сообщения / Posts 136 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Vjam
Forum Haunter / Завсегдатай форума
Участник № / Member № 2261


Icon 1 отправлено / posted      Профиль для / Profile for Vjam           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Нашел ошибку. дальше по программе. спасибо за помощь
Сообщения / Posts 136 | Из / 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