This is topic РК-131/300М - время реакции системы in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/31/t/000297.html

Posted by Гусев Александр Петрович (Участник № / Member № 2148) on :
 
Над имеющейся САР состоящей из 7 контроллеров РК-131/300М объединенных сетью "Магистр" был построен верхний уровень в TM6. Один из контроллеров - шлюзовой. К нему подключена операторская станция через интерфейс RS-232. Верхний уровень запрашивает данные со всех контроллеров. При этом запросы к нешлюзовым контроллерам, как я полагаю, просто передается шлюзовым контроллером в сеть "Магистр". Однако остается неясным как долго будет ожидаться ответ. Наблюдаю следующие вещи: видимо из-за запросов к контроллерам которые не существуют (подключены только 2 контроллера из 7) время реакции системы на воздействие со стороны оператора (перевод контура управления из режима АВТ в режим РУЧ) ОООчень большое - от 3 до 20 секунд. Может где то можно посмотреть таймауты или как то прояснить механизм обмена по сети?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Действительно, из-за того что протокол обмена с сетью контроллеров КР-300 полудуплексный, отсутствие "заказанных" в проекте контроллеров очень сильно снижает реальную производительность последовательного канала.
Отсутствие ответа от контроллера вызывает ожидание в каждой транзакции в течение заданного таймаута. В это время другие транзакции не реализуются.
Сокращать время таймаута, заданное в настройках COM_порта, можно, но не беспредельно, т.к. при этом можно получить недостоверности из-за вполне допустимых задержек с ответом у работающих контроллеров.
Реальный путь повышения реактивности системы в этих условиях - автоматически или интерактивно отключать от обмена каналы, которые связаны с отсутствующими/отключенными контроллерами. Для этого можно воспользоваться атрибутами СОСТОЯНИЕ или ПОДКЛЮЧЕНИЕ этих каналов.
Критерием отоключения может служит частое пояление признака недостоверности у соответствующих каналов или команда оператора, заведомо точно знающего, что данных контроллеров в сети нет.
 
Posted by Гусев Александр Петрович (Участник № / Member № 2148) on :
 
можно ли создать канал который будет пытаться обновить значение некоторого служебного параметра самым первым в начале очередного цикла пересчета и при неудаче производить отключение всех остальных каналов подключенных к неответившему контроллеру? т. е. можно ли добавить в проект канал и программу с приоритетом пересчета большим всех уже имеющихся в проекте?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
В пределах цикла обработки базы каналы пересчитываются в соответствии с их ID, изменить которые нельзя.
Поток обращения к внешнему устройству, как правило, асинхронный. Поэтому привязать какой-либо канал жестко к началу цикла опроса не представляется возможным.
 
Posted by Гусев Александр Петрович (Участник № / Member № 2148) on :
 
в смысле асинхронный? есть множество каналов. данные получают через COM-порт. всем каналам задан одининаковая частота пересчета. начинается пересчет. все каналы обновляются последовательно в порядке задаваемом их ID (или, что наверное одно и то же, в порядке их создания в проекте). хотелось бы в начале обращения к контроллеру проверить его наличие - считать некоторую переменную и в случае неудачи отказаться от считывания каналов подключенных к этому контроллеру на некоторое время, а самой переменной понизить частоту пересчета. можно ли достич этого добавив в проект нужные мне служебные переменные, а затем вырезав и вставив все имеющиеся каналы? при этом происходит переназначение ID?
 
Posted by Гусев Александр Петрович (Участник № / Member № 2148) on :
 
... и еще как в описанной системе узнать реальное время обновления данных??
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Асинхронный в том смысле, что после
запроса к устройству ответ от него происходит не мгновенно, а спустя некоторое время, определяемое самим устройством. К тому же в случае направления устройству нескольких запросов формирование ответов также завсит от внутренней организации устройства. Определить наличие/работоспособность устройства можно оставив из всего числа каналов, адресуемых устройству, например, один с атрибутами Состояние или Подключение равными 0, остальные с 1. После программой проанализировать атрибут Достоверность для данного канала и если он равен 0, то установить в 0 атрибуты остальных каналов - в следующем цикле пересчета для них будет произведен опрос устройства. Если Достоверность не равна 0 (тут, кстати, тоже с помощью программы можно вести учет числа неудачных попыток запроса), то соответственно устройство либо не включено или вышло из строя... По сему факту можно просигнализировать оператору и, например, увеличить период пересчета канала, установив для остальных в 1 атрибуты Состояние или Подключение. Время обновления данных, получаемых от устройства можно анализируя атрибут Время изменения.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2