Python и Modbus
APMonitor.com
0:00 / 0:00
Python и Modbus
34 805 просмотров · 3 года назад
APMonitor.com
80,5 тыс. подписчиков
34 805 просмотров · 3 года назад
Modbus — это стандарт связи для передачи значений между компьютерами. Он широко используется с программируемыми логическими контроллерами (ПЛК), человеко-машинными интерфейсами (HMI) и другими сетевыми приложениями. У него есть ряд ограничений, которые послужили причиной создания более новых стандартов, таких как OPC UA. Несмотря на то, что это старый стандарт, многие устаревшие системы до сих пор поддерживают этот протокол. Существует несколько вариантов последовательного или сетевого подключения, включая RS232, RS422, RS485 (последовательный) или TCP/IP (сетевой).
Исходный код Modbus: https://apmonitor.com/dde/index.php/M...
Сервер Modbus имеет катушки, дискретные входы, входные регистры и регистры хранения. Катушки и дискретные входы принимают значения 1 или 0 (включено или выключено), а регистры представляют собой 16-битные значения (0-65535 для беззнаковых целых чисел). Для 32-битного числа с плавающей запятой используются два регистра, а для 64-битного числа двойной точности — четыре регистра. Номера катушек начинаются с 0 и варьируются от 00001 до 09999, номера дискретных входов начинаются с 1 и варьируются от 10001 до 19999, а номера регистров хранения начинаются с 4 и варьируются от 40001 до 49999.
Катушки и дискретные входы хранят по 1 биту в виде 0 или 1 (выкл/вкл). Регистры ввода и регистры хранения имеют по 16 бит. 16-битное беззнаковое целое число может хранить целочисленные значения от 0 до 65535, в то время как знаковое целое число использует дополнительный бит для хранения положительного или отрицательного знака и может хранить значения от -32768 до 32767. Также можно передавать 32-битные (точность 7 знаков после запятой) или 64-битные (точность 14 знаков после запятой) числа, значения передаются через несколько 16-битных регистров: 2 регистра для 32-битных чисел и 4 регистра для 64-битных чисел.
Пакет Python pymodbus представляет собой полнофункциональный набор методов, включающий сервер и клиент Modbus. Установите пакет pymodbus с помощью pip из репозитория PyPI. В приведенных примерах используется версия 3.0.2.