PDA

Просмотр полной версии : Телемеханика чтение регистров с устройства



sp1er
09.08.2017, 11:06
Добрый день!

Подскажите пожалуйста, возможно ли на телемеханику доставлять какие либо плагины для расширения списка оборудования, которое можно подключить по модбасу.

У меня сейчас на Rubi написанный код, собирает значение с PM700(измеритель мощности многофункционалный) через Moxa. В телемеханике есть шнайдеровское оборудование, но только Sepam, или если кто знает подскажите как подключить PM700 к телемеханике через модбас.

Если кому поможет под спойлером код на Ruby. К сожалению его писал не я и обслуживал до этого тоже не я, но сейчас это упало на меня.

get '/tp' do
data = {}

ModBus::TCPClient.connect('192.168.1.243', 502) do |gateway|
gateway.with_slave(1) do |pl|
a = pl.read_input_registers(1099, 6)
data[:wCurrentA_1] = a[0]
data[:wCurrentB_1] = a[1]
data[:wCurrentC_1] = a[2]
a = pl.read_input_registers(1119, 9)
data[:wVoltageAB_1] = a[0]
data[:wVoltageBC_1] = a[1]
data[:wVoltageCA_1] = a[2]
data[:wVoltageAN_1] = a[4]
data[:wVoltageBN_1] = a[5]
data[:wVoltageCN_1] = a[6]
data[:wVoltageLN_1] = a[8]
a = pl.read_input_registers(1139, 12)
data[:wActivePowerA_1] = a[0]
data[:wActivePowerB_1] = a[1]
data[:wActivePowerC_1] = a[2]

sp1er
09.08.2017, 15:56
Добрый день!

Есть ли возможность в телемеханике считывать с устройств которых нет в стандартной библиотеке. Т.е. у меня есть устройство, я к нему подключаюсь по tcp через modbus master tool дальше по регистрам считываю массивы данных. Как я могу считать эти данные через телемеханику?
32540

Popov Boris
09.08.2017, 16:37
Здравствуйте, да такая возможность есть: Для того что бы интегрировать какое либо устройство или ПЛК с протоколом Модбас нужно создать IO-файл, описывающий дерево тегов данного устройства. Этот подход хорошо зарекомендовал себя, когда мы говорим о девайсах часто встречающихся например таких: модули ввода-вывода, измерительные приборы и регуляторы, блоки релейной защиты, - один раз подготовленный файл IO будет использоваться многократно.
Но также встречается задача, когда необходимо опросить, например, контроллер, или обеспечить коммуникацию с промежуточным сервером по протоколу Модбас, имея при этом карту переменных в несколько сотен тегов. Для такой задачи конечно можно разработать файл IO, но получается что это будет файл только для одного конкретного проекта, и не факт, что будет когда либо использован пользователем.
Ну и все таки описание карты из сотен переменных в текстовом редакторе в формате XML сложнее, и нет так визуально, как например если бы использовать для этой задачи Excel.

Вот пример такой таблицы:

32542

Этот пример лежит в директории Bin\IO\XLS\mb-example.xlsx.
В таблице тегов кроме необходимых свойств - названия тегов и групп, параметров протокола Модбас, также могут использоваться любые дополнительные атрибуты, которые захочется завести для своих целей. Служебные столбцы имеют наименование, сделанное средствами Excel, именно по имени происходит их поиск, и поэтому их также можно располагать в таблице в любом удобном порядке. В начале таблицы можно сделать какую угодно шапку, заглавие. Такие возможности позволяют вести документированную карту адресов Модбас как просто для целей документирования, так и давать эту карту в "Телемеханику" без изменений, не делая никакой дополнительной работы.

Для первых раз карту переменных лучше делать на основании имеющегося примера.

32543

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

sp1er
10.08.2017, 10:29
Спасибо! Получилось!