Просмотр полной версии : Вопросы по передаче/приёму через ОВЕН
Коротенко
28.08.2008, 00:53
Создаю ПО в LabVIEW для работы с МВА8 по протоколу ОВЕН:)
А можно ли снимать оцифрованное число с АЦП в МВА8 вместо уже обработанного значения, допустим, той же самой температуры?
Коротенко
29.08.2008, 05:51
попробовал отправить запрос #HGHGONOKVKHN<CR>
HG - на 16 порт
H 1-й вход МВА,+ бит запроса
G - поле данных уровня представления пустое (МОЖЕТ ТАМ ЧТО_ТО ДОЛЖНО БЫТЬ?)
ONOK - HASH код команды rEAD (8784)
VKHN - crc
на приём пришло #HGGMONOKKHSONKRMUMQIOTNU<CR> которое гласит:
HG - с 16-го порта
G с 1-го входа МВА, без бита запроса
M - поле данных уровня представления содержит 6 байт (Т.Е. ВСЁ-ТАКИ Я ПРАВИЛЬНО ПОСЛАЛ ЗАПРОС, ВЕДЬ 4+2=ВЕЛИЧИНА+ВРЕМЯ)
ONOK - HASH код команды rEAD
KHSONKRMUMQI - данные из МВА
OTNU - crc
KHSONKRM - это величина тепературы, помогите её правильно дешифровать, должно быть около 23,... градусов
UMQI - относительное время измерения, делим на 100 и получаем время в секундах до сотых долей
подскажите перевод KHSONKRM в численное значение:eek:
KHSONKRM разбиваем на KH SO NK RM, первая пара - целое значение, вторая - дробное значение
K H , S O из посылки
0100 0001 , 1100 1000 BIN
4 1 , С 8 HEX
65 , 200 DEC
НУ В УПОР НЕ ВИЖУ ГДЕ ЗДЕСЬ ДВАДЦАТЬ С ЛИШНИМ ГРАДУСОВ :confused: :confused: :confused:
Температура передается в формате float, а не с фиксированной точкой.
Ваш ответ в ASCII "KH SO NK RM" содержит 4 байта "41 C8 74 B6", которые соответствуют температуре ~25.057 градусов.
прикрепляю пример перевода чисел на LabView
Коротенко
02.09.2008, 05:06
За программу большой сенкс, закинул к себе даже без обработки, всё классно!
Но есть ЕЩЁ проблема.
через конфигуратор настроил первый и четвёртый вход на датчик температуры, поставил два одинаковых, считывание температуры в конфигураторе и скаде идёт нормально с обоих датчиков,
через LabVIEW только с первого входа, с чётвёртого - НИЧЕГО, судя по поведению LabVIEW запрос уходит - А НАЗАД НИЧЕГО, как-будто в сети нет девайса на который идёт запрос
вот запрос на первый вход (пробелы - чисто условные и не привожу символов начала и конца) HG H G ONOK VKHN
вот запрос на четвёртый вход HG N G ONOK LPOP
разница в запросах только в третьем символе и CRC
H=000 1 - первый вход (индексация с нуля) + бит запроса
N=011 1 - четвёртый вход + бит запроса
попробовал поменять 8-битный адрес на 11-битный - не помогло
попробовал добавить номер входа в базовый адрес - не помогло
Мож я где-то ошибся, что-то упустил?
Для запроса температуры с 4 входа посылка должна выглядеть вот так #HJHGONOKRRHL.
Коротенко
03.09.2008, 00:52
#HJHGONOKRRHL.ТОЧНО!
уже под конец рабочего дня наконецто поставил СОМ PORT МОНИТОР и увидел это!
как оказалось у меня была путанница которую нельзя заметить при работе только с первым входом МВА
я считал что за номер входа отвечает "МЛ.часть аздеса узла сети", а оказалось что "номер входа нужно прибавлять к "СТ. части адреса узла сети" "
Филоненко Владислав
03.09.2008, 08:47
Не так. Просто адрес может быть 11 и 8 битным, у Вас 8 битный, и три младших байта не используются
Коротенко
05.09.2008, 12:01
Не так. Просто адрес может быть 11 тибитным и три младших байта не используются
а когда используются?
и в принципе для чего? ведь RS485 держит только 32 девайса:confused:
Филоненко Владислав
05.09.2008, 13:30
Бывают ещё и RS485 усилители
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot