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

Michael Buesch a8d42a747c Upgrade .awlpro files to file format 1 1 day ago
awlsim ad92924cb3 Use XML CDATA for all sources 2 days ago
awlsim_loader 4b7768ca93 core: Move parser to awlcompiler submodule 2 months ago
awlsimhw_debug 2741fd7905 awlsimhw_dummy/debug: Add support for I/O outside of the process image region 1 week ago
awlsimhw_dummy 2741fd7905 awlsimhw_dummy/debug: Add support for I/O outside of the process image region 1 week ago
awlsimhw_linuxcnc 1b4e5b95c5 hwapi: Add support for dynamic parameter names 1 year ago
awlsimhw_pyprofibus 0ce57a559d hw/pyprofibus: Add support for dummy PHY 10 months ago
awlsimhw_rpigpio 238c72d0b8 compat: Add dict items() values() keys() compat 4 months ago
debian 564319e8b2 Add awlsim-proupgrade to setup 1 week ago
doc 564319e8b2 Add awlsim-proupgrade to setup 1 week ago
examples a8d42a747c Upgrade .awlpro files to file format 1 1 day ago
libs 2161093120 rpigpio: Fix setup 1 year ago
maintenance d246aa6e88 maintenance: Add proupgrade script 2 days ago
pilc 4da222bcdd pilc: Install RPi.GPIO for PyPy 3 months ago
progs 5bcb65a617 Add PuTTY 8 months ago
submodules ac8b991997 Update pyprofibus 2 weeks ago
tests a8d42a747c Upgrade .awlpro files to file format 1 1 day ago
.gitignore 7cde4e890c Add generated doc files to gitignore 3 months ago
.gitmodules a5559035f8 Move all git submodules to "submodules" directory. 9 months ago
COMPATIBILITY.md c4e79739bc doc: Fix typo 3 months ago
COPYING.txt 193467d27e Clarify license conditions (GPL2+) 2 years ago
MANIFEST.in 9433b1f5e7 Move setup_cython.py to maintenance directory 2 months ago
QUICK-START.md 4058500794 Add QUICK-START documentation 3 months ago
README.md 11ad359339 README: Add reference to examples 3 months ago
TODO.md 102b3590a1 Update TODO 2 weeks ago
awlsim-client 2d76736f0d Move cython logic to separate awlsim_loader module 5 months ago
awlsim-gui 250f25803b Update copyright 1 year ago
awlsim-linuxcnc-hal 9cab2bcaa0 Add CpuConfig to store CPU configuration values 1 week ago
awlsim-proupgrade 91d08301c6 proupgrade: Add info message 2 days ago
awlsim-server 164c250f7f awlsim-server: Fix cython helper check 4 months ago
awlsim-server.service.in 149cf363ef Add basic support for SSH tunnel 8 months ago
awlsim-symtab 679c96bcfd Move legacy latin_1 handling to sources 1 week ago
awlsim-test 9cab2bcaa0 Add CpuConfig to store CPU configuration values 1 week ago
awlsim-win.cmd bbaa7ed08d Update windows build scripts 2 months ago
awlsimhw_pyprofibus.conf a2825f0256 hw/pyprofibus/conf: Fix py2 compatibility 10 months ago
setup.py 564319e8b2 Add awlsim-proupgrade to setup 1 week ago

README.md

Awlsim - S7 compatible Soft-PLC

Awlsim is a free Step 7 compatible AWL/STL Soft-PLC written in Python.

The latest version of awlsim can be downloaded from the official awlsim site.

Awlsim - Soft-PLC

Awlsim is a free Step 7 compatible AWL/STL Soft-PLC written in Python. Depending on the host machine and the Python interpreter used, it achieves good performance of several thousand to millions of AWL/STL instructions per second. German and English S7 AWL/STL mnemonics are supported.

AWL/STL programs on PLCs are used for automation of industrial processes. However Awlsim is very flexible, so it can be used for other purposes beyond industrial applications, too. Awlsim aims to be compatible with the industry standard S7 software on the AWL/STL level.

Awlsim can emulate CPUs with two and four accumulator registers (S7-3xx and S7-4xx). Compatibility to S7 hardware is a task taken seriously by the awlsim project. We want to be as close as possible to the real PLC hardware with our AWL/STL code execution. For this reason awlsim ships an extensive selftest suite. Missing features and differences between awlsim and Step 7 are documented in the COMPATIBILITY documentation and TODO documentation files.

Quick start tutorial

See the quick start tutorial for a simple example on how to use Awlsim in simulator mode. Simulator mode does not require any special hardware to run.

Example project

If you don't know where to start, you can find an example project in the examples directory as EXAMPLE.awlpro. You can easily run this example in simulation mode without the need for special hardware.

License / Copyright

Copyright (C) Michael Büsch / et al.

Awlsim is Open Source Free Software licensed under the GNU General Public License v2+. That means it's available in full source code and you are encouraged to improve it and contribute your changes back to the community. Awlsim is free of charge, too.