forked from mbuesch/awlsim
-
Notifications
You must be signed in to change notification settings - Fork 2
/
COMPATIBILITY.txt
28 lines (23 loc) · 1.31 KB
/
COMPATIBILITY.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
awlsim - STEP 7 compatibility
=============================
The execution of AWL/STL programs by awlsim is supposed to be fully
compatible with the execution of compiled AWL/STL programs on the real
Siemens S7 CPU.
However, there currently are some known differences. These are listed below.
Any undocumented difference between awlsim and STEP 7 is considered to be a
bug that should be reported.
- awlsim does not implement all features of STEP 7, yet.
See TODO.txt for a list of missing features.
- awlsim does not compile AWL/STL to MC7 code and it cannot execute MC7 code.
On startup awlsim translates the AWL/STL code to an awlsim specific in-memory
representation of the code. There is no byte-code representation for this
code.
- Some key concepts, such as CALL or memory indirect adressing are implemented
natively on awlsim. That means CALL is not a macro in awlsim. This improves
runtime performance. From a user's perspective there should not be any
functional difference visible. Any such difference is a bug.
- Undefined behavior is not emulated.
For example: If reading uninitialized L-stack space on STEP 7 always yields
a certain reproducible result, that does not mean that this AWL/STL code does
the same thing on awlsim.
Reading uninitialized memory is undefined.