Appendix G:  - Siemens Import 
CoDeSys V2.3 
10-81 
+, - with the following operands: D (32 bit fixed point number) 
!=, ><, >, <, >=, <= with the following operands: F, D, G 
ADD with the following operands: BF, KF, DH 
SPA, SPB with the following operands: PB, FB (with most parameter types), SB 
A, AX with the following operands: DB, DX 
BE, BEA, BEB 
BLD, NOP, *** 
UW, OW, XOW 
KEW, KZW, KZD 
SLW, SRW, SLD, RRD, RLD 
SPA=, SPB= 
SPZ=, SPN=, SPP=, SPM= 
TAK 
D, I 
Most of the formal operand commands 
Unconvertible Commands 
U, UN, O, ON, S, R, =  with the following bit operands: Timer and counter bits (T0.0, C0.0) 
L, T with the following operand ranges: Q (expanded periphery) 
LC with the following operands: T, C 
SV, SS, R, FR with the following operands: T 
FR with the following operands: C 
Formal operand commands for starting, resetting and releasing timers 
All commands with operands from the ranges BA, BB, BS, BT (operating system data). 
SPA, SPB with the following operands: OB (works only with certain S5's and certain OBs ) 
BA, BAB with the following operands: FX 
E, EX with the following operands: DB, DX 
STP, STS, STW 
DEF, DED, DUF, DUD 
SVW, SVD 
SPO=, SPS=, SPR 
AS, AF, AFS, AFF, BAS, BAF 
ENT 
SES, SEF 
B with the following operands: DW, MW, BS 
LIR, TIR, LDI, TDI, TNW, TXB, TXW 
MAS, MAB, MSA, MSB, MBA, MBS 
MBR, ABR 
LRW, LRD, TRW, TRD 
Convert pdf to webpage - Library application API:C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net, ASP.NET MVC, WinForms, WPF application
How to Convert PDF to HTML Webpage with C# PDF Conversion SDK
www.rasteredge.com
Convert pdf to webpage - Library application API:VB.NET PDF Convert to HTML SDK: Convert PDF to html files in vb.net, ASP.NET MVC, WinForms, WPF application
PDF to HTML Webpage Converter SDK for VB.NET PDF to HTML Conversion
www.rasteredge.com
Appendix G:  - Siemens Import 
10-82 
CoDeSys V2.3 
TSG 
LB, TB, LW, TW with the following operands: GB, GW, GD, CB, CW, CD 
ACR, TSC 
BI 
SIM, LIM 
If you examine the commands that cannot be converted you will see that they are generally special 
commands  that  are  only  available  on  certain  CPUs.  The  standard  commands  that  cannot  be 
converted to IEC are: loading BCD coded timer or counter values (LC T, LC C), timer types SV and 
SS, and resetting timers. 
Data Blocks 
STEP5 data blocks are converted into POUs (Program Organization Units) that have a header but no 
code. This is convenient if the data blocks are used as normal variable ranges but inconvenient if 
attempts have been made to manually implement concepts like instance data blocks in the STEP5 
program. 
Other Problems when Importing from STEP5 
The STEP5 import can be improved manually in the following ways. 
1. Time values in word variables 
In STEP5 a time value is allowed in every word address be it in the memory location area or in a data 
block. This is not allowed in IEC 61131-3, TIME variables or constants are not compatible with WORD 
addresses. This can result in the creation of erroneous command sequences when importing from 
STEP5. This will not happen if you open a data block and select the time format (KT) for the address 
in question. In other words, this error only occurs when the STEP5 program is worth the effort of 
improving  it. When it does occur, you  will see the message "Incompatible  Types: Cannot convert 
WORD to TIME." or "Incompatible Types: Cannot convert TIME to WORD." You must then modify the 
declaration for the WORD variable (if available) and turn it into a TIME variable. 
2. Failure to Access Data Blocks 
There are no data blocks in IEC 61131-3 and it is impossible completely to recreate them in IEC. In 
STEP5 they are used as normal variable ranges (almost like a memory location ranges), and also in 
the form of arrays (B DW), pointers (B MW100 A DB 0) or unions (byte, word or double word access in 
DBs ). STEP5 conversion can only convert DB access if it is somewhat structured. When attempting 
to access DBs
you must know which DB is open (A DB). You must be aware of this when the A DB 
operation is closer to the beginning in the same POU or when the DB number is included with the 
POU as a formal parameter. If A DB is not found in front of the first DB access, the POU cannot be 
converted. The warning "No open data block (insert an A DB)" notifies you that this is the case. In the 
converted POU, you will see access to an undefined variable named "ErrorDW0" (for example) that 
will cause an error message to be generated when the newly converted POU is compiled. You can 
then replace the variables with access to the correct DB (e.g., replace "ErrorDW0" with "DB10.DW0"). 
The other option is to discard the converted POU and insert an A DB at the beginning of the POU in 
STEP5. 
A STEP5 POU that accesses data words (data bytes, etc.) should always open the data block first. If 
necessary, the POU should be improved before being imported by inserting the appropriate A DB 
command preferably at the beginning of the POU. Otherwise the converted POU will have to be edited 
after the fact. 
If there is more than one A BD operation that must be partially skipped, the conversion may have a 
errors, i.e., code may be generated that accesses the wrong DB. 
3. Higher Concepts Related to Data Block Access 
In STEP5 you have the option of creating something similar to instances by having the Code block 
open  an  indexed  version  of  a  data  block.  This  could  be  done  with  the  following  sample  code 
sequence: 
L KF +5 
Library application API:Online Convert PDF to HTML5 files. Best free online PDF html
HTML converter library control is a 100% clean .NET document image solution, which is designed to help .NET developers convert PDF to HTML webpage using simple
www.rasteredge.com
Library application API:VB.NET PDF Convert to Tiff SDK: Convert PDF to tiff images in vb.
Able to convert PDF to Tiff in .NET WinForms application and ASP.NET webpage. Convert PDF file to Tiff and jpeg in ASPX webpage online.
www.rasteredge.com
Appendix G:  - Siemens Import 
CoDeSys V2.3 
10-83 
T MW 44 
B MW 44 
A DB 0 
The DB5 is opened at the end of this sequence (in general, the DB whose number is found in the 
memory  location  word  %MW44  will  be  opened).  This  type  of  access  is  not  recognized  in  the 
conversion which means that the following changes have to be made after the conversion: 
First, all DBs
must be imported that act as instance DBs , e.g., DB5 and DB6. They will be imported 
as normal IL, LD or FBD POUs whichever you prefer. The POUs do not have a code, but rather a 
header  with definitions  of  local  variables. Type  instances  can  now  be  created  from these  POUs. 
Create a user-defined type (e.g., named DBType) and insert the local variables and converted DBs
as 
components. Then create global instances of this type by writing to a global variable list: 
VAR_GLOBAL 
DB5, DB6 : DBType; 
END_VAR 
You can now delete the converted DBs
from your project. 
Then you have to create a copy of the indexed version of the DBs
by giving the corresponding POU 
another  VAR_INPUT  parameter  of  the  type  DBType.  Data  access  within  the  POU  must  now  be 
redirected to this instance. You must then include one of the instance DBs
as an actual parameter 
when you open it. 
4. The so-called integrated S5 function blocks that have a STEP5 access interface have a special 
function but their implementation is either not written in STEP5 (or MC5) or is protected by a special 
mechanism. POUs of this kind are generally firmware and can only be "imported as and interface". 
The  implementation  portion  of  this  type  of  POU  is  empty.  These  POUs  must  generally  be 
reprogramed after being converted. 
5. There are also firmware OBs
that have no interface but whose code is in 805xx Assembler (as an 
example) and not in STEP5. This mainly affects the PID regulator listed as OB251 which obtains its 
parameters and local variables through a separate (data) block that you can select. Neither the PID 
regulator, the corresponding data block or other POUs that use regulators to access the data block 
can be converted to IEC. The IEC code that is created for data blocks and other POUs during the 
conversion is meaningless without the PID regulator. The meaning of the individual program parts can 
be found in the programming handbook for the CPU. 
6. Configuration data blocks (like DB1 [S5-95U], DX0, and DX2) are sometimes used to configure S5 
CPUs
and other assemblies that were converted into useless IEC POUs. The meaning of much of this 
type of data can be found in the programming handbook for the CPU. For the rest you must use a S5 
programming system that can evaluate the configuration DBs . The configuration affects settings for 
communication, analog value processing, multiprocessing, etc. Therefore, it is useless to even think 
about working with these POUs on a non-Siemens SPS. 
Once the import is complete, you have to find the errors that are shown and then fix, add to and 
rewrite the affected spots. These spots are marked with comments like: 
(*Warning! Unconvertible STEP5/7 code shown as comment:*) 
This is followed by the unconvertible code which is also shown as a comment. 
Finally, you must check the addresses. Original Siemens addresses are created during the import. 
These addresses have the following format: 
Bits: Byte-Offset.Bit-Nummer 
Non-Bits:Byte-Offset 
Also word addresses that follow each other in sequence will overlap (simply due to the fact that the 
numbers  in  the  addresses  are  byte  offsets).  This  means  that  %MW32  and  %MW33  have  an 
overlapping byte which is %MB33 (only on a Siemens SPS). On your SPS, %MW32 and %MW33 
would not normally have anything to do with each other. 
Library application API:C# Word - Convert Word to HTML in C#.NET
VB.NET How-to, VB.NET PDF, VB.NET Word, VB.NET Excel, VB.NET PowerPoint, VB.NET Tiff, VB.NET Imaging, VB.NET OCR How to Convert Word to HTML Webpage with C#
www.rasteredge.com
Library application API:C# powerpoint - Convert PowerPoint to HTML in C#.NET
HTML in C#.NET. How to Convert PowerPoint to HTML Webpage with C# PowerPoint Conversion SDK. PowerPoint to HTML Conversion Overview.
www.rasteredge.com
Appendix G:  - Siemens Import 
10-84 
CoDeSys V2.3 
Your  PLC  may  have  more  hierarchies.  For  example,  non-bits  have  several  interlocking  levels 
("%MW10.0.0" as WORD). You can either make changes to the addresses to make them compatible 
with  your PLC  or  you  can  try to  leave  them  out  entirely. Proceed very  cautiously! In  the  original 
Siemens program, it is quite common that word access and bit or byte access is made in the same 
memory location. When imported into CoDeSys, accesses of this type will only be correctly compiled 
for data blocks. In this case, CoDeSys creates WORD variables for the words in the DBs . Then when 
WORD accesses word x in DB y there are no problems. Attempts to access the left or right byte in 
word x, a double word or a bit will then be compiled into more complex expressions. This cannot be 
done with memory locations, inputs or outputs since this can't be done with a standard access method 
(e.g., word access). If you are working with %MX33.3 and with %MB33 or %MW32 or %MD30 you 
must go to  the  effort of converting them manually. The  IEC program  generated by the CoDeSys 
import will definitely not work correctly. 
Open a cross reference list containing all inputs, outputs and  memory locations to find out  which 
accesses are important. Remove the mixed accessed manually. 
Library application API:C# HTML5 PDF Viewer SDK to view, annotate, create and convert PDF
edit PDF document page in ASPX webpage, set and edit RasterEdge provide HTML5 PDF Viewer and Editor to help C# users to view, annotate, convert and edit
www.rasteredge.com
Library application API:VB.NET PDF Convert to Word SDK: Convert PDF to Word library in vb.
Best VB.NET adobe PDF to Microsoft Office Word converter SDK for Visual Studio .NET. Convert PDF to Word in both .NET WinForms and ASP.NET webpage.
www.rasteredge.com
Appendix H:  - Target Settings in Detail 
CoDeSys V2.3 
10-85 
Appendix H:   Target Settings in Detail 
10.29 Settings in Category Target Platform 
10.29.1 
Target system Intel 386 compatible, Category Target Platform 
Dialog Target Settings 'Intel386 compatible', Target Platform   
Dialog item 
Meaning 
Platform 
Type of the target-system 
Support float processor 
if activated: FPU-commands are generated for floating point operations 
Debugging in multitasking 
environment 
if activated: additional code is generated, which permits debugging in multitasking 
environments 
Optimized jumps 
if activated: optimized  conditional jumps after  compare operations; faster +  less 
code  (especially  on  386/486); Lines  containing conditions  before  jumps  will  be 
displayed in grey color in flow control mode 
Optimized operations with 
constants 
Optimized operations with constants (A = A + 1, A < 500 etc.); Faster + less code 
(especially on 386/486); Constants will be monitored in grey color in flow control 
mode 
Optimized Loadoperations 
No  load  operations  will  be  executed at  multiple access on  a  variable/constant; 
Faster + less code 
Library application API:C# Excel - Convert Excel to HTML in C#.NET
C# Excel - Convert Excel to HTML in C#.NET. How to Convert Excel to HTML Webpage with C# Excel Conversion SDK. Excel to HTML Conversion Overview.
www.rasteredge.com
Library application API:VB.NET TIFF: Convert TIFF to HTML Web Page Using VB.NET TIFF
converters, like VB.NET PDF to HTML converter toolkit to convert PDF document to HTML webpage and VB.NET Word to HTML conversion add-on to transform Microsoft
www.rasteredge.com
Appendix H:  - Target Settings in Detail 
10-86 
CoDeSys V2.3 
10.29.2 
Target system Motorola 68K, Category Target Platform 
Dialog Target Settings 'Motorola 68K', Target Platform  
Dialog item 
Meaning 
Platform 
Target type 
CPU 
Variant of the 68k CPU: basic version 68000 or CPU32 and larger 
Support Float Processor 
if activated: FPU-commands are generated for floating point operations 
Use 16 bit jump offsets  
if activated:  Jumps for  evaluating  Boolean expressions work with  relative 16 bit 
Offsets (more complex expressions are possible, but larger code) 
if not activated: 8 bit Offsets are used 
allow byte-aligned 
structures 
if activated: only addressing even addresses 
if not activated: addressing of odd addresses also possible 
Reserved Register 1 
A2,A4,A5,A6:  The  indicated  address  register  is  reserved  and  not  used 
If None: it can be used by the code generator 
Reserved Register 2 
Additional reserved address  register. The indicated address register is reserved 
and not used If "None" it can be used by the code generator 
Base register for library 
data  
Register  for  addressing  static  data  within  C  libraries  (before  calling  up  library 
functions it is loaded with the address of free memory). If "None" A5 is used as 
pre-set value. 
Output-Mode 
Nothing = no output 
Assembler  = During  compiling  a  file  "code68k.hex"  is  created  in  the  compiling 
directory  (Setting  under  "Project/Options/Directories").  It  contains the  generated 
Assembler Code. 
Disassembler = In addition to 1 the file contains the Disassembler Code 
Appendix H:  - Target Settings in Detail 
CoDeSys V2.3 
10-87 
10.29.3 
Target system Infineon C16x, Category Target Platform 
Dialog Target Settings 'Infineon C16x', Target Platform 
Dialog item 
Meaning 
Platform 
Target type 
Code / Compiler:  
Compiler used during compiling of the target-system and the libraries (on 
account of C calling conventions) 
Code / Stack size 
Maximum call depth (nesting) 
Code / Data 
Memory model for data 
Code / Functions 
Memory model for code 
Init. functions 
if activated: Functions contain initialisation code for local variables 
Optimize 
if activated: Code optimizations for constant array indices 
Output HEX-File 
if activated: Output of a Hex-Dump of the code 
Output BIN-File 
if activated: Output of a binary file of the code 
Output MAP 
if activated=Output of a map-file of the code 
Output LST 
if activated=Output of a list-file of the code 
Output LST , of addresses 
if activated=Output of a list of the addresses 
DPPs /  
DPP0..DPP2 
In Instances 
Data Page Pointers are set 
DPP for DPP0, DPP1, DPP2 
DPP for short addressing of function block Instances 
Libraries / 
Code 
Tables 
Data 
Data length 
POUs 
References 
Settings for libraries: 
Start addresses for code, tables, data, data length, blocks, references 
Appendix H:  - Target Settings in Detail 
10-88 
CoDeSys V2.3 
10.29.4 
Target systems Intel StrongARM und Power PC, Category Target Platform 
The dialog items for these two target systems are identic. 
Dialog Target Settings 'PowerPC', Target Platform 
Dialog item 
Meaning 
Platform 
Target type 
Support float processor 
if activated: FPU commands are generated for floating point operations 
First parameter Register 
(integer)  
Register where the first Integer Parameter of C-function calls is transmitted (range 
dependent on the operating system)  
Last parameter Register 
(Integer) 
Register where the last Integer Parameter of C-function calls is transmitted (range 
dependent on the operating system)  
Register for return values 
(Integer) 
Register where the Integer Parameters of C-function calls are returned (range 
dependent on the operating system)  
First parameter Register 
(Float):  
Register where the first Float Parameter of C-function calls is transmitted (range 
dependent on the operating system)  
Last parameter Register 
(Float):  
Register where the last Float Parameter of C-function calls is transmitted (range 
dependent on the operating system)  
Register for return value 
(Float): 
Register where the Float Parameters of C-function calls are returned (range 
dependent on the operating system)  
Intel byte order 
if activated: Addressing as per Intel address scheme 
Max. space on the stack 
for arguments (Byte) 
Size of the stack for arguments (in Bytes). Default: 40 
Appendix H:  - Target Settings in Detail 
CoDeSys V2.3 
10-89 
10.29.5 
Target system MIPS, Category Target Platform 
Dialog Target Settings 'MIPS', Target Platform 
Dialog item 
Meaning 
Platform 
Target type 
First parameter Register 
(integer)  
Register where the first Integer Parameter of C-function calls is transmitted (range 
dependent on the operating system)  
Last parameter Register 
(Integer) 
Register where the last Integer Parameter of C-function calls is transmitted (range 
dependent on the operating system)  
Register for return values 
(Integer) 
Register  where  the  Integer  Parameters  of  C-function  calls  are  returned  (range 
dependent on the operating system)  
Max. space on the stack 
for arguments (Byte): 
Dependent on Operating System: Maximum size (number of bytes) of arguments, 
which can be handed over on the stack 
Appendix H:  - Target Settings in Detail 
10-90 
CoDeSys V2.3 
10.29.6 
Target system 'Hitachi SH', Category Target Platform 
Dialog Target Settings 'Hitachi SH', Target Platform    
Dialog item 
Meaning 
Platform 
Target type 
First parameter Register 
(integer)  
Register  where  the  first  Integer  Parameter  of  C-function  calls  is  transmitted 
(range depends on the operating system)  
Last parameter Register 
(Integer) 
Register  where  the  last  Integer  Parameter  of  C-function  calls  is  transmitted 
(range depends on the operating system)  
Register for return values 
(Integer) 
Register  where  the  Integer  Parameters  of  C-function  calls  are  returned  (range 
depends on the operating system)  
Max. space on the stack 
for arguments (Byte): 
Dependent on Operating System: Maximum size (number of bytes) of arguments, 
which can be handed over on the stack  
Support float processor 
FPU commands are generated for floating point operations  
First parameter Register 
(Float):  
Register where the first Float Parameter of  C-function calls is  transmitted (range 
depends on the operating system)  
Last parameter Register 
(Float):  
Register where the last Float Parameter of C-function calls  is  transmitted (range 
depends on the operating system)  
Register for return value 
(Float): 
Register  where  the  Float  Parameters  of  C-function  calls  are  returned  (range 
depends on the operating system)  
Intel byte order 
Intel Byte Adress mode is used 
Documents you may be interested
Documents you may be interested