Tải bản đầy đủ (.pdf) (59 trang)

Bài giảng PLC và mạng công nghiệp: Chương 5 - TS. Nguyễn Anh Tuấn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.41 MB, 59 trang )

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:




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


5. Cấu trúc và HĐ của bộ nhớ PLC

5.1. Cấu trúc chung của bộ nhớ PLC

5.2. Cấu trúc chương trình

5.3. Các nhóm lệnh cơ bản




5. Cấu trúc và HĐ của bộ nhớ PLC
5.1. Cấu trúc chung của bộ nhớ PLC
 Khái niệm
- Bộ nhớ là nơi lưu trữ chương trình điều khiển cùng với các thơng tin có thể truy
xuất.
- 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à 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.
- 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.
- Các bộ nhớ được yêu cầu trong các trường hợp: làm bộ định thời gian cho các của
kênh trạng thái I/O, làm bộ đệm trạng thái các chức năng trong PLC như định thời,
đếm, ghi các rơ le.
- Mỗi lệnh của chương trình có một vị trí riêng trong bộ nhớ và được đánh số, nó
chính là địa chỉ của bộ nhớ.
- Địa chỉ của từng ô nhớ sẽ được trỏ đến bởi một bộ đếm địa chỉ ở bên trong vi xử lý


5. Cấu trúc và HĐ của bộ nhớ PLC
5.1. Cấu trúc chung của bộ nhớ PLC
 Thẻ nhớ
Thẻ nhớ là một thành phần quan trọng trên CPU:
 Có chức năng chứa chương trình, dữ liệu, thơng số từ
PC chuyển xuống và chuyển sang RAM trong CPU
khi bật nguồn.
 Có 2 loại thẻ: Memory Card (MC), Micro Memory
Card (MMC).
 Có các kích thước thẻ: 64KB, 128KB, 512KB, 2MB,
4MB, 8MB.

 Thẻ nhớ được reset bằng SIMATIC Manager V5.x,
TIA Portal kết hợp Simatic field PG hoặc đầu đọc thẻ
nhớ


5. Cấu trúc và HĐ của bộ nhớ PLC
5.1. Cấu trúc chung của bộ nhớ PLC
 Vùng nhớ
 Vùng nhớ chương trình (Load memory): kích thước bằng
kích thước thẻ nhớ. Được sử dụng để lưu trữ blocks,
datablock, cấu hình và thông số hardware.
 Vùng nhớ làm việc (working memory): là RAM, được tích
hợp trong CPU và khơng thể mở rộng. Được sử dụng để
thi hành code và dữ liệu chương trình người dùng.
 Vùng nhớ hệ thống (system memory): được tích hợp trong
CPU và khơng thể mở rộng. Phục vụ cho chương trình
người dùng, bao gồm: timer, counter, vùng nhớ M, local
data, process image I/Q.
 Vùng nhớ lưu giữ (Retentive memory data): dữ liệu trong
các DBs được lưu trữ, ngay cả khi mất điện CPU và có
điện trở lại, dữ liệu trong các DBs vẫn được duy trì giống
như cài đặt trước đó.


5. Cấu trúc và HĐ của bộ nhớ PLC
5.1. Cấu trúc chung của bộ nhớ PLC
 Cấu trúc bộ nhớ
 Cấu trúc thanh ghi
1 đoạn thanh ghi = 1 byte (B) = 8 bit
1 word (W) = 2 byte = 16 bit

1 Doubleword (DW) = 2 Word = 4 byte = 32 bit

 Các kiểu dữ liệu


5. Cấu trúc và HĐ của bộ nhớ PLC
5.1. Cấu trúc chung của bộ nhớ PLC
 Cấu trúc bộ nhớ
 Các kiểu dữ liệu


5. Cấu trúc và HĐ của bộ nhớ PLC
5.1. Cấu trúc chung của bộ nhớ PLC
 Cấu trúc bộ nhớ

CPU
I
Q
C
T

OB

PI

FC

Data block
DB
Local data block

L

Vùng chứa tham số
của hệ điều hành và
chương trình ứng dụng

Vùng chứa chương
trình ứng dụng

Vùng chứa các khối
dữ liệu

M
PQ

FB


5. Cấu trúc và HĐ của bộ nhớ PLC
5.1. Cấu trúc chung của bộ nhớ PLC
 Cấu trúc bộ nhớ
 Các vùng nhớ
Vùng nhớ chứa chương trình ứng dụng:
+ OBx (Organization Block): chứa chương trình chính.
OB1

Khối tổ chức chính, mặc định, thực thi vịng lặp

OB10


Được thực hiện khi có tín hiệu thời gian ngắt

OB 20

Được thực hiện sau một khoảng thời gian đặt trước

OB 35

Khối ngắt theo chu kỳ định trước

OB 40
Được thực hiện khi tín hiệu ngắt cứng ở ngõ vào
+ FC (Program block): Chứa chương trình con được tổ chức thành hàm và có khả năng
trao đổi dữ liệu với bất kỳ 1 khối chương trình nào khác.
+ FB (Function Block): Chứa chương trình con được tổ chức thành hàm và có khả năng
trao đổi dữ liệu với bất kỳ 1 khối chương trình nào khác. Các dữ liệu này phải được xây
dựng thành một khối dữ liệu riêng (Data Block khối DB).


5. Cấu trúc và HĐ của bộ nhớ PLC
5.1. Cấu trúc chung của bộ nhớ PLC
 Cấu trúc bộ nhớ
 Các vùng nhớ
Vùng nhớ chứa tham số hệ điều hành
+ I (Process image Input): Miền dữ liệu các cổng vào số, trước khi bắt đầu thực hiện
chương trình, PLC sẽ đọc giá trị lơ gíc của tất cả các cổng đầu vào và cất chúng trong 1
vùng nhớ I.
+ Q (Process image Output): Miền bộ đệm các dữ liệu cổng ra số. Kết thúc giai đoạn
thực hiện chương trình, PLC sẽ chuyển giá trị lơ gíc của bộ đệm Q tới các cổng ra số.
+ M (Memory): Miền các biến cờ. Do vùng nhớ này không mất sau mỗi chu kỳ quét nên

chương trình ứng dụng sẽ sử dụng vùng nhớ này để lưu các tham số cần thiết. Nó có thể
truy cập theo bit (M), byte (MB), theo từ (MW), hay từ kép (MD)


5. Cấu trúc và HĐ của bộ nhớ PLC
5.1. Cấu trúc chung của bộ nhớ PLC
 Cấu trúc bộ nhớ
 Các vùng nhớ
Vùng nhớ chứa tham số hệ điều hành
+ T (Timer): Miền nhớ phục vụ bộ thời gian bao gồm việc lưu trữ giá trị thời gian đặt
trước, giá trị đến thời gian tức thời cũng như giá trị lơ gíc đầu ra của bộ thời gian.
+ C (Counter): Miền nhớ phục vụ bộ đếm bao gồm việc lưu trữ giá trị đặt trước, giá trị
đếm tức thời và giá trị lơ gíc đầu ra của bộ đếm.
+ PI: Miền địa chỉ cổng vào của các module tương tự. Các giá trị tương tự tại cổng vào
của module tương tự sẽ được module đọc và chuyển tự động theo địa chỉ. Chương trình
ứng dụng có thể truy cập miền nhớ PI theo Byte, từng từ PIW hoặc PID.
+ PQ: Miền địa chỉ cổng ra cho các module tương tự. Các giá trị theo những những địa
chỉ này sẽ được chuyển tới các cổng ra tương tự. Chương trình ứng dụng có thể truy nhập
miền nhớ PQ theo Byte (PQB) từng từ (PQW) hoặc theo từng từ kép (PQD).


5. Cấu trúc và HĐ của bộ nhớ PLC
5.1. Cấu trúc chung của bộ nhớ PLC
 Cấu trúc bộ nhớ
 Các vùng nhớ
Vùng nhớ chứa dữ liệu
+ DB (Data Block): Miền chứa dữ liệu được tổ chức thành khối. Kích thước cũng như số
lượng khối do người sử dụng quy định, Phù hợp với từng bài tốn điều khiển. Chương
trình có thể truy nhập miền này theo theo từng bit (DBX), byte (DBB), từ (DBW) hoặc từ
kép (DBD).

+ L (Local data block): Miền dữ liệu địa phương, được các khối chương trình OB, FC,
FB tổ chức và sử dụng cho các biến nháp tức thời và trao đổi dữ liệu của biến hình thức
với khối chương trình gọi nó. Tồn bộ vùng nhớ sẽ bị xóa sau khi khối thực hiện xong.
Có thể truy nhập theo từng bit (L), byte (LB), từ (LW), hoặc từ kép (LD).


5. Cấu trúc và HĐ của bộ nhớ PLC
5.2. Cấu trúc chương trình
 Vịng qt chương trình
2.
Chuyển
dữ liệu
từ Q tới
cổng ra

 PLC thực hiện chương trình
theo chu trình lặp, mỗi vòng
lặp được gọi là vòng quét.
 Vòng quét bắt đầu từ giai đoạn
truyền thông và kết thúc ở kết
thúc chu trình thực thi OB1.
 Ngồi ra PLC có các chế độ
ngắt đặc biệt (OB40, OB80…),

1. Truyền
thơng và
kiểm tra
nội bộ

CPU


khi có tín hiệu ngắt, khối ngắt
cùng loại sẽ được thực hiện
trong vịng qt.

4. Thực
hiện
chương
trình OB1

3.
Chuyển
dữ liệu
từ cổng
vào tới I


5. Cấu trúc và HĐ của bộ nhớ PLC
5.2. Cấu trúc chương trình
Có 2 phương pháp lập trình:
 Lập trình tuyến tính: Chương trình chỉ được viết duy nhất khối OB1. Phù hợp các
bài toán điều khiển nhỏ, đơn giản.
 Lập trình cấu trúc: Chương trình được viết trong các hàm chức năng FC, FB và
được gọi ra trong khối OB1, FB, FC.


5. Cấu trúc và HĐ của bộ nhớ PLC
5.2. Cấu trúc chương trình
 Các khối trong chương trình


Có 4 khối cơ bản trong bài tốn lập
trình cấu trúc:
 OB (Organization block): OB1,
OB35, OB40…
 FC (Program block): FC1, FC2…
 FB (Function block): FB1, FB2…
 DB (Data block): DB1, DB2…


5. Cấu trúc và HĐ của bộ nhớ PLC
5.2. Cấu trúc chương trình
 Các khối trong chương trình
- Loại khối OB (Organization block): khối tổ chức và quản lý chương trình điều khiển.
Có các loại khối OB có chức năng khác nhau như: OB1, OB35, OB40,…
- Loại khối FC (Program block): khối chương trình với những chức năng riêng giống
như một chương trình con hoặc một hàm. Một chương trình ứng dụng có thể có
nhiều khối FC.
- Loại khối FB (Function block): là loại khối FC đặc biệt có khả năng trao đổi một
lượng dữ liệu lớn với các khối chương trình khác nhau.
- Loại khối DB (Data block): khối chứa các dữ liệu cần thiết để thực hiện chương
trình. Các tham số của khối do người dùng tự đặt.
Chương trình trong các khối được liên kết với nhau bằng các lệnh gọi khối, chuyển
khối. Một số dòng PLC cho phép gọi chương trình con lồng nhau.


5. Cấu trúc và HĐ của bộ nhớ PLC
5.2. Cấu trúc chương trình
 Nguyên tắc gọi khối hàm
 Để các khối hàm được thực thi trong chương trình người dùng, chúng cần được
gọi từ một khối hàm khác đã được gọi.

 Khi khối hàm A gọi khối hàm B, lệnh trong khối hàm B được thi hành.
 Chỉ khi khối hàm B đã hoàn thành, khối hàm A tiếp tục được thi hành. Quá trình
thực hiện được tiếp tục với lệnh theo sau lệnh gọi khối hàm B.
 Lưu ý: Khơng thể gọi các khối hàm thành một vịng lặp.


5. Cấu trúc và HĐ của bộ nhớ PLC
5.2. Cấu trúc chương trình
 Hệ thống phân cấp gọi khối hàm
 Sắp xếp theo thứ tự và lồng các lệnh gọi khối hàm, được gọi là phân cấp.
 Mỗi model PLC cho phép lồng tối đa số khối hàm khác nhau

Sắp xếp theo thứ tự

Lồng các khối hàm


5. Cấu trúc và HĐ của bộ nhớ PLC
5.2. Cấu trúc chương trình
 Truyền tham số khi gọi hàm
 Quy tắc cung cấp thông số cho khối hàm: Khối gọi sẽ cung cấp cho khối được gọi
các giá trị mà nó sẽ hoạt động.
 Có các loại thơng số thực hiện liên kết giữa hàm gọi và hàm được gọi:
 Input parameters: Hàm được gọi chỉ đọc giá trị của thông số này.
 Output parameters: Hàm được gọi chỉ ghi giá trị cho thông số này.
 In/Out parameters: Hàm được gọi có thể đọc hoặc ghi giá trị cho thơng số này.


5. Cấu trúc và HĐ của bộ nhớ PLC
5.2. Cấu trúc chương trình

 Gán thơng số cho các FC, FB
 Các hàm FC khơng có bộ nhớ dữ liệu. Vì vậy, khi gọi một hàm FC được gọi, tất cả
các tham số chính thức cần được gán tham số thực tế.

 Các FB có tham số được lưu trong iDB và có thêm vùng dữ liệu Static.

iDB


5. Cấu trúc và HĐ của bộ nhớ PLC
5.2. Cấu trúc chương trình
 Thanh ghi trạng thái
Khi thực hiện lệnh, CPU sẽ ghi lại trạng thái của phép tính trung gian cũng như
ghi lại kết quả vào 1 thanh ghi đặc biệt 16 bit, gọi là thanh ghi trạng thái. Tuy
nhiên chỉ có 9 bit thấp của thanh ghi này được sử dụng, có cấu trúc như sau:

- FC: FC=0 khi dãy lệnh lơ gíc tiếp điểm vừa được kết thúc, ngược lại FC = 1
- RLO: kết quả tức thời của phép tính lơ gíc vừa được thực hiện
- STA: Có giá trị lơ gíc của tiếp điểm được chỉ định trong lệnh
- OR: ghi lại giá trị của phép tính VÀ cuối cùng được thực hiện để thực hiện phép tính
HOẶC (V) sau đó.


5. Cấu trúc và HĐ của bộ nhớ PLC
5.2. Cấu trúc chương trình
 Thanh ghi trạng thái

- OS (Stored overflow bit): ghi giá trị bit bị tràn.
- OV (Overflow Bit): ghi giá trị bit bị tràn.
- CC0 và CC1 (Condition code): : hai bit báo trạng thái của kết quả phép tính với số

nguyên, số thực, dịch chuyển hoặc phép tính lơ gíc trong ACCU.
- BR (Binary Result bit): bit trạng thái cho phép liên kết giữa hai ngôn ngữ STL và LAD.
Cho phép người lập trình viết một khối chương trình FB hoặc FC bằng STL, nhưng có thể
gọi và sử dụng chúng trong chương trình khác viết bằng LAD. Để có mối liên kết này, cần
phải kết thúc trong chương trình trong FB, FC bằng lệnh ghi giá trị vào BR: 1 nếu chương
trình khơng có lỗi, 0 nếu chương trình có lỗi.


5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản
 Nhóm lệnh Input/Output (I/Q).
Cấu trúc: Tên lệnh
Ví dụ: L

% I0.0

=

%Q0.0

<Tốn hạng>

Các nhóm lệnh cơ bản:

A

AND

ON


OR NOT

AN

AND NOT

X

Ex OR

O

OR

XN

Ex OR NOT


5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản
= <tốn hạng>

- Lệnh gán: cấu trúc

Tốn hạng là các địa chỉ: I, Q, M, L, D
Ý nghĩa: thực hiện gán giá trị lơ gíc của RLO tới ơ nhớ có địa chỉ được thể hiện
trong tốn hạng. Lệnh tác động vào thanh ghi trạng thái (ký hiệu ‘–’ chỉ nội dung Bit
không bị thay đổi, ‘x’ chỉ nội dung thay đổi theo lệnh).
BR


CC1

CC0

OV

OS

OR

STA

RLO

FC

-

-

-

-

-

-

-


x

1

Ví dụ: Thực hiện lệnh gán Q0.0 := I0.0
LAD

STL
A

%I0.0 //Đọc nội dung I0.0 vào RLO

=

%Q0.0 //Đưa kết quả ra Q0.0


×