Вы находитесь на странице: 1из 8

531DAY.

RSS
LAD 2 - MAIN --- Total Rungs in File = 12

http://www.geocities.com/plc_guide/index.html
THIS PROGRAM WAS WRITTEN TO DISPLAY TIME, DATE AND DAY OF WEEK
TO A PANELVIEW 550
Hours
MOV
Move
Source

0000

Dest

S:40
13<
N7:0
13<

Minutes
MOV
Move
Source

0001

Dest

S:41
23<
N7:1
23<

Seconds
MOV
Move
Source

0002

Dest

S:42
18<
N7:2
18<

Month
MOV
Move
Source

0003

Dest

S:38
2<
N7:10
2<

Day
MOV
Move
Source

0004

Dest

S:39
7<
N7:11
7<

Year
MOV
Move
Source

0005

Dest

0006

Page 1

B3/2 IS USED TO CONTROL THE AM/PM INDICATOR ON THE PANELVIEW SCREEN


Hours
GRT
Greater Than (A>B)
Source A
N7:0
13<
Source B
11
11<

S:37
2002<
N7:12
2002<

PM Flag
B3:0
2

Saturday, January 18, 2003 - 12:40:18

531DAY.RSS
LAD 2 - MAIN --- Total Rungs in File = 12

0007

N7:5 IS THE AM/PM HOURS DISPLAYED ON THE PANELVIEW SCREEN


Hours
EQU
Equal
Source A
N7:0
13<
Source B
0
0<
Hours

0008

GRT
Greater Than (A>B)
Source A
N7:0
13<
Source B
0
0<
Hours

0009

GRT
Greater Than (A>B)
Source A
N7:0
13<
Source B
12
12<

Hours
LES
Less Than (A<B)
Source A
N7:0
13<
Source B
13
13<

AM/PM Hours
MOV
Move
Source
Dest

AM/PM Hours
MOV
Move
Source
Dest

AM/PM Hours
SUB
Subtract
Source A
Source B
Dest

0010

0011

Page 2

Day of Week
JSR
Jump To Subroutine
SBR File Number

12
12<
N7:5
1<

N7:0
13<
N7:5
1<

N7:0
13<
12
12<
N7:5
1<

U:3

END

Saturday, January 18, 2003 - 12:40:19

531DAY.RSS
LAD 3 - WEEKDAY --- Total Rungs in File = 33

DAY OF THE WEEK CALCULATION


THEORETICALLY, THIS SHOULD WORK FOR ANY DAY
FROM THE YEAR 1 TO THE YEAR 26,215
Leap Year
Determination
Integer
DIV
Divide
Source A

0000

Source B
Dest

Leap Year
Determination
Float
DIV
Divide
Source A

0001

Source B
Dest

0002

Leap Year
Determination
Integer
EQU
Equal
Source A
Source B

N7:70
501<
F8:0
500.5<

February
MOV
Move
Source

0003
0

Dest

Leap Year
Flag
B3:1

February
MOV
Move
Source

0004
0

Dest

0005
0

Page 3

N7:12
2002<
4.0
4.0<
F8:0
500.5<

Leap Year
Flag
B3:1

Leap Year
Flag
B3:1

Counter
Toggle Bit
B3:0

N7:12
2002<
4
4<
N7:70
501<

28
28<
N7:52
28<

29
29<
N7:52
28<

Scan
Counter
CTU
Count Up
Counter
Preset
Accum

CU
C5:0
12<
1<

DN

Saturday, January 18, 2003 - 12:40:19

531DAY.RSS
LAD 3 - WEEKDAY --- Total Rungs in File = 33

Scan
Counter
C5:0
0006

Scan
Counter
C5:0
RES

DN
Counter
Toggle Bit
B3:0

Counter
Toggle Bit
B3:0

0007

0008

0009

0010

0011

0012

Page 4

Pointer 1
ADD
Add
Source A C5:0.ACC
1<
Source B
51
51<
Dest
N7:40
52<
Pointer 2
ADD
Add
Source A C5:0.ACC
1<
Source B
78
78<
Dest
N7:41
79<
Pointer 3
ADD
Add
Source A C5:0.ACC
1<
Source B
79
79<
Dest
N7:42
80<
Pointer 4
ADD
Add
Source A C5:0.ACC
1<
Source B
1
1<
Dest
N7:43
2<
ADD
Add
Source A N7:[N7:40]
28<
Source B N7:[N7:41]
31<
Dest
N7:[N7:42]
59<

Saturday, January 18, 2003 - 12:40:20

531DAY.RSS
LAD 3 - WEEKDAY --- Total Rungs in File = 33

Month
0013

EQU
Equal
Source A
Source B

0014

N7:10
2<
N7:43
2<

Day of Year
ADD
Add
Source A N7:[N7:41]
31<
Source B
N7:11
7<
Dest
N7:91
38<
# of Weeks
Passed
DIV
Divide
Source A
Source B
Dest

0015

0016

Prepare # of Weeks
for Integer
SUB
Subtract
Source A
F8:1
5.428571<
Source B
0.5
0.5<
Dest
F8:2
4.928571<
# of Weeks
Integer
MOV
Move
Source
Dest

0017

0018

Page 5

N7:91
38<
7.0
7.0<
F8:1
5.428571<

F8:2
4.928571<
N7:92
5<

Prepare Remaining
Days for Integer
SUB
Subtract
Source A
F8:1
5.428571<
Source B
N7:92
5<
Dest
F8:3
0.4285712<
Remaining Days
MUL
Multiply
Source A
F8:3
0.4285712<
Source B
7.0
7.0<
Dest
N7:93
3<

Saturday, January 18, 2003 - 12:40:20

531DAY.RSS
LAD 3 - WEEKDAY --- Total Rungs in File = 33

0019

Leap Years
Passed
SUB
Subtract
Source A
Source B
Dest

0020

Extra Days for


Past Years
SUB
Subtract
Source A
Source B
Dest

0021

Extra Days for


Past Leap Years
MOV
Move
Source
Dest

0022

Total
Extra Days
ADD
Add
Source A
Source B
Dest

0023

Total
Extra Weeks
DIV
Divide
Source A
Source B
Dest

Page 6

F8:0
500.5<
0.51
0.51<
F8:4
499.99<

N7:12
2002<
1
1<
N7:94
2001<

F8:4
499.99<
N7:95
500<

N7:94
2001<
N7:95
500<
N7:96
2501<

N7:96
2501<
7.0
7.0<
F8:5
357.2857<

Saturday, January 18, 2003 - 12:40:21

531DAY.RSS
LAD 3 - WEEKDAY --- Total Rungs in File = 33

0024

Prepare Total
Extra Weeks for
Integer
SUB
Subtract
Source A
Source B
Dest

0025

Total
Extra Weeks
Integer
MOV
Move
Source
Dest

0026

Offset Days
Float
SUB
Subtract
Source A
Source B
Dest

0027

Offset Days
MUL
Multiply
Source A
Source B
Dest

0028

Calculated
Day of Week
ADD
Add
Source A
Source B
Dest

Page 7

F8:5
357.2857<
0.5
0.5<
F8:6
356.7857<

F8:6
356.7857<
N7:97
357<

F8:5
357.2857<
N7:97
357<
F8:7
0.2857056<

F8:7
0.2857056<
7.0
7.0<
N7:98
2<

N7:93
3<
N7:98
2<
N7:99
5<

Saturday, January 18, 2003 - 12:40:21

531DAY.RSS
LAD 3 - WEEKDAY --- Total Rungs in File = 33

SINCE THE CALCULATED DAY OF WEEK IN N7:99 COULD BE ZERO OR GREATER THAN 7
THE FOLLOWING RUNGS ARE USED TO CORRECT THAT VALUE

0029

Calculated
Day of Week
EQU
Equal
Source A
Source B

0030

0031

Day of Week
1=Sunday
7=Saturday
MOV
Move
Source

N7:99
5<
0
0<

Calculated
Day of Week
GRT
Greater Than (A>B)
Source A
N7:99
5<
Source B
0
0<

Calculated
Day of Week
GRT
Greater Than (A>B)
Source A
N7:99
5<
Source B
7
7<

Dest

Calculated
Day of Week
LES
Less Than (A<B)
Source A
N7:99
5<
Source B
8
8<

Day of Week
1=Sunday
7=Saturday
MOV
Move
Source
Dest

Day of Week
1=Sunday
7=Saturday
SUB
Subtract
Source A
Source B
Dest

0032

Page 8

7
7<
N7:15
5<

N7:99
5<
N7:15
5<

N7:99
5<
7
7<
N7:15
5<

END

Saturday, January 18, 2003 - 12:40:21

Вам также может понравиться