You are on page 1of 8

6/4/2023

CHƯƠNG 3:
BỘ ĐIỀU KHIỂN KHẢ
TRÌNH VÀ TỰ ĐỘNG LẬP TRÌNH CHO PLC
HÓA

1 2

Outlines LÝ THUYẾT CƠ SỞ

3.1. Lý thuyết cơ sở
3.1.1 Cơ sở toán học về đại số logic
3.2. Ngôn ngữ lập trình: Instruction List, Structured Text, Function Block .
 Hàm và biến logic
3.3 Lập trình dựa vào cấu trúc (Structured Logic Design)  Biến số 𝑥 được gọi là biến logic nếu x thuộc tập hợp B chỉ gồm 2 phần
3.4 Lập trình dựa vào lưu đồ (Flowchart Based Design) tử ký hiệu là 0 và 1. Nghĩa là biến logic x chỉ nhận giá trị 0 hoặc 1.
x B = 0;1
3.5 Lập trình dựa vào trạng thái(State Based Design)
 Hàm số f của các biến x1, x2, …, xn được gọi là hàm logic khi và chỉ khi
các biến x1, x2, …, xn là các biến logic và giá trị của hàm số f cũng là giá
trị logic, tức là f cũng chỉ có 2 giá trị 0 và 1.

f(x1 , x2 ,…, xn ) B = {0;1} với x1 , x2 , …, xn  B= {0;1}

3 4
6/4/2023

LÝ THUYẾT CƠ SỞ LÝ THUYẾT CƠ SỞ

3.1 Cơ sở toán học về đại số logic 3.1.1 Cơ sở toán học về đại số logic

 Các phép toán logic cơ bản  Các tính chất và định luật logic cơ bản
• Tính chất giao hoán
Phép nghịch đảo (NOT) Phép nhân logic (AND) x +x =x +x
Phép cộng logic (OR)
x .x = x .x
Tính chất kết hợp
x +x +x = x +x + x = x + (x + x )
x .x .x = (x . x ). x = x . (x . x )
Tính chất phân phối
x . (x + x ) = x . x + x . x
x + (x . x ) = (x + x ). (x + x )
Luật De Morgan
x + x + ⋯+ x = x .x .….x

x .x .⋯.x = x + x + ⋯+ x

5 6

LÝ THUYẾT CƠ SỞ LÝ THUYẾT CƠ SỞ

3.1.1 Cơ sở toán học về đại số logic 3.1.2 Các ký hiệu mạch logic

 Các tính chất và định luật logic cơ bản x x x x


Phép phủ định (nghịch đảo) NOT
• Tính chất giao hoán
x +x =x +x x x
x y x y
x .x = x .x Phép cộng logic OR y y 1
Tính chất kết hợp
x +x +x = x +x + x = x + (x + x )
x xy x xy
x .x .x = (x . x ). x = x . (x . x ) Phép nhân logic AND y y &
Tính chất phân phối
x . (x + x ) = x . x + x . x x x y
Phép NOR y
x + (x . x ) = (x + x ). (x + x )
Luật De Morgan
x
xy
x + x + ⋯+ x = x .x .….x Phép NAND y

x .x .⋯.x = x + x + ⋯+ x

7 8
6/4/2023

LÝ THUYẾT CƠ SỞ LÝ THUYẾT CƠ SỞ

3.1.2 Các ký hiệu mạch logic 3.1 Mạch role tiếp điểm

 Mạch logic cũng có thể được biểu diễn bằng sơ đồ rơle- tiếp điểm

9 10

LÝ THUYẾT CƠ SỞ Phân loại

3.1.3 Mạch role tiếp điểm 3.1.3 Mạch role tiếp điểm

11 12
6/4/2023

NGÔN NGỮ LẬP TRÌNH PLC NGÔN NGỮ LẬP TRÌNH

3.2.1 Ngôn ngữ Instruction List (IL)

 Ngôn ngữ lập trình Instruction List (IL) giống như ngôn ngữ Assembler
Ngôn ngữ lập trình
lập trình cho vi xử lý, với nhiều hàng câu lệnh mà mỗi câu lệnh thể
hiện cho một hoạt động
Textural language Graphical language
 chương trình viết bằng IL sẽ giúp bộ điều khiển thực thi nhanh hơn,
hơn nữa chương trình gọn nhẹ chiếm ít bộ nhớ.
Instruction Structured Ladder Functional Sequential  Một chương trình viết bằng ngôn ngữ IL gồm các chuỗi câu lệnh, mỗi
list text diagram block diagram function chart
câu lệnh trên 1 dòng. Mỗi câu lệnh gồm: một toán tử (operator) và
một hay nhiều toán hạng (operand).
 Toán hạng là đối tượng của toán tử và đại diện cho các biến hoặc
hằng.

13 14

NGÔN NGỮ LẬP TRÌNH NGÔN NGỮ LẬP TRÌNH

3.2.1 Ngôn ngữ Instruction List (IL) 3.2.1 Ngôn ngữ Instruction List (IL)

Nhược điểm của ngôn ngữ IL


- Ngôn ngữ có cấu trúc kém
 Là ngôn ngữ bậc thấp, khó theo dõi, khó bảo dưỡng. Cần rất chú ý khi thiết
kế cấu trúc chương trình, đặc biệt là việc chú thích cho các lệnh nhảy
 Thanh ghi chỉ có duy nhất một giá trị tại một thời điểm, rất khó làm việc với
Đoạn chương trình viết bằng ngôn ngữ IL
Ưu điểm của ngôn ngữ IL các dữ liệu có cấu trúc.

- IL thích hợp cho các ứng dụng nhỏ. Với những người lập trình có kinh nghiệm,  Hầu hết các trình biên dịch đều không có các hàm tự động kiểm tra giá trị

đây là công cụ hiệu quả để tạo ra những ứng dụng tối ưu về tốc độ thực thi. trên thanh ghi có phù hợp với câu lệnh thực thi không.
- IL là công cụ ngôn ngữ tối ưu cho chất lượng vận hành hệ thống. - Phụ thuộc nhiều vào hoạt động của phần cứng dẫn đến khó chuẩn hoá: các hệ
- Các chương trình viết bằng ngôn ngữ IL có thể được modul hoá và tái sử thống khác nhau có đáp ứng khác nhau khi người lập trình sử dụng kiểu dữ liệu
dụng. không phù hợp, lỗi thường được phát hiện chỉ khi chạy các ứng dụng.

15 16
6/4/2023

NGÔN NGỮ LẬP TRÌNH NGÔN NGỮ LẬP TRÌNH

3.2.1 Ngôn ngữ Instruction List (IL) 3.2.2Ngôn ngữ Structure Text (ST)
Thứ tự Toán tử Ý nghĩa

1 LD Đặt giá trị hiện tại cho toán hạng, nghịch đảo là LDN
2 ST Đưa giá trị hiện tại tới địa chỉ toán hạng Structure Text Là ngôn ngữ bậc cao tương tự Pascal hay C> đặc trưng của
3 S Đặt toán hạng loại logic lên 1
4 R Đặt lại logic 0 cho toán hạng ngôn ngữ ST là các câu lệnh, các câu lệnh được ngăn cách với nhau bởi dấu
5 AND Logic AND, nghịch đảo là ANDN
6 & Logic AND chấm phẩy “;” còn các toán tử và các toán hạng được ngăn cách với nhau
7 OR Logic OR, nghịch đảo là ORN
8 XOR Hoặc loại trừ bởi dấu cách “ “. Theo chuẩn IEC61131-3 thì ngôn ngữ ST cung cấp 5 loại câu
9 NOT Logic nghịch đảo
10 ADD Cộng lệnh chính:
11 SUB Trừ
12 MUL Nhân - Lệnh gán: biến:= giá trị
13 DIV Chia
14 MOD Phép chia lấy dư
- Kiểu lệnh lựa chọn: IF, THEN, CASE, ELSE
15 GT So sánh lớn hơn
16 GE So sánh lớn hơn hoặc bằng
- Lệnh vòng lặp: WHILE, REPEAT, FOR
17 EQ So sánh bằng
18
19
NE
LE
So sánh khác nhau
So sánh nhỏ hơn hoặc bằng
- Hàm và các khối hàm: function và function block
20
21
LT
JMP
So sánh nhỏ hơn
Nhảy tới nhãn
- Các lệnh điều khiển: RETURN, EXIT.
22 CAL Gọi khối chức năng
23 RET Trở về từ gọi hàm, khối chức năng hay chương trình

17 18

NGÔN NGỮ LẬP TRÌNH NGÔN NGỮ LẬP TRÌNH

3.2.2 Ngôn ngữ Structure Text (ST) 3.2.2 Ngôn ngữ Structure Text (ST)
Ưu điểm:

- Thích hợp trong tính toán phức tạp và trong các vòng lặp.
- Ngôn ngữ ST cho phép gán giá trị cho biến, gọi các function block và tạo các biểu thức điều kiện, phù
hợp trong thực hiện các thuật toán phức tạp, chủ yếu trong các ứng dụng điều khiển tương tự.
Đoạn chương trình viết bằng ngôn ngữ ST
- Điểm xuất phát của các nhà lập trình
 ST là sự lựa chọn tự nhiên của những người có kinh nghiệm trong lập trình máy tính.
 Là công cụ hiệu quả để phát triển các ứng dụng điều khiển, công cụ đa năng để diễn đạt các đáp
ứng trong ứng dụng với các kiểu dữ liệu khác nhau.
 Các PLC hỗ trợ SFC thường sử dụng ST một cách mặc định để miêu tả các bước trong chuỗi hành
động.
Nhược điểm:

Người lập trình phải có kiến thức nhất định về lập trình.

19 20
6/4/2023

NGÔN NGỮ LẬP TRÌNH NGÔN NGỮ LẬP TRÌNH

3.2.3 Ngôn ngữ Function Block Diagram (FBD) 3.2.3 Ngôn ngữ Function Block Diagram (FBD)

Ngôn ngữ lập trình biểu đồ khối chức năng Function Block Diagram (FBD)  Ưu điểm:
được ứng dụng rộng rãi chỉ sau LD và có cũng có dạng đồ họa. Các khối - FBD có thể so sánh với các mạch IC trong các thiết bị máy tính và điện tử. Giống

chức năng được nối với nhau thành một chuỗi rất dễ dàng theo dõi giống như IC, các FB có thể cung cấp các giải pháp chuẩn cho các chức năng điều khiển
chung.
như mạch điện tử tương tự.
- Ưu thế trong các ứng dụng các chức năng logic và điều khiển có phản hồi.
Tank outlet flow
deadtime LevelController

- Dễ dàng sử dụng các Timer, counter hơn các ngôn ngữ còn lại.
(transportation lag) PIDE ...
simulation Level in tank
Enhanced PID
DEDT_01 ADD_01 Limit level to 27.659575
betw een 0-100% PV CVEU
DEDT ... ADD ... 23.333334

- Phù hợp cho các hệ thống điều khiển tương tự có phản hồi như các vòng điều
SPProg SP
Deadtime A dd HLL_01 0
SPCascade PVHHAlarm
27.659575 53.968513 HLL ... 0
In Out SourceA Dest RatioProg PVHAlarm
High/Low Limit 0
StorageArray DEDT_01array SourceB CVProg PVLAlarm

chỉnh dùng các bộ điều khiển PID.


53.968513 0
In Out FF PVLLAlarm
0 0
HighAlarm HandFB PVROCPosAlarm
0 0
Low Alarm TankLevel ProgProgReq PVROCNegAlarm
50.0 0

 Nhược điểm:
Flow IntoTank 2-A1 ProgOperReq DevHHAlarm
0
ProgCasRatReq DevHAlarm
0
ProgAutoReq DevLAlarm
0
ProgManualReq DevLLAlarm

- Hỗ trợ kém khi có một hay nhiều hành động lặp lại trong một khoảng thời gian
0
ProgOverrideReq ProgOper
First order lag tank Accumulation in tank Scale accumulation 0
this scan to tank volume ProgHandReq CasRat
outlet flow 0
simulation Auto
SUB_01 MUL_01 1

định trước hay một điều kiện nhất định thoả mãn.
Manual
LDLG_01 SUB ... MUL ... 0
Override
LDLG ... Subtract Multiply 0
Hand
Lead-Lag 22.043577 0.22043577
SourceA Dest SourceA Dest AutotuneTag ?
27.956423
In Out SourceB

Đoạn chương trình viết bằng ngôn ngữ FBD

21 22

NGÔN NGỮ LẬP TRÌNH NGÔN NGỮ LẬP TRÌNH

3.2.4 Ngôn ngữ Sequential function chart -SFC 3.2.4 Ngôn ngữ Sequential function chart -SFC

• Ngôn ngữ lập trình biểu đồ hàm tuần tự (Sequential Function Chart – • Ưu điểm:
SFC) là một công cụ rất mạnh trong miêu tả cấu trúc của hệ thống điều • SFC là một công cụ mạnh trong lập trình các hệ thống tuần tự, đặc
khiển tuần tự. biệt là khi thiết kế sử dụng phương pháp Grafcet.
• SFC được phát triển từ ngôn ngữ Grafcet, một công cụ đồ hoạ để miêu • Nhược điểm:
tả chuỗi hành động. - SFC không phải là một ngôn ngữ hoàn chỉnh, việc định nghĩa các
trạng thái hay chuyển tiếp đều phải dựa vào một trong 4 ngôn ngữ còn
lại.
- Với các phép điều kiện đơn giản, không nên dùng SFC vì thời gian
thực hiện lâu hơn các ngôn ngữ khác.

Đoạn chương trình mô tả ngôn ngữ SFC

23 24
6/4/2023

NGÔN NGỮ LẬP TRÌNH NGÔN NGỮ LẬP TRÌNH

3.2.5 Ngôn ngữ Ladder (LD) 3.2.5 Ngôn ngữ Ladder (LD)
• Các thành phần chính trong ngôn ngữ gồm có:
• Ngôn ngữ lập trình giản đồ thang Ladder Diagram (LD) được người Mỹ
- Hai thanh nguồn (Power rails) thẳng đứng bên trái và bên phải, nơi
đưa ra từ mấy thế kỷ trước để thay thế điều khiển rơle và là ngôn ngữ
mà nguồn (tưởng tượng) chạy vào và ra. Trạng thái của thanh trái được coi
lập trình PLC phổ biến nhất hiện nay. Ngôn ngữ này được chấp nhận
là ON tại mọi thời điểm. Riêng thanh bên phải có thể hiện hoặc ẩn.
rộng rãi khắp nơi trên thế giới, hầu hết người lập trình điều khiển sử
- Các tiếp điểm (Contacts) đại diện cho các biến logic, có hai loại
dụng PLC đều có thể hiểu và sử dụng.
tiếp điểm thường mở (Normally Open) và thường đóng (Normally Closed).
- Cuộn dây (Coils) đại diện cho biến đầu ra.

Đoạn chương trình mô tả ngôn ngữ LD

Đoạn chương trình mô tả ngôn ngữ LD

25 26

NGÔN NGỮ LẬP TRÌNH NGÔN NGỮ LẬP TRÌNH

3.2.5 Ngôn ngữ Ladder (LD) 3.2.5 Ngôn ngữ Ladder (LD)

Trong ngôn ngữ LD ta cũng có thể sử dụng các khối hàm chức năng
Function Block (FB)

Đoạn chương trình LD sử dụng FB PID PLC siemens

27 28
6/4/2023

NGÔN NGỮ LẬP TRÌNH

3.2.5 Ngôn ngữ Ladder (LD)

 Ưu điểm:
• Dễ lập trình: diễn đạt bằng hình ảnh.
• Đơn giản, dễ hiểu: giống sơ đồ mạch điện rơle.
• Dễ bảo dưỡng: dễ dàng phát hiện ra lỗi, có khả năng chuẩn đoán lỗi online, từ
đó định vị lỗi logic hoặc lỗi thiết bị.
 Nhược điểm
• Ít sử dụng trong các hệ thống lớn do bộc lộ nhiều mặt hạn chế về mặt cấu trúc
và tính sử dụng lại.
• Hạn chế với những kiểu dữ liệu có cấu trúc.
• Trong ứng dụng có chuỗi trạng thái: cồng kềnh khó hiểu, khó bảo dưỡng.

29

You might also like