当前位置:主页 > python教程 > python snap7读写PLC

python snap7读写PLC的操作方法

发布:2023-03-30 08:30:01 59


给网友们整理相关的编程文章,网友毛楚楚根据主题投稿了本篇教程内容,涉及到python、snap7读写PLC、python、snap7、python、读写PLC、python snap7读写PLC相关内容,已被232网友关注,相关难点技巧可以阅读下方的电子资料。

python snap7读写PLC

主要在DB块里操作

读DB块

import snap7
import struct
 
def plc_connection():
    PLC_IP = '192.168.10.10'
    PLC = snap7.client.Client()
    PLC.connect(PLC_IP, rack=0, slot=1)
    return PLC
PLC = plc_connection()

PLC.read_area()方法从PLC中读取指定区域的数据。
1200表示DB块的编号,90表示DB块内的偏移地址,4表示要读取的字节数。 

data2=PLC.db_read(db_number=1200, start=90, size=4)
print(data2)

data2是个bytearray(b'\x00\x00\x00\x05'),struct.unpack()方法将读取到的4个字节数据按照大端字节序("!"表示大端字节序)解包为一个整数。解包的结果以元组的形式返回

data3 = struct.unpack('!i', data2)
print(data3)
#data3 = 5

'!i''!h'都是Python中struct库中的格式化字符串,用于指定要解析的二进制数据的格式和字节顺序。

其中:

  • '!'表示使用网络字节顺序(big-endian)。
  • 'i'表示要解析的数据类型是4字节的整数,也就是int类型。
  • 'h'表示要解析的数据类型是2字节的有符号整数,也就是short类型。

因此,'!i'用于解析4字节的大端整数,'!h'用于解析2字节的大端有符号整数。

当解析不同类型的数据时,需要使用相应的格式化字符串。在这里,根据PLC中数据类型的不同,可以选择不同的格式化字符串来解析数据。通常需要根据PLC的数据类型和大小来选择正确的格式化字符串,否则解析出来的数据将会是错误的。

写DB块

已经知道这个要写入的DB块是DINT类型的。要把数字1写进去

a=struct.pack('!i', 1)

a= b'\x00\x00\x00\x01'

PLC.db_write(1200, 90, a)

在这个例子中,1200表示要写入的DB块的编号,90表示从该块的偏移地址90处开始写入数据,b'\x00\x00\x00\x01'表示要写入的四个字节的数据。

到此这篇关于python snap7读写PLC的文章就介绍到这了,更多相关python snap7读写PLC内容请搜索码农之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持码农之家!


参考资料

相关文章

  • Python3将爬取的信息保存到本地的方法代码

    发布:2020-01-17

    这篇文章主要介绍了Python3爬虫学习之将爬取的信息保存到本地的方法,结合实例形式详细分析了Python3信息爬取、文件读写、图片存储等相关操作技巧,需要的朋友可以参考下


  • Python 实用技巧之利用Shell通配符做字符串匹配

    发布:2023-01-03

    给网友朋友们带来一篇关于Python的教程,这篇文章主要介绍了Python 实用技巧之利用Shell通配符做字符串匹配的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下


  • Python读取大量Excel文件并跨文件批量计算平均值的方法

    发布:2023-04-22

    这篇文章主要介绍了Python读取大量Excel文件并跨文件批量计算平均值,介绍基于Python语言,实现对多个不同Excel文件进行数据读取与平均值计算的方法,需要的朋友可以参考下


  • Python画个美国队长队盾牌实例教程

    发布:2019-06-19

    这篇文章主要介绍了用Python练习画个美队盾牌,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • Python运算符的作用与意义

    发布:2020-03-24

    本章节主要说明Python的运算符。举个简单的例子 4 +5 = 9 。 例子中,4 和 5 被称为操作数,+ 称为运算符。


  • python实现Google翻译PDF如何解决换行的问题

    发布:2020-04-21

    今天小编就为大家分享一篇浅谈python实现Google翻译PDF,解决换行的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • Python使用pyinstaller实现学生管理系统流程

    发布:2023-04-23

    pyinstaller是一个非常简单的打包python的py文件的库,下面这篇文章主要给大家介绍了关于Python Pyinstaller库安装步骤以及使用方法的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下


  • 通过Python爬虫代理IP快速增加博客阅读量

    发布:2022-09-23

    给大家整理一篇关于Python 爬虫的教程,本文主要对通过Python爬虫代理IP快速增加博客阅读量的方法进行分析介绍。具有很好的参考价值,需要的朋友一起来看下吧


网友讨论