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.