OPC сервер

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
willzon
beginner
beginner
Сообщения: 26
Зарегистрирован: 29 июл 2008, 08:11
Версия LabVIEW: 11

Re: OPC сервер

Сообщение willzon »

Может кто сталкивался с такой проблемой: работаю с 3-мя приборами Овен через ОРС сервер, опрашиваются всего 18 каналов; на каждый прибор открываю-закрываю свой DataSocket. Работает какое-то время(разное, может сразу зависнуть), потом связь с сервером прекращается, :vi: зависает, причём сам ОРС сервер работает - опрос идёт, можно процесс обмена в мониторинге видеть, а связи с :labview: нет, :vi: висит мёртво. Приходится через диспетчер программ закрывать ОРС сервер, тогда :vi: просыпается и выдаёт ошибку. Момент зависания, возможно, связан с обращением пользователя к другим программам и загрузкой компа, а может и нет. Как с этим можно побороться?
Заранее спасибо.
Вложения
OWEN_МВ110-8А_проба.vi
Опрос приборов МВ110-8А, 8АС, МУ100-8Р
(33.73 КБ) 243 скачивания
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1327
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 38 раз
Контактная информация:

Re: OPC сервер

Сообщение AndreyDmitriev »

Возможно OPC сервер не справляется с нагрузкой. DataSocket в LabVIEW в этом смысле дурной - он создаёт отдельную группу для каждого соединения, и (с некоторой натяжкой) можно сказать, что с точки зрения сервера это эквивалентно в вашем случае двум десяткам клиентов, одновременно подключённых. Вообще не рекомендуется пользоваться DataSocket в случае большого количества соединений (но в вашем случае два десятка - это совсем немного, проблемы начинаются, когда счёт идёт на сотни). Когда LabVIEW зависает, вы можете из другого клиента до OPC сервера достучаться?

Можно попробовать воспользоваться функциями DataSocket из библиотеки %Program Files%\National Instruments\LabVIEW x.x\vi.lib\Platform\dataskt.llb:
OPC.png
OPC.png (6.21 КБ) 10596 просмотров
Там идеология абсолютно такая же, просто функции чуть иначе выглядят, и вот есть у меня подозрение, что они субъективно чуть более надёжны. В общем просто попробуйте.

Либо можно установить LabVIEW DSC - там в составе тулкита находится "честный" OPC клиент, который не вызывает перегрузку сервера и клиента при большом количестве соединений. С другой стороны использовать его для двух десятков OPC точек - это как из пушки по воробьям.
willzon
beginner
beginner
Сообщения: 26
Зарегистрирован: 29 июл 2008, 08:11
Версия LabVIEW: 11

Re: OPC сервер

Сообщение willzon »

Другого клиента у меня нет, т.к. :labview: зависает, то открыть ничего не могу. Могу сказать только, что сам ОРС сервер работает и обмен идёт только с другими приборами, прибор, в который нажно записывать опрашивается(видно по св.диоду на нём), но данные на ОРС сервер от него не поступают(судя по протоколу обмена ОРС сервера). И если убирать операции записи из :vi: , который я привёл в первом посте, то всё работает нормально. Пробовал запускать отдельным :vi: опрос и запись устройства - работает, но если при этом начать открывать другой :vi: - вешается. Какие-то проблемы с операцией записи.
Библиотеку dataskt.llb не смог попробовать, опыта работы с библиотеками нет, не смог вытащить оттуда нужные функции.
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1327
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 38 раз
Контактная информация:

Re: OPC сервер

Сообщение AndreyDmitriev »

Другой клиент желательно иметь под рукой, когда вы работаете с OPC сервером. Обычно поставщик сервера даёт и клиента для просмотра значений. Например, в случае с Siemens это OPC Scout. Вы можете воспользоваться Server Explorer от NI. Это довольно старенькая штука, но свою работу делает. Когда LabVIEW зависнет, запустите Server Explorer (там всё интуитивно понятно, надо подключиться к серверу, добавить группу, а затем добавить интересующие точки подключения к OPC) и проверьте, что вы можете читать и писать в OPC Server при "зависшем" приложении.

В библиотеке llb находятся самые обыкновенные VI, с точки зрения LabVIEW библиотека - это как бы папка. Щёлкаете правой кнопкой на блок диаграмме, затем выбираете Select VI..., затем выбираете llb библиотеку и увидите содержимое, ну и добавляете то, что вам надо.

Ещё момент - у вас чтение и запись происходит параллельно. Попробуйте сделать это последовательно - сначала чтение всех переменных, затем запись. Причём в циклы for недурственно вставить маленькие задержки Wait (ms) - это поможет немного разгрузить CPU.

Вообще странно, что это дело вешается при открытии другого VI. Кстати, если у вас сервер медленный (он случайно не к последовательному порту подключён?), и внутри функций DataSocket вы находитесь слишком долгое время, то зависания вполне объяснимы - функции DataSocket выполняются в UI потоке и блокируют его..
willzon
beginner
beginner
Сообщения: 26
Зарегистрирован: 29 июл 2008, 08:11
Версия LabVIEW: 11

Re: OPC сервер

Сообщение willzon »

Поставил DSC addon, посмотрел ОРС клиентом - при зависании связь с ОРС сервером есть. Связь с сервером теряет сам :vi: , т.к. опрос (чтение) приборов сервер продолжает производить, а запись уже не производит, т.к. команда на запись от :vi: не приходит, а чтение параметров он и без :vi: производит автоматом.

Пошаманил с временами - периодами опроса, поставил задержки, поставил выполнение всех операций последовательно, а всё равно не равномерно работает: я в каждом цикле меняю состояние реле - вкл-выкл, и затем считываю их(состояния); когда нет угрозы зависания( :vi: работает только с одним прибором), то щелчки реле цикличны, т.е. переключаются с жёстким ритмом, а когда подключаю все приборы для опроса - начинается разнобой со щелчками - то вместе включатся, то через небольшую паузу. Т.е. где-то на пути между :vi: и ОРС сервером какие-то задержки. Никак не пойму в чём дело.

И как правило к зависанию :vi: приводит такое действие: после запуска, переключаюсь на блок-схему :vi: и начинаю её двигать мышкой(левой кнопкой), процессор при этом сильно грузится(процентов на 50) и аут, т.е. :vi: теряет связь с ОРС сервером и постоянно находится в ожидании ответа, причём зависает именно на операции записи. Как бы там между :vi: и ОРС сервером како-нибудь буфер что-ли организовать?
Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 360
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Версия LabVIEW: 2015
Откуда: Москва
Поблагодарили: 4 раза
Контактная информация:

Re: OPC сервер

Сообщение Chupakabra »

Не читал, но осуждаю....
Ветку нет времени перечитывать, но хочу дать рекомендацию. Если в приборах есть modbus, то берите сторонний проверенный OPC сервер с поддержкой модбас, например kepware и пробуйте с ним.
Аватара пользователя
Vasiliy Baev

Activity Gold Bronze
leader
leader
Сообщения: 545
Зарегистрирован: 31 окт 2011, 09:02
Награды: 4
Версия LabVIEW: 2019
Откуда: Санкт-Петербург
Благодарил (а): 8 раз
Поблагодарили: 10 раз
Контактная информация:

Re: OPC сервер

Сообщение Vasiliy Baev »

willzon, если Вы поставили DSC, то почему не воспользуетесь всеми его преимуществами?
Вместо DS добавьте в проект OPC-client и посмотрите что получиться.
Вложения
Connect LabVIEW to Any PLC Using OPC - Developer Zone - National Instruments.pdf
(2.54 МБ) 391 скачивание
willzon
beginner
beginner
Сообщения: 26
Зарегистрирован: 29 июл 2008, 08:11
Версия LabVIEW: 11

Re: OPC сервер

Сообщение willzon »

Vasa писал(а):willzon, если Вы поставили DSC, то почему не воспользуетесь всеми его преимуществами?
Вместо DS добавьте в проект OPC-client и посмотрите что получиться.
А ничего не получается: с симуляторными объектами сервера работает, а выбираешь сервер ОВЕН - на этапе создания всё находится, все параметры видны, а когда запускаю :vi: - ничего, ОРС сервер Овена не запускается, соответственно, опрос модулей не ведётся и данные не идут.
Запускаю OPC Quick Client из окна DSC сервера - и сервер Овен запускается, опрос идёт(но к :vi: это отношения не имеет). Что я делаю не так?
Аватара пользователя
Vasiliy Baev

Activity Gold Bronze
leader
leader
Сообщения: 545
Зарегистрирован: 31 окт 2011, 09:02
Награды: 4
Версия LabVIEW: 2019
Откуда: Санкт-Петербург
Благодарил (а): 8 раз
Поблагодарили: 10 раз
Контактная информация:

Re: OPC сервер

Сообщение Vasiliy Baev »

Запускаю OPC Quick Client из окна DSC сервера - и сервер Овен запускается, опрос идёт.
Недавно помогал коллеги с настройкой OPC, ситуация была аналогична, описанной выше, помогла установка и настройка DCOM.
http://www.labviewportal.org/viewtopic. ... C&start=15
В настройках OPC клиента в проекте :labview: включите логи ошибок и посмотрите что происходит.
Аватара пользователя
Aleksey Feoktistov

Activity Gold Silver Black
leader
leader
Сообщения: 898
Зарегистрирован: 20 янв 2009, 00:15
Награды: 6
Версия LabVIEW: 2015
Откуда: Tyumen
Поблагодарили: 2 раза
Контактная информация:

Re: OPC сервер

Сообщение Aleksey Feoktistov »

willzon писал(а): А ничего не получается: с симуляторными объектами сервера работает, а выбираешь сервер ОВЕН - на этапе создания всё находится, все параметры видны, а когда запускаю :vi: - ничего, ОРС сервер Овена не запускается, соответственно, опрос модулей не ведётся и данные не идут.
Запускаю OPC Quick Client из окна DSC сервера - и сервер Овен запускается, опрос идёт(но к :vi: это отношения не имеет). Что я делаю не так?
Я тоже горя хапнул с этим OPC сервером бесплатным (для приборов ОВЕН).
Через OPC клиент LabVIEW опрос не идет (DCS модуль)
Потом решил сделать опрос через DataSocket и все удивительным образом заработало :crazy:
решение проблемы подключения LabVIEW к бесплатному OPC-серверу для работы с приборами ОВЕН
решение проблемы подключения LabVIEW к бесплатному OPC-серверу для работы с приборами ОВЕН
Аватара пользователя
Viktor

Activity Professionalism Tutorials Black
expert
expert
Сообщения: 1408
Зарегистрирован: 23 мар 2008, 10:56
Награды: 4
Версия LabVIEW: 2020
Откуда: Санкт-Петербург
Благодарил (а): 17 раз
Поблагодарили: 3 раза
Контактная информация:

Re: OPC сервер

Сообщение Viktor »

Я тоже горя хапнул с этим OPC сервером бесплатным (для приборов ОВЕН).
Через OPC клиент LabVIEW опрос не идет (DCS модуль)
Потом решил сделать опрос через DataSocket и все удивительным образом заработало :crazy:
Я работал с DCS модулем с Овеном :think: Не помню точно, как настраивал Process mode:
opc.png
но это помогло :super:
Не забывайте про настройку DCOM :rtfm:
Аватара пользователя
Aleksey Feoktistov

Activity Gold Silver Black
leader
leader
Сообщения: 898
Зарегистрирован: 20 янв 2009, 00:15
Награды: 6
Версия LabVIEW: 2015
Откуда: Tyumen
Поблагодарили: 2 раза
Контактная информация:

Re: OPC сервер

Сообщение Aleksey Feoktistov »

Да, проверил. Настройка DCOM полностью решила проблему связи OPC-клиента (LabVIEW) с OPC-сервером (OPC-сервер ОВЕН).
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Коммуникация с приборами»