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 Mitsubishi

PLC Siemens

PLC Allen Bradley

PLC Omron

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 đầu vào

Mô-đun đầu ra

BỘ NHỚ 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ô đun nguồn

CPU, Bộ nhớ

Mô đun vào/ra số

Mô đun truyền thông

Mô đun vào/ra 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:

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, Bộ nhớ, Mô đun nguồn

Mô đun vào/ra 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

Hệ điều hành

Bit nhớ

Timer

Counter

Bus

Bộ nhớ trung 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ị

(PLC Allen Bradley)

điện xoay chiều 110VAC, 220VAC

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 or S/S với (+). Cũng có thể gọi kiểu đấu nối này là NPN.

Input SOURCE: tức dòng đi RA, đấu COM or S/S với (-), cảm biến, nút ấn 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)

Output PLC source Input 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

PPI Ethernet Siemens Simatic PG 615 programming device MPI

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)

Trạng thái tác động ON - Thanh ghi là bộ nhớ 16 bit hay 32 bit để lưu

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

Ký hiệu

Chức năng

Khi biến có giá trị bằng 1 thì tiếp điểm này sẽ đóng lại

STT 1

2

Khi biến có giá trị bằng 0 thì tiếp điểm đóng lại

3

4

Tên Tiếp điểm thường mở NO Tiếp điểm thường đóng NC Tiếp điểm phát hiện sườn lên Tiếp điểm phát hiện sườn xuống Cuộn dây

5

Cuộn dây SET

6

Cuộn dây RESET

7

Kết thúc

8

Phát hiện trạng thái của biến thay đổi từ 0 lên 1 và cho giá trị bằng 1 tại thời điểm đó. Phát hiện trạng thái của biến thay đổi từ 1 lên 0 và cho giá trị bằng 1 tại thời điểm đó. 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. 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 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. 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

+ Dễ bảo dưỡng: có khả năng chẩn đoán lỗi online, từ

+ Khó mô đun hóa + Hạn chế với kiếu dữ liệu có cấu trúc đó định vị được lỗi lô gíc hoặc lỗi thiết bị

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:

Mitsubishi

OMRON Siemens

Telemecanic

Chú thích

IEC 61131-3 LD

LD

LD

A

L

Khởi đầu với tiếp điểm NO

LDN AND

LDI AND

LD NOT AND

AN A

LN A

ANDN

ANI

AND NOT

AN

AN

O

OR

OR

O

OR

ORN

ORI

OR NOT

ON

ON

ST

Khởi đầu với tiếp điểm NC Phần tử nối tiếp thường mở Phần tử nối tiếp thường đóng Phần tử song song thường mở Phần tử song song thường đóng Tín hiệu đầu ra

OUT

=

=

OUT

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

m

a0

a1

A-

b0

A+

khiển hệ thống với chu trình làm việc như sau:

B+

b1

B-

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

Trạng thái ban đầu

Run = (Start + Run). Stop 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

S3 = Stop Motor 1, 2  Off

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

m

a0

a1

A-

b0

A+

khiển hệ thống với chu trình làm việc như sau:

B+

b1

B-

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

Trạng thái ban đầu Run = (Start + Run). Stop = Lamp_Start S0 = Run.(a0.b0 + a0.S4 + S0) .S4 .S3 .S2

Nhấn nút Start_Button m

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

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

Piston B  B+ mũi khoan đi xuống

b1

Piston B  B- mũi khoan đi lên

S4 = Run.(b1.S3 + S4) .S0 Piston_A_Out = (S1 + Piston_A_Out).S2 Piston_B_Out = (S3 + Piston_B_Out).S4 a0

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ụ

Bài tập 2.6.3. Xây dựng mạch grafcet, hàm logic trạng thái g=a0.b0

Trạng thái ban đầu Run = (Start + Run). Stop = Lamp_Start S0 = Run.(a0.b0 + b0.S6 + S0) .S6 .S5.S4 .S3 .S2

Nhấn nút Start_Button m

S1 = Run.(m.S0 + S1) .S2 Piston A  A+ đi ra

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

Piston A  A- lùi về

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

S4 = Run.(b1.S3 + S4) .S5 Piston B  B+ mũi khoan đi xuống

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

Piston A  A+ đi ra

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

Piston A  A- lùi về

a0

Piston_A_Out = (S1 + Piston_A_Out).S2 Piston_A_Out = (S4 + Piston_A_Out).S5 Piston_B_Out = (S3 + Piston_B_Out).S6

Piston B  B- mũi khoan đi lên b0

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