Skip to main content

EasyS7

EasyS7 is a python library for reading datablocks from Siemens S7 series PLCs . It depends on python-snap7 library so you should first install the library.

Installation

Before installing EasyS7 you should follow the steps that are described in documentation. After that, you can install EasyS7 over package manager pip with the folowing command

$ pip install EasyS7

Usage

To be able to use this library, you should have a layout of your db that you want to read. This layout is used to get data types and their ofsets to be able to operate related byte converting operations. This layout can be obtained by copying the db from the TIA portal in to a txt file. You should copy the first 3 columns that contains the name, data type and ofset informations. An example layout is :

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

You can read the related data with this example code

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

The output dictionary is like:

{'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}

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

Metadata

Release files for EasyS7 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for EasyS7 2.0.0
File Size Uploaded Provenance Actions
EasyS7-2.0.0.tar.gz 7.2 kB Without provenance Details for EasyS7-2.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for EasyS7 2.0.0
File Interpreter ABI Platform Actions
EasyS7-2.0.0-py3-none-any.whl Python 3 none any Details for EasyS7-2.0.0-py3-none-any.whl

Total release size: 17.3 kB

Release files / EasyS7-2.0.0.tar.gz

Download URL EasyS7-2.0.0.tar.gz
Size 7.2 kB
Tags Source
SHA-256 checksum
How to use checksums
1fd7a6e11ba9eab80391aa7abde6061431484ff1b820282c94ff8495580dd82e
BLAKE2b-256 checksum
How to use checksums
9dab3d48e2571ee326e5e8082d24b9dd58b5e4e6c4690d28ed8a7f155855c8dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.9

Release files / EasyS7-2.0.0-py3-none-any.whl

Download URL EasyS7-2.0.0-py3-none-any.whl
Size 10.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
962ec63a9b2439fd2db89c87dd817b0281153149acf9fed2cf624c91575b8d7a
BLAKE2b-256 checksum
How to use checksums
923862a89ab3ff48206450dddbba84450f97a2bd0eeeb43534537256c1639eb4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.9

Security for EasyS7 2.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page