Форум программистов, компьютерный форум, киберфорум
АСУ ТП, промэлектроника
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 43
1

Считать температуру из ТРМ251 по протоколу ОВЕН

12.09.2020, 08:28. Просмотров 984. Ответов 13
Метки нет (Все метки)

Здравствуйте, появилось желание написать программку для работы с ПИД-регулятором ОВЕН ТРМ251 (по сути программа должна только вкл/выкл и отображать температуру).
Из программ "Конфигуратор ТРМ251" запрашивал температуру и с помощью сниффера смотрел ответы. При запросе температуры приходят такие ответы (справа это реальная температура, которая отображается в "Конфигуратор ТРМ251"):

Код
23 48 47 47 4D 4F 4E 4F 4B 4B 48 52 47 50 50 51 56 54 4E 4E 4D 50 49 4C 51 0D     22.075

23 48 47 47 4D 4F 4E 4F 4B 4B 48 52 47 51 4C 52 4A 50 4D 55 47 53 48 4C 4B 0D     22.081
23 48 47 47 4D 4F 4E 4F 4B 4B 48 52 47 51 4C 52 4A 51 50 4D 55 50 47 4E 54 0D     22.081
23 48 47 47 4D 4F 4E 4F 4B 4B 48 52 47 51 4C 52 4A 52 56 52 51 56 56 48 49 0D     22.081

23 48 47 47 4D 4F 4E 4F 4B 4B 48 52 48 47 4B 54 4A 56 4C 4F 49 4B 54 51 54 0D     22.127
23 48 47 47 4D 4F 4E 4F 4B 4B 48 51 53 50 4B 52 55 4A 4C 55 4D 47 54 4A 48 0D     21.573
23 48 47 47 4D 4F 4E 4F 4B 4B 48 51 4A 48 4E 4F 56 4D 48 4C 53 56 4B 4F 48 0D     20.387
23 48 47 47 4D 4F 4E 4F 4B 4B 48 50 54 4B 48 54 53 4F 49 4C 4D 53 49 54 4F 0D     19.657
23 48 47 47 4D 4F 4E 4F 4B 4B 48 50 4E 4B 4C 52 4A 51 53 50 51 48 56 55 4D 0D     18.909
23 48 47 47 4D 4F 4E 4F 4B 4B 48 50 49 56 4F 48 4D 54 47 4A 47 4B 47 51 56 0D     18.371
Уже перечитал всю овенскую документацию по этому прибору, так и не могу понять с какими конкретно байтами работать чтобы получить эту гребаную температуру. Объясните, пожалуйста.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.09.2020, 08:28
Ответы с готовыми решениями:

Передача пакета по протоколу ОВЕН через СОМ порт
задача такая. Я должна сделать скаду-систему контоля микроклимата. Т.е. я как пользователь, задаю...

Считать из файла температуру и перевести ее из цельсия в фаренгейты
Судя по всему даже с файла не считывает, но задача такова: нужно считать с файла число с буквой...

Как программно считать температуру цп с датчика температуры?
Как программно считать температуру цп с датчика температуры?

С Яндекса считать погоду (только температуру) и вывести ее в текст бокс
Здравствуйте! Собственно задача состоит в том, чтобы с Яндекса считать погоду(только температуру) и...

13
Эксперт .NET
7032 / 4616 / 1102
Регистрация: 25.05.2015
Сообщений: 14,077
Записей в блоге: 14
12.09.2020, 08:36 2
Изучите протокол modbus. Разложите эти пакеты на составляющие: адрес, функция, контрольная сумма, данные регистров.
0
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 43
12.09.2020, 08:42  [ТС] 3
Rius, у Овна написано, что данные занимают от 0 до 15 байт, мне нужно 4(число с плавающей точкой), как мне их отыскать, плюсом они вроде как должны в обратном порядке расположены
0
Эксперт .NET
7032 / 4616 / 1102
Регистрация: 25.05.2015
Сообщений: 14,077
Записей в блоге: 14
12.09.2020, 09:16 4
Выполните, что сказано выше.
Надо знать, какие это регистры считаны и какие в каждом данные.

Добавлено через 15 минут
Пакеты MODBUS ASCII начинаются с двоеточия (0x3a), а у вас 0x23.
Вы уверены, что правильно захватили пакеты?

Добавлено через 7 минут
И далее
6.3.3. MODBUS ASCII
В данном режиме каждый байт сообщения передается как два ASCII символа их шестнадцатеричного представления, т.е. значение байта 0x03 будет передаваться как ASCII-код символов "0" и "3" (0110000 0110011) Таким образом, байты данных, код функции и байт поля проверки будет передаваться кодами символов 0-9, A-F.
0 = 30,
...
9 = 39,
A = 41,
...
F = 46,
: = 3A

У вас же числа совсем другие.
0
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 43
12.09.2020, 09:21  [ТС] 5
Rius, может я ошибся с названием и это не "modbus ascii", вот схема в описании у овна
0
Миниатюры
Считать температуру из ТРМ251 по протоколу ОВЕН  
Эксперт .NET
7032 / 4616 / 1102
Регистрация: 25.05.2015
Сообщений: 14,077
Записей в блоге: 14
12.09.2020, 09:50 6
Ну так там черным по белому написано: ПРОТОКОЛ ОВЕН.

Добавлено через 21 минуту
У вас есть описание кодирования тетрада в ascii символ? Что они курили?..

Добавлено через 1 минуту
Нашёл. Вот же наркоманы...
0
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 43
12.09.2020, 09:51  [ТС] 7
Rius, я это читал
0
Вложения
Тип файла: pdf oficialnoe_opisanie_protokola_obmena_po_rs485_priborov_firmi_oven_15.01.07.pdf (836.1 Кб, 4 просмотров)
Эксперт .NET
7032 / 4616 / 1102
Регистрация: 25.05.2015
Сообщений: 14,077
Записей в блоге: 14
12.09.2020, 09:52 8
Sanekkk1, вот описание тетрад во вложении...

А, тоже нашли.
Раскодируйте посылки теперь.
0
Вложения
Тип файла: pdf vkr.pdf (2.02 Мб, 2 просмотров)
Эксперт .NET
7032 / 4616 / 1102
Регистрация: 25.05.2015
Сообщений: 14,077
Записей в блоге: 14
12.09.2020, 10:14 9
Лучший ответ Сообщение было отмечено Sanekkk1 как решение

Решение

Цитата Сообщение от Sanekkk1 Посмотреть сообщение
Код
23 48 47 47 4D 4F 4E 4F 4B 4B 48 52 47 50 50 51 56 54 4E 4E 4D 50 49 4C 51 0D 22.075
23 - маркер начала пакета.

48 47 = 0001 0000 = 0x10 - старшая часть адреса узла сети.

47 4D = 0000 0110 = 0x06 - младшая часть адреса, бит запроса, размер блока данных в байтах - 2 ( = 6).

4F 4E 4F 4B = 1000 0111 1000 0100 = 0x8784 - локальный идентификатор (hash).

4B 48 52 47 50 50 51 56 54 4E 4E 4D = 0100 0001 1011 0000 1001 1001 1010 1111 1101 0111 0111 0110 = 0x41 0xb0 0x99 0xaf 0xd7 0x76 - блок данных уровня представления

50 49 4C 51 = 1001 0010 0101 1010 - контрольная сумма.

0D - маркер конца пакета.

---------------------------------------------------------

0x41 0xb0 0x99 0xaf 0xd7 0x76 - вот здесь ваша температура.

0x41b099af это 22.0750408173
0xd7 0x76 - не знаю, изучайте мануал.
0
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 43
12.09.2020, 10:24  [ТС] 10
Rius, Вы мой кумир))

Но в этом, я буду долго разбираться:

4B 48 52 47 50 50 51 56 54 4E 4E 4D = 0100 0001 1011 0000 1001 1001 1010 1111 1101 0111 0111 0110 = 0x41 0xb0 0x99 0xaf 0xd7 0x76

как вы это сделали?
0
Эксперт .NET
7032 / 4616 / 1102
Регистрация: 25.05.2015
Сообщений: 14,077
Записей в блоге: 14
12.09.2020, 10:26 11
Вот так:
Считать температуру из ТРМ251 по протоколу ОВЕН
0
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 43
12.09.2020, 10:32  [ТС] 12
Rius, Огромное спасибо!
0
Модератор
Эксперт по электронике
6810 / 3355 / 1326
Регистрация: 01.02.2015
Сообщений: 10,579
Записей в блоге: 1
12.09.2020, 14:36 13
ОВЕН предлагает библиотеку для связи с приборами, а также примеры к ней на различных языках программирования.
Кажется, имеется поддержка протокола ОВЕН.
https://owen.ru/product/biblioteka_win_dll

Т.е. разобраться в протоколе не помешает, но и библиотека поможет проще работать.
0
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 43
13.09.2020, 05:52  [ТС] 14
ФедосеевПавел, Конечно, я сначала решил попробовать библиотеку, но при подключении появлялись ошибки, в программировании я не оч силен, поэтому решил пойти другим путем
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.09.2020, 05:52

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Функция переводящая температуру по Фаренгейту в температуру по Цельсию и по Кельвину
Задача: Напишите программу, которая запрашивает у пользователя ввод значения температуры по...

Перевести температуру по Цельсию в температуру по Фаренгейту и Реомюру
Перевести температуру по Цельсию в температуру по Фаренгейту и Реомюру

Задать температуру в градусах по Цельсию. Вывести в alert соответствующую температуру в градусах по Фаренгейту.
Приветик кто мне расскажит и объяснит эту систему, я вообще не понимаю. Задать температуру в...

Пересчитать температуру по шкале цельсия в температуру по шкалам кельвина кельвина и форенгейта
Пересчитать температуру по шкале цельсия в температуру по шкалам кельвина кельвина и форенгейта....

Функция переводящая температуру в градусах Цельсия в температуру в градусах Фаренгейта и Кельвина
Разработать и испытать функцию, которая переводит значение температуры в градусах Цельсия в...

Оборудование Овен
Здравствуйте, оборудование Овен. ТРМ33 Щ7 ----ПЛК 150 А-М-----по локальной сети предприятия на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.