ĐỒ ÁN TỐT NGHIỆP ĐIỆN TỬ Thiết kế hệ thống điều khiển giám sát mức nước của bồn chứa Đại Học
NỘI DUNG ĐỒ ÁN
ĐỒ ÁN TỐT NGHIỆP ĐIỆN TỬ Thiết kế hệ thống điều khiển giám sát mức nước của bồn chứa Đại Học
MỤC LỤC
CHƯƠNG 1:3
TỔNG QUAN VỀ PLC S7-300 VÀ PHẦN MỀM SIMATIC STEP 7. 3
1.1. Giới thiệu về PLC S7-300. 3
1.1.1. Cấu tạo của họ PLC- S7-300. 3
1.1.1. Các khối chức năng của PLC- S7-300. 4
1.1.2. Địa chỉ và gán địa chỉ5
1.1. Các lệnh lập trình trong Step 7. 9
1.1.1. Nhómlệnhlogictiếpđiểm:9
1.1.1. Lệnh về timer:10
1.1.2. Bộ đếmCounter:13
1.1.4. Lệnh so sánh. 14
1.1.5. Lệnh số học. 16
1.1.6. Lệnh di chuyển và dịch bit17
CHƯƠNG 2:19
TỔNG QUAN VỀ PHẦN MỀM THIẾT KẾ GIAO DIỆN WINCC.. 19
2.1. Giới thiệu về WINCC.19
2.1.1. Khái niệm.. 19
2.2 Các thành phần của winCC.21
2.3 Các thành phần chính của cửa sổ dự án. 22
CHƯƠNG 3:25
XÂY DỰNG HỆ THỐNG GIÁM SÁT VÀ ĐIỀU KHIỂN BỒN NƯỚC.. 25
3.1. Giới thiệu về yêu cầu công nghệ và thiết kế WINCC.. 25
3.1.1. Giao diện điều khiển ở chế độ tự động. 25
3.1.1. Giao diện điều khiển ở chế độ bằng tay. 26
3.1.2. Tạo bồn nước. 26
3.1.3. Tạo thanh bar hiển thị mức nước. 27
3.1.4. Thiết lập thuộc tính cho động cơ. 29
3.1.5. Thiết lập thuộc tính cho vanvà đường ống. 31
3.1.6. Thiết lập thuộc tính cho nút ấn. 33
3.1.7. Thiết lập thuộc tính cho giọt nước. 34
- 2. Chương trình S7-300. 36
- 2.1. Các biến vào ra. 36
- 2.2. Chương trình S7300. 36
CHƯƠNG 1:
TỔNG QUAN VỀ PLC S7-300 VÀ PHẦN MỀM SIMATIC STEP 7
1.1. Giới thiệu về PLC S7-300
1.1.1. Cấu tạo của họ PLC- S7-300
PLC Step 7-300 thuộc họ Simatic do hãng Siemens sản xuất. Đây là loại PLC đa khối. Cấu tạo cơ bản của loại PLC này là một đơn vị cơ bản (chỉ để xử lý) sau đó ghép thêm các module mở rộng về phía bên phải, có các module mở rộng tiêu chuẩn.
Hình 1.1– Các khối modul của PLC S7-300
(*) Các đèn báo
+ Đèn SF: báo lỗi CPU.
+ Đèn BAF: Báo nguồn ắc qui.
+ Đèn DC 5v: Báo nguồn 5v.
+ Đèn RUN: Báo chế độ PLC đang làm việc.
+ Đèn STOP: Báo PLC đang ở chế độ dừng.
(*) Công tắc chuyển đổi chế độ
+ RUN-P: Chế độ vừa chạy vừa sửa chương trình.
+ RUN: Đưa PLC vào chế độ làm việc.
+ STOP: Để PLC ở chế độ nghỉ.
+ MRES: Vị trí chỉ định chế độ xoá chương trình trong CPU.
Muốn xoá chương trình thì giữ nút bấm về vị trí MRES để đèn STOP nhấp nháy, khi thôi không nhấp nháy thì nhả tay. Làm lại nhanh một lần nữa (không để ý đèn STOP) nếu đèn vàng nháy nhiều lần là xong, nếu không thì phải làm lại.
Hình 1.2 – Các chức năng phần cứng của PLC S7-300
1.1.1. Các khối chức năng của PLC- S7-300
Tuỳ theo quá trình tự động hoá đòi hỏi số lượng đầu vào và đầu ra ta phải lắp thêm bao nhiêu module mở rộng cũng như loại module cho phù hợp. Tối đa có thể gá thêm 32 module vào ra trên 4 panen (rãnh), trên mỗi panen ngoài module nguồn, CPU và module ghép nối còn gá được 8 các module về bên phải. Thường Step 7-300 sử dụng các module sau:
+ Module nguồn PS (3 loại: 2A,3A,5A)
+ Module ghép nối IM (Intefare Module):
+ Module tín hiệu SM (Signal Module):
- Vào số: 8 kênh, 16 kênh, 32 kênh.
- Ra số: 8 kênh, 16 kênh, 32 kênh.
- Vào, ra số: 8 kênh vào 8 kênh ra,
16 kênh vào 16 kênh ra.
- Vào tương tự: 2 kênh, 4 kênh, 8 kênh.
- Ra tương tự: 2 kênh, 4 kênh, 8 kênh.
- Vào, ra tương tự: 2 kênh vào 2 kênh ra,
4 kênh vào 4 kênh ra.
+ Module hàm (Function Module).
- Đếm tốc độ cao.
- Truyền thông CP 340, CP340-1, CP341.
+ Module điều khiển (Control Module):
- Module điều khiển PID.
- Module điều khiển Fuzzy.
- Module điều khiển rô bot.
- Module điều khiển động cơ bước.
- Module điều khiển động cơ Servo.
1.1.2. Địa chỉ và gán địa chỉ
Trong PLC có những bộ phận được gán địa chỉ đơn như bộ thời gian (T), bộ đếm (C)... chỉ cần một chữ cái đó kèm theo một số là đủ, ví dụ: T1, C31...
Các địa chỉ đầu vào và đầu ra cùng với các module chức năng có cách gán địa chỉ giống nhau.
Địa chỉ phụ thuộc vào vị trí gá của module trên Panen.
Chỗ gá module trên panen gọi là khe (Slot), các khe đều có đánh số, khe số 1 là khe đầu tiên của và cứ thế tiếp tục.
(*) Địa chỉ vào ra trên module số:
Khi gá module số vào, ra lên một khe nào lập tức nó được mạng địa chỉ byte của khe đó, mỗi khe có 4 byte địa chỉ.
Trên mỗi module thì mỗi đầu vào, ra là một kênh, các kênh đều có địa chỉ bit là 0 đến 7. Địa chỉ của mỗi đầu vào, ra là số ghép của địa chỉ byte và địa chỉ kênh, địa chỉ byte đứng trước, địa chỉ kênh đứng sau, giữa hai số có dấu chấm.
Khi module gá trên khe thì địa chỉ được tính từ byte đầu của khe, các đầu vào và ra của một khe có cùng địa chỉ hình 1.2.
Hình 1.3 – Địa chỉ khe và kênh trên module số
Ví dụ:Module 2 đầu vào, 2 đầu ra số gá vào khe số 5 rãnh 0 có địa chỉ là I4.0, I4.1 và Q4.0, Q4.1.Module số có thể được gá trên bất kỳ khe nào trên panen của PLC.
(*) Địa chỉ vào ra trên module tương tự
Trong PLC S7-300 người ta dùng 16 bit (một word) cho một kênh. Một khe có 8 kênh với địa chỉ đầu tiên là PIW256 hoặc PQW256 (byte 256 và 257) cho đến PIW766 hoặc PQW766 như hình 2.45. Module tương tự có thể được gá vào bất kỳ khe nào trên panen của PLC, các khe trống bao giờ cũng có trạng thái tín hiệu “0”.
Ví dụ: Một module tương tự 2 vào, 1 ra gá vào khe số 6 rãnh 0 có địa chỉ là PIW288, PIW290, PQW288.
Hình 1.4– Địa chỉ khe và kênh trên module tương tự
(*) Các vùng nhớ của PLC S7-300
TT |
Tham số |
Diễn giải |
Vùng tham số |
1 |
I |
Đầu vào bit |
0.0 ... 65535.7 |
2 |
IB |
Đầu vào byte |
0 ... 65535 |
3 |
IW |
Đầu vào từ |
0 ... 65534 |
4 |
ID |
Đầu vào từ |
0 ... 65532 |
5 |
Q |
Đầu ra bit |
0.0 ... 65535.7 |
6 |
QB |
Đầu ra byte |
0 ... 65535 |
7 |
QW |
Đầu ra từ |
0 ... 65534 |
8 |
QD |
Đầu ra từ kép |
0 ... 65532 |
9 |
M |
Nhớ nội dạng bit |
0.0 ... 255.7 |
10 |
MB |
Nhớ nội dạng byte |
0 ... 255 |
11 |
MW |
Nhớ nội dạng từ |
0 ... 254 |
12 |
MD |
Nhớ nội dạng từ kép |
0 ... 252 |
13 |
PIB |
Vựng đệm đầu vào dạng byte |
0 ... 65535 |
14 |
PIW |
Vựng đệm đầu vào dạng từ |
0 ... 65534 |
15 |
PID |
Vựng đệm đầu vào dạng từ kép |
0 ... 65532 |
TT |
Tham số |
Diễn giải |
Vùng tham số |
16 |
PQB |
Vùng đệm đầu ra dạng byte |
0 ... 65535 |
17 |
PQW |
Vùng đệm đầu ra dạng từ |
0 ... 65534 |
18 |
PQD |
Vùng đệm đầu ra dạng từ kộp |
0 ... 65532 |
19 |
T |
Bộ thời gian |
0 ... 255 |
20 |
C |
Bộ đếm |
0 ... 255 |
21 |
DBX |
Khối dữ liệu kiểu BD dạng bit |
0.0 ... 65535.7 |
22 |
DBB |
Khối dữ liệu kiểu BD dạng byte |
0 ... 65535 |
23 |
DBW |
Khối dữ liệu kiểu BD dạng từ |
0 ... 65534 |
24 |
DBD |
Khối dữ liệu kiểu BD dạng từ kộp |
0 ... 65532 |
25 |
DIX |
Khối dữ liệu kiểu BI dạng bit |
0.0 ... 65535.7 |
26 |
DIB |
Khối dữ liệu kiểu BI dạng byte |
0 ... 65535 |
27 |
DIW |
Khối dữ liệu kiểu BI dạng từ |
0 ... 65534 |
28 |
DID |
Khối dữ liệu kiểu BI dạng từ kộp |
0 ... 65532 |
29 |
L |
Vùng dữ liệu tạm thời dạng bit |
0.0 ... 65535.7 |
30 |
LB |
Vùng dữ liệu tạm thời dạng byte |
0 ... 65535 |
31 |
LW |
Vùng dữ liệu tạm thời dạng từ |
0 ... 65534 |
32 |
LD |
Vùng dữ liệu tạm thời dạng từ kộp |
0 ... 65532 |
1.1. Các lệnh lập trình trong Step 7
1.1.1. Nhómlệnhlogictiếpđiểm:
- Lệnh về bit:
Tiếp điểm thường hở: KQ=KT nếu I0.0=1. KQ=0 nếu I0.0=0
Tiếp điểm thường đóng: KQ=KT nếu I0.0=0. KQ=0 nếu I0.0=1
Lệnh Not: KQ thu được bằng đảo giá trị của KT, Nếu KT=1 thì KQ=0, Nếu KT=0 thì KQ=1.
Ngõ ra ( cuộn coil) : Gán KQ cho ngõ ra Q0.0
Xác định kết quả: Gán KQ tại vị trí mà lệnh được chèn
Vd: M0.0 lưu kết quả sau 2 phép tính qua I0.0 và I0.1
Lệnh SET Bit: Gán giá trị 1 cho M0.0
Lệnh RESET Bit: Gán giá trị 0 cho M0.0
Vi phân cạnh lên: M0.0 lưu giá trị KQ ở vòng quét trước
Khi I0.0 chuyển trạng thái từ 0 sang 1 và M0.0 =0 thì Q0.0 =1
Vi phân cạnh xuống: M0.0 lưu giá trị KQ ở vòng quét trước
Khi I0.0 chuyển trạng thái từ 1 xuống 0 và M0.0=1 thì Q0.0=1
1.1.1. Lệnh về timer:
-Lệnh S_PULSE:
Nếu I0.0=1 Timer được kích chạy, khi I0.0=0 hoặc chạy đủ thời gian đặt 2s thì Timer dừng. Hoặc có tín hiệu I0.1 thì Timer cũng dừng. Timer chỉ chạy lại khi có tín hiệu mới từ I0.0 ( tức là I0.0 chuyển trạng thái từ 0 lên 1 ).
Q0.0=1 khi Timer đang chạy.
MW100 lưu giá trị đếm của Timer theo dạng Integer
MW102 lưu giá trị của Timer theo dạng BCD
Chức năng của Timer này là tạo xung có thời gian được đặt sẵn.
-Lệnh S_PEXT:
Timer kích có nhớ, Khi có tín hiệu cạnh lên ở I0.0 Timer T5 chạy, nếu đủ thời
gian đặt Timer dừng.
Trong quá trình chạy nếu có tín hiệu mới từ chân I0.0 thì thời gian Timer lại
được tính lại từ đầu.
Trong quá trình chạy nếu có tín hiệu I0.1 thì Timer dừng Q0.0 =1 khi Timer đang chạy.
Các ô nhớ MW100 và MW102 lưu giá trị hiện thời của Timer theo dạng
Integer và dạng BCD
- Lệnh S_ODT:
Nếu I0.0=1 Timer bắt đầu chạy khi đủ thời gian thì ngưng khi đó ngõ Q0.0 sẽ
lên 1 nếu I0.0 vẫn còn giữ trạng thái 1, khi có tín hiệu I0.1 thì tất cả phải được Reset về 0. Các ô nhớ MW100 và MW102 lưu giá trị hiện thời của Timer theo dạng Integer và dạng BCD
- Lệnh S_ODTS:
Timer kích có nhớ, khi có xung cạnh lên ở I0.0 Timer bắt đầu chạy, ngõ ra
Q0.0=1 khi Timer ngưng và chỉ tắt khi có tín hiệu Reset (tín hiệu I0.1)
Trong quá trình Timer chạy nếu có sự chuyển đổi tín hiệu từ chân I0.0 thêm 1
lần nữa thì Timer sẽ nhớ và tiếp tục chạy khi hết thời gian lần trước.
Số Timer trong S7_300 phụ thuộc vào loại CPU.
CPU 312: có 128 Timer
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.
- 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 bits.
1.1.2. Bộ đếmCounter:
-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
- 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
-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ừ 1 sang 0, C0 giảm đi 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
1.1.4. Lệnh so sánh
-Lệnh so sánh số nguyên:
Lệnh EQ_I(Equal Integer): so sánh MW100 và MW102, nếu hai số nguyên
này bằng nhau thì KT=KQ
- Lệnh NE_I ( Not Equal Integer): So sánh MW100 và MW102, nếu 2 số này khác nhau thì KQ=KT.
-Lệnh GT_I ( Greater than Integer): So sánh 2 số MW100 và MW102, nếu
MW100 lớn hơn MW102 thì KQ=KT.
-Lệnh GE_I ( Greater than or equal Integer ): So sánh 2 số MW100 và
MW102, nếu MW100 lớn hơn hoặc bằng MW102 thì KQ=KT.
-Lệnh LE_I ( Less than or equal Integer ): So sánh 2 số MW100 và MW102, nếu MW100 bé hơn hoặc bằng MW102 thì KQ=KT.
Lệnh so sánh hai số Double Interger và hai số thực Real tương tự như trên
1.1.5. Lệnh số học
Phép toán trên số nguyên 16 bit:
-Lệnh ADD_I : Lệnh thực hiện việc cộng 2 số nguyên 16 Bit, kết quả cất vào số nguyên 16 Bit, nếu kết quả vượt quá 16 Bit thì cờ OV sẽ bật lên 1, cờ OS sẽ lưu Bit bị tràn đó.
MW104 = MW100 + MW102
- Lệnh SUB_I : Lệnh thực hiện việc trừ 2 số nguyên 16 Bit , kết quả cất vào số nguyên 16 Bit , nếu kết quả vượt quá 16 Bit thì cờ OV sẽ bật lên 1, cờ OS sẽ lưu Bit bị tràn đó.
MW104 = MW100 - MW102
-Lệnh MUL_I : Lệnh thực hiện việc nhân 2 số nguyên 16 Bit, kết quả cất vào số nguyên 16 Bit, nếu kết quả vượt quá 16 Bit thì cờ OV sẽ bật lên 1, cờ OS sẽ lưu Bit bị tràn đó.
MW104 = MW100 * MW102
-Lệnh DIV_I : Lệnh thực hiện việc chia 2 số nguyên 16 Bit, kết quả cất vào số nguyên 16 Bit, nếu kết quả vượt quá 16 Bit thì cờ OV sẽ bật lên 1, cờ OS sẽ lưu Bit bị tràn đó.
MW104 = MW100 : MW102
Phép Toán trên số nguyên 32 Bit và số thực 32 Bit tương tự.
1.1.6. Lệnh di chuyển và dịch bit
-Lệnh MOV : Lệnh đưa giá trị một ô nhớ sang 1 ô nhớ khác, lệnh này có thể áp dụng cho mọi kiểu số khác nhau ( Int, Dint, Real, Byte….).
- Lệnh dịch bit.
-Lệnh SHR_W: Lệnh thực hiện việc dịch phải ô nhớ 16 Bit, kết quả cất vào ô nhớ 16 Bit, N là số Bit dịch. Ô nhớ này được định dạng theo kiểu Word.
-Lệnh SHL_W: Lệnh thực hiện việc dịch trái ô nhớ16Bit, kết quả cất vào ô nhớ 16 Bit, N là số Bit dịch. Ô nhớ này được định dạng theo kiểu Word.
-Các lệnh dịch phải, dịch trái ô nhớ 32 Bit tương tự.
CHƯƠNG 2:
TỔNG QUAN VỀ PHẦN MỀM THIẾT KẾ GIAO DIỆN WINCC
2.1. Giới thiệu về WINCC.
Thông thường một hệ thống SCADA (Supervisory Control And Data
Aquisition) yêu cầu một phần mềm chuyên dụng để xây dựng giao diện điều khiển HMI (Human Machine Interface) cũng như phục vụ việc sử lý và lưu trữ dữ liệu.
Phần mềmWinCC của Siemens là một phần mềm chuyên dụng cho mục đích này.
2.1.1. Khái niệm
WinCC là một trong các chương trình ứng dụng Scada trong lĩnh vực dân
dụ ng và công nghiệp. WinCC được dùng để điều hành các màn hình hiện thị và hệ thống điều khiển trong tự động hóa sản xuất và quá trình.
WinCC là chữ viết tắt của Window Control Center, là một phần mền của hãng
Siemens dùng để giám sát, điều khiển và thu thập dữ liệu trong quá trình sản xuất.Theo nghĩa hẹp, WinCC là chương trình hỗ trợ cho người lập trình thiết kế giao diện Người và Máy– HMI (Human Machine Interface) trong hệ thống SCADA (Supervisory Control And Data Acquisition), với chức năng chính là thu thập dữ liệu, giám sát và điều khiển quá trình sản xuất. Những thành phần có trong WinCC dễ sử dụng, giúp người dùng tích hợp những ứng dụng mới hoặc có sẵn mà không gặp bất kỳ trở ngại nào.
Với WinCC, người dùng có thể trao đổi dữ liệu trực tiếp với nhiều PLC của các hãng khác nhau như Misubishi, Allen Braddly, Siemens,v.v…thông qua cổng COM với chuẩn RS – 232 của máy tính với chuẩn RS – 485 của PLC.
Khi sử dụng WinCC để thiết kế giao diện điều khiển Người – Máy (HMI) và mạng SCADA, WinCC sử dụng các chức năng sau:
Graphics Designer: thực hiện dễ dàng các chức năng mô phỏng và hoạt
động qua các đối tượng đồ họa của WinCC, Windows, OLE, I/O,… với
nhiều thuộc tính động (Dynamic).
Alarm Logging: thực hiện việc hiển thị các thông báo hay các báo cáo trong khi hệ thống vận hành. Đảm trách về các thông báo nhận được và lưu trữ, để chuẩn bị, hiển thị, hồi đáp và lưu trữ chúng. Ngoài ra, Alarm Logging còn
giúp ta tìm nguyên nhân của lỗi.
Tag Logging: Thu thập, lưu trữ và nén các giá trị đo dưới nhiều dạng khác
nhau. Tag Logging cho phép lấy dữ liệu từ các quá trình thực thi, chuẩn bị để
hiện thị và lưu trữ dữ liệu đó. Dữ liệu có thể cung cấp các tiêu chuẩn về công
nghệ và kỹ thuật quan trọng liên quan đến trạng thái hoạt động của toàn hệ
thống.
Report Designer: có nhiệm vụ tạo các thông báo, báo cáo và các kết quả này được lưu dưới dạng các trang nhật ký sự kiện.
WinCC có thể tạo một giao diện Người – Máy (HMI) dựa trên cơ sở giao tiếp giữa con người và hệ thống máy , thiết bị điều khiển ( PLC, CNC,…) thông qua các hình ảnh, sơ đồ, hình vẽ hoặc câu chữ có tính trực quan hơn. Có thể giúp người vận hành theo dõi được quá trình làm việc, thay đổi các tham số, công thức hoặc quá trình hoạt động, hiển thị các giá trị hiện thời cũng như giao tiếp với quá trình công nghệ thông qua các hệ thống tự động. Giao diện HMI cho phép người vận hành giám sát các quy trình sản xuất và cảnh báo, báo động hệ thống khi có sự cố. Do đó, WinCC là chương trình thiết kế giao diện Người – Máy thật sự cần thiết, không thể thiếu trong các hệ thống co quá trình tự động hóa phức tạp và hiện đại. Từ máy tính trung tâm, có thể điều khiển sự hoạt động toàn bộ dây chuyền sản xuất được lập trình trên WinCC, ta có thể giám sát tất cả các thiết bị trên dây chuyền. Dựa vào giao diện HMI, có thể giám sát và thu thập dữ liệu vào ra (I/O) một cách chính xác, hỗ trợ các phương thức xử lí dữ liệu, tổ chức số liệu một cách linh hoạt thông qua kiểu lập trình bằng ngôn ngữ C.
Ngoài ra, sự kết hợp giữa chương trình WinCC và các công cụ phát triển riêng như: Visual C++ hoặc Visual Basic sẽ tạo ra hệ thống có tính đặc thù cao, tinh vi, gắn riêng với một cấu hình cụ thể nào đó.
WinCC V7.0 SP3 hỗ trợ các OS sau:
Windows Server 2003 SP2
Windows Server 2003 R2 SP2
Windows Server 2008 SP2 (32-Bit)
Windows XP Professional SP3
Windows XP embedded with SQL Server Express Edition
Windows 7 (Professional / Enterprise / Ultimate) 32-Bit
2.2 Các thành phần của winCC.
Hình 2.1 - giao diện phần mềm wincc.
2.3 Các thành phần chính của cửa sổ dự án
- Máy tính (Computer): Quản lý tất cả các trạm (WorkStation) và trạm chủ
(Server) nằm trong Project.
- Quản lý tag (Tag Managerment): Là khu vực quản lý tất cả các kênh, các
quan hệ Logic, các tag (biến) quá trình (Tag process), tag (biến) trung gian
trong PLC (Tag Internal) và nhóm các nhóm tag (Tag Groups).
- Loại dữ liệu (Data Types):Chứa các loại dữ liệu được gán cho các Tag và các kênh khác nhau.
- Các trình soạn thảo Editor :Các trình soạn thảo được liệt kê trong vùng này dùng để soạn thảo và điều khiển một dự án hoàn chỉnh , chức năng các bộ
soạn thảo cho như bảng sau:
Hình 2.2 - Bộ soạn thảo trong wincc.
Tất cả các Modul này đều thuộc hệ thống WinCC nhưng nếu không cần thiếtthì không nhất thiết phải cài đặt hết.
Tag (Biến) Tags WinCC là phần tử trung tâm để truy nhập các giá trị quá trình.Trong một dự án, chúng nhận một tên và một kiểu dữ liệu duy nhất. Kết nối logic sẽ được gán với WinCC. Kết nối này xác định rằng kênh nào sẽ chuyển giao giá trị quá trình cho các biến.
Các biến được lưu trữ trong cơ sở dữ liệu toàn dự án. Khi một chế độ của
WinCC khởi động, tất cả các biến trong một dự án được nạp và cấu trúc Run – time tương ứng được thiết lập. Mỗi biến được lưu trữ trong quản lí dữ liệu theo một kiểu dữ liệu chuẩn.
WinCC làm việc với 3 loại Tag:
- Tag nội (Internal Tag):
Là Tag không được kết nối với quá trình dùng để quản lý dữ liệu bên trong 1 project.
- Tag quá trình (Process Tag): Là Tag được dùng để trao đổi dữ liệu giữa WinCC và quá trình tự động. Thuộc tính của Tag phụ thuộc vào driver sử dụng.
- Tag hệ thống (System Tag): Bắt đầu với ký tự @, dùng để quản lý Project, không thể xóa hay chỉnh sửa System Tag.
Ví dụ : @RM_MASTER, @RM_MASTER_NAME…
WinCC quản lý các tag này theo 2 kiểu:
- Kiểu nhóm (Tag group)
- Kiểu cấu trúc (Structure Type) Nhóm biến chứa tất cả các biến có kết nối logic lẫn nhau. Các kiểu dữ liệu Biến phải gán một trong các kiểu dữ liệu sau cho mỗi biến được định cấu hình.
Việc gán kiểu dữ liệu cho biến được thực hiện trong khi tạo một biến mới.
Kiểu dữ liệu của một biến độc lập với kiểu biến ( Biến nội hay biến quá trình).
Trong WinCC, một kiểu dữ liệu nào đó cũng đều có thể được chuyển đổi thành kiểu khác bằng cách điều chỉnh lại dạng.
Các kiểu dữ liệu ( Data Types) có trong WinCC:
- Binary Tag: kiểu nhị phân.
- Signed 8 – Bit Value: kiểu 8 bit có dấu.
- Unsigned 8 – Bit Value: kiểu 8 bit không dấu.
- Signed 16 – Bit Value: kiểu 16 bit có dấu.
- Unsigned 16 – Bit Value: kiểu 16 bit không dấu.
- Signed 32 – Bit Value: kiểu 32 bit có dấu.
- Unsigned 32 – Bit Value: kiểu 32 bit không dấu.
- Floating Point Number 32 bit IEEE 754: kiểu số thực 32 bit theo tiêu chuẩn IEEE 754.
- Floating Point Number 64 bit IEEE 754: kiểu số thực 64 bit theo tiêu chuẩn IEEE 754.
- Text Tag 8 bit character set: kiểu ký tự 8 bit.
- Text Tag 16 bit character set: kiểu ký tự 16 bit.
- Raw Data type: kiểu dữ liệu thô.
CHƯƠNG 3:
XÂY DỰNG HỆ THỐNG GIÁM SÁT VÀ ĐIỀU KHIỂN BỒN NƯỚC
3.1. Giới thiệu về yêu cầu công nghệ và thiết kế WINCC
Hình 3.1 – Hệ thống điều khiển giám sát bồn nước
3.1.1. Giao diện điều khiển ở chế độ tự động
Ở chế độ tự động, người điều khiển cần nhập vào mức nước cao và mức nước thấp cho bồn nước, trên thực tế nếu mức nước đạt mức thấp thì bơm băt đầu bật và bơm nước vào bồn, còn nếu mức nước trong bồn đạt mức nước cao thì hệ thống tắt bơm và đóng van nước cấp vào, hệ thống cứ lặp lại trạng thái tự động cho đến khi chuyển sang chế độ bằng tay. Van xả có thể bật tắt tùy người sử dụng.
3.1.1. Giao diện điều khiển ở chế độ bằng tay
Ở chế độ bằng tay các thiết bị được điều khiển bật tắt bằng nút ấn, bao gồm van nước vào, van xả và động cơ bơm nước.
3.1.2. Tạo bồn nước
Bước 1: Vào View -> Toolbar -> Lybrary
Bước 2: Chọn Siemens HMI
Bước 3: Tìm đến Tank và kéo ra màn hình
3.1.3. Tạo thanh bar hiển thị mức nước
Bước 1: Tại Smart object tìm đến Bar và kéo ra màn hình
Bước 2: Chọn Tag cho thanh bar trạng thái
Bước 3: Đặt giá trị Max – min
3.1.4. Thiết lập thuộc tính cho động cơ
Bước 1: Ở library tìm đến PUMP và kéo ra màn hình
Bước 2: Thiết lập thuộc tính
3.1.5. Thiết lập thuộc tính cho vanvà đường ống
Bước 1: Ở library tìm đến Valve và kéo ra màn hình
Bước 2: Thiết lập thuộc tính
3.1.6. Thiết lập thuộc tính cho nút ấn
Bước 1: Click chuột phải vào nút ấn và chọn C-action
Bước 2: Viết code cho nút ấn
3.1.7. Thiết lập thuộc tính cho giọt nước
Bước 1: Vào library và chọn Nature (rồi lấy giọt nước ra)
Bước 2: Chọn hiển thị cho giọt nước
(Ở mục Display chọn tag là van xả)
- 2. Chương trình S7-300
3.2.1. Các biến vào ra
Symbol |
Miền nhớ |
Giải thích |
B_START |
M 0.0 |
NUT START |
B_STOP |
M 0.1 |
NUT STOP |
B_PUMP |
M 0.2 |
NUT AN BOM NUOC VAO |
B_INPUT_VALVE |
M 0.3 |
NUT AN VAN NUOC VAO |
B_OUTPUT_VALVE |
M 0.4 |
NUT AN VAN NUOC RA |
B_AUTO |
M 0.5 |
CHE DO TU DONG |
B_MANU |
M 0.6 |
CHE DO BANG TAY |
Q_RUN_LAMP |
Q 0.0 |
DEN BAO HT LAM VIEC |
Q_INPUT_VALVE |
Q 0.1 |
VAN NUOC VAO |
Q_PUMP |
Q 0.2 |
DONG CO BOM |
Q_OUTPUT_VALVE |
Q 0.3 |
VAN NUOC RA |
LEVEL_REAL |
MD104 |
MUC NUOC SO THUC |
LEVEL_HIGH |
MD108 |
ĐẶT MỨC NƯỚC CAO |
LEVEL_LOW |
MD112 |
ĐẶT MỨC NƯỚC THẤP |
3.2.2. Chương trình S7300