Страница 52 из 111 ПерваяПервая ... 242505152535462102 ... ПоследняяПоследняя
Показано с 511 по 520 из 1109

Тема: Modbus Universal MasterOPC Server новый OPC сервер от компании ИнСАТ

  1. #511

    По умолчанию

    Либо так, либо функцией server.ReadTagByNumber( ).
    Спасибо.

  2. #512

    По умолчанию

    Добрый день!
    Не могу найти информацию, по тому, сколько можно подключить клиентов к ОПС-серверу.
    Хочу попробовать такую схему:
    01.PNG

    Знаю, что правильнее было бы это реализовывать через OPC UA клиенты с помощью tunneler. Но интересует возможность такой работы по приведенной выше схемы

  3. #513

    По умолчанию

    Количество клиентов подключаемых к ОРС серверу не ограничено.
    Спасибо.

  4. #514

    По умолчанию

    Извиняюсь, на нашем форуме есть тема с вопросами по скриптам insat OPC? (не смог найти)

  5. #515

    По умолчанию

    Отдельные темы с конкретными вопросами есть.
    Видеопримеры по работе со скриптами тут:
    http://insat.ru/products/?category=2114
    Спасибо.

  6. #516

    По умолчанию

    Есть функции читающие количество тегов, а функции возвращающей false если хотя бы 1 тег имеет статус BAD?

  7. #517

    По умолчанию

    Такой функции нет.
    Спасибо.

  8. #518

    По умолчанию

    Добрый день !
    Есть счётчик ПСЧ и пара модбас устройств , линия связи только одна.
    Вариант1 - взять Modbus Universal MasterOPC Server реализовать протокол счётчика ПСЧ на скрипте.
    А есть ещё варианты ?
    вот есть Multi-Protocol MasterOPC Server с поддержкой драйвера счётчика ПСЧ, как-бы исхитриться и его задействовать...

  9. #519

    По умолчанию

    [QUOTE=Николай НВ;246930]
    Есть счётчик ПСЧ и пара модбас устройств , линия связи только одна.
    Вариант1 - взять Modbus Universal MasterOPC Server реализовать протокол счётчика ПСЧ на скрипте.
    А есть ещё варианты ?
    /QUOTE]
    Сделать две отдельных шины

    Цитата Сообщение от Николай НВ Посмотреть сообщение
    вот есть Multi-Protocol MasterOPC Server с поддержкой драйвера счётчика ПСЧ, как-бы исхитриться и его задействовать...
    Не получится. Когда добавляете порт он будет монопольно открыт одним драйвером, из того же скрипта в Multi-Protocol обратится не получится.
    Спасибо.

  10. #520

    По умолчанию Зависание скрипта.

    Описание объекта:
    Есть прибор с стандартным протоколом Modbus + счетчик с модбасоподобным протоколом (для его опороса был написан скрипт).
    Все это опрашивается через один GPRS модем.

    После запуска OPC все работает отлично.
    Спустя день (2 дня) происходит сбой скрипта опроса счетчика. При этом второй прибор опрашивается без проблем (прямые теги).

    Перезапуск OPC сервера решает проблему. Но спустя день ошибка повторяется.
    Реинициализация узла не помогает.

    Как перезапустить скрипт при ошибке без перезапуска программы?

    В скрипте в функции Get_Register() формируется запрос к счетчику, выполняется байтстаффинг массива запроса и отправляется в счетчик функцией server.SendAndReceiveDataByMask.

    Функция server.SendAndReceiveDataByMask возвращает ответ, производится байтстаффинг, проверка контрольной суммы, обработка результата и передача требуемой переменной.

    Скрипт работает, но после некоторого количества запросов прекращается получение данных от счетчика.

    При запросе 1 раз в секунду скрипт выдавал ошибку примерно через 20 часов работы, при запросе раз в минуту - около 3-х дней.

    При запуске скрипта происходит следующее:

    В локальный массив Array[] помещаются байты запроса, вычисляется контрольная сумма и выполняется байтстаффинг.

    Посылается запрос счетчику массива Array без вычисления контрольной суммы с предполагаемой длиной ответа до 80 байт.

    err,Otvet_0,Len_0=server.SendAndReceiveDataByMask( 0,Lenght,SendMask,Array,ReceiveMask,80);

    Эта функция возвращает в локальный массив Otvet_0[] ответ счетчика, который далее обрабатывается.

    В какой-то момент времени функция server.SendAndReceiveDataByMask не может передать данные переменной Otvet_0[] и генерирует ошибку.

    При этом идет полноценный обмен данными между сервером и счетчиком, в окне OPC сервера "Запросы" отображаются отправленные и принятые байты.

    Часто (раз в 100...150 запросов) появляется сообщение о неверной контрольной сумме, хотя все запросы и ответы одинаковы побайтно.

    Что может быть с переменными Otvet_0[] и Len_0(длина ответа) ???

    Они же локальные и должны инициализироваться заново при каждом запросе.
    Вложения Вложения
    Последний раз редактировалось Василий353; 01.06.2017 в 12:21.

Страница 52 из 111 ПерваяПервая ... 242505152535462102 ... ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •