Форум 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 » помогите реализовать управление кнопкой...

   
Автор / Author Тема / Topic: помогите реализовать управление кнопкой...
kurzaev
Junior Member / Новичок
Участник № / Member № 2922


Icon 1 отправлено / posted      Профиль для / Profile for kurzaev           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте! Помогите ПЛЗ красиво реализовать следующий "винт":
есть одна кнопка. мне нужно этой кнопкой переключать режимы работы... их всего три: "выключен", "автоматический режим", "ручной режим". для этого я выделил одну переменную типа "int" и соответственно мне нужно при каждом нажатии кнопки менять значения с 0 до 2 и далее, при каждом клике 0, 1, 2, 0, 1,...по циклу...
и еще не маловажный момент... таких кнопок будет много... и не хотелось бы для кождой кнопки писать "индивидуальную" программу. Можно ли реализовать этот винт в пределах шаблона экрана?

Сообщения / Posts 19 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Vladimir T.
Junior Member / Новичок
Участник № / Member № 2659


Icon 1 отправлено / posted      Профиль для / Profile for Vladimir T.           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте!
Думаю, другого варианта у Вас нет. Придётся добавлять при каждом нажатии "1" и написать программу, ОДНУ, в которой перечислить все аргументы состояний и обнулять каждый при достижении значения "3".

Сообщения / Posts 7 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
kurzaev
Junior Member / Новичок
Участник № / Member № 2922


Icon 1 отправлено / posted      Профиль для / Profile for kurzaev           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
дело в том, что я уже написал программку... но она почему то не работает...
вот ее код:
PROGRAM
VAR_INOUT bSelect : INT; END_VAR
VAR_INOUT rData : REAL; END_VAR
VAR_INPUT rAData : REAL; END_VAR
VAR_INPUT rMData : REAL; END_VAR
VAR_INOUT ARG_000 : INT; END_VAR

case bSelect of
0: rData = 0;
1: rData = rAData;
2: rData = rMData;
else
bSelect=0;
End_case;

END_PROGRAM
в итоге (после привязки переменных) у меня не происходит инкримент переменной iSelect...
может где нить закралась ошибка?

Сообщения / Posts 19 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
kurzaev
Junior Member / Новичок
Участник № / Member № 2922


Icon 1 отправлено / posted      Профиль для / Profile for kurzaev           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
если укажете почтовый ящик, вышлю сам проект...
Сообщения / Posts 19 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Vladimir T.
Junior Member / Новичок
Участник № / Member № 2659


Icon 1 отправлено / posted      Профиль для / Profile for Vladimir T.           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Может быть я Вас не правильно понял, но не проще ли выполнить этот "винт" следующим образом:
1. При каждом нажатии на кнопку к значению аргумента экрана добаляется "1" (функция "Передать значение", "Добавить").
2. Тогда, текст программы (аргумент экрана bSelect):

PROGRAM
VAR_INOUT bSelect : INT; END_VAR

if bSelect == 3 then bSelect = 0;
end_if;

END_PROGRAM

Если же подкорректировать Вашу программу, то:

PROGRAM
VAR_INOUT bSelect : INT; END_VAR


case bSelect of
0: bSelect = 0;
1: bSelect = 1;
2: bSelect = 2;
else
bSelect=0;
End_case;

END_PROGRAM

Сообщения / Posts 7 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
kurzaev
Junior Member / Новичок
Участник № / Member № 2922


Icon 1 отправлено / posted      Профиль для / Profile for kurzaev           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
спасибо, щас попробую...
Сообщения / Posts 19 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
kurzaev
Junior Member / Новичок
Участник № / Member № 2922


Icon 1 отправлено / posted      Профиль для / Profile for kurzaev           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
нехочет ни в какую... :-(
может я что не правильно делаю...?
1 создаю шаблон экрана с кнопкой и аргументом для нее.
2 создаю шаблон программы так же со своими аргументами.
3 переношу все в узел и делаю привязки...
думаю в этом то и проблема... в привязках... получается, что привязав аргумент экрана к аргументу программы я лишаю возможности обновлять сам аргумент экрана... очевидно, что программа отрабатывает, как надо... а если делаю обновление экранного аргумента через постредника, то вообще инкремент не проходит, т.к. он затирается еще не сформировавшейся временной переменной...
как быть?... "яду мне... яду."

Сообщения / Posts 19 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
kurzaev
Junior Member / Новичок
Участник № / Member № 2922


Icon 1 отправлено / posted      Профиль для / Profile for kurzaev           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
может если у Вас получилось (то есть очевидно, что я делаю что то не провильно) пришлите мне проект на il1@list.ru ПЛЗ...
Сообщения / Posts 19 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
M@V
Forum Professor / Завсегдатай форума
Участник № / Member № 1800


Icon 1 отправлено / posted      Профиль для / Profile for M@V           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Отослал на мыло.
Сообщения / Posts 167 | Из / From: УКРАИНА  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
kurzaev
Junior Member / Новичок
Участник № / Member № 2922


Icon 1 отправлено / posted      Профиль для / Profile for kurzaev           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Господа! огромное Вам спасибо! я понял в чем моя ошибка... я делал автоматические привязки аргументов после добавления шаблонов в узел... и уже потом привязывал каналы между собой...
Еще раз огромное спасибо... Доброго Вам здоровья!!!

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