Chapter - Ladder Logic Function
Combinatorial Logic Events Data Handling Numerical Logic Lists Program Control Input and Output
Data Handling - Moves
MOV Source F8:07 Destination F8:23 MOV Source F8:07 Destination N7:23 MOV Source 123 Destination N7:23
Example
A MOV source 130 dest N7:0 MOV source N7:1 dest N7:2 MVM source N7:3 mask N7:4 dest N7:5 MVM source N7:3 mask N7:4 dest N7:6
binary N7:0 N7:1 N7:2 N7:3 N7:4 N7:5 N7:6
before
decimal 0 -9385 -32768 22715 10922 1
0000000000000000 1101101101010111 1000000000000000 0101100010111011 0010101010101010 0000000000000001 1101110111111111
Math Functions
ADD source A N7:04 source B F8:35 destination F8:36
ADD(value,value,destination) - add two values SUB(value,value,destination) - subtract MUL(value,value,destination) - multiply DIV(value,value,destination) - divide NEG(value,destination) - reverse sign from positive/negative CLR(value) - clear the memory location
Math Function Examples
addr. N7:0 N7:1 N7:2 N7:3 N7:4 N7:5 N7:6 N7:7 N7:8 F8:0 F8:1 F8:2 F8:3 before 10 25 0 0 0 0 0 0 100 10.0 25.0 0 0 after 10 25 35 1 -10 250 3 10 0 10.0 25.0 2.5 2.5
ADD source A N7:0 source B N7:1 dest. N7:2 ADD source A 1 source B N7:3 dest. N7:3 SUB source A N7:1 source B N7:2 dest. N7:4 MULT source A N7:0 source B N7:1 dest. N7:5 DIV source A N7:1 source B N7:0 dest. N7:6 NEG source A N7:4 dest. N7:7 CLR dest. N7:8 DIV source A F8:1 source B F8:0 dest. F8:2 DIV source A N7:1 source B N7:0 dest. F8:3
Other Math Functions
ACS(value,destination) - inverse cosine COS(value,destination) - cosine ASN(value,destination) - inverse sine SIN(value,destination) - sine ATN(value,destination) - inverse tangent TAN(value,destination) - tangent XPY(value,value,destination) - X to the power of Y LN(value,destination) - natural log LOG(value,destination) - base 10 log SQR(value,destination) - square root CPT(destination,expression) - does a calculation
OR
A CPT Dest. F8:0 Expression SQR(LN(F8:1)+XPY(2.718,F8:2)*ACS(F8:3))
Example - Implement ladder logic for the function below
given A = ln B + e acos D
C
Conversions
FRD Source A D10:5 Dest. F8:2
TOD(value,destination) - convert from BCD to binary FRD(value,destination) - convert from binary to BCD DEG(value,destination) - convert from radians to degrees RAD(value,destination) - convert from degrees to radians
Example
FRD Source A D9:1 Dest. N7:0
Addr.
TOD Source A N7:1 Dest. D9:0 DEG Source A F8:0 Dest. F8:2 RAD Source A F8:1 Dest. F8:3
Before 0 548 3.141 45 0 0 0000 0000 0000 0000 0001 0111 1001 0011
N7:0 N7:1 F8:0 F8:1 F8:2 F8:3 D9:0 D9:1
Advanced Functions
A AVE File #F8:0 Dest F8:4 Control R6:1 length 4 position 0
AVE(start value,destination,control,length) - average of values STD(start value,destination,control,length) - standard deviation of values SRT(start value,control,length) - sort a list of values
Example
AVE File #F8:0 Dest F8:4 Control R6:1 length 4 position 0
STD File #F8:0 Dest F8:5 Control R6:2 length 4 position 0
Addr. F8:0 F8:1 F8:2 F8:3 F8:4 F8:5
before 3 1 2 4 0 0
after A after B after C 3 1 2 4 2.5 0 3 1 2 4 2.5 1.29 1 2 3 4 2.5 1.29
SRT File #F8:0 Control R6:3 length 4 position 0
Array Functions
COP Source #N7:50 Dest #N7:40 Length 10
COP(start value,destination,length) - copies a block of values FAL(control,length,mode,destination,expression) - will perform basic math operations to multiple values. FSC(control,length,mode,expression) - will do a comparison to multiple values FLL(value,destination,length) - copies a single value to a block of memory
Example
A
FAL Control R6:0 length 5 position 0 Mode all Destination #N7:5 E xpression #N7:0 + 5 FAL Control R6:1 length 5 position 0 Mode 2 Destination #N7:5 E xpression N7:0 + 5 FAL Control R6:2 length 5 position 0 Mode incremental Destination N7:5 E xpression #N7:0 + 5
file to file
element to file file to element
file to element
Logical Functions
EQU A F8:01 B F8:02
B3:5 01
EQU(value,value) - equal NEQ(value,value) - not equal LES(value,value) - less than LEQ(value,value) - less than or equal GRT(value,value) - greater than GEQ(value,value) - greater than or equal CMP(expression) - compares two values for equality MEQ(value,mask,threshold) - compare for equality using a mask LIM(low limit,value,high limit) - check for a value between limits
Example
EQU A N7:03 B N7:02 NEQ A N7:03 B N7:02 LES A N7:03 B N7:02 LEQ A N7:03 B N7:02 GRT A N7:03 B N7:02 GEQ A N7:03 B N7:02
O:012 00 O:012 01 O:012 02 O:012 03 O:012 04 O:012 05
O:012/0=0 O:012/1=1 N7:3=5 O:012/2=0 N7:2=3 O:012/3=0 O:012/4=1 O:012/5=1
O:012/0=1 O:012/1=0 N7:3=3 O:012/2=0 N7:2=3 O:012/3=1 O:012/4=0 O:012/5=1
O:012/0=0 O:012/1=1 N7:3=1 O:012/2=1 N7:2=3 O:012/3=1 O:012/4=0 O:012/5=0
Comparison with Expressions
CMP expression (F8:1 > F8:1) & (F8:1 < F8:2)
O:012 04
Limit Functions
LIM low limit N7:0 test value N7:1 high limit N7:2
N7:5/0
LIM low limit N7:2 test value N7:1 high limit N7:0
Addr. N7:0 N7:1 N7:2 N7:3 N7:4 N7:5 before (decimal) before (binary) 1 5 11 15 0 0000000000000001 0000000000000101 0000000000001011 0000000000001111 0000000000001000 0000000000000000
N7:5/1
LIM low limit N7:2 test value N7:3 high limit N7:0
N7:5/2
MEQ source N7:0 mask N7:1 compare N7:2 MEQ source N7:0 mask N7:1 compare N7:4
N7:5/3
N7:5/4
Boolean Functions
AND source A B3:0 source B B3:1 dest. B3:2
AND(value,value,destination) - Binary and function OR(value,value,destination) - Binary or function NOT(value,value,destination) - Binary not function XOR(value,value,destination) - Binary exclusive or function
Example
AND source A N7:0 source B N7:1 dest. N7:2 OR source A N7:0 source B N7:1 dest. N7:3 XOR source A N7:0 source B N7:1 dest. N7:4 NOT source A N7:0 dest. N7:5 addr. N7:0 N7:1 N7:2 N7:3 N7:4 N7:5 data (binary) 0011010111011011 1010010011101010 0010010011001010 1011010111111011 1001000100110001 1100101000100100
after
Example Create a ladder logic program that will start when input A is turned on and calculate the series below. The value of n will start at 0 and with each scan of the ladder logic n will increase by 2 until n=20. While the sequence is being incremented, any change in A will be ignored.
x = 2 log n 1
A = B3/10 n = N7:0 x = F8:15