MỤC LỤC
Trang
MỞ ĐẦU 4
CHƯƠNG 1: CẤU TRÚC VÀ YÊU CẦU CÔNG NGHỆ CỦA NHÀ TRỒNG THỰC VẬT 6
1.1.1. Cấu trúc của nhà trồng thực vật ngoài nước. 7
1.1.2. Cấu trúc của nhà trồng thực vật trong nước. 8
1.2. Yêu cầu công nghệ của nhà trồng thực vật. 11
1.3. tính toán cân bằng ẩm trong nhà trồng. 14
1.3.1. Tỏa hơi nước do người. 14
1.3.2. Tỏa hơi nước do bốc hơi từ bể chứa. 15
1.3.3. Tỏa hơi nước từ nền ẩm. 15
1.3.4. Tỏa hơi nước từ bán thành phẩm. 15
CHƯƠNG 2: CẤU TRÚC VÀ LẬP TRÌNH PLC S7-200 17
2.1. Giới thiệu thiết bị điều khiển logic lập trình được PLC. 17
2.1.1. Cấu trúc chung của PLC. 19
2.1.2. Nguyên lý hoạt động cuả PLC: 20
2.1.3. Bộ nhớ của PLC. 20
2.1.4. Kích thước bộ nhớ PLC. 22
2.1.5. Các đầu vào ra của PLC. 22
2.1.6. Các hoạt động xử lý bên trong PLC. 22
2.2. Giới thiệu thiết bị điều khiển logic lập trình được PLC S7-200. 23
2.2.2. Cấu trúc bộ nhớ của S7-200 CPU214. 26
2.2.2.1. Phân chia bộ nhớ. 26
2.2.2.2. Vùng dữ liệu. 27
2.2.2.3. Vùng đối tượng. 29
2.2.2.4. Mở rộng cổng vào ra. 31
2.2.3. Thực hiện chương trình của S7-200 CPU214. 32
2.2.4. Cấu trúc chương trình của S7-200 CPU214. 33
2.3. Ngôn ngữ lập trình của S7-200. 34
2.3.1. Phương pháp lập trình. 34
2.3.1.1. Định nghĩa về LAD 35
2.3.1.2. Định nghĩa về ngăn xếp logic (logic stack). 36
2.3.2. Tập lệnh của S7-200. 36
2.3.2.1. Lệnh vào ra. 36
2.3.2.2. Toán hạng và giới hạn cho phép. 37
2.3.2.3. Các lệnh ghi/xóa giá trị cho tiếp điểm. 38
2.3.2.4. Các lệnh logic đại số Boolean. 38
2.3.2.5. Các lệnh tiếp điểm đặc biệt. 38
2.3.2.6. Các lệnh so sánh. 38
2.3.2.7. Lệnh nhảy và lệnh gọi chương trình con. 39
2.3.2.8. Các lệnh can thiệp vào thời gian vòng quét. 39
2.3.2.9. Các lệnh can thiệp vào thời gian vòng quét. 40
2.3.2.10. Các lệnh điều khiển Counter. 40
2.3.2.11. Các lệnh số học. 41
2.3.2.12. Lệnh tăng, giảm một đơn vị và lệnh đảo giá trị thanh ghi. 43
2.3.2.13. Lệnh chuyển dịch nội dung ô nhớ. 43
2.3.2.14. Các lệnh làm việc với mảng. 44
2.3.2.15. Các lệnh dịch chuyển thanh ghi. 44
2.3.2.16. Các lệnh đổi kiểu dữ liệu. 44
2.3.2.17. Xây dựng cấu trúc vòng lặp. 44
2.3.2.18. Đồng hồ thời gian thực. 45
2.3.2.19. Ngắt và xử lý ngắt. 45
2.4. Giới thiệu về màn hình OP3 và phần mềm Protool. 46
2.4.1. Giới thiệu về màn hình OP3. 46
2.4.1.1. Cấu hình và các giai đoạn điều khiển tiến trình. 46
2.4.1.2. Cấu hình của OP3. 46
2.4.1.3. Truyền thông OP3 với PLC. 48
2.4.1.4. Kết nối tới PPI của S7-200. 49
2.4.2. Giới thiệu về ProTool. 49
2.4.2.1. Các kỹ thuật thiết lập cấu hình. 50
2.4.2.2. Các giá trị nhập vào. 50
2.4.2.3. Các bộ định thời và bộ đếm. 50
2.4.2.4. Tạo và sửa đổi các dự án. 50
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN ĐỘ ẨM CHO NHÀ TRỒNG 54
3.1. Lựa chọn thiết bị cho hệ thống điều khiển. 54
3.1.1. Lựa chọn thiết bị đầu vào. 55
3.1.1.1. Lựa chọn thiết bị đo độ ẩm. 55
3.1.1.2. Lựa chọn thiết bị đo gió. 55
3.1.1.3. Lựa chọn cảm biến đo cường độ ánh sáng. 56
3.1.1.4. Lựa chọn cảm biến báo mưa. 57
3.1.2. Tính toán thiết kế lựa chọn cơ cấu chấp hành. 58
3.1.2.1. Tính toán lựa chọn hệ thống giảm ẩm cho nhà trồng. 58
3.1.2.2. Tính toán lựa chọn thiết bị tăng ẩm. 62
3.1.2.3. Hệ thống phụ trợ cho nhà trồng. 63
3.1.3. Lựa chọn thiết kế hệ thống cung cấp điện. 66
3.1.3.1. Xác định phụ tải tính toán toàn nhà. 66
3.1.3.2. Lựa chọn các phần tử trên sơ đồ cấp điện. 67
3.2. Xây dựng chương trình điều khiển 69
3.2.1. Đặc điểm công nghệ. 69
3.2.2. Các thiết bị vào ra của PLC. 71
3.2.3. Chương trình điều khiển. 77
KẾT LUẬN 78
TÀI LIỆU THAM KHẢO 79
PHỤ LỤC 80
1. Chương trình điều khiển hệ thống điều khiển độ ẩm. 80
2. Chương trình điều khiển trên OP3. 94
96 trang |
Chia sẻ: maiphuongdc | Lượt xem: 1657 | 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 độ ẩm trong nhà trồng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ách ghép nối thêm vào nó các modul mở rộng về phía bên phải của CPU (CPU 214 nhiều nhất 7 module), làm thành một móc xích. Các module mở rộng tương tự và số đều có trong S7-200. Địa chỉ của các vị trí của module được xác định bằng kiểu vào/ra và vị trí của module trong móc xích, bao gồm các module có cùng kiểu.
Các module mở rộng số hay rời rạc đều chiếm chỗ trong bộ đếm, tương ứng với số đầu vào/ra của module.
Cách đặt địa chỉ cho các module mở rộng trên CPU214.
CPU214
Module 0 [4vào/4ra]
Module 1 [8vào]
Module 2 [3 vào analog/1 ra analog]
Module 3 [8 ra]
Module 4 [3 vào analog/1 ra analog]
I0.0
Q0.0
I2.0
I3.0
AIW0
Q3.0
AIW8
I0.1
Q0.1
I2.1
I3.1
AIW2
Q3.1
AIW10
I0.2
Q0.2
I2.2
I3.2
AIW4
Q3.2
AIW12
I0.3
Q0.3
I2.3
I3.3
Q3.3
I0.4
Q0.4
I3.4
AQW0
Q3.4
AQW14
I0.5
Q0.5
Q2.0
I3.5
Q3.5
I0.6
Q0.6
Q2.1
I3.6
Q3.6
I0.7
Q0.7
Q2.2
I3.7
Q3.7
I1.0
Q1.0
Q2.3
I1.1
Q1.1
I1.2
I1.3
I1.4
I1.5
2.2.3. Thực hiện chương trình của S7-200 CPU214.
PLC thực hiện chương trình theo chu kỳ lặp. Mỗi vòng lặp được gọi là một vòng quét (Scan). Mỗi vòng quét được bắt đầu bằng giai đoạn đọc dữ liệu từ các cổng vào vùng đệm ảo, tiếp theo là giai đoạn thực hiện chương trình. Trong từng vòng quét, chương trình được thực hiện bằng lệnh đầu tiên và kết thúc bằng lệnh kết thúc (MEND). Sau giai đoạn thực hiện chương trình là gian đoạn truyền thông nội bộ và kiểm tra lỗi. Vòng quét được kết thúc bằng giai đoạn chuyển các nội dung của bộ đệm ảo tới các cổng ra.
Hình 2.5. Vòng quét (scan) trong S7-200.
Như vậy, tại thời điểm thực hiện lệnh vào/ra, thông thường lệnh không làm việc 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à 4 do CPU quản lý. Khi gặp lệnh vào/ra ngay lập tức thì hệ thống sẽ cho dừng mọi công việc khác, ngay cả chương trình xử lý ngắt, để thực hiện lệnh này một cách trực tiếp với cổng vào/ra.
Nếu sử dụng các chế độ xử lý ngắt, chương trình con tương ứng với từng tín hiệu ngắt được soạn thảo và cài đặt như một bộ phận của chương trình. Chương trình xử lý ngắt chỉ được thực hiện trong vòng quét khi xuất hiện tín hiệu báo ngắt và có thể xảy ra ở bất cứ điểm nào trong vòng quét.
2.2.4. Cấu trúc chương trình của S7-200 CPU214.
Có thể lập trình cho S7-200 bằng cách sử dụng một trong những phần mềm sau đây:
STEP 7-Micro/DOS.
STEP 7-Micro/WIN.
Những phần mềm này đều có thể cài đặt được trên các máy lập trình họ PG7xx và các máy tính cá nhân (PC).
Các chương trình cho S7-200 phải có cấu trúc bao gồm chương trình chính (main program) và sau đó đến các chương trình con và các chương trình xử lý ngắt được chỉ ra sau đây:
Chương trình chính được kết thúc bằng lệnh kết thúc chương trình (MEND).
Chương trình con là một bộ phận của chương trình. Các chương trình con phải được viết sau lệnh kết thúc chương trình chính, đó là lệnh MEND.
Các chương trình xử lý ngắt là một bộ phận của chương trình. Nếu cần sử dụng chương trình xử lý ngắt phải viết sau lệnh kết thúc chương trình chính MEND.
Các chương trình con được nhóm lại thành một nhóm ngay sau chương trình chính. Sau đó đến các chương trình xử lý ngắt. Bằng cách viết như vậy, cấu trúc chương trình được rõ ràng và thuận tiện hơn trong việc đọc chương trình sau này. Có thể tự do trộn lẫn các chương trình con và chương trình xử lý ngắt đằng sau chương trình chính.
Để tạo ra một chương trình dạng STL, người lập trình cần phải hiểu rõ phương thức sử dụng 9 bit của ngăn xếp logic của S7-200. Ngăn xếp logic là một khối gồm 9 bit chồng lên nhau. Tất cả các thuật toán liên quan đến ngăn xếp đều chỉ làm việc với bit đầu tiên hoặc với bit đầu tiên và bit thứ hai của ngăn xếp. Giá trị logic mới đều có thể được gửi [hoặc được nối thêm] vào ngăn xếp. Khi phối hợp hai bit đầu tiên của ngăn xếp, thì ngăn xếp sẽ được kéo lên một bit.
Main Program
Thực hiện trong một vòng quét
M
MEND
SBR 0 chương trình con thứ nhất
Thực hiện khi được chương trình chính gọi
M
RET
SBR 0 chương trình con thứ n+1
M
RET
INT 0 chương trình xử lý ngắt thứ nhất
Thực hiện khi có tín hiệu báo ngắt
M
RET1
INT 1 chương trình xử lý ngắt thứ n+1
M
RET1
2.3. Ngôn ngữ lập trình của S7-200.
2.3.1. Phương pháp lập trình.
S7-200 biểu diễn một mạch logic cứng bằng một dãy các lệnh lập trình. Chương trình bao gồm một dãy các lệnh. S7-200 thực hiện chương trình bắt đầu từ lệnh lập trình đầu tiên và kết thúc ở lệnh cuối trong một vòng. Một vòng như vậy được gọi là vòng quét.
Một vòng quét (scan cycle) được bắt đầu bằng việc đọc trạng thái của đầu vào, và sau đó thực hiện chương trình. Scan cycle kết thúc bằng việc thay đổi trạng thái đầu ra. Trước khi bắt đầu một vòng quét tiếp theo S7-200 thực thi các nhiệm vụ bên trong và nhiệm vụ truyền thông. Chu trình thực hiện chương trình là chu trình lặp.
Cách lập trình cho S7-200 nói riêng và cho các PLC của Siemens nói chung dựa trên hai phương pháp lập trình cơ bản: Phương pháp hình thang (Ladder Logic viết tắt là LAD) và phương pháp liệt kê lệnh (Statement List viết tắt là STL).
Nếu chương trình được viết theo kiểu LAD, thiết bị lập trình sẽ tự tạo ra một chương trình theo kiểu STL tương ứng. Nhưng ngược lại không phải mọi chương trình được viết theo kiểu STL cũng có thể chuyển được sang LAD.
2.3.1.1. Định nghĩa về LAD
LAD là một ngôn ngữ lập trình bằng đồ họa. Những thành phần cơ bản dừng trong LAD tương ứng với các thành phần của bảng điều khiển bằng rơle. Trong chương trình LAD các phần tử cơ bản dùng để biểu diễn lệnh logic như sau:
Tiếp điểm: là biểu tượng (symbol) mô tả các tiếp điểm của rơle. Các tiếp điểm đó có thể là thường mở ắ| |ắ hoặc thường đóng ắ| Ô |ắ
Cuộn dây (coil): là biểu tượng ắ( )ắ mô tả các rơle được mắc theo chiều dòng điện cung cấp cho rơle.
Hộp (box): là biểu tượng mô tả các hàm khác nhau nó làm việc khi có dòng điện chạy đến hộp. Những dạng hàm thường được biểu diễn bằng hộp là các bộ định thời gian (Timer), bộ đếm (Counter) và các hàm toán học. Cuộn dây và các hộp phải được mắc đúng chiều dòng điện.
Mạng LAD: là đường nối các phần tử thành một mạch hoàn thiện, đi từ đường nguồn bên trái sang đường nguồn bên phải. Đường nguồn bên trái là dây nóng, đường nguồn bên phải là dây trung hòa hay là đường trở về nguồn cung cấp (đường nguồn bên phải thường không được thể hiện khi dùng chương trình tiện dụng STEP7-Micro/DOS hoặc STEP7-Micro/WIN). Dòng điện chạy từ bên trái qua các tiếp điểm đến các cuộn dây hoặc các hộp trở về bên phải nguồn.
2.3.1.2. Định nghĩa về ngăn xếp logic (logic stack).
Để tạo ra một chương trình dạng STL, người lập trình cần phải hiểu rõ phương thức sử dụng 9 bit ngăn xếp logic của S7-200. Ngăn xếp là một khối gồm 9 bit chồng lên nhau. Tất cả các thuật toán liên quan đến ngăn xếp chỉ làm việc với bit đầu tiên hoặc bit thứ hai của ngăn xếp. Giá trị logic mới có thể được gửi vào ngăn xếp. Khi kết hợp hai bit đầu tiên của ngăn xếp thì ngăn xếp sẽ được kéo lên một bit.
S0
Stack 0 – Bit đầu tiên hay bit trên cùng của ngăn xếp
S1
Stack 1 – Bit thứ hai của ngăn xếp
S2
Stack 2 – Bit thứ ba của ngăn xếp
S3
Stack 3 – Bit thứ tư của ngăn xếp
S4
Stack 4 – Bit thứ năm của ngăn xếp
S5
Stack 5 – Bit thứ sáu của ngăn xếp
S6
Stack 6 – Bit thứ bảy của ngăn xếp
S7
Stack 7 – Bit thứ tám của ngăn xếp
S8
Stack 8 – Bit thứ chín của ngăn xếp
2.3.2. Tập lệnh của S7-200.
2.3.2.1. Lệnh vào ra.
Load (LD): Lệnh LD nạp giá trị logic của một tiếp điểm vào trong bit đầu tiên của ngăn xếp , các giá trị cũ còn lại trong ngăn xếp bị đẩy lùi xuống một bit.
Load (LDN): Lệnh LDN nạp giá trị logic nghịch đảo của một tiếp điểm vào trong bit đầu tiên của ngăn xếp , các giá trị cũ còn lại trong ngăn xếp bị đẩy lùi xuống một bit.
OUTPUT (=): Lệnh sao chép nội dung của bit đầu tiên trong ngăn xếp vào bit được chỉ định trong lệnh. Nội dung của ngăn xếp không bị thay đổi.
2.3.2.2. Toán hạng và giới hạn cho phép.
Bảng 2.1. Giới hạn toán hạng của S7-200.
Phương pháp truy nhập
Giới hạn cho phép toán hạng của CPU214
Truy nhập bit (địa chỉ byte chỉ số bit).
V
(0.0 đến 4095.7)
I
(0.0 đến 7.7)
Q
(0.0 đến 7.7)
M
(0.0 đến 31.7)
SM
(0.0 đến 85.7)
T
(0 đến 127)
C
(0 đến 127)
Truy nhập byte
VB
(0 đến 4095)
IB
(0 đến 7)
MB
(0 đến 31)
SMB
(0 đến 85)
AC
(0 đến 3)
Hằng số
Truy nhập từ đơn (địa chỉ byte cao).
VW
(0 đến 4094)
T
(0 đến 127)
C
(0 đến 127)
IW
(0 đến 6)
QW
(0 đến 6)
MW
(0 đến 30)
SMW
(0 đến 84)
AC
(0 đến 3)
AIW
(0 đến 30)
AQW
(0 đến 30)
Hằng số
Truy nhập từ kép (địa chỉ byte cao).
VD
(0 đến 4092)
ID
(0 đến 4)
QD
(0 đến 4)
MD
(0 đến 28)
SMD
(0 đến 82)
AC
(0 đến 3)
HC
(0 đến 2)
Hằng số
2.3.2.3. Các lệnh ghi/xóa giá trị cho tiếp điểm.
SET (S), RESET (R): Lệnh dùng để đóng và ngắt các điểm gián đoạn đã được thiết kế. Trong LAD, logic điều khiển dòng điện đóng hoặc ngắt các cuộn dây đầu ra. Khi dòng điều khiển đến các cuộn dây thì các cuộn dây đóng hoặc mở các tiếp điểm (hoặc một dãy các tiếp điểm).
2.3.2.4. Các lệnh logic đại số Boolean.
Các lệnh tiếp điểm đại số Boolean cho phép tạo lập được các mạch logic [không có nhớ]. Trong LAD các lệnh này được biểu diễn thông qua cấu trúc mạch, mắc nối tiếp hay song song các tiếp điểm thường đóng và các tiếp điểm thường mở. STL có thể sử dụng các lệnh A (And) và O (Or) cho các hàm hở hoặc các lệnh AN (And Not), ON (Or Not) cho các hàm kín. Giá trị của ngăn xếp thay đổi phụ thuộc vào từng lệnh.
2.3.2.5. Các lệnh tiếp điểm đặc biệt.
Có thể dùng các lệnh tiếp điểm đặc biệt để phát hiện sự chuyển trạng thái của xung (sườn xung) và đảo trạng thái của dòng cung cấp. LAD sử dụng các tiếp điểm đặc biệt để tác động vào dòng cung cấp (giá trị của đỉnh ngăn xếp). Các tiếp điểm đặc biệt không có toán hạng riêng của chính chúng và vì thế phải đặt chúng vào vị trí phía trước của cuộn dây hoặc hộp đầu ra. Tiếp điểm chuyển tiếp dương/ âm (các lệnh sườn trước và sườn sau) có nhu cầu về bộ nhớ bởi vậy đối với CPU 212 chỉ có thể sử dụng nhiều nhất 128 lệnh và CPU 214 là 256 lệnh.
2.3.2.6. Các lệnh so sánh.
Khi lập trình, nếu các quyết định về điều khiển được thực hiện dựa trên kết quả của việc so sánh thì có thể sử dụng lệnh so sánh theo byte, từ hay từ kép của S7-200.
LAD sử dụng lệnh so sánh các giá trị của byte, từ và từ kép (giá trị thực hoặc nguyên). Những giá trị so sánh thường là: so sánh nhỏ hơn hoặc bằng (=).
2.3.2.7. Lệnh nhảy và lệnh gọi chương trình con.
Các lệnh của chương trình, nếu không có những lệnh điều khiển riêng, sẽ được thực hiện theo thứ tự từ trên xuống dưới trong một vòng quét. Lệnh điều khiển chương trình cho phép thay đổi thứ tự thực hiện lệnh. Chúng cho phép chuyển thứ tự thực hiện, đáng lẽ ra là tiếp theo, tới một lệnh bất cứ nào khác của chương trình, trong đó nơi điều khiển chuyển đến phải được đánh dấu trước bằng một nhãn chỉ đích. Thuộc nhóm lệnh điều khiển trong chương trình gồm: lệnh nhảy, lệnh gọi chương trình con. Nhãn chỉ đích, hay gọi đơn giản là nhãn, phải được đánh dấu trước khi thực hiện lệnh nhảy hay lệnh gọi chương trình con.
Việc đặt nhãn cho lệnh nhảy phải nằm trong chương trình. Nhãn của chương trình con, hoặc của chương trình xử lý ngắt được khai báo ở đầu chương trình. Không thể dùng lệnh nhảy JMP để chuyển điều khiển từ chương trình chính vào một nhãn bất kỳ trong chương trình con hoặc chương trình xử lý ngắt. Tương tự như vậy cũng không thể từ một chương trình con hay chương trình xử lý ngắt vào bất cứ một nhãn nào nằm ngoài các chương trình đó.
Lệnh gọi chương trình con là lệnh chuyển điều khiển đến chương trình con. Khi chương trình con thực hiện xong các phép tính của mình thì việc điều khiển lại được chuyển về lệnh tiếp theo trong chương trình chính nằm ngay sau lệnh gọi chương trình con. Từ một chương trình con có thể gọi được một chương trình con khác trong nó, có thể gọi như vậy nhiều nhất 8 lần trong S7-200. Đệ quy (trong một chương trình con có lệnh gọi đến chương trình chính nó) về nguyên tắc không bị cấm song phải để ý đến giới hạn trên.
2.3.2.8. Các lệnh can thiệp vào thời gian vòng quét.
MEND, END, STOP, NOP, WDR: Các lệnh này được dùng để kết thúc chương trình đang thực hiện, và kéo dài khoảng thời gian dài của một vòng quét.
Trong LAD và STL chương trình phải được kết thúc bằng lệnh kết thúc không điều kiện MEND. Có thể sử dụng lệnh kết thúc có điều kiện END trước lệnh kết thúc không điều kiện.
Lệnh STOP kết thúc chương trình, nó chuyển điều khiển chương trình đến chế độ STOP. Nếu như gặp lệnh STOP trong chương trình chính
2.3.2.9. Các lệnh can thiệp vào thời gian vòng quét.
Timer là bộ tạo thời gian trễ giữa tín hiệu vào và tín hiệu ra nên trong điều khiển vẫn thường gọi là khâu trễ. Nếu ký hiệu tín hiệu vào là x(t) và thời gian trễ được tạo ra bằng Timer là t thì tín hiệu đầu ra của Timer đó là x(t-t).
S7-200 có 64 Timer đối với CPU212 và 128 đối với CPU214 được chia làm hai loại khác nhau:
Timer tạo thời gian trễ không nhớ (TON).
Timer tạo thời gian trễ có nhớ (TONR).
Các loại Timer của S7-200 (đối với CPU 214) chia theo TON, TONR và độ phân giải bao gồm:
Bảng 2.2. Độ phân giải của các Timer
Lệnh
Độ phân giải
Giá trị cực đại
CPU212
CPU214
TON
1ms
32,767
T32
T32, T96
10ms
327,67
T33áT36
T33áT36, T97áT100
100ms
3276,7
T37áT63
T37áT63, T101áT127
TONR
1ms
32,767
T0
T0, T62
10ms
327,67
T1áT4
T1áT4, T65áT68
100ms
3276,7
T5áT31
T5áT31, T69áT95
2.3.2.10. Các lệnh điều khiển Counter.
Counter là bộ đếm hiện chức năng đếm sườn xung trong S7-2000. Các bộ đếm của S7-2000 được chia ra làm 2 loại: bộ đếm tiến (CTU) và bộ đếm tiến/lùi (CTUD).
Bộ đếm tiến CTU đếm số sườn lên của tín hiệu logic đầu vào, tức là đếm số lần thay đổi trạng thái logic từ 0 lên 1 của tín hiệu. Số sườn xung đếm được, được ghi vào thanh ghi 2 byte của bộ đếm, gọi là thanh ghi C-word.
Bộ đếm tiến/lùi CTUD đếm tiến khi gặp sườn lên của xung vào cổng đếm, ký hiệu là CU trong LAD hoặc bit thứ 3 của ngăn xếp trong STL, và đếm lùi khi gặp sườn của xung vào cổng đếm lùi, được ký hiệu là CD trong LAD hoặc bit thứ 2 của ngăn xếp trong STL.
Giống như bộ đếm CTU, bộ đếm CTUD cũng được đưa về trạng thái khởi phát ban đầu bằng 2 cách:
Khi đầu vào logic của chân xóa, ký hiệu bằng R trong LAD hoặc bit thứ nhất của ngăn xếp trong STL, có giá trị logic là 1 hoặc.
Bằng lệnh R (reset) với C-bit của bộ đếm.
2.3.2.11. Các lệnh số học.
Các lệnh số học dùng để thực hiện các phép tính số học trong chương trình. Các phép tính số học với số thực hoặc với số thực dấu phảy động, và phép biến đổi giữa số thực và số nguyên kiểu từ kép và phép lấy căn.
a. Lệnh cộng (ADD).
ADD_I (LAD), +I (STL): Lệnh thực hiện phép cộng các số nguyên 16-bit IN1 và IN2. Trong LAD kết quả là một số nguyên 16-bit được ghi vào OUT, tức là: IN1 + IN2 = OUT. Còn trong STL, kết quả cũng là một giá trị 16-bit nhưng được ghi vào IN2, tức là: IN1 + IN2 = IN2.
ADD_DI (LAD), -D (STL): Lệnh thực hiện phép cộng các số nguyên 32-bit IN1 và IN2. Trong LAD, kết quả là một số nguyên 32-bit được ghi vào OUT, tức là: IN1 + IN2 = OUT. Còn trong STL, kết quả cũng là một giá trị 32-bit nhưng được ghi vào IN2, tức là: IN1 + IN2 = IN2.
ADD_DI (LAD), -R (STL): Lệnh thực hiện phép cộng các số thực 32-bit IN1 và IN2. Trong LAD, kết quả là một số thực 32-bit được ghi vào OUT, tức là: IN1 + IN2 = OUT. Còn trong STL, kết quả cũng là một giá trị thực 32-bit nhưng được ghi vào IN2, tức là: IN1 + IN2 = IN2.
b. Lệnh trừ (SUB).
SUB_I (LAD), -I (STL): Lệnh thực hiện phép trừ các số nguyên 16-bit IN1 và IN2. Trong LAD kết quả là một số nguyên 16-bit và được ghi vào OUT, tức là: IN1 - IN2 = OUT. Còn trong STL, kết quả là một giá trị 16-bit nhưng được ghi lại vào IN2, tức là: IN1- IN2 = IN2.
SUB_DI (LAD), -DI (STL): Lệnh thực hiện phép trừ các số nguyên 32-bit IN1 và IN2. Trong LAD kết quả là một số nguyên 32-bit và được ghi vào OUT, tức là: IN1 - IN2 = OUT. Còn trong STL, kết quả là một giá trị 32-bit nhưng được ghi lại vào IN2, tức là: IN1- IN2 = IN2.
SUB_R (LAD), -R (STL): Lệnh thực hiện phép trừ các số thực 32-bit IN1 và IN2. Trong LAD kết quả là một số thực 32-bit được ghi vào OUT, tức là: IN1 - IN2 = OUT. Trong STL, kết quả là một giá trị 32-bit nhưng được ghi lại vào IN2, tức là IN1- IN2 = IN2.
c. Lệnh nhân (MUL).
Trong LAD: Lệnh thực hiện phép nhân 2 số nguyên 16-bit IN1 và IN2 và cho ra kết quả 32-bit chứa trong từ kép OUT (4 byte).
Trong STL: Lệnh thực hiện phép nhân giữa 2 số nguyên 16-bit n1 và số nguyên chứa trong từ thấp (từ 0 đến bit 15) của toán hạng 32-bit n2 (4 byte). Kết quả 32-bit được ghi vào n2.
MUL_R (LAD), +R (STL): Trong LAD: lệnh thực hiện phép nhân hai số thực 32-bit IN1 và IN2 và cho ra kết quả 32-bit chứa trong từ kép OUT (4 byte). Trong STL: Lệnh thực hiện phép nhân giữa số thực 32-bit IN1 và IN2 kết quả 32 bit được ghi vào IN2.
d. Lệnh chia [DIV].
Trong LAD: Lệnh thực hiện phép chia số nguyên 16-bit IN1 cho số nguyên 16-bit IN2. Kết quả 32-bit chứa trong từ kép OUT gồm thương số ghi trong mảng 16-bit từ bit 0 đến bit 15 (từ thấp) và phần dư cũng 16-bit ghi trong mảng từ bit-16 đến bit-31 (từ cao).
Trong STL: Lệnh thực hiện phép chia số nguyên 16-bit N1 cho số nguyên, số nguyên 16-bit nằm trong từ thấp từ bit 0 đến bit 15 của toán hạng 32-bit N2. Kết quả 32-bit được ghi lại vào N2 bao gồm thương số ghi trong mảng 16-bit từ bit 0 đến bit 15 (từ thấp) và phần dư ghi trong mảng 16-bit từ bit-16 đến bit-31 (từ cao).
DIV_R (LAD), /R (STL): Trong LAD: lệnh thực hiện phép chia số thực 32-bit IN1 cho số thực 32-bit IN2 và cho ra kết quả 32-bit chứa trong từ kép OUT. Trong STL, lệnh thực hiện phép chia số thực 32-bit IN1 cho số thực 32-bit IN2, kết quả 32-bit được ghi lại vào IN2.
e. Lệnh lấy căn bậc hai (SQRT).
Là một lệnh thực hiện lấy căn bậc hai của số thực 32-bit IN. Kết quả cũng là một số 32-bit được ghi vào từ kép OUT.
2.3.2.12. Lệnh tăng, giảm một đơn vị và lệnh đảo giá trị thanh ghi.
Những lệnh này làm đơn giản hoá các vòng điều khiển bên trong chương trình [hoặc là các quá trình lặp]. Trong LAD hoặc STL các lệnh tăng, giảm đều làm việc với toán hạng có kiểu từ đơn (word) hoặc từ kép (double word) theo nguyên tắc cộng hoặc trừ nội dung của toán hạng với số nguyên 1. Lệnh đảo thực hiện phép logic bù hoặc một phép lấy giá trị logic nghịch đảo của các bit trong một từ đơn hoặc từ kép. Trong LAD có thể tiết kiệm được ô nhớ bằng cách sử dụng đầu vào đồng thời cũng là đầu ra.
2.3.2.13. Lệnh chuyển dịch nội dung ô nhớ.
Các lệnh dịch chuyển thực hiện việc di chuyển, sao chép số liệu từ vùng này sang vùng khác trong bộ nhớ.
Trong LAD và trong STL lệnh dịch chuyển thực hiện việc di chuyển hay sao chép nội dung một byte, một từ đơn, một từ kép, hoặc một giá trị thực từ vùng này sang vùng khác trong bộ nhớ.
Lệnh trao đổi nội dung của hai byte trong một từ đơn thực hiện việc chuyển nội dung của byte thấp sang byte cao và ngược lại nội dung của byte cao sang byte thấp của từ đó.
MOV_B (LAD) hoặc MOVB (STL): Lệnh sao chép nội dung của byte IN sang byte OUT.
MOV_W (LAD) hoặc MOVW (STL): Lệnh sao chép nội dung của từ đơn IN sang byte OUT.
MOV_DW (LAD) hoặc MOVD (STL): Lệnh sao chép nội dung của từ kép IN sang byte OUT.
MOV_RW (LAD) hoặc MOVR (STL): Lệnh sao chép một số thực IN (4 byte) sang byte OUT (4 byte).
SWAP: Lệnh trao đổi nội dung của byte thấp và byte cao trong từ đơn IN.
2.3.2.14. Các lệnh làm việc với mảng.
Các lệnh làm việc với mảng dùng để điều hành mảng lớn dữ liệu.
LAD và STL sử dụng lệnh chuyển dịch khối (Block move) để di chuyển một mảng dữ liệu từ một nơi này đến một nơi khác trong bộ nhớ. Lệnh nạp dữ liệu (Fill) ghi giá trị của một từ đơn vào các từ trong một mảng của bộ nhớ.
2.3.2.15. Các lệnh dịch chuyển thanh ghi.
Các lệnh dịch chuyển thanh ghi được chia làm hai nhóm:
Nhóm các lệnh làm việc với thanh ghi có độ dài bằng một từ đơn (16-bit) hay một từ kép (32-bit).
Nhóm các lệnh làm việc với thanh ghi có độ dài tùy ý mà được định nghĩa trong lệnh.
2.3.2.16. Các lệnh đổi kiểu dữ liệu.
Các hàm kiểu dữ liệu cho phép thực hiện việc biến đổi dữ liệu từ kiểu này sang kiểu khác. Khi lập trình bằng LAD có thể tiết kiệm được ô nhớ bằng cách sử dụng đầu vào được chỉ định đồng thời cũng là đầu ra OUT cho lệnh BSD_I và I_BCD, trong trường hợp này lập trình bằng LAD thuận lợi hơn lập trình bằng STL.
2.3.2.17. Xây dựng cấu trúc vòng lặp.
Để xây dựng cấu trúc vòng lặp nhằm thực hiện lặp một khối lệnh riêng biệt trong chương trình. CPU214 cung cấp lệnh điều khiển FOR … NEXT. Lệnh này chỉ có riêng ở trong CPU214.
LAD và STL sử dụng lệnh vòng lặp FOR … NEXT để thiết kế vòng lặp với số lần lặp được chỉ định trong lệnh bằnh hai toán hạng ITL kiểu từ đơn chỉ điểm khởi phát và FNL cũng kiểu từ đơn chỉ kiểu từ đơn chỉ điểm kết thúc. Ngoài ra cũng sử dụng một từ đơn IDX để lưu chỉ số vòng lặp tức thời.
Mỗi một câu lệnh FOR đòi hỏi phải có một câu lệnh NEXT tại vị trí cuối khối lệnh được lặp. Các vòng lặp FOR … NEXT có thể được lồng vào nhau, song số lệnh FOR … NEXT lồng vào nhau không được quá 8.
Tại thời điểm bắt đầu thực hiện lệnh vòng lặp FOR, từ đơn IDX nhận giá trị của ITL. Sau đó, mỗi khi kết thúc một vòng lặp, tức là khi gặp lệnh NEXT, nội dung của IDX được tăng lên 1 và được so sánh với nội dung của FNL. Nếu nội dung của IDX chưa lớn hơn FNL, chương trình sẽ thực hiện lại vòng lặp, ngược lại khi nội dung của IDX đã lớn hơn FNL, chương trình kết thúc lệnh FOR … NEXT bằng cách thực hiện tiếp lệnh nằm ngay sau câu lệnh NEXT.
2.3.2.18. Đồng hồ thời gian thực.
Đồng hồ thời gian thực chỉ có với CPU214. Để có thể làm việc với đồng hồ thời gian thực CPU214 cung cấp 2 lệnh đọc và ghi giá trị cho đồng hồ. Những giá trị đọc được hoặc ghi được với đồng hồ thời gian thực là các giá trị về ngày, tháng, năm và các giá trị về giờ, phút, giây.
Các sữ liệu đọc, ghi với đồng hồ thời gian thực trong LAD và trong STL có độ dài một byte và phải được mã hoá theo kiểu số nhị phân BCD.
READ_RTC (LAD), TODR (STL): Lệnh đọc nội dung của đồng hồ thời gian thực vào bộ đếm 8 byte được chỉ thị bằng toán hạng T.
SET_RTC (LAD), TODW (STL): Lệnh ghi nội dung của bộ đếm 8 byte được chỉ thị trong lệnh băng toán hạng T vào đồng hồ thời gian thực.
2.3.2.19. Ngắt và xử lý ngắt.
Các chế độ ngắt và xử lý ngắt cho phép thực hiện các quá trình tốc độ cao, phản ứng kịp thời với các sự kiện ở bên trong và bên ngoài.
Nguyên tắc cơ bản của một chế độ ngắt cũng giống như việc thực hiện lệnh gọi một chương trình con, sự khác nhau ở đây là chương trình con được gọi chủ động bằng lệnh CALL, còn chương trình xử lý ngắt được gọi bị động bằng một tín hiệu báo ngắt. Khi có một tín hiệu báo ngắt, hệ thống sẽ tổ chức gọi và thực hiện chương trình con tương ứng.
2.4. Giới thiệu về màn hình OP3 và phần mềm Protool.
2.4.1. Giới thiệu về màn hình OP3.
Thiết bị SIMATIC HIM OP3 cho phép hình dung các trạng thái hoạt động và các giá trị tiến trình của kết nối SIMATIC S7 PLC . Thêm các đầu vào có thể được thực hiện ở trên OP3 và giá trị sẽ được ghi vào PLC. Các chức năng kết nối tới máy tính phân tích có thể được thực hiện ở trên OP3.
2.4.1.1. Cấu hình và các giai đoạn điều khiển tiến trình.
Tạo các vùng dữ liệu: Để OP3 có thể hoạt động thì nó cần phải được chuẩn bị vùng dữ liệu liên kết từ PLC. Vùng dữ liệu này cần phải được cấu hình và nó được tạo ra ở trong bộ nhớ của PLC.
Cấu hình với ProTool: Trên máy tính có thể sử dụng phần mềm ProTool để định cấu hình cho OP3. Khi cấu hình trên OP3 liên lạc với PLC thông qua kết nối và phản ứng lại các chương trình hoạt động trên PLC thông qua các thủ tục định cấu hình.
2.4.1.2. Cấu hình của OP3.
Cấu hình của hệ thống như hình vẽ:
Hình 2..5. Cấu hình của OP3.
Màn hình, bàn phím và cấc kết nối của OP3: Bàn phím và phần hiển thị được gắn trên vỏ của OP3, ở bên phải có thể thấy các kết nối MPI, RS232 và nguồn 24V.
Bảng 2.3. Các chức năng của OP3
Chức năng của OP3
Hiển thị
Các thông báo sự kiện:
Số thông báo lớn nhất có thể.
Chiều dài lớn nhất có thể của một thông báo.
Cuộn qua các thông báo đợi.
499
40
50
Giá trị đầu vào trên các màn hình:
Các số và văn bản.
Các biểu tượng có sẵn.
Hiển thị các giá trị hiện thời [số hoặc ký tự]
Giá trị giới hạn được kiểm tra bởi người điều khiển
Mật khẩu bảo vệ:
Các mức mật khẩu.
Số lượng mật khẩu.
0á9
20
Các màn hình:
Số lượng màn hình lớn nhất có thể.
Màn hình liên kết tới màn hình khác.
Số lượng lớn nhất các trường có thể trên mỗi màn hình.
Số lượng lớn nhất các trường có thể trên mỗi màn hình nhập.
Hiển thị.
Các màn hình mặc định
40
20
300
8
Chức năng phân tích (STATUS/FORCE VAR)
GE,EN,FR,IT, SP
Các ngôn ngữ trong chế độ làm việc
3
Kết nối sử dụng SIMATIC S7:
PPI.
MPI.
Kết nối giữa OP3 với SIMATIC S7:
Số PLC có thể kết nối tới OP3.
Số OP3 có thể kết nối tới S7-200.
Số OP3 có thể kết nối tới S7-300.
2
1
3
Bảng 2.4. Cấu trúc của OP3
Màn hình LCD
Hiển thị 2 hàng, 1 hàng 20 ký tự, mỗi ký tự cao 5mm.
Bàn phím hệ thống
8 phím cho các chức năng mặc định.
Phím số
10 phím dùng để nhập số.
Các phím tắt
F1áF5 được định cấu hình các phím tắt.
Các giao diện kết nối
Có giao diện MPI và RS 232.
2.4.1.3. Truyền thông OP3 với PLC.
Các kiểu của kết nối: Thiết bị OP3 có t
Các file đính kèm theo tài liệu này:
- 31842.doc