A Python wrapper for the snap7 PLC communication library with easy variable management
Project description
Python Snap7 Easy Vars
A Python wrapper for the snap7 PLC communication library with easy variable management
Quick Start
Install the package via pip:
pip install python-snap7-easy-vars
Import the library and create a data structure:
import snap7_easy_vars
class MyPLCData(snap7_easy_vars.PLCData):
# Define PLC variables with their data types and offsets
temperature = snap7_easy_vars.PLCRealField(byte_offset=0)
pressure = snap7_easy_vars.PLCWordField(byte_offset=4)
# By default, fields are read-only; to make a field settable, use the 'settable' parameter
status = snap7_easy_vars.PLCBoolField(byte_offset=6, bit_offset=0, settable=True)
Connect to the PLC and read/write data:
my_plc_data = MyPLCData()
my_plc_connection = snap7_easy_vars.PLCConnection(
ip_address="192.168.0.1", # PLC IP address
data_store=my_plc_data,
db_number=1, # PLC DB number
rack=0, # PLC rack number
slot=1, # PLC slot number
port=102, # PLC port number
)
# Connect to the PLC
my_plc_connection.connect()
# Read data from the PLC
my_plc_connection.read()
# Read variables
print(f"Temperature: {my_plc_data.temperature}")
print(f"Pressure: {my_plc_data.pressure}")
print(f"Status: {my_plc_data.status}")
# Modify a variable and write back to the PLC
my_plc_data.status = True
my_plc_connection.write()
Authors
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file python_snap7_easy_vars-1.0.3.tar.gz.
File metadata
- Download URL: python_snap7_easy_vars-1.0.3.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
296398a6dec145d66773a7ee0dbcbc9c17f946b9ef3233aaa5fe26068b39d77a
|
|
| MD5 |
9b1ea955ca043da29b641fbf8fdd57c6
|
|
| BLAKE2b-256 |
31ccf267b2d9f726c23c5ec358b95eaf6986e54df95e6ce3ba80a658ce1ab3d8
|
File details
Details for the file python_snap7_easy_vars-1.0.3-py3-none-any.whl.
File metadata
- Download URL: python_snap7_easy_vars-1.0.3-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
884e73dbb16a0abe0bf9e7fa21565f0920863e9f16912db2d68afd258960414a
|
|
| MD5 |
35a56554d3b6471765e4246fdde06d60
|
|
| BLAKE2b-256 |
6c9be31d8c1f5db91bf9a4e27f09b62882033622dbb66838f358a0827fe08697
|