У меня есть пирометр Fluke Endurance (и довольно хлипкое руководство пользователя), который имеет выход через кабель Ethernet, который я затем подключаю к своему компьютеру через адаптер USB3.0-Gigabit Ethernet (панель управления Windows сообщает мне, что он работает). Согласно руководству, связь должна быть возможна через RS485 и profinet. Но мне неясно, возможны ли оба через один и тот же кабель.
Мой первоначальный план состоял в том, чтобы попытаться использовать Snap7 для связи с Profinet, но когда я попытался:
import snap7
plc = snap7.client.Client()
plc.connect("192.168.42.132",0,1)
я получил
snap7.snap7exceptions.Snap7Exception: b' TCP : Unreachable peer'
Я могу пропинговать устройство по этому IP-адресу.
Итак, мои вопросы:
есть идеи, почему я могу пинговать, но у snap7 проблемы с подключением?
если я не могу заставить работать связь profinet, есть ли шанс, что я смогу каким-то образом установить связь RS485 через кабель Ethernet? Все, что я искал, говорит о наличии оборудования, которое выполняет преобразование, поэтому я предполагаю, что это больше, чем просто поиск правильного формата сигнала на правильных проводах. Я не могу найти в инструкции ничего, что бы включало/отключало один вид связи, и похоже, что из меню они оба активны, если это возможно.
А еще лучше, если кто-нибудь общался с этим устройством на питоне, любые предложения будут очень признательны!
Спасибо,
Мэтью
Обновлять:
Если у кого-то еще есть аналогичная проблема, я решил ее, используя команды socket и ASCII, например:
import socket
pyrometerIP = "192.168.42.132"
pyrometerPORT = 6363
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(3) # 3 second timeout on commands
s.connect((pyrometerIP, pyrometerPORT))
MESSAGE=bytes('U=C\r', 'ascii')
s.send(MESSAGE)