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.

pdf15 trang | Chia sẻ: maiphuongtt | Lượt xem: 2858 | Lượt tải: 1download
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
Tài liệu liên quan