Просмотр полной версии : ПР103 данные по RS-485
Brandon_heat_dre
05.03.2023, 15:52
Уважаемые форумчане, вот такой возник вопрос. Убил кучу времени не могу понять в чем проблема. Есть датчики ДВТ-03.RS по модбасу отдают влажность и температуру. самые обычные ничего в них примечательного нет. подключаю эти датчики к собственному конфигуратору все отлично, далее поключаю их к ОВЕН opc все отлично. Подключаю их к ПР103 с теми же самыми настройками . пытаюсь вычитать папарметры с плавающей точкой и получаю какое то числов в экспоненте какой то. какие только настройки не прововал. и задним байтом вперед и регистром назад . бестолку. подскажите что такое может быть . Скрины с настройками приклыдваю.663216632166322663236632466325
Brandon_heat_dre
05.03.2023, 15:53
Единственно на что еще обратил внимание, работает опц если поставить галочку "читать каждый тег отдельно"
Температура адрес 34, отн.вл. 22. Поставите галку "старшим рег. вперед" и не ставить "ст. байтом вперед" по крайней мере на ПР200 работает именно так
Brandon_heat_dre
05.03.2023, 16:17
Сергей, к сожалению все тоже самое.
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
снять /поставить галку перестановка регистров. Смотри скрин
Я Вам с рабочего проекта привел, точно такой датчик, разница лишь в том что для ПР200. По хорошему не должно быть разницы, хотя....
Brandon_heat_dre
05.03.2023, 17:23
А что у вас за блок такой arrWtoReal то что он массив собирает в флот число это понятно, а где такой взять? это ваш самописный?
А что у вас за блок такой 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
Так ну с функциональным блоком из примера на статичных числах объеденив которые получается извесный результат получилось. завтра попробую уже на живом примере.
Так не получится, см. скрин 66329
Да, очень интересно, по сути нужно передать и принять два двухбайтных регистра, вариации могут быть только с порядком чередования , всего 4. И все. У меня почему-то не открывается приложенный Вами файл. Версия ОЛ более старая наверное. Если можно скрин взглянуть .
kondor3000
06.03.2023, 09:10
Да, очень интересно, по сути нужно передать и принять два двухбайтных регистра, вариации могут быть только с порядком чередования , всего 4. И все. У меня почему-то не открывается приложенный Вами файл. Версия ОЛ более старая наверное. Если можно скрин взглянуть .
Файл в последней версии (owl) 1.23.301, далее все версии идут (owle). Функция arrWToReal на скрине 66339
Файл в последней версии (owl) 1.23.301, далее все версии идут (owle). Функция arrWToReal на скрине 66339
Спасибо, понял свою ошибку. Одно не ясно, почему у автора вопроса не выходит прочитать. Формат записи и чтения одинаков. Нужно перенести в том же порядке 32бита и все.
kondor3000
06.03.2023, 09:51
Спасибо, понял свою ошибку. Одно не ясно, почему у автора вопроса не выходит прочитать. Формат записи и чтения одинаков. Нужно перенести в том же порядке 32бита и все.
Пока не знаю, выложил бы проект, было бы намного быстрее)
У меня несколько таких датчиков работают. Все читается, первый когда подключал, пришлось пару вариантов перебрать , не без этого, но вариантов то , как уже сказано не много.
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 например все читается прекрасно. настройки одни и те же
А если попробовать считать целым с 22 регистра, и с 23 , а затем с помощью программы выложенной выше преобразовать.? Ну ради истины.
По крайней мере понятно будет, в чем проблема.
А если попробовать считать целым с 22 регистра, и с 23
так то в начале темы поднимался вопрос, что по документации это регистры 0х22 и 0х24 и ни кто не требует показать конфигурацию с действительными регистрами 34 и 36
ТС досих пор пытается найти свои данные в пустоте
у меня вот щас конкретно 22 регистр как бы я не ставил галки каким бы байтов вперед
так то в начале темы поднимался вопрос, что по документации это регистры 0х22 и 0х24 и ни кто не требует показать конфигурацию с действительными регистрами 34 и 36
ТС досих пор пытается найти свои данные в пустоте
В 22dec отн.влажность. С этим все нормально, это на скриншоте в первом посту ошибка. Я приводил прям рабочие. 22 и 34 dec , в 36 темп. точки росы
Brandon_heat_dre
06.03.2023, 17:33
все разобрался, проще прощения , я был невнимателен, когда уже в запаре проводил все возможные тесты. пропустил что когда выставляешь и регистром в другую сторону и байтом то там прилетает не отрицательное число, а дальше его во флот с 1 знаком после запятой . и все работает. Спасибо все кто откликнулся.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot