BỘ GIÁO DỤC VÀ ðÀO TẠO
TRƯỜNG ðẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ
LUẬN VĂN TỐT NGHIỆP ðẠI HỌC
PLC
BĂNG
Trung tâmỨNG
Học liệuDỤNG
ĐH Cần Thơ
@ TàiTRONG
liệu học tập và
nghiên cứu
CHUYỀN LÚA TẠI CÔNG TY
TNHH BỘT MÌ ðẠI PHONG
CÁN BỘ HƯỚNG DẪN
Phan Trọng Nghĩa
ðỗ Nguyễn Duy Phương
SINH VIÊN THỰC HIỆN
Nguyễn Phước Hậu (MSSV: 1041037)
Ngành Kỹ Thuật ðiện – Khóa 30
Tháng 12/2008
LỜI CẢM ƠN
Luận văn tốt nghiệp là một bước ngoặc quan trọng nhất trong giai đoạn
học tập của mỗi sinh viên. Hơn nữa đây còn là chiếc cầu nối kiểm chứng lý
thuyết và thực tế.
Sau hơn 12 tuần thực hiện, đến nay luận văn của em cũng đã cơ bản
hoàn thành. Nhân đây em xin gởi đến thầy Phan Trọng Nghóa lời cảm ơn
chân thành và lòng biết ơn sâu sắc về sự hướng dẫn chu đáo và nhiệt tình
của thầy.
Em cũng xin gởi lời cảm ơn đến tất cả quý thầy trong bộ môn Kỹ
Thuật Điện đã tạo mọi điều kiện thuận lợi để em hoàn thành luận văn này.
Em xin cảm ơn sự giúp đỡ nhiệt tình từ phía công ty TNHH Đại
Phong
và cô
ng tyĐH
TNHH
Trung tâm
Học
liệu
CầnDương
ThơQuang.
@ Tài liệu học tập và nghiên cứu
Nhân đây em cũng xin gởi lời cảm ơn đến gia đình, bạn bè đã giúp đỡ
và động viên em trong suốt quá trình làm luận văn.
Tuy nhiên trong quá trình thực hiện luận văn chắc chắn sẽ không
tránh khỏi những thiếu sót. Vì thời gian và kiến thức còn hạn chế, cũng như
sự thiếu thốn thiết bò. Từ đó em rất mong được sự đóng góp quý báu của q
thầy cô để luận văn được hoàn thiện hơn.
Em xin chân thành cảm ơn !
LỜI MỞ ðẦU
Trong thời ñại công nghiệp hóa, hiện ñại hóa ñất nước ngày nay thì nhu cầu
về sản xuất ngày càng cao và kéo theo ñó là sự ñòi hỏi về một công nghệ sản xuất
ngày càng hiện ñại mang tính tự ñộng hóa và ñộ chính xác cao. Với sự hiện diện
của những kỹ thuật tự ñộng thì những công việc ñòi hỏi nhiều thời gian và công sức
sẽ ñược thay thế bằng dây chuyền sản xuất hoàn toàn tự ñộng nhằm mang lại hiệu
quả công việc cao hơn và tốn ít nhân công hơn.
Từ những yêu cầu thự tiễn ñó ñã dẫn ñến sự ra ñời của bộ ñiều khiển khả lập
trình PLC (Programable Logic Contronler). PLC dần dần thay thế cho các hệ thống
ñiều khiển bằng tiếp ñiểm ñóng ngắt cơ khí. Việc ñiều khiển trở nên dễ dàng thuận
tiện và mang lại ñộ chính xác cao. Do ñó PLC ñược sử dụng rất nhiều ở các nước
tiên tiến và ngày nay PLC ñã phát triển mạnh mẽ và trở thành một phần không thể
thiếu trong các hệ thống ñiều khiển tự ñộng ở các nhà máy lớn.
Từ xu thế phát triển em ñã chọn ñề tài “ứng dụng PLC trong hệ thống băng
chuyến lúa tại công ty TNHH bột mì ðại Phong”.
Trung tâm Học
liệu
Cầnchính
Thơ
ðề tài
gồmĐH
các phần
sau:@ Tài liệu học tập và nghiên cứu
• Khảo sát PLC.
• Chương trình PLC ñiều khiển hệ thống băng tải và mô hình ngõ ra.
Phần I: Trình bày lý thuyết
PHẦN 1
TRÌNH BÀY LÝ THUYẾT
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
SVTH: Nguyễn Phước Hậu
MSSV: 1041037
1
Chương I: Tìm hiểu chung về PLC
CHƯƠNG I
TÌM HIỂU CHUNG VỀ PLC
1.1
Giới thiệu PLC
PLC là viết tắt của Programmable Logic Controller, là thiết bị ñiều khiển lập
trình ñược (khả trình) cho phép thực hiện linh hoạt các thuật toán ñiều khiển logic
thông qua một ngôn ngữ lập trình. Người sử dụng có thể lập trình ñể thực hiện một
loạt trình tự các sự kiện. Các sự kiện này ñược kích hoạt bởi tác nhân kích thích
(ngõ vào) tác ñộng vào PLC hoặc qua các hoạt ñộng có trễ như thời gian ñịnh thì
hay các sự kiện ñược ñếm. Một khi sự kiện ñược kích hoạt thật sự, nó bật ON hay
OFF thiết bị ñiều khiển bên ngoài ñược gọi là thiết bị vật lý. Một bộ ñiều khiển lập
trình sẽ liên tục “lặp” trong chương trình do “người sử dụng lập ra” chờ tín hiệu ở
ngõ vào và xuất tín hiệu ở ngõ ra tại các thời ñiểm ñã lập trình.
ðể khắc
phục
những
nhược
ñiểm
ñiều học
khiển tập
dùng và
dây nghiên
nối (bộ ñiều
Trung tâm Học
liệu
ĐH
Cần
Thơ
@của
Tàibộliệu
cứu
khiển bằng relay) người ta ñã chế tạo ra bộ PLC nhằm thỏa mãn các yêu cầu sau :
- Lập trình dễ dàng , ngôn ngữ lập trình dễ học.
- Gọn nhẹ, dễ dàng bảo quản , sửa chữa.
- Dung lượng bộ nhớ lớn có thể chứa ñược những chương trình phức tạp.
- Hoàn toàn tin cậy trong môi trường công nghiệp .
- Giao tiếp ñược với các thiết bị thông minh khác như: máy tính, nối mạng, các
modul mở rộng.
- Giá cả có thể cạnh tranh ñược.
Trong PLC, phần cứng CPU và chương trình là ñơn vị cơ bản cho quá trình
ñiều khiển hoặc xử lý hệ thống. Chức năng mà bộ ñiều khiển cần thực hiện sẽ ñược
xác ñịnh bởi một chương trình, chương trình này ñược nạp sẵn vào bộ nhớ của PLC,
PLC sẽ thực hiện việc ñiều khiển dựa vào chương trình này. Như vậy nếu muốn
thay ñổi hay mở rộng chức năng của quy trình công nghệ, ta chỉ cần thay ñổi
chương trình bên trong bộ nhớ của PLC. Việc thay ñổi hay mở rộng chức năng sẽ
ñược thực hiện một cách dể dàng mà không cần một sự can thiệp vật lý nào so với
các bộ dây nối hay relay.
1. 2
Cấu trúc, nguyên lý hoạt ñộng của PLC
SVTH: Nguyễn Phước Hậu
MSSV: 1041037
2
Chương I: Tìm hiểu chung về PLC
1.2.1 Cấu trúc
Tất cả các PLC ñều có thành phần chính là :
- Một bộ nhớ chương trình RAM bên trong ( có thể mở rộng thêm một số bộ
nhớ ngoài EPROM ).
- Một bộ vi xử lý có cổng giao tiếp dùng cho việc ghép nối với PLC.
- Các modul vào /ra.
ðối với các PLC lớn thường lập trình trên máy tính nhằm hỗ trợ cho việc
viết, ñọc và kiểm tra chương trình. Các ñơn vị lập trình nối với PLC qua cổng
RS232, RS422, RS458, …
1.2.2 Nguyên lý hoạt ñộng của PLC
1.2.2.1
ðơn vị xử lý trung tâm
CPU ñiều khiển các hoạt ñộng bên trong PLC. Bộ xử lý sẽ ñọc và kiểm tra
chương trình ñược chứa trong bộ nhớ, sau ñó sẽ thực hiện thứ tự từng lệnh trong
chương trình, sẽ ñóng hay ngắt các ñầu ra. Các trạng thái ngõ ra ấy ñược phát tới
các thiết bị liên kết ñể thực thi và toàn bộ các hoạt ñộng thực thi ñó ñều phụ thuộc
vào chương trình ñiều khiển ñược giữ trong bộ nhớ.
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
1.2.2.2
Bộ nhớ
PLC thường yêu cầu bộ nhớ trong các trường hợp :
• Làm bộ ñịnh thời cho các 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
và các relay.
Mỗi lệnh của chương trình có một vị trí riêng trong bộ nhớ, tất cả mọi vị trí
trong bộ nhớ ñều ñược ñánh số, những số này chính là ñịa chỉ trong bộ nhớ .
Kích thước bộ nhớ :
• Các PLC loại nhỏ có thể chứa từ 300 ÷1000 dòng lệnh tùy vào công
nghệ chế tạo .
• Các PLC loại lớn có kích thước từ 1k ÷ 16k, có khả năng chứa từ 2000
÷ 16000 dòng lệnh.
Ngoài ra còn cho phép gắn thêm bộ nhớ mở rộng như RAM, EPROM.
1.2.2.3
Các ngỏ vào ra I/O
SVTH: Nguyễn Phước Hậu
MSSV: 1041037
3
Chương I: Tìm hiểu chung về PLC
Các ñường tín hiệu từ bộ cảm biến ñược nối vào các modul ( các ñầu vào của
PLC ), các cơ cấu chấp hành ñược nối với các modul ra ( các ñầu ra của PLC ).
Hầu hết các PLC có ñiện áp hoạt ñộng bên trong là 5V, tín hiêu xử lý là
12/24 VDC hoặc 100/240 VAC.
Mỗi ñơn vị I/O có duy nhất một ñịa chỉ, các hiển thị trạng thái của các kênh
I/O ñược cung cấp bỡi các ñèn led trên PLC, ñiều này làm cho việc kiểm tra hoạt
ñộng nhập xuất trở nên dễ dàng và ñơn giản.
Bộ xử lý ñọc và xác ñịnh các trạng thái ñầu vào (ON/OFF) ñể thực hiện việc
ñóng hay ngắt mạch ở ñầu ra.
1.2.3
Các hoạt ñộng xử lý bên trong PLC
Khi một chương trình ñã ñược nạp vào bộ nhớ của PLC, các lệnh sẽ ñược
lưu trong một vùng ñịa chỉ riêng lẻ trong bộ nhớ.
Trung
PLC có bộ ñếm ñịa chỉ ở bên trong vi xử lý, vì vậy chương trình ở bên trong
bộ nhớ sẽ ñược bộ vi xử lý thực hiện một cách tuần tự từng lệnh một, từ ñầu cho
ñến cuối
Mỗi lầnThơ
thực hiện
chương
trình
từ ñầu
ñếnvà
cuốinghiên
ñược gọi cứu
là
tâm
Họcchương
liệu trình.
ĐH Cần
@ Tài
liệu
học
tập
một chu kỳ thực hiện. Thời gian thực hiện một chu kỳ tùy thuộc vào tốc ñộ xử lý
của PLC và ñộ lớn của chương trình. Một chu kỳ thực hiện bao gồm ba giai ñoạn
nối tiếp nhau :
• ðầu tiên, bộ xử lý ñọc trạng thái của tất cả ñầu vào. Phần chương trình
phục vụ công việc này có sẵn trong PLC ñược gọi là hệ ñiều hành.
• Tiếp theo, bộ xử lý sẽ ñọc và xử lý tuần tự từng lệnh một trong chương
trình. Trong ghi, ñọc và xử lý các lệnh, bộ vi xử lý sẽ ñọc tín hiệu các ñầu vào và
thực hiện các phép toán logic và kết quả sau ñó sẽ xác ñịnh trạng thái của các ñầu
ra.
• Cuối cùng, bộ vi xử lý sẽ gán các trạng thái mới cho các ñầu ra tại các
modul ñầu ra.
1.2.4
So sánh PLC với hệ thống ñiều khiển khác.
SVTH: Nguyễn Phước Hậu
MSSV: 1041037
4
Chương I: Tìm hiểu chung về PLC
ðiều khiển
Với chức năng ñược lưu trữ bằng
Tiếp xúc vật lý
Bộ nhớ khả lập trình
Quy trình cứng
Quy trình mềm
Không thay
ñổi ñược
Thay ñổi
ñược
Khả lập trình
tự do
Bộ nhớ thay
ñổi ñược
Trung tâm
liệu ĐHLiên
Cần
cứu
kết Thơ
phích @ Tài liệu
RAMhọc tập và nghiên
ROM
LiênHọc
kết cứng
cắm
Rơle, linh kiện ñiện tử, mạch
ñiện tử
EPROM
EPROM
PLC xử lý 1 bit
PLC xử lý từ ngữ
Hình 1.1: So sánh PLC với các hệ thống ñiều khiển khác
SVTH: Nguyễn Phước Hậu
MSSV: 1041037
5
Chương II: Thiết bị ñiều khiển lập trình S7-200
CHƯƠNG II
THIẾT BỊ ðIỀU KHIỂN LẬP TRÌNH S7 200
Thiết bị ñiều khiển logic khả trình PLC (Programmable Logic Control) là
thiết bị cho phép thực hiện linh hoạt các thao tác ñiều khiển số thông qua một ngôn
ngữ lập trình, thay cho việc phải 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 trong mình, PLC trở thành bộ ñiều khiển số nhỏ gọn, dễ
dàng thay ñổi thuật toán ñặc biệt dễ dàng trao ñổi thông tin với môi trường xung
quanh ( với các PLC hoặc máy tính).
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
Hình 2.1: SIMATIC S7 của Siemen
Thành phần cơ bản của S7 – 200 là khối vi xử lý CPU 212 hoặc CPU 214.
Về hình thức bên ngoài sự khác nhau của 2 loại CPU nhận biết ñược nhờ số ñầu
vào/ra và nguồn cung cấp.
- CPU 212 có 8 cổng vào và 6 cổng ra và có khả năng mở rộng thêm bằng 2
modul 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
modul mở rộng.
2.1
Cấu trúc phần cứng của CPU 214
SVTH: Nguyễn Phước Hậu
MSSV: 1041037
6
Chương II: Thiết bị ñiều khiển lập trình S7-200
S7-200 là thiết bị ñiều khiển logic khả trình loại nhỏ của hãng Siemens có
cấu trúc theo kiểu modul và có các modul mở rộng. Các modul này ñược sử dụng
cho nhiề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
xử lý CPU-214.
Hình 2.2: Cấu trúc PLC CPU 214
2.1.1 Các thông số của CPU 214
• CPU
gồm Thơ
14 ngõ@
vào Tài
và 10liệu
ngõ ra,
có khả
7 modul
Trung tâm Học
liệu- 214
ĐHbaoCần
học
tậpnăng
và thêm
nghiên
cứu
mở rộng.
• 2.048 từ ñơn (4 kbyte) thuộc miền nhớ ñọc/ghi non-volatile ñể lưu chương
trình (vùng nhớ có giao diện với EPROM).
• 2.048 từ ñơn (4 kbyte) thuộc kiểu ñọc ghi ñể lưu dữ liệu, trong ñó 512 từ
ñầu thuộc miền non-volatile.
• Tổng số ngõ vào/ra cực ñại là 64 ngõ vào và 64 ngõ ra.
• 128 timer chia làm 3 loại theo ñộ phân giải khác nhau: 4 timer 1ms, 16
timer 10ms và 108 timer 100ms.
• 128 bộ ñếm chia làm 2 loại: Chỉ ñếm tiến và vừa ñếm tiến vừa ñếm lùi.
• 688 bít nhớ ñặc biệt dùng ñể thông báo trạng thái và ñặt chế ñộ làm việc.
• Các chế ñộ xử lý ngắt gồm: ngắt truyền thông, ngắt theo sườn lên hoặc
xuống, ngắt thời gian, ngắt của bộ ñếm tốc ñộ cao và ngắt truyền xung.
• 3 bộ ñếm tốc ñộ cao với nhịp 2khz và 7 khz.
• 2 bộ phát xung nhanh cho dãy xung kiểu PTO hoặc kiểu PWM.
• 2 bộ ñiều 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ờ kể
từ khi PLC bị mất nguồn cung cấp.
SVTH: Nguyễn Phước Hậu
MSSV: 1041037
7
Chương II: Thiết bị ñiều khiển lập trình S7-200
2.1.2 Các ñèn báo trên s7-200 CPU 214
• SF (ñèn ñỏ): ñèn ñỏ SF báo hiệu hệ thống bị hỏng.
• Run (ñèn xanh): ñèn xanh run chỉ ñịnh PLC ñang ở chế ñộ làm việc và
thực hiện chương trình ñược nạp vào trong máy.
• Stop (ñèn vàng): ñèn vàng stop chỉ ñịnh rằng PLC ñang ở chế ñộ dừng
chương trình và ñang thực hiện lại.
• Ix.x (ñèn xanh): ñèn xanh ở cổng vào báo hiệu trạng thái tức thời của
cổng. ðèn này báo hiệu trạng thái của tín hiệu theo giá trị logic của công
tắc.
• Qx.x (ñèn xanh): ñèn xanh ở cổng ra báo hiệu trạng thái tức thời của cổng.
ðèn này báo hiệu trạng thái của tín hiệu theo giá trị logic của cổng.
2.1.3 Chế ñộ làm việc
PLC có 3 chế ñộ làm việc:
• Run: cho phép PLC thực hiện chương trình từng bộ nhớ, PLC sẽ chuyển
từ run sang stop nếu trong máy có sự cố hoặc trong chương trình gặp lệnh
stop.
Trung tâm Học
liệucưỡng
ĐH bức
Cần
Thơ
Tài trình
liệuñang
họcchạy
tậpvàvà
nghiên
cứu
• Stop:
PLC
dừng@
chương
chuyển
sang chế
ñộ stop.
• Term: cho phép máy lập trình tự quyết ñịnh chế ñộ hoạt ñộng cho PLC
hoặc run hoặc stop.
2.1.4 Cổng truyền thông
S7-200 sử dụng cổng truyền thông nối tiếp RS485 với phích nối 9 chân ñể
phục vụ cho việc ghép nối với thiết bị lập trình hoặc với các trạm PLC khác.
Ghép nối S7-200 với máy tính PC qua cổng RS232 cần có cáp nối PC/PPI
với bộ chuyển ñổi RS232/RS485.
SVTH: Nguyễn Phước Hậu
MSSV: 1041037
8
Chương II: Thiết bị ñiều khiển lập trình S7-200
chân
5
3
4
2
1
9
8
7
6
1
2
3
4
5
6
7
8
9
giải thích
ðất
24 VDC
Truyền và nhận dữ liệu
Không sử dụng
ðất
5 VDC (ñiện trở trong 100Ω)
24 VDC (120 mA tối ña)
Truyền và nhận dữ liệu
Không sử dụng
Hình 2.3: Cổng truyền thông
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
Hình 2.4: Sơ ñồ kết nối truyền thông cho PLC S7-200
2.1.5 Cáp truyền thông cho PLC S7-200
Do PLC thông qua liên kết RS485 nhưng máy tính chỉ có RS232 nên phải
dùng cáp chuyển ñổi. Quá trình chuyển ñổi ñược thực hiện qua các bước:
- ðặt tốc ñộ truyền cho cáp PC/PCI, có hai tốc ñộ truyền là 9600 baud và
19200 baud
SVTH: Nguyễn Phước Hậu
MSSV: 1041037
9
Chương II: Thiết bị ñiều khiển lập trình S7-200
- Nối ñầu cáp phía PC (RS232) vào cổng COM1 hoặc COM2 của máy tính.
- Nối ñầu còn lại của cáp PC/PCI (RS485) vào cổng giao tiếp của CPU S7200.
2.2
Cấu trúc bộ nhớ
Bộ nhớ S7-200 ñược chia thành 4 vùng với 1 tụ có nhiệm vụ duy trì dữ liệu
trong một khoảng thời gian nhất ñịnh khi mất nguồn. Bộ nhớ S7-200 có tính năng
ñộng cao, ñọc, ghi ñược trong toàn vùng, loại trừ các bit nhớ ñặc biệt SM (special
memory) chỉ có thể truy nhập ñể ñọc.
Chương trình
Chương trình
Chương trình
Tham số
Tham số
Tham số
Dữ liệu
Dữ liệu
Dữ liệu
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
Vùng ñối tượng
EPROM
Miền nhớ ngoài
Hình 2.5: Cấu trúc bộ nhớ bên trong và ngoài của S7-200
• Vùng chương trình
Là nguồn nhớ ñược sử dụng ñể lưu giữ các lệnh chương trình. Vùng này
thuộc kiểu non-volatile ñọc / ghi ñược.
• Vùng tham số
Là miền lưu giữ các tham số như: từ khóa, ñịa chỉ trạm… . Cũng giống như
vùng chương trình, thuộc kiểu non-volatile ñọc / ghi ñược.
• Vùng dữ liệu
Là miền nhớ ñộng ñược sử dụng ñể cất giữ các dữ liệu của chương trình. Nó
có thể ñược truy cập theo từng bít, từng byte, từng từ ñơn (w-word) hoặc theo từ
SVTH: Nguyễn Phước Hậu
MSSV: 1041037
10
Chương II: Thiết bị ñiều khiển lập trình S7-200
kép (dw_ double word), vùng dữ liệu ñược chia thành những miền nhớ nhỏ với các
công dụng khác nhau. Chúng ñược ký hiệu bằng chữ cái ñầu theo từ tiếng anh, ñặc
trưng cho công dụng riêng của chúng như sau:
V : Variable memory.
I : Input image register.
O : Output image regiter.
M : Internal memory bits.
SM : Special memory bits.
Tất cả các miền này ñều có thể truy nhập theo từng bít, từng byte, từng từ
(word) hoặc từ kép (double word).
• Vùng ñối tượng
Bao gồm các thanh ghi timer, bộ ñếm tốc ñộ cao, bộ ñệm vào ra, thanh ghi
AC. Vùng này không thuộc kiểu non-volatile nên ñọc/ghi ñược .
2.3
Mở rộng cổng vào ra
CPU 214 cho phép mở rộng nhiều nhất 7 modul (bao gồm modul số và modul
Trung tâm
Học
liệu
Cần
Thơ
TàiPLC
liệu
học
cứu
tương
tự). Có
thểĐH
mở rộng
cổng
vào,@
ra của
bằng
cáchtập
ghépvà
nốinghiên
thêm vào nó
các modul mở rộng về phía bên phải của CPU, làm thành một móc xích. ðịa chỉ của
các vị trí của các modul ñược xác ñịnh cùng kiểu. Ví dụ như một modul cổng ra
không thể gán ñịa chỉ của một modul cổng vào, cũng như một modul tương tự
không thể có ñịa chỉ như một modul số và ngược lại.
Các modul mở rộng số hay tương tự ñều chiếm chổ trong bộ ñệm, tương tự
với số ñầu vào/ra của modul .
PLC
Modul kết nối
Caple kết nối
Hình 2.6: Kết nối modul với PLC
SVTH: Nguyễn Phước Hậu
MSSV: 1041037
11
Chương II: Thiết bị ñiều khiển lập trình S7-200
Sau ñây là ñịa chỉ của một số modul mở rộng trên CPU 214
CPU 214
Trung
Modul 0
4vào/4a
I0.0 Q0.0
I0.1 Q0.1
I0.2 Q0.2
I0.3 Q0.3
I0.4 Q0.4
I0.5 Q0.5
I0.6 Q0.6
I0.7 Q0.7
I1.0 Q1.0
I1.1 Q1.1
I1.2
I1.3 Học liệu
tâm
I1.4
I1.5
Modul 1 8
vào
I2.0
I2.1
I2.2
I2.3
Q2.0
Q2.1
Q2.2
Q2.3
Modul 2
3vào/1a
analog
I3.0
I3.1
I3.2
I3.3
I3.4
I3.5
I3.6
I3.7
AIW 0
AIW 2
AIW 4
AQW 0
Modul 3
8 ra
Modul 4
3vào/1ra
Q3.0
Q3.1
Q3.2
Q3.3
Q3.4
Q3.5
Q3.6
Q3.7
AIW8
AIW12
AQW 4
ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
Bảng 2.1: ðịa chỉ của một số modul mở rộng trên CPU 214
2.4
Cấu trúc chương trình của S7-200
Có thể ñược lập trình cho PLC S7-200 bằng cách sử dụng một trong các phần
mềm :
Step 7 – micro / dos
Step 7 – micro / win
2.4.1 Thực hiện chương trình của S7-200
PLC thực hiện chương trình theo chu kỳ lặp. Mỗi vòng lặp ñược gọi là vòng
quét (scan). Mỗi vòng quét ñược bắt ñầu bằng giai ñoạn ñọc các dữ liệu từ các cổng
vào vùng bộ ñệm ảo, 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 ñược thực hiện bằng lệnh ñầu tiên và kết thúc tại lệnh kết thúc
SVTH: Nguyễn Phước Hậu
MSSV: 1041037
12
Chương II: Thiết bị ñiều khiển lập trình S7-200
MEND. Sau giai ñoạn thực hiện chương trình là giai ñoạn truyền thông nội bộ và
kiểm lỗi. Vòng quét ñược kết thúc bằng giai ñoạn chuyển các nội dung của bộ ñệm
ảo tới các cổng ra.
4. Chuyển dữ liệu từ bộ
ñệm ảo ra ngoại vi
1. Nhập dữ liệu từ
ngoại vi vào
2.Thực hiện
chương trình
. 3. Truyền thông và
tự kiểm tra lỗi
Hình 2.7: Vòng quét trong S7-200
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 này trực tiếp với cổng vào và ra.
Trung
Nếu sử dụng các chế ñộ ngắt chương trình tương ứng với từng tín hiệu ngắt
ñược soạn thảo và cài ñặt như một bộ phận của chương trình. Chương trình xử lý
tâm
liệu
ĐH
@ Tài
liệu
học
tậpbáo
vàngắt
nghiên
cứu
ngắt Học
chỉ ñược
thực
hiệnCần
trong Thơ
vòng quét
khi xuất
hiện
tín hiệu
và có thể
xảy ra ở bất cứ ñiểm nào trong vòng quét.
2.4.2 Các toán hạng lập trình cơ bản
• I : dùng ñể chỉ ngõ vào vật lý nối trực tiếp vào PLC.
• Q : dùng ñể chỉ ngõ ra vật lý nối trực tiếp từ PLC.
• T : dùng ñể xác ñịnh phần tử ñịnh thời có trong PLC.
• C : dùng ñể xác ñịnh phần tử ñếm có trong PLC.
• M và S : dùng như các cờ hoạt ñộng như bên trong PLC.
Tất cả các phần tử (toán hạng) trên có hai trạng thái ON hoặc OFF (1 hoặc 0).
2.5
Ngôn ngữ lập trình của S7-200 CPU 214
2.5.1 Phương pháp lập trình
SVTH: Nguyễn Phước Hậu
MSSV: 1041037
13
Chương II: Thiết bị ñiều khiển lập trình S7-200
S7-200 biểu diễn một mạch logic cứng bằng một dãy các lệnh lập trình.
Chương trình bao gồm một dãy các tập lệnh. S7-200 thực hiện chương trình bắt
ñầu từ lệnh lập trình ñầu tiên và kết thúc ở lập trình cuối trong một vòng quét.
Cách lập trình cho S7-200 nói riêng và cho các PLC nói chung dựa trên ba
phương pháp cơ bản.
- Phương pháp hình thang (ladder, viết tắt là LAD).
- Phương pháp liệt kê lệnh (statement list, viết tắt là STL).
- Phương pháp lập trình theo biểu ñồ khối FBD (Function block diagram):
Nếu có một chương trình viết dưới dạng LAD, thiết bị lập trình sẽ tự ñộng
tạo ra một chương trình theo dạng STL tương ứng. Ngược lại không phải mọi
chương trình viết dưới dạng STL ñều có thể chuyển sang ñược dạng LAD.
Phương pháp hình thang (LAD): LAD là một ngôn ngữ lập trình bằng ñồ
họa, 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ủa
bảng ñiều khiển bằng rơle. Trong chương trình LAD, các phần tử cơ bản dùng ñể
biểu diễn lệnh logic như sau:
• Tiếp ñiểm: Là biểu tượng mô tả các tiếp ñiểm của rơle.
Tiếp ñiểm thường mở:
Tiếp ñiểm thường ñóng:
Trung tâm•Học
liệu ĐH Cần Thơmô@tả Tài
liệu học tập và nghiên cứu
Cuộn dây (coil): ( )
rơle ñược mắc theo chiều dòng ñiện cung
cấp cho rơ le.
• Hộp (box): Là biểu tượng mô tả các hàm khác nhau, nó làm việc khi có dòng
ñiện chạy ñến hộp. Những dạng hàm thường ñược biểu diễn bằng hộp là các bộ thời
gian (timer), bộ ñếm (counter) và các hàm toán học.
Ví dụ:
Hình 2.8: Ví dụ phương pháp lập trình LAD
• Phương pháp liệt kê lệnh (STL): Là phương pháp thể hiện chương trình
dưới dạng tập hợp các câu lệnh. Mỗi câu lệnh trong chương trình, kể cả những lệnh
hình thức biểu diễn một chức năng của PLC.
SVTH: Nguyễn Phước Hậu
MSSV: 1041037
14
Chương II: Thiết bị ñiều khiển lập trình S7-200
Ví dụ:
LD
A
LDN
A
OLD
=
I0.0
I0.1
I0.2
I0.3
Q0.0
ðể tạo ra một chương trình dạng STL, người lập trình cần phải hiểu rõ
phương thức sử dụng 9 bit ngăn xếp logic của CPU S7-200. Ngăn xếp là một khối 9
bit chồng lên nhau, tất cả các thuật toá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 thứ 2 của ngăn xếp. Giá trị logic mới ñều có thể ñược gửi
(hoặc có thể ñược nối thêm ) vào ngăn xếp khi có yêu cầu phối hợp hai bit ñầu của
ngăn xếp thì ngăn xếp sẽ ñược kéo lên một bit.
S0
Stack 0: bit ñầu tiên hay bit trên cùng của ngăn xếp
S1
Stack 1: bit thứ hai của năn xếp
S2
bit thứ ba của ngăn xếp
Trung tâm Học
liệu Stack
ĐH 2:
Cần
Thơ @ Tài liệu học tập và nghiên cứu
S3
Stack 3: bit thứ tư của ngăn xếp
S4
Stack 4: bit thứ năm của ngăn xếp
S5
Stack 5: bit thứ sáu của ngăn xếp
S6
Stack 6: bit thứ bảy của ngăn xếp
S7
Stack 7: bit thứ bảy của ngăn xếp
S8
Stack 9: bit thứ tám của ngăn xếp
Hình 2.9: Cấu trúc của một ngăn xếp
• Phương pháp lập trình theo biểu ñồ khối FBD:
STEP7 Micro/Win32 cho phép tạo ra các lệnh như các hộp logic giống với
các biểu ñồ cổng chung. Trong FBD không có tiếp ñiểm và cuộn dây như của dạng
LAD, nhưng có các lệnh tương ñương xuất phát như các hộp lệnh. Logic của
chương trình nhận ñược từ sự liên kết giữa các hộp lệnh.
SVTH: Nguyễn Phước Hậu
MSSV: 1041037
15
Chương II: Thiết bị ñiều khiển lập trình S7-200
Ví dụ:
Hình 2.10: Ví dụ phương pháp lập trình FBD
2.5.2 Các toán hạng và giới hạn cho phép của CPU 214
Phương pháp truy nhập
Truy nhập bit (ñịa chỉ byte,
chỉ số bit)
Giới hạn cho phép của các toán hạng
V ( 0.0 ÷ 4095.7)
I (0.0 ÷ 7.7)
Q ( 0.0 ÷7.7)
M ( 0.0 ÷31.7)
÷85.7)
Trung tâm Học liệu ĐH Cần Thơ @ SM
Tài( 0.0
liệu
học tập và nghiên cứu
Truy nhập bit
T
(0 ÷127)
C
(0 ÷127)
VB
(0 ÷4.095)
IB
(0 ÷7)
MB
(0 ÷31).
SMB (0 ÷85)
AC (0 ÷3)
hằng số
Truy nhập từ ñơn
VW (0 ÷4094)
T
(0 ÷127)
C
(0 ÷127)
IW
(0 ÷6)
QW (0 ÷6)
MW (0 ÷30)
SMW (0 ÷84)
AC
SVTH: Nguyễn Phước Hậu
MSSV: 1041037
(0 ÷3)
16
Chương II: Thiết bị ñiều khiển lập trình S7-200
AIW (0 ÷30)
AQW (0 ÷30)
hằng số
Truy nhập từ kép
VD (0 ÷4092)
ID
(0 ÷ 4)
QD
(0 ÷ 4)
MD (0 ÷ 28)
SMD (0 ÷ 82)
AC
(0 ÷ 3)
HC (0 ÷ 2)
hằng số.
Bảng 2.2: Các toán hạng và giới hạn cho phép của CPU 214
2.6
Một số lệnh cơ bản dùng trong lập trình
2.6.1 Các lệnh vào, ra
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
• Lệnh LD, LDN trong LAD như sau:
LAD
Mô tả
N
Tiếp ñiểm thường mở sẽ ñược
ñóng nếu n = 1.
LDN N
Tiếp ñiểm thường ñóng sẽ mở
khi n = 1.
LDI
Tiếp ñiểm thường mở sẽ ñóng
tức thời khi n = 1
LD
N
LDNI N
Tiếp ñiểm thường ñóng sẽ mở
tức thời khi n = 1
Toán hạng
N: I, Q, M, SM, T, C, V
N: I
Bảng 2.3: Mô tả lệnh LD, LDN trong LAD
SVTH: Nguyễn Phước Hậu
MSSV: 1041037
17
Chương II: Thiết bị ñiều khiển lập trình S7-200
• Lệnh Output
LAD
Mô tả
Cuộn dây ñầu ra ở trạng N: I, Q, M, SM, T, C, V
thái kích thích khi có dòng (bít)
ñiều khiển ñi qua.
n
( )
n
(
Toán hạng
)
Cuộn dây ñầu ra ñược kích N: Q (bít)
thích tức thời khi có dòng
ñiều khiển ñi qua.
Bảng 2.4: Mô tả lệnh Output bằng LAD
2.6.2 Lệnh ghi/xóa giá trị cho tiếp ñiểm
• Set (S) và Reset (R):
Trung
Lệnh dùng ñể ñóng và ngắt các ñiểm gián ñoạn ñã ñược thiết kế. Trong LAD,
lệnh ñiều khiển dòng ñiện ñóng hoặc ngắt các cuộn dây ñầu ra. Khi dòng ñiều khiển
tâm
Học
liệu
Cần
@ hoặc
Tài mở
liệu
tập (hoặc
và nghiên
cứu
ñến các
cuộc
dây ĐH
thì các
cuộnThơ
dây ñóng
cáchọc
tiếp ñiểm
một dãy các
tiếp ñiểm).
LAD
N
(S)
N
(R)
N
( SI )
Mô tả
Toán hạng
ðóng một mảng gồm N các S bit: I, Q, M, SM, T, C,
tiếp ñiểm kể từ S bit.
V
N (byte): IB, QB, MB,
SMB, VB,AC, hằng số,
ðóng một mảng gồm n các
*VD, *AC
tiếp ñiểm kể từ S bit. Nếu S
bit lại chỉ vào timer hoặc
counter thì lệnh sẽ xóa bít ñầu
ra của timer / counter ñó.
ðóng tức thời một mảng gồm S bit: Q
N các tiếp ñiểm kể từ S bit.
N (byte): IB, QB, MB,
SMB, VB,AC, hằng số,
SVTH: Nguyễn Phước Hậu
MSSV: 1041037
18
Chương II: Thiết bị ñiều khiển lập trình S7-200
Ngắt tức thời một mảng gồm *VD, *AC
N các tiếp ñiểm kể từ ñịa chỉ
S bit.
N
( RI )
Bảng 2.5: Mô tả bằng lệnh Set và Reset trong LAD
2.6.3 Các lệnh tiếp ñiểm ñặc biệt:
Có thể dùng các lệnh tiếp ñiểm ñặc biệt ñể phát hiện sự chuyển tiếp trạng
thái của xung (sườn xung) và ñảo lại trạng thái của dòng cung cấp (giá trị của ñỉnh
ngăn xếp). LAD sử dụng các tiếp ñiểm ñặc biệt ñể tác ñộng vào dòng cung cấp. Các
tiếp ñiểm ñặc biệt không có toán hạng riêng của chính chúng và vì thế phải ñặt
chúng vào vị trí phía trước của cuộn dây hoặc hộp ñầu ra. Tiếp ñiểm chuyển tiếp
dương/âm có nhu cầu về bộ nhớ, nên ñối với CPU 214 là 256 lệnh.
LAD
Mô tả
Toán hạng
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
NOT
P
N
Tiếp ñiểm ñảo trạng thái của dòng
cung cấp. Nếu dòng cung cấp có tiếp
ñiểm ñảo thì nó bị ngắt mạch, nếu
không có tiếp ñiểm ñảo thì nó thông
mạch.
Không có
Tiếp ñiểm chuyển ñổi dương cho phép
dòng cung cấp thông mạch trong một
vòng quét khi sườn xung ñiều khiển
chuyển từ 0 lên 1
Không có
Tiếp ñiểm chuyển ñổi âm cho phép
dòng cung cấp thông mạch trong một
vòng quét khi sườn xung ñiều khiển
chuyển từ 1 xuống 0.
Không có
Bảng 2.6: Mô tả lệnh các lệnh tiếp ñiểm ñặc biệt
2.6.4 Các lệnh so sánh
SVTH: Nguyễn Phước Hậu
MSSV: 1041037
19
Chương II: Thiết bị ñiều khiển lập trình S7-200
Khi lập trình, nếu có các quyết ñịnh về ñiều khiển ñược thực hiện dựa trên
kết quả của việc so sánh thì có thể sử dụng lệnh so sánh cho byte, từ hay từ kép của
S7-200.
LAD sử dụng lệnh so sánh ñể so sánh các giá trị của byte, từ và từ kép (giá trị
thực hoặc nguyên). Những lệnh so sánh thường là so sánh nhỏ hơn hoặc bằng (<=);
so sánh bằng (=) và so sánh lớn hơn hoặc bằng (> =).
Khi so sánh giá trị của byte thì không cần phải ñể ý ñến dấu của toán hạng.
Ngược lại khi so sánh các từ hoặc từ kép với nhau thì phải ñể ý ñến dấu của toán
hạng, ngược lại khi so sánh các từ hoặc từ kép với nhau thì phải ñể ý ñến dấu của
toán hạng là bít cao nhất trong từ hoặc từ kép.
LAD
n1
n1
n1
==B
n2
n2
==I
==D
n2
Trung tâm Học liệu ĐH Cần
n1
==R
n1
n2
>=I
n1
n1
Tiếp ñiểm ñóng khi
n1 = n2
B = byte
I = integer
D = double integer
Thơ
R = real@ Tài liệu
Toán hạng
n1, n2 (byte) : VB ,
IB , QB, MB, SMB ,
AC , CONST , *VD*,
AC
học tập và nghiên cứu
n2
>=B
n1
Mô tả
n2
>=D
>=R
Tiếp ñiểm ñóng khi
n1 > n2
B = byte
I = integer
D = double integer
R = real
n1, n2 (từ): VW, T, C,
IW,
QW,
MW,
SMW,AC, AIW,
Hằng số, *VD, *AC
n2
n2
SVTH: Nguyễn Phước Hậu
MSSV: 1041037
20
Chương II: Thiết bị ñiều khiển lập trình S7-200
n1
<=B
n1
n2
n2
<=I
n1
n1
<=D
<=R
n2
Tiếp ñiểm ñóng khi
n1 < n2
B = byte
I = integer
D = double integer
R = real
n1, n2(từ kép):VD,
ID, QD, MD, SMD,
AC, HC, hằng số,
*VD, *AC
n2
Bảng 2.7: Biểu diễn các lệnh so sánh trong LAD:
2.6.5 Lệnh nhảy và lệnh gọi chương trình con:
Trung
Các lệnh của chương trình, nếu không có những lệnh ñiều khiển riêng thì sẽ
ñược thực hiện theo thứ tự từ trên xuống dưới trong một vòng quét. Lệnh ñiều khiển
chương trình cho phép thay ñổi thứ tự thực hiện lệnh. Chúng cho phép chuyển thứ
tâm
Học
liệu
Thơ
@ Tài
họclệnh
tập
nghiên
cứu
tự thực
hiện,
ñángĐH
lẽ raCần
là lệnh
tiếp theo
nhưngliệu
tới một
bấtvà
cứ nào
khác của
chương trình, trong ñó nơi ñiều khiển chuyển ñến phải ñược ñánh dấu trước bằng
một nhãn chỉ ñích thuộc nhóm lệnh ñiều khiển chương trình gồm: lệnh nhảy, lệnh
gọi chương trình con, nhãn chỉ ñích, hay gọi ñơn giản là nhãn, phải ñược ñánh dấu
trước khi thực hiện lệnh nhảy hay lệnh gọi chương trình con.
Việc ñặt nhãn cho lệnh nhảy phải nằm trong chương trình. Nhãn của chương
trình con, hoặc của chương trình xử lý ngắt ñược khai báo ở ñầu chương trình.
Không thể dùng lệnh nhảy JMP ñể chuyển ñiều khiển từ chương trình chính vào
một nhãn bất kỳ trong chương trình con hoặc trong chương trình xử lý ngắt. Tương
tự như vậy cũng không thể từ một chương trình con hay chương trình xử lý ngắt
nhảy vào bất cứ một nhãn nào nằm ngoài các chương trình ñó.
Lệnh gọi chương trình con là lệnh chuyển ñiều khiển ñến chương trình con.
Khi chương trình con thực hiện xong các phép tính của mình thì việc ñiều khiển lại
ñược chuyển trở về lệnh tiếp theo trong chương trình chính nằm ngay sau lệnh gọi
chương trình con. Từ một chương trình con có thể gọi ñược một chương trình con
khác trong nó, có thể gọi như vậy nhiều nhất là 8 lần trong S7-200. Nói chung
(trong một chương trình con có lệnh gọi ñến chính nó) về nguyên tắc không bị cấm
song phải ñể ý ñến giới hạn trên.
SVTH: Nguyễn Phước Hậu
MSSV: 1041037
21
Chương II: Thiết bị ñiều khiển lập trình S7-200
Lệnh nhảy JMP và lệnh gọi chương trình con SBR cho phép chuyển ñiều
khiển từ vị trí này ñến vị trí khác trong chương trình. Cú pháp của lệnh nhảy và lệnh
gọi chương trình con trong LAD và STL ñều có toán hạng là nhãn chỉ ñích (nơi
nhảy ñến, nơi chứa chương trình con).
Lệnh nhảy, lệnh gọi chương trình con, lệnh khai báo nhãn và lệnh thoát khỏi
chương trình con ñược biểu diễn trong LAD:
LAD
Mô tả
n
( JMP )
Lệnh nhảy thực hiện việc
chuyển ñiều khiển ñến nhãn n
trong một chương trình.
LBL:n
Lệnh khai báo nhãn n trong
một chương trình.
n
( CALL )
Lệnh gọi chương trình con,
thực hiện phép chuyển ñiều
khiển ñến chương trình con
có nhãn là n.
SBR:n
Lệnh gán nhãn n cho một
chương trình con.
n
( CRET )
Lệnh trở về chương trình ñã
gọi chương trình con có ñiều
kiện (bít ñầu tiên của ngăn
xếp có giá trị logic bằng 1).
Toán hạng
n: 0 ÷ 255
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
n
( RET )
n: 0 ÷ 255
Không có
Lệnh trở về chương trình ñã
gọi chương trình con không
ñiều kiện.
Bảng 2.8: Mô tả lệnh nhảy và lệnh gọi chương trình con
2.6.6 Các lệnh can thiệp vào thời gian vòng quét:
Lệnh MEND, END, STOP, NOP, WDR.
SVTH: Nguyễn Phước Hậu
MSSV: 1041037
22