Trường đại học bách khoa hà nội Khoa đIện tử viễn thông CHƯƠNG I : GIỚI THIỆU TỔNG QUÁT VỀ PLC
Trang 1Ch ơng I : Giới thiệu tổng quát về plc
1.1 Hệ thống điều khiển là gì :
Tổng quát , một hệ thống điều khiển là tập hợp những dụng cụ , thiết bị điện
tử , đợc dùng ở những hệ thống cần đảm bảo tính ổn định , sự chính xác , sựchuyển đổi nhịp nhàng của một qui trình hoặc một hoạt động sản xuất Nó thựchiện bất cứ yêu cầu nào của dụng cụ , từ cung cấp năng lợng đến một thiết bị bándẫn Với thành quả của sự phát triển nhanh chóng của công nghệ thì việc điềukhiển những hệ thống phức tạp sẽ đợc thực hiện bởi một hệ thống điều khiển tự
động hoá hoàn toàn, đó là PLC , nó đợc sử dụng kết hợp với máy tính chủ Ngoài
ra , nó còn giao diện để kết nối với các thiết bị khác ( nh là : bảng điều khiển,
động cơ , contact , cuộn dây, ) Khả năng chuyển giao mạng của PLC có thểcho phép chúng phối hợp xử lý, điều khiển những hệ thống lớn Ngoài ra , nó cònthể hiện sự linh hoạt cao trong việc phân loại các hệ thống điều khiển Mỗi một
bộ phận trong hệ thống điều khiển đóng một vai trò rất quan trọng Từ hình 1.1 tathấy: PLC sẽ không nhận biết đợc điều gì nếu nó không đợc kết nối với các thiết
bị cảm ứng Nó cũng không cho phép bất kỳ các máy móc nào hoạt động nếungõ ra của PLC không đợc kết nối với động cơ Và tất nhiên , vùng máy chủ phải
là nơi liên kết các hoạt động của một vùng sản xuất riêng biệt
Hình 1.1 Hệ thống điều khiển PLC
1.2 Vai trò của PLC
Trong một hệ thống điều khiển tự động, PLC đợc xem nh là trái tim của hệthống điều khiển Với một chơng trình ứng dụng (đã đợc lu trữ bên trong bộ nhớcủa PLC ) thì PLC liên tục kiểm tra trạng thái của hệ thống , bao gồm: kiểm tra
2
Hiểnthị
Cơ cấuChấp hành plc
Cảm biến xử lý
Điều khiển
Trang 2và mang các tín hiệu điều khiển ra thiết bị xuất
PLC đợc dùng để điều khiển thống từ đơn giản đến phức tạp Hoặc ta có thểkết hợp chúng với nhau thành một mạng truyền thông có thể điều khiển một quátrình phức hợp
1.3 Các thiết bị nhập và xuất dùng trong plc
độ , Các loại tín hiệu nhập đến PLC phải là trạng thái logic ON/OFF hoặc tínhiệu Analog Những tín hiệu ngõ vào này đợc giao tiếp với PLC qua các modulnhập
Trang 3Tuy nhiên , các thiết bị khác nh là : đèn pilot ,còi và các báo động chỉ cho biếtcác mục đích nh: báo cho chúng ta biết giao diện tín hiệu ngõ vào , các thiết bịngõ ra đợc giao tiếp với PLC qua miền rộng của modul ngõ ra PLC
1.4 Bộ điều khiển lập trình đ ợc PLC là gì ?
PLC là bộ điều khiển logic theo chơng trình bao gồm : bộ xử lý trung tâm gọi
là CPU (Central Procesing Unit ) chứa trơng chình ứng dụng và các modul giaodiện nhập xuất Nó đợc nối trực tiếp đến các thiết bị I/O Vì thế, khi tín hiệunhập, CPU sẽ xử lý tín hiệu và gởi tín hiệu đến thiết bị xuất
1D C1
EnG1 RAM Khốiđầu
ra
Trang 4Hình 1.2 Cấu trúc phần cứng của PLC với các khối nhớ vào và
ra
1.5 So sánh PLC với các thiết bị điều khiển thông th ờngkhác
Hiện nay, các hệ thống điều khiển bằng PLC đang dần dần thay thế cho các
hệ thống điều khiển bằng relay ,contactor thông thờng Ta hãy thử so sánh ukhuyết điểm của hai hệ thống trên:
Hệ thống điều khiển thông thờng :
• Thô kệch do có quá nhiều dây dẫn trên bảng điều khiển
• Tốn khá nhiều thời gian cho việc thiết kế ,lắp đặt
• Tốc độ hoạt động chậm
• Công suất tiêu thụ lớn
• Mỗi lần muốn thay đổi chơng trình thì phải lắp đặt lại toàn bộ, tốn nhiềuthời gian
• Khó bảo quản và sửa chữa
Hệ thống điều khiển bằng PLC:
• Những dây kết nối trong hệ thống giảm đợc 80% nên nhỏ gọn hơn
• Công suất tiêu thụ ít hơn
• Sự thay đổi các ngõ vào , ra và điều khiển hệ thống trở nên dễ dàng hơnnhờ phần mền điều khiển bằng máy tính hay trên console
• Tốc độ hoạt động của hệ thống nhanh hơn
• Bảo trì hệ thống và sửa chữa dễ dàng
• Độ bền và tin cậy vận hành cao
• Giá thành của hệ thống giảm khi số tiếp điểm tăng
Trang 5Do có những lý do trên PLC thể hiện rất rõ u điểm của nó so với các thiết bị điềukhiển thông thờng khác PLC còn có khả năng thêm vào hay thay đổi các lệnh tuỳtheo yêu cầu của công nghệ Khi đó ta chỉ cần thay đổi chơng trình của nó, điềunày nói lên tính năng điều khiển khá linh động của PLC
1.6.2 Bộ nhớ ( Memory ) :
Có nhiều loại bộ nhớ khác nhau Đây là nơi lu gữi trạng thái hoạt độngcủa hệ thống và bộ nhớ của ngời sử dụng Để đảm bảo cho PLC hoạt động, phảicần có bộ nhớ để lu giữ chơng trình, đôi khi cần mở rộng bộ nhớ để thực hiện cácchức năng khác nh:
+ Vùng đệm tạm thời lu trữ trạng thái của các kênh xuất / nhập đợc gọi làRam xuất nhập
+ Lu trữ tạm thời các trạng thái của các chức năng bên trong : Time,counter, relay
Bộ nhớ gồm có những loại sau :
+ Bộ nhớ chỉ đọc (Rom: Read Only Memory ): Rom không phải là bộnhớ khả biến, nó có thể lập trình chỉ một lần Do đó không thích hợp cho việc
điều khiển "mềm "của PLC Rom ít phổ biến so với các loại bộ nhớ khác
+ Bộ nhớ ghi đọc (Ram : Random Access Memory ): Ram là một bộ nhớthờng đợc dùng để lu trữ dữ liệu và chơng trình của ngời sử dụng Dữ liệu trongRam sẽ bị mất đi nếu nguồn điện bị mất Tuy nhiên vấn đề này đợc giải quyếtbằng cách gắn thêm vào Ram nguồn điện dự phòng Ngày nay , trong kỹ thuậtphát triển PLC , ngời ta dùng CMOSRAM nhờ sự tiêu tốn năng lợng khá thấp của
nó và cung cấp pin dự phòng cho các Ram này khi mất nguồn Pin dự phòng cótuổi thọ ít nhất một năm trớc khi cần thay thế, hoặc ta chọn pin sạc gắn với hệthống, pin sẽ đợc sạp khi cấp nguồn cho PLC
+ Bộ nhớ chỉ đọc chơng trình xoá đợc (EPROM: Eresable ProgrammableRead Only Memory ): EPROM lu trữ dữ liệu giống nh ROM , tuy nhiên nội dungcủa nó có thể bị xoá đi nếu ta phóng tia tử ngoại vào, ngời viết phải viết lại chơngtrình trong bộ nhớ
+ Bộ nhớ chỉ đọc chơng trình xoá đợc bằng điện (EEPROM : ElectricErasable Programmable Read Only Memory) : EEPROM kết hợp khả năng truylinh động của Ram và tính khả biến của EEPROM, nội dung trên EEPROM cóthể bị xoá và lập trình bằng điện tuy nhiên chỉ đợc một số lần nhất định
6
Trang 6Chơng II : giới thiệu bộ điều khiển
Lập trình plc Simatic S7 -200
I: Cấu trúc phần cứng của CPU
Khái quát chung:
S7- 200 làthiết bị điều khiển logic khả trình loại nhỏ của hãng siemenscấu trúc theo module có các module mở rộng các module này đợc sử dụng chonhiều ứng dụng lập trình khác nhau
Thành phần cơ bản của S7-200 là khối vi lý CPU 212 và CPU 214 vềhình thức bên ngoài sự khác nhau của hai loại CPU này nhận biết đợc nhờ số đầuvào ra và nguồn cung cấp
CPU 212 có 8 cổng vào và 6 cổng ra có khả năng mở rộng thêm bằng haimodule mở rộng
CPU 214 có 14 cổng vào và 10 cổng ra và có khả năng mở rộng thêm bằng
7 module mở rộng
Cấu trúc CPU 212
-512 từ đơn ( Word ) tức là 1 kbyte, để lu chơng trình thuộc miền bộ nhớ
đọc/ghi đợc và không bị mất dữ liệu nhờ có giao diện EPROM Vùng nhớ với tínhchất nh vậy đợc gọi là vùng nhớ non-votatile
512 từ đơn đợc lu dữ liệu trong đó có 100 từ nhớ đọc/ghi thuộc miền nhớ non volatile
-8 cổng vào logic và 6 cổng ra logic
Có thể ghép nối 2 module để mở rộng số cổng vào/ra , bao gồm cả 2module tơng tự (analog)
Tổng số cổng logic vào /ra cực đại là 64 cổng vào và 64 cổng ra
64 bộ tạo thời gian trễ (time ) trong đó có 2 time có độ phân giải 1ms , 8time có
độ phân giải 10 ms và 54 time có độ phân giải 100ms
64 bộ đếm (counter ) chia làm 2 loại bộ đếm chỉ đếm tiến và loại bộ đếm vừa đếmtiến vừa đếm lùi
368 bít nhớ đặc biệt sử dụng làm các bit trạng thái hoặc các bit đặt chế độlàm việc
Có các chế độ ngắt và xử lý tín hiệu khác nhau bao gồm ngắt truyền thôngngắt theo sờn lên hoặc xuống Ngắt theo thời gian và ngắt báo hiệu của bộ đếmtốc độ cao (2khz)
Bộ nhớ không bị mất dữ liệu trong khoảng thời gian 50 giờ khi PLC bị mấtnguồn nuôi
IO O ,QO O ,VO O, SMO.1
Tổng số cổng vào /ra cực đại là 64 cổng vào và 64 cổng ra
Có 14 ngõ vào từ IO.O IO.1 và I1.O I1.5
Có 10 ngõ ra từ QO.O IO.1 và Q1.O QI.1
Có thể gắn thêm 1 module mở rộng bao gồm cả module analog
Trang 7128 timer chia làm 3 loại theo độ phân giải khác nhau 4 timer 1ms, 16 timer 10
ms và 108 timer 100ms
Có 128 bộ đếm chia làm hai loại
+ Chỉ đếm lên CTU
+ Vừa đếm lên vừa đếm xuống CTUD
Có 688 bít nhớ đặc biệt dùng để thông báo trạng thái và đặt chế độ làm việc + SMO.O : luôn ở trạng thái 1
+ SMO.1 : bằng 1 trong vòng quét đầu tiên
Các chế độ ngắt và xử lý ngắt gồm ngắt truyền thông , ngắt theo sờn lên hoặc sờnxuống, ngắt thời gian ngắt của bộ đếm tốc độ cao và ngắt truyền xung
Có 3 bộ đếm tốc độ cao với nhịp 2khz và 7 khz
2bộ phát xung nhanh cho dãy xung kiểu:
PTO ( Pulse traisn output ) : điều tần
PWM (Pulse width modulation ) : điều rộng xung
2 bộ chỉnh tơng tự
Toàn bộ vùng nhớ không bị mất dữ liệu trong khoảng thời gian 190 giờ khi PLC
bị mất nguồn nuôi
Bộ điều khiển lập trình S7 -200 đợc chia thành 4 vùng nhớ Với 1 tụ
có nhiệm vụ duy trì dữ liệu trong thời gian nhất định khi mất nguồn bộnhớ S7 -200 có tính năng động cao ,đọc và ghi đợc trong phạm vi toànvùng loại trừ các bít đặc biệt SM (Special Memory) chỉ có thể truy nhập
để đọc
C
8
Vùng chơng trìnhVùng tham sốVùng dữ liệuVùng đối tợng
Chơng trình Tham số
Dữ liệu
Chơng trình Tham số Dữ liệu
Trang 8Hình II -1 : Bộ nhớ trong và ngoài của S7 -200
1 - Vùng ch ơng trình : Là vùng bộ nhớ chỉ đợc sử dụng để lu trữ các
lệnh chơng trình vùng này thuộc bộ nhớ trong độc và ghi đợc
2 -Vùng tham số : Là vùng lu dữ các tham số nh : từ khoá, địa chỉ trạm
cũng giống nh vùng chơng trình thuộc bộ nhớ trong đọc và ghi đợc
3 - Vùng dữ liệu : Là vùng nhớ động đợc sử dụng cất các dữ liệu của
chơng trình bao gồm các kết quả các phép tính nó đợc truy cập theo từng bit từngbyte vùng này đợc chia thành những vùng nhớ với các công dụng khác nhau.Vùng I ( Input image register) :Là vùng nhớ gồm 8byte
I (đọc /ghi ) : I.O I.7
- Vùng Q (Output image register ): Là vùng nhớ gồm 8byte
4 - Vùng đối t ợng : Là time (định thì ), counter (bộ đếm ) tốc độ cao và
các cổng vào/ ra tơng tự đợc đặt trong vùng nhớ cuối cùng vùng này không thuộckiểu non - volatile nhng đọc ghi đợc
- Timer (bộ định thì ): Đọc /ghi T0 T127
- Counter (bộ đếm ) : Đọc /ghi C0 C 127
- Bộ đệm vào analog (đọc) : AIW0 AIW30
- Bộ đệm ra analog (ghi) : AQW0 AQW30
- Accumulator (thanh ghi) : AC0 AC3
Chơng trình cho S7 -200 phải có cấu trúc bao gồm chơng trình chính(main program) sau đó đến các chơng trình con và các chơng trình xử lýngắt
- Chơng trình chính đợc kết thúc bằng lệnh kết thúc chơng trình (End)
- Chơng trinh con là một bộ phận của chơng trình Các chơng trình conphải đợc viết sau lệnh kết thúc chơng trình chính đó là lệnh (End)
Trang 9- Các chơng trình con đợc nhóm lại thành một nhóm ngay sau chơngtrình chính sau đó đến ngay các chơng trình xử lý ngắt bằng cách viết
nh vậy cấu trúc chơng trình đợc rõ ràng và thuận tiện hơn trong việc
Thực hiện khi có tín hiệu báo ngắt
Một vòng quét (Scan cycle ) đợc bắt đầu bằng việc đọc trạng tháicủa đầu vào và sau đó thực hiện chơng trình, vòng quét kết thúc bằng việcthay đổi trạng thái đầu ra Trớc khi bắt đầu một vòng quét tiếp theo S7 -200thực thi các nhiệm vụ truyền thông Chu trìng tiếp theo là chu trình lập
Giai đoạn chuyển Giai đoạn nhập dữ liệu ra ngoại vi dữ liệu từ ngoại
vi
10
Main program
End {Stop}
INT (n) { no 255 } chơng trình xử lý ngắt
Ret
SBR (n) {no 255 }
ch-ơng trình con
.Ret
Trang 10Giai đoạn truyền thông giai đoạn thực hiệnnội bộ và tự kiểm tra lỗi chơng trình
Hình IV -1 : Thực hiện chơng trình theo vòng quét
Cách lập trình cho S7 -200 dựa trên hai phơng pháp cơ bản : Phơng pháp hình thang (lader logic -viết tắt là LAD ) và phơng phápliệt kê lệnh (statement list viết tắt là STL )
- Chơng trình đợc viết theo kiểu LAD thiết bị lập trình sẽ tạo ra một
ch-ơng trình thoe kiểu STL tch-ơng ứng và ngợc lại
1 - Ph ơng pháp LAD : LAD là ngôn ngữ lập trình đồ hoạ
những thành phần cơ bản dùng trong LAD tơng ứng với các thành phần cơbản dùng để biểu diễn lệnh logic nh sau :
- Tiếp điểm : là biểu tợng (symbol) mô tả các tiếp điểm rơle cvác tiếp
điểm có thể thờng đóng , thờng mở
- Mạng LAD : là đờng nối các phần tử thành một mạch hoàn thiện , đi từ
đờng nguồn bên trái sang nguồn bên phải dòng điện chạy từ trái quatiếp điểm đến các cuộn dây hoặc các hộp trở về bên phải nguồn
2 - Ph ơng pháp liệt kê lệnh STL : Phơng pháp liệt kê (STL) là phơng
pháp thực hiện chơng trình dới dạng tập hợp các câu lệnh Mỗi câulệnh trong chơng trình kể cả những lệnh hình thức biểu diễn một chứcnăng của PLC
Để tạo một chơng trình dạng STL ngời lập trình cần phải hiểu rõ phơngpháp sử dụng của ngăn xếp logic của S7- 200 (S0 S8)
Ngăn xếp logic là một khối gồm 9 bit chồng lên nhau Tất cả các thuậttoán liên quan đến ngăn xếp , đều chỉ làm việc với bit đầu tiên hoặc với bit
đầu và bit thứ hai của ngăn xếp (S0 S1) giá trị logic mới đều có thể đợcgửi vào ngăn xếp
V.Cú pháp lệnh cơ bản trong S7 -200
1 - Lệnh vào ra : (Input/Oput)
- Load (LD) : Lệnh LD nạp giá trị của một tiếp
điểm vào trong bit đầu tiên của ngăn xếp có giá trị cũ còn lại bị đẩy lùi xuốngmột bit (nh hình V -1)
Trang 11hiệu lệnh LDN
- Load not (LDN) : lệnh LDN nạp giá trị logic ngịch đảo của mộttiếp điểm vào trong bit đầu tiên của ngăn xếp , các giá trị cũ còn lạitrong ngăn xếp bị đẩy lùi xuống một bit (hình V-2)
Các dạng lệnh khác nhau của lệnh LD , LDN cho LAD nh sau :
12
Trang 12n Tiếp điểm thờng mở sẽ đợc
LD n Lệnh nạp giá trị logic của điểm n vào bit
đầu tiên trong ngăn xếp n: I, Q, M, SM, T, C, V (bit)LDN n Lệnh nạp giá trị logic nghịch đảo của điểm
n vào bit đầu tiền trong ngăn xếpLDI n Lệnh nạp tức thời giá trị logic của điểm n
vào bit đầu tiên trong ngăn xếp n: I (bit)LDNI n Lệnh nạp tức thời giá trị logic nghịch đảo
vào điểm n vào bit đầu tiên
Trang 13Lad Mô tả Toán hạng
Cuộn dây đầu ra ở trạng thái kích thích khi có dòng điện điều khiển đi qua
N: I, Q, M, SM, T,
C, V (bit)Cuộn dây đầu ra đợc kích tức
thời khi có dòng điều khiển đi qua
= I n Lệnh = I (Immediate) sao chép tứcthời giá trị của đỉnh stack tới tiếp
điểm n đợc chỉ dẫn trong lệnh n : Q bit
2- Lệnh ghi/xoá giá trị cho tiếp điểm : Set (S) và Reset(R) lệnh dùng để
đóng ngắt các tiếp điểm gián đoạn đã đợc thiết kế trong LAD logic điều khiển
đến các cuộn dây đóng hoặc mở các tiếp điểm
Trong STL lệnh truyền trạng thái bit đầu của ngăn xếp đến các điểm thiết kếnếu bit này có giá trị bằng 1 các lệnh S và R sẽ đóng ngắt tiếp điểm một dẫycác tiếp điểm (giới hạn từ 1 255 ) Nội dung của ngăn xếp khôntg bị thay
đổi bởi các lệnh này mô tả lệnh S và R bằng LAD
14
n
n I
Trang 14S Đóng một mảng gồm n các tiếp điểm kểtừ S -bit S -bit : P, Q,
VB, AC, hằng số,
*VD
R - S bit -n Xoá một mảng gồm n bit kể từ địa chi
S bitnếu S bit lại chỉ vào timer counter thì
lệnh sẽ xoá bit đầu của timer counter
SI - S bit -n Ghi tức thời giá trị logic1 vào một
mảng gồm n bit kể từ địa S.bit S - bit : Q bit
n: IB, QB, MB,SMB, VB, AC, hằng