Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Ошибка "Bad device failure limit ok" в arOPC  (Прочитано 191193 раз)

Srzen

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: Ошибка "Bad device failure limit ok" в arOPC
« Ответ #15 : 15 Апреля 2025, 09:54:25 »
Добрый день,

Наблюдаю странное поведение устройств в arOPC сервере. Иногда появляются какие-то значения, пишет Good Limit ok и опять теряется. Эти значения какието относительные, требуют пересчета в реальные единицы или это ошибочные... В логах все по старому.

Srzen

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: Ошибка "Bad device failure limit ok" в arOPC
« Ответ #16 : 15 Апреля 2025, 10:10:35 »
Я действительно подключал к М15 и М16, М3 не пробовал. Вроде это для группового подключения нескольких компрессоров?

arOPC

  • Модератор
  • *****
  • Сообщений: 249
  • За словом дело, за делом результат
    • Просмотр профиля
    • ardsoft
Re: Ошибка "Bad device failure limit ok" в arOPC
« Ответ #17 : 15 Апреля 2025, 10:16:46 »
Добрый день.

Цитировать
Наблюдаю странное поведение устройств в arOPC сервере. Иногда появляются какие-то значения, пишет Good Limit ok и опять теряется. Эти значения какието относительные, требуют пересчета в реальные единицы или это ошибочные... В логах все по старому.
Пока наблюдается такая свистопляска, ничего нельзя сказать о получаемых данных. Сначала вам необходимо добиться того, что бы OPC сервер был один на линии мастером.
Как только будет стабильность, можно будет говорить о расшифровке данных.

Айрат


Srzen

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: Ошибка "Bad device failure limit ok" в arOPC
« Ответ #18 : 22 Апреля 2025, 12:05:49 »
Добрый день Айрат,

У меня получилось! Подключился ко второму порту RS 485 М3 (там нет данных от инвертора). На стандартных настройках скорости соединения и таймаутов все заработало.
Спасибо за помощь. У меня вопрос по извлечению данных из регистра. Когда на 1 адресе одна переменная все понятно, а когда на одном адресе 7 переменных (0х0001 in1, 0,0002 in2, 0,0003 in3 .... ). Как их извлечь? А особенно когда необходимо отдавать команду пуск\стоп (с записью в ячейки).

arOPC

  • Модератор
  • *****
  • Сообщений: 249
  • За словом дело, за делом результат
    • Просмотр профиля
    • ardsoft
Re: Ошибка "Bad device failure limit ok" в arOPC
« Ответ #19 : 22 Апреля 2025, 12:34:29 »
Добрый день.

Если я правильно понимаю, у вас в одном регистре упакован несколько дискретных переменных.
Если так, то заводите переменную типа Bool, выбираете команду чтения 0x03, указываете адрес регистра и через точку номер бита, т.е. 0.0, 0.1, 0.2 и т.д.
Если в эти же биты нужна запись, OPC сервер будет менять значения только того бита, который меняется.

Айрат

Srzen

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: Ошибка "Bad device failure limit ok" в arOPC
« Ответ #20 : 22 Апреля 2025, 13:23:35 »
А если в регистрах переменные не True, False, а меняющиеся значения (скорости, частоты, тока..)

arOPC

  • Модератор
  • *****
  • Сообщений: 249
  • За словом дело, за делом результат
    • Просмотр профиля
    • ardsoft
Re: Ошибка "Bad device failure limit ok" в arOPC
« Ответ #21 : 22 Апреля 2025, 13:52:24 »
Странная какая то упаковка, для аналоговых параметров.
Это получается в 16 битах 4 параметра сразу отображается.
Что то не то.

Айрат

Srzen

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: Ошибка "Bad device failure limit ok" в arOPC
« Ответ #22 : 22 Апреля 2025, 14:16:39 »
Так и дискретные значения тут упаковываются в Word..

arOPC

  • Модератор
  • *****
  • Сообщений: 249
  • За словом дело, за делом результат
    • Просмотр профиля
    • ardsoft
Re: Ошибка "Bad device failure limit ok" в arOPC
« Ответ #23 : 22 Апреля 2025, 14:21:27 »
Дискретные понятно, один бит - одно значение.
Но  для аналоговых мало будет 4 бита на один параметр. К примеру, частота может иметь всего 16 вариантов значений.
Не знаю какой, в вашем случае, диапазон, но если брать от 0 до 50, то получается, у вас измерения частоты будут проходить с дискретностью, примерно, 3 Гц.
Это действительно так?

Айрат

Srzen

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: Ошибка "Bad device failure limit ok" в arOPC
« Ответ #24 : 22 Апреля 2025, 14:26:12 »
Обычно частота стоит около 72 Гц

ZWolol

  • Пользователь
  • **
  • Сообщений: 58
    • Просмотр профиля
Re: Ошибка "Bad device failure limit ok" в arOPC
« Ответ #25 : 22 Апреля 2025, 20:34:15 »
Да вроде все понятно...

Регистр 0404 Word (16 бит) и расписано какой бит за что отвечает.

Регистр 0548 int (32 бит) для аналогово значения.
В нем может быть только одно значение, а какое задается в регистре 0547.

т.е. сначала нужно в регистр 0547 записать 1 (для Freq), а затем считать из регистра 0548 целое число частоту в герцах.
Модбас в регистрах хранит целые числа, поэтому нужно число поделить на 10 указанное количество раз в регистре 0549.

Аналогично и для остальных параметров 2,3,4

arOPC

  • Модератор
  • *****
  • Сообщений: 249
  • За словом дело, за делом результат
    • Просмотр профиля
    • ardsoft
Re: Ошибка "Bad device failure limit ok" в arOPC
« Ответ #26 : 22 Апреля 2025, 20:43:56 »
Регистр 0548 точно 32 разрядный?
По табличке непонятно.
Если это так, то у контроллера получается нестандартный Modbus, потому что в обычном Modbus, подсчет регистров был бы через 2, а в вашем случае, номера подряд идут.
Что то вроде Enron. Такой Modbus OPC сервером не поддерживается.

Айрат

ZWolol

  • Пользователь
  • **
  • Сообщений: 58
    • Просмотр профиля
Re: Ошибка "Bad device failure limit ok" в arOPC
« Ответ #27 : 22 Апреля 2025, 21:38:00 »
Я конечно не могу гарантировать это, но я еще ни разу не встречал 2х байтных int.

Для стандарта модбас нумерация регистров идет по два байта (word).
Значения, занимающие два регистра (int), нумеруются через один.

Однако я встречал один прибор у которого была нумерация в подряд для int.
Чтение двух регистров с 0548 даст значение одного int.
В этом случае параметры могут читаться только по одному, групповой запрос запрещен.
Это было указано в руководстве на прибор, а как в данном случае я не знаю.

Получить int значение из 0548 можно запросом 2х регистров
аналогично и для 0549 если только ОРС не объединит запрос в один.

Собственно 0549 можно и не читать, а жестко задать деление на нужное количество 10 знаков.
« Изменён: 22 Апреля 2025, 21:43:14 от ZWolol »

Nomad

  • Новичок
  • *
  • Сообщений: 27
    • Просмотр профиля
Re: Ошибка "Bad device failure limit ok" в arOPC
« Ответ #28 : 23 Апреля 2025, 10:25:46 »
В регистре 0547 задаёте параметр, в 0548 - читаете его.
Колонка 4 скорее всего имеет заглавие что-то типа - кол-во байт.

Srzen

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: Ошибка "Bad device failure limit ok" в arOPC
« Ответ #29 : 24 Апреля 2025, 10:20:26 »
Заголовок таблицы такой. По ячейкам 547 и 548 ответы такие...