Найти - Пользователи
Полная версия: чтение данных из сом-порта
Начало » Python для новичков » чтение данных из сом-порта
1
stereo
Тема не новая, и материалов в интернете полно - все равно не работает
Исходники брал тут и тут
Задача - выгрузить данные, приходящие от устройства по протоколу Modbus, из сом-порта в БД MySQL, развернутую на хостинге в Интернете.
На win7 32bit установлен Python3.7, pywin32, Pyro4, pyserial, pymodbus, OpenOPC

Скрипт начинается с:
 from pymodbus.client import ModbusSerialClient as ModbusClient
в ответ пишет modbus.client не найден

Anydesk 1520364729, пароль Doremi123
ZerG
Ну основные проблемы тебе убрал!
Дальше смотри - COM порт это не USB что бы к нему цепляться нужно что бы он был свободен
То есть проверь что бы у тебя ничего к нему не висело в коннекте

Кроме того могут быть проблемы с правами доступа пользователя - тогда запусти скрипт на питоне с правами админа

В целом код не ругается на библиотеки на твоем компе и запускается но ругается на то что порт занят
а что у тебя там на нем висит и что уже читать
подбирай сам;
stereo
1. Исправил в main.py порт на СОМ8, сетевой адрес устроства = 35, сохранил SAVE, закрыл arOPC сервер, который его занимал
2. В Python 3.7.6 Shell нажал рестарт

Если бы все заработало, мы бы увидели в окне этого Shell двухзначный тег с устройства?

Карты регистров устройства modbus нет, в оригинале она была

       for i in range(1,20):
        try:
          request = client.read_holding_registers(31 + i, 1, 1)
          result = request.registers
          if result and len(result) > 0:
            data.append({"com": com, "ch_index": i, "ch": f"CH{i}", "val": result[0] / 10})
            print(f"{com} CH{i}: {result[0]/10}")


This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB