A Python and Django based Open Source SCADA System


Keywords
1-wire, data-visualization, dataacquisition, hdf5, hmi, html5, modbus, modbus-rtu, modbus-serial, modbus-tcp, onewire, owfs, phant, pymodbus, python, scada, scpi, smbus, visa
License
AGPL-3.0
Install
pip install PyScada==0.7.0rc2

Documentation

PyScada a open source SCADA system

A Open Source SCADA System with HTML5 HMI, build using the Django framework. If you like to setup your own SCADA system head over to http://pyscada.rtfd.io.

Planed Changes and ToDos for Version 0.8.0

This section describes the planed changes for the next major upgrade to PyScada and will be removed after the upgrade.

  • upgrade to Django 4.2 LTS
    • deal with the app_label not defined error for pyscada/models.py
  • moving the plugins in separate repositories
    • pyscada.modbus
    • pyscada.visa
    • pyscada.phant
    • pyscada.onewire
    • pyscada.systemstat
  • renaming name of the default branche to "main"

Features

  • HTML5 based HMI
  • Supports the following industrial Protocols
  • very low Hardware requirements for the Server

Structure

https://github.com/pyscada/PyScada/raw/master/docs/pic/PyScada_module_overview.png

Dependencies

  • core/HMI
    • python 3.5
    • django==4.2
    • numpy>=1.6.0
    • pillow
    • python-daemon

What is Working

  • Modbus TCP/RTU/BIN
  • Visa (at least for the Devices in the visa/devices folder)
  • Systemstat
  • OneWire (only DS18B20)
  • phant (no known issues)
  • smbus (at least for the Devices in the smbus/device_templates folder)
  • event (no known issues)
  • export (no known issues)
  • hmi (no known issues)

What is not Working/Missing

  • Documentation
  • SysV init daemon handling
  • BACNet (due to the lack of hardware to test)

Installation

Detailed installation instruction can be found at: http://pyscada.rtfd.io .

Contribute

License

The project is licensed under the _GNU Affero General Public License v3 (AGPLv3)_. -