通过python与Fluke耐久高温计(profinet/RS485)通信

2024-10-01 00:19:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Fluke耐久高温计(和一个相当脆弱的用户指南),它通过以太网电缆输出,然后我通过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设备

因此,我的问题是:

  1. 知道为什么我可以ping,但是snap7似乎在连接上有问题吗

  2. 如果我无法使用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)

Tags: 用户importmessageconnect指南socketpingplc