Skip to main content

与 S7 系列 PLC 通讯的简便方法。

项目描述

易S7

EasyS7 是一个 Python 库,用于从 Siemens S7 系列 PLC 读取数据块。它依赖于 python-snap7 库,因此您应该首先安装该库。

安装

在安装 EasyS7 之前,您应该按照文档中描述的步骤进行操作。之后,您可以使用以下命令通过包管理器pip安装EasyS7

$ pip install EasyS7

用法

为了能够使用这个库,你应该有一个你想要阅读的数据库布局。此布局用于获取数据类型及其偏移量,以便能够进行相关的字节转换操作。可以通过将 db 从 TIA 门户复制到 txt 文件来获得此布局。您应该复制包含名称、数据类型和偏移信息的前 3 列。一个示例布局是:

dummy1	Real	0
dummy2	Int	4
dummy3	Int	6
dummy4	Real	8
dummy5	Real	12
dummy6	Real	16
dummy7	Real	20
dummy8	Int	24
dummy9	Int	26
dummy10	Int	28
dummy11	Int	30
dummy12	Int	32
dummy13	Int	34
dummy14	Int	36
dummy15	Int	38
dummy16	String[32]	40
dummy17	Bool	74.0
dummy18	Bool	74.1
dummy19	Bool	74.2
dummy20	Bool	74.3
dummy21	Bool	74.4
dummy22	Bool	74.5
dummy23	Bool	74.6
dummy24	Bool	74.7
dummy25	Bool	75.0
dummy26	Real	76
dummy27	Bool	80.0
dummy28	Bool	80.1
dummy29	Bool	80.2

您可以使用此示例代码读取相关数据

from EasyS7.PLC import PLC 
plc = PLC('192.168.1.100',0,1) #create a PLC object with ip, rack and slot
plc.connect() #create a connection
data = plc.readDb('path/to/file.txt',130) #read db with layout and db number

输出字典如下:

{'dummy1': 0.8399999737739563, 'dummy2': 15, 'dummy3': 120, 'dummy4': 14.0, 'dummy5': 4.510000228881836, 'dummy6': 2.7216904163360596, 'dummy7': 0.19440646469593048, 'dummy8': 2, 'dummy9': 0, 'dummy10': 0, 'dummy11': 0, 'dummy12': 0, 'dummy13': 0, 'dummy14': 0, 'dummy15': 0, 'dummy16': 'Kompozit 3', 'dummy17': False, 'dummy18': False, 'dummy19': False, 'dummy20': False, 'dummy21': False, 'dummy22': False, 'dummy23': False, 'dummy24': False, 'dummy25': False, 'dummy26': 67.78571319580078, 'dummy27': False, 'dummy28': False, 'dummy29': True}

贡献

欢迎请求请求。对于重大更改,请先打开一个问题讨论您想要更改的内容。

执照

麻省理工学院

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

EasyS7-2.0.0.tar.gz (7.2 kB 查看哈希

已上传 source

内置分布

EasyS7-2.0.0-py3-none-any.whl (10.1 kB 查看哈希

已上传 py3