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

Michael Buesch 1d8c26033d example: Update FUP diagram 8 éve
awlsim 10dddcef52 fupcompiler: Add missing fupcompiler.pxd.in 8 éve
awlsim_loader dd46b322ed coreserver: Add basic fup/kop support 8 éve
awlsimhw_debug fa93fe4aac hwmod/debug: Add synthetic errors 8 éve
awlsimhw_dummy cb363d5527 Move common code to awlsim.common package 10 éve
awlsimhw_linuxcnc 1b4e5b95c5 hwapi: Add support for dynamic parameter names 8 éve
awlsimhw_pyprofibus 0ce57a559d hw/pyprofibus: Add support for dummy PHY 8 éve
awlsimhw_rpigpio 238c72d0b8 compat: Add dict items() values() keys() compat 8 éve
debian 14cca5e27c debian: Add awlsim_loader 8 éve
doc a703e914b1 fup: Add block diagram 8 éve
examples 1d8c26033d example: Update FUP diagram 8 éve
libs 2161093120 rpigpio: Fix setup 8 éve
maintenance 648cf9763c maintenance: Add deb helper scripts 8 éve
pilc 22b5499aae pilc: Add more eth configs 8 éve
progs 5bcb65a617 Add PuTTY 8 éve
submodules 1a56219059 Update pyprofibus 8 éve
tests 94b58339cd Move parser bug test 8 éve
.gitignore 88c35614e7 gitignore: Add gsd files 8 éve
.gitmodules a5559035f8 Move all git submodules to "submodules" directory. 8 éve
COMPATIBILITY.md e7446e9ea3 md: Use <pre> 8 éve
COPYING.txt 193467d27e Clarify license conditions (GPL2+) 10 éve
MANIFEST.in cafbc5d442 Put cython build support into module 8 éve
README.md e4161dab60 Convert text files to markdown 8 éve
TODO.md bf30e7d87e Update TODO list 8 éve
awlsim-client 2d76736f0d Move cython logic to separate awlsim_loader module 8 éve
awlsim-gui 250f25803b Update copyright 9 éve
awlsim-linuxcnc-hal dd46b322ed coreserver: Add basic fup/kop support 8 éve
awlsim-server 164c250f7f awlsim-server: Fix cython helper check 8 éve
awlsim-server.service.in 149cf363ef Add basic support for SSH tunnel 8 éve
awlsim-symtab 2d76736f0d Move cython logic to separate awlsim_loader module 8 éve
awlsim-test 4de5011df1 fupcompiler: Add basic compilation 8 éve
awlsim-win.cmd 3c762eeed2 win wrapper: Add putty path 8 éve
awlsimhw_pyprofibus.conf a2825f0256 hw/pyprofibus/conf: Fix py2 compatibility 8 éve
cleantree.sh e39a8a4217 Update cleantree 8 éve
setup.py 2d76736f0d Move cython logic to separate awlsim_loader module 8 éve
setup_cython.py cafbc5d442 Put cython build support into module 8 éve
update-submodules 9622dc8e6a Add update-submodules 8 éve
win-standalone-build.cmd 466db76e17 win build: Add putty 8 éve

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.md and TODO.md files.

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.