Стартовая страница › Форумы › Понять, как работает ПО › Организация опроса ОРС сервера
- В этой теме 32 ответа, 6 участников, последнее обновление 3 года, 1 месяц назад сделано a80808.
-
АвторСообщения
-
09.04.2017 в 09:44 #5132aminifusУчастник
Добрый день! Прошу помочь организовать обмен данными с ОРС сервером Лектус. Лектус опрашивает больше 10 устройств (контроллеры и модули ввода-вывода). Каждому устройству соответствует отдельная группа тегов. Каким образом настроить коммуникатор? Различные линии связи с ОРС сервером на каждое устройство, либо различные КП на каждый прибор в одной линии связи, либо опрашивать все теги в одной линии и одном КП и обрабатывать их в скаде. Меня смущает, что скада создаёт на каждый КП отдельное подключение к ОРС серверу, не расходует ли это дополнительные ресурсы компа? А если приборов будет 100? Спасибо.
09.04.2017 в 13:23 #5133RomirosУчастникКак Вам удобнее, так и делайте. Для современных компов это не нагрузка. Стандарт OPC создавался в том числе для тысяч тегов.
- Этот ответ был изменен 7 лет назад от Romiros.
10.04.2017 в 10:07 #5163MikhailМодераторНа мой взгляд, оптимально для одного OPC сервера создавать в Rapid SCADA один КП. Однако, если с точки зрения удобства Вы создадите 100 КП для одного OPC-сервера, тоже нормально. В любом случае для одного OPC сервера используйте одну линию связи, чтобы не создавать лишних потоков в системе. И контролируйте загрузку процессора при разных вариантах.
10.04.2017 в 10:08 #5164MikhailМодераторRapid SCADA имеет собственную поддержку протокола Modbus, поэтому я бы рекомендовал вообще не использовать OPC сервер. Про настройку Модбас в Rapid SCADA есть и текстовая и видео-документация.
07.05.2017 в 22:07 #5771aminifusУчастникДобрый день! Спасибо за ответы.
Для одного ОРС сервера я использую одну линию связи. Меня еще интересует, как происходит обновление переменных: параллельно по всем КП одновременно или последовательно от меньшего номера к большему?
Я использую Lectus ОРС за возможность работы в качестве ТСР сервера. Т.е. клиенты подключаться к серверу через GPRS модемы в качестве ведомых устройств и ждут опроса. ОРС сервер работает в качестве мастера по протоколу Modbus ASCII через ТСР соединение.
К тому же использование ОРС сервера позволяет работать с несколькими клиентами.10.05.2017 в 09:24 #5780MikhailМодераторДобрый день!
Коммуникатор также поддерживает режим работы в качестве TCP-сервера. Но если нужно подключаться несколькими клиентами, то OPC полезен.
В данном случае обновление тегов происходит по мере их получения от OPC-сервера.13.03.2020 в 13:31 #15190SVSУчастникСтолкнулись с такой проблемой. В коммуникаторе настрое опрос OPC сервера. В процессе работы происходит пропадание связи с объектом на длительное время (пара часов), при этом количество сеансов связи в коммуникаторе не изменяется. После восстановления связи данные в коммуникаторе не обновляются, количество сеансов связи по-прежнему не меняется. Пробовали подключиться к OPC серверу другим клиентом, там все работает корректно, поступают актуальные данные. Подскажите в чем может быть дело.
13.03.2020 в 17:03 #15191MikhailМодераторВыложите журнал линии связи. OPC — это зло )
Помогает ли перезапуск службы Коммуникатора?14.03.2020 в 16:43 #15193SVSУчастникПомогает просто перезапуск линии связи. Проверили еще раз другим OPC клиентом такая же проблема. Возможно это особенность OPC сервера, если в момент запуска канала связи коммуникатора данные от контроллера поступают на OPC сервер все работает. Но если запустить линию связи, когда контроллер не подает данные в OPC сервер коммуникатор покажет, что данных нет-все корректно. После этого подключаем контроллер данные начинают поступать на OPC сервер, но коммуникатор их не получает. В журнале связи, нет новых подключений к OPC серверу, как будто нет измененных параметров, посоле перезапуска лини связи все работает. Возможно как то организовать автоматический перезапуск линии связи? Есть возможность определить вышел ли контроллер снова на связь и можно было бы после этого как то перезапустить линию.
16.03.2020 в 09:32 #15199MikhailМодераторВозможно это особенность OPC сервера
Скорее всего. Эту особенность лучше назвать ошибкой.
Возможно как то организовать автоматический перезапуск линии связи?
Чтобы перезапустить линию связи, необходимо записать команду в виде определённого файла в директорию C:\SCADA\ScadaComm\Cmd
Примеры команд.
Функцию для создания файла можно создать в таблице Формулы.16.03.2020 в 10:21 #15201a80808УчастникДобрый день!
«….Функцию для создания файла можно создать в таблице Формулы….»
А вот с этого места можно подробнее? Я как то пробовал (в 5.6) создавать файл через метод File.Create — получил в ответ «Метод не поддерживается»…16.03.2020 в 20:45 #15214MikhailМодераторДобрый день!
Класс нужно указывать вместе с namespace, т.к. System.IO не перечислено в using в C:\SCADA\ScadaServer\Log\CalcEngine.cs Сами методы нужно смотреть в документации .NET. Пример работы с файлом:public void WriteToLog(string s) { using (System.IO.StreamWriter writer = new System.IO.StreamWriterCalc(@"C:\SCADA\ScadaServer\Log\CalcEngine.log", true, Encoding.UTF8)) { writer.WriteLine(s); } }
28.02.2021 в 08:59 #18481SVSУчастникДобрый день!
Подскажите, как то можно настроить частоту опроса коммуникатором OPC сервера? Пробовал менять ‘пауза», «периода» и «паузу после цикла опроса». И судя по статистики линии время опроса не изменяется.28.02.2021 в 13:42 #18483RomirosУчастникКоммуникатор опрашивает opc сервер по команде самого сервера. Как только в сервере меняются данные идёт команда opc клиенту переопросить данный тег.
- Этот ответ был изменен 3 года, 1 месяц назад от Romiros.
01.03.2021 в 12:10 #18507MikhailМодераторДобрый день!
Драйвер OPC подписывается на получение данных от OPC-сервера. То есть частота их получения определяется самим OPC-сервером. Но при создании подписки есть параметры её обновления. Но по-моему они иногда работают, иногда нет — также зависит от реализации OPC-сервера.Сопутствующий вопрос, все ли готовы отказаться от классического OPC DA и перейти на OPC UA?
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.