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

Michael Buesch 7ecaabb5f2 Update readme %!s(int64=3) %!d(string=hai) anos
debian ea18051e92 Bump version %!s(int64=3) %!d(string=hai) anos
doc d0ef8d44fe fpga: Update makefiles %!s(int64=4) %!d(string=hai) anos
examples 3a2f756b2d Add dummy one-slave example %!s(int64=3) %!d(string=hai) anos
linuxcnc-demo-dummyphy 8b8b74d020 dp_master: Add option for periodic diag fetching %!s(int64=3) %!d(string=hai) anos
linuxcnc-demo-et200s 8b8b74d020 dp_master: Add option for periodic diag fetching %!s(int64=3) %!d(string=hai) anos
maintenance a1d1793ab3 release: Move micropython test build to test build hook %!s(int64=3) %!d(string=hai) anos
micropython 3965898eea Add micropython build to release test %!s(int64=3) %!d(string=hai) anos
misc 1ed8a3484a Remove Python2/Cython2 support %!s(int64=4) %!d(string=hai) anos
phy_fpga 14cdf5c6dc crcgen: Update %!s(int64=3) %!d(string=hai) anos
pyprofibus a8d43e4997 phy_dummy: Set ONE bit in diag response %!s(int64=3) %!d(string=hai) anos
stublibs 18ead5c7c2 stub/configparser: Minor fixes and improvements of error texts %!s(int64=4) %!d(string=hai) anos
tests 1084c4e0de phy_dummy: Add option to disable echoing %!s(int64=3) %!d(string=hai) anos
.gitignore 67495644a2 doc: Convert to RST %!s(int64=4) %!d(string=hai) anos
.gitmodules d0ef8d44fe fpga: Update makefiles %!s(int64=4) %!d(string=hai) anos
COPYING 076c799f00 Initial commit %!s(int64=8) %!d(string=hai) anos
MANIFEST.in 5d38e0964b Move examples to subdir %!s(int64=3) %!d(string=hai) anos
README.rst 7ecaabb5f2 Update readme %!s(int64=3) %!d(string=hai) anos
gsdparser f0bf510eaf gsdparser: Add option to set output file %!s(int64=4) %!d(string=hai) anos
profisniff 692377512c phy_serial: Some simple speed optimizations %!s(int64=4) %!d(string=hai) anos
pyprofibus-linuxcnc-hal 26d6696acb linuxcnc-hal: Swap the meaning of in/out %!s(int64=3) %!d(string=hai) anos
setup.py 66a6568588 setup: Update categories %!s(int64=4) %!d(string=hai) anos

README.rst

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

`https://bues.ch/a/profibus `_

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


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-2021 Michael Buesch

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