﻿
CoDeSys V2.3
10-1
10 APPENDIX
Appendix A:  IEC Operators and additional norm extending
functions
CoDeSys supports all IEC operators. In contrast with the standard functions functions (see appendix
D, Standard library), these operators are recognized implicitly throughout the project. Besides the IEC
operators CoDeSys also supports the following operators which are not prescribed by the
Operators).
Operators are used like functions in POU.
Attention: At operations with floating point variables the result depends on the currently used target system !
> Arithmetic operators
> Bitstring Operators
> Bit-Shift Operators
> Selection Operators
> Comparison Operators
> Calling Operators
> Type Conversions
> Numeric Operators
10.1 Arithmetic Operators...
Addition of variables of the types: BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT,
REAL and LREAL.
Two TIME variables can also be added together resulting in another time
(e.g., t#45s + t#50s = t#1m35s)
Example in IL:
LD
ST
Var 1
Example in ST:
var1 := 7+2+4+7;
Example in FBD:
Pdf page to powerpoint - C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF in C#.net, ASP.NET MVC, WinForms, WPF
Online C# Tutorial for Creating PDF from Microsoft PowerPoint Presentation
changing pdf to powerpoint file; how to convert pdf to powerpoint slides
Pdf page to powerpoint - VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to PDF in vb.net, ASP.NET MVC, WinForms, WPF
VB.NET Tutorial for Export PDF file from Microsoft Office PowerPoint
pdf page to powerpoint; change pdf to ppt
10-2
CoDeSys V2.3
MUL
Multiplication of variables of the types: BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT,
UDINT, REAL and LREAL.
Example in IL:
LD  7
MUL 2,4,7
ST  Var 1
Example in ST:
var1 := 7*2*4*7;
Example in FBD:
SUB
Subtraction of one variable from another of the types: BYTE, WORD, DWORD, SINT, USINT, INT,
UINT, DINT, UDINT, REAL and LREAL.
A TIME variable may also be subtracted from another TIME variable resulting in third TIME type
variable. Note that negative TIME values are undefined.
Example in IL:
LD  7
SUB 8
ST  Var 1
Example in ST:
var1 := 7-2;
Example in FBD:
DIV
Division of one variable by another of the types: BYTE, WORD, DWORD, SINT, USINT, INT, UINT,
DINT, UDINT, REAL and LREAL.
Example in IL:
LD  8
DIV 2
ST  Var 1 (* Result is 4 *)
Example in ST:
var1 := 8/2;
Example in FBD:
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
XDoc.PDF ›› VB.NET PDF: Delete PDF Page. using RasterEdge.Imaging.Basic; using RasterEdge.XDoc.PDF; How to VB.NET: Delete a Single PDF Page from PDF File.
and paste pdf to powerpoint; how to add pdf to powerpoint presentation
C# PDF Page Insert Library: insert pages into PDF file in C#.net
C# programmers are capable of adding and inserting (empty) PDF page or pages from various file formats, such as PDF, Tiff, Word, Excel, PowerPoint, Bmp, Jpeg
drag and drop pdf into powerpoint; convert pdf into powerpoint online
CoDeSys V2.3
10-3
Note:
If you define functions in your project with the names CheckDivByteCheckDivWord,
CheckDivDWord and CheckDivReal, you can use them to check the value of the divisor if you use
the operator DIV, for example to avoid a division by 0. The functions must have the above listed
names.
See in the following an example for the implementation of function CheckDivReal:
Example for the implementation of the function CheckDivReal:
FUNCTION CheckDivReal : REAL
VAR_INPUT
divisor:REAL;
END_VAR
IF divisor = 0 THEN
CheckDivReal:=1;
ELSE
CheckDivReal:=divisor;
END_IF;
Operator DIV uses the output of function CheckDivReal as divisor. In a program like shown in the
following example this avoids a division by 0, the divisor (d) is set from 0 to 1. So the result of the
division is 799.
PROGRAM PLC_PRG
VAR
erg:REAL;
v1:REAL:=799;
d:REAL;
END_VAR
erg:= v1 DIV d
MOD
Modulo Division of one variable by another of the types: BYTE, WORD, DWORD, SINT, USINT, INT,
UINT, DINT, UDINT. The result of this function will be the remainder of the division. This result will be
a whole number.
Example in IL:
LD
MOD
ST
Var 1
(* Result is 1 *)
Example in ST:
var1 := 9 MOD 2;
Example in FBD:
MOVE
Assignment of a variable to another variable of an appropriate type. As MOVE is available as a box in
the graphic editors FBD, LD, CFC, there the (unlocking) EN/EN0 functionality can also be applied on a
variable assignment.
Example in CFC in conjunction with the EN/EN0 function:
Only if en_i is TRUE, var1 will be assigned to var2.
Example in IL:
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
PDF Pages. |. Home ›› XDoc.PDF ›› VB.NET PDF: Insert PDF Page. Professional .NET PDF control for inserting PDF page in Visual Basic .NET class application.
converting pdf to powerpoint slides; convert pdf to ppt
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
Pages. |. Home ›› XDoc.PDF ›› C# PDF: Delete PDF Page. Demo Code: How to Delete a Single PDF Page from PDF File in C#.NET. How
converting pdf to powerpoint online; conversion of pdf to ppt online
10-4
CoDeSys V2.3
LD
ivar1
MOVE ivar2
ST
ivar2 (* result: var2 erhält Wert von var1 *)
( ! you get the same result with:
LD  ivar1
ST  ivar2 )
Example in ST:
ivar2 := MOVE(ivar1);
( ! you get the same result with: ivar2 := ivar1; )
INDEXOF
This function is not prescribed by the standard IEC61131-3.
Perform this function to find the internal index for a POU.
Example in ST:
var1 := INDEXOF(POU2);
SIZEOF
This function is not prescribed by the standard IEC61131-3.
Perform this function to determine the number of bytes required by the given data type.
Example in IL:
arr1:ARRAY[0..4] OF INT;
Var1
INT
LD
arr1
SIZEOF
ST
Var 1 (* Result is 10 *)
Example in ST:
var1 := SIZEOF(arr1);
10.2 Bitstring Operators...
AND
Bitwise AND of bit operands. The operands should be of the type BOOL, BYTE, WORD or DWORD.
Example in IL:
Var1  BYTE
LD  2#1001_0011
AND 2#1000_1010
ST  Var 1
(* Result is 2#1000_0010 *)
Example in ST:
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
PowerPoint, VB.NET Tiff, VB.NET Imaging, VB.NET OCR, VB.NET Twain, VB.NET Barcode Read, VB.NET Barcode Generator, view less. C# PDF - Modify PDF File and Page
chart from pdf to powerpoint; convert pdf to powerpoint online for
How to C#: Overview of Using XDoc.PowerPoint
Create and Edit PowerPoint Page and File. Tell C# users Please click to see details. Annotate PowerPoint Page. Various annotation objects
how to add pdf to powerpoint slide; convert pdf to powerpoint presentation
CoDeSys V2.3
10-5
var1 := 2#1001_0011 AND 2#1000_1010
Example in FBD:
Note:
If you have a program step in the SFC like the following
and if you use 68xxx- or C-code generators, please note the following: The allocation of the value of
OR
Bitwise OR of bit operands. The operands should be of the type BOOL, BYTE, WORD or DWORD.
Example in IL:
var1 :BYTE;
LD 2#1001_0011
OR 2#1000_1010
ST  var1 (* Result is 2#1001_1011 *)
Example in ST:
Var1 := 2#1001_0011 OR 2#1000_1010
Example in FBD:
Note:
If you have a program step in the SFC like the following
and if you use 68xxx- or C-code generators, please note the following: The allocation of the value of
XOR
Bitwise XOR of bit operands. The operands should be of the type BOOL, BYTE, WORD or DWORD.
Note:
d again in
Example in IL:
Var1 :BYTE;
LD 2#1001_0011
XOR 2#1000_1010
ST  Var1 (* Result is 2#0001_1001 *)
Example in ST:
Var1 := 2#1001_0011 XOR 2#1000_1010
Example in FBD:
C# PowerPoint - Sort PowerPoint Pages Order in C#.NET
C#.NET. Support Customizing Page Order of PowerPoint Document in C# Project. Overview. splitting. C# DLLs: Move PowerPoint Page Position. Add
copying image from pdf to powerpoint; adding pdf to powerpoint slide
C# PowerPoint - Delete PowerPoint Document Page in C#.NET
C# DLLs: Delete Page from PowerPoint File. Delete a Single PowerPoint Page from PowerPoint File in C#. How to delete a single page from a PowerPoint document.
how to change pdf to powerpoint; convert pdf to editable ppt online
10-6
CoDeSys V2.3
NOT
Bitwise NOT of a bit operand. The operand should be of the type BOOL, BYTE, WORD or DWORD.
Example in IL:
Var1 :BYTE;
LD 2#1001_0011
NOT
ST  Var1 (* Result is 2#0110_1100 *)
Example in ST:
Var1 := NOT 2#1001_0011
Example in FBD:
10.3 Bit-Shift Operators
SHL
Bitwise left-shift of an operand : erg:= SHL (in, n)
in gets shifted to the left by n bits. If n > data type width, for BYTE, WORD and DWORD will be filled
with zeros. But if signed data types are used, like e.g. INT, then an arithmetic shift will be executed in
such cases, that means it will be filled with the value of the topmost bit.
Note:
Please note, that the amount of bits, which is regarded for the arithmetic operation, is pretended by
the data type of the input variable !. If the input variable is a constant the smallest possible data type
is regarded. The data type of the output variable has no effect at all on the arithmetic operation.
Note:
See in the following example in hexadecimal notation that you get different results for erg_byte and
erg_word depending on the data type of the input variable (BYTE or WORD), although the values of
the input variables in_byte and in_word are the same.
Example in ST:
CoDeSys V2.3
10-7
Example in FBD:
Example in IL:
LD
16#45
SHL
ST
erg_byte
SHR
Bitwise right-shift of an operand: erg:= SHR (in, n)
in gets shifted to the right by n bits. If n > data type width, for BYTE, WORD and DWORD will be filled
with zeros. But if signed data types are used, like e.g. INT, then an arithmetic shift will be executed in
such cases, that means it will be filled with the value of the topmost bit.
Note:
Please note, that the amount of bits, which is regarded for the arithmetic operation, is pretended by
the data type of the input variable !. If the input variable is a constant the smallest possible data type
is regarded. The data type of the output variable has no effect at all on the arithmetic operation.
See the following example in hexadecimal notation to notice the results of the arithmetic operation
depending on the type of the input variable (BYTE or WORD).
Example in ST:
PROGRAM shr_st
VAR
in_byte : BYTE:=16#45;
in_word : WORD:=16#45;
erg_byte : BYTE;
erg_word : WORD;
n: BYTE :=2;
END_VAR
erg_byte:=SHR(in_byte,n); (* Result is 11 *)
erg_word:=SHR(in_word;n); (* Result is 0011 *)
Example in FBD:
Example in IL:
LD
16#45
SHL  2
ST
erg_byte
ROL
Bitwise rotation of an operand to the left: erg:= ROL (in, n)
erg, in and n should be of the type BYTE, WORD or DWORD. in will be shifted one bit position to the
left n times while the bit that is furthest to the left will be reinserted from the right.
10-8
CoDeSys V2.3
Note: Please note, that the amount of bits, which is regarded for the arithmetic operation, is pretended
by the data type of the input variable !. If the input variable is a constant the smallest possible data
type is regarded. The data type of the output variable has no effect at all on the arithmetic operation.
See in the following example in hexadecimal notation that you get different results for erg_byte and
erg_word depending on the data type of the input variable (BYTE or WORD), although the values of
the input variables in_byte and in_word are the same.
Example in ST:
PROGRAM rol_st
VAR
in_byte : BYTE:=16#45;
in_word : WORD:=16#45;
erg_byte : BYTE;
erg_word : WORD;
n: BYTE :=2;
END_VAR
erg_byte:=ROL(in_byte,n); (* Ergebnis ist 16#15 *)
erg_word:=ROL(in_word;n); (* Ergebnis ist 16#0114 *)
Example in FBD:
Example in IL:
LD  16#45
SHL 2
ST erg_byte
ROR
Bitwise rotation of an operand to the right: erg = ROR (in, n)
erg, in and n should be of the type BYTE, WORD or DWORD. in will be shifted one bit position to the
right n times while the bit that is furthest to the left will be reinserted from the left.
Note:
Please note, that the amount of bits, which is regarded for the arithmetic operation, is pretended by
the data type of the input variable !. If the input variable is a constant the smallest possible data type
is regarded. The data type of the output variable has no effect at all on the arithmetic operation.
See in the following example in hexadecimal notation that you get different results for erg_byte and
erg_word depending on the data type of the input variable (BYTE or WORD), although the values of
the input variables in_byte and in_word are the same.
Example in ST:
PROGRAM ror_st
VAR
in_byte : BYTE:=16#45;
in_word : WORD:=16#45;
erg_byte : BYTE;
erg_word : WORD;
n: BYTE :=2;
END_VAR
erg_byte:=ROR(in_byte,n); (* Result is 16#51 *)
erg_word:=ROR(in_word;n); (* Result is16#4011 *)