®¹I hỌC s ph¹m kü thËt hng yªn
Khoa ®iÖn - ®iÖn tö ®å ¸n
! "#$%
&'( )&
*%+!&$(,-%+#./#%0 12 3 456
78 9&:;<=
>=:?@#,5'
!"#$
%&'()*"+, /'01
>>=A7# B!!
9B@C#DE
%23(456
72809.:'
; %((,56<5='!$','>.
? @1.5A1!88(.:'.:'&B56<
C D<(8) 8E$ 5F54GH'456
:F(G
!,5G'2-8I5*
,#FJ18K1
H5' 7I
J*!E#
!D 1%+!KL)L
!D!!======L======L
GVHD: J*!E# SV:
Chúng em xin chân thành cảm ơn!
Hng Yên, ngày 11 tháng 9 năm 2011
Nhận xét của giáo viên hớng dẫn
GVHD: J*!E# SV:
đạI hC s phạm kỹ thật hng yên
Khoa điện - điện tử đồ án
Khoa điện - điện tử đồ án
PQ 5AR'C?
Chơng V ứng dụng của PLC 63
Chơng I giới thiệu về PLC - s7 300
I. Đại cơng về thiết bị điều khiển logic lập trình PLC.
1. Khái niệm.
Thiết bị điều khiển logic lập trình (Programmable Logic Control , viết tắt là
PLC ) là loại thiết bị cho phép thực hiện linh hoạt các thuật toán điều khiển số thông
qua một ngôn ngữ lập trình. Thay cho việc thực hiện thuật toán đó bằng mạch số nh
vậy với chơng trình điều khiển PLC trở thành một bộ điều khiển số nhỏ gọn dễ dàng
thay đổi thuật toán và đặc biệt dễ trao đổi thông tin với môi trờng xung quanh (với
các PLC khác hay máy tính). Toàn bộ chơng trình điều khiển đợc lu trong bộ nhớ
của PLC dới dạng các khối chơng trình nh khối OB, FC hoặc FB, và đợc thiết lập
theo chu kỳ vòng quét.
Để có thể thực hiện đợc một chơng trình điều khiển, tất nhiên PLC có tình năng
nh một máy tính. Nghĩa là phải có một bộ vi xử lý (PLC), một hệ điều hành, bộ nhớ
để lu chơng trình điều khiển, dữ liệu và tất nhiên phải có cổng đầu vào/ra để giao
tiếp đợc với đối tợng điều khiển và trao đổi thông tin với môi trờng xung quanh. Bên
cạnh đó PLC còn có thêm các khối chức năng đặc biệt khác nh bộ đếm (Counter),
bộ thời gian (Timer) và các khối chuyên dụng khác.
2. Cấu trúc của PLC.
Thiết bị điều khiển logic lập trình PLC là thiết bị điều khiển đặc biệt dựa trên bộ
vi xử lý, sử dụng bộ nhớ lập trình đợc để lu trữ các lệnh và thực hiện các chức năng:
phép logic, lập chuỗi, định giờ, đếm, thuật toán để điều khiển máy và các quá trình.
GVHD: J*!E# SV:
?
đạI hC s phạm kỹ thật hng yên
Khoa điện - điện tử đồ án
PLc đợc thiết kế cho phép những ngời không yêu cầu kiến thức cao về máy tính
+Bộ nhớ RAM: là loại bộ nhớ có thể thay đổi đợc và dùng để chứa các chơng
trình ứng dụng cũng nh dữ liệu, dữ liệu chứa trong RAM sẽ bị mất khí mất điện. Tuy
nhiên, điều này có thể khắc phục bằng cách dung Pin.
+Bộ nhớ EPROM: giống nh RAM, nhuồn nuôi cho EPROM không cần dung
Pin, tuy nhiên nội dung chứa trong nó có thể xóa bằng cách chiếu tia cực tím vào
một cửa sổ nhỏ trên EPROM và sau đó nạp lại nội dung bằng máy nạp.
+Bộ nhớ EEPROM: kết hợp hai u điểm của RAM và EPROM, loại này có thể
xoa và nạp bằng tín hiệu điện. Tuy nhiên số lần nạp cũng có giới hạn.
4. Ưu nhợc điểm của hệ thống:
GVHD: J*!E# SV:
S
đạI hC s phạm kỹ thật hng yên
Khoa điện - điện tử đồ án
Trong giai đoạn đầu của thời kỳ phát triển công nghiệp vào khoảng 1960 - 1980,
yêu cầu tự động của hệ điều khiển đợc thực hiện bằng các Rơle điện tử nối với nhau
bằng dây dẫn điện trong bảng điều khiển, trong nhiều trờng hợp bảng điều khiển có
kích thớc quá lớn đến nỗi không thể gắn toàn bộ lên trên tờng và các dây nối cũng
không hoàn toàn tốt vì thế rất hay xảy ra trục trặc trong hệ thống. Một điểm quan
trọng nữa là do thời gian làm việc của các Rơle có giới hạn nên khi cần thay thế phải
ngừng toàn bộ hệ thống và dây nối cũng phảit hay mới cho phù hợp, bảng điều khiển
chỉ dùng đợc một yêu cầu riêng biệt không thể thay đổi tức thời chức năng khác mà
đòi hỏi thợ chuyên môn có tay nghề cao. Tóm lại hệ thống điều khiển Rơle hoàn
toàn không linh hoạt.
*Tóm tắc nh ợc điểm của hệ thống điều khiển dùng Rơle:
-Tổn kém rất nhiều dây dẫn.
-Thay thế rất phức tạp.
-Cần công nhân sửa chữa tay nghề cao.
-Công suất tiêu thụ lớn.
-Thời gian sửa chữa lâu.
+ PLC S7 400
+PLC S7 - 1200
+ PLC LOGO
GVHD: J*!E# SV:
U
®¹I hỌC s ph¹m kü thËt hng yªn
Khoa ®iÖn - ®iÖn tö ®å ¸n
GVHD: J*!E# SV:
V
đạI hC s phạm kỹ thật hng yên
Khoa điện - điện tử đồ án
II. Hệ thống điều khiển PLC S7 - 300.
II.1. Cấu trúc phần cứng của hệ thống PLC S7 - 300.
Thông thờng, để tăng tính mềm dẻo trong ứng dụng thực tế mà ở đó phần lớn các
đối tợng điều khiển có số tín hiệu đầu vào/ra cũng nh chủng loại tín hiệu vào /ra
khác nhau mà các bộ điều khiển PLC đợc thiết kế không bị cứng hóa về cấu hình.
Chúng đợc chia nhỏ thành các modul. Số các modul đợc sử dụng nhiều hay ít tuỳ
theo yêu cầu công nghệ, song tối thiểu bao giờ cũng phải có một modul chính là các
modul CPU, các modul chức năng chuyên dụng nh PID, điều khiển động cơ. Chúng
đợc gọi chung là modul mở rộng. Tất cả các modul đợc gá trên những thanh ray
( RACK).
* Modul CPU.
Là modul có chứa bộ vi xử lý, hệ điều hành, bộ nhớ, các bộ thời gian, bộ đếm,
cổng truyền thông( chuẩn truyền RS485) và có thể còn có một vài cổng vào /ra số
( Digital). Các cổng vào ra có trên modul CPU đợc gọi là cổng vào ra ONBOART.
Modul CPU bao gồm các loại sau :
*CPU 312-IFM
*CPU 313
lại vơi nhau thành một khối và đợc quản ly chung bởi 1 module CPU.
Thông thờng các module mở rộng đợc gá liền nhau trên một thanh đỡ gọi là
Rack. Mỗi 1 Rack có thể gá đợc nhiều nhất 8 module mở rộng (không kể module
CPU, module nguồn nuôi). Một module CPU S7-300 có thể làm việc nhiều nhất với
4 Rack và các Rack này phải đợc nối với nhau bằng module IM.
4. FM (Function Module) :Module có chức năng điều khiển riêng: VD module
động cơ bớc, module PID.
5. CP (Commuication Module):Module phục vụ truyền thông trong mạng giữa
các PLC với nhau hoặc giữa PLC với máy tính.
GVHD: J*!E# SV:
đạI hC s phạm kỹ thật hng yên
Khoa điện - điện tử đồ án
Sơ đồ kết nối trạm PLC S7 - 300
II.2 Xử lý các tín hiệu vào ra, cấu trúc bộ nhớ trong PLC.
Các tín hiệu vào ra từ đầu vào ra của PLC sẽ đợc lu trữ trong các vùng nhớ. Để
xử lý các tín hiệu này ta truy nhập vào vùng địa chỉ để lấy các giá trị của chúng. Sau
đây sẽ trình bày cấu trúc bộ nhớ và các truy nhập cho PLC Siemens.
* Phơng pháp truy nhập.
PLC lu trữ thông tin trong bộ nhớ. Bộ nhớ của PLC đợc chia làm nhiều vùng (I,
Q, M, T, C,.) mỗi vùng nhớ đều có địa chỉ xác định. Ta có thể truy nhập (ghi hoặc
đọc thông tin) vào các ô nhớ trong các vùng bằng địa chỉ của chúng. Có 2 cách truy
nhập theo ting bit hoặc truy nhập theo byte.
+Truy nhập theo từng bit: Để truy nhập theo từng bit ta phải đánh địa chỉ bao
gồm: Địa chỉ vùng nhớ, địa chỉ byte, địa chỉ bit (ngăn cách giữa địa chỉ byte và địa
chỉ bit là dấu .
Nh vậy thông tin của đầu vào I3.4 sẽ đợc lu trữ trong ô nhớ có địa chỉ I3.4 . Truy
nhập vào ô nhớ này sẽ biết đợc thông tin đầu vào I3.4.
+Truy nhập theo byte: Ta có thể truy nhập các vùng nhớ theo byte, Word (2
- WORD: gồm 2 bytes để biểu diễn số nguyên dơng từ 065535.
- DWORD: là từ kép có giá trị là 0.2
32
-1.
- INT: cũng có dung lợng 2 bytes, dùng để biểu diễn 1 số nguyên trong khoảng
-32768 +32767 (2
-15
.2
15
-1).
- REAL: có dung lợng là 4 bytes dùng để biểu diễn 1 số thực trong khoảng
-3,4E
38
3,4E
38
.
III. Cấu trúc bộ nhớ của CPU của PLC S7 - 300.
Đợc chia ra làm 3 vùng chính:
1) Vùng chứa chơng trình ứng dụng: vùng nhớ chơng trình đợc chia làm 3 miền:
+ OB: Miền chứa chơng trình tổ chức.
+ FC: ( Funktion ) Miền chứa chơng trình con đợc tổ chức thành hàm có biến
hình thức để trao đổi dữ liệu với chơng trình đã gọi nó.
+ FB: ( Funktion Block) Miền 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 cứ một khối chơng trình nào khác. Các dữ liệ phải
đợc xây dụng thành một khối dữ liệu riêng ( gọi là DB - Data block).
2) Vùng chứa các tham số của hệ điều hành và chơng trình ứng dụng, đợc chia
thành 7 miền khác nhau, bao gồm:
I ( Procees image input): Miền bộ đếm các dữ liệu cổng vào số. Trớc khi thực
hiện chơng trình, PLC sẽ đọc giá trị logic của tất cả các đầu vào và cất giữ chúng
vào vùng nhớ I. Thông thờng chơng trình ứng dụng không đọc trực tiếp trạng thái
hình thức của chơng trình với các khối chơng trình đã gọi nó. Nội dung của một số
dữ liệu trong miền nhớ này sẽ bị xoa khi kết thúc chơng trình tơng ứng trong OB,
FB, FC. Miền này có thể truy cập theo từng bít (L), byte (LB), từ (LW), từ kép (LD).
IV. Vòng quét của chơng trình.
SPS (PLC) thực hiện các công việc (bao gồm cả chơng trình điều khiển) theo chu
trình lặp. Mỗi vòng lặp đợc gọi là một vòng quét (scancycle). Mỗi vòng quét đều bắt
đầu bằng việc chuyển dữ liệu từ các cổng vào số tới vùng bộ đệm ảo I, tiếp theo là
giai đoạn thực hiện chơng trình. Trong từng vòng quét, chơng trình thực hiện từ lệnh
đầu tiên đến lệnh kết thúc của khối OB1. sau giai đoạn thực hiện chơng trình là giai
đoạn chuyển nội dung của bộ đệm ảo Q tới các cổng ra số. Vòng quét đợc kết thúc
GVHD: J*!E# SV:
?
đạI hC s phạm kỹ thật hng yên
Khoa điện - điện tử đồ án
bằng giai đoạn xử lý các yêu cầu truyền thông ( nếu có) và kiển tra trạng thái của
CPU. Mỗi vòng quét có thể đợc mô tả nh sau:
Quá trình hoạt động của một vòng quét
Chú ý: Bộ đệm I và Q không liên quan tới các cổng vào ra tơng tự nên các lệnh
truy nhập cổng tơng tự đợc thực hiện trực tiếp với cổng vật lý chứ không thông qua
bộ đệm.
Thời gian cần thiết để PLC thực hiện một vòng quét đợc gọi là thời gian vòng
quét (Scan time). Thời gian vòng quét không cố định, tức là không phải vòng quét
nào cũng thực hiện trong một khoảng thời gian nh nhau. Có vòng quét thực hiện lâu,
có vòng quét thực hiện nhanh tuỳ thuộc vào số câu lệnh trong chơng trình đợc thực
hiện, vào khối dữ liệu truyền thông trong vòng quét đó.
Nh vậy giữa việc đọc dữ liệu từ đối tợng cần xử lý, tính toán và việc giử thông
tinđiều khiển đến đối tợng có một khoảng thời gian bằng thời gian một vòng quét.
Nói cách khác, thời gian vòng quét quyế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
khi giá trị của đồng hồ thời gian thực nằm trong một khoảng thời gian đã quy định.
OB10 có thể đợc gọi một lần, nhiều lần cách đều nhau từng phút, từng giờ, từng
ngày.Việc quy định thời gian hay số lần gọi OB10 đợc thực hiện bằng chơng trình
hệ thống SFC28 hoặc trong bẳng tham số modul CPU nhờ phần mềm Step7.
OB20 (Time Delay Interrupt): Chơng trình trong khối OB20 sẽ đợc thực hiện
sau một khoảng thời gian chễ đặt trớc kể từ khi gọi chơng trình hệ thống SFC32 để
đặt thời gian chễ.
OB35 (Cyclic Interrupt): Chơng trình OB35 sẽ đợc thực hiện cách đều nhau một
khoảng thời gian cố định. Mặc dù khoảng thời gian này là 100ms, xong ta có thể
thay đổi trong bẳng đặt tham số cho CPU nhờ phần mềm Step7.
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 vào/ra số
onboard đặc biệt hoặc thông qua các modul SM, CP, FM.
OB80 (Cycle Time Fault): Chơng trình sẽ đợc thực hiệnkhi thời gian vòng quét
(Scan time) vợt qua thời gian cực đại đã quy định hoặc khi có tín hiệu ngắt gọi một
khối OB nào đó mà khối OB này cha kết thúc ở lần gọi trớc. Mặc định, Scan time
cực đại là 150ms nhng có thể thay đổi tham số nhờ phần mềm Step7.
OB81 (Power Supply Fault): Nếu có lỗi về phần nguồn cung cấp thì gọi chơng
trình trong khôi OB81.
OB82 (Diagnostic Interrput) : Chơng trình trong khối này sẽ đợc gọi khi CPU
phát hiện có lỗi ở các modul vào/ra mở rộng. Với điều kiện các modul vào /ra này
phải có chức năng tự kiểm tra mình.
OB85 ( Not Load Fault): CPU sẽ gọi khối OB85 khí phát hiện khối chơng trình
ứng dụng có sử dụng chế độ ngắt nhng chơng trình xử lý ngắt lại không có trong
khối OB tơng ứng.
GVHD: J*!E# SV:
S
đạI hC s phạm kỹ thật hng yên
Khoa điện - điện tử đồ án
Sơ đồ khồi kiểu lập trình tuyến tính
Khối OB1 đợc hệ thống gọi xoay liên tục theo vòng quét.
Các khối OB khác không tham gia vào vòng quét đợc gọi bằng các tín hiệu ngắt.
S7 - 300 có nhiều tín hiệu báo ngắt nh tín hiệu báo ngắt khi có sự cố nguồn nuôi, có
sự cố chập mạch ở các modul mở rộng, tín hiệu báo ngắt theo chu kỳ thời gian, và
mỗi tín hiệu ngắt nh vậy cũng chỉ có khả năng gọi một khối OB nhất định. Ví dụ sự
cố báo ngắt nguồn nuôi chỉ gọi khối OB81, tín hiệu báo ngắt truyền thông chỉ gọi
khối OB87.
Mỗi tín hiệu báo ngắt hệ thống sẽ dừng công việc đang thực hiện lại, chẳng hạn
tạm dừng công việc trên khối OB1 và thực hiện chuyển sang thực hiện chơng trình
GVHD: J*!E# SV:
OB1 thực
hiện theo
vòng
quét
OB10 Ngắt ở thời
điểm định tr ớc
OB82 Modul
chuẩn đoán lỗi
U
đạI hC s phạm kỹ thật hng yên
Khoa điện - điện tử đồ án
xử lý ngắt trong các khối OB tơng ứng. Ví dụ khi đang thực hiện chơng trình trên
khối OB1 mà xuất hiện báo sự cố truyền thông, hệ thống sẽ tạm dừng thực hiện trên
OB1 lại để gọi chơng trình truyền thông khối OB87. Chỉ khi nào thực hiện xong ch-
ơng trình trên khối OB87 thì hệ thống quay trở lại thực hiện tiếp chơng trình OB1.
Lập trình có cấu trúc: Chơng trình đợc chia thành nhiều phần nhỏ với từng nhiệm
vụ riêng và các phần này nằm trong những khối chơng trình khác nhau. Loại hình
cấu trúc này phù hợp với nhiều bài toán điều khiển nhiều nhiệm vụ và phức tạp, lại
SFB
FB
FB
SFC
đạI hC s phạm kỹ thật hng yên
Khoa điện - điện tử đồ án
Trớc khi khởi động hệ thống cần phải chắc chắn dây nối tử PLC đến các thiết bị
ngoại vi là đúng. Trong quá trình chạy kiển tra có thể cần thiết thực hiện các bớc
chỉnh hệ thống nhằm đảm bảo an toàn khi đa vào hoật động thực tế.
GVHD: J*!E# SV:
W
XYZ
['&
\H]
Xác định yêu cầu
của hệ thống
Chạy thử ch-
ơng trình
Kết nối các thiết bị
I/O vào PLC
Nạp vào
EPROM
Tạo tài liệu
chơng trình
®¹I hỌC s ph¹m kü thËt hng yªn
Khoa ®iÖn - ®iÖn tö ®å ¸n
GVHD: J*!E# SV:
trình
Chạy
tốt
Chạy mô phỏng và
tìm lỗi
Kiểm
tra
Chạy tốt
^_X`
`
^_X
đạI hC s phạm kỹ thật hng yên
Khoa điện - điện tử đồ án
2. Ph ơng pháp lập trình bằng FBD.
Phơng pháp này có cách biểu diễn dới dạng liên kết của các hàm lôgic kỹ thuật
số, loại ngôn ngữ này thích hợp cho những ngời quen sử dụng và thiết kế mạch điều
khiển số. VD:
3. Phơng pháp lập trình theo ngôn ngữ STL.
Phơng pháp này là ngôn ngữ lập trình theo kiểu liệt kê các câu lệnh thành tập
hợp lệnh, mỗi lệnh thực hiện một chức năng. Tơng tự với ngôn ngữ Assembler ở
máy tính, phơng pháp này thích hợp với những đối tợng làm việc trong lĩnh vực tin
học.
VD:
III. Lập trình và chọn chế độ làm việc cho PLC S7-300.
1.Giới thiệu chung.
Lập trình có nghĩa là nhập một mạch vào trong phần mềm của PLC S7-300. Đây
thực ra là cách biểu diễn khác của sơ đồ mạch. Chúng ta viết chơng trình trên phần
mềm soạn thảo Simentic S7 một cách ngắn gọn và phù hợp nhất.
Trên phần mềm soạn thảo này, sơ đồ mạch điều khiển có thể đợc viết theo các
ngôn ngữ khác nhau nh bằng ngôn ngữ LAD, FBD, STLvà một điểm cần lu ý là
GVHD: J*!E# SV:
C