Форум 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 » Bool не работает, только REAL

   
Автор / Author Тема / Topic: Bool не работает, только REAL
Ляксей
Forum Member / Участник форума
Участник № / Member № 3098


Icon 1 отправлено / posted      Профиль для / Profile for Ляксей           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
PROGRAM
VAR_INPUT a : BOOL; END_VAR
VAR_OUTPUT b : REAL; END_VAR

if a == 1 then
b = 1;
end_if;

END_PROGRAM

Конструкция не работает. Выдает "Неверный аргумент операции". если переменной "А" задать тип "REAL", то все работает. А нужен "BOOL". Подскажите пожалуйста в чем дело?

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


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

PROGRAM
VAR_INPUT a : BOOL; END_VAR
VAR_OUTPUT b : REAL; END_VAR
if ( NOT a ) then
b = 1;
end_if;

END_PROGRAM

NOT появилось из за того, что по условию, если а ложь, то выполнять то, что после then
p.s. БУЛЕВСКИЕ ВЫРАЖЕНИЯ(ПЕРЕМЕННЫЕ) МОГУТ РАЗДЕЛЯТЬСЯ AND или OR, и им могут предшествовать NOT

Сообщения / Posts 101 | Из / 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