西门子PLC1200--与电脑S7通讯

硬件构成

PLC为西门子1211DCDCDC
电脑上位机用PYTHON编写
二者通讯用网线,通讯协议用S7

PLC上的设置

以太网地址要在网一个网段内,即192.168.XX.YY,
此处电脑和PLC的XX需要相同,以保证是在同一网段,其取值范围是0-255,
但是YY需要不同,且与局域网内的所有设备均不重复。
在这里插入图片描述

要勾选 " 允许来自远程对象的PUT/GET通信访问 ", 否则会无法通讯。
在这里插入图片描述

PLC上的数据

PLC上的数据是2个uint,在DB1,地址偏移分别是0和2
需要注意的是DB块要关闭优化的块访问,否则是没有偏移地址的
在这里插入图片描述
PLC中的数据内容如下:
在这里插入图片描述
在监控表中将数据设置如下
在这里插入图片描述
41和42就是AB
63和64就是cd

Python编程

需要先安装snap7库

pip3 install python-snap7

完整代码如下

import snap7
import time

plc1 = snap7.client.Client()
plc1.connect('192.168.60.43', 0, 1)
print(f"connect: {plc1.get_connected()}")

for x in range(0, 10):
    data = plc1.read_area(snap7.type.Areas.DB, 1, 0, 4)
    print(data)
    time.sleep(0.5)

plc1.disconnect()

代码说明:

plc1.connect('192.168.60.43', 0, 1)

192.168.60.43是PLC的IP地址,0和1是默认连接参数,用默认的就行

data = plc1.read_area(snap7.types.Areas.DB, 1, 0, 4)    # 读取数据

将读取的数据存放到data,
括号内的参数:
snap7.types.Areas.DB 表示读取的是DB块
1 PLC中待访问的DB块的编号
0 数据的起始偏移地址,也就是图2中的偏移量
4 数据的长度,4字节

运行结果

在这里插入图片描述
连接状态:True
数据 ABcd 正常读出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值