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这些区域的值应该怎么写语句,谢谢

回复

共2条回复 我来回复
  • 源码客栈网
    这个人很懒,什么都没有留下~
    评论

    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,你改成别的多试试呗

    0条评论
  • 代码客栈
    这个人很懒,什么都没有留下~
    评论

    4个参数分别是:地址区、地址区号、起始地址、数据 read_area(self, area: Areas, dbnumber: int, start: int, size: int) 4个参数分别是:地址区、地址区号、起始地址、数据数量

    0条评论

发表回复

登录后才能评论