Здравствуйте! Подскажите как быть в следующей ситуации. Имеется контроллер ADAM-5510 TCP. Этот контроллер опрашивает 4-е устройства по 485-му интерфейсу, ну и сам еще делает кое какую работу . Для связи с верхним уровнем используется OPC сервер на контроллере и OPC сервер + OPC клиент на ПК. Дело вот в чем. Опрос этих 4-х устройств сводит на нет все производительность ADAMa. В связи с чем OPC сервер на контроллере работает как черепаха. И из за этого возникают неудобства у оператора на ПК, который хочет изменить какой либо тэг. Он посылает запрос на сервер и система просто ждет... пока сервер на ADAMe обработает этот запрос. Все что я придумал это опрашивать утсройства через определенный интервал времени. Т.е. не в каждом цикле работы программы. Но все равно, производительность меня не устраивает. Кто сталкивался с такой ситуацией. Подскажите как Вы ее решили.
P.S. Еще вопрос. И так наверное будет с любым контроллером. Это же не зависит от его скорости... Так как же поступают в данной ситуации умные мира сего?
Подозреваю, что умные не злоупотребляют количеством ОРС-серверов и тем более не отягощают ими внутренности контроллеров.
Первоначально опубликовано SIBER
Подозреваю, что умные не злоупотребляют количеством ОРС-серверов и тем более не отягощают ими внутренности контроллеров.
Может кто-то по другому думает?
Первоначально опубликовано SIBER
Подозреваю, что умные не злоупотребляют количеством ОРС-серверов и тем более не отягощают ими внутренности контроллеров.
А как бы поступили умные в таком случае?
Сергей
Не скрою, ну очень приятно отвечать за умных.
В ситуации, когда верхний уровень обязательно должен поизводить опрос контроллера по ОРС необходимо, учитывая ресурсы контроллера, разработать приложение (здесь, например, на С используя имеющиеся библиотеки), опрашивающее внешние (подключенные к контроллеру по последовательным коммуникациям) устройства + модули, установленные в слотах, производящее предварительную обработку этих данных и реализующее протокол обмена с верхним уровнем, например ModBus/TCP...
Если не зацикливаться на ОРС, то можно рассмотреть вариант установки в контроллер runtime от SCADA, имеющей поддержку (программирование) подобных контроллеров. Здесь без напримеров, дабы не усугублять .
Я вот что подумал. А как опрашиваются удаленные контроллеры по RS-485? Если с использованием финкций из библиотек, поставляемых с ADAM-5510, то там могут быть тормоза, так как 5510 будет ждать ответа или тайм-аута, на что теряется время. Сказать что библиотеки последовательных портов работают на прием символов по прерываниям определенно нельзя. Я бы попробовал написать свою программу опроса модулей с использованием прерываний по приему из порта.
Да, от таймаутов никуда не деться - лежат в природе такого рода обмена. А написание обработчика прерываний по последовательному порту в обсуждаемой конфигурации возможно, конечно. Однако, применение тех или иных средств (и взаимодействия между ними) нужно соотносить с динамикой контролируемых процессов априори.
Первоначально опубликовано SIBER
Да, от таймаутов никуда не деться - лежат в природе такого рода обмена. А написание обработчика прерываний по последовательному порту в обсуждаемой конфигурации возможно, конечно. Однако, применение тех или иных средств (и взаимодействия между ними) нужно соотносить с динамикой контролируемых процессов априори.
априори согласен. Приятно беседовать с умными , если сам не дурак.
Так все же. Как у других? Я имею ввиду опрос устройств по последовательному интерфейсу. Как справиться с потерей производительности. А если устройств штук 10-20... Может кто сталкивался с таким (как же без этого)? Еще интересует вопрос как остро этот вопрос стоит при программировании PLC (не PC совместимых) на тех. языках (FBD, LD, ST, IL)?
Подскажите как определить конец посылки в протоколе Modbus RTU?
Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме