Project home: https://bues.ch/a/profibus Original repository at: https://git.bues.ch/git/pyprofibus.git https://bues.ch/a/profibus

Michael Buesch e7c9815893 Update crcgen hace 4 meses
debian 81ac41f7f6 Update debian control hace 4 meses
doc f2f3d98611 doc: Fix yosys links hace 2 años
examples c80cdfb6f6 Update examples hace 11 meses
maintenance 73e86dbb28 releasescript: Update version parsing hace 11 meses
micropython 2d93987064 micropython: Fixes for moved examples hace 2 años
misc 4ef976114e Add support for Cython 3.x hace 4 meses
phy_fpga e7c9815893 Update crcgen hace 4 meses
pyprofibus 4ebfc0ac40 Bump version hace 11 meses
stublibs 18ead5c7c2 stub/configparser: Minor fixes and improvements of error texts hace 3 años
tests bc1490e908 tests: Add testcase for connection status hace 2 años
.gitignore 67495644a2 doc: Convert to RST hace 3 años
.gitmodules d0ef8d44fe fpga: Update makefiles hace 3 años
COPYING 076c799f00 Initial commit hace 8 años
MANIFEST.in 381499d8ca Move LinuxCNC demo to examples directory hace 2 años
README.rst 4ef976114e Add support for Cython 3.x hace 4 meses
gsdparser f0bf510eaf gsdparser: Add option to set output file hace 3 años
profisniff 692377512c phy_serial: Some simple speed optimizations hace 3 años
pyprofibus-linuxcnc-hal b6f665616b linuxcnc: Port to Python 3 hace 11 meses
setup.py dd93704719 Update setup.py hace 11 meses

README.rst

pyprofibus - PROFIBUS-DP stack
==============================

pyprofibus is an Open Source `PROFIBUS-DP `_ stack written in Python.

`pyprofibus home `_

`Git repository `_

`Github repository `_


Hardware
========

pyprofibus is able to run on any machine that supports Python. It also runs on embedded machines such as the `Raspberry Pi `_ or even tiny microcontrollers such as the `ESP32 `_ (Micropython).

Please read the hardware documentation for more information:

`pyprofibus hardware documentation `_


Speed / Baud rate
=================

The achievable Profibus-DP speed depends on the hardware that it runs on and what kind of serial transceiver is used. There is no software side artificial limit.

Please see the `pyprofibus hardware documentation `_


Examples
========

pyprofibus comes with a couple of examples that can teach you how to use pyprofibus in your project.

* Example that runs pyprofibus without any hardware. This example can be used to play around with pyprofibus.
* examples/example_dummy_oneslave.py
* examples/example_dummy_oneslave.conf
* examples/example_dummy_twoslaves.py
* examples/example_dummy_twoslaves.conf
* examples/example_dummy_inputonly.py
* examples/example_dummy_inputonly.conf

* Example that runs pyprofibus as master connected to an ET200S as slave.
* examples/example_et200s.py
* examples/example_et200s.conf

* Example that runs pyprofibus as master connected to an S7-315-2DP as *slave*.
* examples/example_s7-315-2dp.py
* examples/example_s7-315-2dp.conf


Dependencies
============

* `Python `_ 3.5 or later.
* Or alternatively `Micropython `_. Please see the `pyprofibus Micropython help `_ for more information.


License
=======

Copyright (c) 2013-2024 Michael Büsch

Licensed under the terms of the GNU General Public License version 2, or (at your option) any later version.