Các lệnh tiếp điểm đại số Boolean cho phép tạo lập 
được các mạch logic (không có nhớ). Trong LAD các lệnh 
này được biểu diễn thông qua cấu trúc mạch, mắc nối tiếp 
hay song song các tiếp điểm thường đóng và các tiếp điểm 
thường mở. STL có thể sử dụng các lệnh A (And) và O (Or) 
cho các hàm hở hoặc các lệnh AN (And Not), ON (Or Not) 
cho các hàm kín.
                
              
                                            
                                
            
                       
            
                
15 trang | 
Chia sẻ: maiphuongtt | Lượt xem: 3168 | Lượt tải: 1
              
            Bạn đang xem nội dung tài liệu Các lệnh logic đại số (BOOLEAN), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Chương 8: 
Các lệnh logic đại số 
(BOOLEAN)
Các lệnh tiếp điểm đại số Boolean cho phép tạo lập 
được các mạch logic (không có nhớ). Trong LAD các lệnh 
này được biểu diễn thông qua cấu trúc mạch, mắc nối tiếp 
hay song song các tiếp điểm thường đóng và các tiếp điểm 
thường mở. STL có thể sử dụng các lệnh A (And) và O (Or) 
cho các hàm hở hoặc các lệnh AN (And Not), ON (Or Not) 
cho các hàm kín.
Giá trị của ngăn xếp thay đổi phụ thuộc vào từng lệnh.
L
ệnh
Mô tả Toán 
hạng
O
 n
A
 n
Lệnh thực hiện 
toán tử ^ (A) và V (O) 
giữa giá trị logic của 
tiếp điểm n và giá trị bít 
đầu tiên trong ngằn xếp. 
Kết quả được ghi lại bít 
đầu trong ngăn xếp.
n: I, Q, 
M, SM, T, C, 
V
(bit)
A
N n
O
N n
Lệnh thực hiện 
toán tử ^ (A) và V (O) 
giữa giá trị logic nghịch 
đảo của tiếp điểm n và 
giá trị bít đầu tiên trong 
ngằn xếp. Kết quả được 
ghi lại bít đầu trong 
ngăn xếp.
A
I n
O
I n
Lệnh thực hiện tức 
thời toán tử ^ (A) và V 
(O) giữa giá trị logic của 
tiếp điểm n và giá trị bít 
đầu tiên trong ngằn xếp. 
Kết quả được ghi lại bít 
đầu trong ngăn xếp.
A
NI n
O
NI n
Lệnh thực hiện tức 
thời toán tử ^ (A) và V 
(O) giữa giá trị logic 
nghịch đảo của tiếp 
điểm n và giá trị bít đầu 
tiên trong ngằn xếp. Kết 
quả được ghi lại bít đầu 
trong ngăn xếp.
n: 1
(bit)
 Ngoài những lệnh làm việc trực tiếp với tiếp điểm, 
S7-200 còn có 5 lệnh đặc biệt biểu diễn các phép tính của 
đại số Boolean cho các bit trong ngăn xếp, được gọi là các 
lệnh stack logic. Đó là các lệnh ALD (And load), OLD (Or 
load), LPS (Logic push), LRD (Logic read) và LPP (Logic 
pop). Lệnh stack logic được dùng để tổ hợp, sao chụp hoặc 
xóa các mệnh đề logic. LAD không có bộ đếm dành cho 
lệnh stack logic. STL sử dụng các lệnh stack logic để thực 
hiện phương trình tổng thể có nhiều biểu thức con.
Bảng sao tóm tắt cú pháp gọi các lệnh stack logic trong 
STL.
L
ệnh
Mô tả T
oán 
hạng
A
LD
Lệnh tổ hợp giá trị của bít 
đầu tiên và thứ hai của ngăn xếp 
bằng phép tính logic. Kết quả ghi 
lại vào bít đầu tiên. Giá trị còn lại 
của ngăn xếp được kéo lên một 
bít.
K
hông 
có
O
LD
Lệnh tổ hợp giá trị của bít 
đầu tiên và thứ hai của ngăn xếp 
bằng phép tính logic V. Kết quả 
ghi lại vào bít đầu . Giá trị còn lại 
của ngăn xếp được kéo lên một 
bít.
K
hông 
có
L
PS
Lệnh logic Push (LPS) sao 
chụp giá trị của bít đầu tiên vào 
bít thứ hai trong ngăn xếp. Giá trị 
còn lại bị đẩy xuống một bít. Bít 
cuối cùng bị đẩy ra khỏi ngăn 
xếp.
K
hông 
có
L Lệnh sao chép giá trị của bít K
RD thứ hai vào bít đầu tiên trong 
ngăn xếp. Các giá trị còn lại của 
ngăn xếp giữ nguyên vị trí.
hông 
có
L
PP
Lệnh kéo ngăn xếp lên một 
bít. Giá trị của bít sau được 
chuyển cho bít trước.
K
hông 
có
 AND (A)
OR (O)
 Lệnh A và O phối hợp giá trị logic của một tiếp 
điểm n với giá trị bít đầu tiên của ngăn xếp. Kết quả phép 
tính được đặt lại vào bít đầu tiên trong ngăn xếp. Giá trị của 
các bít còn lại trong ngăn xếp không bị thay đổi.
 Luật tính toán của các phép tính logic And và Or 
như sau:
x y x
^ 
y
(
A
n
d
)
x
v
y
(
O
r
)
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 1
Tác động của lệnh AND và OR vào ngăn xếp như sau
 Trước A Sau m= c0 
^ c1
c
0
m
c
1
C
1
c
2
C
2
c
3
C
3
c
4
C
4
c
5
C
5
c
6
C
6
c
7
C
7
c
8
C
8
 Trước O Sau m= c0 
v c1
c
0
m
c
1
C
1
c
2
C
2
c
3
C
3
c
4
C
4
c
5
C
5
c
6
C
6
c
7
C
7
c
8
C
8
 AND LOAD (ALD)
 OR LOAD (OLD):
 Lệnh ALD và lệnh OLD thực hiện phép tính logic 
And và Or giữa hai bít đầu tiên của ngăn xếp. Kết quả của 
phép logic này sẽ được ghi lại vào bít đầu trong ngăn xếp. 
Nội dung còn lại của ngăn xếp được kéo lên một bít. 
 Tác động của lệnh ALD và OLD vào ngăn xếp như 
sau:
 Trước ALD Sau m= c0^ c1
c
0
m
c
1
c
2
c
2
c
3
c
3
c
4
c
4
c
5
c
5
c
6
c
6
c
7
c
7
c
8
c
8
 Trước OLD Sau m= c0 v c1
c
0
m
c
1
c
2
c
2
c
3
c
3
c
4
c
4
c
5
c
5
c
6
c
6
c
7
c
7
c
8
c
8
LOGIC PUSH (LPS)
LOGIC READ (LRD)
LOGIC POP (LPP)
Lệnh LPS, LRD và LPP là những lệnh thay đổi nội 
dung bít đầu tiên của ngăn xếp. Lệnh LPS sao chép nội 
dung của bít đầu tiên và bít thứ hai trong ngăn xếp, nội 
dung ngăn xếp sau đó bị đẩy xuống một bít. Lệnh LRD lấy 
giá trị của bít thứ hai ghi vào bít đầu tiên của ngăn xếp, nội 
dung ngăn xếp đó được kéo lên một bít. Lệnh LPP kéo 
ngăn xếp lên một bít.
Sơ đồ minh họa thay đổi ngăn xếp của các lệnh LPS, 
LRD và LPP
 Trước LPS Sau Trước LRD Sau 
Trước LPP Sau
C
0
c
0
c
0
c
1
c
0
c
1
c
1
c
0
c
1
c
1
c
1
c
2
c
2
c
1
c
2
c
2
c
2
c
3
c
3
c
2
c
3
c
3
c
3
c
4
c
4
c
3
c
4
c
4
c
4
c
5
c
5
c
4
c
5
c
5
c
5
c
6
c
6
c
5
c
6
c
6
c
6
c
7
c
7
c
6
c
7
c
7
c
7
c
8
c
8
c
7
c
8
c
8
c
8
 ORW, ORD
ANDW, ANDD
XORW, XORD
Lệnh thực hiện các thuật toán logic And, Or và 
Exclusive Or của đại số Boolean trên 2 bite hoặc 4 byte 
(mảng nhiều bít hoặc ít điểm).
Ngoài các lệnh logic làm với tiếp điểm, S7-200 cung 
cấp thêm những lệnh logic có khả năng thực hiện các thuật 
toán logic trên một mảng nhiều tiếp điểm (hay nhiều bít) 
như trên 2 byte hoặc 4 byte. Luật tính toán của chúng như 
sau:
x
y
X
 ^ y 
(An
d)
x
 v 
y 
(O
r)
x
X
O
R 
y
0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 1 0
Cách biểu diễn các lệnh logic này trong LAD và STL 
được tóm tắt trong bảng sau. Chúng sử dụng bít nhớ đặc 
biệt SM 1.0 để thông báo về trạng thái kết quả phép tính 
được thực hiện (kết quả bằng 0).
 Biểu diễn trong STL
STL Mô tả Toán 
hạng
AND
W IN1 
IN2
Lệnh thực hiện 
phép logic AND giữa 
các bít tương ứng của 
hai từ IN1 và IN2. 
Kết quả được ghi lại 
vào IN2
ORW 
IN1 IN2
Lệnh thực hiện 
phép logic OR giữa 
các bít tương ứng của 
hai từ IN1 và IN2. 
Kết quả được ghi lại 
vào IN2
IN1: 
VW, T, C, 
IW, QW.
(word
) SMW, 
AC, AIW, 
*VD
*AC, 
Hằng số.
IN2: 
XOR
W IN1 
IN2
Lệnh thực hiện 
phép logic XOR giữa 
các bít tương ứng của 
hai từ IN1 và IN2 . 
Kết quả được ghi lại 
vào IN2
VW, T, C, 
IW, QW
(word
) W, CA, 
AIW, 
*VD, *AC
ANDD 
IN1 IN2
Lệnh thực hiện 
phép logic AND giữa 
các bít tương ứng của 
hai từ kép IN1 và 
IN2. Kết quả được 
ghi lại vào IN2
ORD 
IN1 IN2
Lệnh thực hiện 
phép logic OR giữa 
các bít tương ứng của 
hai từ kép IN1 và 
IN2. Kết quả được 
ghi lại vào IN2
XORD 
IN1 IN2
Lệnh thực hiện 
phép logic XOR giữa 
các bít tương ứng của 
hai từ kép IN1 và 
IN2. Kết quả được 
ghi lại vào IN2
IN1: 
VD, ID, 
QD, MD, 
SMQ.
(Dwo
rd) AC, 
HC, 
*CD,*AC 
Hằng số.
IN2: 
VD, ID, 
QD, MD, 
SMD
(Dwo
rd)AC, 
*VD, *AC
Biểu diễn trong LAD
LAD Mô tả Toán 
hạng
Lệnh thực 
hiện phép tính 
logic AND 
theo từng bít 
của hai từ IN1 
và IN2. Kết 
quả được ghi 
vào từ OUT.
Lệnh thực 
hiện phép tính 
logic OR giữa 
các bít tương 
ứng của hai từ 
IN1 và IN2. 
Kết quả được 
ghi vào từ 
OUT.
IN1: 
VW, T, C, 
IW, QW
(word) 
SMW, AC, 
AIW, VD
*AC, 
Hằng số.
IN2: 
VW, T, C, 
IW, QW,
(word) 
SMW, AC, 
AIW, *VD, 
*AC, Hằng 
số.
OUT: 
WAND W
EN
IN1
IN2 OUT 
WOR W
EN
IN1
IN2 OUT 
Lệnh thực 
hiện phép tính 
logic XOR 
giữa các bít 
tương ứng của 
hai từ IN1 và 
IN2. Kết quả 
được ghi vào 
từ OUT.
VW, T, C, 
IW, QW, 
MW, 
(word) 
SMW, AC, 
*VD, *AC
Lệnh thực 
hiện phép tính 
logic AND 
giữa các bít 
của hai từ kép 
IN1 và IN2. 
Kết quả được 
ghi vào từ 
OUT.
Lệnh thực 
hiện phép tính 
logic OR giữa 
các bít của hai 
từ kép IN1 và 
IN2. Kết quả 
được ghi vào 
từ OUT.
IN1: 
VD, ID, QD, 
MD, SMW
(Dword
) AC, AIW, 
Hằng số, 
VD, AC
IN2: 
VD, ID, QD, 
MD, SMW
(Dword
) AC, AIW, 
Hằng số, 
*VD, *AC
OUT: 
VD, ID, QD, 
WOR W
EN
IN1
IN2 OUT 
WXOR W
EN
IN1
IN2 OUT 
WOR DW
EN
IN1
IN2 OUT 
WAND DW
EN
IN1
IN2 OUT 
Lệnh thực 
hiện phép tính 
logic XOR 
giữa các bít 
của hai từ kép 
IN1 và IN2. 
Kết quả được 
ghi vào từ 
OUT.
MD, SMD, 
(Dword
) AC, *VD, 
*AC
WXOR DW
EN
IN1
IN2 OUT 
OR DW
I
I