DrvOPCClassicJP

Просмотр 15 сообщений - с 16 по 30 (из 38 всего)
  • Автор
    Сообщения
  • #28503
    Mikhail
    Модератор

    Наверное, OPC-сервер проверяет стоимость приложения и отдаёт данные в порядке приоритета 🙂
    На самом деле, странно конечно. Если другое приложение выключить, то ответ не становится быстрее?

    #28504
    Mikhail
    Модератор

    Если я правильно понимаю, то в этом топике под асинхронным чтением понимается ожидание данных по подписке, а синхронное — чтение в режиме запрос-ответ. То есть не важно, используются ли какие-то асинхронные команды на уровне языка C#.
    Есть ли инструменты, чтобы посмотреть трафик между OPC клиентом и сервером?

    #28511
    JurasskPark
    Участник

    Из интересного.
    Взял старый OPCClient 2011 года…
    На нём синхронное чтение произошло за 30 секунд.
    Уже прогресс…
    Почему-то мне кажется, что исходники выложили неспроста… Типо часть функционала работает, а часть нет. Поэтому не страшно.

    Мне кажется просто вещь банальная… Раз ты не знаешь, как и что в какой-то последовательности вызывать… То нихрена не поймешь.

    Я просто подумал что в источниках что я взял… Просто это не реализовано ???????????

    P.S. Ваши вопросы и сообщения видел… Не знаю, что пока ответить.
    Пока ради интереса попробую другие клиенты. Если такая же лажа… Значит будет опрос 1 раз в минуту. И забью. ?
    P.P.S. это именно что касается удаленного с Windows 2019.
    На 2008R2 проверю какая скорость и отпишусь.

    #28515
    JurasskPark
    Участник

    УРААААААААААААААААААААА!!!
    ПОБЕДИЛ!!!

    Дело было в кривых ручках и не желание курить мануалы. Шутка.

    1. Проблема была в оптимизации.
    В первых роликах я делал на основе кода рпзрпботчиков. Потом лишнее стал удалять, оптимизировать. До оптимизировался.
    2. Группа. В начале я ее создавал, а потом подумал, а зачем группа еслм нет подписки. И для синхронного чтения её не было.
    3. В странно логике от самих разработчиков.
    Есть теги. Есть теги без значения. Есть теги со значением.
    Я передавал теги и получал теги со значением. А у разработчика не так.
    Создал теги. Создай группу. В группу добавь теги и получишь теги без значения. И вот их читай!!!
    А в функции Read написано передать теги, а то что она хавает и тег без значения кто ж знал!

    Ура товарищи!

    #28520
    Mikhail
    Модератор

    Создал теги. Создай группу. В группу добавь теги и получишь теги без значения.

    Поздравляю!
    Прийти к этому с помощью логического мышления, по-моему, невозможно. Только методом упорных экспериментов. Возможно, данная проблема не проявилась бы на другом OPC-сервере, т.к. кто знает, что в этом конкретном OPC-сервере внутри.

    #28558
    JurasskPark
    Участник

    Короче… Мы строили, строили… И устали.)

    Долго бился пока смог понять что и как…

    Из текущих проблем.
    При перезапуске коммуникатора, канал через dll во время создания клиента, умудряется увидеть свойства другого канала…
    Пока думаю, что еще из 100500 условий channelhandle OPC DA нужно делать.
    Пока думаю ему давать номер девайса…

    #28560
    JurasskPark
    Участник

    Действительно…
    Система правильно показывает и указывает, что за файл считала и с какими настройками, а вот при создании клиента получает чужие и продолжает с ними работать… ?
    Понятно, что типо защиту поставить… Но первый раз такой вижу 🙂

    #28564
    Mikhail
    Модератор

    При перезапуске коммуникатора, канал через dll во время создания клиента, умудряется увидеть свойства другого канала…

    Нужно изучать подробности.

    #28568
    JurasskPark
    Участник

    Нужно изучать подробности.

    https://www.youtube.com/watch?v=7EI5r-bVltU
    Дома тоже самое.
    Я сначала создаю клиенты и добавляю в list, а потом через for их читаю.
    Хотел, чтобы несколько OPC серверов можно было добавлять.

    Пока думаю, что упростить драйвер до 1 устройства и точка. 🙂
    Убрать все деревья и посмотреть что будет.

    #28569
    manjey73
    Участник

    а не может библиотека подхватывать до сих пор открытого клиента?
    Может в Терминат линии добавить закрытие всех клиентов?

    #28571
    JurasskPark
    Участник

    Короче…
    Я в шоке…
    В логах добавил все все параметры.
    Имя драйвер генерирует правильно, я его отправляю в Project.Load, а вот эта уже сволочь (прошу прощения) возвращается настройки из другого конфигурации…
    Ищу чего там нахимичил.

    #28572
    JurasskPark
    Участник

    Ещё раз… После перезапуска (Перезапустить Линию) — он читает правильный конфиг, а когда стартует коммуникатор чужой…

    #28574
    JurasskPark
    Участник

    Удалил конфигурацию. Снова добавил.
    Такая же проблема.
    Только Перезапустить линию помогает корректно считать конфигурацию.

    #28576
    JurasskPark
    Участник

    Сейчас обнаружил (^__^) что у меня переменные публичные и сам проект. И список клиентов тоже. Перевёл их в private. Сейчас закончится часовня, заменяю библиотеку и смотрю что будет.

    #28577
    JurasskPark
    Участник

    Не помогло! ???

Просмотр 15 сообщений - с 16 по 30 (из 38 всего)
  • Вы должны авторизироваться для ответа в этой теме.