python 上位机直接与西门子变频器建立通信

利用python直接读取西门子变频器参数,省去变频器与PLC的连接,代码如下。

硬件连接:一根网线连接电脑与变频器,变频器必须要有PN口。

电脑的网络需与变频器的网络ip在同一个网段。如变频器为192.168.0.2,电脑ip可以设置成192.168.0.20

import snap7
import struct
def plc_connect(ip, rack=0, slot=1): 
    client = snap7.client.Client()
    client.connect(ip, rack, slot)
    return client
def plc_con_close(client):
    client.disconnect()
def rd_value(client,parameter_num,start,size,datatype):  # wr_value--十进制,datatype:i为整型int;数据类型: Unsigned32
    area = snap7.types.Areas.DB
    rd_value_bytearray= client.read_area(area, parameter_num, start,size)#size:数据类型,float: size=4
    rd_value=struct.unpack('!' + datatype, rd_value_bytearray)
    return rd_value,rd_value_bytearray
if __name__ == "__main__":

         ip='192.168.0.2'

        client=plc_connect(ip)

    print(rd_value(client,752,0,4,'f'))

 代码中的‘f’是怎么来的:

查手册,数据类型为floatingpoit32,在根据下表查询得到,4个字节,格式符为‘f’。

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值