master_tcp.py

Пример построения системы опроса с использование master_tcp.py

Утилита master.py используется в случае, если приходится одновременно собирать показания
показания с нескольких устройств по протоколу modbusTCP.
В файле конфигурации указывается IP адрес и TCP порт slave устройства.
Кроме того указываются регистры опроса и адреса.

Описание файла setting.cfg:

server;192.168.0.200;507; #
    # server - идентификатор переменной
    # 192.168.0.200 - IP адрес slave части утилиты modbus.py для входящих подключений
    # 507 - Порт slave части утилиты modbus.py для входящих подключений

host;192.168.0.100;502;READ_INPUT_REGISTERS;0;10;0;0;comment
    # host - идентификатор переменной
    # 192.168.0.100 - IP адрес slave устройства куда подключаемся
    # 502 - порт slave устройства куда подключаемся
    # READ_INPUT_REGISTERS -регистр для чтения slave устройства куда подключаемся
    # варианты:
        # READ_DISCRETE_INPUTS
        # READ_COILS
        # READ_HOLDING_REGISTERS
    # 0 - стартовый адрес регистра с которого начинается чтение данных на slave устройстве
    # 10 - количество адресов регистра которые считываются на slave устройстве
    # 0 - стартовый адрес размещения полученных данных на slave части утилиты master_tcp.py
    # 0 - пока не используется
    # comment - комментарий


Пример настройки:
Необходимо подключиться к устройству по IP адресу 192.168.0.100 на порт 502,
по адресу 11 input_registers получить значение температуры, а по адресу 12
получить значение влажности.
После этого в slave части утилиты расположить по адресу 0 значение температуры,
а по адресу 1 значение влажности.
Аналогично, после запроса к устройству по IP адресу 192.168.0.101 на порт 502,
необходимо получить значения температуры и влажности, но расположить в slave
части по адресам 2 и 3.


server;192.168.0.200;507;
host;192.168.0.100;502;READ_INPUT_REGISTERS;11;2;0;0;11-temp->0 12-hum->1
host;192.168.0.101;502;READ_INPUT_REGISTERS;11;2;2;0;11-temp->2 12-hum->3


Загрузки:

     master_tcp.py
     setting.cfg