ModBus шлюз счетчиков Меркурий 230 для архитектуры x64 (amd64)

ModBus шлюз из протокола счетчиков Меркурий можно построить на базе промышленных мини-компьютеров (неттопов) под управление операционной системы Linux x64. Мини-компьютеры обычно имеют на борту СОМ-порты (интерфейсы RS-232), можно вставить специальные PCIе платы расширения RS-485. К этим портам можно подключать счетчики Меркурий.

На мини-компьютер рекомендуется установливать ОС Linux debian или ubuntu x64.

Чтобы посмотреть список СОМ-портов в системе, необходимо ввести команду ls /dev/ttyS*

Теперь приступим к установке ПО. Нам понадобится OPC UA сервер счетчика Меркурий 230 и ModBus-Slave. OPC UA сервер счетчика Меркурий 230 будет опрашивать счетчики, ModBus-Slave будет получать данные от OPC UA сервера и передавать их в протоколе ModBus.

Скачайте архивы, распакуйте их. В каждой папке есть файлы merc230d.tar.gz и opctomb.tar.gz. Скопируйте содержимое папки на мини-компьютер. Я обычно это делаю с помощью программы WinSCP.

Распакуйте архивы на мини-компьютере:

Распаковка OPC UA сервера Меркурий 230:

sudo tar -xvzf merc230d.tar.gz -C /etc

Распаковка ModBus-Slave:

sudo tar -xvzf opctomb.tar.gz -C /etc

Перейдите к настройке в OPC UA сервера Меркурий 230 Windows-конфигуратором. Его можно запускать как на Windows-машине, так и на Linux с помощью wine. В папке mercury230_win_conf запустите Merc230server.exe. Сконфигурируйте счетчик, в поле порт выберите СОМ-порт, например, /dev/ttyS2. Нажмите ОК. Настройте порт ОРС UA (по умолчанию 16690). Файл Merc230.cfg скопируйте на плату в папку /etc/merc230d. Запустите OPC UA сервер Меркурий 230:

sudo /etc/merc230d/merc230opcd

Должен пойти обмен со счетчиком. Откройте Web-интерфейс ОРС-сервера, для этого наберите в адресной строке браузера http://192.168.0.101:8083. 192.168.0.101 - IP-адрес мини-компьютера, 8083 - порт Web-сервера ОРС-сервера (можно менять).

Теперь настроим прием данных от ОРС-сервера. Перейдите в папку modbus_slave\Win_conf. Запустите Conf_web_scada.exe.

Для настройки выберите пункт меню «Настройки – Драйверы устройств». Нажмите кнопку добавить. Введите имя на английском языке, строка подключения выглядит следующим образом:

opc.tcp://192.168.0.101:16690

192.168.0.101 – IP-адрес компьютера, на котором запущен драйвер.

16690 – порт, который указывался при настройке OPC UA – драйвера.

Нажмите проверить соединение.

Есть возможность получить все тэги списком, выделить их все или часть и добавить выделенные в конфигурацию. Для этого нажмите на кнопки «Получить все тэги списком», «Выделить все» и «Добавить выделенные в таблицу». Нажмите ОК. В главной таблице окажутся тэги. Т.к. OPC UA – сервер и клиент находятся на одном компьютере, то поменяйте строку подключения на opc.tcp://127.0.0.1:16690. Нажмите ОК.

Можно быстро сгенерировать Modbus адреса. Для этого нажмите на кнопку «Сгенерировать адреса для Modbus Slave».

Теперь настройте передачу данных по ModBus. Введите адрес ModBus, например, Для ModBus-ТСР поставьте галочку «Использовать ModBus-ТСР», галочка «Режим ModBus-RTU поверх TCP» снята, введите ТСР-порт, например, 502. Так же можно настроить Web-сервер, через который можно смотреть получаемые данные в табличном виде. Сохраните. Загрузите проект на Linux машину. Из папки Win_conf с помощью WinSCP скопируйте в папку /etc/opctomb файл main.gpr. Запустите:

sudo /etc/opctomb/opctomb

Подключитесь ModBus-мастером. Так же можете подключиться OPC UA - клиентом к OPC UA серверу Меркурий.

Осталось добавить OPC UA сервер счетчика Меркурий и ModBus-Slave в автозагрузку.