Форум 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: Обработка действия оператора
Eli
Forum Member / Участник форума
Участник № / Member № 6089


Icon 1 отправлено / posted      Профиль для / Profile for Eli           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте, скажите есть ли возможность реакции на действие пользователя (ввести и передать значение), не по нажатию кнопки, а по окончанию ввода значения (хочу сделать реакцию на ввод нового значения) ?
Сообщения / Posts 44 | Из / 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 
Реакцию на вводимое оператором значение можно осуществить только после штатного завершения диалога ввода, когда значение уже будет введено в аргумент экрана.
Анализировать введенное значение и организовывать последующие действия можно только программным путем.

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


Icon 1 отправлено / posted      Профиль для / Profile for Eli           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Хорошо сделал небольшой вот скрипт, который крутится циклически (1 CALC). Ловит изменения параметров датчика и записывает это в ОТ (через Call.String).
PROGRAM
VAR_OUTPUT message_1 : STRING; END_VAR
VAR_OUTPUT message_2 : STRING; END_VAR
VAR_OUTPUT message_3 : STRING; END_VAR
VAR_OUTPUT message_4 : STRING; END_VAR
VAR_OUTPUT message_5 : STRING; END_VAR
VAR_OUTPUT message_6 : STRING; END_VAR
VAR_OUTPUT message_number : REAL; END_VAR
VAR_INPUT user_name : STRING; END_VAR
VAR_INPUT HH_new : REAL; END_VAR
VAR_INPUT AH_new : REAL; END_VAR
VAR_INPUT WH_new : REAL; END_VAR
VAR_INPUT WL_new : REAL; END_VAR
VAR_INPUT AL_new : REAL; END_VAR
VAR_INPUT LL_new : REAL; END_VAR
VAR_INPUT HH_old : REAL; END_VAR
VAR_INPUT AH_old : REAL; END_VAR
VAR_INPUT WH_old : REAL; END_VAR
VAR_INPUT WL_old : REAL; END_VAR
VAR_INPUT AL_old : REAL; END_VAR
VAR_INPUT LL_old : REAL; END_VAR
VAR HH : REAL; END_VAR
VAR AH : REAL; END_VAR
VAR WH : REAL; END_VAR
VAR WL : REAL; END_VAR
VAR AL : REAL; END_VAR
VAR LL : REAL; END_VAR


if HH_new <> HH_old then
message_1:="Пользователь ("+user_name+") изменил ВГ("+HH_old+")-->("+HH_new+")"; //HH
message_number:=0.0;
elsif AH_new <> AH_old then
message_2:="Пользователь ("+user_name+") изменил АВ("+AH_old+")-->("+AH_new+")"; //AH
message_number:=1.0;
elsif WH_new <> WH_old then
message_3:="Пользователь ("+user_name+") изменил ПВ("+WH_old+")-->"+"("+WH_new+")"; //WH
message_number:=2.0;
elsif WL_new <> WL_old then
message_4:="Пользователь ("+user_name+") изменил ПН("+WL_old+")-->"+"("+WL_new+")"; //WL
message_number:=3.0;
elsif AL_new <> AL_old then
message_5:="Пользователь ("+user_name+") изменил АН("+AL_old+")-->"+"("+AL_new+")"; //AL
message_number:=4.0;
elsif LL_new <> LL_old then
message_6:="Пользователь ("+user_name+") изменил НГ("+LL_old+")-->"+"("+LL_new+")"; //LL
message_number:=5.0;
end_if;


END_PROGRAM
Выход message_number подключено к входу Call.String.R. Тексты соответственно к аргументам этого Call.String. User_name имя текущего пользователя.
Для этой цели я создал 12 каналов типа Float (HH_in (input float) и т.д., и HH_out (output float)и т.д.) - так как данные пойду через OPC сервер (переменная либо пишется либо записывается - чито???), а TM не подразумевает наличие переменных, которые и пишутся и записываются, адреса в OPC у них одни и те же (одна переменная разные направления чтения/записи) (((

К входам программы HH_new присоединен HH_out.Входное значение, HH_old присоединен HH_in.Реальное значение. Теоретически все должно работать (если скажем я привязываю HH_new и HH_old к аргументам экрана все замечательно работает. Но видимо из-за механизма обмена данными с каналами OPC сервером и механизмом вызова программы это работает через раз.
Если бы можно было предпринять реакцию на оконченный ввод нового значения это бы все легко отрабатывалось.
Вообще вся эта чехарда, ради логирования действия оператора. Существующий механизм ТМ, видите ли не подходит заказчику, который выбрал сам в качестве скады ТМ.
Если например для агрегатов с дискретным управлением всё это реализуется (через подобный скрипт). То с аналоговыми величинами вот такая вот беда, нужно что-то анализировать и тд.

И вот как мне с этим всем быть ?

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


Icon 1 отправлено / posted      Профиль для / Profile for Nico           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
лучше внешней программой обрабатывать файд контроля действий пользователя(cfr21),который
имеет защиту от не санкционированного редактирования

<номер действия> <дата и время действия> <имя пользователя в проекте> <посланное значение> (<ID канала вызова экрана> –>[<ID канала, в который значение записано>] <имя канала>.<номер атрибута>) {<N1>}{<N2>}{<N3>}{<N4>}{<N5>}

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


Icon 1 отправлено / posted      Профиль для / Profile for Eli           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
А чем их анализировать ? (с ТМ ранее вообще не работал). Нужно покупать лицензию ?
Сообщения / Posts 44 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342


Icon 1 отправлено / posted      Профиль для / Profile for Nico           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
написать собственную внешнюю программу для конвертации одного текстового файла в другой
а не писать такое в в шаблонах TM
поскольку строки отличаются дополнительными статическими словами

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