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

Michael Buesch 5538b2e1c1 Add links to README 1 month ago
debian 3d6af1d90c Bump version 1 month ago
doc d0ef8d44fe fpga: Update makefiles 1 month ago
linuxcnc-demo-dummyphy 9eb2633f4a linuxcnc-demo-dummyphy: Fix GSD path 2 months ago
linuxcnc-demo-et200s a038c2912b conf: Add name and index field to slave config 2 months ago
maintenance 8b5f3c4353 gen-doc: Exclude build and release directories 2 months ago
micropython 853b8acd6d micropython: Add switch to disable watchdog 1 month ago
misc 1ed8a3484a Remove Python2/Cython2 support 6 months ago
phy_fpga d0ef8d44fe fpga: Update makefiles 1 month ago
pyprofibus 3d6af1d90c Bump version 1 month ago
stublibs 18ead5c7c2 stub/configparser: Minor fixes and improvements of error texts 2 months ago
tests 2dc5860662 Fix gsd testcase 2 months ago
.gitignore 67495644a2 doc: Convert to RST 2 months ago
.gitmodules d0ef8d44fe fpga: Update makefiles 1 month ago
COPYING 076c799f00 Initial commit 4 years ago
MANIFEST.in 87eefe178a manifest: Add micropython 2 months ago
README.rst 5538b2e1c1 Add links to README 1 month ago
example_dummy.conf a038c2912b conf: Add name and index field to slave config 2 months ago
example_dummy.py f46b3e0686 micropython: Enable watchdog 2 months ago
example_et200s.conf a038c2912b conf: Add name and index field to slave config 2 months ago
example_et200s.py f46b3e0686 micropython: Enable watchdog 2 months ago
example_s7_315_2dp.conf a038c2912b conf: Add name and index field to slave config 2 months ago
example_s7_315_2dp.py f46b3e0686 micropython: Enable watchdog 2 months ago
gsdparser f0bf510eaf gsdparser: Add option to set output file 2 months ago
profisniff 692377512c phy_serial: Some simple speed optimizations 2 months ago
pyprofibus-linuxcnc-hal 98e062b54f linuxcnc-hal: Fix DPM interface use 2 months ago
setup.py 66a6568588 setup: Update categories 2 months ago

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.
* example_dummy.py
* example_dummy.conf

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

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


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

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


License
=======

Copyright (c) 2013-2020 Michael Buesch

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