PDA

Просмотр полной версии : ПР103 данные по RS-485



Brandon_heat_dre
05.03.2023, 15:52
Уважаемые форумчане, вот такой возник вопрос. Убил кучу времени не могу понять в чем проблема. Есть датчики ДВТ-03.RS по модбасу отдают влажность и температуру. самые обычные ничего в них примечательного нет. подключаю эти датчики к собственному конфигуратору все отлично, далее поключаю их к ОВЕН opc все отлично. Подключаю их к ПР103 с теми же самыми настройками . пытаюсь вычитать папарметры с плавающей точкой и получаю какое то числов в экспоненте какой то. какие только настройки не прововал. и задним байтом вперед и регистром назад . бестолку. подскажите что такое может быть . Скрины с настройками приклыдваю.663216632166322663236632466325

Brandon_heat_dre
05.03.2023, 15:53
Единственно на что еще обратил внимание, работает опц если поставить галочку "читать каждый тег отдельно"

Sergej_
05.03.2023, 16:10
Температура адрес 34, отн.вл. 22. Поставите галку "старшим рег. вперед" и не ставить "ст. байтом вперед" по крайней мере на ПР200 работает именно так

Brandon_heat_dre
05.03.2023, 16:17
Сергей, к сожалению все тоже самое.

Sergej_
05.03.2023, 16:19
У Вас адрес 24

Brandon_heat_dre
05.03.2023, 16:23
да я уже поменя:) 34 ставил и 22, там они в датчике в 16чной. сейчас стоит 34 и 22 и такая же ситуация.

kondor3000
05.03.2023, 16:28
да я уже поменя:) 34 ставил и 22, там они в датчике в 16чной. сейчас стоит 34 и 22 и такая же ситуация.

Если неправильное отображение, то есть 4 варианта, снять / поставить галку перестановка байт, 66326
снять /поставить галку перестановка регистров. Смотри скрин

Sergej_
05.03.2023, 16:29
Я Вам с рабочего проекта привел, точно такой датчик, разница лишь в том что для ПР200. По хорошему не должно быть разницы, хотя....

Brandon_heat_dre
05.03.2023, 17:23
А что у вас за блок такой arrWtoReal то что он массив собирает в флот число это понятно, а где такой взять? это ваш самописный?

Sergej_
05.03.2023, 17:35
А что у вас за блок такой arrWtoReal то что он массив собирает в флот число это понятно, а где такой взять? это ваш самописный?

из двух 16 разрядных сделайте 32 разряда и преобразуйте во флоат.

kondor3000
05.03.2023, 17:37
А что у вас за блок такой arrWtoReal то что он массив собирает в флот число это понятно, а где такой взять? это ваш самописный?

Это не мой, пример выкладывал capzap в одной из тем

kondor3000
05.03.2023, 17:52
из двух 16 разрядных сделайте 32 разряда и преобразуйте во флоат.

Так не получится, см. скрин 66329

Brandon_heat_dre
05.03.2023, 19:28
Сергей. если подскажете как это можно сделать буду очень признателен . Хотя бы какими функциями, в общих чертах посмотрел инструкуцию по овен лоджику. чего то подходящего в штатных функциях не нашел.

Brandon_heat_dre
05.03.2023, 19:29
kondor3000 , хочу как раз попробовать но не вижу такого функционального блока что бы слепить в единый буффер два числа.

Brandon_heat_dre
05.03.2023, 19:33
аааа извиняюсь там файлик прикреплен

Brandon_heat_dre
05.03.2023, 19:38
Так ну с функциональным блоком из примера на статичных числах объеденив которые получается извесный результат получилось. завтра попробую уже на живом примере.

Sergej_
06.03.2023, 06:24
Так не получится, см. скрин 66329

Да, очень интересно, по сути нужно передать и принять два двухбайтных регистра, вариации могут быть только с порядком чередования , всего 4. И все. У меня почему-то не открывается приложенный Вами файл. Версия ОЛ более старая наверное. Если можно скрин взглянуть .

kondor3000
06.03.2023, 09:10
Да, очень интересно, по сути нужно передать и принять два двухбайтных регистра, вариации могут быть только с порядком чередования , всего 4. И все. У меня почему-то не открывается приложенный Вами файл. Версия ОЛ более старая наверное. Если можно скрин взглянуть .

Файл в последней версии (owl) 1.23.301, далее все версии идут (owle). Функция arrWToReal на скрине 66339

Sergej_
06.03.2023, 09:45
Файл в последней версии (owl) 1.23.301, далее все версии идут (owle). Функция arrWToReal на скрине 66339

Спасибо, понял свою ошибку. Одно не ясно, почему у автора вопроса не выходит прочитать. Формат записи и чтения одинаков. Нужно перенести в том же порядке 32бита и все.

kondor3000
06.03.2023, 09:51
Спасибо, понял свою ошибку. Одно не ясно, почему у автора вопроса не выходит прочитать. Формат записи и чтения одинаков. Нужно перенести в том же порядке 32бита и все.

Пока не знаю, выложил бы проект, было бы намного быстрее)

Sergej_
06.03.2023, 09:57
У меня несколько таких датчиков работают. Все читается, первый когда подключал, пришлось пару вариантов перебрать , не без этого, но вариантов то , как уже сказано не много.

kondor3000
06.03.2023, 10:12
У меня несколько таких датчиков работают. Все читается, первый когда подключал, пришлось пару вариантов перебрать , не без этого, но вариантов то , как уже сказано не много.

Судя по настройкам OPC сервера, обе галки надо снять и всё.

Brandon_heat_dre
06.03.2023, 11:49
Ребят, я понимаю что все должно быть просто, но я реально уже перепробовал все варианты , и снимал галки и ставил. и все должно быть в порядке, 22 и 34 регистры команда чтения 04 , что еще время опроса и прочее 1000мс. у меня вот щас конкретно 22 регистр как бы я не ставил галки каким бы байтов вперед , в числе всегда есть - , а реальная температура по опс серверу 23 градуса. не знаю куда еще копать.

Brandon_heat_dre
06.03.2023, 11:50
Сами датчики работают . к ним вообще вопрос нет, и со своей программы, и с опц сервера, и с плк150 например все читается прекрасно. настройки одни и те же

Sergej_
06.03.2023, 12:29
А если попробовать считать целым с 22 регистра, и с 23 , а затем с помощью программы выложенной выше преобразовать.? Ну ради истины.
По крайней мере понятно будет, в чем проблема.

capzap
06.03.2023, 12:47
А если попробовать считать целым с 22 регистра, и с 23

так то в начале темы поднимался вопрос, что по документации это регистры 0х22 и 0х24 и ни кто не требует показать конфигурацию с действительными регистрами 34 и 36
ТС досих пор пытается найти свои данные в пустоте
у меня вот щас конкретно 22 регистр как бы я не ставил галки каким бы байтов вперед

Sergej_
06.03.2023, 13:03
так то в начале темы поднимался вопрос, что по документации это регистры 0х22 и 0х24 и ни кто не требует показать конфигурацию с действительными регистрами 34 и 36
ТС досих пор пытается найти свои данные в пустоте

В 22dec отн.влажность. С этим все нормально, это на скриншоте в первом посту ошибка. Я приводил прям рабочие. 22 и 34 dec , в 36 темп. точки росы

Brandon_heat_dre
06.03.2023, 17:33
все разобрался, проще прощения , я был невнимателен, когда уже в запаре проводил все возможные тесты. пропустил что когда выставляешь и регистром в другую сторону и байтом то там прилетает не отрицательное число, а дальше его во флот с 1 знаком после запятой . и все работает. Спасибо все кто откликнулся.