PDA

Просмотр полной версии : Опрос ТРМ 138 по Modbus



Вадим Жарков
14.08.2015, 10:37
Здравствуйте!

На нашем предприятии есть портал, в который собирается по Modbus параметры со многих приборов и контроллеров. Сам портал реализован через библиотеку Jamod на java. У меня нет полномочий менять менять код портала, поэтому что-то изменить в самой системе сбора очень проблематично. А суть проблемы вот в чем. Все устройства по-умолчанию опрашиваются функцией чтения "3", именно на ТРМ138 проставлена функция "4" и никак ее в приборе не поменяешь. Изменять логику всего портала сложно (почти невозможно и долго), а изменить в приборе нельзя (самый логичный вариант, но нигде описания не нашел). Какие есть еще варианты, кроме как написать свою программу, которая будет все преобразовывать к нормальному виду?)

ASo
14.08.2015, 11:02
Поставить промежуточное устройство, что тоже самое.

Вольд
14.08.2015, 12:13
Сделай подсеть для приборов "ОВЕН". В качестве Master подсети используй ПЛК100 или МСД200.

capzap
14.08.2015, 16:18
а что авторы портала говорят, так то jamod с открытыми исходниками, дописать ветку которая будет читать другого типа регистры вобще то не проблема

Вадим Жарков
17.08.2015, 06:26
В jamod есть подобный функционал, но так как портал должен работать универсально для всех, вряд ли разработчиков удастся убедить менять для пары приборов вносить какие-то изменения. Хотя в выходные их никого не было, думаю сегодня еще с ними посовещаться

capzap
17.08.2015, 06:36
универсальность это как раз работа с приборами используя любую функцию модбас, а не тошько одну, там изменения то по добавленному флагу менять в одном месте имя класса,остальной код без изменений

Вадим Жарков
17.08.2015, 06:51
Обещали поковырять, не знаю сколько займет времени, но такой вариант наиболее благоприятный

capzap
17.08.2015, 07:00
виноват, в двух местах надо менять имя класса, а по времени это десять минут, вставить связку if...else

Вадим Жарков
17.08.2015, 13:30
Его писали разработчики, которые не представляли, что такое Modbus и не понял с изменением класса, так как сам работал только с NModbus, там вроде никаких классов менять не надо, просто использовать разные функции опроса с выставленными параметрами, ну думаю не факт, так как не работал jamod. Если бы у меня был доступ к исходникам - я уже сам переделал

capzap
17.08.2015, 13:37
там функции описаны классами, для holding ReadMultipleRegistersRequest, для регистров ввода нужно ReadInputRegistersRequest, оба они расширяют ModbusRequest,
так же и с респонсами, когда ответка придет, поэтому код один и тот же только названия разные, обычным if...else можно опрашивать разные области памяти, проверяя на условие какой прибор опрашивается

Вадим Жарков
18.08.2015, 06:37
Как все там запущено, неужели я не зря .NET больше люблю))) Там для программиста проще

capzap
18.08.2015, 07:43
Как все там запущено, неужели я не зря .NET больше люблю))) Там для программиста проще

всмысле, так если даже отбросить все андроиды, на скольких устройствах ява и где Ваш дотнет