Các dạng khác nhau của lệnh LD, LDN cho STL như sau: Lệnh Mô tả Toán hạng LD n Lệnh nạp giá trị logic của điểm n vào bít đầu tiên trong ngăn xếp.. LDI n Lệnh nạp tức thời giá trị logic c
Trang 1Các dạng khác nhau của lệnh LD, LDN cho STL như sau:
Lệnh Mô tả Toán hạng
LD n
Lệnh nạp giá trị logic của điểm n vào bít đầu tiên trong ngăn xếp n (bít): I, Q,
M, SM, T, C, V
LDN n Lệnh nạp giá trị logic nghịch đảo của điểm n vào bít đầu tiên trong ngăn xếp
LDI n Lệnh nạp tức thời giá trị logic của điểm n vào bít đầu tiên trong ngăn xếp n: I LDNI n Lệnh nạp tức thời giá trị logic nghịch đảo của điểm n vào bít đầu tiên trong ngăn xếp
OUTPUT (=)
Lệnh sao chép nội dung của bít đầu tiên trong ngăn xếp vào bít được chỉ định trong lệnh Nội dung của ngăn xếp không bị thay đổi
Mô tả lệnh bằng LAD như sau:
LAD Mô tả Toán hạng
n
( ) Cuộn dây đầu ra ở trạng thái kích thích khi có dòng điều khiển đi qua n: I, Q, M, SM, T, C, V
(bít)
n
( ) ( ) Cuộn dây đầu ra được kích thích tức thời khi có dòng điều khiển
đi qua.n: Q
(bít)
Trang 2Mô tả bằng lệnh STL như sau:
STL Mô tả Toán hạng
= n Lệnh = sao chép giá trị của đỉnh ngăn xếp tới tiếp điểm n được chỉ dẫn trong lệnh n: I, Q, M, SM, T, C, V
(bít)
= I n Lệnh = I (immediate) sao chép tức thời giá trị của đỉnh stack tới tiếp điểm n được chỉ dẫn trong lệnh n: Q
(bít)
3.2 Các lệnh ghi / xóa giá trị cho tiếp điểm
SET (S) ; RESET (R):
Lệnh dùng để đóng và ngắt các điểm gián đoạn đã được thiết kế Trong LAD, logic điều khiển dòng điện đóng hoặc ngắt các cuộc dây đầu ra Khi dòng điều khiển đến các cuộc dây thì các cuộn dây đóng hoặc mở các tiếp điểm (hoặc một dãy các tiếp điểm) Trong STL, lệnh truyền trạng thái bít đầu của ngăn xếp đến các điểm thiết kế Nếu bít này có giá trị =1, các lệnh S và R sẽ đóng ngắt tiếp điểm hoặc một dãy các tiếp điểm (giới hạn từ 1 đến 255) Nội dung của ngăn xếp không bị thay đổi bởi các lệnh này
Mô tả bằng lệnh LAD
LAD
Mô tả Toán hạng
Đóng một mảng gồm n các tiếp điểm kể từ S BIT
S BIT: I, Q, M, SM, T, C, V
n(byte): IB, QB, MB, SMB, VB,AC, Hằng số, *VD, *AC
Trang 3Đóng một mảng gồm n các tiếp điểm kể từ S BIT Nếu S BIT lại chỉ vào Timer hoặc Counter thì lệnh sẽ xóa bít đầu ra của Timer / Counter đó
Đóng tức thời một mảng gồm n các tiếp điểm kể từ S BIT
S BIT: Q
N(byte): IB, QB, MB, SMB, VB,AC, Hằng số, *VD, *AC
Ngắt tức thời một mảng gồm n các tiếp điểm kể từ địa chỉ S BIT
STL Mô tả Toán hạng
S S BIT n Ghi giá trị logic vào một mảng gồm n bít kể từ địa chỉ S BIT S BIT: I, Q, M, SM, T, C, V
(bit)
n: IB, QB, MB, SMB, VB
(byte) AC, Hằng số, *VD, *AC
R S BIT n Xóa một mảng gồm n bít kể từ địa chỉ S BIT Nếu S BIT lại chỉ vào Timer hoặc Counter thì lệnh sẽ xóa bít đầu ra của Timer / Counter
S I S BIT n Ghi tức thời giá trị logic 1 vào một mảng gồm n bít kể từ địa chỉ S BIT S BIT: Q
(bit)
n: IB, QB, MB, SMB, VB (byte)
Trang 4(byte) AC, Hằng số, *VD, *AC
R I S BIT n Xóa tức thời một mảng gồm n bít kể từ địa chỉ S BIT
3.3 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)
AN n
ON 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
AI n
Trang 5OI 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 n: 1
(bit)
ANI n
ONI 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
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ả Toán hạng
ALD 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 Không có
OLD 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 Không có
LPS 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 Không có
Trang 6LRD Lệnh sao chép giá trị của bít 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í Không có
LPP 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 Khô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 (And) x v y (Or)
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
Trang 7c4 C4
Trước O Sau m= c0 v c1
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
Trang 8
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
c8
Trước OLD Sau m= c0 v c1
c8
LOGIC PUSH (LPS)
Trang 9LOGIC 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
C0
c1
c2
c7
c8
Trang 10ORW, 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 (And) x v y (Or) x XOR y
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
ANDW 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 IN1: VW, T, C, IW, QW
(word) SMW, AC, AIW, *VD