You are on page 1of 73

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

UNIVERSITY OF SCIENCE AND TECHNOLOGY

Bài giảng
PLC và Mạng Công Nghiệp
PLC and Industrial system
(ME 4501)

Giảng viên: TS. Nguyễn Anh Tuấn


Bộ môn Cơ điện tử – ĐHBK Hà nội

Email: tuan.nguyenanh@hust.edu.vn bktuan2000@gmail.com


Mục lục
1. Tổng quan về điều khiển logic

2. Logic cứng và sự phát triển của PLC

3. Cấu trúc và nguyên lý làm việc của PLC

4. Các mô đun vào ra

5. Cấu trúc và hoạt động của bộ nhớ PLC

6. Mạng công nghiệp và các giao thức kết nối

7. Ứng dụng của PLC trong công nghiệp


3. Cấu trúc và NLHĐ của PLC

3.1. Các phần tử cơ bản trong PLC

3.2. Cấu trúc và hoạt động của Accu và


các bộ nhớ Register

3.3. Cách ghi địa chỉ

3.4. Cấu trúc chương trình điều khiển

3.5. Các ngôn ngữ lập trình PLC


3. Cấu trúc và NLHĐ của PLC
3.1. Các phần tử cơ bản của PLC
 Một số PLC phổ biến

PLC Siemens PLC Mitsubishi

PLC Omron PLC Allen Bradley


3. Cấu trúc và NLHĐ của PLC
3.1. Các phần tử cơ bản của PLC
 Cấu trúc chung:
Mô-đun
truyền thông

CPU
Mô-đun Mô-đun
đầu vào BỘ NHỚ đầu ra
Chương trình/Dữ liệu

Mô-đun nguồn

Cấu trúc cơ bản của PLC


3. Cấu trúc và NLHĐ của PLC
3.1. Các phần tử cơ bản của PLC
 Cấu trúc chung:

Mô CPU, Mô Mô Mô
đun Bộ đun đun đun
nguồn nhớ vào/ra vào/ra truyền
số tương thông
tự
3. Cấu trúc và NLHĐ của PLC
3.1. Các phần tử cơ bản của PLC
 Cấu trúc chung:
3. Cấu trúc và NLHĐ của PLC
3.1. Các phần tử cơ bản của PLC
 Cấu trúc chung:

Mô đun CPU, Bộ nhớ, Mô đun vào/ra


truyền thông Mô đun nguồn số/tương tự
3. Cấu trúc và NLHĐ của PLC
3.1. Các phần tử cơ bản của PLC
 Cấu trúc chung:

Cấu trúc chung của PLC


3. Cấu trúc và NLHĐ của PLC
3.1. Các phần tử cơ bản của PLC
 MÔ-ĐUN NGUỒN
 Cung cấp nguồn điện cho CPU, các mô-đun vào/ra
 Có thể được tích hợp sẵn trên PLC hoặc có thể là mô-đun độc lập
 Các mức điện áp phổ biến 220VAC, 110VAC hoặc 24 VDC
Simatic S7-300 PLC Module PS307 24V/5A
Technical Specifications
Made in Germany
Label Siemens PLC Module
Serial No. 6ES7307-1EA01-0AA0
Product Class Siemens PLC S7-300
Product PS 307
Power supply 24 V/5 A
Input 1-phase AC
Output Controlled, isolated DC voltage
Weight 0.6 kg
3. Cấu trúc và NLHĐ của PLC
3.1. Các phần tử cơ bản của PLC
 BỘ XỬ LÝ TRUNG TÂM CPU (Central Processing Unit):
 CPU, bộ điều khiển (Controller) hay bộ xử lý (Proccessor) là bộ não của PLC.
 CPU có chức năng xử lý chương trình, quản lý bộ nhớ, đưa ra các quyết định
cần thiết để vận hành và giao tiếp với các mô-đun khác
 Bộ vi xử lý có thể khác nhau về tốc độ xử lý và tùy chọn bộ nhớ.

Cấu trúc CPU của PLC CPU

Bộ nhớ trung
Hệ điều hành Bit nhớ Timer Counter Bus
gian
3. Cấu trúc và NLHĐ của PLC
3.1. Các phần tử cơ bản của PLC
 BỘ XỬ LÝ TRUNG TÂM CPU (Central Processing Unit):

Chu kỳ quét của PLC khoảng 1 - 100 ms


3. Cấu trúc và NLHĐ của PLC
3.1. Các phần tử cơ bản của PLC
 BỘ XỬ LÝ TRUNG TÂM CPU (Central Processing Unit):

Vòng quét PLC khoảng 1 - 100 ms


3. Cấu trúc và NLHĐ của PLC
3.1. Các phần tử cơ bản của PLC
 CÁC MÔ-ĐUN ĐẦU VÀO (INPUT)
 Mô-đun đầu vào là kênh để kết nối với
các thiết bị ngoại vi: Các công tắc, các
loại tiếp điểm, cảm biến,… và truyền tín
hiệu tới bộ vi xử lý
 Mỗi cổng INPUT được PLC sử dụng có
một địa chỉ duy nhất
 Đầu vào có thể là tín hiệu số (DI) hoặc
tín hiệu tương tự (AI)
 Nguồn sử dụng cho mô đun đầu vào có
thể là nguồn điện 24VDC, hoặc nguồn Kết nối đầu vào các thiết bị
điện xoay chiều 110VAC, 220VAC (PLC Allen Bradley)
3. Cấu trúc và NLHĐ của PLC
3.1. Các phần tử cơ bản của PLC
 CÁC MÔ-ĐUN ĐẦU RA (OUTPUT)
 Mô-đun đầu ra là kênh để kết nối với
các tải ở ngõ ra như cuộn dây của
relay, contactor, đèn tín hiệu, các bộ
ghép quang,…
 Mỗi cổng OUTPUT (DO/AO) được
PLC sử dụng có một địa chỉ duy nhất
 Nguồn sử dụng cho mô-đun đầu ra có
thể là nguồn điện 24VDC, hoặc
nguồn điện xoay chiều 110VAC,
220VAC
Kết nối đầu ra với các thiết bị (PLC Allen Bradley)
3. Cấu trúc và NLHĐ của PLC
3.1. Các phần tử cơ bản của PLC
 KẾT NỐI SINK/SOURCE ĐẦU VÀO/ RA (I/O)

Input SINK: tức dòng đi VÀO, đấu COM Input SOURCE: tức dòng đi RA, đấu
or S/S với (+). Cũng có thể gọi kiểu đấu COM or S/S với (-), cảm biến, nút ấn
nối này là NPN. xuất (+) vào input PLC. Kiểu đấu nối
này là PNP, kiểu này phổ biến hơn
NPN.

Output PLC source: tức dòng đi RA, đấu COM or S/S với (+), xuất (+) cho tải
Output PLC sink: dòng đi VÀO, đấu COM or S/S với (-), xuất (-) cho tải
3. Cấu trúc và NLHĐ của PLC
3.1. Các phần tử cơ bản của PLC
 KẾT NỐI SINK/SOURCE ĐẦU VÀO/ RA (I/O)

Input PLC source Output PLC source

Input PLC source: tức dòng đi ra, đấu com (-), cảm biến, nút ấn
xuất (+) vào input PLC.
Input PLC sink ngược lại.
Output PLC source: tức dòng đi ra, đấu com (+), xuất (+) cho tải
Output PLC sink: dòng đi vào, đấu com (-), xuất (-) cho tải
3. Cấu trúc và NLHĐ của PLC
3.1. Các phần tử cơ bản của PLC
 BỘ NHỚ
a. ROM (Read Only Memory)
b. RAM (Random Access Memory)
c. PROM (Programable Read Only
Memory)
d. EPROM (Erasable Programable Read
Only Memory)
e. EAPROM (Electronically Alterable
Programable Read Only Memory)
f. FLASH (Bộ nhớ tĩnh điện kiểu NAND or
NOR, có thể đọc ghi trên từng ô nhớ (cell))
3. Cấu trúc và NLHĐ của PLC
3.1. Các phần tử cơ bản của PLC
 THIẾT BỊ LẬP TRÌNH

Siemens Simatic PG 615 programming device PPI MPI Ethernet


3. Cấu trúc và NLHĐ của PLC
3.2. Cấu trúc và hoạt động của các ACCU và bộ nhớ
 Bit nhớ
 Bộ nhớ của PLC có thể được
hiển thị bằng một mảng hai
chiều của các tế bào nhớ, mỗi tế
bào có thể chứa một bit đơn của
thông tin dưới dạng là giá trị 0
hay 1
 Bit nhớ được bật lên trạng thái
ON nếu giá trị lưu trên đó là 1
và OFF nếu là lưu giá trị 0. M3.4: Truy suất bit thứ 4 của byte thứ
3 thuộc vùng nhớ M
3. Cấu trúc và NLHĐ của PLC
3.2. Cấu trúc và hoạt động của các ACCU và bộ nhớ
 Bit nhớ
 Một byte được định nghĩa là một nhóm nhỏ nhất của các bit mà CPU có
thể xử lý được đồng thời trong một lần. Trong các thiết bị điều khiển PLC
byte có cỡ thông thường là 8 bit và một Word có cỡ là 2 byte hay 16 bit

IB1

MW2
3. Cấu trúc và NLHĐ của PLC
3.2. Cấu trúc và hoạt động của các ACCU và bộ nhớ
 Thanh ghi (Register)
- Thanh ghi là bộ nhớ 16 bit hay 32 bit để lưu Trạng thái tác động ON

trữ tạm thời khi PLC thực hiện quá trình tính
toán.
- Thanh ghi chốt (Latch register) duy trì nội
dung cho đến khi nó được chồng lên bằng nội
dung mới.
- Thanh ghi chuyên dùng (Special register).
- Thanh ghi tập tin hay thanh ghi bộ nhớ
chương trình (Program memory registers).
- Thanh ghi điều chỉnh giá trị được từ biến
trở bên ngoài (External adjusting register).
- Thanh ghi chỉ mục (Index register).
3. Cấu trúc và NLHĐ của PLC
3.3. Cách ghi địa chỉ trong PLC
 Đặc điểm
 Mỗi đầu vào/ra phải có một địa chỉ xác định trong bộ nhớ của PLC
 Bộ xử lý tín hiệu sẽ lấy các giá trị của bit nhớ tương ứng với biến vào và
biến ra, nơi mà chúng được gán địa chỉ trong chương trình điều khiển của
PLC, để xử lý và tạo tác động điều khiển ra thiết bị bên ngoài.
 Mỗi điểm đấu trên các mô đun vào/ra, có thể được nối dây đến thiết bị
hiện trường, chiếm 1 bit trong bộ nhớ của PLC tương ứng với miền nhớ
vào hoặc miền nhớ ra.
 Phần của bộ nhớ chứa địa chỉ vào/ra được gọi là miền ảnh vào và miền
ảnh ra.
3. Cấu trúc và NLHĐ của PLC
3.3. Cách ghi địa chỉ trong PLC
 Cấu trúc của địa chỉ
 PLC Mitsubishi (họ PLC FX)
 Địa chỉ là các chữ số, ở đó cho Ngõ vào: X (X000 X007, X010÷X017,…),
biết đó là ngõ vào hoặc ngõ ra Ngõ ra: Y (Y000 ÷ Y007, Y0010÷Y017,…)
 Mỗi đơn vị chính của các ký  PLC Siemens
hiệu I/O được gắn với hệ sơ số 8 Ngõ vào: I (I0.0  I0.7, I1.0÷I1.7,…),
Ngõ ra: Q (Q0.0 ÷ Q0.7)
 PLC Allen Bradly
Ngõ vào : I (I001/01  I007/07, …),
Ngõ ra: O (O001/01  O007/07, …)
3. Cấu trúc và NLHĐ của PLC
3.3. Cách ghi địa chỉ trong PLC
 Phân địa chỉ
 Phân bố địa chỉ I/O trong thanh ghi PLC
3. Cấu trúc và NLHĐ của PLC
3.3. Cách ghi địa chỉ trong PLC
 Cấu trúc của địa chỉ
 Các cổng vật lý vào/ra được cung cấp các miền nhớ ảnh I/O tương ứng (ví
dụ: I0.2, Q1.3). Miền nhớ ảnh này được định nghĩa khi cấu hình PLC
trong chương trình.
 Để truy suất trực tiếp vào cổng vật lý ta thêm vào ký tự ‘:P’; ví dụ: I0.2:P,
Q1.3:P
 Các truy suất tới cổng vật lý I_:P chỉ cho phép đọc, Q_:P chỉ cho phép ghi.
Còn các truy suất I, Q có thể đọc và ghi
 Việc truy suất trực tiếp vào cổng vật lý cho phép đọc/ghi ngay lập tức dữ
liệu chứ không phải như trên miền bộ nhớ ảnh (I, Q) là thông tin của vòng
quét cuối cùng
3. Cấu trúc và NLHĐ của PLC
3.3. Cách ghi địa chỉ trong PLC
 Cấu trúc của địa chỉ
 Để truy suất các biến có kiểu dữ liệu như Int, Word, Real,… Các biến
được xác định theo cấu trúc gồm các thành phần:
- Định danh vùng: I, Q, M
- Ký hiệu kích thước dữ liệu: B (Byte), W (Word) hay D (Double Word)
- Địa chỉ byte bắt đầu của dữ liệu
Ví dụ: IB1, MW2, QD20 IB1

MW2
3. Cấu trúc và NLHĐ của PLC
3.4. Cấu trúc chương trình điều khiển
 Tiêu chuẩn IEC 61131-3
 Tiêu chuẩn đầu tiên về ngôn ngữ lập trình được xuất bản vào tháng 3
năm 1993 và được chỉ định là IEC 61131‐3
 Tiêu chuẩn hiện đang được hầu hết các nhà sản xuất PLC lớn tuân
theo ở mức độ lớn hơn hoặc thấp hơn, bao gồm các ngôn ngữ lập trình
khác nhau:
1. Văn bản có cấu trúc - ST 4. Danh sách hướng dẫn – IL
2. Sơ đồ khối chức năng - FBD 5. Biểu đồ chức năng tuần tự - SFC
3. Sơ đồ bậc thang – LD
3. Cấu trúc và NLHĐ của PLC
3.4. Cấu trúc chương trình điều khiển
 Cấu hình và cấu trúc chương trình
Cấu hình
- Mức cao nhất trong cấu trúc phần mềm
được gọi là cấu hình và đây là ký hiệu cho
hệ thống điều khiển khả trình.
- Các hệ thống điều khiển lớn hơn có thể bao
gồm mạng của một số cấu hình. Do đó, một
cấu hình cũng được định nghĩa là một giao
diện truyền thông với các cấu hình khác.
- Các biến toàn cục và các biến địa chỉ trực
tiếp, ví dụ, I / O, cũng có thể được khai báo
ở mức cấu hình.
3. Cấu trúc và NLHĐ của PLC
3.4. Cấu trúc chương trình điều khiển
 Cấu hình và cấu trúc chương trình
Tài nguyên
Mỗi tài nguyên có thể chứa một hoặc
nhiều chương trình. Trình bày trong Hình
cho thấy một cấu hình bao gồm một tài
nguyên.
Nhiệm vụ
Một nhiệm vụ có thể được sử dụng
để kiểm soát cách chương trình trong tài
nguyên được thực hiện. Mỗi tài nguyên có
thể chứa một hoặc nhiều nhiệm vụ được
khai báo.
3. Cấu trúc và NLHĐ của PLC
3.4. Cấu trúc chương trình điều khiển
 Cấu hình và cấu trúc chương trình
Các biến
- Các biến được sử dụng để xác định các đối tượng dữ liệu có thể thay đổi
nội dung. Đây có thể là dữ liệu được liên kết với đầu vào và đầu ra hoặc
dữ liệu trong bộ nhớ của PLC.
- Các biến phải được khai báo và phải đồng thời chỉ ra loại thông tin mà
biến sẽ chứa bằng cách chỉ ra một trong một số kiểu dữ liệu đã xác định,
ví dụ: BOOL, INT hoặc WORD.
Chương trình con, hàm và khối hàm (FB)
Thông thường một chương trình sẽ chứa các lệnh gọi hàm và FB,
nhưng cũng có thể (và đơn giản) để gọi một chương trình từ một chương
trình khác
3. Cấu trúc và NLHĐ của PLC
3.5. Các ngôn ngữ lập trình PLC
 Ngôn ngữ lập trình PLC chia làm 2 loại:

- Ngôn ngữ lập trình bậc cao:


• ST/STL (Structured Text)
• IL (Instruction List)
• C/C++

- Ngôn ngữ lập trình đồ họa:


• LAD (Ladder Diagram)
• FBD (Function Block Diagram)
• SFC (Sequential Function Chart)
3. Cấu trúc và NLHĐ của PLC
3.5. Các ngôn ngữ lập trình PLC
 Ngôn ngữ LAD/LD (Ladder Diagram)
 LD (Ladder diagram) là ngôn ngữ lập trình
PLC đồ họa dạng hình thang. Là ngôn ngữ
thông dụng và đơn giản.
 Cấu trúc của ngôn ngữ LD cũng tương tự
như sơ đồ lô gíc cứng của mạch điện điều
Power rails
khiển

Đặc điểm cấu trúc:


+ Hai thanh nguồn (Power rails):
+ Các điều kiện: gồm các tiếp điểm NO, NC (Contacts) đại diện cho các biến lô gíc đầu
vào được nối với nhau theo dạng mạch lô gíc (AND, OR,…)
+ Các hoạt động: gồm cuộn dây đầu ra (Coils) đại điện cho đầu ra
+ Tạo mạch phản hồi: tên tiếp điểm trùng với tên cuộn dây
3. Cấu trúc và NLHĐ của PLC
3.5. Các ngôn ngữ lập trình PLC
 Ngôn ngữ LAD/LD (Ladder Diagram)
Tương tự giữa mạch rơ le và LD

Trình tự quét chương trình


Chương trình sẽ được PLC đọc và xử lý
tuần tự từ trái sang phải và từ trên xuống
dưới:
PLC sẽ quét các điều kiện trên thanh
ngang 1 được thỏa mãn thì các hoạt động
trên đó cũng được thực hiện. Lần lượt đến
các thanh ngang 2, 3,…
3. Cấu trúc và NLHĐ của PLC
3.5. Các ngôn ngữ lập trình PLC
 Ngôn ngữ LAD/LD (Ladder Diagram)
Bảng ký hiệu các tiếp điểm thường gặp
STT Tên Ký hiệu Chức năng
1 Tiếp điểm thường Khi biến có giá trị bằng 1 thì tiếp điểm này sẽ đóng lại
mở NO
2 Tiếp điểm thường Khi biến có giá trị bằng 0 thì tiếp điểm đóng lại
đóng NC
3 Tiếp điểm phát Phát hiện trạng thái của biến thay đổi từ 0 lên 1 và cho giá
hiện sườn lên trị bằng 1 tại thời điểm đó.
4 Tiếp điểm phát Phát hiện trạng thái của biến thay đổi từ 1 lên 0 và cho giá
hiện sườn xuống trị bằng 1 tại thời điểm đó.
5 Cuộn dây Trạng thái của cuộn dây được xác định từ trạng thái của
các tiếp điểm đầu vào bên trái.
6 Cuộn dây SET Trạng thái của cuộn dây được SET lên 1 khi trạng thái đầu
vào bên trái bằng 1. Nó sẽ duy trì cho đến khi có tín hiệu
RESET
7 Cuộn dây RESET Trạng thái của cuộn dây được RESET về 0 khi trạng thái
đầu vào bên trái bằng 1.
8 Kết thúc Kết thúc chương trình
3. Cấu trúc và NLHĐ của PLC
3.5. Các ngôn ngữ lập trình PLC
 Ngôn ngữ LAD/LD (Ladder Diagram)
Một số quy tắc với LD
+ Mỗi mạng LAD phải kết thúc bằng một cuộn hay một lệnh dạng hộp
+ Một nhánh không thể cho kết quả là một dòng tín hiệu theo chiều ngược lại
+ Ta không thể tạo ra một nhánh mà có thể gây nên ngắn mạch.

Ngắn mạch
Tín hiệu ngược
Ưu điểm
Nhược điểm
+ Trực quan dễ lập trình, dễ hiểu: giống sơ đồ mạch điện
+ Khó mô đun hóa
+ Dễ bảo dưỡng: có khả năng chẩn đoán lỗi online, từ + Hạn chế với kiếu dữ liệu
đó định vị được lỗi lô gíc hoặc lỗi thiết bị có cấu trúc
3. Cấu trúc và NLHĐ của PLC
3.5. Các ngôn ngữ lập trình PLC
 Ngôn ngữ LAD/LD (Ladder Diagram)
Ví dụ một số mạch LD (Siemens):
Bài 1. Lô gíc AND: Động cơ := (Nút ấn 1) AND (Nút ấn 2)
Địa chỉ: Nút ấn 1 := I0.0; Nút ấn 2 := I0.1; Động cơ :=Q0.0

Bài 2. Lô gíc OR: Động cơ := (Nút ấn 1) OR (Nút ấn 2)


3. Cấu trúc và NLHĐ của PLC
3.5. Các ngôn ngữ lập trình PLC
 Ngôn ngữ LAD/LD (Ladder Diagram)
Bài 3: Mạch duy trì khởi động và dừng bơm:
PUMP:= (START OR PUMP) AND (NOT STOP)
Địa chỉ: START:= I0.0; STOPS:= I0.1; PUMP:=Q0.0
3. Cấu trúc và NLHĐ của PLC
3.5. Các ngôn ngữ lập trình PLC
 Ngôn ngữ FBD (Funtion Block Diagram)
Là ngôn ngữ diễn tả kết nối của các chức năng (F), khối chức năng (FB) và
chương trình dưới dạng một tập hợp các khối đồ họa được kết nối với nhau. Nó trông
giống như trong sơ đồ mạch điện tử mà chúng ta thường thấy.
Đặc điểm:
+ Chương trình gồm nhiều khối chức năng (FB)
+ Tín hiệu chạy từ đầu ra của FB này đến đầu vào của FB khác
+ Đầu ra của FB được cập nhật kết quả từ tính toán các giá trị đầu vào
+ Tín hiệu chay trong FB từ trái sang phải
Cấu trúc:
3. Cấu trúc và NLHĐ của PLC
3.5. Các ngôn ngữ lập trình PLC
 Ngôn ngữ FBD (Funtion Block Diagram)
Ưu điểm:
+ Trực quan và dễ dàng hơn với một số người dùng
+ Tương tự các mạch IC trong điện tử
+ Kết hợp chức năng điều khiển lô gíc và mạch duy trì
+ Có thể gộp nhiều dòng lệnh thành một khối chức năng
+ Phù hợp với các chức năng điều khiển chuyển động

Nhược điểm:
+ Hỗ trợ kém khi có một hay nhiều hành động lặp đi lặp lại trong khoảng thời gian
định trước.
+ Khó khăn trong việc khắc phục lỗi vì các khối chức năng có thể nằm bất kỳ đâu
trong chương trình.
+ Khá cồng kềnh.
3. Cấu trúc và NLHĐ của PLC
3.5. Các ngôn ngữ lập trình PLC
 Ngôn ngữ IL (Instruction List)
+ Là một ngôn ngữ bậc thấp bao gồm chuỗi các câu lệnh, mỗi câu lệnh
một dòng.
+ Mỗi một câu lệnh bao gồm một toán tử và một hay nhiều toán hạng

Cấu trúc:
3. Cấu trúc và NLHĐ của PLC
3.5. Các ngôn ngữ lập trình PLC
 Ngôn ngữ IL (Instruction List)
Một số ký hiệu lệnh cơ bản:

IEC Mitsubishi OMRON Siemens Telemecanic Chú thích


61131-3
LD LD LD A L Khởi đầu với tiếp điểm NO

LDN LDI LD NOT AN LN Khởi đầu với tiếp điểm NC


AND AND AND A A Phần tử nối tiếp thường
mở
ANDN ANI AND NOT AN AN Phần tử nối tiếp thường
đóng
O OR OR O OR Phần tử song song thường
mở
ORN ORI OR NOT ON ON Phần tử song song thường
đóng
ST OUT = = OUT Tín hiệu đầu ra
3. Cấu trúc và NLHĐ của PLC
3.5. Các ngôn ngữ lập trình PLC
 Ngôn ngữ IL (Instruction List)
Ưu điểm:
+ Thích hợp với các ứng dụng nhỏ
+ Tối ưu hóa bộ nhớ và tốc độ thực thi
+ Có thể mô đun hóa và tái sử dụng
Nhược điểm:
+ Là ngôn ngữ bậc thấp, khó theo dõi
+ Thanh ghi chỉ có 1 giá trị tại một thời điểm
3. Cấu trúc và NLHĐ của PLC
3.5. Các ngôn ngữ lập trình PLC
 Ngôn ngữ SFC (Sequential Function Chart)
- SFC là một trong năm loại ngôn ngữ lập trình tiêu chuẩn được đề cập
trong phiên bản IEC61131-3 được công bố năm 2003.
- SFC là ngôn ngữ được phát triển từ Grafcet. Có thế mạnh trong mô tả hệ thống
điều khiển tuần tự.
- Có thể sử dụng kết hợp với các ngôn ngữ còn lại

Cấu trúc:
Theo tiêu chuẩn IEC, một chương trình SFC
bao gồm ba thành phần chính là:
 Các bước (steps)
 Các sự chuyển tiếp (transitions)
 Các tác động (actions)
3. Cấu trúc và NLHĐ của PLC
3.5. Các ngôn ngữ lập trình PLC
 Ngôn ngữ SFC (Sequential Function Chart)
Các khối của chương trình:

Ưu điểm:
Thích hợp với điều khiển tuần
tự, dễ theo dõi
Nhược điểm:
+ Không phải là ngôn ngữ hoàn
chỉnh
+ Thời gian thực hiện một phép
điều kiện đơn giản lâu hơn các
ngôn ngữ khác
3. Cấu trúc và NLHĐ của PLC
3.5. Các ngôn ngữ lập trình PLC
 Quy trình thiết kế chương trình PLC
Bước 1: Xác định quy trình công nghệ:
+ Xác định các yêu cầu công nghệ của hệ thống cần điều khiển, tìm hiểu sơ đồ công
nghệ. Các thức điều khiển, vận hành và hướng khắc phục sự cố nếu có.
+ Xác định số lượng các thiết bị đầu vào và ra của hệ thống điều khiển
Bước 2: Thiết kế
+ Lựa chọn phần cứng của PLC để đáp ứng các yêu cầu điều khiển từ bước 1 bao
gồm: Số lượng I/O lô gíc, tương tự; các I/O đặc biệt (HSC, PMW); phương thức
truyền thông (inthernet, profilbus, Modbus, RS 232,…); tốc độ xử lý; dung lượng bộ
nhớ
+ Phân địa chỉ tín hiệu: phân các biến I/O theo chức năng (các biến có cùng trình tự
tác động, hoặc cùng một đối tượng nên có địa chỉ gần nhau)
=> sơ đồ đấu dây phần cứng
3. Cấu trúc và NLHĐ của PLC
3.5. Các ngôn ngữ lập trình PLC
 Quy trình thiết kế chương trình PLC
Bước 3: Lập trình điều khiển Bước 5: Chạy chương trình và vận hành
+ Tổng hợp các hàm lô gíc + Chạy thử từng bộ phận riêng lẻ, không tải
=> sử dụng ngôn ngữ LAD, FBD, IL + Chạy thử từng bộ phận có tải
+ Viết dưới dạng Grafcet + Chạy thử toàn hệ thống không tải
=> ngôn ngữ SFC + Chạy thử toàn hệ thống có tải
+ Lưu đồ thuật toán => ngôn ngữ ST Bước 6: Viết tài liệu hướng dẫn
Bước 4: Nạp chương trình và kiểm tra + Hướng dẫn vận hành,
+ Chạy CT với các tín hiệu giả lập bằng + Quy trình bảo trì, bảo dưỡng
chương tình mô phỏng
+ Sửa chữa lỗi CT
3. Cấu trúc và NLHĐ của PLC
ISA 88 S88 Procedural State Machine
4. Ví dụ
Bài tập 2.6.1. Cho ba nút ấn A, B, C dùng để điều khiển hai động cơ M1 và M2 theo trình
tự sau: nút A điều khiển M1, nút B điều khiển M2, nút C dừng cả M1 và M2. Với điều kiện
M1 chạy trước M2. Xây dựng mạch grafcet, hàm logic trạng thái và viết chương trình PLC
điều khiển hệ thống
Bài tập 2.6.2. Xây dựng mạch grafcet, hàm logic trạng thái và viết chương trình PLC điều
khiển hệ thống với chu trình làm việc như sau:

m a0 a1
A-
b0
A+
B-
B+
b1
4. Ví dụ
Bài tập 2.6.3: Hệ thống gồm 2 xilanh A, B hoạt động theo chu trình sau. Trong đó A+,
B+ là trạng thái các xilanh đi ra, A-, B- : trạng thái xilanh đi vào. Các cảm biến đầu và
cuối hành trình của 2 xilanh: a0, a1, b0, b1. Xây dựng mạch grafcet, hàm logic trạng thái
và viết chương trình PLC điều khiển hệ thống với chu trình làm việc như sau
4. Ví dụ
Bài tập 2.6.1. Cho ba nút ấn A, B, C dùng để điều khiển hai động cơ M1 và M2 theo trình
tự sau: nút A điều khiển M1, nút B điều khiển M2, nút C dừng cả M1 và M2. Với điều kiện
M1 chạy trước M2. Xây dựng mạch grafcet, hàm logic trạng thái và sơ đồ mạch rơle

g
Run = (Start + Run). Stop
Trạng thái ban đầu
S0 = Run
a ---nhấn Button A
Motor 1  On
S1 = Run.(a + S1)
b ---nhấn Button B
Motor 2  On S2 = Run.(b.S1 + S2)
c
Motor 1, 2  Off S3 = Stop
4. Ví dụ
Bài tập 2.6.1. Cho ba nút ấn A, B, C dùng để điều khiển hai động cơ M1 và M2 theo trình
tự sau: nút A điều khiển M1, nút B điều khiển M2, nút C dừng cả M1 và M2. Với điều kiện
M1 chạy trước M2. Xây dựng mạch grafcet, hàm logic trạng thái và viết chương trình PLC
điều khiển hệ thống
4. Ví dụ
Bài tập 2.6.1: Gán địa chỉ tags
4. Ví dụ
Bài tập 2.6.1: Chương trình PLC- Main [OB1]

Run = (Start + Run). Stop


S0 = Run
S3 = Stop

S1 = Run.(a + S1)
4. Ví dụ
Bài tập 2.6.1: Chương trình PLC- Main [OB1]

S2 = Run.(b.S1 + S2)
4. Ví dụ
Bài tập 2.6.2. Xây dựng mạch grafcet, hàm logic trạng thái và viết chương trình PLC điều
khiển hệ thống với chu trình làm việc như sau:
m a0 a1
A-
b0
A+
B-
B+
b1
4. Ví dụ
Bài tập 2.6.2. Xây dựng mạch grafcet, hàm logic trạng thái

g=a0.b0
Run = (Start + Run). Stop = Lamp_Start
Trạng thái ban đầu S0 = Run.(a0.b0 + a0.S4 + S0) .S4 .S3 .S2
m Nhấn nút Start_Button
Piston A  A+ đi ra S1 = Run.(m.S0 + S1) .S2
a1
S2 = Run.(a1.S1 + S2) .S3
Piston A  A- lùi về
a0,b0
Piston B  B+ mũi S3 = Run.(a0. b0.S2 + S3) .S4
khoan đi xuống
b1
Piston B  B- mũi S4 = Run.(b1.S3 + S4) .S0
khoan đi lên Piston_A_Out = (S1 + Piston_A_Out).S2
a0 Piston_B_Out = (S3 + Piston_B_Out).S4
4. Ví dụ
Bài tập 2.6.2. Gán các địa chỉ tags
4. Ví dụ
Bài tập 2.6.2. Gán các địa chỉ tags
4. Ví dụ
Bài tập 2.6.2. Chương trình PLC với WinCC
4. Ví dụ
Bài tập 2.6.2. Chương trình PLC- Main [OB1]

Run = (Start + Run). Stop = Lamp_Start

S0 = Run.(a0.b0 + a0.S4 + S0) .S4 .S3 .S2


4. Ví dụ
Bài tập 2.6.2. Chương trình PLC- Main [OB1]

S1 = Run.(m.S0 + S1) .S2

S2 = Run.(a1.S1 + S2) .S3


4. Ví dụ
Bài tập 2.6.2. Chương trình PLC- Main [OB1]

S3 = Run.(a0. b0.S2 + S3) .S4

S4 = Run.(b1.S3 + S4) .S0


4. Ví dụ
Bài tập 2.6.2. Chương trình PLC- Main [OB1]

Piston_A_Out = (S1 + Piston_A_Out).S2

Piston_B_Out = (S3 + Piston_B_Out).S4


4. Ví dụ
Bài tập 2.6.3: Hệ thống gồm 2 xilanh A, B hoạt động theo chu trình sau. Trong đó A+,
B+ là trạng thái các xilanh đi ra, A-, B- : trạng thái xilanh đi vào. Các cảm biến đầu và
cuối hành trình của 2 xilanh: a0, a1, b0, b1. Xây dựng mạch grafcet, hàm logic trạng thái
và viết chương trình PLC điều khiển hệ thống với chu trình làm việc như sau
4. Ví dụ
g=a0.b0 Bài tập 2.6.3. Xây dựng mạch grafcet, hàm logic trạng thái
Run = (Start + Run). Stop = Lamp_Start
Trạng thái ban đầu
S0 = Run.(a0.b0 + b0.S6 + S0) .S6 .S5.S4 .S3 .S2
m Nhấn nút Start_Button
S1 = Run.(m.S0 + S1) .S2
Piston A  A+ đi ra
a1 S2 = Run.(a1.S1 + S2) .S3
Piston A  A- lùi về
a0,b0 S3 = Run.(a0. b0.S2 + S3) .S4
Piston B  B+ mũi S4 = Run.(b1.S3 + S4) .S5
khoan đi xuống
b1
S5 = Run.(a1.S4 + S5) .S6
Piston A  A+ đi ra
a1 S6 = Run.(a0.S5 + S6) .S0

Piston A  A- lùi về Piston_A_Out = (S1 + Piston_A_Out).S2


a0 Piston_A_Out = (S4 + Piston_A_Out).S5
Piston B  B- mũi Piston_B_Out = (S3 + Piston_B_Out).S6
b0 khoan đi lên
4. Ví dụ
Bài tập 2.6.3. Gán địa chỉ PLC tags
4. Ví dụ
Bài tập 2.6.3. Gán địa chỉ PLC tags
4. Ví dụ
Bài tập 2.6.3. Chương trình PLC- Main [OB1]

Run = (Start + Run). Stop = Lamp_Start

S0 = Run.(a0.b0 + b0.S6 + S0) .S6 .S5.S4 .S3 .S2


4. Ví dụ
Bài tập 2.6.3. Chương trình PLC- Main [OB1]

S1 = Run.(m.S0 + S1) .S2

S2 = Run.(a1.S1 + S2) .S3


4. Ví dụ
Bài tập 2.6.3. Chương trình PLC- Main [OB1]

S3 = Run.(a0. b0.S2 + S3) .S4

S4 = Run.(b1.S3 + S4) .S5


4. Ví dụ
Bài tập 2.6.3. Chương trình PLC- Main [OB1]

S5 = Run.(a1.S4 + S5) .S6

S6 = Run.(a0.S5 + S6) .S0


4. Ví dụ
Bài tập 2.6.3. Chương trình PLC- Main [OB1]

Piston_A_Out = (S1 + Piston_A_Out).S2

Piston_A_Out = (S4 + Piston_A_Out).S5

Piston_B_Out = (S3 + Piston_B_Out).S6

You might also like