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
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
Các kiểu dữ liệu
1 word (W) = 2 byte = 16 bit 1 Doubleword (DW) = 2 Word = 4 byte = 32 bit
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
M FB
PQ
FC Data block DB Local data block L PI
Vùng chứa chương trình ứng dụng Vùng chứa các khối dữ liệu Vùng chứa tham số của hệ điều hành và chương trình ứng dụng
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 toá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ó. Toà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 quét chương trình
PLC thực hiện chương trình
2. Chuyển dữ liệu từ Q tới cổng ra
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
CPU
thúc chu trình thực thi OB1.
1. Truyền thông và kiểm tra nội bộ
3. Chuyển dữ liệu từ cổng vào tới I
Ngoài ra PLC có các chế độ
ngắt đặc biệt (OB40, OB80…),
khi có tín hiệu ngắt, khối ngắt
cùng loại sẽ được thực hiện
4. Thực hiện chương trình OB1
trong vòng quét.
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 toá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
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
- Lệnh gán: cấu trúc =
Toá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 toá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
LAD
STL
A
%I0.0 //Đọc nội dung I0.0 vào RLO
=
%Q0.0 //Đưa kết quả ra Q0.0
Ví dụ: Thực hiện lệnh gán Q0.0 := I0.0
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản
- Lệnh thực hiện phép tính AND: Cấu trúc A
Toán hạng là các địa chỉ: I, Q, M, L, D, T, C
Ý nghĩa: nếu FC = 0 thực hiện gán giá trị lô gíc của RLO. Ngược lại, lệnh sẽ thực
hiện phép toán AND giữa RLO và toán hạng và lưu kết quả vào RLO.
BR CC1 CC0 OV OS OR STA RLO FC
- - - - - x x x 1
LAD
STL
%I0.0 //Đọc nội dung I0.0 vào RLO
A
%I0.1 // AND với I0.1
A
%Q0.0 // Kết quả ra Q0.0
=
Ví dụ: Thực hiện lệnh gán Q0.0 := I0.0 AND I0.1
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản
- Lệnh thực hiện phép tính OR: Cấu trúc O
Toán hạng là các địa chỉ: I, Q, M, L, D, T, C
Ý nghĩa: nếu FC = 0 thực hiện gán giá trị lô gíc của RLO. Ngược lại, lệnh sẽ thực
hiện phép toán OR giữa RLO và toán hạng và lưu kết quả vào RLO.
BR CC1 CC0 OV OS OR STA RLO FC
- - - - - x x x 1
LAD
STL
%I0.0 //Đọc nội dung I0.0 vào RLO
A
%I0.1 // OR với I0.1
O
%Q0.0 // Kết quả ra Q0.0
=
Ví dụ: Thực hiện lệnh gán Q0.0 := I0.0 OR I0.1
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản
- Lệnh thực hiện phép tính AND NOT: Cấu trúc AN
Toán hạng là các địa chỉ: I, Q, M, L, D, T, C
Ý nghĩa: nếu FC = 0 thực hiện gán giá trị lô gíc của RLO. Ngược lại, lệnh sẽ thực
BR
CC1
CC0
OV
OS
OR
STA
RLO
FC
-
-
-
-
-
x
x
x
1
hiện phép toán AND NOT giữa RLO và toán hạng và lưu kết quả vào RLO.
LAD
STL
%I0.0 //Đọc nội dung I0.0 vào RLO
A
%I0.1 // AND NOT với I0.1
AN
%Q0.0 // Kết quả ra Q0.0
=
Ví dụ: Thực hiện lệnh gán Q0.0 := I0.0 AND NOT I0.1
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản
- Lệnh thực hiện phép tính OR NOT: Cấu trúc ON
Toán hạng là các địa chỉ: I, Q, M, L, D, T, C
Ý nghĩa: nếu FC = 0 thực hiện gán giá trị lô gíc của RLO. Ngược lại, lệnh sẽ thực
BR
CC1
CC0
OV
OS
OR
STA
RLO
FC
-
-
-
-
-
x
x
x
1
hiện phép toán OR NOT giữa RLO và toán hạng và lưu kết quả vào RLO.
LAD
STL
%I0.0 //Đọc nội dung I0.0 vào RLO
A
%I0.1 // OR NOT với I0.1
ON
%Q0.0 // Kết quả ra Q0.0
=
Ví dụ: Thực hiện lệnh gán Q0.0 := I0.0 OR NOT I0.1
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản
Rơ le thời gian
- Rơ le thời gian được sử dụng để làm chậm đóng hoặc mở tiếp điểm
để điều khiển mạch.
- Trong thời gian chuyển mạch của rơ le, thời gian trễ có thể từ vài
giây đến vài giờ tùy theo yêu cầu của bài toán đặt ra.
Rơ le thời gian có thể bao gồm:
+ Rơ le thời gian dạng cơ khí
+ Rơ le thời gian dạng khí nén
+ Rơ le thời gian gian dùng mạch điện tử (sử dụng các linh kiện bán
dẫn tạo thời gian trễ)
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản
Rơ le thời gian
Phân loại: Khi thiết kế mạch điều khiển thì có hai loại rơ le thời gian
thường được sử dụng:
INPUT
OUTPUT
+ Rơ le thời gian tác động đóng trễ (ON delay relay timer): TON
Ký hiệu:
Tiếp điểm thường mở đóng trễ Tiếp điểm thường đóng mở trễ
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản
Rơ le thời gian Ví dụ: Sử dụng tiếp điểm thường hở trên TON
Khi tác động tiếp điểm S1, cuộn dây rơ le TD thời gian hoạt động, sau khoảng thời gian t = 10s tiếp điểm thưởng mở TD1 của TD đóng và đèn L1 sẽ sáng. Sau đó ngắt tiếp điểm S1 thì đèn L1 sẽ tắt.
Ví dụ: Sử dụng tiếp điểm thường đóng của TON
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản
Rơ le thời gian
INPUT
OUTPUT
+ Rơ le thời gian tác động ngắt trễ ( OFF delay relay timer): TOFF
Ký hiệu:
Tiếp điểm thường hở đóng trễ Tiếp điểm thường đóng mở trễ
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản
Rơ le thời gian Ví dụ: Sử dụng tiếp điểm thường mở trên TOFF
Ban đầu tiếp điểm S1 mở, cuộn dây của TOFF chưa được cấp điện, tiếp điểm
TD1 mở, đèn chưa sáng.
Khi tiếp điểm S1 đóng, cuộn dây TOFF sẽ được cấp điện và tiếp điểm TD1 sẽ
đóng và đèn L1 sáng.
Ngắt tiếp điểm S1, thì cuộn dây TOFF sẽ không được cấp điện nhưng tiếp điểm
TD1 sẽ mở sau thời gian đặt t = 10s và đèn sẽ tắt.
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản
Rơ le thời gian
Ví dụ: Sử dụng tiếp điểm thường đóng trên TOFF
Ban đầu tiếp điểm S1 mở, cuộn dây của TOFF chưa được cấp điện, tiếp điểm
TD1 đóng, đèn sáng.
Khi tiếp điểm S1 đóng, cuộn dây TOFF sẽ được cấp điện và tiếp điểm TD1
sẽ mở và đèn L1 tắt.
Ngắt tiếp điểm S1 thì cuộn dây TOFF sẽ không được cấp điện nhưng tiếp
điểm TD1 sẽ đóng sau thời gian đặt t = 10s và đèn lại sáng.
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản
Bộ định thời trong PLC (Timer)
Các chức năng tương tự như trên rơle định thời cơ khí và điện tử TON,
TOFF.
Tất cả các bộ định thời PLC đều là lệnh đầu ra.
Ưu điểm so với các bộ định thời cơ và điện tử tương ứng:
• Toàn bộ chức năng định thời xảy ra bên trong bộ điều khiển.
• Cài đặt thời gian có thể dễ dàng thay đổi.
• Số lượng bộ định thời được sử dụng trong một mạch có thể được tăng hoặc
giảm thông qua việc sử dụng các thay đổi lập trình hơn là thay đổi dây dẫn.
• Độ chính xác và độ lặp lại của bộ hẹn giờ rất cao vì độ trễ thời gian được
tạo ra trong bộ xử lý PLC.
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản
Bộ định thời trong PLC (Timer)
Có 3 loại bộ định thời gian:
+ Bộ định thời gian đóng trễ (TON): Đếm khoảng thời gian cơ sở
(time-based) khi điều kiện đầu vào là True
+ Bộ định thời gian ngắt trễ (TOFF): Đếm khoảng thời gian dựa trên
thời gian cơ sở khi lệnh đầu vào chuyển từ điều kiện đúng (True) sang
điều kiện sai (False).
+ Bộ định thời gian có nhớ (RTO) Đếm thời gian dựa trên thời gian
cơ sở khi lệnh là đúng (True) và lưu lại giá trị thời gian đã tích lũy khi
lệnh sai (False) hoặc khi mất nguồn.
RES (Reset) - Đặt lại giá trị tích lũy của bộ định thời về giá trị 0.
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản
Bộ định thời trong PLC (Timer) Các đại lượng của bộ đinh thời:
+ Thời gian cơ sở (time-base) là thời gian nhỏ nhất của Timer khi xảy ra một sự
kiện. Thời gian trễ của Timer là tổng thời gian cơ sở. Thời gian cơ sở thường gặp
trong PLC: 1ms; 10ms; 100ms.
+ Giá trị đặt PV (Preset Value): là giá trị đặt trước cho bộ định thời.
Để tính thời gian trễ của bộ định thời, ta sử dụng công thức:
T = PV x time-base
Ví dụ: Thời gian trễ của bộ định thời khi PV = 50 và time-base = 100ms là
T = 50 x 100 = 5000 ms = 5s
+ Giá trị tích lũy (Accumulated Value): Là thời gian trôi qua kể từ khi tác động
vào bộ định thời, chính là số thời gian sơ sở đã diễn ra.
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản
Bộ định thời trong PLC (Timer)
Bộ định thời tạo xung TP: Một xung rộng bằng chính thời gian đặt PT sẽ
được tạo ra khi tín hiệu vào thỏa mãn True
+ IN: INPUT; Bool (I, Q, M, D, L): ‘0’’1’
+ PT: thời gian đặt, TIME (I, Q, M, D, L) 10s
+ ET: t/g đếm hiện tại, TIME (I, Q, M, D, L): #0s 10s
+ Q: Output: ’1’ trong khoảng tg PT (I, Q, M, D, L)
PT
PT
PT
Biểu đồ thời gian của bộ định thời TP
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản
Bộ định thời trong PLC (Timer) Bộ định thời gian TON
+ IN: INPUT; Bool (I, Q, M, D, L): ‘0’ ‘1’
+ PT: thời gian đặt, TIME (I, Q, M, D, L): 10s
+ ET: t/g đếm hiện tại, TIME (I, Q, M, D, L): Từ #0s #10s
+ Q: Output ‘0’ ‘1’ khi đạt PT (I, Q, M, D, L)
PT
PT
Biểu đồ thời gian của bộ định thời TON
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản
Bộ định thời trong PLC (Timer)
Ví dụ: Điều khiển hai động cơ theo yêu cầu sau: Ấn nút START để khởi động ĐC1 hoạt
động trong 10s sau đó ĐC2 hoạt động. Ấn nút STOP thì dừng cả hai động cơ.
Chương trình điều khiển như sau:
Network 1
Network 2
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản
Bộ định thời trong PLC (Timer)
Bộ định thời gian TOF
+ IN: INPUT; Bool (I, Q, M, D, L): ‘0’’1’ ‘0’
+ PT: thời gian đặt, TIME (I, Q, M, D, L): 10s
+ ET: t/g đếm hiện tại (I, Q, M, D, L): #0s 10s
+ Q: Output ’1’ ‘0’ khi đạt PT (I, Q, M, D, L)
PT
PT
Biểu đồ thời gian của TOF
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản
Bộ định thời trong PLC (Timer)
Ví dụ: Điều khiển hai động cơ theo yêu cầu sau: Ấn nút START để khởi động ĐC1
và ĐC2. Nhấn nút STOP để dừng ĐC1, sau đó 10s ĐC 2 sẽ dừng
Chương trình điều khiển như sau:
Network 1:
Network 2:
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản
Bộ định thời trong PLC (Timer) Bộ định thời gian TONR
+ IN: INPUT; Bool (I, Q, M, D, L), ‘0’’1’
+ PT: thời gian đặt. (I, Q, M, D, L), 10s
+ ET: t/g đếm tích lũy (I, Q, M, D, L), #0s#10s
+ R: Reset timer, khởi động lại t/g đếm từ #0s
+ Q: Output ‘0’‘1’ khi đạt PT (I, Q, M, D, L)
Biểu đồ thời gian
IN
R
Q
PT
ET
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản Bộ đếm trong PLC (Counter)
Chức năng
Bộ đếm được sử dụng để theo dõi và
đếm sự di chuyển của đối tượng qua
một vị trí cố định.
PLC của tất cả các hãng đều cung cấp
một số lệnh bộ đếm, là một khối chức
năng điều khiển
Bộ đếm là một khối chức năng, có một số đặc tính tương đồng với bộ định thời
Bộ đếm có một biến đầu vào và chứa số lượng xung mong muốn sẽ được đếm,
một biến đầu ra chứa giá trị hiện tại của bộ đếm. Một trạng thái lô gíc sẽ chuyển
từ Fasle (0) sang True (1) khi đạt đến số lượng mong muốn.
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản Bộ đếm trong PLC (Counter)
Thông số cơ bản của bộ đếm
Có 3 bộ đếm được xây dựng trong PLC: Bộ đếm lên
(Counter UP) CTU; Bộ đếm xuống (Counter Down)
CTD và Bộ đếm lên-xuống (Counter UP/DOWN)
CTUD.
Bộ đếm lên CTU
Thông số
Tên
Đặc tính
Đếm lên
Là các xung cạnh lên của tín hiệu vào
CU
Giá trị đặt
Là số nguyên chứa giá trị đặt
PV
Giá trị hiện tại
Là số nguyên chứa giá trị hiện tại của xung cạnh lên đầu vào
CV
Xóa giá trị đếm Đưa bộ đếm về trạng thái ban đầu
R
Đầu ra
Trạng thái TRUE được xác lập khi CV = PV
Q
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản Bộ đếm trong PLC (Counter)
Ví dụ: Sử dụng bộ đếm CTU để đếm sản
phẩm qua băng tải thông qua cảm biến
quang (Bit M0.0) trên PLC S7 _1200
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản Bộ đếm trong PLC (Counter)
Bộ đếm xuống CTD
Thông số Tên Đặc tính
Đếm xuống Là các xung cạnh lên của tín hiệu vào CD
Giá trị đặt Là số nguyên chứa giá trị đặt PV
Load Đặt lại bộ đếm để PV = CV khi LD là TRUE LD
Giá trị hiện tại Là số nguyên chứa giá trị hiện tại của xung cạnh lên đầu vào CV
Đầu ra Trạng thái TRUE được xác lập khi CV = 0 Q
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản Bộ đếm trong PLC (Counter) Bộ đếm lên/ xuống CTUD
Thông số
Tên
Đặc tính
Đếm xuống
Là các xung cạnh lên của tín hiệu vào
CD
Giá trị đặt
Là số nguyên chứa giá trị đặt
PV
Load
Đặt lại bộ đếm để PV = CV khi LD là TRUE
LD
Giá trị hiện tại
Là số nguyên chứa giá trị hiện tại của xung cạnh lên đầu vào
CV
Xóa giá trị đếm Đưa bộ đếm về trạng thái ban đầu
R
Đầu ra
Sẽ on lên 1 khi giá trị đếm bằng PV
QU
Đầu ra
Sẽ on lên 1 khi giá trị đếm bằng 0
QD
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản Bộ đếm trong PLC (Counter) Ví dụ: Dùng bộ đếm CTU để đếm SP qua băng tải thông qua cảm biến quang
(Bit M0.0) trên PLC S7-1200
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản Bộ đếm trong PLC (Counter)
Bộ đếm tốc độ cao HSC (Hight Speed Counter)
- Thông thường bộ đếm bị giới hạn Khối HSC trong PLC S7 1200
bởi tốc độ quét của vi xử lý. Khi
tần số của tín hiệu đầu vào cao hơn
thời gian quét cần phải sử dụng bộ
đếm tốc độ cao (HSC).
- Các PLC đều cung cấp tính năng
đếm tốc độ cao.
- Ứng dụng trong việc đếm số vòng
quay với Encoder
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản Bộ đếm trong PLC (Counter)
Bộ đếm tốc độ cao HSC (Hight Speed Counter)
EN: chân kích hoạt HSC. Nối trực tiếp với
Khối HSC trong PLC S7 1200
nguồn hoặc tín hiệu đầu vào
HSC: là giá trị quy định của bộ HSC (tùy
thuộc vào từng HSC)
DIR: chọn chiều đếm lên hay đếm xuống
CV: là chân khi chuyển từ 0 lên 1 thì giá trị bộ
đếm sẽ chuyển về giá trị ở chân NEW_CV
RV: là chân khi chuyển từ 1 về 0 thì giá trị bộ
đếm sẽ chuyển về giá trị ở chân NEW_RV
PERIOD và NEW_PERIOD dùng trong
trường hợp ở các chế độ đọc tần số
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản Các lệnh so sánh trong PLC Các kiểu dữ liệu
- Khối so sánh được sử dụng để so sánh hai giá trị
- Lệnh so sánh được thực hiện với hai giá trị có cùng kiểu dữ liệu. Nếu điều kiện so sánh
thỏa mãn thì ngõ ra sẽ được Set lên mức 1 (True).
Kiểu dữ liệu Ký hiệu Size Độ rộng
Boolean Bool 1 bit 0 và 1
Byte Byte 8 bit 16#00 đến 16#FF
Word Word 16 bit 16#0000 đến 16#FFFF
Dword Dword 32 bit
Short Integer SInt 8 bit -128 đến 127
Integer Int 16 bit -32.768 đến 37.767
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản Các lệnh so sánh trong PLC Các kiểu dữ liệu
Kiểu dữ liệu Ký hiệu Size Độ rộng
Double Integer DInt 32 bit -2.147.483.648 đến 2.147.483.647
Unsigned short Integer USInt 8 bit 0 đến 255
Unsigned Integer UInt 0 đến 65.535 16 bit
Unsigned double Integer UDInt 0 đến 4.294.967.295 32 bit
Real or floating point Real 32 bit
Long real LReal 64 bit
Character string String 0 đến 254 byte
Character Char 8 bit 16 #00 đến 16#FF
Time Time 32 bit
Date and long time DTL 12 byte
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản Các lệnh so sánh trong PLC Cú pháp lệnh so sánh
= ngõ ra được kích hoạt nếu IN1=IN2
<> ngõ ra được kích hoạt nếu IN1#IN2
>= ngõ ra được kích hoạt nếu IN1 lớn hơn hoặc bằng IN2
<= ngõ ra được kích hoạt nếu IN1 nhỏ hơn hoặc bằng IN2
> ngõ ra được kích hoạt nếu IN1 lớn hơn IN2
< ngõ ra được kích hoạt nếu IN1 nhỏ hơn IN2
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản Các lệnh so sánh trong PLC Một số lệnh toán học
+ Lệnh tính toán: Cộng, trừ, nhân, chia
OUT = IN1 + ; - ; * ; / IN2
Tham số IN1 và IN2 phải cùng kiểu dữ
liệu: SInt, Int, Dint, USInt, UInt, UDInt,
Real, LReal, Constant
Tham số OUT có kiểu dữ liệu : SInt, Int,
Dint, USInt, UInt, UDInt, Real, Lreal
Tham số ENO = 1 nếu không có lỗi xảy
ra trong quá trình thực thi. Ngược lại
ENO = 0 khi 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 Các lệnh so sánh trong PLC Một số lệnh toán học
+ Lệnh chia lấy phần dư MOD
Lệnh Modulo sẽ lấy phần dư của phép toán. Giá trị ngõ vào
IN1 chia cho IN2 và giá trị phần dư sẽ được lưu vào OUT
Kiểu dữ liệu:
IN1: sint, int, dint, usint, uint, udint, constant
IN2: sint, int, dint, usint, uint, udint, constant
OUT : sint, int, dint, usint, uint, udint
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản Các lệnh so sánh trong PLC Một số lệnh toán học
+ Lệnh di chuyển MOVE
Sao chép một phần tử dữ liệu được lưu trữ tại một địa chỉ xác
định đến một địa chỉ mới.
Kiểu dữ liệu:
Địa chỉ nguồn IN1: sint, int, dint, usint, uint, udint, constant
Địa chỉ đích OUT : sint, int, dint, usint, uint, udint
Lệnh di chuyển có ngắt
MOVE_BLK: di chuyển có thể ngắt mà sao chép một khối
các phần tử dữ liệu đến một địa chỉ mới
Lệnh di chuyển không ngắt
UMOVE_BLK: di chuyển không ngắt được mà sao
chép một khối các phần tử dữ liệu đến một địa chỉ mới
5. Cấu trúc và HĐ của bộ nhớ PLC
5.3. Các nhóm lệnh cơ bản Các lệnh so sánh trong PLC Một số lệnh toán học
+ Các lệnh định tỷ lệ và chuẩn hóa
SCALE_X OUT = VALUE (MAX – MIN) + MIN
với (0,0 <= VALUE <= 1,0)
Đối với lệnh SCALE_X, các thông số MIN, MAX và
OUT phải là kiểu dữ liệu giống nhau.
Lệnh chuẩn hóa thông số OUT = (VALUE – MIN) / (MAX – MIN)
với (0,0 <= OUT <= 1,0)
Đối với lệnh NORM X, các thông số MIN, VALUE
và MAX phải là kiểu dữ liệu giống nhau.