Giáo trình PLC S7-300: Lý thuyết và ứng dụng - Chương 1: Giới thiệu

Để thực hiện được một chương trình điều khiển, tất nhiên PLC phải có

tính năng như một máy tính, nghĩa là phải có một bộ vi xử lý (CPU), một hệ

điều hành, bộ nhớ để lưu chương trình điều khiển, dữ liệu và tất nhiên phải có

các cổng vào/ra để giao tiếp được với đối tượng điều khiển và để trao đổi

Bộ nhớ chương trình

Timer Bit cờ

Bộ đếm Bộ xử lý trung tâm + Hệ điều hành

Quản lý kết nốiCổng ngắt và đếm tốc độ cao

Cổng vào/ra onboard Bus của PLC

Hình1.1. Cấu trúc bên trong của một PLC

Bộ đệm vào/ra CPUthông tin với môi trường xung quanh. Bên cạnh đó nhằm phục bài toán điều

khiển số, PLC còn phải có thêm một số khối chức năng đặc biệt khác như bộ

đếm (Counter), bộ định thời (Timer) và những khối hàm chuyên dùng.

Ưu điểm của bộ điều khiển lập trình được so với điều khiển nối dây:

? Tính năng mở rộng: khả năng mở rộng xử lý bằng cách thay đổi chương

trình lập trình một cách dễ dàng.

? Độ tin cậy cao.

? Cách kết nối các thiết bị điều khiển đơn giản.

? Hình dáng PLC gọn nhẹ.

? Giá thành và chi phí lắp đặt thấp.

? Phù hợp với môi trươ ng công nghiệp.

 

pdf19 trang | Chuyên mục: PLC | Chia sẻ: tuando | Lượt xem: 576 | Lượt tải: 0download
Tóm tắt nội dung Giáo trình PLC S7-300: Lý thuyết và ứng dụng - Chương 1: Giới thiệu, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ợc thực hiện lâu, có vòng quét được thực hiện nhanh tuỳ 
Truong DH SPKT TP. HCM 
Thu vien DH SPKT TP. HCM - 
Ban qu
yen © T
ruong D
H Su ph
am Ky
 thuat 
TP. HC
M
 Trang 11 
thuộc vào số lệnh trong chương trình được thực hiện, vào khối dữ liệu được 
truyền thông trong vòng quét đó. 
Như vậy giữa việc đọc dữ liệu từ đối tượng để xử lý, tính toán và việc gửi tín 
hiệu điều khiển tới đối tượng có một khoảng thời gian trễ đúng bằng thời gian 
vòng quét. Nói cách khác, thời gian vòng quét quyết định tính thời gian thực 
của chương trình điều khiển trong PLC. Thời gian vòng quét càng ngắn, tính 
thời gian thực của chương trình càng cao. 
 Nếu sử dụng các khối chương trình đặc biệt có chế độ ngắt, ví dụ như khối 
OB40, OB80, Chương trình của các khối đó sẽ được thực hiện trong vòng quét 
khi xuất hiện tín hiệu báo ngắt cùng chủng loại. Các khối chương trình này có 
thể được thực hiện tại mọi điểm trong vòng quét chứ không bị gò ép là phải ở 
trong giai đoạn thực hiện chương trình. Chẳng hạn nếu một tín hiệu báo ngắt 
xuất hiện khi PLC đang ở giai đoạn truyền thông và kiểm tra nội bộ, PLC sẽ 
tạm dừng công việc truyền thông, kiểm tra, để thực hiện khối chương trình 
tương ứng với khối tín hiệu báo ngắt đó. Với hình thức xử lý tín hiệu ngắt như 
vậy, thời gian vòng quét sẽ càng lớn khi càng có nhiều tín hiệu ngắt xuất hiện 
trong vòng quét. Do đó, để nâng cao tính thời gian thực cho chương trình điều 
khiển tuyệt đối không nên viết chương trình xử lý ngắt quá dài hoặc quá lạm 
dụng việc sử dụng chế độ ngắt trong chương trình điều khiển. 
 Tại thời điểm thực hiện lệnh vào/ra, thông thường lệnh không làm việc 
trực tiếp với cổng vào/ra mà chỉ thông qua bộ đểm ảo của cổng trong vùng nhớ 
tham số. Việc truyền thông giữa bộ đệm ảo với ngoại vi trong các giai đoạn 1 
và 3 do hệ điều hành CPU quản lý. Ở một số module CPU, khi gặp lệnh vào/ra 
ngay lập tức, hệ thống sẽ cho dừng mọi công việc khác, ngay cả chương trình 
xử lý ngắt, để thực hiện lệnh trực tiếp với cổng vào/ra. 
Hình 1.16. Vòng quét CPU 
Truong DH SPKT TP. HCM 
Thu vien DH SPKT TP. HCM - 
Ban qu
yen © T
ruong D
H Su ph
am Ky
 thuat 
TP. HC
M
 Trang 12 
1.4. Cấu trúc chương trình. 
 Chương trình cho S7-300 được lưu trong bộ nhớ của PLC ở vùng dành 
riêng cho chương trình. Ta có thể được lập trình với hai dạng cấu trúc khác 
nhau: 
1.4.1. Lập trình tuyến tính 
 Toàn bộ chương trình điều khiển nằm trong một khối trong bộ nhớ. Loại 
lập trình cấu trúc chỉ thích hợp cho những bài toán tự động nhỏ, không phức 
tạp. 
Khối được chọn là khối OB1, là khối mà PLC luôn luôn quét và thực hiện các 
lệnh trong nó thường xuyên, từ lệnh đầu tiên đến lệnh cuối cùng và quay lại 
lệnh đầu tiên: 
1.4.2 Lập trình cấu trúc 
 Chương trình được chia thành những phần nhỏ với từng nhiệm vụ riêng 
biệt và các phần này nằm trong những khối chương trình khác nhau. Loại lập 
trình có cấu trúc phù hợp với những bài toán điều khiển nhiều nhiệm vụ và 
phức tạp. Các khối cơ bản : 
 Khối OB (Organization Block): khối tổ chức và quản lý chương trình điều 
khiển. Có nhiều loại khối OB với những chức năng khác nhau. Chúng được 
phân biệt với nhau bằng số nguyên theo sau nhóm ký tự OB, ví dụ như OB1, 
OB35, OB80 
 Khối FC (Program Block): khối chương trình với những chức năng riêng biệt 
giống như một chương trình con hay một hàm (chương trình co có biến hình 
thức). Một chương trình ứng dụng có thể có nhiều khối FC và các khối FC 
này được phân biệt với nhau bằng số nguyên theo sau nhóm ký tự FC, 
chẳng hạn như FC1, FC2,  
Lệnh 1 
Lệnh 2 
Lệnh n 
OB1 
Hinh 1.17. Vòng quét PLC 
Truong DH SPKT TP. HCM 
Thu vien DH SPKT TP. HCM - 
Ban qu
yen © T
ruong D
H Su ph
am Ky
 thuat 
TP. HC
M
 Trang 13 
 Khối FB (Function Block): là khối FC đặt 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. Các dữ liệu này phải được 
tổ chức thành khối dữ liệu riêng được gọi là Data Block. Một chương trình 
ứng dụng có thể có nhiều khối FB và các khối FB này được phân biệt với 
nhau bằng số nguyên theo sau nhóm ký tự FB. Chẳng hạn như FB1, FB2,  
 Khối DB (Data Block): khối 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 sử dụng tự đặt. Một chương trình ứng dụng có thể 
có nhiều khối DB và các khối DB này được phân biệt với nhau bằng số 
nguyên theo sau nhóm ký tự DB. Chẳng hạn như DB1, DB2,  
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 
và chuyển khối. Các chương trình con được phép gọi lồng nhau, tức từ một 
chương trình con này gọi một chương trình con khác và từ chương trình con 
được gọi lại gọi một chương trình con thứ 3. 
1.4.3 Các khối OB đặc biệt. 
1) OB10 (Tinme of Day Interrupt ): Chương trình trong khối OB10 sẽ được thực 
hiện khi giá trị thời gian của đồng hồ thời gian thực nằm trong một khoảng 
thời gian đã được quy định. Việc quy định khoảng thời gian hay số lần gọi 
OB10 được thực hiện nhờ chương trình hệ thống SFC28 hay trong bảng 
tham số của module CPU nhờ phần mềm STEP 7. 
2) OB20 (Time Relay Interrupt): Chương trình trong khối OB20 sẽ được thực 
hiện sau một khoảng thời gian trễ đặt trước kể từ khi gọi chương trình hệ 
thống SFC32 để đặt thời gian trễ. 
3) OB35 (Cyclic Interrupt): Chương trình trong khối OB35 sẽ được thực hiện 
cách đều nhau một khoảng thời gian cố định. Mặc định, khoảng thời gian 
này là 100ms, nhưng ta có thể thay đổi nhờ STEP 7. 
OB1 
Hình 1.18. Lập trình có cấu trúc 
FC7 
 FB2 
FC1 
. . . 
FB9 
 FC3 
FB5 
. . . 
Hệ 
Điều 
Hành 
. 
. .
. 
. 
. 
. 
. 
. 
Truong DH SPKT TP. HCM 
Thu vien DH SPKT TP. HCM - 
Ban qu
yen © T
ruong D
H Su ph
am Ky
 thuat 
TP. HC
M
 Trang 14 
4) OB40 (Hardware Interrupt): Chương trình trong khối OB40 sẽ được thực 
hiện khi xuất hiện một tín hiệu báo ngắt từ ngoại vi đưa vào CPU thông qua 
các cổng onboard đặc biệt, hoặc thông qua các module SM, CP, FM. 
5) OB80 (Cycle Time Fault ): Chương trình trong khối OB80 sẽ được thực hiện 
khi thời gian vòng quét (scan time) vượt quá khoảng thời gian cực đại đã qui 
định hoặc khi có một tín hiệu ngắt gọi một khối OB nào đó mà khối OB này 
chưa kết thúc ở lần gọi trước. Thời gian quét mặc định là 150ms. 
6) OB81 (Power Supply Fault): Chương trình trong khối OB81 sẽ được thực 
hiện khi thấy có xuất hiện lỗi về bộ nguồn nuôi. 
7) OB82 (Diagnostic Interrupt): Chương trình trong khối OB82 sẽ được thực 
hiện có sự cố từ các module mở rộng vào/ra. Các module này phải là các 
module có khả năng tự kiểm tra mình (diagnostic cabilities). 
8) OB87 (Communication Fault): Chương trình trong khối OB87 sẽ được thực 
hiện có xuất hiện lỗi trong truyền thông. 
9) OB100 (Start Up Information): Chương trình trong khối OB100 sẽ được thực 
hiện một lần khi CPU chuyển từ trạng thái STOP sang RUN. 
10) OB101 (Cold Start Up Information-chỉ với S7-400): Chương trình trong khối 
OB101 sẽ được thực hiện một lần khi công tắt nguồn chuyển từ trạng thái 
OFF sang ON. 
11) OB121 (Synchronous Error): Chương trình trong khối OB121 sẽ được thực 
hiện khi CPU phát hiện thấy lỗi logic trong chương trình đổi sai kiểu dữ liệu 
hay lỗi truy nhập khối DB, FC, FB không có trong bộ nhớ. 
12) OB122 (Synchronous Error): Chương trình trong khối OB122 sẽ được thực 
hiện khi có lỗi truy nhập module trong chương trình. 
1.5 Ngôn ngữ lập trình. 
 PLC S7-300 có ba ngôn ngữ lập trình cơ bản sau: 
 Ngôn ngữ lập trình liệt kê lệnh STL (Statement List). Đây là dạng 
ngôn ngữ lập trình thông thường của máy tính. Một chương trình được 
hoàn chỉnh bởi sự ghép nối của nhiều câu lệnh theo một thuật toán nhất 
định, mỗi lệnh chiếm một hàng và có cấu trúc chung “tên lệnh” + “toán 
hạng”. 
Truong DH SPKT TP. HCM 
Thu vien DH SPKT TP. HCM - 
Ban qu
yen © T
ruong D
H Su ph
am Ky
 thuat 
TP. HC
M
 Trang 15 
 Ngôn ngữ lập trình LAD (Ladder Logic). Đây là dạng ngôn ngữ đồ 
hoạ, thích hợp với những người lập trình quen với việc thiết kế mạch điều 
khiển logic. 
 Ngôn ngữ lập trình FBD (Function Block Diagram). Đây cũng là dạng 
ngôn ngữ đồ hoạ, thích hợp cho những người quen thiết kế mạch điều 
khiển số. 
 Ngôn ngữ lập trình Graph. Đây cũng là dạng ngôn ngữ đồ hoạ, thích 
hợp cho những hệ thống tuần tự. 
 Ngôn ngữ lập trình SCL. Đây cũng là dạng ngôn ngữ cấp cao, thích 
hợp cho những người biết viết ngôn ngữ cấp cao. 
 Trong PLC có nhiều ngôn ngữ lập trình nhằm phục vụ cho các đối tượng 
sử dụng khác nhau. Tuy nhiên một chương trình viết trên ngôn ngữ LAD hay 
FBD có thể chuyển sang dạng STL, nhưng ngược lại thì không. Và trong STL 
có nhiều lệnh mà LAD hoặc FBD không có. Đây cũng là thế mạnh của ngôn 
ngữ STL: 
Ví dụ: 
Ladder Diagram LAD Stamentl list STL Function Block 
 Diagram FBD 
Hình 1.19. STL là ngôn ngữ mạnh nhất 
STL 
LAD 
FBD 
Truong DH SPKT TP. HCM 
Thu vien DH SPKT TP. HCM - 
Ban qu
yen © T
ruong D
H Su ph
am Ky
 thuat 
TP. HC
M

File đính kèm:

  • pdfgiao_trinh_plc_s7_300_ly_thuyet_va_ung_dung_chuong_1_gioi_th.pdf