Mục lục
Lời nói đầu 2
CHƯƠNG 1 KHẢO SÁT HỆ THỐNG PHÂN XƯỞNG NGHIỀN VÀ ĐÓNG BAO CỦA NHÀ MÁY XI MĂNG TAM ĐIỆP 3
1.1 Phân xưởng Nghiền 3
1.2 Phân xưởng Đóng bao 4
1.3 Một số thiết bị chính chính trong hệ thống 5
1.3.1 Băng tải cao su (BC). 5
1.3.2 Máng khí động 5
1.3.3 Gầu nâng (BE). 6
1.3.4 Lọc bụi tĩnh điện. 6
1.3.5 Quạt hút. 8
1.3.6 Lọc bụi túi. 8
CHƯƠNG 2 GIỚI THIỆU PHẦN MỀM S7 300 & WINCC 8
2.1 Giới thiệu phần mềm S7 300 8
2.1.1 Tổng quan về bộ điều khiển lập trình được. 8
2.1.2 Chu kỳ quét chương trình và ảnh đầu vào/ ra 10
2.1.3.Cấu trúc và phân chia bộ nhớ. 11
2.1.3.1.Các module của PLC S7-300. 11
2.1.3.2 Kiểu dữ liệu và phân chia bộ nhớ. 12
2.2 Cấu trúc chương trình. 14
2.3 Ngôn Ngữ Lập Trình S7-300 17
2.3.1 Sử dụng các ô nhớ và cấu trúc thanh ghi trạng thái. 17
2.3.1.1 Địa chỉ ô nhớ. 17
2.3.1.2 Cấu trúc thanh ghi trạng thái. 18
2.4 Các lệnh và phép toán. 22
2.4.1 Lệnh nạp chuyển. 22
2.4.2 Các lệnh tác động vào RLO và ô nhớ. 22
2.4.3 Các lệnh tác động vào 2 thanh ghi ACCU1 và ACCU2. 23
2.4.4 Các lệnh điều khiển logic và điều khiển chương trình. 29
2.4.5 Bộ định thời Timer. 35
2.4.6 Bộ đếm Counter. 39
2.5 Giới thiệu phần mềm Winncc 41
2.5.1 Nội dung của control center 42
2.5.1.1 Chức năng. 42
2.5.1.2 Cấu trúc. 42
2.5.1.3 Soạn thảo. 43
2.6 Các thành phần soạn thảo 51
2.6.1 Alarm logging. 51
2.6.1.1 Chức năng. 51
2.6.2 Graphics designer. 54
2.6.2.1 Chức năng. 54
2.6.2.2 Cấu trúc. 54
CHƯƠNG 3 THIẾT KẾ ĐIỀU KHIỂN 59
3.1 Giải Pháp Điều Khiển 59
3.1.2 Thiết kế hệ thống bôi trơn ổ đỡ đầu vào máy nghiền xi 59
3.1.3 Thiết kế hệ thống đóng bao 59
3.2 Sơ đồ điều khiển 60
3.3 Lập Trình trên S7 300 và Giám sát điều khiển trên WinnCC 61
3.3.1 Lập trình phần mềm cho S7 300 61
3.3.1.1 Phần cứng cho lập trình S7 300 61
3.3.1.2 Lập trình S7 300 dạng LAD 61
3.3.3 Lập trình điều khiển giám sát trên phần mềm WinCC 66
3.3.3.1 Kết nối WinCC 66
3.3.3.2 Lập trình giao diện chính cho hệ thống điều khiển giám sát 67
Kết luận 71
Tài liệu tham khảo 72
73 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2648 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế hệ thống điều khiển giám sát phân xưởng nghiền và đóng bao của nhà máy xi măng Tam Điệp, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ởi vì bit OS vẫn giữ là 1 sau khi đã khử lỗi, nó chứa trạng thái bit OV và cho thấy có lỗi hay không có lỗi xảy ra ở một trong các lệnh được thực thi trước đó. Các lệnh sau reset bit OS: JOS (jump after stored overflow), các lệnh gọi khối, và các lệnh kết thúc khối.
- Mã điều kiện CC1 và CC0
CC1
CC0
Giải thích
0
0
Kết quả =0
0
1
Kết quả <0
1
0
Kết quả >0
Bảng 2.3: CC1 và CC0 sau lệnh toán học, không có tràn.
CC1
CC0
Giải thích
0
0
Tràn dãi trị âm trong +I và +D
0
1
Tràn dãi trị âm trong *I và *D
Tràn dãi trị dương trong +I, -I, +D, -D, NEGI và NEGD
1
0
Tràn dãi trị dương trong *I, *D, /I và /D
Tràn dãi trị âm trong +I, -I, +D, -D
1
1
Chia cho 0 trong /I, /D, và MOD
Bảng 2.4: CC1 và CC0 sau lệnh toán học số nguyên, có tràn.
CC1
CC0
Giải thích
0
0
Tràn dưới
0
1
Tràn dãi trị âm
1
0
Tràn dãi trị dương
1
1
Số dấu chấm động không hợp lệ
Bảng 2.5: CC1 và CC0 sau các lệnh toán học dấu chấm động, có tràn.
CC1
CC0
Giải thích
0
0
ACCU 2 =ACCU 1
0
1
ACCU 2 <ACCU 1
1
0
ACCU 2 >ACCU 1
1
1
ACCU 1 hay ACCU 2 là số dấu chấm động không hợp lệ
Bảng 2.6: CC1 và CC0 sau các lệnh so sánh.
CC1
CC0
Giải thích
0
0
Bit vừa dịch ra là 0
1
0
Bit vừa dịch ra là 1
Bảng 2.7: CC1 và CC0 sau các lệnh dịch và xoay.
CC1
CC0
Giải thích
0
0
Kết quả = 0
1
0
Kết quả 0
Bảng 2.8: CC1 và CC0 sau các lệnh logic trên word.
- Bit BR (Binary Result)
Bit BR tạo liên kết giữa xử lý các bit và các word. Đây là phương tiện hữu hiệu để diễn dịch kết quả của phép toán trên word như kết quả nhị phân và đưa kết quả này vào chuỗi logic nhị phân. Với cách nhìn này, bit BR biễu diễn bit bộ nhớ bên trong máy mà RLO cất vào trước khi một phép toán word làm thay đổi RLO, để cho RLO khả dụng lần nữa sau khi phép toán tiếp tục chuỗi logic bit bị ngắt.
Bit BR tương ứng với ngõ ra cho phép (ENO = enable output) của hộp LAD. Ta nên sử dụng lệnh SAVE để cất RLO vào bit BR theo các tiêu chuẩn sau:
+ Cất bit RLO =1 vào bit BR cho trường hợp mà FB hay FC được thực thi không có lỗi.
+ Cất bit RLO =0 vào bit BR cho trường hợp mà FB hay FC được thực thi có lỗi.
Ta nên lập trình các lệnh này ở cuối FB hay FC để chúng là các lệnh cuối cùng được thực thi trong khối.
2.4 Các lệnh và phép toán.
2.4.1 Lệnh nạp chuyển.
Các lệnh này dùng để trao đổi thông tin bằng byte, word hay double word giữa các module nhập và xuất, PII và PIQ, bộ định thời, bộ đếm và cờ, các khối dữ liệu (DB).
Dữ liệu thường không được trao đổi trực tiếp mà luôn luôn thông qua thanh ghi tích lũy ACCU. Nó là thanh ghi trong bộ xử lý và được dùng như bộ đệm (buffer).
Dòng đi thông tin như sau:
+ Nạp (LOAD) từ bộ nhớ nguồn vào ACCU.
+ Chuyển (TRANSFER) từ ACCU đến bộ nhớ đích.
Trong PLC có 2 thanh ghi: ACCU1 và ACCU2, mỗi thanh ghi có chiều dài 2 word.
Chú ý:
- Load và Transfer trực tiếp không qua PII và PIQ:
L PIB
T PQW
Với P là viết tắt của Peripheral (ngoại vi).
- Các lệnh Load và Transfer trực tiếp chỉ có thể lập trình bằng dạng STL (ngoại trừ các toán hạng của Timer, Counter và các lệnh so sánh).
2.4.2 Các lệnh tác động vào RLO và ô nhớ.
SET: lệnh ghi logic 1 vào RLO.
CLR: lệnh ghi logic 0 vào RLO.
NOT: lệnh đảo giá trị của RLO.
S: lệnh gán có điều kiện giá trị logic 1 vào ô nhớ.
R: lệnh gán có điều kiện giá trị logic 0 vào ô nhớ.
FP : lệnh phát hiện sườn lên.
Toán hạng là địa chỉ bit I, Q, M, L, D và được sử dụng như một biến cờ để ghi nhận lại giá trị của RLO tại vị trí này trong chương trình, nhưng của vòng quét trước. Tại mỗi vòng quét lệnh sẽ kiểm tra: nếu toán hạng có giá trị 0 và RLO có giá trị 1 thì sẽ ghi 1 vào RLO, các trường hợp khác thì ghi 0, đồng thời chuyển nội dung của RLO vào lại biến cờ. Như vậy RLO sẽ có giá trị 1 trong một vòng quét khi có sườn lên trong RLO.
FN : lệnh phát hiện sườn xuống.
Toán hạng là địa chỉ bit I, Q, M, L, D và được sử dụng như một biến cờ để ghi nhận lại giá trị của RLO tại vị trí này trong chương trình, nhưng của vòng quét trước. Tại mỗi vòng quét lệnh sẽ kiểm tra: nếu toán hạng có giá trị 1 và RLO có giá trị 0 thì sẽ ghi 1 vào RLO, các trường hợp khác thì ghi 0, đồng thời chuyển nội dung của RLO vào lại biến cờ. Như vậy RLO sẽ có giá trị 1 trong một vòng quét khi có sườn lên trong RLO.
SAVE : lệnh chuyển giá trị của RLO vào BR.
Và một số phép tính cơ bản.
2.4.3 Các lệnh tác động vào 2 thanh ghi ACCU1 và ACCU2.
a, Nhóm lệnh đảo vị trí bytes:
- POP : lệnh chuyển nội dung của ACCU2 vào ACCU1.
- PUSH : lệnh chuyển nội dung của ACCU1 vào ACCU2.
- TAK : lệnh đảo nội dung của 2 thanh ghi ACCU1 và ACCU2.
- CAW : lệnh đảo nội dung 2 bytes của từ thấp trong ACCU1.
- CAD : lệnh đảo nội dung các bytes trong ACCU1.
- INVI : lệnh đảo giá trị các bits trong từ thấp của ACCU1
- INVD : lệnh đảo giá trị các bits của ACCU1.
b, Nhóm lệnh tăng giảm
- INC : lệnh tăng nội dung thanh ghi ACCU1.
Toán hạng là số nguyên 8 bits. Lệnh thực hiện phép cộng giữa byte thấp của từ thấp trong ACCU1 với toán hạng. Kết quả được ghi lại vào byte thấp của từ thấp của ACCU1.
- DEC : lệnh giảm nội dung thanh ghi ACCU1.
Toán hạng là số nguyên 8 bits. Lệnh thực hiện phép trừ byte thấp của từ thấp trong ACCU1 cho toán hạng. Kết quả được ghi lại vào byte thấp của từ thấp của ACCU1.
c, Nhóm lệnh dịch chuyển:
- RLD [n] : lệnh xoay tròn các bits của ACCU1 theo chiều trái.
- RRD [n]: lệnh xoay tròn các bits của ACCU1 theo chiều phải.
Lệnh có thể có hoặc không có toán hạng. Nếu toán hạng bằng 0 thì lệnh tương đương với lệnh NOP.
- RLDA : lệnh xoay tròn ACCU1 theo chiều trái 1 bit.
- RRDA : lệnh xoay tròn ACCU1 theo chiều phải 1 bit.
Bảng 2.9: tóm tắt các lệnh xoay bit.
Hình 2.4: xoay ACCU1 qua trái 3 bit.
Thí dụ: xoay phải word kép.
L +3
L MD10
RRD
T MD20
Hình 2.5: Xoay ACCU1 phải 3 bit.
Hình 2.6: xoay trái 1 bit qua CC1.
- SLW []: dịch trái các bits trong từ thấp của ACCU1. Bit 0 được ghi 0, bit 15 đẩy vào CC1.
- SLD []: dịch trái các bits của ACCU1. Bit 0 được ghi 0, bit 31 đẩy vào CC1.
- SRW []: dịch phải các bits trong từ thấp của ACCU1. Bit 0 được ghi 0, bit 15 đẩy vào CC1.
- SRD []: dịch phải các bits của ACCU1. Bit 0 được ghi 0, bit 31 đẩy vào CC1.
- SSI []: dịch phải các bits trong từ thấp của ACCU1. Bit 0 đẩy vào CC1, bit 15 ghi lại giá trị cũ.
- SSD []: dịch phải các bits của ACCU1. Bit 0 đẩy vào CC1, bit 31 ghi lại giá trị cũ.
d, Nhóm lệnh chuyển đổi số BCD và số nguyên:
Bảng sau tóm tắt các lệnh chuyển đổi BCD và số nguyên (dạng STL):
Lệnh
Ý nghĩa
Chức năng
BTI
BCD sang số nguyên
Đổi số BCD trong word thấp của ACCU1 sang số nguyên 16 bits
BTD
BCD sang số nguyên kép
Đổi số BCD trong ACCU1 sang số nguyên kép 32 bits
ITB
Số nguyên sang BCD
Đổi số nguyên 16 bits trong word thấp của ACCU1 sang số BCD
ITD
Số nguyên sang số nguyên kép
Đổi số nguyên 16 bits trong word thấp của ACCU1 sang số nguyên kép 32 bits
DTB
Số nguyên kép sang BCD
Đổi số nguyên kép 32 bits trong ACCU1 sang số BCD
DTR
Số nguyên kép sang số thực
Đổi số nguyên kép 32 bits trong ACCU1 sang số dấu chấm động IEEE 32 bits (số thực)
Bảng 2.10: chuyển đổi số BCD và số nguyên.
e,Nhóm lệnh chuyển đổi số dấu chấm động 32 bits sang số nguyên 32 bits:
Ta có thể sử dụng bất kỳ một trong các lệnh sau để chuyển đổi số dấu chấm động IEEE 32 bits trong thanh ghi ACCU1 thành số nguyên kép (các lệnh khác nhau về cách làm tròn) và kết quả được cất ở ACCU1.
Lệnh
Ý nghĩa
Chức năng
RND
Làm tròn
Làm tròn số được chuyển đổi đến số nguyên gần nhất. Nếu phần phân số ở giữa kết quả chẵn và lẻ thì sẽ chọn kết quả chẵn
RND+
Làm tròn thành số nguyên kép lớn hơn
Làm tròn thành số nguyên nhỏ nhất mà lớn hơn hay bằng số chấm động
RND-
Làm tròn thành số nguyên kép nhỏ hơn
Làm tròn thành số nguyên lớn nhất mà nhỏ hơn hay bằng số chấm động
TRUNC
Bỏ phần lẻ
Chỉ lấy phần nguyên của số chấm động
Bảng 2.11: chuyển đổi số dấu chấm động 32 bits sang số ngưyên 32 bits.
Hình 2.7: tóm tắt các lệnh chuyển đổi và làm tròn.
f, Nhóm lệnh so sánh:
Dùng để so sánh các cặp giá trị số sau:
+ Hai số nguyên 16 bits.
+ Hai số nguyên kép (32 bits).
+ Hai số thực (dấu chấm động IEEE 32 bits).
CPU sẽ so sánh giá trị số ở ACCU1, nếu kết quả đúng nó sẽ trả về RLO=1, nếu sai thì RLO=0.
Với số nguyên 16 bits thì nó dựa trên so sánh word thấp của ACCU2 với word thấp của ACCU1.
Dạng lệnh so sánh như sau:
op datatype
với op (operator = toán tử) có thể là:
So sánh
op
Bằng nhau
==
Không bằng
Lớn hơn
>
Nhỏ hơn
<
Lớn hơn hoặc bằng
>=
Nhỏ hơn hoặc bằng
<=
datatype có thể là I (số nguyên 16 bits), D (số nguyên kép 32 bits), R (số thực).
Ảnh hưởng của việc thực thi lệnh so sánh lên mã điều kiện CC1 và CC0.
Điều kiện so sánh
CC1
CC0
Các lệnh nhảy có điều kiện có thể sử dụng
ACCU2>ACCU1
1
0
JN, JP
ACCU2<ACCU1
0
1
JN, JM
ACCU2=ACCU1
0
0
JZ
ACCU2ACCU1
0/1
1/0
JN
ACCU2>=ACCU1
1/0
0/0
JPZ
ACCU2<=ACCU1
0/0
1/0
JMZ
Bảng 2.12: ảnh hưởng của các lệnh so sánh lên CC1 và CC0.
g, Nhóm lệnh số học:
- Với số nguyên 16 bits: có các lệnh thực hiện cộng (+I), trừ (-I), nhân (*I), chia (/I). Lấy word thấp của ACCU2 +,-,*,/ với word thấp của ACCU1, kết quả lại vào word thấp của ACCU1.
- Với số nguyên kép 32 bits: có các lệnh thực hiện cộng (+D), trừ (-D), nhân (*D), chia (/D). Lấy ACCU2 +,-,*,/ với ACCU1, kết quả lại vào ACCU1.
- Với số thực: có các lệnh thực hiện cộng (+R), trừ (-R), nhân (*R), chia (/R). Lấy ACCU2 +,-,*,/ với ACCU1, kết quả lại vào ACCU1.
- Các lệnh toán học mở rộng trên số thực:
Tất cả các lệnh sau đều thực hiện phép toán với đối số vào ở ACCU1 và kết quả cất ở ACCU1.
+ ABS: lấy trị tuyệt đối.
+ SQRT: tính căn bậc hai (square root) x1/2
+ SQR: tính bình phương (square) x2
+ LN: tính logarithm tự nhiên ln(x)
+ EXP: tính hàm mũ ex
+ SIN: tính sin(x)
+ COS: tính cos(x)
+ TAN: tính tg(x)
+ ASIN: tính arcsin(x)
+ ACOS: tính arccos(x)
+ ATAN: tính atctg(x)
2.4.4 Các lệnh điều khiển logic và điều khiển chương trình.
a, Các lệnh điều khiển logic:
Ta có thể sử dụng các lệnh jump (bắt đầu bằng J) và loop để điều khiển rẽ nhánh trong một khối chương trình. Địa chỉ cho lệnh jump và loop là nhãn nhảy đến trong chương trình (label).
Có các lệnh điều khiển logic sau:
+ Lệnh nhảy không điều kiện: JU, JL.
+ Lệnh nhảy có điều kiện theo RLO: JC, JCN, JCB, JNB.
+ Lệnh nhảy có điều kiện theo BR hoặc OV/OS: JBI, JNBI, JO, JOS.
+ Lệnh nhảy theo mã điều kiện CC0, CC1: JZ,JN, JP, JM, JMZ, JPZ, JUO.
+ Lệnh điều khiển lặp vòng: LOOP.
Nhãn nhảy đến trong khối chương trình để đánh dấu nên chuyển điều khiển logic tới (nơi rẽ nhánh đến). Nó có chiều dài tối đa là 4 ký tự, và ký tự đầu phải là chữ, sau nó phải có dấu hai chấm.
- Các lệnh nhảy không điều kiện:
+ Lệnh nhảy không điều kiện JU: lệnh này ngắt luồng điều khiển bình thường và nhảy đến nhãn được chỉ sau JU. Lệnh này được thực hiện bất chấp điều kiện nào.
+ Lệnh nhảy theo danh sách JL: (giống lệnh case hay switch trong các ngôn ngữ lập trình khác).
- Các lệnh nhảy có điều kiện dựa vào RLO:
+ JC nhãn: nhảy đến nhãn nếu RLO=1 còn ngược lại thì thực hiện lệnh kế.
+ JCN nhãn: nhảy đến nhãn nếu RLO=0 còn ngược lại thì thực hiện lệnh kế.
+ JCB nhãn: nếu RLO=1 thì gán trị RLO vào BR và nhảy đến nhãn, còn ngược lại thì thực hiện lệnh kế.
+ JNB nhãn: nếu RLO=0 thì gán trị RLO vào BR và nhảy đến nhãn, còn ngược lại thì thực hiện lệnh kế.
- Các lệnh nhảy có điều kiện dựa theo BR hay OV/ OS:
Theo điều kiện của BR:
+ JBI nhãn: nếu BR=1 thì nhảy đến nhãn, còn ngược lại thì thực hiện lệnh kế.
+ JNBI nhãn: nếu BR=0 thì nhảy đến nhãn, còn ngược lại thì thực hiện lệnh kế.
Chú ý: các lệnh JBI và JNBI reset các bit OR và FC trong STW về 0 và set bit STA lên 1.
Theo điều kiện OV:
+ JO nhãn: nếu OV=1 thì nhảy đến nhãn, còn ngược lại thì thực hiện lệnh kế.
Theo điều kiện OS:
+ JOS nhãn: nếu OV=1 thì nhảy đến nhãn, còn ngược lại thì thực hiện lệnh kế. Lệnh này reset bit OS về 0.
- Các lệnh nhảy có điều kiện dựa theo CC1 và CC0:
Dạng lệnh: J nhãn
Với các điều-kiện là :
+ Z (zero): nếu kết quả là 0 thì nhảy đến nhãn, còn ngược lại thì thực hiện lệnh kế.
+ N (not zero): nếu kết quả là khác 0 thì nhảy đến nhãn, còn ngược lại thì thực hiện lệnh kế.
+ P (positive): nếu kết quả >0 thì nhảy đến nhãn, còn ngược lại thì thực hiện lệnh kế.
+ M (minus = negative): nếu kết quả <0 thì nhảy đến nhãn, còn ngược lại thì thực hiện lệnh kế.
+ MZ (minus hay zero): nếu kết quả là 0 hay <0 thì nhảy đến nhãn, còn ngược lại thì thực hiện lệnh kế.
+ PZ (positive hay zero): nếu kết quả là 0 hay >0 thì nhảy đến nhãn, còn ngược lại thì thực hiện lệnh kế.
+ UO (unordered): nếu 1 trong các số của phép toán dấu chấm động không phải là số chấm động hợp lệ thì nhảy đến nhãn, còn ngược lại thì thực hiện lệnh kế.
- Lệnh điều khiển vòng lặp:
Ta có thể sử dụng lệnh LOOP để thực hiện một đoạn chương trình nhiều lần. Lệnh LOOP giảm word thấp của ACCU1 bớt đi 1 và kiểm tra trị mới có được ở ACCU1. Nếu ACCU1 lúc này khác không thì nhảy đến nhãn chỉ ra kế LOOP, còn ngược lại thì thực hiện lệnh kế.
b, Các lệnh điều khiển chương trình:
Ta có thể sử dụng các lệnh sau để điều khiển chương trình.
- Lệnh gọi CALL dùng để gọi FC, FB, SFC hay SFB mà bất chấp RLO hay bất cứ điều kiện nào khác.
- Lệnh gọi có điều kiện (CC) và không điều kiện (UC) dùng để gọi các FC không có tham số.
- Lệnh gọi không điều kiện (UC) dùng để gọi SFC không có tham số.
- Rờ-le điều khiển chính MCR (Master Control Relay).
- Các lệnh kết thúc khối không điều kiện (BEU) và kết thúc khối có điều kiện (BEC).
-Gán tham số khi gọi hàm và khối hàm
Tham số hình thức (formal parameter): là tham số mà tên và kiểu dữ liệu của nó được gán và khai báo khi tạo khối. Sau đó khi viết chương trình thì STEP7 tự động liệt kê tất cả các tham số hình thức.
Khi đó ta phải gán các tham số thật (actual parameter) cho các tham số hình thức. Tham số thật là tham số là hàm và khối hàm sử dụng trong lúc chạy chương trình. Tham số thật phải có cùng kiểu dữ liệu với tham số hình thức tương ứng gán cho nó.
- Gọi hàm và khối hàm bằng CALL:
Ta có thể sử dụng lệnh CALL để gọi các hàm (FC) và khối hàm (FB), lệnh này gọi FC hay FB do ta chỉ ra và được thực thi bất chấp RLO hay bất kỳ điều kiện nào khác.
Khi ta gọi khối hàm FB thì ta phải cung cấp khối dữ liệu instance cục bộ. Khối dữ liệu instance chứa tất cả các biến tĩnh và các tham số thật của khối hàm.
Khi ta gọi khối hàm thì lệnh CALL chép lại một trong các mục sau vào khối dữ liệu instance của khối hàm, phụ thuộc vào kiểu dữ liệu của tham số thật và vào khai báo của tham số hình thức (IN, OUT, IN-OUT):
+ Giá trị của tham số thật.
+ Pointer chỉ đến địa chỉ của tham số thật.
+ Pointer chỉ đến “L stack” của khối gọi mà ở đó giá trị của tham số thật đã được đệm.
Gọi FB với DB instance và các tham số khối:
Việc gọi có thể xảy ra một khi các chi tiết sau đã được đưa vào lúc CALL:
+ Tên của khối hàm.
+ Tên của khối dữ liệu instance và
+ Các tham số.
Lệnh gọi sử dụng địa chỉ tuyệt đối hoặc địa chỉ ký hiệu.
Gọi tuyệt đối: CALL FBx, Dby (các tham số truyền);
Gọi bằng ký hiệu: CALL fbname, datablockname (pass parameters);
Với fbname= tên ký hiệu của khối
datablockname= tên ký hiệu của khối dữ liệu
- Gọi hàm và khối hàm bằng CC và UC:
Dạng lệnh: CC addr (conditional call: gọi khi RLO=1)
UC addr (unconditional call: gọi bất chấp RLO)
Chú ý: không được sử dụng DB “instance” với CC và UC.
Addr có thể là địa chỉ trực tiếp hay là địa chỉ gián tiếp bộ nhớ (memory indirect address).
- Làm việc với chức năng MCR:
MCR dùng để tạo hay ngắt luồng năng lượng (đường dẫn điện). Các lệnh sau bị ảnh hưởng bởi MCR là: lệnh gán (=), lệnh SET và RESET bit (S, R) và lệnh chuyển dữ liệu T (dùng byte, word, double word). Sự phụ thuộc của chúng theo MCR được cho theo bảng 1.12.
Trạng thái tín hiệu của MCR
=
S hay R
T
0
Ghi 0
Không ghi (nghĩa là toán hạng không đổi)
Ghi 0
1
Thực thi bình thường
Thực thi bình thường
Thực thi bình thường
Bảng 2.13: các lệnh phụ thuộc MCR.
- Các lệnh cài đặt MCR
+ MCRA: kích hoạt vùng MRC (A= Activate)
+ MCRD: bỏ kích hoạt vùng MCR (D= Deactivate)
+ MCR( : cất RLO vào ngăn xếp MCR, bắt đầu vùng MCR)MCR : lấy lại RLO, kết thúc vùng MCR
Chú ý: không bao giờ sử dụng lệnh MCR cho thiết bị an toàn hay cấp cứu!
- Ảnh hưởng của MCRA và MCRD
Trong vùng MCR nếu gọi 1 hàm thì hàm đó không bị ảnh hưởng của vùng MCR, muốn hàm có vùng MCR thì ta phải tạo thêm. Hình 1.6 cho thấy ảnh hưởng của vùng MCR.
- Cài đặt MCR
Các lệnh sau bật hay tắt chức năng MCR:
+ Cất RLO trong ngăn xếp MCR, bắt đầu MCR: MCR(
+ Lấy lại RLO< kết thúc MCR: )MCR
Như vậy, ta phải luôn luôn có cặp MCR( và )MCR; hệ thống cho phép lồng các cặp MCR( và )MCR và tối đa là 8.
Hình 2.8: kích hoạt và bỏ kích hoạt vùng MCR.
- Các lệnh kết thúc khối BEU và BEC
Lệnh
Ý nghĩa
BE
Kết thúc khối (block end).
Khối hiện hành được kết thúc bất chấp RLO.
Quét chương trình được tiếp tục ở lệnh ngay sau lệnh gọi khối.
BE luôn luôn là phát biểu cuối cùng trong khối.
BEU
Kết thúc khối không điều kiện (unconditional).
Khối hiện hành được kết thúc bất chấp RLO.
Quét chương trình được tiếp tục ở lệnh ngay sau lệnh gọi khối.
BEC
Kết thúc khối có điều kiện conditional).
Khi RLO=1 thì khối hiện hành được kết thúc và quét chương trình được tiếp tục ở lệnh ngay sau lệnh gọi khối.
Khi RLO=0 thì không thực hiện kết thúc khối và cho RLO=1 sau đó thực hiện lệnh kế lệnh này.
Bảng 2.14: tóm tắt các lệnh kết thúc khối.
2.4.5 Bộ định thời Timer.
a, Chức năng Timer:
Các công việc cần điều khiển cần nhiều chức năng Timer khác nhau. PLC SIMATIC S7 cho người sử dụng một số timer với các chức năng khác nhau. Một word 16 bits (timer word) trong vùng dữ liệu hệ thống được gán cho một trong các timer.
Timer tạo nên một chức năng phức tạp với các ngõ vào và ngõ ra sau:
- Ngõ vào Start: timer được bắt đầu với sự thay đổi tín hiệu từ “0” lên “1” (RLO) ở ngõ vào Start của nó. Thời gian và hoạt động của timer phải được lập trình ngay sau hoạt động quét điều kiện bắt đầu.
- Ngõ vào Reset: tín hiệu ở ngõ vào Reset (RLO=”1”) làm dừng timer. Thời gian hiện hành được đặt về 0 và ngõ ra Q của timer bị xóa về “0”.
- Các ngõ ra số: giá trị thời gian thật sự có thể đọc được từ hai ngõ ra số BI (số nhị phân) và BCD (số thập phân).
- Ngõ ra nhị phân: trạng thái tín hiệu của ngõ ra nhị phân Q của timer phụ thuộc vào chức năng timer được lập trình.
Thời gian trễ được khai báo với timer bằng một giá trị 16 bits gồm 2 thành phần:
+ Độ phân giải với đơn vị là ms.
+ Một số nguyên (BCD) trong khoảng 0 đến 999, gọi là PV.
Vậy, thời gian trễ =độ phân giải* PV.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Giá trị PV dưới dạng mã BCD
Độ phân giải
0
0
10ms
0
1
100ms
1
0
1s
1
1
10s
Không sử dụng
Một số lệnh dành cho timer
- FR Tx : lệnh cho phép timer.
- R Tx : chủ động xóa timer.
- L Tx : lấy giá trị timer dạng nhị phân.
- L Tx : lấy giá trị timer dạng BCD.
Với x từ 0 đến 255.
Hình 2.9: các lệnh cho phép sử dụng timer word
b, Các ví dụ bằng giản đồ cho từng loại timer:
- Timer SD (On delay timer): trễ theo sườn lên không nhớ.
Hình 2.10: giản đồ xung cho timer SD.
- Timer SS ( Retentive on delay timer): trễ theo sườn lên có nhớ.
Hình 2.11: giản đồ xung cho timer SS.
- Timer SP (Pulse timer): timer tạo xung không có nhớ.
Hình 2.12: giản đồ xung cho timer SP
- Timer SE (Extended pulse timer): timer tạo xung có nhớ.
Hình 2.13: giản đồ xung cho timer SE.
- Timer SF (Off delay): timer trễ theo sườn xuống.
Hình 2.14: giản đồ xung cho timer SF.
2.4.6 Bộ đếm Counter.
a, Chức năng Counter:
Counter là bộ đếm thực hiện chức năng đếm sườn xung của các tín hiệu đầu vào. S7-300 có tối đa 256 Counter, ký hiệu Cx. Counter đếm tiến theo sườn lên của một tín hiệu vào thứ nhất, ký hiệu là CU (count up) và đếm lùi theo sườn lên của một tín hiệu vào thứ hai, ký hiệu là CD (count down).
Các lệnh dùng cho Counter.
+ FR Cx : lệnh cho phép counter.
+ R Cx : lệnh xóa counter.
+ L Cx : đọc số đếm tức thời dạng nhị phân.
+ LC Cx : đọc số đếm tức thời dạng BCD.
Hình 2.15: nạp giá trị counter vào ACCU1 dùng lệnh L.
Hình 2.16: nạp giá trị counter vào ACCU1 dùng lệnh LC.
b, Ví dụ minh họa:
Hình 2.17: ví dụ về các lệnh Counter.
2.5 Giới thiệu phần mềm Winncc
- Vị trí của Control Center trong hệ thống WinCC :
Control Center đặc trưng cho lớp cao nhất trong hệ thống Win CC. Tất cả các moduls của toàn bộ hệ thống WinCC đều được bắt đầu từ đây.
Nội dung của Control Center gồm có:
+ Chức năng
+ Cấu trúc
+ Các editor chuẩn
- WinCC –là giao diện giữa người và máy móc trong thiết kế tự động :
WinCC là hệ thống trung tâm về công nghệ và kỹ thuật được dùng để điều hành các nhiệm vụ của 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. Hệ thống này cung cấp các modul chức năng thích ứng trong công nghiệp về: hiển thị hình ảnh, thông điệp, lưu trữ và báo cáo. Giao diện điều khiển mạnh, việc truy cập hình ảnh nhanh chóng, và chức năng lưu trữ an toàn của nó đảm bảo tính hữu dụng cao.
Ngoài các chức năng hệ thống, WinCC còn mở ra các giao diện cho các giải pháp của người sử dụng, những giao diện này khiến chúng có thể tích hợp WinCC vào các giải pháp tự động hóa phức tạp và toàn công ty. Việc xử lý dữ liệu lưu trữ được tích hợp bằng các giao diện chuẩn ODBC và SQL. Việc thêm vào các đối tượng và các tài liệu cũng được tích hợp bằng OLE2.0 và OLE Custom Controls (OCX). Các cơ chế này làm cho WinCC trở thành một bộ phận am hiểu và dễ truyền tải trong môi trường Windows.
WinCC dựa vào hệ điều hành 32 bit MS-Windows 95 hay MS-Windows NT. Cả hai đều có khả năng về thực hiện đa nhiệm vụ, đảm bảo phản ứng nhanh chóng với việc xử lý ngắt và độ an toàn chống lại sự mất dữ liệu bên trong ở mức độ cao. Windows NT còn cung cấp các chức năng để tạo ra sự an toàn và phục vụ như một nền tảng cho hoạt động của các servers trong hệ thống WinCC nhiều người sử dụng. Chính phần mềm WinCC cũng là ứng dụng 32 bit được phát triển với công nghệ phần mềm hướng đối tượng và hiện đại nhất.
2.5.1 Nội dung của control center
2.5.1.1 Chức năng.
Control Center chứa tất cả các chức năng quản lý cho toàn hệ thống WinCC. Trong Control Center, ta có thể đặt cấu hình và khởi động module run-time.
a, Nhiệm vụ của quản lý dữ liệu:
Quản lý dữ liệu cung cấp ảnh quá trình với các giá trị của tag. Tất cả các hoạt động của quản lý dữ liệu đều chạy trên một background (nền).
b, Nhiệm vụ của Control Center
- Các nhiệm vụ chính của Control Center:
+ Lập cấu hình hoàn chỉnh.
+ Hướng dẫn giới thiệu việc lập cấu hình.
+ Thích ứng việc ấn định, gọi, và lưu trữ các projects.
+ Quản lý các projects.
+ Có khả năng nối mạng các chức năng soạn thảo cho nhiều người sử dụng trong một project.
+ Quản lý phiên bản.
+ Diễn tả bằng đồ thị của dữ liệu cấu hình.
+ Điều khiển và đặt cấu hình cho các hình vẽ/ cấu trúc hệ thống.
+ Thiết lập việc cài đặt toàn cục.
+ Đặt cấu hình cho các chức năng định vị đặc biệt.
+ Tạo và soạn thảo các tham khảo đan chéo.
+ Phản hồi tài liệu.
+ Báo cáo trạng thái hệ thống.
+ Thiết lập hệ thống đích.
+ Chuyển giữa run-timer và cấu hình.
+ Kiểm tra chế độ/ mô phỏng/ trợ giúp thao tác để đặt cấu hình dữ liệu, bao gồm dịch hình vẽ, mô phỏng tag, hiển thị trạng thái, và tạo thông điệp.
2.5.1.2 Cấu trúc.
Control Center có các cấu trúc như sau:
- Control Center
+ Tìm hiểu WinCC trong Control Center.Giao diện đồ họa cho cấu hình dưới môi trường Windows 95 và Windows NT.
+ Quản lý dữ liệu. Cung cấp ảnh quá trình với các giá trị của tag. Truyền dữ liệu mà quản lý dữ liệu đã nhận từ các hệ thống tự động.
- Các module chức năng
+ Hệ thống đồ họa (Graphic Designer)
Hiển thị và kết nối quá trình bằng đồ thị.
+ Viết chương trình cho các thao tác (Global Scrips)
Tạo một dự án động cho các yêu cầu đặc biệt.
+ Hệ thống thông báo (Alarm Logging)
Xuất các thông báo và hồi đáp.
+ Lưu trữ và soạn thảo các giá trị đo lường (Tag Logging)
Soạn thảo các giá trị đo lường và lưu giữ chúng trong thời gian dài.
Soạn thảo dữ liệu hướng người sử dụng và lưu giữ chúng trong thời gian dài.
+ Hệ thống báo cáo (Report Designer)
Báo cáo trạng thái hệ thống.
- Phản hồi tài liệu:
Đối với Control Center, việc in ra một hệ thống định sẵn có trong Report Designer để phản hồi tài liệu. Tất cả các máy tính , tags, và các kết nối đã được định hình đều được in ra bằng “print job” hay hiển thị trên màn hình.
- Các kiểu dữ liệu dự án được xuất ra bằng cách phản hồi tài liệu:
+ Máy tính: tên và kiểu máy tính (Server hay Client).
+ Tag management: tên tag, kiểu dữ liệu, kết nối , kênh.
+ Kết nối: kết nối, đơn vị và tham số.
2.5.1.3 Soạn thảo.
Editor dùng để soạn thảo và điều khiển một project hoàn chỉnh. Các bộ soạn thảo trong Control Center:
Chương trình soạn thảo
Giải thích
Alarm Logging
(Báo động)
Nhận các thông báo từ các quá trình để chuẩn bị, hiển thị, hồi đáp, và lưu trữ các thông báo này.
User Administrator
(Quản lý người dùng)
Việc điều khiển truy nhập sự cho phép cho các nhóm và người sử dụng.
Text Library
(Thư viện văn bản)
Chứa các văn bản tuỳ thuộc ngôn ngữ do ta tạo ra.
Report Designer
(Báo cáo)
Cung cấp hệ thống báo cáo được tích hợp mà ta có thể sử dụng để báo cáo dữ liệu, các giá trị quá trình hiện hành và đã lưu trữ, các thông báo hiện hành và đã lưu trữ, hệ thống tài liệu của chính người sử dụng.
Global Scripts
(Viết chương trình)
Cho phép ta tạo các dự án động tùy thuộc vào từng yêu cầu đặc biệt. Bộ soạn thảo này cho phép ta tạo các hàm C và các thao tác có thể được sử dụng trong một hay nhiều projects tùy theo kiểu của chúng.
Tag Logging
Xử lý các giá trị đo lường và lưu trữ chúng trong thời gian dài.
Graphics Designer
(Thiết kế đồ họa)
Cung cấp các màn hình hiển thị và kết nối đến các quá trình.
Các thành phần project trong Control Center.
Một project gồm các thành phần sau:
+ Máy tính.
+ Quản lý tag.
+ Kiểu dữ liệu.
+ Soạn thảo.
a, Máy tính.
Thành phần “Computer” dùng để quản lý tất cả các máy tính có thể truy nhập một project hiện thời. Ta có thể đặt cấu hình cho mỗi máy tính riêng biệt.
Các thuộc tính của một máy tính:
- Tên máy tính.
- Kiểu máy tính:
+ Server : Máy tính trung tâm để lưu trữ dữ liệu và quản lý toàn cục trong hệ thống WinCC.
+ Client : Cũng được định nghĩa như một workstation. Control Center được tải cục bộ trong từng máy tính loại này.
b, Quản lý tag.
Thành phần này có nhiều mục con như : các bộ điều khiển truyền thông để quản lý các tag quá trình, các tag nội, các kết nối logic vàø các nhóm tag.
- Các bộ điều khiển truyền thông:
Bộ điều khiển truyền thông là giao diện giữa một hệ thống PLC và WinCC. Hệ thống WinCC chứa các bộ điều khiển truyền thông trong Kênh DLL và Bộ điều khiển truyền thông. Chúng cho ta các thông tin về:
+ Điều kiện tiên quyết cần để xử lý các tag quá trình bằng PLC.
+ Các thủ tục chung để kết nối với tag ngoài.
+ Giới thiệu cấu hình đặc biệt của kênh DLL.
Các kiểu điều khiển truyền thông như: Modbus Protocol Suite.chn, Mitsubishi FX.CHN, Profibus DP.CHN, Modbus serial.CHN, SIMATIC S7 Protocol Suite.CHN, SIMATIC S5 ETHERNET TF.CHN…
- Khối kênh:
Một kênh ở WinCC được thực hiện như một Windows DLL và được liên kết động với hệ thống. Mỗi kênh WinCC thực hiện việc truy nhập các kiểu tham số kết nối đặc biệt với các nghi thức đặc biệt (chẳng hạn, kênh SIMATIC S5 Ethernet TF hỗ trợ việc truy nhập SIMATIC S5 với TF Protocol). Một kênh DLL có thể hỗ trợ nhiều khối kênh của cùng một kiểu. Ví dụ, kênh DLL của SIMATIC S5 Ethernet TF có thể được điều khiển với khối SINEC-H1 (CP1413) cũng như với khối SINEC -L2 (CP5412) tại cùng một lúc. Quản lý dữ liệu của WinCC đòi hỏi các giá trị quá trình lúc “run time” từ PLC ở xa thông qua kết nối logic. Khối kênh sẽ thực hiện các bước truyền thông cần thiết để đáp ứng yêu cầu về các giá trị quá trình bằng kết nối kênh đặc biệt, và do đó cung cấp các giá trị quy trình này cho quản lý dữ liệu WinCC. Dữ liệu đọc vào được lưu trữ như ảnh quá trình trong RAM của máy tính. Tất cả các thành phần của WinCC đều truy nhập ảnh quá trình này. Các kết nối logic, các nhóm tag, và các tags cũng có thể được ấn định vào một khối kênh.
Hình 2.18: mạng giao tiếp giữa máy tính và PLC.
- Kết nối:
Một kết nối logic mô tả giao diện giữa hệ thống tự động và quản lý dữ liệu WinCC.
Quản lý dữ liệu của máy server đảm trách việc cung cấp các tags với các giá trị quá trình khi run time. Quản lý dữ liệu cung cấp các giá trị quá trình đến các tags nội bộ của nó cũng như các tags của máy client tương ứng. Quản lý dữ liệu chuyển các tags được truy cập đến kết nối logic của chúng và do vậy đến được kênh thích hợp. Các kênh sẽ thực hiện các bước truyền thông cần thiết bằng tuyến quá trình theo cách tối ưu nhất. Bằng cách này, việc giảm thiểu chuyển dữ liệu là cần thiết trên tuyến quá trình để gán giá trị cho các tags.
Logical Connection
Channel
Danh sách các tags được truy cập
- Tag:
Tags WinCC là phần tử trung tâm để truy nhập các giá trị quá trình. Trong một project, 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 tag 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 tags. Các tags đượ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 tags trong một project được nạp và các cấu trúc run time tương ứng được thiết lập.
Mỗi tag được lưu trữ trong quản lý dữ liệu theo một kiểu dữ liệu chuẩn.
+ Tag nội:
Các tags nội không có địa chỉ trong hệ thống PLC, do đó quản lý dữ liệu bên trong WinCC sẽ cung cấp cho toàn bộ network. Các tags nội được dùng để lưu trữ thông tin tổng quát như : ngày, giờ hiện hành; lớp hiện hành; cập nhật liên tục. Hơn nữa, các tags nội còn cho phép trao đổi dữ liệu giữa các ứng dụng để thực hiện việc truyền thông cho cùng quá trình theo cách tập trung và tối ưu.
+ Tag ngoài:
Trong hệ thống WinCC, tag ngoài cũng được hiểu là tag quá trình. Các tags ngoài được liên kết với truyền thông logic. Để phản ảnh thông tin về địa chỉ của các hệ thống PLC khác nhau, các tags ngoài chứa một mục tổng quát gồm các thông tin về tên, kiểu, các giá trị giới hạn và một mục chuyên biệt về kết nối mà cách diễn tả phụ thuộc kết nối logic. Quản lý dữ liệu luôn cung cấp những mục đặc biệt của tag ngoài cho các ứng dụng trong một mẫu văn bản.
- Nhóm tag:
Nhóm tag chứa tất cả các tags có kết nối logic lẫn nhau.
Ví dụ về các nhóm tag:
+ CPU: nhóm này chứa tất cả các tags truy nhập cùng một CPU.
+ Lò nhiệt: nhóm này chứa tất cả các tags truy nhập cho một lò.
+ I/O số: nhóm này chứa tất cả các tags truy nhập các I/Os số.
+ I/O tương tự: : nhóm này chứa tất cả các tags truy nhập các I/Os tương tự.
Một kết nối logic diễn tả giao diện giữa hệ thống tự động và quản lý dữ liệu. Mỗi nhóm tag được gán với một khối kênh. Một kênh có thể chứa nhiều nhóm tag.
c, Các kiểu dữ liệu:
Ta phải gán một trong các kiểu dữ liệu sau cho mỗi tag được định cấu hình. Việc gán kiểu dữ liệu cho tag được thực hiện trong khi tạo một tag mới. Kiểu dữ liệu của một tag thì độc lập với kiểu tag (tag nội hay tag 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 có trong WinCC:
Data Types Format Adaptable
Binary Tag No
Signed 8-Bit Value Yes
Unsigned 8-Bit Value Yes
Signed 16-Bit Value Yes
Unsigned 16-Bit Value Yes
Signed 32-Bit Value Yes
Unsigned 32-Bit Value Yes
Floating-Point Number 32-Bit IEEE 754 Yes
Floating-Point Number 64-Bit IEEE 754 Yes
Text Tag 8-Bit Character Set No
Text Tag 16-Bit Character Set No
Raw Data Type No
Text Reference No
Structure Types No
Giới thiệu vài kiểu dữ liệu thường dùng:
- Kiểu dữ liệu 8-bit không dấu: kiểu này có độ dài 1 byte và không có dấu.
Adapt Format Number Range
ByteToUnsignedByte 0 to 255
(no conversion)
ByteToUnsignedWord 0 to 255
ByteToUnsignedDword 0 to 255
ByteToSignedByte 0 to 127
ByteToSignedWord 0 to 255
ByteToSignedDword 0 to 255
ByteToBCDByte 0 to 99
ByteToBCDWord 0 to 255
ByteToBCDDword 0 to 255
ByteToAikenByte 0 to 99
ByteToAikenWord 0 to 255
ByteToAikenDword 0 to 255
ByteToExcessByte 0 to 99
ByteToExcessWord 0 to 255
ByteToExcessDword 0 to 255
- Kiểu dữ liệu 16 bit không dấu: kiểu này dài 2 bytes và không có dấu.
Adapt Format Number Range
WordToUnsignedWord 0 to 65535
(no conversion)
WordToUnsignedByte 0 to 255
WordToUnsignedDword 0 to 65535
WordToSignedByte 0 to 127
WordToSignedWord 0 to 32767
WordToSignedDword 0 to 65535
WordToBCDByte 0 to 99
WordToBCDWord 0 to 9999
WordToBCDDword 0 to 65535
WordToAikenByte 0 to 99
WordToAikenWord 0 to 9999
WordToAikenDword 0 to 65535
WordToExcessByte 0 to 99
WordToExcessWord 0 to 9999
WordToExcessDword 0 to 65535
WordToS5Counter 0 to 999
- Kiểu dữ liệu 32 bit không dấu: kiểu này dài 4 bytes và không có dấu.
Adapt Format Number Range
DwordToUnsignedDword 0 to 4294967295
(no conversion)
DwordToUnsignedByte 0 to 255
DwordToUnsignedWord 0 to 65535
DwordToSignedByte 0 to 127
DwordToSignedWord 0 to 32767
DwordToSignedDword 0 to 2147483647
DwordToBCDByte 0 to 99
DwordToBCDWord 0 to 9999
DwordToBCDDword 0 to 99999999
DwordToAikenByte 0 to 99
DwordToAikenWord 0 to 9999
DwordToAikenDword 0 to 99999999
DwordToExcessByte 0 to 99
DwordToExcessWord 0 to 9999
DwordToExcessDword 0 to 99999999
DwordToS5Timer 10 to 9990000
d, Soạn thảo:
Thành phần soạn thảo gồm có: Alarm Logging, User Administrator, Text Library, Report Designer, Global Scripts, Tag Logging, Graphic Designer…sẽ được trình bày cụ thể trong chương 2.
2.6 Các thành phần soạn thảo
2.6.1 Alarm logging.
2.6.1.1 Chức năng.
Soạn thảo Alarm Logging đảm trách về các thông báo nhận được và lưu trữ. Nó chứa các chức năng để nhận các thông báo từ các quá trình, để chuẩn bị, hiển thị, hồi đáp và lưu trữ chúng. Với đặc tính này, Alarm Logging giúp ta tìm ra nguyên nhân của lỗi.
Hệ thống Alarm Logging có các đặc tính sau:
+ Cung cấp các thông tin về lỗi và trạng thái hoạt động toàn diện.
+ Cho phép sớm nhận ra các tình trạng nguy cấp.
+ Tránh và giảm thiểu thời báo.
+ Chất lượng sản phẩm ngày càng tăng.
+ Cung cấp tài liệu.
Alarm Logging chia làm 2 thành phần: hệ thống cấu hình (Alarm Logging CS) và hệ thống run-time (Alarm Logging RT).
a, Nhiệm vụ của Alarm Logging CS:
Sử dụng Alarm Logging CS để đặt cấu hình cho các thông báo để chúng được hiển thị theo cách mà ta muốn. Ta có thể thực hiện điều này trước khi hệ thống run-time khởi động. Hệ thống cấu hình Alarm Logging của WinCC cung cấp một giao diện đặc biệt mà ta tạo lập sẵn.
b, Nhiệm vụ của Alarm Logging RT:
Alarm Logging có nhiệm vụ thu thập các thông báo và hồi đáp. Nó chuẩn bị các thông báo để hiển thị và lưu trữ.
c, Khái quát về Alarm Logging.
- Thông báo:
Các thông báo được xuất ra từ các biến cố và được hiển thị bởi Alarm Logging theo trình tự thời gian. Hệ thống phân biệt giữa các kiểu sự cố sau:
+ Binary events.
+ Các dạng thông báo.
+ Theo dõi các sự cố.
- Binary events: là những thay đổi trạng thái trong các tags (tag nội và tag ngoài).
- Các dạng thông báo: chứa các mục và chức năng sau:
+ Quá trình.
+ Theo dõi hệ thống điều khiển.
+ Các ứng dụng.
- Theo dõi các sự cố: hệ thống Alarm Logging chưa hỗ trợ việc theo dõi sự cố. Tuy nhiên, ta vẫn có thể liệt kê các sự cố:
+ Tràn bộ phận lưu trữ và ROM.
+ Thông báo về máy in.
+ Lỗi do server.
+ Sự cố truyền thông quá trình.
+ Thông báo nhóm.
+ Điều khiển quá trình và lưu trữ.
- Thủ tục thông báo
WinCC hỗ trợ 2 thủ tục thông báo: thủ tục thông báo bit và thông báo đúng trình tự thời gian.
+ Thủ tục thông báo bit: là thủ tục phổ biến cho phép nhận các thông báo từ PLC. Alarm Logging sẽ thu thập các giá trị thực sự từ việc quản lý tag của quản lý dữ liệu. Alarm Logging sẽ gán ngày, giờ trong thủ tục này.
+ Thông báo đúng trình tự thời gian: thủ tục này giả sử rằng chính các PLCs tạo ra thông báo sự cố, tự ấn định ngày/ giờ và các giá trị quá trình cho nó. Tất cả các thông báo của PLC được nhóm lại bởi một dạng thông báo tạo sẵn cho toàn bộ project.
d, Cấu trúc một thông báo:
Một thông báo chứa các thông tin hệ thống và các tham số khác, được hiển thị theo hình thức của các cột. Nếu các cột này chứa các tên đồng nhất, các giá trị và các khối giống nhau, thì chúng được gọi là các khối thông báo.
Các khối thông báo được chia thành 3 vùng sau:
- Các khối hệ thống: các khối này chứa dữ liệu hệ thống được gán bởi Alarm Logging. Các dữ liệu bao gồm: ngày, giờ, báo cáo ID.
- Các khối giá trị quy trình: các khối này chứa các giá trị truyền từ quá trình, ví dụ như vượt mức và nhiệt độ nguy cấp.
- Các khối văn bản cho người dùng: là những khối văn bản cho các thông tin tổng quát và dễ hiểu như : giải thích các thông báo, nơi lỗi xảy ra, và nguồn gốc thông báo.
e, Tổ chức các thông báo:
WinCC cung cấp 16 lớp thông báo với 16 kiểu thông báo. Ta có thể đặt cấu hình cho các lớp thông báo. Mỗi một thông báo được gán với một kiểu thông báo. Các kiểu thông báo cũng được nhóm trong các lớp thông báo.
f, Hiển thị các thông báo trong chế độ runtime:
- Báo cáo thông báo: một hình thức khác của việc chuyển thông báo là hiển thị bằng báo cáo. Hệ thống phân biệt giữa các kiểu sau:
- Báo cáo thông báo theo trình tự: cung cấp liên tục các thủ tục về thông báo.
- Báo cáo lưu trữ: chứa các thông tin vào nơi lưu trữ.
- Thông báo đơn và theo nhóm: nếu các thông báo được định hình riêng biệt (thông báo đơn) nhóm lại với nhau thì chúng được gọi là các thông báo theo nhóm. Một thông báo theo nhóm có thể được tạo cho mỗi lớp và kiểu thông báo. Ngoài ra ta có thể kết hợp các thông báo theo nhóm. Nếu một thông báo theo nhóm được hiển thị, nghĩa là có ít nhất một thông báo đơn được thực thi. Ta không thể nhận ra các thông báo đơn trong kiểu hiển thị này.
- Khóa và cho phép thông báo: những thông báo cá biệt, những lớp và kiểu thông báo có thể ẩn và hiện lại trong việc thu thập ở chế độ run time.
- Ghi nhận: Alarm Logging có thể sử dụng lưu trữ trong thời gian ngắn và lưu trữ tuần tự.
+ Lưu trữ trong thời gian ngắn: có thể lưu trữ trong thời gian ngắn đến 10.000 thông báo trong danh sách các thông báo.Ta có thể tải nơi lưu trữ vào một trong hai vùng sau: bộ đệm vòng của bộ nhớ chính và trong đĩa cứng.
+ Lưu trữ tuần tự: toàn bộ đĩa cứng có thể được sử dụng. Ta có thể dùng các vùng lưu trữ như: lưu trữ trong thời gian ngắn, và lưu trữ liên tục trên đĩa cứng.
2.6.2 Graphics designer.
2.6.2.1 Chức năng.
Graphics Designer dùng để tạo các hình vẽ từ quá trình. Nó có các đặc tính sau:
+ Dễ sử dụng, giao diện đơn giản với các mẫu đồ họa và công cụ.
+ Hợp lý hóa cấu hình với các thư viện đối tượng và biểu tượng tích hợp.
+ Mở ra các giao diện để đưa vào các hình đồ họa và hỗ trợ giao diện OLE 2.0.
+ Liên kết các chức năng bổ sung bằng cơ cấu viết chương trình rất hiệu quả.
+ Liên kết các đối tượng đồ họa mà ta tự tạo.
2.6.2.2 Cấu trúc.
Graphics Designer chứa các mục sau:
- Các palettes để tạo và biên tập các đối tượng đồ họa.
+ Palette màu sắc.
+ Palette đối tượng.
+ Palette về kiểu.
+ Palette thu phóng.
+ Palette font chữ.
- Các palettes và các thanh (bar) thao tác trên Graphics Designer.
+ Thanh menu.
+ Palette chuẩn.
+ Thanh trạng thái.
+ Thanh layer.
- Cửa sổ hội thoại để thiết lập và thay đổi đặc tính của đối tượng.
+ Đặc tính đối tượng
a , Palette đối tượng:
Các đối tượng có sẵn được xếp vào các vùng dưới đây:
+ Standard Objects: gồm các hình đa giác, elip, hình chữ nhật.
+ Smart Objects: gồm có OLE control, OLE object, bar, I/O field.
+ Window Objects: bao gồm Button và Chech Box.
- Standard Objects:
-Graphic Objects: dùng để vẽ các hình hệ thống.
+ Static Text: thực thi như một text. Ta có thể thay đổi hình dạng, vị trí, và nội dung của text box khi đang run time.
- Smart Objects:
+ Application Windows: là các đối tượng được quản lý bởi hệ thống thông báo (Alarm Logging), hệ thống lưu trữ (Tag Logging), hệ thống báo cáo (Print Jobs), và các ứng dụng (Global Scripts). Trong Graphic Designer, các đặc tính bên ngoài (vị trí, kích thước, và các thuộc tính khác) cũng được đặt cấu hình và chuyển đến ứng dụng khi run time. Ứng dụng mở ra các cửa sổ ứng dụng và quản lý nó để hiển thị và thao tác.
+ Picture Windows: là đối tượng thu nhận các hình vẽ được tạo từ Graphics Designer. Chúng được cấu hình theo vị trí, kích cỡ, và các đặc tính động khác. Ví dụ một đặc tính quan trọng là xem xét các hình vẽ để hiển thị trong picture window.
+ OLE Control: sử dụng OLE Control để bổ sung thêm phần tử trong Window (như nút nhấn hay hộp chọn lựa). Một OLE Control có các thuộc tính được hiển thị trong cửa sổ “Object Properties”, “Event” và có thể soạn thảo ở đó.
+ OLE Object: Graphics Designer hỗ trợ tính năng chèn vào một OLE Object trong đồ họa. Sau khi thực hiện việc chuyển đổi để liên kết OLE Object trong hộp đối tượng, ta phải truy cập sự liên kết để hiển thị những thay đổi.
+ I/O field: ta có thể sử dụng nó như một input field, output field, hay một I/O field kết hợp. Các dạng dữ liệu có thể có: nhị phân, thập lục phân, thập phân, hay chuỗi. Ta cũng có thể định rõ các giá trị giới hạn, đầu vào ẩn, thu nhận khi vùng field bị đầy.
+ Bar: được gán với nhóm Smart Object. Các thuộc tính của nó có ảnh hưởng đến hình dạng, tính năng của nó và hiển thị các giá trị liên quan giới hạn cao và thấp.
+ Graphic Object: nhận hình vẽ được tạo từ một dạng đồ họa bên ngoài vào Graphic Designer.
+ Status Display: hiển thị được 32 trạng thái khác nhau của một đối tượng. Ta có thể hiển thị bằng cách kết nối nó với tag có giá trị tương ứng với trạng thái. Sử dụng hộp thoại để đặt cấu hình cho màn hình trạng thái một cách đơn giản và nhanh chóng.
+ Text List: sử dụng text list để gán giá trị cho text. Nó được dùng như một input list, output list, hay text list kết hợp. Các dạng dữ liệu có thể có: thập phân, nhị phân, bit.
+ 3D Bar: được gán với nhóm Smart Object. Các thuộc tính của nó có ảnh hưởng đến hình dạng, tính năng của nó và hiển thị các giá trị liên quan giới hạn cao và thấp. Ta có thể đặt cấu hình hiển thị 3 chiều theo cách mà ta muốn. 3D Bar là một bộ phận của hộp lựa chọn Điều Khiển Quá Trình Cơ Bản.
+ Group Display: đưa ra màn hình các trạng thái hiện tại của các kiểu thông báo theo cách tập trung có thứ tự. Không có sự kết nối với hệ thống thông báo trong WinCC.
- Window Objects:
+ Button: dùng để điều khiển các ngắt quá trình. Nó nhận biết hai trạng thái (nhấn và không nhấn). Sự liên kết với quá trình được thực hiện bằng cách tạo ra các thuộc tính động tương ứng.
+ Check box: được sử dụng khi ta cần nhiều sự lựa chọn. Ta có thể chọn một hay nhiều hộp trong Check Box. Một liên kết linh hoạt với quá trình có thể được thực hiện bằng cách tạo ra các thuộc tính động tương ứng.
+ Option Group: cũng giống với Check Box nhưng chỉ cho phép chọn một. Sự liên kết quá trình từ Option Group có thể được tạo trong khi run time bằng cách tạo ra các thuộc tính động tương ứng.
+ Round Button: thực hiện như một button cho các ngắt quá trình hoạt động. Tuy nhiên, ngược lại với button, nó cho phép chốt cả hai trạng thái nhấn và không nhấn.
+ Slider: thực hiện như một bộ hiệu chỉnh dịch chuyển để điều khiển quá trình ( ví dụ như điều khiển nhiệt độ). Tầm điều khiển nằm giữa giá trị min và max. Ta có thể liên kết với quá trình bằng các thuộc tính động thích hợp.
b, Tab Property:
Tab “Property” dùng để xác định thuộc tính cho đối tượng được chọn.
- Subject Tree: các thuộc tính của đối tượng được sắp xếp thành nhóm. Khi ta chọn một nhóm từ Subject Tree, các thuộc tính tương ứng sẽ được hiển thị. Subject Tree gồm có:
+ Geometry (hình học).
+ Colors (màu sắc).
+ Styles (kiểu).
+ Flashing (chớp sáng).
+ Filling (đầy).
+ Font (kiểu chữ).
+ Limits (giới hạn).
+ Axis (trục tọa độ).
+ Miscellaneous (các thuộc tính khác).
+ Output/Input (vào/ ra).
- Attributes: ta có thể thay đổi thuộc tính bằng cách sử dụng các giá trị đầu vào, các bảng mẫu, hay menu dựa vào kiểu thuộc tính. Ta có thể tạo các thuộc tính động bằng cách sử dụng tag hay giá trị trả về của một thao tác.
c, Tab event:
Trong tab “Event”, ta xác định những thao tác nào được thực hiện bởi đối tượng đã chọn.
- Subject Tree: gồm có các phần như sau:
+ Chuột.
+ Bàn phím.
+ Các thuộc tính khác.
+ Các thuộc tính của đối tượng.
- Event: nếu một sự kiện được liên kết với một thao tác, thì biểu tượng tia chớp sẽ chuyển sang màu xanh. Các hàm chuẩn có sẵn cho các thao tác mà ta có thể chọn trong hộp thoại. Ta cũng có thể lập trình cho các thao tác bằng ngôn ngữ lập trình C.
- Object Event: mỗi đối tượng trong hình vẽ có thể liên kết với các thao tác.
Ta có thể tạo ra một thao tác bằng các sự kiện sau:
+ Sự kiện nhấn hay nhả chuột bằng nút trái hoặc phải.
+ Sự kiện nhấn hay nhả phím.
+ Các sự kiện khác: thay đổi đối tượng.
+ Các sự kiện liên kết thuộc tính cho đối tượng:
+ Thay đổi thuộc tính đối tượng.
+ Thay đổi trạng thái của tag có ảnh hưởng đến thuộc tính của đối tượng.
- Triggering Events: việc tạo các sự kiện phụ thuộc vào đối tượng ta đã chọn từ Subject Tree.Action (A…) hiển thị một thao tác được ấn định hay một kết nối trực tiếp.
- Selecting the Action:
+ C Action:“C Action” xảy ra khi liên kết sự kiện với hàm đã định trong ngôn ngữ lập trình ANSI-C và được tạo một cách tuần hoàn bởi các sự kiện.Biểu tượng tia chớp chuyển sang màu xanh khi sự kiện được kết nối với một hàm.
+ Direct Connection: Dùng cửa sổ hộp thoại “Direct Connection” để chọn phần tử nguồn và liên kết nó với phần tử đích.Khi kết nối trực tiếp được thực hiện cho một sự kiện thì biểu tượng tia chớp cũng chuyển sang màu xanh.
CHƯƠNG 3
THIẾT KẾ ĐIỀU KHIỂN
3.1 Giải Pháp Điều Khiển
3.1.2 Thiết kế hệ thống bôi trơn ổ đỡ đầu vào máy nghiền xi
Mục đích chính của các trạm bôi trơn là để bôi trơn các ổ đỡ con trượt lò xo cho máy nghiền bi.Trạm bôi bao gồm một bể dầu,3 bơm kép: bơm điều hòa ,bơm áp suất thấp(LP),bơm áp suất cao(HP),thiết bị làm mát bằng nước,thiết bị gia nhiệt,van các loại. Khi một lệnh Start được đưa ra và không có tín hiệu cảnh báo nào trong hệ thống hệ thống bôi trơn sẽ hoạt động. Nếu nhiệt độ dưới hoặc dưới mức min thì hệ thống không hoạt động,nếu nhiệt độ lớn hơn hoặc bằng thì bơm điều hòa hoạt động. Nếu nhiệt độ trong bình dưới thì thiết bị gia nhiệt hoạt động. Nếu nhiệt độ lớn hơn 2 bơm LP và HP hoạt động. Và hệ thống đã sẵn sàng cho động cơ nghiền xi khởi động. Nếu lớn hơn thì đường hồi lưu dầu qua hệ thống làm mát bằng nước. Nếu nhiệt độ của bình dầu quá trong vòng 2 phút hệ thống sẽ tự ngắt.Nếu nhiệt độ bình dầu quá thì hệ thống ngắt ngay lập tức.Nếu nhiệt độ bể dầu dưới trong vòng 2 phút thì hệ thống tự ngắt. Nếu nhiệt độ trong bình dưới hệ thống dừng ngay lập tức .Khi áp suất trong ổ đỡ P≥ 3pa bằng thì bơm áp suât cao ngừng. Nếu áp suất p<2.5 pa thì hệ bơm áp suất cao sẽ hoạt động trở lại tới p=3pa thì lại ngừng.
3.1.3 Thiết kế hệ thống đóng bao
Khi khởi động hệ thống thì các động cơ gầu tải,động cơ sàng rung,động cơ chính của máy đóng bao, 8 động cơ đẩy xi, quạt root làm tơi xi và các động cơ băng tải xi hoạt động. Khi công nhân đưa bao xi vào vòi hệ thống sẽ xác nhận có bao xi sẽ thổi khí nén vào làm căng bao xi. Đo áp suất đạt yêu cầu sẽ mở van xi. Dưới tác động của 8 động cơ xi sẽ được đẩy vào bao xi. Dưới sức nặng của bao xi tỳ xuống giá đỡ loadcell tác động.Và dựa trên giá trị đặt thường là 50kg hệ thống kẹp bao xi sẽ tự động nhả xuống băng tải cao su rồi xuống ô tô vận chuyển. Hệ thống có các công tắc an toàn khi người bị quấn vào máy sẽ chạm vào công tắc hành trình sẽ tự động dừng động cơ máy đóng bao. Các công tác báo quá tải do vật kẹt vào hệ thống,công tắc báo băng tải lệch băng sẽ dừng máy đóng bao.
3.2 Sơ đồ điều khiển
3.3 Lập Trình trên S7 300 và Giám sát điều khiển trên WinnCC
3.3.1 Lập trình phần mềm cho S7 300
3.3.1.1 Phần cứng cho lập trình S7 300
3.3.1.2 Lập trình S7 300 dạng LAD
3.3.3 Lập trình điều khiển giám sát trên phần mềm WinCC
3.3.3.1 Kết nối WinCC
Kết nối hệ thống bôi trơn cho động cơ nghiền xi
Kết nối hệ thống đóng bao
Các graphic designer.
3.3.3.2 Lập trình giao diện chính cho hệ thống điều khiển giám sát
+Giao diện chính
+ Lập trình giao diện cho hệ thống bôi trơn ổ đỡ động cơ nghiền xi
+ Lập trình giao diện cho hệ thống đóng bao.
Lập trình giao diện điều khiển giám sát hệ thống dung phần mềm WinCC
Giao diện chính điều khiển hệ thống
Hệ thống đóng bao
Hệ thống bôi trơn ổ đỡ cho động cơ nghiền xi
Kết luận
Kể từ khi nhận được đồ án, với sự hướng dẫn tận tình của các
thầy các cô cùng với sự nỗ lực của bản thân đến nay em đã hoàn thành bản đồ án tốt nghiệp.
Trong quá trình làm đồ án với tinh thần học tập nghiêm túc và không ngừng học hỏi, em đã thực hiện đầy đủ các phần theo nội dung của đồ án: Thiết kế hệ thống điều khiển giám sát cho nhà cho phân xưởng nghiền và đóng bao cho nhà máy xi măng Tam Điệp.Về cơ bản, đồ án cũng phản ánh được: hệ thống bôi trơn cho động cơ nghiền xi và hệ thống đóng bao của nhà máy. Đem lại khả năng tiện ích cho người điều khiển và giám sát hệ thống.
Trong khoảng thời gian làm đồ án này đã giúp em tiếp thu được kiến thức thực tế và củng cố lại những kiến thức đã được thầy cô dạy trước đây. Đồng thời cũng gợi mở cho bản thân em cách học tập, làm việc khoa học của một người cán bộ làm kỹ thuật tương lai. Trong quá trình làm đồ án, còn có những hạn chế về nhận thức, kiến thức thực tế và thời gian, các phần trình bầy trong đồ án chắc chắn không thể tránh khỏi những thiếu sót, em rất mong được sự chỉ bảo của các thầy các cô.
Cuối cùng em xin chân thành cảm ơn thầy Th.S Nguyễn Văn Huy và các thầy cô trong bộ môn Đo lường và Điều Khiển Tự Động cũng như các thầy cô trong khoa Điện Tử đã tận tình giúp đỡ em hoàn thành bản đồ án này.
Tài liệu tham khảo
[1] TS.Trần Thu Hà, KS Phạm Quang Huy, “Lập trình với S7 và WinCC”
[2] Nguyễn Doãn Phước, Phan Xuân Minh, Vũ Vân Hà “ Tự động hóa với Simatic S7- 300”
[3] TS Nguyễn Như Hiển, TS Nguyễn Mạnh Tùng, “ Điều khiển logic và PLC”
[4] www.hiendaihoa.com
[5] www.vicem.vn