adobe pdf viewer c# : Reader merge pdf SDK application project winforms html wpf UWP m07590333_00000000_1en30-part748

10 - APPENDIX 
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 (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 
standard: INDEXOF and SIZEOF (see Arithmetic Operators), ADR and BITADR (see Address 
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 
Address Operators 
Calling Operators 
Type Conversions 
Numeric Operators  
10.1 Arithmetic Operators... 
ADD 
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  7 
ADD 2,4,7 
ST  Var1 
Example in ST: 
var1 := 7+2+4+7; 
Example in FBD: 
Reader merge pdf - Merge, append PDF files in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Provide C# Demo Codes for Merging and Appending PDF Document
reader combine pdf; pdf mail merge plug in
Reader merge pdf - VB.NET PDF File Merge Library: Merge, append PDF files in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
VB.NET Guide and Sample Codes to Merge PDF Documents in .NET Project
acrobat merge pdf files; attach pdf to mail merge
Appendix A:  - IEC Operators and additional norm extending functions 
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  Var1 
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 2 
ST  Var1 
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  Var1 (* Result is 4 *) 
Example in ST: 
var1 := 8/2; 
Example in FBD: 
Note:  
If you define functions in your project with the names CheckDivByte, CheckDivWord, 
CheckDivDWord and CheckDivReal, you can use them to check the value of the divisor if you use 
XImage.Barcode Scanner for .NET, Read, Scan and Recognize barcode
VB.NET File: Merge PDF; VB.NET File: Split PDF; VB.NET VB.NET Annotate: PDF Markup & Drawing. XDoc.Word for C#; C#; XImage.OCR for C#; XImage.Barcode Reader for C#
pdf merge; merge pdf online
C# Imaging - Scan Barcode Image in C#.NET
RasterEdge Barcode Reader DLL add-in enables developers to add barcode image recognition & barcode types, such as Code 128, EAN-13, QR Code, PDF-417, etc.
merge pdf; pdf merge files
Appendix A:  - IEC Operators and additional norm extending functions 
CoDeSys V2.3 
10-3 
the operator DIV, for example to avoid a division by 0. The functions must have the above listed 
names.  
Attention:  Please regard, that different target systems may behave differently concerning a division by zero ! 
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 / d; 
Attention:  The CheckDiv-functions provided by the Check.Lib library just are sample solutions! Before using 
those library modules check whether they are working in your sense, or implement appropriate 
functions directly as a POU in your project. 
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  9 
MOD 2 
ST  Var1 (* 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 LD, CFC, there the (unlocking) EN/EN0 functionality can also be applied on a 
variable assignment. In the FBD editor this is not possible however. 
Example in CFC in conjunction with the EN/EN0 function: 
Only if en_i is TRUE, var1 will be assigned to var2. 
C# PDF: PDF Document Viewer & Reader SDK for Windows Forms
On this page, besides brief introduction to RasterEdge C#.NET PDF document viewer & reader for Windows Forms application, you can also see the following aspects
combine pdf online; pdf combine pages
.NET PDF Document Viewing, Annotation, Conversion & Processing
File & Page Process. Create new file, load PDF from existing files. Merge, split PDF files. Insert, delete PDF pages. Re-order, rotate PDF pages. PDF Read.
add pdf files together reader; c# merge pdf files into one
Appendix A:  - IEC Operators and additional norm extending functions 
10-4 
CoDeSys V2.3 
Example in IL: 
LD ivar1 
MOVE  
ST ivar2 (* Result: ivar2 gets assigned value of ivar1 *) 
( ! 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 variable.  
Example in IL: 
arr1:ARRAY[0..4] OF INT; 
Var1 INT 
LD arr1 
SIZEOF 
ST Var1 (* 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 Var1 (* Result is 2#1000_0010 *) 
Example in ST: 
var1 := 2#1001_0011 AND 2#1000_1010 
Example in FBD: 
C# PDF insert image Library: insert images into PDF in C#.net, ASP
inserting image to PDF in preview without adobe PDF reader installed. Able to zoom and crop image and achieve image resizing. Merge several images into PDF.
best pdf merger; pdf mail merge
XDoc, XImage SDK for .NET - View, Annotate, Convert, Edit, Scan
Adobe PDF. XDoc PDF. Scanning. XImage OCR. Microsoft Office. XDoc Word. XDoc Excel. XDoc PowerPoint. Barcoding. XImage Barcode Reader. XImage Barcode Generator.
add pdf together one file; scan multiple pages into one pdf
Appendix A:  - IEC Operators and additional norm extending functions 
CoDeSys V2.3 
10-5 
Note: If you have a program step in the SFC like the following  
and if you use 68xxx generators, please note the following: The allocation of the value of the second 
input variable at the AND operator module to variable z will not be executed ! This is due to the 
optmized processing in the SFC in case of value FALSE at the input variable. 
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 generators, please note the following: The allocation of the value of the second 
input variable at the OR operator module to variable z will not be executed ! This is due to the 
optmized processing in the SFC in case of value FALSE at the input variable. 
XOR 
Bitwise XOR of bit operands. The operands should be of the type BOOL, BYTE, WORD or DWORD. 
Note: Regard the behaviour of the XOR function in extended form, that means if there are more than 2 inputs. 
The inputs will be checked in pairs and the particular results will then be compared again in pairs (this 
complies with the standard, but may not be expected by the user). 
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# PDF: How to Create PDF Document Viewer in C#.NET with
The PDF document viewer & reader created by this C#.NET imaging toolkit can be used by developers for reliably & quickly PDF document viewing, PDF annotation
add two pdf files together; batch pdf merger
C# WPF PDF Viewer SDK to view, annotate, convert and print PDF in
VB.NET File: Merge PDF; VB.NET File: Split PDF; VB.NET VB.NET Annotate: PDF Markup & Drawing. XDoc.Word for C#; C#; XImage.OCR for C#; XImage.Barcode Reader for C#
batch merge pdf; pdf split and merge
Appendix A:  - IEC Operators and additional norm extending functions 
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... 
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. 
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:  
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 shl_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:=SHL(in_byte,n); (* Result is 16#14 *) 
erg_word:=SHL(in_word,n); (* Result is 16#01141 *) 
Example in FBD: 
Example in IL: 
LD  16#45 
SHL 2 
ST  erg_byte 
Appendix A:  - IEC Operators and additional norm extending functions 
CoDeSys V2.3 
10-7 
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. 
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 
SHR 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. 
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); (* Result is 16#15 *) 
erg_word:=ROL(in_word,n); (* Result is 16#0114 *) 
Example in FBD: 
Example in IL: 
LD  16#45 
ROL 2 
Appendix A:  - IEC Operators and additional norm extending functions 
10-8 
CoDeSys V2.3 
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. 
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 *) 
Example in FBD: 
Example in IL: 
LD 16#45 
ROR 2 
ST erg_byte 
10.4 Selection Operators 
All selection operations can also be performed with variables. For purposes of clarity we will limit our 
examples to the following which use constants as operators. 
SEL 
Binary Selection.  
OUT := SEL(G, IN0, IN1) means: 
OUT := IN0 if G=FALSE; 
OUT := IN1 if G=TRUE. 
IN0, IN1 and OUT can be any type of variable, G must be BOOL. The result of the selection is IN0 if G 
is FALSE, IN1 if G is TRUE. 
Example in IL: 
LD  TRUE 
SEL 3,4   (* IN0 = 3, IN1 =4 *) 
ST  Var1  (* Result is 4 *) 
LD  FALSE 
SEL 3,4 
ST  Var1  (* Result is 3 *) 
Appendix A:  - IEC Operators and additional norm extending functions 
CoDeSys V2.3 
10-9 
Example in ST: 
Var1:=SEL(TRUE,3,4); (* Result is 4 *) 
Example in FBD: 
Note: Note that an expression occurring ahead of IN1 or IN2 will not be processed if IN0 is TRUE. 
MAX 
Maximum function. Returns the greater of the two values. 
OUT := MAX(IN0, IN1) 
IN0, IN1 and OUT can be any type of variable. 
Example in IL: 
LD 90 
MAX 30 
MAY 40 
MAX 77 
ST Var1 (* Result is 90 *) 
Example in ST: 
Var1:=MAX(30,40); (* Result is 40 *) 
Var1:=MAX(40,MAX(90,30)); (* Result is 90 *) 
Example in FBD: 
MIN 
Minimum function. Returns the lesser of the two values. 
OUT := MIN(IN0, IN1) 
IN0, IN1 and OUT can be any type of variable. 
Example in IL: 
LD 90 
MIN 30 
MIN 40 
MIN 77 
ST Var1 (* Result is 30 *) 
Example in ST: 
Var1:=MIN(90,30); (* Result is 30 *); 
Var1:=MIN(MIN(90,30),40); (* Result is 30 *); 
Example in FBD: 
Appendix A:  - IEC Operators and additional norm extending functions 
10-10 
CoDeSys V2.3 
LIMIT 
Limiting  
OUT := LIMIT(Min, IN, Max) means: 
OUT := MIN (MAX (IN, Min), Max) 
Max is the upper and Min the lower limit for the result. Should the value IN exceed the upper limit 
Max, LIMIT will return Max. Should IN fall below Min, the result will be Min. 
IN and OUT can be any type of variable. 
Example in IL: 
LD 90 
LIMIT 30,80 
ST Var1 (* Result is 80 *) 
Example in ST: 
Var1:=LIMIT(30,90,80); (* Result is 80 *); 
Beispiel in FBD: 
MUX 
Multiplexer 
OUT := MUX(K, IN0,...,INn) means: 
OUT := INK. 
IN0, ...,INn and OUT can be any type of variable. K must be BYTE, WORD, DWORD, SINT, USINT, 
INT, UINT, DINT or UDINT. MUX selects the Kth value from among a group of values. 
Example in IL: 
LD 0 
MUX 30,40,50,60,70,80 
ST Var1 (* Result is 30 *) 
Example in ST: 
Var1:=MUX(0,30,40,50,60,70,80); (* Result is 30 *); 
Please note: An expression occurring ahead of an input other than INK will not be processed to save run time ! 
Only in simulation mode all expressions will be executed. 
Documents you may be interested
Documents you may be interested