Форум 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 » Общие вопросы / Common questions » Дребезг значения из-за плохой связи с прибором

   
Автор / Author Тема / Topic: Дребезг значения из-за плохой связи с прибором
FiXiZ
Active Forum Member / Активный участник форума
Участник № / Member № 5069


Icon 1 отправлено / posted      Профиль для / Profile for FiXiZ           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте!

Имеется modbus-устройство с которого регулярно считывается накопительное значение. Это значение разбито в приборе на две ячейки памяти. RTM 6.06 считывает эти две ячейки в 2 канала по 16 бит, затем регулярно крутящаяся программа склеивает это дело в один параметр double float, что и является конечным значением с прибора. Раз в десять минут это конечное значение записывается в базу для анализа и прочих преобразований. Проблема в том, что в помещении с прибором действуют наводки и ответы на запросы двух каналов по 16 бит часто не приходят, из за чего они получают недостоверность и падают в ноль, от этого страдает конечное значение и по эффекту карточного домика в базу пишется непонять что. Вопрос: как можно разрулить это дело с программной стороны, чтобы если 16-и битные параметры получат флаг недостоверности, их значения сохранялись и не падали в ноль?

Сообщения / Posts 70 | Из / From: Russia  |  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 
Факт появления признака недостоверности в канале, связанном с "Источником", не является основанием для для сброса значения канала в 0.
Если это действительно имеет место, возможно, речь идет об отключении канала от "Источника", что осуществлялось в ранних релизах в драйвере Modbus TCP при многократном отсутствии ответов на запросы.

Можно попытаться установить параметр
0 OFFCOUNT
в файле ip_modbus.

Рекомендуем перейти на текщий релиз 6.08, выложенный на сайте.

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


Icon 1 отправлено / posted      Профиль для / Profile for FiXiZ           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Речь идет о TM6.06 и Modbus RTU через RS-485. Если вы говорите, что при выставлении флага недостоверности не влияет на сброс значения в 0, тогда что это может сбрасывать это значение? Кусок кода, преобразующий 2 16-и битных значений в double float следующий:
code:
  	IF ( Весы73_1_I == 0 && Весы73_2_I == 0 ) THEN
temp = Весы73_1_R;
temp = temp << 16;
temp = temp | Весы73_2_R;
Весы_73_общ_In = temp * 0.001;
END_IF;

По идее, когда кто-то из них недостоверен это условие не должно срабатывать и общее значение не должно изменяться
Сообщения / Posts 70 | Из / From: Russia  |  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 
В драйвере Modbus RTU канал может обнуляться только с приходом корректного ответа со значением 0.
Надо перехватывать трафик COM-порта утилитами, например, PortMon. И по протоколу перехвата устанавливать истинную причину обнуления канала.

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


Icon 1 отправлено / posted      Профиль для / Profile for FiXiZ           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Посмотрел в портмон, ответ на корректный запрос приходит через раз. Точнее даже сказать, что запрашивается два параметра, но по очереди на один из них ответа как правило не приходит
Сообщения / Posts 70 | Из / From: Russia  |  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 
Результат контроля недостоверности лучше посылать в недостоверность результирующего канала, а не учитывать при формировании его значения.
Обнуляются значения каналов Весы73_1 и Весы73_2 или канала Весы_73_общ?
Выключите программу преобразования и проверьте действительное поведение каналов Весы73_1 и Весы73_2.

Установите этим двум каналам флажок "Отладка".
В файле *.cnf узла задайте ключ DEBUG=2200 (контроль атрибутов этих двух каналов и ошибок по RS).
Пришлите, пожалуйста, проект, папку проекта с протоколом профайлера и протокол перехвата PortMon

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


Icon 1 отправлено / posted      Профиль для / Profile for FiXiZ           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Да, действительно, все оказалось проще. Весы73_1 и Весы73_2 не обнулялись, а становились недостоверными, но при этом почему-то Весы73_общ обнулялся, видимо издержки старой версии. Применив другой программный подход, удалось решить проблему. Спасибо!
Сообщения / Posts 70 | Из / From: Russia  |  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