PDA

Просмотр полной версии : Хочу подружить ПМ210 с счетчиком газа!



Bobchik
27.05.2019, 09:43
ДВС! Подскажите можно ли как то с помощью снифера, или иным образом узнать адреса регистров! Протокол обмена у счетчика Modbus rtu !
Производитель дает дает адреса в виде кода! 42912

melky
27.05.2019, 09:59
Ссылку на полную документацию вашего счетчика дайте.
Мне что-то кажется, что Modbus там не пахнет, ну разве что контролька считается так же.

Bobchik
27.05.2019, 10:36
организация обмена

melky
27.05.2019, 11:25
Абсолютно не понятно, почему ЭТО они назвали Modbus-ом

Для Modbus как минимум не хватает номера начального регистра и количества регистров, а не тот хитрый список команд, который указан в документации.

Нравятся мне такие деятели протоколов, возьмут для расчета только CRC16 как в Modbus и кричат что у них этот протокол...

С помощью снифера и наличия родного ПО опроса можно посмотреть весь обмен. Возможно это у них какой-то навесок для чтения архива и прочего поверх Modbus протокола. А просто текущие значения могут и по регистрам лежать...

Bobchik
27.05.2019, 11:41
Благодарю! Посоветовали еще через мастер-скада попробовать...

melky
27.05.2019, 11:44
Хрен редьки не слаще, Scada тут не важна, если придется писать обмен опроса. Определить просто Scada-ой регистры устанете, хотя попробовать можно что нибудь из 0-ого почитать например, именно согласно Modbus протокола, что прибор ответит, ну и поперебирать регистры.
Если есть родное ПО, которое считает ваш счетчик, ставите ПО для логирования порта и изучаете его вдоль и поперек.

И да, если там не Modbus, ПМ210 вам уж точно никак не поможет.

Bobchik
27.05.2019, 12:18
42919 вот что удалось посмареть через сериал порт монитор

melky
27.05.2019, 13:03
Ну я вас поздравляю, кроме CRC16 из Modbus из 3-х запросов ни один не Modbus.

Вы с чем этот счетчик хотели подружить ?

Оба-на? а все таки это что-то из Modbus...

---------------------------------------------
Part of Data Package Description Value
00 Slave address 0x00 (0)
38 Function code 0x38 (56)
Data
00 62 CRC 0x0062 (98)
------------------------------------------------
Part of Data Package Description Value
00 Slave address 0x00 (0)
3E Function code 0x3E (62)
Data
80 60 CRC 0x8060 (32864)
------------------------------------------------
00 Slave address 0x00 (0)
3C Function code 0x3C (60)
Data
01 A1 CRC 0x01A1 (417)

Только я вот не знаю, кто такое поддерживает...

Bobchik
27.05.2019, 13:07
С пм -210, но как уже понял, не судьба :(:(:(

melky
27.05.2019, 13:08
Ответ на 3E

00 Slave address 0x00 (0)
3E Function code 0x3E (62)
D2 42 86 99 10 00 8F CD 75 A1 10 00 Data
CD 13 CRC 0xCD13 (52499)

Скорее всего нет, большинство при работе оперирует регистрами Holding, Reading, Coil, Discrete.

А такое я первый раз вижу... Да и при настройках Scada систем никогда не видел, чтобы в таком виде что-то настраивалось.
Но парсер Modbus не ругается, что удивительно...

Такое ощущение, что это что-то пользовательское, доступное в протоколе. Типа запроса блоков данных, которые формирует сам производитель и описывает тоже сам. Так глубоко протокол не изучал.

Bobchik
27.05.2019, 13:24
Благодарю! Связался с главным конструктором =)) поговорили как глухой с слепым ,тип вот все что есть и иди лесом =)) Пока на ум приходит только миникомп с тимвьюиром....

melky
27.05.2019, 13:29
Так вы напишите куда вы хотите ? Так, на первый взгляд в собственную Scada систему (не в Овен облако) это можно раскатать на ура.
Мастер Scada подойдет, можете им заказать сделать универсальный OPC сервер
RapidScada подойдет тоже.
Тут даже подойдет ПЛК Овен например ПЛК100 в качестве шлюза от счетчика в Modbus TCP или RTU (не помню, сколько там портов доступно если в RTU делать)

Иные ПЛК, где это доступно.

Тут вопрос такой, если Вам именно в облако Овен надо, то это одна песня, если не в облако Овен, то другая песня.

Bobchik
27.05.2019, 13:38
В идеале на облако. Так как, на всех обЪектах стоит комплект пр200 + прм+мв110 +ПМ 210 и все параметры на облаке Овен. И чтобы не плодить 1000 вкладок и программ было бы по красоте, значения этого Редиски, отображать на облаке вместе с другими параметрами этого объекта.

melky
27.05.2019, 14:54
Раз уже что-то стоит, то печально. Ставить рядом ПЛК100 нифига не дешево, а менять ПР на ПЛК этой серии нифига не кошерно, хотя Овен и бьет себя в грудь об исправлении всех проблемм в нем. да и RS485 у него один.

Не видел таких шлюзов, которые смогли бы по сформированным запросам кинуть данные по регистрам для другого устройства.
У вас на ПР200 один RS485 слейв для ПМ210 а второй мастер для МВ110 ? или ??????
Какая схема точно ? Сколько портов в ПР вообще ?

Bobchik
27.05.2019, 15:01
Два RS-485. По одному ПР-200 мастер опрашивает Мв 110-й слейв, по другому Пм210-й мастер пр-200+мв110 соотв слейв!

melky
27.05.2019, 15:09
Bobchik, так понимаю ПР200 использует переменные МВ110 для программы ? или просто как консолидирующее звено , чтобы передать данные из МВ110 для ПМ210 ?

Если бы второй интерфейс ПР200 был бы свободен, можно было бы забабахать шлюз на RaspberryPi или аналогичном.
Ну если сертификаты нужны, то любой промПК из самых дешевых на Linux.

Bobchik
27.05.2019, 15:13
Совершенно верно, переменные для программы. А уже из программы переменные на облако запуливает ПМ-210-й!

Bobchik
27.05.2019, 15:18
Чет опять на ум приходит взять и заколхозить к примеру [ссылка удалена] и тупо установить на него тимвьюир и родную прогу для опроса счетчика! И по цене дешевле чем плк....Пока вижу только такой выход из этой ситуации :( Так как хз... как расколдовать этот протокол....

melky
27.05.2019, 15:18
Тогда не получится. Придется вам что-то менять в своем колхозе :)

Bobchik
27.05.2019, 15:29
А если, все же упираться именно в облако, необходим комплект плк+пм210!?

melky
27.05.2019, 15:33
Bobchik, ПЛК да, но с двумя портами RS485, На ПЛК100 один RS232 и один RS485, надо уточнять, можно ли зацепить rs232 как слейв и через прозрачный преобразователь RS232-RS485 завести на ПМ210. Ну или через преобразователь к этому порту подключить счетчик. (в каком из режимов работает это RS232 Debug в ПЛК100). Это наверное самый дешевый вариант для связи в Облако, используя один ПМ210 объекте. Ну и минимум переделок в вашей схеме, точнее вообще без переделок, только добавление.

Если конечно 13 тысяч + стоимость преобразователя вас не пугает :)
Есть еще один ПЛК но тот вообще 18 тысяч (правда за сколько отдадут толпой не знаю), на нем тоже можно реализовать шлюз от счетчика газа и вероятно выкинуть все уже имеющееся (ПР200, ПРМ, МВ110) :)

Bobchik
27.05.2019, 15:47
У этого редиски (счетчика) есть 232-й интерфейс. Т.е если даже собирать независимый комплект, для удаленного опроса, я упираюсь в плк100 и соответственно в пм, при любом раскладе...

melky
27.05.2019, 15:57
Если есть 232-й, смотрите РЭ, узнавайте у тех поддержки Овен может ли в ПЛК100 он использоваться как Мастер ? (сейчас не помню точно)

Тогда вы к существующему ПМ210 подключите ПЛК100 как слейв к его RS485-му порту.

Цена вопроса 13 с чем-то тысяч, ну или может скидку дадут и программа опроса, аналогичная Родному ПО. В самом ПЛК выполнить все преобразования их представления чисел к удобоваримым данным uint или float, в общем что вам будет удобнее. И будете забирать при помощи ПМ210 из ПЛК100 что он начитает из счетчика.

Это самый дешевый вариант, который я вижу.

Тьфу блин, у ПЛК100 свободный RS232 есть, кроме Debug. Так что счетчик Газа к 232-му (мастер), 485-й (слейв) к существующему ПМ210

Bobchik
27.05.2019, 16:01
Огромнейшее спасибо! Буду пробовать :)

melky
27.05.2019, 16:05
ПЛК304 уже как-то подороже, там сразу два RS485 есть, переключаются.