Автор Тема: Несколько устройств на одной линии  (Прочитано 12562 раз)

Оффлайн h71

  • Newbie
  • *
  • Сообщений: 3
    • Просмотр профиля
Добрый день, прошу помочь разобраться в проблеме.
Имеется проект на Скаде, собирающий данные с датчиков температуры ПВТ100 (8 шт) и 2 приборов OMIX P99 (параметры электропитания)
Всего порядка 80 тэгов. Все это подключено по TCP Modbus на одну линию RS-485. Все устройства по отдельности прекрасно опрашиваются, качество связи без вопросов.
Проблемы появляются, когда пытаюсь запустить опрос всех устройств на линии. Частоту опроса и прочие параметры связи как только не менял, итог один:
Почти сразу начинаются перебои, ошибки и т.д. Иногда работает в течении несколький минут, потом опять часть тегов или все не читаются или устройства перестают отвечать.
Частота опроса для всех 10 сек, скорость обмена 9600
Теперь самое интересное: поставил OPC Lectus, все работает без сбоев. В настройках у Лектуса есть один параметр, аналога которому я не нашел в arOPC: вместе с периодом опроса можно еще задать начальную фазу, т.е например для 1-го устройства делаем опрос 10 сек + начальная фаза 0 сек, для второго 10 сек + 1 сек и т.д. Т.е. разносим опрос по времени, чтобы устройства гарантированно друг другу не мешали.
Пример логов из Лектуса:

12:18:56.005 [2760] (192.168.0.12:502) Tx:[12] 10 97 00 00 00 06 16 03 01 02 00 02
12:18:56.046 [2760] (192.168.0.12:502) Rx:[13] 10 97 00 00 00 07 16 03 04 00 24 27 10
12:18:57.004 [2760] (192.168.0.12:502) Tx:[12] 10 98 00 00 00 06 17 03 01 02 00 02
12:18:57.047 [2760] (192.168.0.12:502) Rx:[13] 10 98 00 00 00 07 17 03 04 F7 31 21 6F
12:18:58.005 [2760] (192.168.0.12:502) Tx:[12] 10 99 00 00 00 06 02 03 00 47 00 06
12:18:58.046 [2760] (192.168.0.12:502) Rx:[21] 10 99 00 00 00 0F 02 03 0C 4D 3C 74 E4 44 7B C0 00 4C A8 66 CA
12:18:59.003 [2760] (192.168.0.12:502) Tx:[12] 10 9A 00 00 00 06 03 03 00 47 00 06
12:18:59.045 [2760] (192.168.0.12:502) Rx:[21] 10 9A 00 00 00 0F 03 03 0C 4C ED 63 4F 00 00 00 00 4C E0 E1 D2
12:19:00.004 [2760] (192.168.0.12:502) Tx:[12] 10 9B 00 00 00 06 02 03 00 25 00 1A
12:19:00.105 [2760] (192.168.0.12:502) Rx:[61] 10 9B 00 00 00 37 02 03 34 09 39 09 27 09 17 0F E9 0F CC 0F DB 11 13 13 35 12 4B 03 B2 04 3D 03 F7 0B E6 01 C3 01 BB 01 BE 05 3D 03 85 03 9D 03 95 03 95 04 19 04 95 04 55 0D 22 13 86
12:19:01.004 [2760] (192.168.0.12:502) Tx:[12] 10 9C 00 00 00 06 03 03 00 25 00 1A
12:19:01.104 [2760] (192.168.0.12:502) Rx:[61] 10 9C 00 00 00 37 03 03 34 09 5B 09 61 09 5C 10 39 10 3A 10 35 08 FA 09 66 09 27 01 AB 01 C8 01 B0 05 25 01 5B 01 62 01 65 04 22 03 09 03 15 03 02 03 0B 02 27 02 40 02 32 06 99 13 86

Лог из arOPC:

23.11.2018 12:20:43.321 - (SEND - 12): 17 00 00 00 00 06 02 03 00 25 00 1A
23.11.2018 12:20:34.887 - (SEND - 12): 16 00 00 00 00 06 02 03 00 47 00 08
23.11.2018 12:20:34.370 - (SEND - 12): 16 00 00 00 00 06 02 03 00 47 00 08
23.11.2018 12:20:33.850 - (SEND - 12): 16 00 00 00 00 06 02 03 00 47 00 08
23.11.2018 12:20:33.332 - (SEND - 12): 16 00 00 00 00 06 02 03 00 47 00 08
23.11.2018 12:20:32.802 - (SEND - 12): 15 00 00 00 00 06 02 03 00 25 00 1A
23.11.2018 12:20:32.294 - (SEND - 12): 15 00 00 00 00 06 02 03 00 25 00 1A
23.11.2018 12:20:31.863 - (REC - 61): 09 00 00 00 00 37 03 03 34 09 55 09 60 09 5B 10 33 10 38 10 2F 08 EB 09 3F 09 24 01 A7 01 BB 01 B1 05 15 01 56 01 62 01 65 04 1D 03 09 03 0D 03 03 03 09 02 21 02 38 02 31 06 89 13 85
23.11.2018 12:20:31.771 - (SEND - 12): 15 00 00 00 00 06 02 03 00 25 00 1A
23.11.2018 12:20:31.755 - (REC - 9): 0A 00 00 00 00 03 02 83 0B
23.11.2018 12:20:31.726 - (SEND - 12): 14 00 00 00 00 06 17 03 01 02 00 02
23.11.2018 12:20:31.226 - (SEND - 12): 13 00 00 00 00 06 16 03 01 02 00 02
23.11.2018 12:20:30.725 - (SEND - 12): 12 00 00 00 00 06 15 03 01 02 00 02
23.11.2018 12:20:30.226 - (SEND - 12): 11 00 00 00 00 06 14 03 01 02 00 02
23.11.2018 12:20:29.726 - (SEND - 12): 10 00 00 00 00 06 13 03 01 02 00 02
23.11.2018 12:20:29.226 - (SEND - 12): 15 00 00 00 00 06 02 03 00 25 00 1A
23.11.2018 12:20:28.725 - (SEND - 12): 0F 00 00 00 00 06 12 03 01 02 00 02
23.11.2018 12:20:28.226 - (SEND - 12): 0E 00 00 00 00 06 11 03 01 02 00 02
23.11.2018 12:20:27.726 - (SEND - 12): 0D 00 00 00 00 06 10 03 01 02 00

Как видим, Лектус читает на ура, arOPC еле еле иногда чтото удается прочитать.
Есть идеи, как это победить? Спасибо

Оффлайн Айрат

  • Administrator
  • Sr. Member
  • *****
  • Сообщений: 324
    • Просмотр профиля
Re: Несколько устройств на одной линии
« Ответ #1 : 23.11.2018, 14:28:36 pm »
Здравствуйте.

У вас для каждого устройства свой канал связи в OPC сервере заведён?
Можно на конфигурацию посмотреть?

Айрат

Оффлайн h71

  • Newbie
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Несколько устройств на одной линии
« Ответ #2 : 23.11.2018, 14:57:32 pm »
Нет, канал один. Нужно на каждое устройство делать отдельный канал? Попробую
Конфигурация в файле

Оффлайн Айрат

  • Administrator
  • Sr. Member
  • *****
  • Сообщений: 324
    • Просмотр профиля
Re: Несколько устройств на одной линии
« Ответ #3 : 23.11.2018, 15:23:38 pm »
Нет, не надо, всё должно по одному каналу работать.
Пришлите пожалуйста логи OPC сервера, что в папке logs рядом с exe фалом.
Желательно включить в логи обмен с устройством, пункт меню "Работа - Настройки", на вкладке "Логи" выставить галочку "Сохранять в протокол обмен с устройствами".
Перед запуск OPC сервера удалить всё содержимое папки logs.

Айрат

Оффлайн h71

  • Newbie
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Несколько устройств на одной линии
« Ответ #4 : 23.11.2018, 15:54:32 pm »
Сейчас запустил arOPC на несколько минут, дольше не могу - система на рабочем сервере
Лог в файле

Оффлайн Айрат

  • Administrator
  • Sr. Member
  • *****
  • Сообщений: 324
    • Просмотр профиля
Re: Несколько устройств на одной линии
« Ответ #5 : 23.11.2018, 16:30:13 pm »
Проблемы начинаются при попытке опроса устройства OMIX_7.

Обратил внимание что пакеты от Lectus и от arOPC отличаются.

Lectus:
12:18:58.005 [2760] (192.168.0.12:502) Tx:[12] 10 99 00 00 00 06 02 03 00 47 00 06

arOPC:
23.11.2018 16:42:58.171 - 192.168.0.12:502 (SEND - 12): 08 00 00 00 00 06 02 03 00 47 00 08

arOPC запрашивает на два регистра больше, устройство точно может такой пакет обработать?
Попробуйте из конфигурации удалить тег EQN и в настройках размер блока опроса уменьшить, что произойдёт?

Ещё в логах есть запись:
23.11.2018 16:45:20.329 - Количество байт в канале Канал №1 превышает размер приемного буфера. Принятых байт = 196608, байт в буфере = 22
Это или Modbus шлюз, или устройство по 486, непрерывно шлёт данные.

Айрат