Cách đấu nối ngõ ra: Hình 2.7: Cách đấu ngõ ra của PLC 2.1.3 Vai trò của PLC: PLC được xem như trái tim trong một hệ thống điều khiển tự động đơn lẻ với chương trình điều khiển được ch
Trang 1TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
Trang 2LỜI CÁM ƠN
Trong suốt khóa học (2006-2011) tại Trường đại học Tôn Đức Thắng, với sự chỉ bảo tận tâm của quí thầy cô và sự hướng dẫn về mọi mặt trong học tập, nhất là trong thời gian thực hiện luận văn nên đề tài của em đã hoàn tất đúng thời gian quy định được giao Em xin chân thành gửi lời cảm ơn đến bộ môn Điều Khiển Tự Động cùng tất cả quý thầy cô trong khoa Điện-Điện Tử đã giảng dạy những kiến thức chuyên môn giúp em có kiến thức và nền tảng để hoàn thành tốt đề tài luận văn này, đồng thời em cũng xin gửi lời cảm ơn đến thầy Huỳnh Văn Kiểm
đã tận tình hướng dẫn em trong suốt quá trình làm luận văn
Trang 3ĐẠI HỌC TÔN ĐỨC THẮNG
KHOA ĐIỆN –ĐIỆN TỬ
-
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc -
Tp.HCM, ngày tháng năm 2010 PHIẾU NHẬN XÉT LUẬN VĂN TỐT NGHIỆP (Dành cho người hướng dẫn) Họ tên sinh viên :
Lớp: MSSV:
Tên đề tài:
Người hướng dẫn:
Tổng quát về bản thuyết minh và bản vẽ:
Nhận xét Luận Văn: 1 Ưu điểm:
2 Nhược điểm:
Điểm Luận văn: /10
Đề nghị : sinh viên được bảo vệ luận văn :
Bổ sung thêm để bảo vệ:
Không được bảo vệ :
Lưu ý: Gửi kèm Luận văn về VP.Khoa
trước khi bảo vệ 02 tuần
Giảng viên hướng dẫn
Trang 4TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
KHOA ĐIỆN –ĐIỆN TỬ
-
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc -
Tp.HCM, ngày tháng năm 2010 PHIẾU NHẬN XÉT LUẬN VĂN TỐT NGHIỆP (Dành cho người Phản biện) Họ tên sinh viên :
Lớp: MSSV:
Tên đề tài:
Người phản biện:
- Tổng quát về bản thuyết minh và bản vẽ:
- Nhận xét Luận Văn: 3 Ưu điểm:
4 Nhược điểm:
Điểm Luận văn: /10
Đề nghị : sinh viên được bảo vệ luận văn : Bổ sung thêm để bảo vệ: Không được bảo vệ : - Câu hỏi sinh viên phải trả lời trước Hội đồng:
Lưu ý: Gửi kèm Luận văn về VP.Khoa trước
khi bảo vệ 02 ngày
Giảng viên phản biện
Trang 5TÓM TẮT LUẬN VĂN
1 LỜI NÓI ĐẦU:
Trong thực tế ở mọi ngành sản xuất công nghiệp, mục tiệu tăng năng suất lao động được giải quyết bằng việc gia tăng mức độ tự động hóa các quá trình và thiết bị sản xuất Việc tự động hóa có thể nhằm mục đích tăng sản lượng hoặc cải thiện chất lượng và độ chính xác của sản phẩm
Tự động hóa sản xuất nhằm thay thế một phần hoặc toàn bộ các thao tac vật lý của người vận hành máy hoặc thiết bị thông qua hệ thống điều khiển Những thiết bị này có thể điều khiển quá trình sản xuất với độ tin cậy cao, ổn định mà không cần hoặc cần rất ít sự can thiệp của con người
Trong những năm gần đây, bộ điều khiển lập trình được sử dụng ngày càng rộng rãi trong công nghiệp như là một giải pháp lý tưởng cho việc tự động hóa các quá trình sản xuất
Để đi sâu vào tìm hiểu nguyên lý hoạt động và cách sử dụng của PLC thì việc thực hiện đề tài “Điều khiển hệ thống chiết rót bằng PLC” là cách tốt nhất để em áp dụng những hiểu biết và các kiến thức đã học vào thực tế
2 GIỚI THIỆU HỆ THỐNG CHIẾT RÓT:
Hệ thống chiết rót tự động hiện nay được sử dụng rất nhiều trong ngành thực phẩm, ngành dược, ngành mỹ phẩm,…Cấu tạo các máy có thể khác nhau tùy vào ứng dụng thực tế nhưng đều dựa vào nguyên tắc hoạt động như nhau Đa số các máy chiết rót hiện nay được chế tạo theo hai dạng chính là hệ thống chiết rót dạng xoay và hệ thống chiết rót dạng hàng
Ưu điểm của hệ thống chiết rót dùng PLC đạt độ chính xác cao, đáng tin
cậy,tăng năng suất sản phẩm và tiết kiệm nhiều thời gian cho nhà đầu tư
Trang 6MỤC LỤC CHƯƠNG 1: TÌM HIỂU MÔ HÌNH HỆ THỐNG CHIẾT RÓT TRONG THỰC
2.2.2 Thời gian lấy mẫu và tần số lấy mẫu T.35
2.2.4 Cấu trúc dữ liệu trong bộ A/D EM231 T.36
Trang 72.4.2 Các vật liệu để chế tạo tế bào quang dẫn T.46 2.4.3 Các tính chất cơ bản của tế bào quang dẫn T.46 2.4.4 Ứng dụng của tế bào quang dẫn T.47 2.4.5 Ứng dụng chung của cảm biến quang T.47
CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG MÔ HÌNH CHIẾT RÓT T.53
3.2 Mô tả quy trình hoạt động của mô hình T.53 3.3 Một số hình ảnh thực tế về mô hình T.53
CHƯƠNG 4: LƯU ĐỒ GIẢI THUẬT VÀ CHƯƠNG TRÌNH PLC T.59
Trang 8DANH MỤC HÌNH ẢNH
Hình 1.1: Hệ thống chiết rót dạng xoay trong thực tế T.9
Hình 1.2: Hệ thống chiết rót dạng hang trong thực tế T.10 Hình 1.3: Cấu tạo của vòi chiết theo phương pháp đo mức T.10 Hình 1.4: Sơ đồ hệ thống chiết rót theo phương pháp đo mức T.11 Hình 1.5: Sơ đồ hệ thống chiết rót theo thời gian T.11 Hình 1.6: Cấu tạo vòi rót định lượng bằng hành trình piston T.12 Hình 2.1:Các thành phần cơ bản của một bộ PLC T.13
Hình 2.8: Hình dạng bên ngoài của CPU222 T.18
Hình 2.11: Cấu trúc vòng quét của PLC T.23 Hình 2.12: Sự khác biệt giữa tín hiệu số và tín hiệu tương tự T.34 Hình 2.13: Cách lấy mẫu tín hiệu tương tự T.35 Hình 2.14: Các thông số cần quan tâm của bộ A/D T.36 Hình 2.15: Định dạng các bit dữ liệu trong module analog T.36 Hình 2.16: Bảng cấu hình các switch chọn ngõ vào T.37 Hình 2.17: Sơ đồ đấu nối ngõ vào module EM231 T.38 Hình 2.18: Mạch ngõ vào của module EM231 T.39
Hình 2.20: Kết nối các strain gage trong loadcell T.41 Hình 2.21: Mạch tương đương Thevenin của loadcell T.41
Trang 9Hình 2.29: Màn hình cảm ứng Pro-face T.49 Hình 2.30: Ứng dụng của màn hình cảm ứng T.51
Trang 10CHƯƠNG 1: TÌM HIỂU MÔ HÌNH HỆ THỐNG CHIẾT RÓT NƯỚC
TRONG THỰC TẾ
1.1 Cấu trúc cơ bản của một hệ thống chiết rót:
Nguyên lý định lượng thành phần chiết rót (thể tích,thời gian,hành trình piston,lưu lượng,đo mức,….)
Một vòi,hai vòi hay nhiều vòi
Tự động hóa (có thêm băng tải) hoặc bán tự động (máy từ hai vòi trở xuống,việc cấp phôi sẽ do con người thực hiện)
Cơ cấu chấp hành thường sử dụng cylinder khí nén và máy nén khí
Những phụ kiện mà máy chiết rót thường dùng là:sensor quang,
cylinder khí nén, máy bơm ( nếu chiết lưu lượng, khối lượng ), cân
-loadcell ( nếu chiết khối lượng ), timer, PLC, máy nén khí 1.2 Hệ thống chiết rót dạng xoay:
Hình 1.1: Hệ thống chiết rót dạng xoay trong thực tế
Trang 11Hình 1.3: Cấu tạo của vòi chiết theo phương pháp đo mức
Trang 12Hình 1.4: Sơ đồ hệ thống chiết rót theo phương pháp đo mức
1.4.2 Phương pháp chiết theo thời gian:
Thể tích của chất lỏng trong mỗi lần chiết hoặc có thể được kiểm soát bởi điều khiển lượng thời gian mà chất lỏng chảy tại tỉ lệ không thay đổi qua ống dẫn vào chai đựng
Khi áp lực đầu ra của việc bơm chất lỏng và tốc độ chảy của chất lỏng qua đường kính trong của ống dẫn không đổi được biết trước thì lúc này giá trị thời gian để xác định cụ thể một lượng chất lỏng có thể tính được
Thời gian sau khi đã tính toán sẽ được điều khiển bằng PLC hoặc vi xử
lý
Trang 131.4.3 Phương pháp định lương theo hành trình piston:
Là loại bơm định lượng mà buồng bơm có dạng xy-lanh và sự biến đổi thể tích buồng bơm được thực hiện nhờ sự chuyển dịch tịnh tiến của pistong trong lòng xi lanh
Lưu lượng của bơm có thể điều chỉnh được nhờ sự thay đổi độ dài hành trình hoặc tần số hành trình của piston
Hình 1.6: Cấu tạo vòi rót định lượng bằng hành trình piston
Trang 14CHƯƠNG 2: LÝ THUYẾT 2.1 BỘ ĐIỀU KHIỂN PLC:
2.1.1 Khái niệm:
PLC, viết tắt Programmable Logic Control,là thiết bị điều khiển logic lập trình được hay 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
2.1.2 Hệ thống điều khiển PLC điển hình:
Hình 2.1:Các thành phần cơ bản của một bộ PLC
Hệ thống PLC thông dụng có năm bộ phận cơ bản gồm: bộ xử lý, bộ nhớ, bộ ngồn, giao diện vào/ra, và thiết bị lập trình Sơ đồ hệ thống như hình trên
- Bộ xử lý: Bộ xử lý hay còn gọi là bộ xử lý trung tâm (CPU), là linh kiện chứa
bộ vi xử lý Bộ xử lý biên dịnh các tín hiệu vào và thực hiện các hoạt động điều khiển theo chương trình được lưu trong bộ nhớ của CPU, truyền các quyết định dưới dạng tín hiệu hoạt động đến các thiết bị ra Nguyên lý làm việc của bộ xử lý tiến hành theo từng bước tuần tự, đầu tiên các thông tin lưu trư trong bộ nhớ chương trình được gọi lên tuần tự và được kiểm soát bởi bộ đếm chương trình Bộ xử lý lien kết các tín hiệu
và đưa kết quả đầu ra Chu kỳ thời gian này gọi là thời gian quét (scan) Thời gian vòng quét phụ thuộc vào dung lượng của bộ nhớ, vào tốc độ của CPU Nói chung một chu kì quét như hình dưới
Trang 15Hình 2.2 Vòng quét của PLC
Sau thao tác tuần tự chương trình sẽ dẫn đến một thời gian trẽ khi bộ đếm của chương trinh đi qua một chu trình đầy đủ, sau đó bắt đầu lại từ đầu Để tránh thời gian quá trễ người ta đo thời gian quét của một chương trình dài 1 Kbyte và coi đó là chỉ tiêu để so sánh các PLC Với nhiều loại thiết bị thời gian trễ này có thể tới 20ms hoặc hơn Nếu thời gian trễ gây trở ngại cho qua trình điều khiển thì phải dùng các biện pháp đặc biệt, chẳng hạn như lắp đặt những lần gọi quan trọng trong thời gian một lần quét, hoặc là điều khiển các thông tin chuyển giao để bỏ bớt đi những lần gọi
ít quan trọng khi thời gian quét dài tới mức không thể chấp nhận được nếu các giải pháp trên không thỏa mãn thì phải dùng PLC có thời gian quét ngắn hơn
- Bộ nguồn: bộ nguồn có nhiệm vụ chuyển đổi điện áp AC thành điện áp thấp
cho bộ vi xử lý (thường là 5v) và cho các mạch điện trong các module còn lại (
thường là 24v)
- Thiết bị lập trình: được sử dụng để lập các chương trình điều khiển cần thiết,
sau đó chuyển cho PLC Thiết bị lập trình có thể là thiết bị lập trình chuyên dụng, có thể là các thiết bị cẩm tay gọn nhẹ, có thể là phần mềm được cài đặt trên máy tính cá nhân
- Bộ nhớ: Bộ nhớ là nơi lưu trữ chương trình sử dụng cho các hoạt động điều
khiển Các dạng bộ nhớ có thể là RAM, ROM, EPROM Người ta luôn chế tạo nguồi
dự phòng cho RAM để duy trì chương trình trong trường hợp mất điện nguồn, thời gian duy trì tùy thuộc vào từng PLC cụ thể Bộ nhớ cũng có thể được chế tạo thành module cho phép dễ dàng thích nghi với các chức năng điều khiển có kích cỡ khác nhau, khi cần mở rộng có thể cắm thêm
- Giao diện vào/ ra: là nơi bộ xử lý trung tâm nhận thông tin từ các thiết bị
ngoại vi và truyền thông tin đến các thiết bị bên ngoài Tín hiệu vào có thể từ các công tắc, các bộ cảm biến nhiệt độ, các tế bào quang điện… Tín hiệu ra có thể cung cấp cho các cuộn dât công tắc tơ, các rơle, các van điện từ, các động cơ nhỏ… Tín hiệu vào/ ra có thể là tín hiệu rời rạc, tín hiệu liên tục, tín hiệu logic…
Trang 16Hình 2.3: Giao diện vào ra của PLC
Mỗi điểm vào ra có một địa chỉ duy nhất được PLC sủ dụng Các kênh vào\ra
đã có các chức năng cách ly và điều hòa tín hiệu sao cho các bộ cảm biến và các bộ tác động có thể nối trực tiếp với chúng mà không cần thêm mạch điện khác Tín hiệu thường được ghép cách điện (cách ly) nhờ linh kiện quang Dải tín hiệu nhận vào cho các PLC cỡ lớn có thể là 5v, 24v, 110v, 220v Các PLC cỡ nhỏ thường chỉ nhập tín hiệu 24v
Ngõ vào của PLC:
Hình 2.4: Cấu tạo ngõ vào của PLC
Trang 17Ngõ ra của PLC:
Hình 2.5: Cấu tạo ngõ ra của PLC
Tín hiệu ra có thể là tín hiệu chuyển mạch 24v, 100mA: 110v, 1A một chiều; thậm chí 240v, 1A xoay chiều tùy loại PLC Tuy nhiên, với PLC cỡ lớn dải tín hiệu ra
có thể thay đổi bằng cách lựa chọn các module ra thích hợp
Cách đấu nối ngõ vào:
Hình 2.6: Cách đấu ngõ vào của PLC
Trang 18Cách đấu nối ngõ ra:
Hình 2.7: Cách đấu ngõ ra của PLC
2.1.3 Vai trò của PLC:
PLC được xem như trái tim trong một hệ thống điều khiển tự động đơn lẻ với chương trình điều khiển được chứa rong bộ nhớ của PLC.PLC có thể được sử dụng cho những yêu cầu điều khiển đơn giản và được lập đi lập lại theo chu kì hoặc liên kết với máy tính chủ khác hoặc máy tính chủ thông qua một kiểu hệ thống mạng truyền thông để thực hiện các quá trình xử lý phức tạp
2.1.4 Cấu trúc phần cứng:
CPU 222:
8 cổng vào và 6 cổng ra logic
Có thể mở rộng thêm 2 module kể cả module analog
2048 từ đơn (4 Kbyte) thuộc miền nhớ đọc/ghi không đổi để lưu chương trình
2048 từ đơn (4 Kbyte) thuộc miền nhớ đọc/ghi để ghi dữ liệu
256 bộ thời gian (timer) chia làm ba loại theo độ phân giải khác nhau: 4
bộ 1ms, 16 bộ 10ms, 236 bộ 100ms
256 bộ đếm chia làm ba loại: đếm tiến, đếm lùi, vừa đếm tiến vừa đếm
Trang 19 Các chế độ ngắt và xử lý ngắt gồm: ngắt truyền thông, ngắt thời
gian,ngắt theo sườn lên hoặc xuống, ngắt của bộ đếm tốc độ cao và ngắt truyền xung
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 PLC đang ở chế độ dừng Dừng chương trình đang thực hiện lại
Ix.x (đèn xanh): đèn xanh ở cổng vào chỉ định trạng thái tức thời của cổng Ix.x (x.x = 0.0 0.7) Đè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
Qx.x (đèn xanh): đèn xanh ở cổng ra chỉ định trạng thái tức thời của cổng Qx.x (x.x = 0.0 0.5) Đè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
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 Tốc độ truyền cho máy lập trình kiểu PPI là 9600 baud
Trang 20 Công tắc chọn chế độ làm việc cho PLC:
RUN cho phép PLC thực hiện chương trình trong bộ nhớ PLC S7-200 sẽ rời khỏi chế độ RUN và chuyển sang chế độ STOP nếu trong máy có sự cố, hoặc trong chương trình gặp lệnh STOP, ngay cả khi công tắc ở chế độ RUN
STOP cưỡng bức PLC dừng công việc thực hiện chương trình đang chạy và chuyển sang chế độ STOP Ở chế độ STOP PLC cho phép hiệu chỉnh lại chương trình hoặc nạp một chương trình mới
TERM cho phép máy lập trình tự quyết định một trong hai chế độ làm việc của PLC hoặc ở RUN hoặc ở STOP
Pin và nguồn nuôi bộ nhớ:
Nguồn nuôi dùng để ghi chương trình hoặc nạp một chương trình mới
Nguồn pin có thể được sử dụng để mở rộng thời gian lưu trữ cho các dữ liệu có trong bộ nhớ Nguồn pin được tự động chuyển sang trạng thái tích cực nếu như dung lượng tụ nhớ bị cạn kiệt và nó phải thay thế vào vị trí đó để dữ liệu trong bộ nhớ không bị mất đi
Cấu trúc bộ nhớ:
Bộ nhớ của S7-200 được chia làm 4 vùng với một 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ớ của S7-200 có tính năng động cao, đọc và ghi được trong toàn vùng, loại trừ phần các bit nhớ đặc biệt được kí hiệu bởi SM (Special Memory) chỉ có thể truy nhập để đọc
Trang 21Hình 2.10: Cấu trúc bộ nhớ của PLC
Vùng nhớ chương trình: là miền bộ 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 nhớ 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 nhó chương trình, vùng tham số thuộc kiểu volatile đọc/ghi được
non- Vùng dữ liệu: được sử dụng để cất các dữ liệu của chương trình bao gồm kết
quả các phép tính, hằng số được định nghĩa trong chương trình, bộ đệm truyền thông…
Vùng dữ liệu là một miền nhớ động Nó có thể được truy nhập theo từng bit, từng byte, từng từ đơn hoặc theo từng từ kép và được sử dụng làm miền lưu trữ dữ liệu cho các thuật toán,các hàm truyền thông, lập bảng, các hàm dịch chuyển, xoay vòng thanh ghi, con trỏ địa chỉ…
Ghi các dữ liệu kiểu bảng bị hạn chế rất nhiều vì các dữ liệu kiểu bảng thường chỉ được sử dụng theo những mục đích xác định
Vùng dữ liệu lại được chia ra 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 của tên tiếng anh, đặc trưng cho công dụng riêng của chúng như sau:
o V (Variable memory): lưu các kết quả trung gian khi thực hiện chương trình
o I (Input image register): là thanh ghi đệm,lưu các giá trị ngõ vào khi PLC hoạt
động
Trang 22o O (Output image register): là thanh ghi đệm, chứa các kết quả chương trình để
Địa chỉ truy nhập được quy ước với công thức:
- Truy nhập theo bit: tên miền (+) địa chỉ byte (+) (+) chỉ số bit
Ví dụ: V10.4 chỉ bit thứ 4 của byte 10 thuộc miền V
- Truy nhập theo byte: tên miền (+) B (+) địa chỉ của byte trong tên miền
Ví dụ: VB10 chỉ byte 10 thuộc miền V
- Truy nhập theo từ: tên miền (+) W (+) địa chỉ byte cao của từ trong miền
Ví dụ: VW10 chỉ từ đơn gồm 2 byte 10 và 11 thuộc miền V, trong đó byte 10
có vai trò byte cao trong từ
- Truy nhập theo từ kép: tên miền (+) D (+) địa chỉ byte cao của từ trong
miền
Ví dụ: VD10 chỉ từ kép gồm 4 byte 10, 11, 12, 13 thuộc miền V,trong đó byte
10 có vai trò byte cao và byte 13 là byte thấp trong từ kép
Tất cả các byte thuộc vùng dữ liệu đều có thể truy nhập được bằng con trỏ Con trỏ được định nghĩa trong miền V hoặc các thanh ghi AC1, AC2 và AC3 Mỗi con trỏ chỉ địa chỉ gồm 4 byte (từ kép) Quy ước sử dụng con trỏ để truy nhập như sau:
&địa chỉ byte (cao) là toán hạng lấy địa chỉ của byte, từ hoặc từ kép Ví dụ:
Trang 23- VD20 = &VW10, từ kép VD20 chứa địa chỉ byte cao (VB10) của từ đơn VW10
*con trỏ là toán hạng lấy nội dung của byte, từ hoặc từ kép mà con trỏ đang chỉ vào Ví dụ:
- *AC1 lấy nội dung của byte VB10
- *VD10 lấy nội dung của từ đơn VW10
Vùng đối tượng: timer, bộ đếm, bộ đếm tốc độ cao và các cổng vào/ra tương tự
được cất trong vùng nhớ cuối cùng Vùng này không thuộc kiểu non-volatile đọc/ghi được
Vùng đối tượng được sử dụng để lưu giữ dữ liệu cho các đối tượng lập trình như giá trị tức thời,giá trị đặt trước của bộ đếm hay timer Dữ liệu kiểu đối tượng bao gồm các thanh ghi của Timer, bộ đếm, các bộ đếm tốc độ cao, bộ đệm vào/ra tương tự và các thanh ghi Accumulator
Kiểu dữ liệu đối tượng bị hạn chế rất nhiều vì các dữ liệu kiểu đối tượng chỉ được ghi theo mục đích sử dụng đối tượng đó
Bộ đếm tốc độ cao HC0, HC3, HC4, HC5
Thực hiện 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 Mỗi vòng quét được bắt đầu bằng giai đoạn đọ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 (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
Trang 24Hình 2.11: Cấu trúc vòng quét của PLC
Như vậy,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ạng 1 và 4 do CPU quản lý Khi gặp lệnh vào/ra ngay lập tức thì 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 một cách trực tiếp với cổng vào/ra
Nếu sử dụng các chế độ ngắt, chương trình con 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ý ngắt chỉ được thực hiện trong vòng quét khi xuất hiện tín hiệu báo ngắt và có thể xảy
ra ở bất cứ điểm nào trong vòng quét
2.1.5 Cấu trúc chương trình của S7-200:
Có thể lập trình cho PLC S7-200 bằng cách sử dụng một trong các phần mềm sau:
- STEP 7 – Micro/DOS
- STEP 7 – Micro/WIN
Các 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) và và sau đó đến các chương trình con và các chương trình xử lý ngắt được chỉ ra sau đây:
- chương trình chính được kết thúc bằng lệnh kết thúc chương trình (MEND)
- Chương trình con là một bộ phận của chương trình Các chương trình con phải được viết sau lệnh kết thúc chương trình chính, đó là lệnh MEND
- Các chương trình xử lý ngắt là một bộ phận của chương trình Nếu cần sử dụng chương trình xử lý ngắt phải được viết sau lệnh kết thúc chương trình chính, đó là lệnh MEND
Trang 252.1.6 Bảng lệnh của S7-200:
3.1 Các lệnh thực hiện vô điều kiện
1 = N Giá trị bít đầu tiên trong ngăn xếp được sao chép sang
điểm n chỉ dẫn trong lệnh
2 =I N Giá trị bít đầu tiên trong ngăn xếp được sao chép trực
tiếp sang điểm n chỉ dẫn ngay khi lệnh được thực hiện
3 A N
Giá trị bít đầu tiên của ngăn xếp được thực hiện bằng phép tính AND với điểm n chỉ dẫn trong lệnh Kết quả được ghi lại vào bít đầu tiên của ngăn xếp
4 AB<= n1,n2
Thực hiện lệnh AND giữa giá trị của bít đầu tiên trongngăn xếp với giá trị 1 nếu giá trị byte n1 không lớn hơngiá trị của byte n2 Kết quả được ghi lại vào bít đầu tiêncủa ngăn xếp
5 AB= n1,n2
Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá trị 1 nếu giá trị của hai byte n1 và n2 thoả mãn n1 = n2 Kết quả được ghi lại vào bít đầu tiên của ngăn xếp
6 AB>= n1,n2
Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá trị 1 nếu giá trị của hai byte n1 và n2 thoả mãn n1 ≥ n2 Kết quả được ghi lại vào bít đầu tiên của ngăn xếp
7 AD<= n1,n2
Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá trị 1 nếu nội dung của hai từ kép (4byte) n1 và n2 thoả mãn n1 ≤ n2 Kết quả được ghi lại vào bít đầu tiên của ngăn xếp
8 AD>= n1,n2
Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá trị 1 nếu nội dung của hai từ kép (4byte) n1 và n2 thoả mãn n1 ≥ n2 Kết quả được ghi lại vào bít đầu tiên của ngăn xếp
9 A D = n1,n2
Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá trị 1 nếu nội dung của hai từ kép (4byte) n1 và n2 thoả mãn n1 = n2 Kết quả được ghi lại vào bít đầu tiên của ngăn xếp
Trang 2610 AI N
Lệnh AND được thực hiện tức thời giữa giá trị của bít đầu tiên trong ngăn xếp với điểm n được chỉ dẫn Kết quả được ghi lại vào bít đầu của ngăn xếp
11 ALD
Thực hiện lệnh AND giữa giá trị của bít đầu tiên và của bít thứ hai trong ngăn xếp Kết quả được ghi lại vào bít đầu tiên của ngăn xếp, các giá trị còn lại trong ngăn xếp được kéo lên một bít
12 AN N
Thực hiện lệnh AND giữa giá trị của bít dấu tiên trong ngăn xếp với giá trị nghịch đảo của điểm n trong chỉ dẫn Kết quả được ghi lại vào bít đầu tiên của ngăn xếp
13 ANI N
Thực hiện tức thời lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá trị nghịch đảo của điểm n trong chỉ dẫn Kết quả được ghi lại vào bít đầu tiên của ngăn xếp
18 AW= n1,n2
Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá trị 1 nếu nội dung của hai tử n1 và n2 thoả mãn n1 = n2 Kết quả được ghi lại vào bít đầu tiên
Trang 2719 AW>= n1,n2
Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá trị 1 nếu nội dung của hai từ n1 và n2 thoả mãn n1 ≥ n2 Kết quả được ghi lại vào bít đầu tiên của ngăn xếp
20 CTU Cxx,PV
Khởi động bộ đếm tiến theo sườn lên tín hiệu đầu vào Bộ đếm được đặt lại trạng thái ban đầu (Reset) nếu đầu vào R của bộ đếm được kích
21 CTDU Cxx,PV
Khởi động bộ đếm tiến theo sườn lên tín hiệu đầu vào thứ nhất và đếm lùi theo sườn lên tín hiệu thứ hai Bộ đếm được đặt lại trạng thái ban đầu (reset) nếu đầu vào R của bộ đếm được kích
22 ED Đặt giá trị logic 1 vào bít đầu tiên của ngăn xếp khi
xuất hiện sườn xuống của tín hiệu
23
EU Đặt giá trị logic 1 vào bít đầu tiên của ngăn xếp khi
xuất hiện sườn lên của tín hiệu
24
LD n Nạp giá trị logic của điểm n chỉ dẫn trong lệnh vào
bít đầu tiên của ngăn xếp
25
LDB<= n1,n2 Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội
dung hai byte n1 và n2 thoả mãn n1 ≤ n2
26
LDB= n1,n2 Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội
đung hai byte n1 và n2 thoả mãn n1 = n2
27
LDB>= n1,n2 Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội
dung hai byte n1 và n2 thoả mãn n1 ≥ n2
28
LDD= n1,n2 Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội
dung hai từ kép n1 và n2 thoả mãn n1 = n2
29
LDD>= n1,n2 Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội
dung hai từ kép n1 và n2 thoả mãn n1 ≥ n2
30
LDI n Lệnh nạp tức thời giá trị logic của tiếp điểm n chỉ
dẫn trong lệnh vào bít đầu tiên trong ngăn xếp
31
LDN n Lệnh nạp giá trị logic nghịch đảo của tiếp điểm n chỉ
dẫn trong lệnh vào bít đầu tiên trong ngăn xếp
32
LDNI n
Lệnh nạp tức thời giá trị logic nghịch đảo của tiếp điểm n chỉ dẫn trong lệnh vào bít đầu tiên trong ngăn xếp
Trang 2833
LDR<= n1,n2(5) Bít đầu tiên trong ngăn xếp nhận giá trị logic 1 nếu nội
dung hai số thực n1 và n2 thoả mãn n1 ≤ n2
34
LDR= n1,n2(5) Bít đầu tiên trong ngăn xếp nhận giá trị logic 1 nếu nội
dung hai số thực n1 và n2 thoả mãn n1 = n2
35
LDR>= n1,n2(5) Bít đầu tiên trong ngăn xếp nhận giá trị logic 1 nếu nội
dung hai số thực n1 và n2 thoả mãn n1 ≥ n2
36
LDW<=n1,n2(5) Bít đầu tiên trong ngăn xếp nhận giá trị logic 1 nếu
nội dung hai từ n1 và n2 thoả mãn n1 ≤ n2
37
LDW= n1,n2(5) Bít đầu tiên trong ngăn xếp nhận giá trị logic 1 nếu
nội dung hai từ n1 và n2 thoả mãn n1 = n2
38
LDW>=n1,n2(5) Bít đầu tiên trong ngăn xếp nhận giá trị logic 1 nếu
nội dung hai từ n1 và n2 thoả mãn n1 ≥ n2
39
LPP
Kéo nội dung của ngăn xếp lên một bít Giá trị mới của bít trên là giá trị cũ của bít dưới, độ sâu của ngăn xếp giảm đi một bít
40
LPS
Sao chép giá trị bít đầu tiên trong ngăn xếp vào bít thứ hai Nội dung còn lại của ngăn xếp bị đẩy xuống một bít
41
LRD Sao chép giá trị của bít thứ hai vào bít đầu tiên trong
ngăn xếp Giá trị còn lại của ngăn xếp giữ nguyên
42 MEND (l)(2) Kết thúc phần chương trình trong một vòng qua
43 NOT Đảo giá trị của bít đầu tiên trong ngăn xếp
44
O n
Thực hiện toán tử OR giữa bít đầu tiên của ngăn xếp với điểm n chỉ dẫn trong lệnh Kết quả được ghi vào bít đầu tiên trong ngăn xếp
45
OB<= n1, n2
Thực hiện toán tử OR giữa bít đầu tiên của ngăn xếp với giá trị logic 1 nếu nội dung hai byte n1 và n2 thoả mãn n1 ≤ n2 Kết quả được ghi vào bít đầu tiên trong ngăn xếp
46
OB= n1, n2
Thực hiện toán tử OR giữa bít đầu tiên của ngăn xếp với giá trị logic 1 nếu nội dung hai byte n1 và n2 thoả mãn n1 = n2 Kết quả được ghi vào bít đầu tiên trong ngăn xếp
Trang 2947
OB>= n1, n2
Thực hiện toán tử OR giữa bít đầu tiên của ngăn xếp với giá trị logic 1 nếu nội dung hai byte n1 và n2 thoả mãn n1 ≥ n2 Kết quả được ghi vào bít đầu tiên trong ngăn xếp
48
OD<= n1, n2
Thực hiện toán tử OR giữa bít đầu tiên của ngăn xếp với giá trị logic 1 nếu nội dung hai từ kép n1 và n2 thoả mãn n1 ≤ n2 Kết quả được ghi vào bít đầu tiên trong ngăn xếp
49
OD= n1, n2
Thực hiện toán tử OR giữa bít đầu tiên của ngăn xếp với giá trị logic 1 nếu nội dung hai từ kép n1 và n2 thoả mãn n1 = n2 Kết quả được ghi vào bít đầu tiên trong ngăn xếp
50
OD>= n1, n2 Thực hiện toán tử OR giữa bít đầu tiên của ngăn xếp
với giá trị logic 1 nếu nội dung hai từ kép n1 và n2 thoả mãn n1 ≥ n2 Kết quả được ghi vào bít đầu tiên
51
OI n
Thực hiện tức thời toán tử OR giữa bít đầu tiên của ngăn xếp với điểm n chỉ dẫn trong lệnh Kết quả được ghi vào bít đầu tiên trong ngăn xếp
52
OLD
Thực hiện toán tử OR giữa bít đầu và bít thứ hai trong ngăn xếp Kết quả được ghi vào bít đầu tiên trong ngăn xếp, các giá trị còn lại của ngăn xếp được chuyển lên một bít
53
ON n
Thực hiện toán tử OR giữa bít đầu tiên của ngăn xếp với giá trị logic nghịch đảo của điểm n chỉ dẫn trong lệnh Kết quả được ghi vào bít đầu tiên trong ngăn xếp
54
ONI n
Thực hiện tức thời toán tử OR giữa bít đầu tiên của ngăn xếp với giá trị logic nghịch đảo của điểm n chỉ dẫn trong lệnh Kết quả được ghi vào bít đầu tiên trong ngăn xếp
55
OR<= n1,n2(5)
Thực hiện toán tử OR giữa bít đầu tiên của ngăn xếp với giá trị logic 1 nếu hai số thực n1 và n2 thoả mãn n1 ≤ n2 Kết quả được ghi lại vào bít đầu trong ngăn xếp
Trang 3058
OW<= n1,n2(5)
Thực hiện toán tử OR giữa bít đầu tiên của ngăn xếp với giá trị logic 1 nếu hai từ n1 và n2 thoả mãn n1 < n2 Kết quả được ghi lại vào bít đầu trong ngăn xếp
59
OW= n1,n2(5)
Thực hiện toán tử OR giữa bít đầu liên của ngăn xếp với giá trị logic 1 nếu hai từ n1 và n2 thoả mãn n1 = n2 Kết quả được ghi lại vào bít đầu trong ngăn xếp
60
OW>= n1,n2(5)
Thực hiện toán tử OR giữa bít đầu tiên của ngăn xếp với giá trị logic 1 nếu hai từ n1 và n2 thoả mãn n1 ≥ n2 Kết quả được ghi lại vào bít đầu trong ngăn xếp
61 RETI (l)(3)(4) Lệnh thoát khỏi chương trình con và trả điều khiển
62
RET (2)(3)(4) Lệnh thoát khỏi chương trình xử lý ngắt (interrupt)
và trả điều khiển chương trình chính
Trang 31Biến đổi một sâu ký tự tử mã ASCII từ vị trí IN (kiểu byte) với độ dài LEN (kiểu byte) sang mã hexa (cơ số 16) và ghi vào mảng kể từ byte OUT
BCDI IN Biến đổi một giá trị từ mã BCD có độ dài 2 byte
sang kiểu nguyên Kết quả được ghi lại vào IN
74
BMB IN, OUT,N Sao chép một mảng gồm N byte kể từ vị trí đầu IN
(byte) vào mảng có vị trí là OUT (kiểu byte)
76 CALL n(1)(6) Gọi chương trình con được đánh nhãn n
77 CRET (l)(3)(4) Kết thúc một chương trình con và trả điều khiển về
78
CRETI (2)(3)(4) Kết thúc một chương trình xử lý ngắt và trả điều
khiển về chương trình chính
79
-D IN1, IN2 Thực hiện phép trừ hai số nguyên kiểu từ kép IN1
và IN2 Kết quả được ghi lại vào IN2
80 DECD IN Giảm giá trị của từ kép IN đi một đơn vị
81 DECO IN,
OUT
Giải mã giá trị của một byte IN sau đó gán giá trị 1 vào bít của từ OUT (2 byte) có chỉ số là IN
82 DECW IN Giảm giá trị của từ IN đi một đơn vị
83 DSIS (1) vô hiệu hoá tất cả các ngắt (interrupt)
84
DIV IN1, IN2
Chia số nguyên 16 bít, được xác định là từ thấp của IN2 (kiểu từ kép), cho IN1 kiểu lừ Kết quả được ghi lại vào từ IN2
85 DTCH EVENT Vô hiệu hoá một ngắt kiểu EVENT
86
DTR IN, OUT(5) Chuyển đổi một số nguyên 32 bít IN có dấu sang thành một số thực 32 bít OUT
87
ENCO IN,OUT
Chuyển đổi chỉ số của bít thấp nhất có giá trị logic
1 trong từ IN sang thành một số nguyên và ghi vào
Trang 3290
FILL IN, OUT,N
Đổ giá trị từ IN vào một mảng nhớ gồm N từ (N có kiểu byte) bắt đầu từ vị trí OUT (kiểu từ)
91 FND< SRC,
PATRRI NDX(5)
Xác định vị trí ô nhớ trong bảng SRC (kiểu từ), kể
từ ô cho bởi INDX (kiểu từ, = 0 nếu từ đầu bảng) mà
ở đó giá trị nhỏ hơn giá trị của PATRN (kiểu từ)
92 END<> SRC,
PATRRI, NDX(5)
Xác định vị trí ô nhớ trong bảng SRC (kiểu từ), kể
từ ô cho bởi INDX (kiểu từ, = 0 nếu từ đầu bảng)
mà ở đó giá trị khác giá trị của PATRN (kiểu từ)
93 FND= SRC,
PATRRI, NDX(5)
Xác định vị trí ô nhớ trong bảng SRC (kiểu từ), kể
từ ô cho bởi INDX (kiểu từ, = 0 nếu từ đầu bảng)
mà ở đó giá trị bằng giá trị của PATRN (kiểu từ)
94 FND> SRC,
PATRRI, NDX(5))
Xác định vị trí ô nhớ trong bảng SRC (kiểu từ), kể
từ ô cho bởi INDX (kiểu từ, = 0 nếu từ đầu bảng) mà
ở đó giá trị lớn hơn giá trị của PATRN (kiểu từ)
95 FOR INDEX
INITIAL, FINAL(1)5
Thực hiện các lệnh nằm giữa FOR và NEXT theo kiểu xoay vòng với bộ đếm số vòng INDEX (kiểu từ), bắt đầu từ vòng số INITIAL (kiểu từ) và kết thúc tại vòng FINAL (từ)
Chuyển đổi một số hệ hexa IN (kiểu byte) thành dãy
ký tự mã ASCII và ghi vào mảng byte bắt đầu bằng byte OUT với độ dài LEN (kiểu byte)
99
-I IN1, IN2 Thực hiện phép trừ hai số nguyên kiểu từ IN1 và
IN2 Kết quả được ghi lại vào IN2
100
IBCD IN Chuyển đổi giá trị nguyên là (kiểu từ) thành giá trị
BCD và ghi lại vào IN
Trang 33102 INCW IN Tăng giá trị của từ IN lên một đơn vị
103 INT N(1)(2)(4) Khai báo nhãn n cho chương trình xử lý ngắt
104
INVD IN Lấy phần bù kiểu một (đảo giá trị logic của các bít)
của một từ kép IN và ghi lại vào In
105
JMP xx Chuyển điều khiển vào ô nhớ định bằng nhãn xx
trong chương trình được khai báo bởi lệnh LBL
106 LBL xx Đặt nhãn xx trong chương trình, định hướng cho lệnh
107 LIFO TABLE,
DATA(5)
Lấy giá trị đã được cho vào bảng sau cùng ra khỏi bảng TABLE và chuyển nó đến vùng dữ liệu DATA (kiểu từ)
108 MOVB IN, OUT Sao giá trị của byte IN sang byte OUT
109 MOVD IN, OUT Sao giá trị của từ kép IN sang từ kép OUT
110 MOVR IN,
OUT(5)
Sao số thực IN sang OUT
111 MOVW IN, Sao giá trị của từ IN sang từ OUT
112
MUL IN1, IN2 Nhân hai số nguyên 16 bít IN1 với hai byte thấp của
số nguyên 32 bít IN2 sau đó ghi lại kết quả vào IN2
ORD IN1, IN2 Thực hiện toán tử OR cho hai từ kép IN1 và IN2,
sau đó ghi kết quả lại vào IN2
118
ORW IN1, IN2
Thực hiện toán tử OR cho hai từ IN1 và IN2, sau đó ghi kết quả lại vào IN2
119
PLS xx(5)
Đưa bộ phát xung nhanh đã được định nghĩa trong
bộ nhớ đặc biệt vào trạng thái tích cực Xung được đưa ra cổng Qx.x
120 R S_BíT,n Xoá một mảng gồm n bít kể từ địa chỉ S_BíT (kiểu