Đồ án Tìm hiểu bộ đếm xung tốc độ cao (HSC) trong PLC S7-300 - Phạm Văn Thuận

MỤC LỤC

PHẦN I: DẨN NHẬP

I. Tính cần thiết của đề tài .4

II. Mục tiêu và nhiệm vụ .5

III. Phạm vi nghiên cứu 5

IV. Nội dung nghiên cứu .5

PHẦN II: CƠ SỞ LÝ THUYẾT

I. Giới thiệu về PLC S7-300 .6

1. PLC là gì .6

2. Giới thiệu sơ lược về các dòng sản phẩm của Siemen 7

II. Giới thiệu các module trong s7-300 .9

1. Các loại CPU . 9

2. Các module tích hơp xung . 11

III. Cấu trúc chương trình . .13

IV. Quy trình thiết kế chương trình PLC 15

V. Giới thiệu một số hàm đọc xung tốc độ cao cơ bản .16

PHẦN III: NỘI DUNG

I. Giới thiệu về Hight Speed Counter . .21

1. Thế nào là Hight Speed Counter .21

2. Ứng dụng của Hight Speed Counter .22

3. Vấn đề đọc xung tốc độ cao .23

4. Các chế độ đếm .24

II. Cách thiết đặt cấu hình cho một chương trình trong S7-300 30

III. Chương trình ví dụ khởi tạo hàm đọc xung SFB47 .34

PHẦN IV: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .40

 TÀI LIỆU THAM KHẢO .41

 

docx41 trang | Chia sẻ: hienduc166 | Lượt xem: 2960 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đồ án Tìm hiểu bộ đếm xung tốc độ cao (HSC) trong PLC S7-300 - Phạm Văn Thuận, để xem tài liệu hoàn chỉnh bạn click vào nút TẢI VỀ ở trên
hái ngược hướng. Địa chỉ hiển thị định hướng đếm. Giá trị của STS_C_DN là FALSE sau lần đầu gọi SFB.
True/False
False
STS_C_UP
Output
Bool
12.5
Trạng thái thuận. Giá trị của STS_C_DN là TRUE sau lần đầu gọi SFB.
True/False
False
COUNTVAL
Output
Dint
14
Giá trị đếm tại thời điểm hiện tại
-231up to+231-1
0
LATCHVAL
Output
Dint
18
Giá trị chốt tại thời điểm hiển tại
-231up to+231-1
0
JOB_DONE
Output
Bool
22.0
Có sự kiện mới bắt đầu
True/False
False
JOB_ERR
Output
Bool
22.1
Trạng thái lỗi
True/False
False
JOB_STAT
Output
Word
24
Giá trị lỗi
0 to FFFF hex
0
STS_CMP
Static
Bool
26.3
Trạng thái so sánh
True/False
False
STS_OFLW
Static
Bool
26.5
Trạng thái tràn trên
True/False
False
STS_UFLW
Static
Bool
26.6
Trạng thái tràn dưới
True/False 
False 
STS_ZP
Static
Bool
26.7
Trạng thái zero
True/False
False 
JOB_OVAL
Static
Dint
28
Giá trị đếm ngõ ra
-231up to+231-1
0
RES_STS
Static
Bool
32.2
Bit reset lỗi
Thiết lập lại tình trạng bits
Reset các bit trạng thái STS_CMP, STS_OFLW, STS_UFLW and STS_ZP.
True/False
False
Để xem chi tiết cụ thể có thể xem trong File Help của SFB47 bằng cách chọn SFB47 sau đó bấm F1.
Ngoài việc đọc xung tốc độ cao bằng hàm SFB47 ta cũng có thể đọc xung tốc độ cao bằng hàm SFB48. Cách thức định dạng hàm SFB48 cũng tương tự như hàm SFB 47 chỉ khác ngõ ra là tần số. Để xem chi tiết cụ thể ta chọn hàm SFB48 rồi bấm F1
Xác định độ rộng xung bằng hàm SFB49: Cách thức định dạng hàm cũng như các bit ngõ vào, ngõ ra hoàn toàn tương tự, chỉ khác output là dạng độ rộng xung từ 0-1.
PHẦN III: NỘI DUNG
GIỚI THIỆU VỀ HIGHT SPEED COUNTER (HSC):
Thế nào là Hight speed counter:
Bộ đếm thường: Bộ đếm thường trong PLC như đếm lên (CTU), đếm xuống(CTD), đếm lên xuông(CTUD), chỉ đếm được các sự kiện xẩy ra với tần số thấp( Chu kỳ xuất hiện của sự kiện nhỏ hơn chu kỳ quét của PLC). 
 Bộ đếm tốc độ cao(HSC): Là bộ đếm tốc độ cao, được sử dụng để đếm những sự kiện xẩy ra với tần số lớn mà các bộ đếm thông thường trong PLC không đếm được. VD: Tín hiệu xung từ sensors, encoder
H8. Sử dụng Encoder để đếm xung
 Ứng dụng của Hight Speed Counter:
Khi bạn cần đếm một vật có tốc độ biến đổi, điều bạn cần là bộ đếm tốc độ cao HSC, HSC sẽ thực hiện đếm xung chủ yếu thông qua encoders. Encoder được sử dụng để đếm tốc độ của động cơ thông qua bộ phát xung để xử lý các biến cố có thể xẩy ra cho trục động cơ. Bằng cách đếm số xung trong một phút đó bạn có thể xác định được điều cần thiết để điều khiển động cơ.
H9. Giao tiếp module HSC với encoder
H10. Sơ đồ kết nối Encoder với module HSC
Có hai cặp điểm của Encoder kết nối với các chốt, 1A và 1B là bộ đếm lên, còn 2A và 2B là bộ đếm xuống. Bạn sẽ nối Encoder với một trong các chốt trên. Chốt A được nối với cuộn dây dương của Encoder, còn chốt B được nối với cuộn âm của Encoder.
Vấn đề đọc xung tốc độ cao :
Xung toác ñoä cao ñöôïc ñoïc thoâng qua nhöõng Module ñoïc xung toác ñoä cao hoaëc coù theå ñöôïc ñoïc thoâng qua CPU coù tích hôïp saün nhöõng I/O coù khaû naêng ñoïc xung toác ñoä cao nhö CPU 312C, 313C...
Vieäc ñoïc xung toác ñoä cao laø heát söùc caàn thieát cho nhöõng öùng duïng ñoïc xung Encoder hay ñoïc xung cuûa nhöõng Input toác ñoä cao. 
Tuyø thuoäc töøng loaïi CPU cuõng nhö Module ñoïc xung toác ñoä cao maø coù nhöõng caùch thöùc ñaáu noái daây khaùc nhau, do vaäy vieäc ñaáu noái daây caàn phaûi xem taøi lieäu tröôùc khi thöïc hieän. Caàn phaûi xaùc ñònh cheá ñoä ñoïc xung tröôùc khi ñaáu noái ( vd : cheá ñoä ñoïc 2 xung, cheá ñoä ñoïc 1 xung ). Có thể nói HSC cung cấp 1 khối đếm xung cho encoder.
Một encoder cung cấp một số lượng xung nhất định đối với mỗi vòng quay của trục và 1 xung reset. Các xung này là ngõ vào cho HSC.
H11. Hình ảnh của Encoder
 Các chế độ đếm:
Đếm liên tục:
CPU bắt đầu đếm ở giá trị 0 hay giá trị đặt.
Khi bộ đếm đếm đến giới hạn trên nó sẽ nhảy đến giới hạn dưới và tiếp tục đếm từ đó và ngược lại.
Các giới hạn đếm chính là phạm vi hoạt động tối đa.
Đếm chu kì đơn:
Đếm không có đường dẫn hướng..
Đếm có đường dẫn hướng.
Đếm không có đường dẫn hướng:
CPU đếm một lần bắt đầu từ giá trị đặt.
CPU đếm lên hoặc xuống.
Khi bộ đếm tiến tới giới hạn trên hoặc dưới nó sẽ nhảy đến giới hạn đếm ngược lại tương ứng và cổng đóng lại một cách tự động.
Để reset bộ đếm, ta tạo ra một xung tích cực ở chân điều khiển cổng.
Khi chân điều khiển cổng ngừng, bộ đếm tiếp tục ở giá trị đếm hiện hành.
Khi chân điều khiển cổng bị cắt,bộ đếm trả về giá trị đặt 
Đếm có đường dẫn hướng:
CPU bắt đầu đếm ở giá trị đặt.
CPU đếm lên hoặc xuống.
Khi bộ đếm tiến tới giá trị 223-1 theo đường dẫn dương,nó nhảy đến giá trị đặt ở chu kì xung dương kế tiếp và cổng tự động đóng lại.
Để khởi tạo lại bộ đếm ta phải kích một xung theo sườn dương ở chân điều khiền.
Đếm theo chu kì:
Trong chế độ hoạt đông này,CPU trình diễn đếm chu kì, dựa trên đường dẫn đếm xác định đã được khai báo.
Gồm có 2 loại: đếm theo đường dẫn mặc định và không mặc định. 
Đếm theo đường dẫn mặc định(chế độ đếm lên):
CPU bắt đầu đếm ở giá trị đặt.
CPU đếm lên hoặc xuống.
Khi bộ đếm tiến tới giá trị 232-1, hoạt động theo chiều dương, bộ đếm nhảy đến giá trị đặt ở chu kì xung dương kế tiếp. 
Đếm không có đường dẫn mặc định:
CPU bắt đầu đếm ở giá trị đặt.
CPU đếm lên hoặc xuống.
Khi gặp giới hạn đếm trên hay đếm dưới, bộ đếm nhảy đến giá trị đặt và tiếp tục đếm từ đó.
CÁCH THIẾT ĐẶT CẤU HÌNH CHO MỘT CPU S7-300:
 thiết đặt cấu hình cho CPU 313C-2DP
Khởi động S7: Nhấp Cancel, sau đó vào File chọn New, chương trình sẽ hiện ra như sau:
Sau đó nhập tên chương trình cần đặt rồi chọn OK.
Tiếp theo vào Insert Station Simatic-300 Station:
Nhấp tên File chương trình Hardware 
Nhấp Hardware SIMATIC 300 Rack-300 Rail
Tại rail nhấp chuột phải chọn Insert object ô số 1 chọn nguồn cung cấp như hình:
Nhấp chuột phải chọn insert object ô số 2 chọn CPU như hình:
Nhấp chọn Count như hình dưới:
Tại hộp thoại Properties-Count Operating mode chọn chế độ đếm 
 Nhấp chọn OK 
Nhấp chuột phải chọn insert object ô số 4 chọn số AI/AO cho PLC.
Nhấp chuột phải chọn insert object ô số 5 Chọn mạng cho PLC.
KHỞI TẠO HÀM ĐỌC XUNG TỐC ĐỘ CAO SFB47:
Để lấy hàm SFB47 ta vào Libraries => System Function block => SFB47 
Ví dụ được làm trên CPU 313C-2DP(tốc độ đếm đến 30kH, và có 3 kênh: 0,1,2). Ngõ vào mặc định là I124, I125 ngõ ra mặc định là Q124, Q125.
Lưu ý : 
Để HSC chạy trước tiên phần cứng phải được khai báo. Khai báo theo từng kênh và từng chế độ của HSC.Trong phần cứng chúng ta vào: Count, giống ví dụ thiết đặt cấu hình cho CPU 313C-2DP ở trên.
Và để điều khiển HSC nhận xung đếm lên xuống chúng ta phải xem phần cứng hỗ trợ của CPU mình đang sử dụng. Với CPU313C_2DP.
Ở ví dụ này ta sử dụng kênh 0 nên chân nhận xung là I124.0, chân đảo hướng I124.1, chân chốt dữ liệu I125.4, chân cho phép và cho phép HSC là I124.2
 Khi chân làm việc: JOB_DONE=1
 Khi cho phép đếm: SW_GATE=1
Sơ đồ kết nối phần cứng:
Chương trình khởi tạo:
Viết 1 hàm tạo xung đầu ra số của PLC . Ở đây ta sử dụng hàm SFB47.
Hàm SFB47 được khai báo như sau:
LADDR (địa chỉ của COUNT, xem trong phần cứng): Bắt đầu là 768 đổi ra số HEX là 300.(có thể thay đổi tùy thuộc phần cứng).
CHANNEL (kênh của HSC): Chọn kênh 0.
JOB_ID(địa chỉ chức năng làm việc của HSC): Trong bài chọn giá trị 0001 để viết giá trị đếm.
JOB_VAL( giá trị ngõ vào để làm việc dạng Dint): Chọn MD4.
SW_GATE(chân cho phép HSC đếm): M1.0
CTRL_DO, SET_DO, JOD_RED: Là những chân điều khiển ngõ ra.
COUNTVAL ( ngõ ra hiển thị giá trị đếm): Được lưu vào MD8
LATCHVAL (chân hiển thị giá trị chốt khi chôt bên ngoài phần cứng): Được lưu vào MD12.
JOD_STAT (Chân hiển thị báo giá trị lỗi): Được hiển thị ra vùng nhớ MW4
Các chân còn lại của ngõ ra dùng để hiển thị quá trình làm việc và giá trị lỗi của HSC được lưu dưới dạng bit.
Khi chưa có Encoder thật ta viết 1 hàm xung đầu ra số cho PLC.
Thiết lập khối tạo xung bằng timer ( có thể sử dụng ngắt OB) để tạo xung.
Xung được tạo được đưa vào hàm đọc xung thông qua tiếp điểm M1.0 vào chân cho phép đếm SW-GATE.
Thực hiện như trên ta đã tạo được tín hiệu xung đầu vào cho HSC.
Sau đó mới đến việc thử nghiệm HSC. Với việc khởi tạo chế độ đếm xung tốc độ cao ta có thể kết nối Encoder với module để điều khiển động cơ.
PHẦN IV: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
 Phải nói bước đầu làm quen với bộ đếm tốc độ cao là khá phức tạp, em đã phải nghiền Help trong Step7 và tìm tài liệu về nó khá lâu để thực hiện. Tuy nhiên do điều kiện không có nhiều, quỹ thời gian hạn hẹp cùng với thiết bị thiếu thốn, chỉ mới được làm quen với bộ đếm có sẵn trên CPU 313C nên đồ án cũng giới hạn ở mức tìm hiểu về hàm đọc xung SFB47.
 Từ việc tìm hiểu về bộ đếm tốc độ cao trong PLC S7-300 còn giúp em hiểu biết thêm về phần mềm PLC S7-300. Cùng nhiều ứng dụng của PLC trong công nghiệp tự động hóa.
 Biết vận dụng module HSC giúp chúng ta giải quyết được các bài toán về đếm tốc độ cao. Việc đọc xung tốc độ cao là hết sức cần thiết cho những ứng dụng đọc xung Encoder, hay đọc xung của những Input tốc độ cao. Đề tài sẽ góp phần giúp người đọc hiểu và khởi tạo được Module HSC để vận dụng trong những công việc cần thiết của mình.
 Đây là đề tài thật sự mới mẻ với bản thân. Tuy nhiên vì thời gian và trình độ còn hạn chế nên đề tài chưa thực sự đầy đủ và sâu sắc. Vì vậy rất mong ý kiến đóng góp quý báu của thầy cô và các bạn để đề tài được hoàn thiện và thiết thực hơn nữa, góp phần phát triển công nghệ tự động hóa trong công nghiệp, tăng khả năng phát triển kinh tế.
TÀI LIỆU THAM KHẢO
Nguyễn Doãn Phước, tự động hóa với Simatic S7-300, NXB KHKT, 2006 
Giáo trình Điều khiển lập trình nâng cao. ĐH SPKT TP Hồ Chí Minh
TT Việt Đức - ĐH Sư phạm Kỹ thuật Tp.HCM, SIMATIC S7-300 Điều khiển hệ thống. 
Siemens, AS-Interface – Introdution and Basic information, 2000. 
Höôùng daãn söû duïng S7_300, Ngöôøi bieân soaïn: Haø Vaên Trí (tài liệu tra cứu trên mạng)
Siemens, S7-300 Programmable Controller Hardware and installation. 
Internet.
Tài liệu từ Internet

File đính kèm:

  • docxNOI DUNG DO AN 3-THUAN.docx
  • docxBIA DO AN 3.docx