Bài giảng PLC và mạng công nghiệp: Chương 5 - TS. Nguyễn Anh Tuấn được biên soạn nhằm giúp các bạn sinh viên nắm được các kiến thức trọng tâm về: Cấu trúc chung của bộ nhớ PLC; Cấu trúc chương trình PLC; Các nhóm lệnh cơ bản trong PLC. Mời các bạn cùng tham khảo chi tiết bài giảng tại đây.
Trang 1Bà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
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
UNIVERSITY OF SCIENCE AND TECHNOLOGY
Trang 25 Cấu trúc và hoạt động của bộ nhớ PLC
4 Các mô đun vào ra
3 Cấu trúc và nguyên lý làm việc của PLC
2 Logic cứng và sự phát triển của PLC
1 Tổng quan về điều khiển logic
6 Mạng công nghiệp và các giao thức kết nối
Mục lục
7 Ứng dụng của PLC trong công nghiệp
Trang 35.1 Cấu trúc chung của bộ nhớ PLC
5.2 Cấu trúc chương trình
5 Cấu trúc và HĐ của bộ nhớ PLC
5.3 Các nhóm lệnh cơ bản
Trang 45 Cấu trúc và HĐ của bộ nhớ PLC
Khái niệm
5.1 Cấu trúc chung của bộ nhớ PLC
- 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ủakê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ý
Trang 55 Cấu trúc và HĐ của bộ nhớ PLC
Thẻ nhớ
5.1 Cấu trúc chung của bộ nhớ PLC
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
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ớ
Trang 65 Cấu trúc và HĐ của bộ nhớ PLC
Vùng nhớ
5.1 Cấu trúc chung của bộ nhớ PLC
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 đó
Trang 75 Cấu trúc và HĐ của bộ nhớ PLC
Cấu trúc bộ nhớ
5.1 Cấu trúc chung của bộ nhớ PLC
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
Trang 85 Cấu trúc và HĐ của bộ nhớ PLC
Cấu trúc bộ nhớ
5.1 Cấu trúc chung của bộ nhớ PLC
Các kiểu dữ liệu
Trang 95 Cấu trúc và HĐ của bộ nhớ PLC
Cấu trúc bộ nhớ
5.1 Cấu trúc chung của bộ nhớ PLC
FCPI
Local data block
LFB
OBPQ
MTCQI
Data blockDBCPU
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
Trang 10+ 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âydựng thành một khối dữ liệu riêng (Data Block khối DB)
Trang 115 Cấu trúc và HĐ của bộ nhớ PLC
Cấu trúc bộ nhớ
5.1 Cấu trúc chung của bộ nhớ PLC
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 1vù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)
Trang 125 Cấu trúc và HĐ của bộ nhớ PLC
Cấu trúc bộ nhớ
5.1 Cấu trúc chung của bộ nhớ PLC
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ậpmiền nhớ PQ theo Byte (PQB) từng từ (PQW) hoặc theo từng từ kép (PQD)
Trang 13+ 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ươngtrì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ứcvớ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)
Trang 145 Cấu trúc và HĐ của bộ nhớ PLC
Vòng quét chương trình
5.2 Cấu trúc chương trình
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
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
3 Chuyển
dữ liệu
từ cổng vào tới I
4 Thực hiện chương trình OB1
1 Truyền thông và kiểm tra nội bộ
Trang 155 Cấu trúc và HĐ của bộ nhớ PLC
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.2 Cấu trúc chương trình
Trang 165 Cấu trúc và HĐ của bộ nhớ PLC
Các khối trong chương trình
Có 4 khối cơ bản trong bài toán lập
Trang 175 Cấu trúc và HĐ của bộ nhớ PLC
Các khối trong chương trình
5.2 Cấu trúc 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ộtlượ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ươngtrì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ểnkhối Một số dòng PLC cho phép gọi chương trình con lồng nhau
Trang 185 Cấu trúc và HĐ của bộ nhớ PLC
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 đượcgọ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ìnhthự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.2 Cấu trúc chương trình
Trang 195 Cấu trúc và HĐ của bộ nhớ PLC
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.2 Cấu trúc chương trình
Trang 205 Cấu trúc và HĐ của bộ nhớ PLC
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ọicá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.2 Cấu trúc chương trình
Trang 225 Cấu trúc và HĐ của bộ nhớ PLC
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.2 Cấu trúc chương trình
Trang 235 Cấu trúc và HĐ của bộ nhớ PLC
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ầnphả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ươngtrình không có lỗi, 0 nếu chương trình có lỗi
5.2 Cấu trúc chương trình
Trang 245 Cấu trúc và HĐ của bộ nhớ PLC 5.3 Các nhóm lệnh cơ bản
Cấu trúc: Tên lệnh <Toán hạng>
Trang 255 Cấu trúc và HĐ của bộ nhớ PLC
- Lệnh gán: cấu trúc = <toán hạng>
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)
Trang 26%I0.0 // Đọc nội dung I0.0 vào RLO
%I0.1 // AND với I0.1
%Q0.0 // Kết quả ra Q0.0
5.3 Các nhóm lệnh cơ bản
Trang 27%I0.0 // Đọc nội dung I0.0 vào RLO
%I0.1 // OR với I0.1
%Q0.0 // Kết quả ra Q0.0
5.3 Các nhóm lệnh cơ bản
Trang 285 Cấu trúc và HĐ của bộ nhớ PLC
- Lệnh thực hiện phép tính AND NOT: Cấu trúc AN <toán hạng>
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 NOT giữa RLO và toán hạng và lưu kết quả vào RLO
=
%I0.0 //Đọc nội dung I0.0 vào RLO
%I0.1 // AND NOT với I0.1
%Q0.0 // Kết quả ra Q0.0
5.3 Các nhóm lệnh cơ bản
Trang 295 Cấu trúc và HĐ của bộ nhớ PLC
- Lệnh thực hiện phép tính OR NOT: Cấu trúc ON <toán hạng>
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 NOT giữa RLO và toán hạng và lưu kết quả vào RLO
=
%I0.0 //Đọc nội dung I0.0 vào RLO
%I0.1 // OR NOT với I0.1
%Q0.0 // Kết quả ra Q0.0
5.3 Các nhóm lệnh cơ bản
Trang 305 Cấu trúc và HĐ của bộ nhớ PLC
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.3 Các nhóm lệnh cơ bản
Trang 315 Cấu trúc và HĐ của bộ nhớ PLC
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:
+ Rơ le thời gian tác động đóng trễ (ON delay relay timer): TON
INPUT OUTPUT
Tiếp điểm thường mở đóng trễ Tiếp điểm thường đóng mở trễ
Ký hiệu:
5.3 Các nhóm lệnh cơ bản
Trang 325 Cấu trúc và HĐ của bộ nhớ PLC
Rơ le thời gian
Ví dụ: Sử dụng tiếp điểm thường hở trên TON
Ví dụ: Sử dụng tiếp điểm thường đóng của TON
5.3 Các nhóm lệnh cơ bản
Khi tác động tiếp điểm S1, cuộn dây
rơ le TD thời gian hoạt động, saukhoảng thời gian t = 10s tiếp điểmthưở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
Trang 335 Cấu trúc và HĐ của bộ nhớ PLC
Rơ le thời gian
+ 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ễ
INPUT OUTPUT
5.3 Các nhóm lệnh cơ bản
Trang 345 Cấu trúc và HĐ của bộ nhớ PLC
Rơ le thời gian
Ví dụ: Sử dụng tiếp điểm thường mở trên TOFF
Trang 355 Cấu trúc và HĐ của bộ nhớ PLC
Rơ le thời gian
Ví dụ: Sử dụng tiếp điểm thường đóng trên TOFF
Trang 365 Cấu trúc và HĐ của bộ nhớ PLC
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.3 Các nhóm lệnh cơ bản
Trang 375 Cấu trúc và HĐ của bộ nhớ PLC
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.
Bộ định thời trong PLC (Timer)
5.3 Các nhóm lệnh cơ bản
Trang 385 Cấu trúc và HĐ của bộ nhớ PLC
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ặptrong 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
Bộ định thời trong PLC (Timer)
5.3 Các nhóm lệnh cơ bản