Python通过snap7库与西门子S7-200smart 读取 M0.4,0.5,0.6,0.7数据问题
论文问答
1
根据网上的说明
例子:M3.2位置写入1,并读出来
client.write_area(snap7.types.Areas.MK,0,3,struct.pack('B',4))
这里表示对中间M区中的M3.2位置写入1。4->0100
我试了一下读取方法只能读取到0F ,也就是 二进制 1111,对应M0.0 0.1 0.2 0.3
请问我想读取M0.4,0.5,0.6,0.7这些区域的值应该怎么写语句,谢谢
-
client.write area(snap7.types.Areas.DB,1,4,data tobewrite) 4个参数分别是:地址区、地址区号、起始地址、数据 read_area(self, area: Areas, dbnumber: int, start: int, size: int) 4个参数分别是:地址区、地址区号、起始地址、数据数量 写入的时候不需要数量参数,因为你传入的本身就是byte数组,数据数量就是byte数组长度 读取的时候,你传入参数1,当然就只读取1个字节,data的长度也只有1,你改成别的多试试呗
-
4个参数分别是:地址区、地址区号、起始地址、数据 read_area(self, area: Areas, dbnumber: int, start: int, size: int) 4个参数分别是:地址区、地址区号、起始地址、数据数量
发表回复