Форум 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 » Мониторы Реального Времени / Real Time Monitors » Атрибут недостоверность при работе Call.OtherProj с разными проектами

   
Автор / Author Тема / Topic: Атрибут недостоверность при работе Call.OtherProj с разными проектами
electroair
Forum Member / Участник форума
Участник № / Member № 8317


Icon 1 отправлено / posted      Профиль для / Profile for electroair           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Добрый день.
С помощью функции CALL.OtherProj (параметр 3) осуществляю передачу данных на микро МРВ (WinPac). Веду управление записью с панели МРВ в профайлере. При наличии связи - всё нормально. Т.е. пишу в атрибут 2-> атрибут 1 становится равен "1" -> атрибут 2 сбрасывается ->передача выполнена->атрибут 1 сбрасывается.
Но при отсутствии связи всё плохо:
Т.е. пишу в атрибут 2-> атрибут 1 становится равен "1" -> атрибут 2 сбрасывается.. и всё.
Достоверность - достоверна, атрибут (1,A) в единице. Если восстановить соединение ничего не поменяется.
Если снова записать "1" в атрибут 2, то (1,A) станет "2", но атрибут 1 уже не сбросится.
Восстановление связи возможно только если сначала обнулить атрибут 2, а затем атрибут 1, и только потом снова записать атрибут 2.
Атрибут недостоверности не появляется вообще.
Что я делаю не так? Как с этим работать?

Мне необходимо понимать, прошла запись или нет.
Спасибо.

[ 30.04.2020, 11:39: Сообщение отредактировал / Message edited by АдАстра. Техподдержка ]

Сообщения / Posts 36 | Из / 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 
-общий принцип контроля записи есть операция чтения значения переменной;
-узлы должны быть в одном проекте;
-взаимодействие между разными проектами есть
исключительная ситуация;

Сообщения / Posts 698 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Moderator
Участник № / Member № 4


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

В этом случае, как уже рекомендовал Nico, для контроля записи параллельно читайте ту же переменную.

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


Icon 1 отправлено / posted      Профиль для / Profile for electroair           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Довольно неожиданно, что otherProj не может нормально проверять успешность.
Чтение через otherProj работает неплохо, но жаль, что достоверность может встать в недостоверность при обрыве связи и не восстановится после восстановления связи.
Но как работать с записью через otherProj при том, что после установки 1 в атрибут 2, если связи нет, то атрибут 2 сбрасывается, а атрибут 1 "застревает" в этом состоянии.
В этом состоянии не понятно: оборвалась связь или посылка ещё не отправлена.
А чтобы заставить канал работать снова необходимо принудительно обнулять атрибуты 1 и 2, а только потом снова писать в атрибут 2. Это довольно много действий сделанных последовательно.
Сейчас я провожу все операции через панель МРВ, но я хочу написать функцию, которая будет сама отслеживать запись и чтение и которая сама определит сбой при записи и выведет канал из этого состояния.
Мне необходимо знать, как правильно определять состояние заклинивания канала и как выводить канал из этого состояния. Желателен алгоритм того, что я должен писать, куда и как долго ждать.
Спасибо.

Сообщения / Posts 36 | Из / From: Российская Федерация  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Moderator
Участник № / Member № 4


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

Если значение, которое Вы записываете отличается от считанного, то запись не прошла.

Проделать это можно, скажем периодически отрабатываемой программой на ST (сравнение значений двух аргументов и обнуление еще двух аргументов)

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


Icon 1 отправлено / posted      Профиль для / Profile for electroair           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Ок. Тогда всего один вопрос:
Как выодить из заклиненного состояния call.otherProj, когда у него не получилось записать? Что, куда и в какой последовательности необходимо записать, чтоб он развесился?

Сообщения / Posts 36 | Из / 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 
обнулить атрибуты R,A,FA
Сообщения / Posts 698 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
electroair
Forum Member / Участник форума
Участник № / Member № 8317


Icon 1 отправлено / posted      Профиль для / Profile for electroair           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
А In(2) и I(4) обнулять не обязательно?
Что такое FA?
За один цикл обнуляю R, A и FA (что это?) а на следующем цикле уже можно снова запускать опрос, т.е. писать в In(2)?

Сообщения / Posts 36 | Из / 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 
FA(4) - недостоверность
Сообщения / Posts 698 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
electroair
Forum Member / Участник форума
Участник № / Member № 8317


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

Всё нужно обнулить за один раз и со следующего цикла запускать запись?

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

Rambler's Top100 Rambler's Top100



Powered by Infopop Corporation
UBB.classic™ 6.7.2