我有一个 Fluke Endurance 高温计(和一个非常脆弱的用户指南),它通过以太网电缆输出,然后我通过 USB3.0 到千兆以太网适配器连接到我的计算机(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 地址 ping 设备。
所以我的问题是:
任何想法为什么我可以 ping,但 snap7 似乎有连接问题?
如果我无法使 profinet 通信正常工作,我是否有可能通过以太网电缆以某种方式进行 RS485 通信?我查找的所有内容都在谈论拥有进行转换的硬件,所以我假设它不仅仅是在正确的电线上寻找正确的信号格式。我在手册中找不到任何可以打开/关闭一种通信形式的东西,如果可能的话,从菜单上看它们都处于活动状态。
更好的是,如果有人在 python 中与此设备进行过通信,任何建议将不胜感激!
谢谢,
马修
更新:
如果其他人有类似的问题,我通过使用这样的套接字和 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)