canso123 发表于 2024-3-27 08:49

python读取西门子s7-400的数据,求大佬指导一下

python读取西门子s7-400的数据,求大佬指导一下,小弟想实现通过python读取西门子s7-400系列plc的数据,目前直连通了plc,但是还不会读取数据,例如I、Q、M、DB区的数据,网上找到的教程也是大多数实现不了 ,或者需求不一样,好多都是写入,不知道有没有大佬会,或者有比较新的教程。感谢各位

canso123 发表于 2024-3-27 08:50

import snap7

plc = snap7.client.Client()
plc.connect('10.112.14.112', 0, 4)

if plc.get_connected():
    print('连接成功')
else:
    print('连接失败')
data = plc.db_read(211, 0, 20)
print(data)
像这种就是可以连接成功,但是读取就是失败的。。

z746090883 发表于 2024-3-27 08:56

canso123 发表于 2024-3-27 08:50
import snap7

plc = snap7.client.Client()


Modbus RTU 还是 Modbus TCP?你下发命令了吗?光连可定没数据上传的

canso123 发表于 2024-3-27 08:57

z746090883 发表于 2024-3-27 08:56
Modbus RTU 还是 Modbus TCP?你下发命令了吗?光连可定没数据上传的

Modbus TCP应该是这个吧

z746090883 发表于 2024-3-27 09:01

canso123 发表于 2024-3-27 08:57
Modbus TCP应该是这个吧

我百度了下是TCP ,你链接成功后下发了 查询命令吗。如果不会下发你百度下modbus的使用方法,然后对照你的协议下发查询命令试试。你可以不用程序写,用“NetAssist”连上你的硬件,然后手搓一段命令发下去看是否有应答。先调通应答在写代码调

canso123 发表于 2024-3-27 09:05

z746090883 发表于 2024-3-27 09:01
我百度了下是TCP ,你链接成功后下发了 查询命令吗。如果不会下发你百度下modbus的使用方法,然后对照你 ...

好的,感谢

阳光好青年 发表于 2024-3-27 09:19

这种一般都是 s7net 协议吧,最好确认下你导入的包版本 和官方手册对比一下。400不太清楚,1200还需要PLC上打开put get。记不清了

sunflash 发表于 2024-3-27 09:51

PLC也能用Python吗?梯形图还有必要学吗

wjbg2022 发表于 2024-3-27 09:55

sunflash 发表于 2024-3-27 09:51
PLC也能用Python吗?梯形图还有必要学吗

机器语言,汇编语言,高级语言,你得了解清楚!

sai609 发表于 2024-3-27 11:24

sunflash 发表于 2024-3-27 09:51
PLC也能用Python吗?梯形图还有必要学吗

现在已经到神经网络
页: [1] 2
查看完整版本: python读取西门子s7-400的数据,求大佬指导一下