Вход

Просмотр полной версии : Регистры Modbus ТРМ136 для связи с панелью Weintek



volodyap63
04.03.2023, 22:48
Подскажите пожалуйста какие регистры Modbus опрашивать с ТРМ136? Мне нужно отображать на панели Weintek температуру 1-6 каналы и состояние выходных устройств с 1 по 6. Я смог получить отображение температуры 1 канала измерителя указав в панели Weintek по таблице адрес Modbus значение температуры int 0x0001, канала 2 измерителя адрес Modbus 0x0006. Далее таблица пропущена догадайся сам и появляется на канале 6 измерителя начение температуры int 0х001А. Подскажите пожалуста адреса недостающих 3,4,5 каналов. И ещё не понятно как отобразить состояние ВУ1 - ВУ6? По таблице с 0x0000 по 0x0005. Адрес состояние ВУ1 0x0000 совпадает с адресом Канал 1 измерителя положение десятичной точки 0x0000. состояние ВУ2 0x0001 совпадает с адресом температуры 1 канала измерителя значение температуры int 0x0001. Разница по таблице только в заголовке код функции 04 а на состояние ВУ1 - ВУ6 код функции 01/05. Как это понять?

capzap
05.03.2023, 00:13
по таблице адрес Modbus значение температуры int 0x0001, канала 2 измерителя адрес Modbus 0x0006. Далее таблица пропущена догадайся сам и появляется на канале 6 измерителя начение температуры int 0х001А.



к единице прибавте пять и потом еще пять, потом еще пять, потом еще пять и последний раз еще пять, должно получится 26, в HEX это будет 1А, ни чего не приходит на ум?


Разница по таблице только в заголовке код функции 04 а на состояние ВУ1 - ВУ6 код функции 01/05. Как это понять? сюда загляните https://ru.wikipedia.org/wiki/Modbus#%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80% D1%82%D0%BD%D1%8B%D0%B5_%D1%84%D1%83%D0%BD%D0%BA%D 1%86%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0 %BA%D0%BE%D0%BB%D0%B0_Modbus

volodyap63
10.03.2023, 17:28
capzap, а не могли бы вы на одном примере подсказать по какому адресу мне нужно опрашивать состояние 1 реле включено и выключено? 1x0001? Спасибо.

capzap
10.03.2023, 17:53
в чем подвох? Вцелом с трм связь установлена, регистры читаются?

volodyap63
10.03.2023, 22:51
в чем подвох? Вцелом с трм связь установлена, регистры читаются? Спасибо. С ТРМ связь установлена, регистры читаются. Завтра проверю на работе ваш проект и напишу о результате. Панель использую Weintek MT8071iE.

volodyap63
12.03.2023, 08:10
capzap, проверил Ваш вариант настройки битового индикатора для считывания адреса бита состояния ВУ1 0x 0 на ТРМ-136 - не работает. Методом подбора нашёл рабочий вариант состояния ВУ1 чтение по адресу 0x_single_Bit 0; состояния ВУ2 чтение по адресу 0x_single_Bit 1; состояния ВУ3 чтение по адресу 0x_single_Bit 2; состояния ВУ4 чтение по адресу 0x_single_Bit 3; состояния ВУ5 чтение по адресу 0x_single_Bit 4; состояния ВУ6 чтение по адресу 0x_single_Bit 5. Мне бы хотелось понять как влияет на адрес КОД ФУНКЦИИ? Может специалисты фирмы Овен объяснят чем отличается, например, адрес 0Х0000 с кодом фунуции 04 и адрес 0Х0000 с кодом фунуции 01/05?
66443

kondor3000
12.03.2023, 11:41
capzap, проверил Ваш вариант настройки битового индикатора для считывания адреса бита состояния ВУ1 0x 0 на ТРМ-136 - не работает. Методом подбора нашёл рабочий вариант состояния ВУ1 чтение по адресу 0x_single_Bit 0; состояния ВУ2 чтение по адресу 0x_single_Bit 1; состояния ВУ3 чтение по адресу 0x_single_Bit 2; состояния ВУ4 чтение по адресу 0x_single_Bit 3; состояния ВУ5 чтение по адресу 0x_single_Bit 4; состояния ВУ6 чтение по адресу 0x_single_Bit 5. Мне бы хотелось понять как влияет на адрес КОД ФУНКЦИИ? Может специалисты фирмы Овен объяснят чем отличается, например, адрес 0Х0000 с кодом фунуции 04 и адрес 0Х0000 с кодом фунуции 01/05?
66443

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

1 (0x01) — чтение значений из нескольких регистров флагов (Read Coil Status).
2 (0x02) — чтение значений из нескольких дискретных входов (Read Discrete Inputs).
3 (0x03) — чтение значений из нескольких регистров хранения (Read Holding Registers).
4 (0x04) — чтение значений из нескольких регистров ввода (Read Input Registers).

Иногда, области памяти Coil Status (биты) совпадают с областью Holding Registers ( регистры) (например в ПЛК Овен), а иногда не совпадают ( ваш случай).
Регистр состоит из 16 бит, с 0 до 15.

То же самое и с функциями записи.
0х05 ( 5 функция) запись одного бита и 0х0f ( 15 функция) запись группы битов. В вашей панели нет 5 функции, ей соответствует 0x_single_Bit ( запись 1 бита),
просто 0х соответствует 15 функции.
Что вам ещё не понятно?

volodyap63
12.03.2023, 14:22
Вам же ссылку уже дали, память разделена на области, доступ к каждой области памяти своей функцией, начальный адрес каждой области начинается с 0.

1 (0x01) — чтение значений из нескольких регистров флагов (Read Coil Status).
2 (0x02) — чтение значений из нескольких дискретных входов (Read Discrete Inputs).
3 (0x03) — чтение значений из нескольких регистров хранения (Read Holding Registers).
4 (0x04) — чтение значений из нескольких регистров ввода (Read Input Registers).

Иногда, области памяти Coil Status (биты) совпадают с областью Holding Registers ( регистры) (например в ПЛК Овен), а иногда не совпадают ( ваш случай).
Регистр состоит из 16 бит, с 0 до 15.

То же самое и с функциями записи.
0х05 ( 5 функция) запись одного бита и 0х0f ( 15 функция) запись группы битов. В вашей панели нет 5 функции, ей соответствует 0x_single_Bit ( запись 1 бита),
просто 0х соответствует 15 функции.
Что вам ещё не понятно? Мне не понятно многое так, как недавно столкнулся с необходимостью считывать информацию с трм138 и трм136 с помощью панели Weintek MT8071iE опыта и знаний маловато. Где например мне было узнать про код функции 04 или 01/05? В инструкции на панель я этого не нешёл, видел только упоминание про 1H 2H 5H в программе EasyBuilder Pro. Ваши знания основаны на вашем опыте, которых у меня пока маловато, поэтому и обратился на форум за помощью. Тогда так, для ясности картины несколько вопросов код 04 в ТРМ136 какую функцию я должен указать в панели Weintek MT8071iE чтобы считать температуру Канала 2 измерителя значение температуры int 0x0006 и Код функции 03/06 Канал 1 значение уставки int 0x0011? Спасибо.

kondor3000
12.03.2023, 14:56
Мне не понятно многое так, как недавно столкнулся с необходимостью считывать информацию с трм138 и трм136 с помощью панели Weintek MT8071iE опыта и знаний маловато. Где например мне было узнать про код функции 04 или 01/05? В инструкции на панель я этого не нешёл, видел только упоминание про 1H 2H 5H в программе EasyBuilder Pro. Ваши знания основаны на вашем опыте, которых у меня пока маловато, поэтому и обратился на форум за помощью. Тогда так, для ясности картины несколько вопросов код 04 в ТРМ136 какую функцию я должен указать в панели Weintek MT8071iE чтобы считать температуру Канала 2 измерителя значение температуры int 0x0006 и Код функции 03/06 Канал 1 значение уставки int 0x0011? Спасибо.

Про биты уже всё расписал,
чтение 03 функцией, соответствует в панели 4х адрес регистра (обращение к области памяти Holding Registers)
Чтение 04 функцией соответствует в панели 3х адрес регистра (обращение к области памяти Input Registers)
Адресация регистров в панели в десятичном виде, 1,6,11, и т .д. (каждые 5 регистров для ТРМ, берётся из руководства)
При необходимости перевести адрес из шестнадцатиричного (HEX) вида в десятичный (DEC) и обратно, можно обычным калькулятором в режиме программист.

Всё это есть в интернете, только вы не хотите сами искать и развиваться, а задаёте вопросы на форуме. Даже поиском по форуму, можно найти с десяток подобных тем.

Пример, где вам уже всё расписывали https://owen.ru/forum/showthread.php?t=27441&page=3&highlight=Weintek%2C+%E1%E8%F2%FB+%F0%E5%E3%E8%F1% F2%F0%FB
Разница только в адресах регистров в ПР200 с 512, а в ТРМ с 0 адреса.

volodyap63
12.03.2023, 23:24
Про биты уже всё расписал,
чтение 03 функцией, соответствует в панели 4х адрес регистра (обращение к области памяти Holding Registers)
Чтение 04 функцией соответствует в панели 3х адрес регистра (обращение к области памяти Input Registers)
Адресация регистров в панели в десятичном виде, 1,6,11, и т .д. (каждые 5 регистров для ТРМ, берётся из руководства)
При необходимости перевести адрес из шестнадцатиричного (HEX) вида в десятичный (DEC) и обратно, можно обычным калькулятором в режиме программист.

Всё это есть в интернете, только вы не хотите сами искать и развиваться, а задаёте вопросы на форуме. Даже поиском по форуму, можно найти с десяток подобных тем.

Пример, где вам уже всё расписывали https://owen.ru/forum/showthread.php?t=27441&page=3&highlight=Weintek%2C+%E1%E8%F2%FB+%F0%E5%E3%E8%F1% F2%F0%FB
Разница только в адресах регистров в ПР200 с 512, а в ТРМ с 0 адреса.

Уважаемый, kondor3000 , я не могу понять одну вещь, почему столько раздражения и обвинений в том, что я не хочу что-то сам искать и развиваться. Я занялся контроллерами с нуля когда мне было 53 года и некоторые веши мне очень трудно даются, поэтому и ищу помощь на форуме. А для чего созданы форумы? Для того, что бы помочь человеку своими наработками и знаниями. Если вас раздражают мои вопросы так пройдите мимо. Касаемо ссылки на тему форума, там мне очень хорошо помогли другие форумчане а Вы и там написали мне с раздражением, что очень глупо использовать 3 регистра как вы ( 512, 513,514), для передачи 3 бит. Тогда я не знал про битовые маски, но благодаря товарищу с форума, он мне прислал проект, я его изучил и понял как это работает и дальше стал это использовать. Cейчас уже сделал несколько проектов по автоматизации компрессорных установок и кислородного производства у себя на работе. Если решили помочь так помогите а не критикуйте. Берите пример с rovki Анатолий, автор HMI Kascada. Вот сколько я ему не задавал вопросов, может и глупых, всегда подробно и без раздражения в любое время ответит и поможет как и многие на этом форуме.

kondor3000
13.03.2023, 09:04
Уважаемый, kondor3000 , я не могу понять одну вещь, почему столько раздражения и обвинений в том, что я не хочу что-то сам искать и развиваться. Я занялся контроллерами с нуля когда мне было 53 года и некоторые веши мне очень трудно даются, поэтому и ищу помощь на форуме. А для чего созданы форумы?

В двух постах вам расписал, то до чего доходил сам несколько месяцев. Это не помощь?
А раздражение появилось, когда в поиске увидел тему с теми же вопросами, которые по вашим словам вам хорошо объяснили. Зачем тогда опять спрашиваете?
На мои вопросы несколько лет назад, был послан подальше, изучать мат часть, поэтому теперь и помогаю новичкам.
Если бы мне тогда, так кто то помог, я бы не ныл, а спасибо сказал три раза.
Про возраст не надо, тут люди и постарше вас сидят.

volodyap63
13.03.2023, 17:55
В двух постах вам расписал, то до чего доходил сам несколько месяцев. Это не помощь?
А раздражение появилось, когда в поиске увидел тему с теми же вопросами, которые по вашим словам вам хорошо объяснили. Зачем тогда опять спрашиваете?
На мои вопросы несколько лет назад, был послан подальше, изучать мат часть, поэтому теперь и помогаю новичкам.
Если бы мне тогда, так кто то помог, я бы не ныл, а спасибо сказал три раза.
Про возраст не надо, тут люди и постарше вас сидят.

Успокойтесь пожалуйста, и я не ною, видно сильную травму получили, когда на форуме были посланы подальше. И пожалуйста проходите мимо моих вопросов. Такая помощь от вас мне не нужна!!! На этой ноте и закочим. Если что-то хотите сказать ещё, пишите в личные сообщения.