Giáo trình Hệ thống sản xuất tự động hóa với PLCs - Phần 6: Thiết kế logic bun

6. THIẾT KẾ LOGIC BUN  
Chủ đề:  
Đại số Bun  
Chuyển đổi giữa đại số Bun và các mạch logic và logic bậc thang  
Các ví dụ về logic  
Mục tiêu:  
Có khả năng đơn giản hóa các thiết kế với đại số Bun và bản đồ Karnaugh  
6.1 GIỚI THIỆU  
Quá trình chuyển đổi các đối tượng điều khiển vào trong một chương trình logic  
bậc thang đòi hỏi cách nghĩ có cấu trúc. Đại số Bun cung cấp các công cụ cần thiết để  
phân tích và thiết kế những hệ thống như vậy.  
6.2 BOOLEAN ALGEBRA  
Đại số Bun được phát triển trong thế kỷ 19 bởi James Bool, một nhà toán học  
người Ai len. Nó được xem như là rất hữu ích cho việc thiết kế các mạch số, và nó  
vẫn được dùng rất nhiều bởi các kỹ sư điện và các nhà khoa học máy tính. Các kỹ  
thuật này có thể mô hình hóa một hệ logic với chỉ một phương trình đơn. Phương  
trình này có thể sau đó được đơn giản hóa và/hoặc chuyển đổi thành các dạng mới.  
Các kỹ thuật tương tự như vậy đã phát triển cho các nhà thiết kế mạch thích ứng rất  
tốt cho lập trình logic bậc thang.  
Các phương trình Bun bao gồm các biến và các phép toán và nhìn rất giống với  
các phương trình đại số thông thường. Có ba toán tử cơ bản là AND (và), OR (hoặc)  
và NOT (không – phủ định); các toán tử phức tạp hơn bao gồm EOR, NAND, NOR. Các  
bảng chân lý nhỏ cho các hàm này được chỉ ra trong hình 6.1. Mỗi toán tử được chỉ  
ra trong một phương trình đơn giản với hai biến A và B đang được sử dụng để tính  
toán ra một giá trị cho X. Các bảng chân lý là một phương pháp đơn giản (nhưng  
rườm rà) để chỉ ra tất cả các kết hợp có thể có mà sẽ chỉnh một đầu ra là bật hay tắt.  
Ghi chú: Bằng cách chuyển một trạng thái false (sai) cũng được gọi là off (tắt)  
hay 0 (zero – số không). Một trạng thái true (đúng) cũng được gọi là on (bật) hay 1  
(số 1).  
Ghi chú: Các ký hiệu được dùng trong các phương trình này, như là + cho OR là  
không phải là chuẩn quốc tế và một vài tác giả sẽ dùng các ký hiệu khác.  
Ghi chú: Hàm EOR là có sẵn trong dạng mạch, nhưng nó thường được chuyển  
tới dạng tương tự như sau hơn:  
ꢀ = ꢁ ⊕ ꢂ = ꢁ. ꢂ + ꢁ. ꢂ  
Figure 6.1 Boolean Operations with Truth Tables and Gates  
Các phép tính Bun với các bảng chân lý và các cổng (mạch)  
Trong một phương trình Bun các toán tử sẽ được đặt trong một dạng phức tạp  
hơn như hình 6. 2. Biến của những phương trình này chỉ có thể có một giá trị 0 cho  
sai, hay 1 cho đúng. Kết quả của phương trình này tuân theo các luật tương tự như  
đại số thông thường. Các thành phần của phương trình trong ngoặc đơn được thực  
hiện đầu tiên. Các phép toán được thực hiện theo thứ tự NOT, AND, OR. Trong ví dụ  
này hàm NOT cho biến C được làm đầu tiên, nhưng hàm NOT trên tập đầu tiên trong  
ngoặc đơn phải đợi tới khi một giá trị đơn là có sẵn. Khi có một sự lựa chọn các phép  
toán AND được thực hiện trước các phép toán OR. Đối với tập của các giá trị biến đã  
cho kết quả của tính toán là sai (false).  
đã cho ꢀ = (ꢁ + ꢂ. ꢃ) + ꢁ. (ꢂ + ꢃ)  
giả sử: A=1, B=0, C=1  
ꢀ = (1 + 0.1) + 1. (0 + 1)  
(
)
(
)
ꢀ = 1 + 0 + 1. 0 + 0  
( )  
( )  
ꢀ = 1 + 1. 0  
ꢀ = 0 + 0  
ꢀ = 0  
Figure 6.2 A Boolean Equation – Một phương trình Bun  
Các phương trình này có thể được thực hiện bằng cách dùng các tiên đề cơ bản  
của Bun được chỉ ra trong hình 6.3. Một vài tiên đề (kết hợp, phân phối, giao hoán)  
làm việc như đại số thông thường, nhưng những tiên đề khác có những khác biệt tế  
nhị mà không thể bỏ qua được.  
Tính lũy đẳng: ꢁ + ꢁ + ꢁ ; ꢁ. ꢁ = ꢁ  
(
)
(
)
Tính kết hợp: ꢁ + ꢂ + ꢃ = ꢁ + (ꢂ + ꢃ); ꢁ. ꢂ . ꢃ = ꢁ. (ꢂ. ꢃ)  
Tính giao hoán: ꢁ + ꢂ = ꢂ + ꢁ; ꢁ. ꢂ = ꢂ. ꢁ  
(
)
(
) (  
)
(
)
(
)
(
)
Tính phân phối: ꢁ + ꢂ. ꢃ = ꢁ + ꢂ . ꢁ + ꢃ ; ꢁ. ꢂ + ꢃ = ꢁ. ꢂ + ꢁ. ꢃ  
Tính đồng nhất: ꢁ + 0 = ꢁ; ꢁ + 1 = 1; ꢁ. 0 = 0; ꢁ. 1 = ꢁ  
Phần bù: ꢁ + ꢁ = 1; ꢄꢁꢅ = ꢁ; ꢁ. ꢁ = 0; 1 = 0  
(
)
(
)
DeMorgan’s: ꢁ + ꢂ = ꢁ. ꢂ; ꢁ. ꢂ = ꢁ + ꢂ  
Luật đối tính: trao đổi các toán tử AND và OR, cũng như các tập phổ dụng  
(universal), và tập rỗng. Phương trình kết quả là tương đương với  
phương trình ban đầu.  
Figure 6.3 The Basic Axioms of Boolean Algebra  
Các tiên đề cơ bản của đại số Bun  
Một ví dụ của việc thực thi phương trình như hình 6.4. Tiên đề phân phối được  
áp dụng để có được phương trình (1). Tiên đề lũy đẳng được dùng để có được  
phương trình (2). Phương trình (3) thu được bằng cách dùng tiên đề phân phối để di  
chuyển C ra ngoài các ngoặc đơn, nhưng tiên đề đồng nhất được dùng để giải quyết  
với biến C đơn độc. Tiên đề đồng nhất sau đó được dùng để đơn giản hóa thành  
phần của các ngoặc đơn để có được phương trình (4). Cuối cùng tiên đề đồng nhất  
được dùng để nhận kết quả, phương trình đã được rút gọn. Nhớ rằng dùng đại số  
Bun đã chỉ ra rằng 3 trong số các biến là hoàn toàn không cần thiết.  
ꢄ
ꢅ
ꢁ = ꢂ. (ꢃ. ꢆ + ꢇ + ꢃ + ꢈ. ꢃ)  
ꢁ = ꢂ. (ꢆ. ꢃ + ꢇ. ꢃ + ꢃ. ꢃ) + ꢈ. ꢃ)  
ꢁ = ꢂ. (ꢆ. ꢃ + ꢇ. ꢃ + ꢃ + ꢈ. ꢃ)  
ꢁ = ꢂ. ꢃ. (ꢆ + ꢇ + 1 + ꢈ)  
(1)  
(2)  
(3)  
(4)  
(5)  
( )  
ꢁ = ꢂ. ꢃ. 1  
ꢁ = ꢂ. ꢃ  
Figure 6.4 Simplification of a Boolean Equation  
Dạng đơn giản của một phương trình Bun  
Ghi chú: Khi đơn giản hóa đại số Bun, Các toán tử OR có mức ưu tiên thấp, vì  
vậy chúng nên được tính toán trước tiên. Các toán tử NOT có độ ưu tiên cao nhất, vì  
vậy chúng phải được đơn giản hóa cuối cùng. Xem xét ví dụ từ trước:  
Các toán tử độ ưu tiên cao hơn được đặt trong các ngoặc đơn  
ꢀ = (ꢁ + ꢂ + ꢃ) + ꢁ. (ꢂ + ꢃ)  
Luật DeMorgan được thực thi  
(
)
ꢀ = (ꢁ) + ꢂ. ꢃ + ꢁ. (ꢂ + ꢃ)  
Luật DeMorgan được thực thi một lần nữa  
Phương trình được mở rộng  
( )  
ꢀ = ꢁ . (ꢂ. ꢃ) + ꢁ. (ꢂ + ꢃ)  
ꢄ
ꢅ
ꢀ = ꢁ. ꢂ + ꢃ + ꢁ. (ꢂ + ꢃ)  
Các thành phần giống nhau được tập trung lại, ở đây chỉ là NOT  
C
ꢀ = ꢁ. ꢂ + ꢁ. ꢃ + ꢁ. ꢂ + ꢁ. ꢃ  
ꢄ
ꢅ
ꢀ = ꢁ. ꢂ + ꢁ. ꢃ + ꢁ. ꢃ + ꢁ. ꢂ  
Các thành phần dư thừa được loại trừ  
ꢄ
ꢅ
ꢀ = ꢁ. ꢂ + ꢃ ꢁ + ꢁ + ꢁ. ꢂ  
Một tiên đề Bun được áp dụng để đơn giản hóa thêm phương  
trình  
ꢀ = ꢁ. ꢂ + ꢃ + ꢁ. ꢂ  
6.3 THIẾT KẾ LOGIC  
Các ý tưởng thiết kế có thể được chuyển sang các phương trình Bun một cách  
trực tiếp, hay với các kỹ thuật được thảo luận sau. Dạng phương trình Bun có thể sau  
đó được đơn giản hay sắp xếp lại, và sau đó được chuyển đổi sang logic bậc thang,  
hay một mạch nào đó.  
Thêm: Dạng logic của một mạch dấu có thể được phân tích bằng cách dùng một  
phương trình Bun như được chỉ ra ở dưới. Nhắc lại rằng START là NO và STOP là NC.  
ON’=(START + ON).STOP  
ON  
0
STOP  
0
START ON’  
0
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
Nút stop được ấn, không kích hoạt  
Nút stop được ấn, không kích hoạt  
Không kích hoạt  
Nút start được ấn, trở nên kích hoạt  
Nút stop được ấn, không kích hoạt  
Nút stop được ấn, không kích hoạt  
Kích hoạt, nút start không bao giờ được ấn nữa  
Trở nên kích hoạt và nút start được ấn  
0
0
0
1
1
1
1
0
1
1
0
0
1
1
Nếu ta có thể mô tả một bộ điều khiển làm việc như thế nào bằng từ ngữ, ta  
thường có thể chuyển đổi chúng một cách trực tiếp tới một phương trình Bun, như  
hình 6.5. Trong ví dụ này một mô tả quá trình được đưa ra đầu tiên. Trong các ứng  
dụng thực sự điều này có thể làm được bằng cách nói chuyện với người thiết kế  
thành phần cơ học của hệ thống đó. Trong nhiều trường hợp hệ thống này không tồn  
tại, làm điều đó là một công việc đầy thách thức. Bước tiếp theo là xác định bộ điều  
khiển làm việc như thế nào. Trong trường hợp này nó ban đầu được viết ra trong  
một câu, và sau đó được chuyển thành một biểu thức Bun. Biểu thức này có thể sau  
đó được chuyển thành một hình thức mong muốn nào đó. Phương trình đầu tiên  
bao gồm một EOR, EOR là không có sẵn trong logic bậc thang, vậy dòng tiếp theo  
chuyển nó thành một biểu thức tương đương (2) bằng cách sử dụng các phép toán  
AND, OR và NOT. Logic bậc thang này đã khai triển cho phương trình thứ hai. Trong  
phép chuyển đổi này các số hạng là các loạt phép toán AND. Các số hạng là các phép  
toán OR là trong các nhánh song song, và các phép toán là NOT sử dụng các công tắc  
thường đóng. Phương trình cuối (3) được mở rộng một cách đầy đủ và logic bậc  
thang cho nó được chỉ ra trong hình 6.6. Cái này minh họa chức năng điều khiển logic  
giống nhau có thể đạt được với khác biệt, là tương tự, ở đây là logic bậc thang.  
Mô tả quá trình:  
Một lò nướng có hai ngăn có thể làm nóng một thỏi trong mỗi ngăn. Khi  
chức năng nóng là bật nó cấp đủ nhiệt cho cả hai thỏi. Nhưng, nếu chỉ một thỏi  
có mặt lò có thể sẽ quá nóng, vậy một quạt được dùng để làm mát lò khi nó quá  
nhiệt độ cài đặt.  
Mô tả điều khiển:  
Nếu nhiệt độ là quá nóng và có một thỏi trong chỉ một ngăn thì bật quạt  
lên.  
Xác định các đầu vào và các đầu ra:  
B1=ngăn 1 thỏi có mặt  
B2=ngăn 2 thỏi có mặt  
F= quạt  
T=cảm biến nhiệt độ quá nóng  
Phương trình Bun:  
ꢈ = ꢉ. (ꢂꢊ ⊕ ꢂꢋ)  
(2)  
ꢈ = ꢉ. (ꢂꢊ. ꢂꢋ + ꢂꢊ. ꢂꢋ)  
(3)  
ꢈ = ꢂꢊ. ꢂꢋ. ꢉ + ꢂꢊ. ꢂꢋ. ꢉ  
Logic bậc thang cho phương trình:  
Ghi chú của người gõ: Kết quả của logic có điều kiện là một bước đơn trong bậc  
thang  
Cảnh báo: trong tiếng Anh nói và viết OR và EOR thường là không xác định một  
cách rõ ràng. Cân nhắc chỉ dẫn giao thông ”Đi tới phố chính sau đó rẽ trái hay rẽ  
phải”. Điều này có nghĩa rằng bạn có thể lái xe theo một trong hai hướng, hoặc người  
đó không chắc chắn đường nào để đi? Xem xét phát biểu “Các xe hơi là đỏ hay  
xanh”. Điều này có nghĩa rằng các xe hơi này có thể là một trong hai màu đỏ hay  
xanh, hay mọi xe là màu đỏ, hay mọi xe là màu xanh? Một cách chữ nghĩa tốt là mô  
tả tình huống này là “một hay cái khác, nhưng không cả hai”.  
Figure 6.5 Boolean Algebra Based Design of Ladder Logic  
Thiết kế dựa trên đại số Bun cho logic bậc thang  
Logic bậc thang cho phương trình (3):  
Figure 6.6 Alternate Ladder Logic – Một logic bậc thang khác  
Đại số Bun thường được dùng trong thiết kế các mạch kỹ thuật số. Xem xét ví  
dụ trong hình 6.7. Trong trường hợp này ta được giới thiệu một mạch được xây  
dựng gồm có các biến tần, nand, nor and, và các mạch. Hình này có thể được chuyển  
đổi sang một phương trình Bun bằng cách bắt đầu tại bên trái và làm việc sang bên  
phải. Các mạch ở bên trái được thực hiện trước, vì vậy chúng được đặt bên trong các  
ngoặc đơn để biểu thị độ ưu tiên. Các biến tần được biểu thị bằng cách đặt một toán  
tử NOT vào một biến trong phương trình. Mạch này không thể chuyển đổi một cách  
trực tiếp sang logic bậc thang vì không có sự tương đương với các mạch NAND và  
mạch NOR. Sau khi mạch này được chuyển sang một phương trình Bun nó được đơn  
giản hóa và được chuyển đổi ngược lại vào trong một sơ đồ mạch và logic bậc thang  
(đơn giản hơn nhiều).  
Mạch này được chuyển đổi tới một phương trình Bun và được đơn giản hóa.  
Các số hạng lồng nhau nhiều nhất trong phương trình là ở bên trái của hình.  
ꢀ = ꢌꢍꢁ. ꢂ. ꢃꢎ + ꢂꢏ . ꢂ. (ꢁ + ꢃ)  
ꢀ = ꢄꢁ + ꢂ + ꢃ + ꢂꢅ. ꢂ. (ꢁ + ꢃ)  
ꢀ = ꢁ. ꢂ. ꢁ. ꢃ + ꢂ. ꢂ. ꢁ. ꢃ + ꢃ. ꢂ. ꢁ. ꢃ + ꢂ. ꢂ. ꢁ. ꢃ  
ꢀ = ꢂ. ꢁ. ꢃ + ꢂ. ꢁ. ꢃ + 0 + ꢂ. ꢁ. ꢃ  
ꢀ = ꢂ. ꢁ. ꢃ  
Phương trình đơn giản hóa này được chuyển ngược lại về một mạch và logic  
bậc thang tương ứng.  
Figure 6.7 Reverse Engineering of a Digital Circuit  
Kỹ thuật đảo ngược mạch kỹ thuật số  
Để tóm tắt, ta sẽ có được các phương trình Bun từ một mô tả chữ nghĩa hay  
mạch đang tồn tại hay sơ đồ bậc thang. Phương trình này có thể tính toán được bằng  
cách dùng các tiên đề của đại số Bun. Sau khi đơn giản hóa phương trình này có thể  
được chuyển trở lại thành logic bậc thang hay một sơ đồ mạch. Logic bậc thang (và  
các mạch) có thể vận hành như nhau cho dù chúng ở các dạng khác nhau. Khi đơn  
giản hóa các phương trình Bun, mà các phương trình này được thực thi trong logic  
bậc thang, có một vài luật cơ bản:  
1. Loại trừ các phép NOT mà chúng dùng cho nhiều hơn một biến. Điều này  
thông thường bao gồm các thay thế cho các hàm NAND và NOR với những  
hàm đơn giản hơn bằng cách dùng định lý DeMorgan.  
2. Loại trừ các hàm phức như các EOR với hàm tương đương của chúng.  
Những nguyên tắc này được tăng cường với một thiết kế khác bắt đầu trong  
hình 6.8. Giả sử rằng phương trình Bun đó mô tả bộ điều khiển này là được biết  
trước. Phương trình này có thể được chuyển đổi sang cả hai một là sơ đồ mạch và  
hai là logic bậc thang. Sơ đồ mạch này bao gồm khoảng hai đô la Mỹ giá trị cho các  
mạch tích hợp. Nếu thiết kế này được sản xuất hàng loạt cái giá cuối cùng cho toàn  
bộ bộ điều khiển sẽ có thể dưới 50$. Nguyên mẫu của bộ điều khiển này sẽ có giá  
hàng nghìn đô la. Nếu được thực thi trong logic bậc thang giá của mỗi bộ điều khiển  
sẽ xấp xỉ 500$. Vì vậy một số lượng lớn của mạch dựa trên các bộ điều khiển cần để  
sản xuất ra trước khi sự kiện hỏng hóc xảy ra. Số lượng này thường trong khoảng  
hàng trăm đơn vị. Có vài lợi thế đặc biệt cho một PLC trên mạch kỹ thuật số cho nhà  
máy và một vài ứng dụng khác.  
PLC này sẽ được vững chắc hơn  
Chương trình có thể được thay đổi một cách dễ dàng  
Kỹ năng cần đến để duy trì thiết bị là ít hơn  
Cho phương trình điều khiển sau:  
ꢁ = ꢂ. ꢍꢃ. ꢄꢆ + ꢇ + ꢃꢅꢎ + ꢈ. ꢃ  
Mạch được cho bên dưới, và logic bậc thang tương ứng được chỉ ra  
Các mạch có thể được mua cho khoảng  
0,25$ cho mỗi mạch khi mua số lượng lớn.  
Các đầu vào và các đầu ra thường là 5V  
Một PLC không đắt có giá tối thiểu vài  
trăm đô la  
Cân nhắc giá cả hài hòa  
Figure 6.8 A Boolean Equation and Derived Circuit and Ladder Logic  
Một phương trình Bun và mạch tương ứng và logic bậc thang tương ứng  
Phương trình ban đầu là chưa tối giản. Có thể đơn giản phương trình này sang  
dạng trong hình 6.8.Nếu bạn là một người học trực quan bạn có lẽ muốn nhận thấy  
rằng một vài sự đơn giản là hiển nhiên với logic bậc thang – xem xét nhãn C trên cả  
hai nhánh của logic bậc thang trong hình 6.9.  
ꢁ = ꢂ. ꢃ. ꢄꢆ + ꢇ + ꢈꢅ  
Figure 6.9 The Simplified Form of the Example – Dạng đơn giản hóa của ví dụ  
Phương trình này cũng có thể thực hiện tới các dạng khác mà chúng nhiều  
thành phần hơn nhưng kém hiệu quả hơn như trong hình 6.10. Phương trình này  
được chỉ ra trong dạng tách rời thông thường – nói cho đơn giản hơn đây là các số  
hạng được AND và được OR cùng nhau. Đây cũng là một ví dụ của một dạng tiêu  
chuẩn – đơn giản hơn điều này có nghĩa một dạng chuẩn. Dạng này là quan trọng  
hơn cho logic kỹ thuật số, nhưng nó có thể làm một vài vấn đề lập trình PLC dễ dàng  
hơn. Ví dụ, khi một phương trình được đơn giản hóa, nó có lẽ không trông giống ý  
định thiết kế ban đầu, và vì vậy trở nên khó khăn hơn để làm lại mà không bắt đầu từ  
đầu.  
ꢁ = ꢄꢂ. ꢃ. ꢆꢅ + ꢄꢂ. ꢃ. ꢇꢅ + (ꢂ. ꢃ. ꢈ)  
Figure 6.10 A Canonical Logic Form – Một dạng logic tiêu chuẩn  
6.3.1 Các kỹ thuật đại số Bun  
Có nhiều kỹ thuật đại số Bun thông dụng mà được dùng khi đơn giản hóa các  
phương trình. Nhận dạng những dạng phương trình này là quan trọng để đơn giản  
hóa đại số Bun dễ dàng. Chúng được chia thành các khoản mục, với các bằng chứng  
trong hình 6.11.  
chứng tỏ:  
ꢁ + ꢃꢁ = ꢁ + ꢃ  
ꢁ + ꢃꢁ  
(
(
)
ꢁ + ꢃ (ꢁ + ꢁ)  
)
ꢁ + ꢃ (1)  
ꢁ + ꢃ  
ꢁꢂ + ꢁ = ꢁ  
chứng tỏ:  
chứng tỏ:  
ꢁꢂ + ꢁ  
ꢁꢂ + ꢁ1  
ꢁ(ꢂ + 1)  
ꢁ(1)  
ꢁ
ꢁ + ꢂ + ꢃ = ꢁ ꢂ ꢃ  
ꢁ + ꢂ + ꢃ  
(
)
ꢁ + ꢂ + ꢃ  
(ꢁ + ꢂ) ꢃ  
ꢄ
ꢅ
ꢁ ꢂ ꢃ  
ꢁ ꢂ ꢃ  
Figure 6.11 Common Boolean Algebra Techniques  
Các kỹ thuật đại số Bun thông thường  
6.4 CÁC DẠNG LOGIC THÔNG DỤNG  
Hiểu biết về một tập hợp đơn giản của các dạng logic sẽ hỗ trợ một nhà thiết kế  
khi phân loại các vấn đề điều khiển. Các dạng sau được đưa ra để sử dụng một cách  
trực tiếp, hay đưa ra những ý tưởng khi thiết kế.  
6.4.1 Các dạng mạch phức tạp  
Tổng số có 16 loại khác nhau có thể có của các mạch logic hai đầu vào (2-input).  
Dạng tối giản là AND và OR, các mạch khác ta sẽ nói tới khi phức tạp để phân biệt. Ba  
mạch phức tạp thông thường mà đã được thảo luận trước là NAND, NOR và EOR. Tất  
cả các dạng này có thể giảm xuống các dạng đơn giản hơn chỉ với các phép toán AND  
and OR mà phù hợp với logic bậc thang như hình 6.12.  
NAND  
NOR  
EOR  
ꢀ = ꢁ ⊕ ꢂ  
ꢀ = ꢁ. ꢂ  
ꢀ = ꢁ + ꢂ  
ꢀ = ꢁ + ꢂ  
ꢀ = ꢁ. ꢂ  
ꢀ = ꢁ. ꢂ + ꢁ. ꢂ  
Figure 6.12 Conversion of Complex Logic Functions  
Chuyển đổi các hàm logic phức tạp  
6.4.2 Bộ chuyển mạch nhiều kênh  
Các bộ chuyển mạch nhiều kênh cho phép nhiều thiết bị được kết nối tới một  
thiết bị đơn lẻ. Chúng có rất nhiều trong các hệ điện thoại. Một chuyển mạch điện  
thoại được dùng để xác định điện thoại nào sẽ được kết nối tới một số lượng đường  
dây có giới hạn tới các chuyển mạch điện thoại khác. Điều này cho phép các cuộc  
điện thoại được thiết lập tới một ai đó ở xa mà không dùng tới dây dành riêng tới  
điện thoại khác. Trong các bảng chuyển mạch điện thoại trước đây, những người  
trực tổng đài điện thoại kết nối một cách vật lý các dây bằng cách cắm chúng vào  
nhau. Trong các chuyển mạch điện thoại được máy tính hóa hiện đại công việc được  
thực hiện giống nhau, nhưng tới các tín hiệu giọng nói kỹ thuật số.  
Trong hình 6.13 một bộ chuyển mạch nhiều kênh được chỉ ra rằng nó sẽ làm  
cho một trong bốn bit các đầu vào D1, D2, D3 hay D4 thành đầu ra X, phụ thuộc vào  
các giá trị của các bit địa chỉ, A1 và A2.  
Figure 6.13 A Multiplexer – Một bộ chuyển mạch nhiều kênh  
Logic bậc thang tạo thành bộ chuyển mạch nhiều kênh này có thể được thấy  
trong hình 6.14.  
Figure 6.14 A Multiplexer in Ladder Logic  
Một bộ chuyển mạch nhiều kênh trong logic bậc thang  
6.5 NHỮNG VÍ DỤ THIẾT KẾ ĐƠN GIẢN  
Các ví dụ sau được đưa ra để minh họa các vấn đề logic tổ hợp khác nhau, và  
các giải pháp có thể. Khuyến cáo rằng bạn cố làm thỏa mãn mô tả trước khi nhìn vào  
giải pháp (đáp số, lời giải).  
6.5.1 Các hàm logic cơ bản  
Bài toán: Phát triển một chương trình mà sẽ làm cho đầu ra D đi tới true khi  
chuyển mạch A và chuyển mạch B là đóng hay khi chuyển mạch C là đóng.  
Lời giải: D=(A.B) + C  
Figure 6.15 Sample Solution for Logic Case Study A  
Lời giải mẫu cho nghiên cứu trường hợp logic A  
Bài toán: Phát triển một chương trình mà sẽ làm cho đầu vào D là on (bật) khi  
nút nhấn A là on, hoặc một trong B hay C là on.  
Lời giải: D= A + (B ⨁ C)  
Figure 6.16 Sample Solution for Logic Case Study B  
Giải pháp mẫu cho nghiên cứu trường hợp logic B  
6.5.2 Hệ thống an toàn xe hơi  
Bài toán: Phát triển logic bậc thang cho một hệ an toàn cửa/dây đeo xe hơi. Khi  
cửa xe là mở, và dây an toàn chưa được cột, dòng điện cho đánh lửa phải không  
được cấp. Nếu mọi thứ là an toàn thì chìa khóa sẽ khởi động máy.  
Lời giải:  
Figure 6.17 Solution to Car Safety System Case  
Giải pháp cho trường hợp hệ an toàn xe hơi  
6.5.3 Motor Forward/Reverse Động cơ tiến/lùi  
Bài toán: Thiết kế một bộ điều khiển động cơ mà có một nút tiến và một nút lùi.  
Các đầu ra tiến và các đầu ra lùi động cơ này sẽ chỉ là on (bật) khi một trong các nút  
là được ấn.  
Khi cả hai nút này là được nhấn thì động cơ sẽ không làm việc.  
Lời giải: ꢈ = ꢂꢈ. ꢂꢐ  
ꢐ = ꢂꢈ. ꢂꢐ, trong đó: F=động cơ tiến  
R=động cơ lùi  
BF=nút tiến  
BR=nút lùi  
Figure 6.18 Motor Forward, Reverse Case Study  
Nghiên cứu trường hợp động cơ tiến lùi  
6.5.4 Một chuông báo trộm  
Xem xét thiết kế của một chuông báo trộm cho một ngôi nhà. Khi được kích  
hoạt một chuông và các đèn sẽ được kích hoạt để cảnh báo khách không mời bỏ đi.  
Chuông này được kích hoạt nếu một kẻ xâm nhập trái phép được phát hiện bởi cảm  
biến cửa sổ và một máy dò chuyển động. Cảm biến cửa sổ này là một vòng lặp của  
dây có hiệu quả mà dây này là một lá kim loại mỏng bao quanh cửa sổ này. Nếu cửa  
sổ bị phá, lá kim loại làm hỏng dây điện. Nó làm việc như một chuyển mạch thường  
đóng. Cảm biến chuyển động này được thiết kế để khi một người được phát hiện thì  
đầu ra sẽ (duy trì việc) chạy. Như với bất cứ chuông nào một chuyển mạch kích  
hoạt/khử kích hoạt cũng là cần thiết. Hoạt động cơ bản của một hệ chuông báo, và  
các đầu vào và các đầu ra của bộ điều khiển được mục lục hóa trong hình 6.19.  
Các đầu vào và các đầu ra được lựa chọn như sau:  
A = Các chuyển mạch đèn và chuyển mạch chuông (1=on (bật))  
W = Cảm biến cửa sổ/cửa ra vào (1=OK)  
M = Cảm biến chuyển động (0=OK)  
S = Chuyển mạch kích hoạt chuông (1=on)  
Hoạt động cơ bản của chuông này có thể được mô tả với các quy tắc:  
1. Nếu chuông là bật, kiểm tra các cảm biến.  
2. Nếu cảm biến cửa sổ/cửa ra vào bị hỏng (tắt đi), phát tiếng chuông và  
bật các đèn.  
Ghi chú: Như một kỹ sư, trách nhiệm của bạn là xác định những mục này trước  
khi bắt đầu công việc. Nếu bạn không làm điều này đầu tiên bạn được đảm bảo rằng  
sinh ra một thiết kế tồi. Rất quan trọng để phát triển một danh sách tốt về các đầu  
vào và các đầu ra, và cho chúng các tên đơn giản để chúng là dễ dàng để tham khảo  
đến chúng. Hầu hết các công ty sẽ sử dụng các giản đồ đánh số cho dây trong sơ đồ  
của họ.  
Figure 6.19 Controller Requirements List for Alarm  
Danh sách các yêu cầu bộ điều khiển cho chuông  
Bước tiếp theo để xác định phương trình điều khiển. Trong trường hợp này điều  
khiển gồm 3 đầu vào khác nhau, và một đầu ra đơn lẻ, vì thế một bảng chân lý là một  
cách tiếp cận có lý để chính thức hóa hệ thống. Một phương trình Bun có thể được  
viết sau đó bằng cách dùng bảng chân lý trong hình 6.20. Trong tám kết hợp có thể  
có của các đầu vào chuông, chỉ có ba là dẫn tới điều kiện báo động.  
Figure 6.20 Truth Table for the Alarm – Bảng chân lý cho chuông báo  
Phương trình Bun trong hình 6.21 được viết bằng cách kiểm tra bảng chân lý  
trong hình 6.20. Có ba trường hợp có thể có chuông báo mà chúng có thể được đại  
diện bởi các điều kiện của tất cả ba đầu vào. Ví dụ lấy dòng cuối cùng trong bảng  
chân lý ở đó khi cả ba đầu vào là bật chuông phải là một. Điều này dẫn tới số hạng  
cuối cùng trong phương trình. Hai số hạng khác được phát triển trong cùng một cách.  
Sau khi phương trình được viết ra, nó được đơn giản hóa.  
ꢁ = ꢄꢑ. ꢒ. ꢓꢅ + ꢄꢑ. ꢒ. ꢓꢅ + (ꢑ. ꢒ. ꢓ)  
∴ꢁ = ꢑ. (ꢒ. ꢓ + ꢒ. ꢓ + ꢒ. ꢓ)  
∴ꢁ = ꢑ. (ꢄꢒ. ꢓ + ꢒ. ꢓꢅ + (ꢒ. ꢓ + ꢒ. ꢓ))  
(
)
∴ꢁ = ꢄꢑ. ꢓꢅ + ꢑ. ꢒ = ꢑ. (ꢓ + ꢒ)  
Figure 6.21 A Boolean Equation and Impl ementation for the Alarm  
Một phương trình Bun và sự làm việc cho chuông báo  
Phương trình và mạch ở hình trên có thể cũng được đơn giản hóa thêm, như  
hình 6.22  
Figure 6.22 The Simplest Circuit and Ladder Diagram  
Mạch tối giản hóa và sơ đồ bậc thang  
Thêm: Chuông này có thể cũng được thực thi trong các ngôn ngữ lập trình.  
Chương trình sau là cho một bộ vi xử lý Basic Stamp II. (www.parallaxinc.com):  
w = 1; s = 2; m = 3; a = 4  
input m; input w; input s  
output a  
loop:  
if (in2 = 1) and (in1 = 0 or in3 = 1) then on  
low a; goto loop ‘alarm off  
on:  
high a; goto loop ‘alarm on  
Figure 6.23 Alarm Implementation Using A High Level Programming Language  
Sự thực thi chuông báo sử dụng một ngôn ngữ lập trình bậc cao  
6.6 TÓM TẮT  
Các giá trị đúng sai có thể được đại diện bởi các phương trình Bun.  
Các phương trình Bun có thể được chuyển tới (và từ) logic bậc thang hay các  
mạch kỹ thuật số.  
Các phương trình Bun có thể được đơn giản hóa.  
Các bộ điều khiển khác nhau có thể làm việc theo cùng một cách.  
Các dạng logic thông dụng tồn tại và có thể dùng để hiểu các giá trị đúng sai.  
Các bảng chân lý có thể đại diện cho mọi trạng thái có thể của một hệ nào đó.  
6.7 BÀI TẬP THỰC HÀNH  
1. Mạch logic bậc thang trong hình sau là cho một mạch AND hay cho một mạch OR?  
2. Vẽ một sơ đồ bậc thang mà sẽ làm cho đầu ra D đi tới true khi chuyển mạch A và  
chuyển mạch B là đóng hoặc khi chuyển mạch C là đóng.  
3. Vẽ một sơ đồ bậc thang mà làm cho đầu ra D là on (bật) khi nút nhấn A là on, hoặc  
một trong B hoặc C là on.  
4. Thiết kế logic bậc thang cho một xe hơi mà xe này xem xét các biến sau để điều  
khiển động cơ M. Cũng thêm một đầu ra thứ hai mà đầu ra này sử dụng bất cứ đầu  
ra nào không được sử dụng để điều khiển động cơ.  
- Các cửa là được mở/được đóng (D)  
- Các chìa trong ổ đánh lửa (D)  
- Động cơ chạy (M)  
- Động cơ ngừng (P) (nguyên văn: transmission in park (P))  
- Đánh lửa khởi động (I)  
5. a) Giải thích tại sao một nút stop phải là thường đóng và một nút start phải là  
thường mở.  
b) Xem xét một trường hợp ở đó một đầu vào một PLC là một nút stop thường đóng.  
Công tắc được dùng trong logic bậc thang là thường mở, như ở hình dưới. Tại sao cả  
hai điều này là không như nhau? (ví dụ. NC hay NO).  
6. Tạo một chương trình logic bậc thang đơn giản mà sẽ bật các đầu ra với các mẫu  
nhị phân khi các nút tương ứng được nhấn.  
7. Chuyển các phương trình Bun sau thành logic bậc thang tối giản có thể được:  
ꢀ = ꢁ. (ꢁ + ꢁ. ꢂ)  
8. Đơn giản hóa các phương trình Bun sau:  
a) ꢁ(ꢂ + ꢁꢂ) ; b) ꢁ(ꢂ + ꢁꢂ)  
c) ꢁ(ꢂ + ꢁꢂ); d) ꢁ(ꢂ + ꢁꢂ)  
9. Đơn giản hóa các phương trình Bun sau:  
a) (ꢁ + ꢂ). (ꢁ + ꢂ)  
b) ꢁꢂꢃꢆ + ꢁꢂꢃꢆ + ꢁꢂꢃꢆ + ꢁꢂꢃꢆ  
10. Đơn giản hóa biểu thức Bun dưới đây:  
ꢌꢄꢁ. ꢂꢅ + (ꢂ + ꢁ)ꢏ . ꢃ + (ꢂ. ꢃ + ꢂ + ꢃ)  
11. Cho biểu thức Bun sau a) vẽ một mạch kỹ thuật số và b) một sơ đồ bậc thang  
(không làm đơn giản hóa), c) đơn giản biểu thức này  
ꢀ = ꢁ. ꢂ. ꢃ + (ꢃ + ꢂ)  
12. Đơn giản phương trình Bun sau và viết logic bậc thang tương ứng:  
ꢔ = (ꢁꢂꢃꢆ + ꢁꢂꢃ ꢆ + ꢁ ꢂꢃꢆ) + ꢆ  
13. Cho phương trình Bun sau:  
ꢀ = ꢁ + ꢂꢄꢁ + ꢃꢂ + ꢆꢁꢃꢅ + ꢁꢂꢃꢆ  
a) Viết ra logic bậc thang cho phương trình chưa đơn giản hóa.  
b) Đơn giản phương trình đó  
c) Viết ra logic bậc thang cho phương trình được đơn giản hóa.  
14. a) Viết một phương trình Bun cho bảng chân lý sau. (Mẹo: làm bằng cách viết một  
biểu thức cho mỗi dòng với một đầu ra true, và sau đó thực hiện phép toán OR  
chúng với nhau).  
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Result  
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
b) Viết các kết quả trong mục a) bằng một phương trình Bun  
c) Đơn giản hóa phương trình ở mục b)  
15. Đơn giản phương trình Bun sau, và tạo logic bậc thang tối giản.  
ꢔ = ꢃ(ꢁ + (ꢁ + ꢌꢂ ꢃ(ꢁ + ꢂꢃ)ꢏ))  
16. Đơn giản phương trình Bun sau với đại số Bun và viết logic bậc thang tương ứng:  
ꢀ = ꢄꢁ + ꢂ. ꢁꢅ + (ꢃ + ꢆ + ꢇꢃ)  
17. Chuyển logic bậc thang sau thành một phương trình Bun. Sau đó đơn giản hóa  
nó, và chuyển nó ngược lại thành logic bậc thang đơn giản hơn:  
18. a) Phát triển biểu thức Bun cho mạch bên dưới  
b) Đơn giản hóa biểu thức Bun này.  
c) Vẽ một mạch đơn giản hơn cho phương trình ở mục b)  
19. Cho một hệ mà nó được mô tả với phương trình sau:  
ꢀ = ꢁ + ꢄꢂ. ꢄꢁ + ꢃꢅ + ꢃꢅ + ꢁ. ꢂ. (ꢆ + ꢇ)  
a) Đơn giản hóa phương trình này bằng cách dùng đại số Bun.  
b) Thực thi phương trình đã cho ban đầu và sau đó đơn giản hóa nó với một mạch kỹ  
thuật số  
c) Thực thi phương trình đã cho ban đầu và sau đó đơn giản hóa (rút gọn) nó bằng  
logic bậc thang.  
20. Rút gọn phương trình sau cà thực thi các phương trình ban đầu và phương trình  
được rút gọn với các mạch (cổng) và logic bậc thang.  
ꢁ + ꢄꢂ + ꢃ + ꢆꢅ. ꢄꢂ + ꢃꢅ + ꢁ. ꢂ. (ꢃ + ꢆ)  
6.8 LỜI GIẢI CHO BÀI TẬP THỰC HÀNH  
1. AND  
2.  
Tải về để xem bản đầy đủ
pdf 28 trang baolam 21201 Free
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Hệ thống sản xuất tự động hóa với PLCs - Phần 6: Thiết kế logic bun", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_he_thong_san_xuat_tu_dong_hoa_voi_plcs_phan_6_thi.pdf