ĐỒ ÁN TỐT NGHIỆP ĐIỆN CÔNG NGHIỆP Mô hình PLC S7-300
NỘI DUNG ĐỒ ÁN
ĐỒ ÁN TỐT NGHIỆP ĐIỆN CÔNG NGHIỆP Mô hình PLC S7-300
, thuyết minh ĐỒ ÁN TỐT NGHIỆP ĐIỆN CÔNG NGHIỆP Mô hình PLC S7-300
KHOA ĐIỆN – ĐIỆN LẠNH
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ tên HS-SV: 1/ HOÀNG ĐỨC TÂM
2/HUỲNH VĂN BÔNG
Niên khóa: 2007-2013
Ngành: ĐIỆN CÔNG NGHIỆP
Đầu đề đồ án: Mô hình PLC S7-300
………………………………………………………………………………………
- Cơ sở ban đầu:
a/ PLC S7-300
b/ CPU 315
c/ Programming
d/ Profibus
Nội dung các lý thuyết và tính toán:
a/ Tổng quan về mô hình
b/ Nghiên cứu phần cứng S7-300
c/ Nghiên cứu phần cứng CPU 315
d/ Ngôn ngữ lập trình S7-300
e/ Thiết kế mô hình
f/ Viết chương trình
- Các bản vẽ và đồ thị:
-File chiếu Power Point
Mở đầu:
Nền công nghiệp thế giới đang trên đà phát triển ngày càng cao, trong đó vấn đề tự động điều khiển được đặt lên hàng đầu trong quá trình nghiên cứu cũng như ứng dụng công nghệ mới vào trong sản xuất. Nó đòi hỏi khả năng xử lý, mức độ hoàn hảo, sự chính xác của hệ thống sản xuất ngày một cao hơn,để có thể đáp ứng được nhu cầu về số lượng, chất lượng, thẩm mỹ ngày càng cao của xã hội.
Sự xuất hiện máy tính vào những năm đầu thập niên 60, đã hỗ trợ con người làm việc tốt hơn trong nhiều lĩnh vực từ kinh tế, y tế, giáo dục, quốc phòng đến nhiều lĩnh vực khác như hàng không, vũ trụ. Với sự đòi hỏi của con người, những nhà nghiên cứu không dừng lại ở đó, nhiều thiết bị, phần mềm ra đời chuyên phục vụ cho ngành công nghiệp, tính năng ưu biệt luôn được nâng cao. Một trong những thiết bị phải kể đến đó là bộ PLC. Với khả năng ứng dụng và nhiều ưu điểm nổi bậc, PLC ngày càng thâm nhập sâu rộng trong nền sản xuất. Nhận thức được tầm quan trọng đó, nên chúng ta cần nghiên cứu, tìm hiểu về PLC, nhằm góp phần vào công nghiệp hóa, hiện đại hóa đất nước.
Xuất phát từ thực tế và nhiều điều kiện khách quan khác, nên “Mô hình PLC S7-300”được chọn làm đề tài đồ án tốt nghiệp này. Quá trình thực hiện là điều kiện tốt nhất để học hỏi kinh nghiệm xây dựng một mô hình sản xuất và phương pháp lập trình điều khiển bằng PLC.
Do hạn chế về thời gian, kinh nghiệm thực tế, vừa tìm hiểu, vừa học hỏi trong quá trình thực hiện, nên không thể tránh khỏi những thiếu sót. Rất mong sự đóng góp ý kiến quý báo của thấy cô, anh chị và các bạn để đề tài được hoàn thiện hơn.
MỤC LỤC
Trang
Chương 1:
Tổng quan về PLC S7-300
1.1 PLC ( Progranable Logic Control)--------------------------------------------- 1
1.2 Các Tín hiệu kết nối với PLC-------------------------------------------------- 2
1.3 Cấu hình của một trạm PLC S7-300------------------------------------------- 2
1.4 Những thành phần cơ bản của PLC S7- 300---------------------------------- 3
1.5 Chọn kiểu hoạt động và đèn trạng thái---------------------------------------- 5
1.6 Bộ nhớ PLC---------------------------------------------------------------------- 6
1.7 Các kiểu dữ liệu của PLC S7_300--------------------------------------------- 7
1.8 Ngôn ngữ lập trình của PLC--------------------------------------------------- 11
1.9 Cấu trúc chương trình PLC S7-300------------------------------------------- 12
1.10 Những khối OB đặc biệt------------------------------------------------------- 13
1.11 Vòng quét chương trình-------------------------------------------------------- 13
Chương 2:
Nghiên cứu CPU 315 -2DP và module mở rộng của PLC S7-300
2.1 - Giới thiệu về các loại CPU 315-2DP------------------------------------------ 15
2.2 - Đặc tính kỹ thuật của CPU 315-2DP ----------------------------------------- 15
2.3 - Các Module của S7-300-------------------------------------------------------- 17
2.4 -- Đặc tính kỹ thuật của Module PS--------------------------------------------- 20
Chương 3: NGÔN NGỮ LẬP TRÌNH S7-300
DẠNG LADDER
3.1. Thanh ghi trạng thái------------------------------------------------------------ 23
3.2 Cấu nhóm lệnh------------------------------------------------------------------ 25
3.2.1 Lệnh về bit----------------------------------------------------------------------- 25
3.2.2 Lệnh so sánh-------------------------------------------------------------------- 27
3.2.3 Lệnh chuyển đổi--------------------------------------------------------------- 32
3.2.4 Các lệnh về số học-------------------------------------------------------------- 35
3.2.5 Lệnh Di chuyển----------------------------------------------------------------- 41
3.2.6 Lệnh Dịch Bit------------------------------------------------------------------- 42
3.2.7 Các phép tính trên word-------------------------------------------------------- 44
3.2.8 Lệnh nhảy----------------------------------------------------------------------- 45
3.3 Lệnh về Timer------------------------------------------------------------------ 46
3.3.1 Lệnh S_PULSE------------------------------------------------------------------ 46
3.3.2 Lệnh S_PEXT------------------------------------------------------------------- 47
3.3.3 Lệnh S_ODT-------------------------------------------------------------------- 48
3.3.4 Lệnh S_ODTS------------------------------------------------------------------ 49
3.3.5 Lệnh S_OFFDT------------------------------------------------------------------ 49
3.3.6 Lệnh TON----------------------------------------------------------------------- 50
3.4 Counter-------------------------------------------------------------------------- 57
3.4.1 Lệnh đếm lên xuống S_CUD-------------------------------------------------- 57
3.4.2 Lệnh đếm lên S_CU------------------------------------------------------------ 57
3.4.3 Lệnh đếm xuống S_CD-------------------------------------------------------- 58
3.4.4 Lệnh Set Counter--------------------------------------------------------------- 58
3.4.5 Lệnh đếm lên------------------------------------------------------------------- 59
3.4.6 Lệnh đếm xuống---------------------------------------------------------------- 61
3.4.3 Lệnh đếm xuống S_CD-------------------------------------------------------- 47
Kết luận----------- 62
Tài liệ tham khảo.......................................................................................................63
DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH
CHƯƠNG 1: TỔNG QUAN VỀ PLC S7-300
1.1. PLC (Progranable Logic Control): Thiết bị điều khiển Logic khả trình 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 phải thể 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 nhỏ gọn ,dễ 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 hoặc với máy tính).Toàn bộ chương trình được lưu trong bộ nhớ.dưới dạng các khối chương trình (OB,FC,FB..) và được thực hiện với chu kì quét.
Để có thể thực hiện một chương trình điều khiển.Tất nhiên PLC phải có tính năng như một máy tính .Nghĩa là phải có một bộ vi xử lí trung tâm ( CPU),một hệ điều hành,một bộ nhớ chương trình để lưu chương trình cũng như dữ liệu và tất nhiên phải có các cổng vào ra để giao tiếp với các thiết bị bên ngoài..Bên cạnh đó ,nhằm phục vụ bài toán điều khiển số ,PLC phải có các khối hàm chức năng như Timer,Counter,và các hàm chức năng đặc biệt khác.
1.2. Các Tín hiệu kết nối với PLC:
1.2.1/ Tín hiệu số: Là các tín hiệu thuộc dạng hàm Boolean, dạng tín hiệu chỉ có 2 trị 0 hoặc 1. Đối với PLC Siemens :
Mức 0 : tương ứng với 0V hoặc hở mạch
Mức 1 : Tương ứng với 24V
Vd: Các tín hiệu từ nút nhấn ,từ các công tắc hành trình….. đều là những tín hiệu số
1.2.2/ Tín hiệu tương tự: Là tín hiệu liên tục, từ 0-10V hay từ 4-20mA….
Vd: Tín hiệu đọc từ Loadcell,từ cảm biến lưu lượng…
1.2.3/ Tín hiệu khác: Bao gồm các tín hiệu giao tiếp với máy tính ,với các thiết bị ngoại vi khác bằng các giao thức khác nhau như giao thức RS232,RS485,Modbus….
1.3. Cấu hình của một trạm PLC S7-300:
1.3.1/ Cấu hình của một trạm PLC S7-300 như sau:
Hình 1.1 : Cấu hình một thanh rack của một trạm PLC S7-30
1.3.2/ Cấu hình tối đa mà một PLC S7-300 có thể quản lý
Hình 1.2 Cấu hình tối đa của một trạm PLC S7-300 trên bốn thanh rack
1.4 Những thành phần cơ bản của một trạm PLC S7-300 :
Thành phần |
Chức năng |
Hình ảnh |
Rail |
Là nơi dùng để gắn CPU và các Module |
|
Power Supply(PS) : Module nguồn |
Chuyển đổi điện áp 120/230VAC sang 24 VDC để cung cấp nguồn S7-300 và các module khác |
|
CPU |
Thực hiện chương trình mà người dùng đã lập trình Cung cấp nguồn 5V cho backplane bus Kết nối với các nút khác trong mạng MPI thông qua giao diện MPI |
|
Signal Module (SM) : Module tín hiệu |
Có chức năng nhận và truyền các tín hiệu với các đối tượng điều khiển |
|
Funciton Module (FM): Module chức năng |
Có chức năng điều khiển riêng. Ví dụ điều khiển động cơ bước, động cơ servo, điều khiển bộ đếm tốc độ cao,điều khiển hồi tiếp… |
|
Bộ xử lí truyền thông (CP) |
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 |
|
Các điểm nối của SIMATIC |
Là nơi dùng để đấu dây cho các module digital |
|
Interface Module (IM) : Module ghép nối |
Có chức năng ghép nối các module mở rộng lại với nhau và được quản ly bởi CPU |
|
Cáp nối PROFIBUS và đấu nối dây |
Dùng để liên kết các trạm trong mạng MPI hoặc mạng PROFIBUS |
|
Cáp nối thiết bị lập trình |
Có chức năng kết nối CPU với thiết bị lập trình, máy tính (PC) |
|
Bộ chuyển tiếp RS 485 |
Khuếch đại những tín hiệu trong mạng MPI hoặc mạng PROFIBUS rối kết nối các tín hiệu |
|
Thiết bị lập trình (PG), máy tính (PC) và phần mềm STEP7
|
Lập trình chương trình điều khiển rồi truyền cho CPU |
1.5. Chọn kiểu hoạt động và đèn trạng thái
1.5.1/ Chọn kiểu hoạt động
PLC S7-300 có 4 mode hoạt động,gồm:
- RUN_P: Xử lý chương trình, có thể đọc và ghi được từ PG.
- RUN: Xử lý chương trình, không thể đọc từ PG.
- STOP: Dừng, chương trình không được xử lý.
- MRES: Chức năng reset hệ thống (Module Reset Function).
Các mode này được chọn dựa vào công tắc chọn ở mặt trước CPU như hình 1.5.1,trong đó:
- Đèn báo trạng thái
- Đèn báo trang thái cho kết nối DP
- Nút chọn kiểu làm việc
- Ngăn để pin
- Đầu nối 24V
- Rãnh cắm card nhớ
- Cổng kết nối MPI
- Cổng kết nối DP
Hình 1.3 : Mặt trước của CPU
1.5.2/ Đèn báo trạng thái
CPU còn có các đèn chỉ báo giúp người sử dụng chuẩn đoán được trạng thái hiện tại của PLC.
- SF: Báo lỗi trong nhóm. Lỗi trong CPU hay trong module có khả năng chuẩn đoán.
- BATF: Lỗi pin. Hết pin hoặc không có pin.
- DC5V: Báo có nguồn 5V.
- BUSF : lỗi phần cứng hay lỗi phần mềm do kết nối Profibus
- FRCE: Báo ít nhất có một ngỏ vào/ra đang bị cưỡng bức.
- RUN: Nhấp nháy khi CPU khởi động và sáng khi CPU làm việc.
- STOP:Sáng khi dừng, chớp chậm khi có yêu cầu reset bộ nhớ, chớp nhanh khi đang reset bộ nhớ.
1.5.3/ Các thành phần khác trên CPU
- Card nhớ: Dùng để lưu chương trình mà không cần pin trong trường hợp mất điện.
- Ngăn để pin: Nằm dưới nắp, chứa pin cung cấp năng lượng cho RAM khi mất điện.
- Đầu nối MPI: Đầu nồi dành cho thiết bị lập trình hay các thiết bị cần giao tiếp qua cổng MPI.
- Đầu nối điện 24V: Cung cấp năng lượng cho CPU.
1.6. Bộ nhớ PLC: gồm 3 vùng chính.
1.6.1/ Vùng chứa chương trình ứng dụng: Vùng chứa chương trình được chia thành 3 miền :
- OB ( Organisation block) : miền chứa chương trình tổ chức.
- FC ( Function) : Miền chứa chương trình con ,được tổ chức thành hàm và có biến hình thức để trao đổi dữ liệu
- FB ( Function block) : Miền chứa chương trình con ,được tổ chức thành hàmvà có khả năng trao đổi dữ liệu với bất cứ 1 khối chương trình nào khác .Các dữ liệu này phải được xây dựng thành một khối dữ liệu riêng ( Data Block khối DB)
1.6.2/ Vùng chứa tham số của hệ điều hành: Chia thành 7 miền khác nhau:
- I ( Process image input ) : Miền dữ liệu các cổng vào số,trước khi bắt đầu thực hiện chương trình ,PLC sẽ đọc giá trị logic của tất cả các cổng đầu vào và cất giữ chúng trong 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 logic của cổng vào số mà chỉ lấy dữ liệu của cổng vào từ bộ đệm I.
- Q ( Process Image Output): Miền bộ đệm các dữ liệu cổng ra số .Kết thúc giai đoạn thực hiện chương trình,PLC sẽ chuyển giá trị logic của bộ đệm Q tới các cổng ra số.Thông thường chương trình không trực tiếp gán giá trị tới tận cổng ra mà chỉ chuyển chúng tới bộ đệm Q.
- M ( Miền các biến cờ): CHương trình ứng dụng sử dụng những biến này để lưu giữ các tham số cần thiết và có thể truy nhập nó theo Bit (M) ,byte (MB),từ (MW) hay từ kép (MD).
- T ( Timer): Miền nhớ phục vụ bộ thời gian ( Timer) bao gồm việc lưu trữ giá trị thời gian đặt trước ( PV-Preset Value ),giá trị đếm thời gian tức thời ( CV–Current Value) cũng như giá trị Logic đầu ra của bộ thời gian.
- C ( Counter): Miền nhớ phục vụ bộ đếm bao gồm việc lưu trữ giá trị đặt trước (PV- Preset Value),giá trị đếm tức thời ( CV _ Current Value)và giá trị logic đầu ra của bộ đệm.
- PI : Miền địa chỉ cổng vào của các Modul tương tự ( I/O External input). Các giá trị tương tự tại cổng vào của modul tương tự sẽ được module đọc và chuyển tự động theo những địa chỉ.Chương trình ứng dụng có thể truy cập miền nhớ PI theo từng Byte ( PIB),từng từ PIW hoặc từng từ kép PID .
- PQ: Miền địa chỉ cổng ra cho các module tương tự ( I/O External Output).Các giá trị theo những địa chỉ này sẽ được module tương tự chuyển tới các cổng ra tượng tự .Chương trình ứng dụng có thể truy nhập miền nhớ PQ theo từng Byte (PQB),từng từ (PQW) hoặc theo từng từ kép (PQD).
1.6.3/ Vùng chứa các khối dữ liệu: được chia làm 2 loại:
- DB(Data Block):Miền chứa dữ liệu được tổ chức thành khối .Kích thước cũng như số lượng khối do người sử dụng quy định ,phù hợp với từng bài toán điều khiển.Chương trình có thể truy nhập miền này theo từng bit (DBX),byte (DBB),từ (DBW) hoặc từ kép (DBD).
- L (Local data block) : Miền dữ liệu địa phương ,được các khối chương trình OB,FC,FB tổ chức và sử dụng cho các biến nháp tức thời và trao đổi dữ liệu của biến hình thức với những khối chương trình gọi nó .Nội dung của một khối dữ liệu trong miền nhớ này sẽ bị xoá khi kết thúc chương trình tương ứng trong OB,FC,FB.Miền này có thể được truy nhập từ chương trình theo bit (L),byte(LB) từ (LW) hoặc từ kép (LD).
1.7. Các kiểu dữ liệu của PLC S7_300
Một chương trình ứng dụng trong S7_300 có thể sử dụng các kiểu dữ liệu sau:
- Kiểu Bool:
VD: Q0.0, I0.0, DB1.DBX2.3, M1.7….
Một biến kiểu bool chỉ có 2 giá trị là 0 hoặc 1 (TRUE hoặc FALSE)
- Đối với ngõ IN:
Trạng thái mức 0 là: 0V
Trạng thái mức 1 là: 24V
- Đối với ngõ OUT:
Trạng thái mức 0 là: Xuất 0V hoặc hở tiếp điểm.
Trạng thái mức 1 là: Xuất 24V hoặc đóng tiếp điểm.
- Kiểu Byte: Gồm 8 bít, thường được dùng để biểu diễn cho một số nguyên dương trong khoảng từ 0 đến 225 hoặc mã ASCII của một kí tự.
VD: QB0, MB3, VB10, SMB2, DB1,DBB10…
- Kiểu Word:Gồm 2 bytes để biểu diễn cho một số nguyên dương từ 0 đến 65535.
VD: IW0, QW0, MW3, DB1.DBW10,
QW0=QB0+QB1. Trong đó: QB0 là byte cao,QB1 là byte thấp.
- Kiểu DWord:1 DWord = 2 Word = 4 Byte = 32 Bit. Suy ra, giá trị 1 DWord trong khoảng: 0 -(232-1)
VD: ID0, QD0, MD3, DB1.DBD10,…
MD0=MW0+MW2=MB0+MB1+MB2+MB3, Trong đó, MB0 là byte cao nhất,MB3 là Byte thấp nhất.
- Kiểu Int: Số nguyên
Một biến kiểu Int tương đương với 1 Word, nghĩa là dung lượng của 1 biến kiểu Int cũng gồm 16 bit. Tuy nhiên,biến kiểu Int và Word cũng có những điểm khác nhau như sau:
- Biến kiểu Word là biến không dấu, biến kiểu Int có dấu (bit trọng số cao nhất là bit dấu).
- Giá trị 1 Word:0-(216-1), giá trị 1 Int:(-215)-(215-1)
- Định dạng một biến kiểu Word phải cóW#16# đứng đầu,còn Int thì không.
VD:W#16#1234, W#16#ABCD: Một Word
1,5,100,250…: một Int.
- Kiểu DInt: Số nguyên
Một biến kiểu DInt tương đương với 1 DWord, nghĩa là dung lượng của 1 biến kiểu DInt cũng gồm 32 bit. Tuy nhiên,biến kiểu DInt và DWord cũng có những điểm khác nhau như sau:
- Biến kiểu DWord là biến không dấu, biến kiểu DInt có dấu (bit trọng số cao nhất là bit dấu).
- Giá trị 1 DWord:0-(232-1), giá trị 1 Int:(-231)-(231-1)
- Định dạng một biến kiểu DWord phải cóDW#16# đứng đầu,còn DInt phải có L# đứng đầu.
VD:DW#16#1234, DW#16#ABCD: Một DWord
L#1,L#5,L#-2,L#12345…: một DInt.
- Kiểu Real: Số thực
Một biến kiểu Real là 32 bit, nghĩa là vùng nhớ cũng là DWord.
Định dạng: phải có “.” Thập phân.
VD: 1.5,2.3,0.09,1.0,100.2,…
- Kiểu S5t: Khoảng thời gian được tính theo giờ/phút/giây.
- Kiểu Tod: Biểu diễn giá trị thời gian tính theo giờ/phút/giây.
- Kiểu Date: Biểu diễn giá trị thời gian tính theo năm/tháng/ngày.
- Kiểu Char: Biểu diễn một hoặc nhiều kí tự ( nhiều nhất là 4 kí tự ).
1.8. Ngôn ngữ lập trình:
Các loại PLC thường có nhiều ngôn ngữ lập trình nhằm phục vụ các đối tượng sử dụng khác nhau. PLC S7-300 có 3 ngôn ngữ lập trình cơ bản như sau:
- Liệt kê lệnh (STL_ Statement List): Đây là dạng ngôn ngữ thông thường của máy. Một chương trình được ghép bởi nhiều câu lệnh theo một thuật toán nhất định, mỗi lệnh chiếm một hàng và đều có cấu trúc chung là: tên lệnh + thuật toán.
- Dạng hình thang (LAD_ Ladder Logic): Đây là dạng ngôn ngữ đồ họa thích hợp với đối tượng quen thiết kế mạch điều khiển logic.
- Dạng hình khối (FBD_ Function Block Diagram): Đây là dạng ngôn ngữ đồ họa thích hợp với đối tượng quen thiết kế mạch điều khiển số. Một chương trình viết trên LAD hoặc FBD có thể chuyển sang được dạng STL nhưng ngược lại thì không, trong STL có nhiều lệnh nhưng LAD và FBD không có. Như vậy STL là ngôn ngữ mạnh nhất trong ba loại ngôn ngữ lập trình cho S7_300.
- Do mới làm quen với PLC nên nhóm thực hiện đề tài chọn ngôn ngữ LAD làm ngôn ngữ chính để nghiên cứu và thực hiện viết chương trình điều khiển cho hệ thống, thiết bị.
Hình 1.4: Ngôn ngữ lập trình của S7-300
1.9. Cấu trúc chương trình PLC S7-300:
Chương trình trong S7-300 được lưu trong bộ nhớ của PLC ở vùng dành riêng cho chương trình và có thể được lập với 2 dạng cấu trúc khác nhau:
1.9.1/ Lập trình tuyến tính:
Toàn bộ chương trình điều khiển lưu trong 1 khối trong bộ nhớ. Dạng chương trình phù hợp với bài toán nhỏ, đơn giản. Khối được chọn ở đây là khối OB1. Đây là khối chứa các lệnh được thực hiện thường xuyên trong chu kỳ quét của PLC.
1.9.2/ Lập trình có cấu trú
Chương trình được chia thành từng phần nhỏ với các yêu cầu riêng biêt, mỗi phần có thể lưu trong một vùng nhớ khác nhau. Dạng này phù hợp với bài toán phức tạp, có nhiều yêu cầu khác nhau.
PLC S7- 300 có bốn loại khối cơ bản:
- Khối OB (Organization Block):Khối tổ chức và quản lý chương trình điều khiển. Có nhiều loại OB với các chức năng khác nhau, chúng được phân biệt dựa vào số nguyên gán thêm phía sau nhóm kí tự OB. VD: OB1,OB35, OB40,…OB1 là khối luôn được CPU quét và thực hiện lặp lại các lệnh theo thứ tự từ trên xuống dưới.
- Khối FC (Program Block): Khối chương trình với những chức năng riêng giống như một chương trình con hoặc một hàm (chương trình con có biến hình thức). Một chương trình ứng dụng có thể có nhiều khối FC, chúng được phân biệt với nhau bằng một số nguyên gán thêm phía sau kí tự FC. VD: FC1, FC2,…..
- Khối FB (Function block): Là một khối FC đặc biệt có khả năng trao đổi lượng dữ liệu lớn với các khối chương trình khác. Các dữ liệu này phải được tổ chức thành khối dữ liệu riêng có tên gọi Data Block. Một chương trình có thể có nhiều khối FB, chúng được phân biệt dựa theo số nguyên gán thêm phía sau nhó ki tự FB. VD: FB1, FB2,…
- Khối DB (Data Block): Khối chứa các dữ liệu cần thiết để thực hiện chương trình. Các tham số của khối này do người sử dụng tự đặt. Một chương trình ứng dụng có thể có nhiều khối DB, chúng được phân biệt dựa theo số nguyên gán thêm phía sau nhóm ki tự DB. VD: DB1, DB2,…
Chương trình trong các khối được liên kết với nhau bằng các lệnh gọi khối, chuyển khối. Xem những phần trong chương trình trong các khối như là các chương trình con thì S7-300 cho phép gọi chương trình con lồng nhau, tức chương trình con này gọi một chương trình con khác và từ một chương trình con được gọi lại gọi tới một chương trình con thứ 3,…Số các lệnh gọi lồng nhau phụ thuộc vào từng chủng loại module CPU mà ta đang sử dụng. Ví dụ: Đối với module 314 thì số lệnh gọi lồng nhau nhiều nhất có thể cho phép là 8. Nếu số lần gọi khối lồng nhau mà vượt quá con số giới hạn cho phép thì PLC sẽ tự chuyển sang chế độ Stop và đặt cờ báo lỗi.
1.10 Những khối OB đặc biệt:
Trong khi khối OB1 thực hiện đều đặng từng vòng quét trong giai đoạn thực hiện chương trình (giai đoạn hai) thì các khối OB khác chỉ thực hiện khi có tín hiệu báo ngắt tương ứng. chúng bao gồm các khối sau:
- OB10 (time of date interrupt): Chương trình trong khối OB10 sẻ được thực hiện 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ể gọi một lần hay nhiều lần cách đều nhau từng phút, từng giờ, từng ngày…
- OB20 (Time Delay Interrupt): Chương trình trong khối OB20 sẻ được thực hiện sau một khỏang thời gian trễ đặt trước kể từ khi gọi chương trình hệ thống SFC32 để đặt thời gian trễ.
- OB35 (Cyclic Interrupt): Chương trình trong OB35 sẽ được thực hiện cách đều nhau một khoảng thời gian nhất định. Mặc định thời gian này là 100ms, song ta có thể thay đổi nó trong bảng tham số của CPU nhờ phần mềm STEP7.
- OB40 (Hardware Interrupt): OB40 sẽ được thực hiện khi có tín hiệu ngắt từ ngoại vi đưa vào CPU thông qua cổng vào số onboard đặc biệt, hoặc thông qua module SM,CP, FM.
- OB80 (Cycle Time Fault): Được thực hiện khi thời gian vòng quét vượt quá thời gian cực đại đã quy định ( mặc định là 100ms ) hoặc có tín hiệu ngắt gọi OB nào đó mà OB này chưa kết thúc ở lần gọi trước.
- OB81 (Power Supply Fault): Khi có lỗi về nguồn nuôi thì CPU sẽ gọi OB81.
- OB82 (Diagnostic Interrupt): Được gọi khi có phát hiện có sự cố từ các module vào/ra mở rộng. các module mở rộng này phải có khả năng tự kiểm tra mình.
- OB85 (Not Load Fault)Được gọi khi chương trình có sử dụng chế độ ngắt nhưng chương trình ngắt lại không có trong OB tương ứng.
- OB87 (Communication Fault): Được gọi khi CPU thấy có lỗi truyền thông.
- OB100 ( start up information ): Được thực hiện một lần khi CPU chuyển trạng thái từ STOP sang RUN.
- OB121 (Synchronous Error): Được thực hiện khi CPU thấy lỗi logic trong chương trình như sai kiểu dữ liệu hoặc lỗi truy nhập khối DB, FC, FB không có trong CPU.
- OB122 (Synchronous Error): Được thực hiện khi CPU phát hiện có, lỗi truy nhập module trong chương trình, ví dụ chương trình có lệnh truy nhập module vào/ra nhưng lại không tìm thấy module này.
1.11 Vòng quét chương trình:
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 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 OB ( Block End).Sau giai đoạn thực hiện chương trình là giai đoạn chuyển các 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 bằng giai đoạn truyền thông nội bộ và kiểm tra lỗi.
Thời gian cần thiết để PLC thực hiện 1 vòng quét 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 được thực hiện trong một khoảng thời gian như nhau. Có vòng quét được thực hiện lâu, có vòng quét được thực hiện nhanh tuỳ thuộc vào số lệnh trong chương trình được thực hiện và 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 để xử lí, tính toán và việc gửi tín hiệu điều khiển đến đối tượng có một khoảng thời gian trễ đúng bằng thời gian vòng quét. Nói cách khác, thời gian vòng quét quyết định 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 càng cao. Nếu sử dụng các khối chương trình đặc biệt có chế độ ngắt, ví dụ như khối OB40,OB80…, chương trình của các khối đó sẽ được thực hiện trong vòng quét khi xuất hiện tín hiệu báo ngắt cùng chủng loại. Các khối chương trình này có thể được thực hiện tại mọi điểm trong vòng quét chứ không bị gò ép là phải ở trong giai đoạn thực hiện chương trình. Chẳng hạn nếu 1 tín hiệu báo ngắt xuất hiện khi PLC đang ở giai đoạn truyền thông và kiểm tra nội bộ, PLC sẽ ngừng công việc truyền thông, kiểm tra để thực hiện khối chương trình tương ứng với tín hiệu báo ngắt đó. Với hình thức xử lí tín hiệu ngắt như vậy, thời gian vòng quét sẽ càng lớn khi càng có nhiều tín hiệu ngắt xuất hiện trong vòng quét. Do đó, để nâng cao tính thời gian thực cho chương trình điều khiển ,tuyệt đối không nên viết chương trình xử lí ngắt quá dài hoặc quá lạm dụng việc sử dụng chế độ ngắt trong chương trình điều khiển. 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ạn 1 và 3 do hệ điều hành CPU quản lí. Ở 1 số modul CPU, 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 trực tiếp với cổng vào ra.
CHƯƠNG 2: NGHIÊN CỨU CPU 315-2DP
VÀ MODULE MỞ RỘNG CỦA PLC S7-300
2.1. Giới thiệu về các loại CPU 315-2DP:
CPU 315-2DP của S7-300 gồm có rất nhiều loại, trên mỗi loại có một mã số do hãng Siemens quy định. Gồm có những loại sau:
w 6ES7 315-2AF00-0AB0
w 6ES7 315-2AF01-0AB0
w 6ES7 315-2AF02-0AB0
w 6ES7 315-2AF03-0AB0
w 6ES7 315-2AF82-0AB0
w 6ES7 315-2AF83-0AB0
w 6ES7 315-2AG10-0AB0
Trong đó: 6ES7 315-2AF03-0AB0 có 3 phiên bản là: V1.0,V1.1 và V1.2.
Loại 6ES7 315-2AF83-0AB0 cũng có 3 phiên bản : V1.0,V1.1 và V1.2,
Còn loại 6ES7 315-2AG10-0AB0 có 2 phiên bản : V2.0 và V2.6
Chúng đều có đặc điểm chung là: Gồm có hai cổng kết nối MPI và DP. Cổng MPI kết nối với máy tính còn cổng DP thì dùng để kết nối với mạng Profibus,có thể quản lý tối đa đến 32 module mở rộng. Nhưng các loại CPU này khác nhau về bộ nhớ làm việc, tốc độ truyền. Đối với những loại mà có nhiều phiên bản thì việc truyền và nhận dữ liệu của những phiên bản này là khác nhau.
2.1.1/ Bộ nhớ làm việc:
Hai loại 2AF00 và 2AF01 có bộ nhớ làm việc là 48 KB.
Các loại CPU : 2AF02, 2AF03, 2AF82, 2AF83 có bộ nhớ làm việc là 64 KB.
Riêng CPU 6ES7 315-2AG10-0AB0 có bộ nhớ làm việc là 128KB.
2.1.2/ Tốc tộ truyền:
Trong các loại CPU trên chỉ có loại 6ES7 315-2AG10-0AB0 có tốc độ truyền là 0.1ms/1000 lệnh, các loại còn lại đều có tộc độ truyền là 0.3ms/1000 lệnh.
2.2 Đặc tính kỹ thuật của CPU 315-2DP (loại 6ES7 315-2AF03-0AB0 V1.2 ): CPU 315- 2DP loại 6ES7- 2AF03-0AB0 có thể quản lý tối đa tới 32 module mở rộng và có những đặc tính sau
2.2.1/ Bộ nhớ:
- Bộ nhớ làm việc 64 KB.
- Vùng nhớ chương trình 96KB.
- Card nhớ mở rộng lên đến 4 MB.
- Tốc độ truyền 0.3 ms cho 1000 lệnh.
- Bit nhớ 2048 MB: Thiết lập có thể được nhớ là MB0 ÷ MB255, bộ nhớ bit được mặc định trước là MB0 ÷ MB15.
- Gồm có 64 Counter (bộ đếm) : Thiết lập có thể được nhớ là C0 ÷ C63, Counter được mặc định trước là C0 ÷ C7.
- Timer từ T0 ÷ T127 không có timer nào được mặc định trước.
- Vùng nhớ dữ liệu gồm có 8 DBs (khối dữ liệu) chứa 4096 byte dữ liệu.
- Dữ liệu nội bộ 1536 byte, mỗi cấp ưu tiên là 256 byte.
- Ngõ vào digital input và ngõ ra digital output là 1024 ngõ.
- Ngõ vào analog input và ngõ ra analog output là 1024 ngõ.
- Địa chỉ ngõ vào là I0.0 ÷ I 127.7.
- Địa chỉ ngõ ra là Q0.0 ÷ Q 127.7.
- Vùng địa chỉ DP là 1KB.
2.2.2/ Chức năng:
- Đồng hồ thời gian thực có sẵn trong phần cứng, hoạt động của bộ counter đếm giờ. khoảng đếm là 0 ÷ 32767 giờ, độ chọn là 1 giờ
- Pin của CPU: nếu CPU vận hành không gián đoạn độ bền của pin tối thiểu là 1 năm. CPU không vận hành thì thời gian chờ của pin tối đa là 5 năm.
2.2.3/ Truyền thông: Có hai cổng kết nối : cổng DP và cổng MPI
- Kết nối MPI:
- Gồm 1 cổng OP và 1 cổng PG.
- Kết nối tự chọn cho PG/OP và thiết lập cho S7 là 2 cổng.
- Kết nối dữ liệu toàn bộ có 4 mạch GD.
- Khối dữ liệu mạng lớn nhất là 22 byte cho mỗi lần truyền.
- Chiều dài dữ liệu cho mỗi đường truyền là 8 byte.
- Số lượng nút mạng tối đa là 32 nút, và 127 đầu lặp.
- Tốc độ truyền là 19.2 hoặc 187.5 kpbs.
- Khoảng cách truyền : không có bộ khuếch đại là 50m, với 2 bộ khuếch đại là 1100m và nếu sử dụng đến 10 bộ khuếch đại là 9100m.
- Cổng kết nối MPI không có cách ly.
- Profibus – DP:
- Có thể kết nối 64 slave (trạm tớ)
- Vùng địa chỉ cho mỗi slave là 244 byte input và 244 byte output
- Khối dữ liệu lớn nhất là 32 byte
- Tốc độ truyền có thể lên đến 12Mpbs
- Có đồng bộ dữ liệu (nếu S7-300 là master)
- Có giao tiếp trực tiếp
- Bộ nhớ trung gian (nếu S7-300 là slave) 244 byte input và 244 byte output, có thể nâng cấp lên tới 32 vùng địa chỉ mà mỗi vùng địa chỉ này là 32 byte
- Tốc độ truyền phụ thuộc vào khoảng cách
- Cổng Profibus có cách ly
2.2.4/ Điện áp,dòng điện và công suất:
- Điện áp vào định mức là 24V
- Dải điện áp vào là 21.6 ÷ 27.6 V
- Dòng khởi động là 8A
- Công suất là 10W
2.2.5/ Kích thước và khối lượng:
- Kích thước : rộng x cao x dài : 80 x 125x 130 (mm)
- Khối lượng khoảng 0.53 kg.
2.3. Các Modul của 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, đầu 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 Module. Số các Module được sử dụng nhiều hay ít tùy theo từng bài toán , song tối thiểu bao giờ cũng có Module chính là Module CPU. Các Module còn lại là những Module nhận truyền tín hiệu với đối tương điều khiển, các Module chức năng chuyên dụng như: PID, điều khiển động cơ,… chúng được gọi chung là Module mở rộng. Tất cả các Module được gắn trên một thanh ray (Rack).
2.3.1/ Module CPU:
Module CPU chứa bộ vi xử lý, hệ điều hành, bộ nhớ, các bộ thời gian, bộ đếm, truyền thông ( RS485 )… và có thể có vài cổng vào/ra số gọi là onboard.
Trong họ PLC S7_300 có nhiều loại CPU khác nhau, chúng được cài đặt trên bộ vi xử lý có trong CPU như CPU312,CPU314,CPU315,CPU316,CPU318…
Những module cùng có chung bộ vi xử lý nhưng khác nhau về cổng vào/ra onboard,cũng như các khối hàm đặt biệt có sẵn trong thư viện của hệ điều hành để phục vụ cho việc sử dụng cổng vào / ra onboard này được phân biệt với nhau trong tên gọi bằng cách thêm cụm từ IFM (Intergrated Function Module), ví dụ: Module CPU 314 IFM, Module CPU 312 IFM,…
Ngoài ra còn có các loại module CPU với hai cổng truyền thông, trong đó cổng truyền thông thứ hai có chức năng chính là phục vụ việc nối mạng phân tán và kèm theo là những phần mềm tiện dụng thích hợp được cài đặt sẵn trong hệ điều hành. Các loại CPU này được phân biệt với các CPU khác bằng tên gọi thêm cụm từ DP ( Distributted Port ) trong tên gọi. Ví dụ: module CPU315_2DP
2.3.2/ Các Module mở rộng:
Mỗi loại Module mở rộng đều có chức năng riêng. Module mở rộng được chia làm 5 loại chính:
- Power Supply (PS): Module nguồn là module có nhiệm vụ biến đổi điện áp 120/230VAC ra 24VDC để cung cấp điện áp làm việc cho CPU và những module khác. Bao gồm 3 loại : 2A,5A,10A
- Signal Module (SM): Module mở rộng cổng tín hiệu vào/ra, có chức năng truyền và nhận tín hiệu với đối tượng điều khiển gồm những loại sau:
- Digital Input (DI): Module mở rộng các cổng ngõ vào số. Số các cổng ngõ vào tùy thuộc vào những loại module. Bao gồm những loại module sau:
- Module SM 321 DI 32 x 24 VDC
- Module SM 321 DI 16 x 24 VDC
- Module SM 321 DI 16 x 24 VDC với xử lý và chẩn đoán ngắt
- Module SM 321 DI 16 x 24 VDC (Source Input)
- Module SM 321 DI 16 x 120 VAC
- Module SM 321 DI 8 x 120/230 VAC
- Digital Output (DO): Module mở rộng các cổng ngõ ra số. Số các cổng ngõ vào tùy thuộc vào những loại module. Bao gồm những loại module sau:
- Module SM 322 DO 32 x 24 VDC / 0.5A
- Module SM 322 DO16 x 24 VDC / 0.5A
- Module SM 322 DO 8 x 24 VDC với chẩn đoán ngắt
- Module SM 322 DO 8 x 24 VDC / 2A
- Module SM 322 DO 16 x 120 VAC / 2A
- Module SM 322 DO 8 x 120/230 VAC / 2A
- Module SM 322 DO 8 x 120/230 VAC REL
- Module SM 322 DO 8 x 120/230 VAC REL
- Digital Input/Digital Output (DI/DO): Module mở rộng các cổng vào/ra số. Số các cổng vào/ra tùy thuộc từng loại module. Bao gồm những loại module sau:
- Module SM 323 DO 16 x 24 VDC / 0.5A
- Module SM 323 DO 8 x 24 VDC / 0.5A
- Analog Input (AI): Module mở rộng cổng vào tương tự.Chúng chính là bộ chuyển đổi tương tự - số (AD). Số các cổng vào tương tự tùy từng loại module. Bao gồm những loại module sau:
- Module SM 331 AI 2 x 12 bit
- Module SM 331 AI 8 x 12 bit
- Module SM 331 AI 8 x 13 bit
- Module SM 331 AI 8 x 14 bit
- Module SM 331 AI 8 x 16 bit
- Module SM 331 AI 8 x RTD
- Module SM 331 AI 8 x TC
- Module SM 331 AI 8 x TC/4 x RTD
- Module SM 331 AI 4 x 0/4 ÷ 20 mA
- Analog Output (AO): Module mở rộng các cổng ra tương tự. Chúng chính là những bộ chuyển đổi số - tương tự (DA). Số các cổng ra tương tự tùy thuộc từng loại. Bao gồm những loại module sau:
- Module SM 332 AO 2 x 12 bit
- Module SM 332 AO 4 x 12 bit
- Module SM 332 AO 4 x 16 bit
- Module SM 332 AO 8 x 12 bit
- Module SM 332 AO 4 x 0/4 ÷ 20 mA
- Analog Input/Analog Output (AI/AO): Module mở rộng vào/ra tương tự. Số cổng vào/ra tương tự tùy từng loại module. Bao gồm những loại module sau:
- Module SM 334 AI 4 / AO 2 x 12 bit
- Module SM 334 AI 4 / AO 2 x 8/8 bit
- Module SM 334 AI 4 / AO 4 x 14/12 bit
- Interface Module (IM): Module ghép nối. Đây là loại module chuyên dụng có chức năng nối các nhóm module mở rộng lại với nhau thành một khối và được quản lý chung bởi một CPU. Một CPU có thể làm việc trực tiếp nhiều nhất 4 rack, mỗi rack tối đa 8 module mở rộng và các rack Được nối với nhau bằng module IM. Bao gồm các module sau:
- Interface module IM 36
- Interface module IM 361
- Interface module IM 365
- Function Module (FM): Module có chức năng điều khiển riêng, bao gồm nhiều loại như module điều khiển động cơ bước, module điều khiển động cơ servo, module PID, module điều khiển đếm tốc độ cao…Bao gồm các loại module sau:
- Controller Module: Module điều khiển nhiệt độ
- FM 355 Temperature Controller : Module điều khiển nhiệt độ 4AI, 8DI và 4AO.
- FM 355 Temperature Controller : Module điều khiển nhiệt độ 4AI, 8DI và 8DO.
- FM 355 PID control : Module điều khiển bằng PID 4AI, 8DI và 4AO
- FM 355 PID control : Module điều khiển bằng PID 4AI, 8DI và 8DO
- Flow sensor module: Module cho cảm biến dòng
- Positioning Module: Module điều khiển vị trí
- FM 351 FIXED SPEED POS. : module điều khiển vị trí
- FM 353 F. Stepper motor : module điều khiển động cơ bước
- FM 354 F. Servo motor : module điều khiển động cơ servo
- Couter Module: module đếm tốc độ cao
- FM 350-1 couter module : loại 1 kênh
- FM 350-2 couter module : loại 8 kênh
Ngoài ra còn có module điều khiển CNC và module CAM
- Communication Module (CP): Module phục vụ truyền thông trong mạng giữa các bộ PLC với nhau hoặc giữa PLC với máy tính.
2.4. Đặc tính kỹ thuật của Module PS:
2.4.1/ Chức năng:
Module có nhiệm vụ biến đổi điện áp 120/230VAC ra 24VDC để cung cấp điện áp làm việc cho CPU và những module khác.
Module nguồn gồm có 3 loại : 2A,5A,và 10A.
Module nguồn 5A gồm có các đặc điểm sau:
- Dòng điện ngõ ra là 5A
- Diện áp dịnh mức ngõ ra là 24VDC bảo vệ ngắn mạch và hở mạch
- Diện áp vào là từ 120 – 230VAC tần số 50/60 Hz
- Có thể được sử dụng để cung cấp nguồn cho tải.
2.4.2/ Sơ đồ mạch cơ bản của module nguồn PS 307 Power Supply 5A:
- Những điều kiện ảnh hưởng đến module nguồn 5A khi điều kiện làm việc không đúng quy định:
Nếu |
Thì |
Led 24V |
Ngõ ra bị quá tải -Dòng đột ngột I>6.5A -Dòng luôn duy trì ở mức : 5< I < 6.5 |
-Bị sụt áp, sau đó tự động khôi phục điện áp -Điện áp rơi, làm giảm tuổi thọ của module |
Sáng
|
Ngõ ra bị ngắn mạch |
-Điện áp ngõ ra là 0V, tự động khôi phục điện áp sau khi không còn sự cố ngắn mạch nữa |
Led không sáng |
Điện áp vào quá lớn
Điện áp vào quá nhỏ |
-Có thể phá hủy module
-Sẽ tự động gián đoạn,sau đó tự khôi phục lại điện áp |
Led không sáng |
2.4.3/ Đặc tính kỹ thuật của Module Power Supply (PS) 5A:
- Kích thước : rộng x cao x dài : 80 x 125 x 120 (mm)
- Khối lượng : 740g
- Đặc tính ngõ vào:
- Điện áp định mức 120/230 VAC
- Tần số định mức 50/60 Hz
- Giới hạn tần số cho phép 47-63 Hz
- Dòng điện ngõ vào định mức : ở 230V là :1A; ở 120V là : 2A
- Dòng khởi động 45A
- Đặc tính ngõ ra:
- Điện áp định mức 24VDC
- Giới hạn điện áp cho phép : 24VDC 6 5%
- Dòng điện ngõ ra 5A
- Bảo vệ ngắn mạch, bảo vệ nối đất. Độ cách ly đáng tin cậy
- Hiệu quả 87%
- Công suất đầu vào 138W
- Công suất hao phí 18W
Hình ảnh của module nguồn PowerSupply 307
CHƯƠNG 3: NGÔN NGỮ LẬP TRÌNH S7-300
DẠNG LADDER
Kí hiệu: KQ là kết quả thu được sau phép tính
KT là kết quả trước phép tính
3.1. Thanh ghi trạng thái:
Khi thực hiện lệnh, CPU sẽ ghi nhận lại trạng thái của phép tính trung gian cũng như của kết quả vào một thanh ghi đặc biệt 16 Bits, được gọi là thanh ghi trạng thái ( Status Word) >Mặc dù thanh ghi trạng thái này có độ dài 16 Bits nhưng chỉ sử dụng 9 Bits với cấu trúc như sau:
|
- FC (First check): Khi phải thực hiện một dãy các lệnh logic lien tiếp nhau gồm các phép tính giao hợp và nghịch đảo, bit FC có giá trị bằng 1, hay nói cách khác, FC=0 khi dãy lệnh Logic tiếp điểm vừa được kết thúc.
- RLO (Result of logic operation): Kết quả tức thời của phép tính logic vừa được thực hiện
- STA (Status bit): Bit trạng thái này luôn có giá trị logic của tiếp điểm đươc chỉ định trong lệnh.
- OR: Ghi lại giá trị của phép tính logic giao cuối cùng được thực hiện để phụ giúp cho việc thực hiện phép toán hợp sau đó.Điều này là cần thiết vì trong một biểu thức hàm 2 trị ,phép tính giao bao giờ cũng phải được thực hiện trước các phép tính hợp.
- OS (Stored overflow bit) : Ghi lại giá trị Bit bị tràn ra ngoài mảng ô nhớ.
- OV(Overflow Bit): Bit báo cáo kết quả phép tính bị tràn ra ngoài mảng ô nhớ.
- CC0 và CC1 (Condition code) : Hai bit báo trạng thái của kết quả phép tính với số nguyên, số thực phép dịch chuyển hoặc phép tính logic trong ACCU
CC1 |
CC0 |
Ý nghĩa |
0 |
0 |
Kết quả bằng 0 (=0) |
0 |
1 |
Kết quả nhỏ hơn 0 ( < 0 ) |
1 |
0 |
Kết quả lớn hơn 0 ( > 0 ) |
Bảng 3.1: Khi thực hiện lệnh toán học như cộng trừ nhân chia với số nguyên hoặc số thực
CC0
|
CC1 |
Ý Nghĩa |
0 |
0 |
Kết quả quá nhỏ khi thực hiện lệnh cộng (+I,+D) |
0 |
1 |
Kết quả quá nhỏ khi thực hiện lệnh nhân (*I,*D) hoặc quá lớn khi thực hiện lệnh cộng trừ (+I,+D,-I,-D) |
1 |
0 |
Kết quả quá lớn khi thực hiện lệnh nhân chia (*I,*D,/I,/D ) hoặc quá nhỏ khi thực hiện lệnh cộng trừ (+I,+D,-I,-D) |
1 |
1 |
Kết quả bị tràn do thực hiện lệnh chia cho 0 (/I,/D) |
Bảng 3.2: Khi thực hiện lệnh toán học với số nguyên nhưng kết quả bị tràn ô nhớ
CCO |
CC1 |
Ý Nghĩa |
0 |
0 |
Kết quả có số mũ e quá lớn |
0 |
1 |
Kết quả có mantissa quá nhỏ |
1 |
0 |
Kết quả có mantissa quá lớn |
1 |
1 |
Phép tính sai quy chuẩn
|
Bảng 3.3: Khi thực hiện lệnh toán học với số thực nnhưng kết quả bị tràn ô nhớ
CC0 |
CC1 |
Ý Nghĩa |
0 |
0 |
Giá trị của bit bị đẩy ra bằng 0 |
1 |
0 |
Giá trị của Bit bị đẩy ra bằng 1 |
Bảng 3.4: Khi thực hiện lệnh dịch chuyển
CC0 |
CC1 |
Ý Nghĩa |
0 |
0 |
Kết quả bằng 0 |
1 |
0 |
Kết quả khác 0 |
Bảng 3.5: Khi thực hiện lệnh logic trong ACCU
- BR ( Binary result bit) : Bit trạng thái cho phép liên kết hai loại ngôn ngữ lập trình STL và LAD .Chẳng hạn cho phép người sử dụng có thể viết một khối chương trình FB hoặc FC trên ngôn ngữ STL nhưng gọi và sử dụng chúng trong một chương trình khác viết trên LAD .Để tao ra được mối liên kết đó,ta cần phải kết thúc chương trình trong FB,FC bằng lệnh ghi
BR = 1 ,nếu chương trình chạy không có lỗi
BR = 0 ,nếu chương trình chạy có lỗi
Khi sử dụng các khối hàm đặc biệt của hệ thống ( SFC hoặc SFB), trạng thái làm việc của chương trình cũng được thông báo ra ngoài qua bit trạng thái BR như sau:
BR=1 nếu SFC hay SFB thực hiện không có lỗi
BR=0 nếu có lỗi khi thực hiện SFC hay SFB
............................................
3.3.5/Lệnh S_OFFDT:
Khi I0.0 ON, Q0.0 =1, khi I0.0 OFF Timer bắt đầu chạy và Q0.0 chỉ tắt khi đủ thời gian và I0.0 vẫn OFF
Khi có tín hiệu Reset I0.1 thì tất cả tín hiệu đều OFF
3.3.6/ Lệnh TON
Số Timer trong S7_300 phụ thuộc vào loại CPU.v CPU 312: có 128 Timer
- CPU 312: có 128 time.
- CPU 313 trở lên: có 256 Timer.
- Có 2 cách cài đặt giá trị cho Timer:
- Cài thông số thời gian trực tiếp:
Để cài giá trị trực tiếp cho Timer ta phải thêm kí tự S5T# trước giá trị đặt. Các kí tự kế tiếp là thông số thời gian muốn cài đặt cho Timer.
Tổng quát như sau: S5T#aH_bM_cS_dMS.
Trong đó:
H: giờ
M: phút
S: giây
MS: mili giây
a,b,c,d: các thông số cài đặt.
VD: S5T#3S: thời gian cài đặt là 3s
S5T#7S500MS: thời gian cài đặt là 7,5s
S5T#1M8S200MS: thời gian cài đặt là 1 phút 8 giây 200 ms
S5T#1H1M10S: thời gian cài đặt là 1 giờ 1 phú 10 giây.
Trong VD trên thì T0 được cài thời gian là 1giờ 30 phút.
Trong VD trên, khi I0.0 ON, Timer T5 sẽ được kích hoạt. Đủ thời gian cài đặt là 2s thì bit
T5 tác động làm cho Q0.0 ON. Khi ngõ vào I0.1 tác động thì Timer được reset. Giá trị hiện tại của Timer cũng như Bit T5 được Reset về 0.
- Cài đặt thông số thời gian thông qua biến nhớ:
Giá trị cài đặt cho timer thông qua một biến kiểu WORD 16 bit:
Hai bit cao nhất trong WORD không sử dụng
Hai bit kế tiếp (Time base) cài thông số đơn vị thời gian cho Timer, cụ thể:
12 bit kế tiếp là giá trị cài đặt thời gian cho Timer dưới dạng số BCD (giá trị từ 0-999). Như trong VD trên thì giá trị cài đặt cho Timer sẽ là 127s.
Như vậy để có thể cài đặt giá trị cho Timer thay đổi theo ô nhớ. Ta phải thực hiện các bước:
- Giá trị Timer phải bé hơn hoặc bằng 999
- Chuyển giá trị đó sang dạng BCD dùng lệnh I_BCD
- Sau đó chọn Time Base theo mong muốn như bảng trên bằng cách chọn 4 Bit đầu.
- TOFF:
<T no.>
---(SF)
<time value>
Trong VD trên, khi I0.0 ON, Bit T5 sẽ ON ngay khi I0.0 ON. Khi I0.0 chuyển từ ON sang
OFF, Timer T5 sẽ được kích hoạt. Đủ thời gian cài đặt là 2s thì Timer T5 tác động, bit T5
OFF làm cho Q0.0 OFF. Khi ngõ vào I0.1 tác động thì Timer được reset. Giá trị hiện tại của Timer cũng như Bit T5 được Reset về 0.
Cách cài đặt thông số thời gian của Timer OFF tương tự như Timer ON.
- TON có nhớ:
Trong VD trên, khi I0.0 ON, Timer T5 sẽ được kích hoạt. Đủ thời gian cài đặt là 2s thì bit T5 tác động làm cho Q0.0 ON. Trong trường hợp thời gian chưa đủ 2S mà I0.0 chuyển OFF sang ON một lần nữa, giá trị đếm của Timer sẽ được khởi động lại.
Giữa Timer ON và Timer ON có nhớ còn khác nhau một điểm nữa như sau:
- Timer ON: sau khi Timer tác động, Bit của Timer được bật ON, nếu tín hiệu kích Timer mất đi thì Timer sẽ được Reset, Bit timer sẽ OFF.
- Timer ON có nhớ: sau khi Timer tác động, Bit của Timer được bật ON, nếu tín hiệu kích Timer mất đi thì Timer vẫn không Reset, Bit timer sẽ vẫn ON.
Khi ngõ vào I0.1 tác động thì Timer được reset. Giá trị hiện tại của Timer cũng như Bit T5 được Reset về 0.
- Timer xung:
- Mô tả:
Khi I0.0 chuyển từ 0 lên 1, Timer T5 sẽ được khởi động, ngõ ra bit T5sẽ ON ngay lập tức. Khi hết thời gian cài đặt là 2s thì bit T5 OFF (nếu ngõ vào I0.0 vẫn còn ON). Trong trường hợp chưa đủ 2s mà ngõ vào I0.0 đã OFF, Timer sẽ được reset và ngõ ra bit T5 OFF.Trong khi Timer chạy mà chưa đủ 2s, nếu I0.1 chuyển từ 0 lên 1. Ngõ ra bit T5 sẽ OFF và thời gian được reset.
- Timer xung mở rộng:
- Mô tả:
Khi I0.0 chuyển từ 0 lên 1, Timer T5 sẽ được khởi động, ngõ ra bit T5 sẽ ON ngay lập tức. Khi hết thời gian cài đặt là 2s thì bit T5 OFF (bất kể ngõ vào I0.0 vẫn còn ON hay đã OFF). Trong trường hợp chưa đủ 2s mà ngõ vào I0.0 chuyển từ OFF lên ON một lần nữa, Timer sẽ được khởi động lại.
Khi I0.1 chuyển từ 0 lên 1. Ngõ ra bit T5 sẽ OFF và thời gian được reset.
3.4. Counter:
3.4.1/ Lệnh đếm lên xuống S_CUD:
Ngõ vào I0.2=1: đưa giá trị đếm vào PV
Khi I0.0 chuyển trạng thái từ 0 lên 1, C0 đếm tăng lên 1
Khi I0.1 chuyển trạng thái từ 0 lên 1 ,C0 đếm giảm xuống 1
Khi cả I0.0 và I0.1 đều chuyển trạng thái thì C0 không thay đổi
Khi I0.3=1 thì C0 bị Reset về 0
Giá trị bộ đếm hiện thời nằm trong 2 ô nhớ MW100 và MW102 dưới dạng Integer và dạng BCD, giá trị này có tầm từ 0 – 999.
Ngõ ra Q0.0=1 khi giá trị đếm lớn hơn 0
3.4.2/ Lệnh đếm lên S_CU:
Ngõ vào I0.1=1: đưa giá trị đếm vào PV
Khi I0.0 chuyển trạng thái từ 0 sang 1 , C0 đếm tăng lên 1
Khi I0.2 = 1 Counter bị Reset
Ngõ ra Q0.0=1 khi giá trị đếm lớn hơn 0
Giá trị bộ đếm hiện thời nằm trong 2 ô nhớ MW100 và MW102 dưới dạng Integer và dạng BCD, giá trị này có tầm từ 0 – 999.
Ngõ ra Q0.0=1 khi giá trị đếm lớn hơn 0
3.4.3/ Lệnh đếm xuống S_CD:
Ngõ vào I0.1=1: đưa giá trị đếm vào PV
Khi I0.0 chuyển trạng thái từ 1sang 0, C0 giảm đi 1
Khi I0.2 = 1Counter bị Reset
Ngõ ra Q0.0=1 khi giá trị đếm lớn hơn 0
Giá trị bộ đếm hiện thời nằm trong 2 ô nhớ MW100 và MW102 dưới dạng Integer và dạng BCD, giá trị này có tầm từ 0 – 999.
Ngõ ra Q0.0=1 khi giá trị đếm lớn hơn 0
3.4.4/Lệnh Set Counter: (SC)
S7_300 có 1000 counter (từ C0 đến C999)
- Mô tả:
Khi I0.0 ON, giá trị 100 sẽ được nạp cho Counter C5.
Khi I0.0 OFF, giá trị Counter sẽ phụ thuộc vào các tín hiệu kích đếm.
3.4.5/ Lệnh đếm lên: (CU)
- Mô tả:
Khi I0.0 chuyển từ 0 lên 1, giá trị 100 sẽ được nạp vào cho Counter C10.
Cứ mỗi xung cạnh lên ở ngõ vào I0.1, bộ đếm C10 sẽ tăng 1đơn vị. Khi giá trị tăng đến 999 thì tín hiệu kích tăng không còn tác dụng.
Khi I0.2 chuyển từ 0 lên 1, giá trị bộ đếm và bit C10 sẽ được reset.
3.4.6/ Lệnh đếm xuống: (CD)
- Mô tả:
Khi I0.0 chuyển từ 0 lên 1, giá trị 100 sẽ được nạp vào cho Counter C10.
Cứ mỗi xung cạnh lên ở ngõ vào I0.1, bộ đếm C10 sẽ giảm 1đơn vị. Khi giá trị giảm đến 0 thì tín hiệu kích giảm không còn tác dụng, đồng thời lúc đó C10 sẽ OFF. Nếu bộ đếm khác 0, C10 sẽ ON.
Khi I0.2 chuyển từ 0 lên 1, giá trị bộ đếm và bit C10 sẽ được reset.
Kết luận
Qua thời gian thực hiện đề tài,nhóm thực hiện thực hieenjj đã học được những bài học thực tiễn bổ ích. Từ đó rút ra được một số kết luận.
Với sự phát triển vượt bậc của khoa học kỹ thuật, những thành tựu đã và đang góp phần thúc đẩy xã hội phát triễn vượt bậc. Đặc biệt là trong lĩnh vực công nghệ điện và tự động hóa.
Điện và tự động hóa là một lĩnh vực quan trọng không thể thiếu của đời song xã hội, công nghệ tự động ngày càng chứng tỏ được vị thế của mình, tự động hóa máy móc trong sản xuất giúp giảm sức lao động cho người vạn hành, nâng cao chất lượng sản phẩm.
Việc thiết kế thi công mô hình giúp ích rất nhiều cho việc học tập của nhóm thực hiện đề tài. Thời gian đầu còn bỡ ngỡ nhưng dưới sự chỉ dẫn tận tình của thầy Phạm Văn Thành đã chỉ dạy nhóm thực hiện đề tài tạo điều kiện làm quen tiếp xúc với đề tài, nhóm thực hiện đề tài đã biết cách vận dụng những kiến thức đã học trong trường của tất cả các bộ môn để thực hiện nhiệm vụ đồ án. Nhóm thực hiện đề tài xin chân thành cảm ơn sự chỉ dẫn tận tình của thầy Phạm Văn Thành cùng những đóng góp xây dựng của bạn cùng học.
Vì thời gian thực hiện đề tài không nhiều và khả năng nhóm thực hiện đề tài có hạn, nên đề tài không tránh khỏi những thiếu sót, nhóm thực hiện rất mong sụ giúp đỡ, ý kiến đóng góp của quý thầy cô và các bạn để đồ án này được hoàn thiện hơn.
Sinh vên thực hiện
Tài liệu tham khảo
1. Simatic s7-300 điều khiển hệ thống (systemhandling),Đại học sư phạm kỹ thuật, trung tâm Việt – Đức, Siemens, tài liệu huấn luyện tự động và điều khiển.
2. simatic s7-300 xử lý lỗi (troubleshooting), Đại học sư phạm kỹ thuật, trung tâm Việt – Đức, Siemens, tài liệu huấn luyện tự động và điều khiển.
3. www.webdien.com
4. www.Diendanhethongdien.com
5. www.havc.com.vn