********************************
Nhiệm vụ
THIÊT Kế tốt nghiệp
Đầu đề thiết kế.
Tìm hiểu bộ điều khiển PLC S7-200 và ứng dụng trong điều khiển cẩu giàn.
Các số liệu ban đầu.
[1] Tự động hoá với SIMATIC S7_200 – Tác giả: Nguyễn Doãn Phước
[2] Trang bị điện - Điện tử , tự động hoá cầu trục & cần trục
Tác giả:Bùi Quốc Khánh – Hoàng Xuân Bình
3. Nội dung các phần thuyết minh.
Phần I : Tìm hiểu bộ điều khiển PLC S7-200
Phần II : ứng dụng trong điều khiển cẩu giàn
4.Các bản vẽ .(nghi
76 trang |
Chia sẻ: huyen82 | Lượt xem: 1512 | Lượt tải: 3
Tóm tắt tài liệu Tìm hiểu bộ điều khiển PLC S7-200 và ứng dụng trong điều khiển cẩu giàn, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
rõ các loại bản vẽ về kích thước các bản vẽ).
………………………………………………………..………………………………………………………………………………..……………………………………………………………………………..………………………………………………………………………………..………………
5. Cán bộ hướng dẫn Tiến Sĩ :
6. Ngày giao nhiệm vụ thiết kế.
…………………………………………………………..………………………………………………………………………………..………………
7. Ngày hoàn thành nhiệm vụ: ………………………………………………………………………………………………………………………………………………………….
Chủ nhiệm bộ môn Cán bộ hướng dẫn
Học Sinh Đã Hoàn Thành
(và nộp toàn bộ bản thiết kế cho khoa)
Cán bộ duyệt thiết kế…………………………………………………….……
…………………………………………………………………………….…..
1.Nội dung thiết kế tốt nghiệp:
Phần I : Tìm hiểu bộ điều khiển PLC S7-200
I - Cấu hình phần cứng
II- Phần mềm lập trình của S7-200
Phần II : ứng dụng trong điều khiển cẩu giàn.
I- Cấu trúc và quá trình điều khiển của cần cẩu giàn.
II- Khởi động động cơ không đồng bộ rotor dây quấn
III- Thực hiện bài toán
2.Nhận xét của người duyệt:
……………………………………………………………...………………………………………………………………………………...…………………………………………………………………………………...………………………………………………………………………………..……………….
……………………………………………………………………...…………………………………………………………………………………...………
Ngày …….tháng…… năm 20
Cán bộ duyệt
Mở đầu
Đề tài : Tìm hiểu bộ điều khiển PLC S7-200 và ứng dụng trong điều khiển cẩu giàn
Điều khiển tự động ngày nay đã và đang được ứng dụng trong rất nhiều ngành sản xuất và cuộc sống . Từ những nhà máy , dây truyền sản xuất cho đến những đồ dùng phục vụ sinh hoạt cho con người .
Để thực hiện điều khiển tự động có nhiều phương pháp ,cách thức như bằng máy tính ,vi xử lý , hay hệ điều khiển chuyên dụng .Tuỳ lĩnh vực mà lựa chọn hệ thống điều khiển thích hợp . Với sinh viên học chuyên ngành điều khiển tự động phải nắm bắt được tất cả những kiến thức cơ sở , tổng quát nhất để từ đó có thể giải quyết các bài toán điều khiển đặt ra trong công việc sau này . Một trong những kiến thức cần phải có đó là việc nghiên cứu và sử dụng bộ điều khiển logic khả trình PLC S7-200 . Do đó chúng em đã chọn đề tài : Tìm hiểu bộ điều khiển PLC S7-200 và ứng dụng trong điều khiển cẩu giàn
Các công việc thực hiện : Tìm hiểu về bộ điều khiển logic khả trình
PLC S7-200 .Gồm các thành phần :
Phần I : Tìm hiểu bộ điều khiển PLC S7-200
Phần II: ứng dụng trong cẩu giàn
Phần I: tìm hiểu bộ điều khiển plc S7-200
I - Cấu hình cứng.
1. Giới thiệu.
PLC - viết tắt của Prorgammable Logic Control, là thiết bị điều khiển logic lập trình được, hay còn gọi là thiết bị khả trình, cho phép thực hiện linh hoạt các thuật toán điều khiển logic thông qua một ngôn ngữ lập trình.
S7-200 là thiết bị điều khiển logic khả trình loại nhỏ của hãng Siemens (CHLB Đức), có cấu trúc theo kiểu modul và các modul mở rộng. Các modul này được sử dụng cho nhiều những ứng dụng lập trình khác nhau. Thành phần cơ bản của S7-200 là khối vi xử lý CPU212 hoặc CPU214. Về hình thức bên ngoài, sự khác nhau của hai loại CPU này nhận biết được nhờ số đầu vào/ra và nguồn cung cấp.
CPU 212 có 8 cổng vào và 6 cổng ra và có khả năng được mở rộng thêm bằng 2 modul mở rộng.
CPU 214 có 14 cổng vào và 10 cổng ra và có khả năng được mở rộng thêm bằng 7 modul mở rộng.
S7- 200 có nhiều loại modul mở rộng khác nhau.
Cụ thể về hai loại CPU212 và CPU214 như sau:
CPU212 bao gồm:
512 từ đơn (Word) = 1 K byte, để lưu chương trình thuộc miền bộ nhớ đọc/ghi được và không bị mất dữ liệu nhờ có giao diện với EEPROM. Vùng nhớ với tính chất như vậy gọi là vùng nhớ non-volatile.
512 từ đơn để lưu dữ liệu, trong đó có 100 từ nhớ đọc/ghi thuộc miền non-volatile.
8 cổng vào logic và 6 cổng ra logic.
Có thể ghép nối thêm 2 modul để mở rộng số cổng vào/ra, bao gồm cả modul tương tự (analog).
Tổng số cổng logic vào/ra cực đại là 64 cổng vào và 64 cổng ra.
64 bộ tạo thời gian trễ (Timer), trong đó 2 Timer có độ phân giải 1ms, 8 Timer có độ phân giải 10ms, 54 Timer có độ phân giải 100ms.
64 bộ đếm (Counter), chia làm hai loại: loại bộ đếm chỉ đếm tiến và loại vừa đếm tiến vừa đếm lùi.
368 bit nhớ đặc biệt, sử dụng làm các bit trạng thái hoặc các bit đặt chế độ làm việc.
Có các chế độ ngắt sử lý tín hiệu ngắt khác nhau bao gồm: ngắt truyền thông, ngắt theo sườn lên hoặc sườn xuống, ngắt theo thời gian và ngắt báo hiệu của bộ đếm tốc độ cao (2 KHz).
Bộ nhớ không bị mất dữ liệu trong khoảng thời gian 50 giờ khi PLC bị mất nguồn nuôi.
CPU 214 bao gồm.
2048 từ đơn (4 K byte), để lưu chương trình thuộc miền bộ nhớ đọc/ghi được và không bị mất dữ liệu nhờ có giao diện với EEPROM.
2048 từ đơn (4K byte), kiểu đọc/ghi để lưu giữ dữ liệu, trong đó 512 từ đầu thuộc miền non-volatile.
14 cổng vào và 10 cổng ra logic.
Có 7 modul để mở rộng thêm cổng vào/ra bao gồm cả modul analog.
Tổng số cổng vào/ra cực đại là 64 cổng vào và 64 cổng ra.
128 bộ tạo thời gian trễ (Timer), chia làm 3 loại theo độ phân giải khác nhau: trong đó 4 Timer có độ phân giải 1ms, 16 Timer có độ phân giải 10ms, 108 Timer có độ phân giải 100ms.
128 bộ đếm (Counter), được chia làm hai loại: loại bộ đếm chỉ đếm tiến và loại vừa đếm tiến vừa đếm lùi.
688 bit nhớ đặc biệt dùng để thông báo trạng thái và đặt chế độ làm việc.
Các chế độ ngắt và sử lý bao gồm: ngắt truyền thông, ngắt theo sườn lên hoặc xuống, ngắt thời gian, ngắt của bộ đếm tốc độ cao và ngắt truyền xung.
3 bộ đếm tốc độ cao với nhịp 2 KHz và 7 KHz.
2 bộ phát xung nhanh cho dãy xung kiểu PTO hoặc kiểu PWM.
2 bộ điều chỉnh tương tự.
Toàn bộ vùng nhớ không bị mất dữ liệu trong khoảng thời gian 190 giờ khi PLC bị mất nguồn nuôi.
I0.0
I0.1
I0.2
I0.3
I0.4
I0.5
I0.6
I0.7
Q0.0
Q0.1
Q0.2
Q0.3
Q0.4
Q0.5
Q0.6
Q0.7
I1.0
I1.1
I1.2
I1.3
I1.4
I1.5
Q1.0
Q1.1
SF
RUN
STOP
SIEMENS
SIMATIC
S7-200
Các cổng vào
Các cổng ra
Cổng truyền thông
Bộ điều khiển lập trình được (khả trình).
S7-200 với khối vi sử lý CPU 214
Mô tả các đèn báo trên S7-200, CPU214:
SF (đèn đỏ) : đèn đỏ SF báo hiệu hệ thống bị hỏng. Đèn này sáng lên khi có sự hỏng hóc PLC.
RUN (đèn xanh): đèn xanh RUN chỉ định PLC đang ở chế độ làm việc và thực hiện chương trình được nạp và trong máy.
STOP (đèn vàng): đèn vàng STOP chỉ định rằng PLC đang ở chế độ dừng. Dừng chương trình đang thực hiện lại.
Ix.x (đèn xanh): đèn xanh ở cổng vào chỉ định trạng thái tức thời của cổng Ix.x (x.x = 0.0 đến 1.5). Đèn này báo hiệu trạng thái của tín hiệu theo giá trị logic của cổng.
Qy.y (đèn xanh): đèn xanh ở cổng ra báo hiệu trạng thái tức thời của cổng Qy.y (y.y = 0.0 đến 1.1). Đèn này báo hiệu trạng thái của tín hiệu theo giá trị logic của cổng.
Cổng truyền thông
S7-200 sử dụng cổng truyền thông nối tiếp RS485 với phích nối 9 chân để phục vụ cho việc ghép nối với thiết bị lập trình hoặc các PLC khác. Tốc độ truyền cho máy lập trình kiểu PPI là 9600 baud. Tốc độ truyền cung cấp của PLC theo kiểu tự do là 300 đến 38400.
Sơ đồ chân của cổng truyền thông như sau:
5 4 3 2 1
9 8 7 6
Chân Giải thích
Đất
24 VDC
Truyền và nhận dữ liệu
Không sử dụng
Đất
5 VDC(Điện trở trong 100W)
24 VDC (120mA tối đa)
Truyền và nhận dữ liệu
Không sử dụng
Để ghép nối S7-200 với máy lập trình PG702 hoặc với các loại máy lập trình thuộc họ PG7xx có thể sử dụng một cáp nối thẳng qua MPI. Cáp đó có kèm theo máy lập trình.
Ghép nối S7-200 với máy tính PC qua cổng RS-232 (cổng COM) cần có cáp nối PC/PPI với bộ chuyển đổi RS232/RS485.
S7-200
MPI card
Máy lập trình G7xx
Hình vẽ bên thể hiện hai cách ghép nối máy tính với PLC S7-200 để truyền thông
PC/PPI
COM
S7-200
Máy tính
Công tắc chọn chế độ làm việc cho PLC
Công tắc chọn chế độ làm việc nằm phía bên trên, bên cạnh các cổng ra của S7- 200 có ba vị trí cho phép chọn các chế độ làm việc khác nhau cho PLC.
RUN cho phép PLC thực hiện chương trình trong bộ nhớ. PLC S7-200 sẽ rời khỏi chế độ RUN và chuyển sang chế độ STOP nếu trong máy có sự cố, hoặc trong chương trình gặp lệnh STOP, thậm chí ngay cả khi công tắc ở chế độ RUN. Nên quan sát trạng thái thực tại của PLC theo đèn báo.
STOP cưỡng bức PLC dừng công việc thực hiện chương trình đang chạy và chuyển sang chế độ STOP. ở chế độ STOP, PLC cho phép hiệu chỉnh lại chương trình hoặc nạp một chương trình mới.
TERM cho phép máy lập trình tự quyết định một chế độ làm việc cho PLC hoặc ở RUN hoặc ở STOP.
Chỉnh định tương tự :
Điều chỉnh tương tự (1 bộ trong CPU212 và 2 bộ trong CPU 214) cho phép điều chỉnh các biến cần phải thay đổi và sử dụng trong chương trình. Núm chỉnh analog được lắp đặt dưới nắp đậy bên cạnh các cổng ra. Thiết bị chỉnh định có thể quay 270 độ.
Pin và nguồn nuôi bộ nhớ:
Nguồn nuôi dùng để ghi chương trình hoặc nạp một chương trình mới.
Nguồn pin có thể được sử dụng để mở rộng thời gian lưu giữ cho các dữ liệu có trong bộ nhớ. Nguồn pin tự động được chuyển sang trạng thái tích cực nếu như dung lượng tụ nhớ bị cạn kiệt và nó phải thay thế vào vị trí đó để dữ liệu trong bộ nhớ không bị mất đi.
2- Cấu trúc bộ nhớ.
Phân chia bộ nhớ:
Bộ nhớ của S7-200 được chia thành 4 vùng với một tụ có nhiệm vụ duy trì dữ liệu trong một khoảng thời gian nhất định khi mất nguồn. Bộ nhớ của S7-200 có tính năng động cao, đọc và ghi được trong toàn vùng, loại trừ phần các bít nhớ đặc biệt được ký hiệu bởi SM (Special Memory) chỉ có thể truy nhập được để đọc.
Sơ đồ cấu trúc của bộ nhớ trong và ngoài của S7-200 như sau:
Miền nhớ ngoài
EEPROM
Vùng chương trình: là miền bộ nhớ được sử dụng để lưu giữ các chương trình, vùng này thuộc kiểu non- volatile đọc ghi được.
Vùng tham số: là miền lưu giữ các tham số như : từ khoá, địa chỉ trạm...Cũng giống như vùng chương trình vùng tham số thuộc kiểu non- volatile đọc ghi được.
Vùng dữ liệu: được sử dụng để cất dữ các dữ liệu của chương trình bao gồm các kết quả các phép tính, hằng số được định nghĩa trong chương trình, bộ đệm truyền thông... Một phần của vùng này (200 byte đầu tiên đối với CPU212, 1K byte đầu tiên đối với CPU214) thuộc kiểu non- volatile đọc ghi được.
Vùng dữ liệu là một miền nhớ động. Nó có thể truy nhập theo từng bit, từng byte, từng từ đơn, hoặc theo từng từ kép và được sử dụng làm miền lưu trữ dữ liệu cho các thuật toán, các hàm truyền thông, lập bảng, các hàm dịch chuyển xoay vòng thanh ghi, con trỏ địa chỉ...
Ghi các dữ liệu kiểu bảng bị hạn chế rất nhiều vì các dữ liệu kiểu bảng thường chỉ được sử dụng theo những mục nhất định.
Vùng dữ liệu lại được chia ra thành những miền nhớ nhỏ với các công dụng khác nhau. Chúng được ký hiệu bằng các chữ cái đầu của tên tiếng Anh, đặc trưng cho công dụng riêng của chúng như sau:
V - Variable memory.
I - Input image register.
O - Output image register.
M - Internal Memory bits.
SM - Speccical Memory bits.
Tất cả các miền này đều có thể truy nhập theo từng bit, từng byte, từng từ đơn hoặc theo từng từ kép.
Giới hạn vùng dữ liệu của CPU212 và CPU 214 được mô tả như sau:
CPU212 CPU214
CPU212 CPU214
V0
.....
V1023
I0.x (x=0á7)
.....
I7.x (x=0á7)
V0
.....
V4095
I0.x (x=0á7)
.....
I7.x (x=0á7)
Miền V (đọc/ghi)
Vùng đệm cổng vào(I) (đọc/ghi)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
M0.x (x=0á7)
.....
M15.x (x=0á7)
Q 0.x (x=0á7)
.....
Q 7.x (x=0á7)
Q 0.x (x=0á7)
.....
Q 7.x (x=0á7)
M0.x (x=0á7)
.....
M31.x (x=0á7)
Vùng nhớ nội (M)
(đọc/ghi)
Vùng đệm cổng ra(Q)
(đọc/ghi)
SM 0.x (x=0á7)
.....
SM 29.x (x=0á7)
SM 30.x (x=0á7)
.....
SM 45.x (x=0á7)
SM 0.x (x=0á7)
.....
SM 29.x (x=0á7)
SM 30.x (x=0á7)
.....
SM 85.x (x=0á7)
Vùng nhớ đặc biệt (SM)
(chỉ đọc)
Vùng nhớ đặc biệt (SM)
(đọc/ghi)
Địa chỉ truy nhập được quy ước với công thức:
- Truy nhập theo bit: Tên miền (+) địa chỉ byte (+) . (+) chỉ số bit.
- Truy nhập theo byte: Tên miền (+) B (+) địa chỉ của byte trong miền.
- Truy nhập theo từ: Tên miền (+) W (+) địa chỉ byte cao của từ trong miền.
- Truy nhập theo từ kép: Tên miền (+) D (+) địa chỉ byte cao của từ trong miền.
Tất cả các byte thuộc vùng dữ liệu đều có thể truy nhập bằng con trỏ. Con trỏ được định nghĩa trong miền V hoặc các thanh ghi AC1, AC2, và AC3. Mỗi con trỏ chỉ địa chỉ gồm 4 byte (từ kép). Quy ước sử dụng con trỏ để truy nhập như sau:
&địa chỉ byte (cao) là toán hạng lấy địa chỉ của byte, từ hoặc từ kép.
Ví dụ: -AC1=&VB5: thanh ghi AC1 chứa địa chỉ byte 150 thuộc miền V.
VD100=&VW150: từ kép VD100 chứa địa chỉ byte cao (VB150) của từ đơn VW150.
AC2= &VD150: thanh ghi AC2 chứa địa chỉ byte cao (VB150) của từ kép VD150.
*con trỏ là toán hạng lấy nội dung của byte, từ hoặc từ kép mà con trỏ đang chỉ vào. Ví dụ như với phép gán địa chỉ trên thì
*AC1, lấy nội dung của byte VB150.
*VD100, lấy nội dung của từ đơn VW150
*AC2, lấy nội dung của từ kép VD150.
Phép gán địa chỉ và sử dụng con trỏ như trên cũng có tác dụng với những thanh ghi 16 bit của Timer, bộ đếm thuộc vùng đối tượng sẽ được trình bầy dưới đây.
Vùng đối tượng: Timer, bộ đếm tốc độ cao và các cổng vào/ra tương tự được đặt trong vùng nhớ cuối cùng. Vùng này không thuộc kiểu non-volatile nhưng đọc/ghi được.
Vùng đối tượng được sử dụng để lưu giữ dữ liệu cho các đối tượng lập trình như các giá trị tức thời, giá trị đặt trước của bộ đếm, hay Timer. Dữ liệu kiểu đối tượng bao gồm các thanh ghi của Timer, bộ đếm tốc độ cao, bộ đệm vào/ra tương tự và các thanh ghi Accumulator (AC).
Kiểu dữ liệu đối tượng bị hạn chế rất nhiều vì các dữ liệu kiểu đối tượng chỉ được ghi theo mục đích cần sử dụng đối tượng đó.
T0
.....
TI27
.....
T63
T0
...
T127
T0
...
T63
bit
bit
CPU212
15 0
CPU214
15 0
Timer (đọc/ghi)
C0
.....
CI27
C0(word)
.....
C63
C0
...
C127
C0
...
C63
Bộ đếm (đọc/ghi)
AW0
.....
AW30
AW0(word)
.....
AW30
Bộ đệm cổng vào
tương tự
(chỉ đọc)
AQW0
.....
AQW30
AQW0(word)
.....
AQW30
Bộ đệm cổng ra
tương tự
(chỉ ghi)
T0 (word)
Vùng nhớ đối tượng được phân chia như sau:
AC1
AC2
AC0(không có khả năng làm con trỏ)
AC3
31 23 15 8 0
Thanh ghi Accumulator
(đọc/ghi)
Bộ đệm tốc độ cao (đọc/ghi)
HSC0
HSC1(chỉ có trong CPU214)
HSC2(chỉ có trong CPU214)
3. Mở rộng cổng vào ra.
CPU212 cho phép mở rộng nhiều nhất 2 modul và CPU214 nhiều nhất 7 modul. Các modul mở rộng tương tự và số đều có trong S7-200.
Có thể mở rộng cổng vào/ra của PLC bằng cách ghép nối vào nó các modul mở rộng về phía bên phải của CPU, làm thành một móc xích. Địa chỉ của các vị trí của modul được xác định bằng kiểu vào/ra và vị trí của modul trong móc xích, bao gồm các modul có cùng kiểu. Ví dụ như một modul cổng ra không thể gán địa chỉ của một modul cổng vào, cũng như một modul tương tự không thể có địa chỉ như một modul số và ngược lại.
Các modul 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 modul.
Sau đây là một ví dụ về cách đặt địa chỉ cho các modul mở rộng trên CPU214:
AIW8
AIW10
AIW12
AQW4
I0.0 Q0.0
I0.1 Q0.1
I0.2 Q0.2
I0.3 Q0.3
I0.4 Q0.4
I0.5 Q0.5
I0.6 Q0.6
I0.7 Q0.7
I1.0 Q1.0
I1.1 Q1.1
I1.2
I1.3
I1.4
I1.5
Q3.0
Q3.1 Q3.2 Q3.3 Q3.4 Q3.5 Q3.6 Q3.7
AIW0
AIW2
AIW4
AQW0
I3.0
I3.1
I3.2
I3.3
I3.4
I3.5
I3.6
I3.7
I2.0
I2.1
I2.2
I2.3
Q2.0
Q2.1
Q2.2
Q2.3
4. Thực hiện chương trình.
PLC thực hiện chương trình theo chu trình lặp. Mỗi vòng lặp được gọi là vòng quét (scan). Mỗi vòng quét được bắt đầu bằng giai đoạn đọc dữ liệu từ các cổng vào vùng bộ đệ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à giai đoạn chuyển các nội dung của bộ đệm ảo tới các cổng ra.
4. Giai đoạn chuyển dữ liệu từ bộ đệm ảo ra ngoại vi.
3. Giai đoạn truyền thông nội bộ và tự kiểm tra lỗi.
2. Giai đoạn thực hiện chương trình.
1. Giai đoạn nhập dữ liệu từ ngoại vi và bộ đệm ảo.
Vòng quét của PLC
Như vậy, tại thời điểm thực hiện lệnh vào/ra, thông thường không làm việc trực tiếp với cổng vào ra mà chỉ thông qua bộ đệm ảo của cổng trong vùng nhớ tham số. Việc truyền thông giữa bộ đệm ảo với ngoại vi trong giai đoạn 1và 4 do CPU quản lý. Khi gặp lệnh vào/ra ngay lập tức thì hệ thống sẽ dừng cho 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ế độ ngắt, chương trình con tương ứng với 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 báo ngắt và có thể xảy ra ở bất cứ điểm nào trong vòng quét.
5. Cấu trúc chương trình của S7-200.
Có thể lập trình cho PLC 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 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 (maim 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 ví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 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 ngay 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.
Main prorgam
.....
MEND
Thực hiện trong một vòng quét.
SBR 0 Chương trình co thứ nhất
....
RET
Thực hiện khi được chương trình chính gọi.
SBR n Chương trình con thứ n+1
....
RET
Thực hiện khi có tín hiệu báo ngắt.
INT 0 Chương trình xử lý ngắtthứ nhất.
....
RETI
INT n Chương trình xử lý ngắt thứ n+1
....
RETI
II- phần mềm lập trình của S7-200.
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 tập 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 lập trình cuối cùng trong một vòng. Một vòng như vậy được gọi là vòng quét (scan).
Một vòng quét (scan cyle) đượ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 cyle 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.
Giai đoạn chuyển dữ liệu ra ngoại vi.
Giai đoạn truyền thông nội bộ và tự kiểm tra lỗi.
Giai đoạn thực hiện chương trình.
Giai đoạn nhập dữ liệu từ ngoại vi.
Các chương 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 cơ bản: phương pháp hình thang(Ladder Logic viết tắt thành LAD) và phương pháp liệt kê lệnh(Statement List viết tắt thành STL). Chương này sẽ giới thiệu các thành phần cơ bản của hai phương pháp trên và cách sử dụng chúng trong lập trình.
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. 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 sang được dạng LAD. Bộ đệm của phương pháp STL được trình bầy trong quyển sách này đều có một chức năng tương ứng như các tiếp điểm, các cuộn dây và các hộp dùng trong LAD. Những lệnh này phải đọc và phối hợp được trạng thái của các tiếp điểm để đưa ra được một quyết định về giá trị trạng thái đầu ra hoặc một giá trị logic cho phép hoặc không cho phép thực hiện chức năng của một (hay nhiều ) hộp. Để dễ dàng làm quen với các thành phần cơ bản của LAD và của STL cần phải nắm được các định nghĩa cơ bản sau đây:
Đị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ả rơle được mắc theo chiều dòng điện cùng 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ộ thời gian (Time), 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 bên phải. Đường nguồn bên trái 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ặcSTEP7-Micro/WIN). Dòng điện chạy từ trái qua các tiếp điểm đóng đến các cuộn dây hoặc các hộp trở về bên phải nguồn.
Định nghĩa về STL: phương pháp liệt kê lệnh (STL) là phương pháp thể hiện chương trình dưới dạng tập hợp các câu lệnh. Mỗi câu lệnh trong chương trình, kể cả những lệnh hình thức biểu diễn một chức năng của PLC.
Định nghĩa về ngăn xếp logic(logic stack):
S0
S1
S2
S3
S4
S5
S6
S7
S8
Stack 0 - bit đầu tiên hay bit trên cùng của ngăn xếp.
Stack 1 - bit thứ hai của ngăn xếp.
Stack 2 - bit thứ ba của ngăn xếp.
Stack 3 - bit thứ tư của ngăn xếp.
Stack 4 - bit thứ năm của ngăn xếp.
Stack 5 - bit thứ sáu của ngăn xếp.
Stack 6 - bit thứ bảy của ngăn xếp.
Stack 7 - bit thứ tám của ngăn xếp.
Stack 8 - bit thứ chín của ngăn xếp.
Để 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 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 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. Ngăn xếp và tên của từng bit trong ngăn xếp được biểu diễn trong hình trên.
Bảng lệnh của S7-200 .
Hệ lệnh của S7-200 được chia làm ba nhóm được chỉ ra ở bảng sau. Bảng 2.1, 2.2 và 2.3 chia theo các lệnh và sắp xếp chúng theo thứ tự Alphabet.
Các lệnh mà khi thực hiện thì làm việc độc lập không phụ thuộc và giá trị logic của ngăn xếp.
Các lệnh chỉ thực hiện được khi bit đầu tiên của ngăn xếp có giá trị logic bằng 1.
Các nhãn lệnh đánh dấu vị trí trong tập lệnh.
Cả ba bảng này cũng mô tả sự thay đổi tương ứng của nội dung ngăn xếp khi lệnh được thực hiện.
Cả hai phương pháp LAD và STL sử dụng ký hiệu I để chỉ định việc thực hiện tức thời (immediately), tức là giá trị được chỉ định trong lệnh vừa được chuyển vào thanh ghi ảo đồng thời được chuyển tới tiếp điểm được chỉ dẫn trong lệnh ngay khi thực hiện chứ không phải chờ tới giai đoạn trao đổi với ngoại vi của vòng quét.Điều đó khác với lệnh không tức thời là giá trị được chỉ định trong lệnh chỉ được chuyển vào thanh ghi ảo khi thực hiện lệnh.
2- Cú pháp hệ lệnh của S7-200.
Mặc dù S7-200 có một khối lượng lệnh tương đối lớn thể hiện các thuật toán của đại số Boolean song đó chỉ là một vài các kiểu lệnh khác nhau. Sau đây từng lệnh của S7-200 được mô tả chi tiết về cách sử dụng, chức năng và tác động của chúng vào nội dung ngăn xếp, trong đó giá trị của ngăn xếp trước khi thực hiện lệnh được ký hiệu bằng “c0 đến c8” (viết tắt của “cũ”). Ký hiệu “m” (viết tắt của “mới”) được dùng cho nội dung của ngăn xếp sau khi lệnh được thực hiện. Trong các ví dụ sau, dấu Ù dùng cho toán tử Boolean AND, dấu Ú dùng cho toán tử OR và các ký hiệu ~ dùng cho toán tử NOT.
LAD hoặc STL sử dụng I để chỉ thị hàm tức thời. Khi thực hiện lệnh, hoặc tiếp điểm tức thời, lệnh sẽ nhận các giá trị được xác định từ tín hiệu đầu vào của đại lượng vật lý, nội dung thanh ghi ảo không bị thay đổi. Nếu thực hiện lệnh không tức thời, lệnh sẽ nhận giá trị được tính toán từ thanh ghi ảo đã được bộ điều khiển thay đổi trước mỗi vòng quét.
2.1.Toán hạng và giới hạn cho phép.
Bảng 2.4 :Trình bầy giới hạn toán hạng của CPU 212 và CPU 214.
Bảng 2.4:
Phương pháp truy nhập.
Giới hạn cho phép của toán hạng
CPU 212
CPU 214
Truy nhập bit
(địa chỉ byte.chỉ số bit)
V (0.0 đến 1023.7)
I (0.0 đến 7.7)
Q (0.0 đến 7.7)
M (0.0 đến 15.7)
SM (0.0 đến 45.7)
T (0 đến 63)
C (0 đến 63)
V (0.0 đến 4095.7)
I (0.0 đến 7.7)
Q (0.0 đến 7.7)
M (0.0 đến 37.1)
SM (0.0 đến 85.7)
T (0 đến 127)
C (0 đến 127)
Truy nhập byte
VB (0 đến 1023)
IB (0 đến7)
MB (0 đến 15)
SMB (0 đến 45)
AC (0 đến 3)
Hằng số
VB (0 đến 1023)
IB (0 đến7)
MB (0 đến 15)
SMB (0 đến 45)
AC (0 đến 3)
Hằng số
Truy nhập từ đơn
(địa chỉ byte cao)
VW (0 đến 1022)
T (0 đến 63)
C (0 đến 63)
IW (0 đến 6)
QW (0 đến 6)
MW (0 đến 14)
SMW (0 đến 44)
AC (0 đến 3)
AIW (0 đến 30)
AQW (0 đến 30)
Hằng số
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 1020)
ID (0 đến 4)
QD (0 đến 4)
MD (0 đến 12)
SMD (0 đến 42)
AC (0 đến 3)
HC (0)
Hằng số
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.2.Lệnh vào/ra.
Load (LD).
Load Not (LDN): 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 (hình 2.3a), các giá trị cũ còn lại trong ngăn xếp bị đẩy lùi xuống một bit.
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 (hình 2.3b), giá trị cũ còn lại trong ngăn xếp bị đẩy lùi xuống một bit.
Trạng thái của ngăn xếp trước và sau khi thực hiện lệnh LD.
Trước LD Sau
C0
C1
C2
C3
C4
C5
C6
C7
C8
m
C0
C1
C2
C3
C4
C5
C6
C7
bị đẩy ra khỏi ngăn xếp.
Trạng thái của ngăn xếp trước và sau khi thực hiện lệnh LDN.
Trước LDN Sau
~m
C0
C1
C2
C3
C4
C5
C6
C7
C0
C1
C2
C3
C4
C5
C6
C7
C8
Bị đẩy ra khỏi ngăn xếp
Các dạng khác nhau của lệnh LD, LDN cho LAD như sau:
LAD
Mô tả
Toán hạng
Tiếp điểm thường mở sẽ được đóng nếu n=1
n: I,Q,M,SM,T,C,V
(bit)
Tiếp điểm thường đóng sẽ
mở khli n=1
Tiếp điểm thường mở sẽ
đóng tức thời khi n=1
n = 1
Tiếp điểm thường đóng sẽ
Mở tức thời khi n=1
Các dạng khác nhau của lệnh LD, LDN cho STL như sau:
Lệnh
Mô tả
Toán hạng
LD n
Lệnh nạp giá trị logic của điểm n vào bit đầu tiên trong ngăn xếp
n: I,Q,M,SM, T,
(bit) C,V
LDN n
Lệnh nạp giá trị logic nghịch đảo của điểm n vào bit đầu tiên trong ngăn xếp
LDI n
Lệnh nạp tức thời giá trị logic của điểm n vào bit đầu tiên trong ngăn xếp
n: I
(bit)
LDNI n
Lệnh nạp tức thời giá trị logic nghịch đảo của điểm n vào bit đầu tiên trong ngăn xếp
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.
Mô tả lệnh: = bằng LAD như sau:
LAD
Mô tả
Toán hạng
Cuộn dây đầu ra ở trạng thái kích thích khi có dòng điều khiển đi qua.
n: I,Q,M,SM,T,C,V
(bit)
Cuộn dây đầu ra được kích tức thời khi có dòng điều khiển đi qua.
n: Q
(bit)
Mô tả lệnh bằng STL như sau:
STL
Mô tả
Toán hạng
= n
Lệnh = sao chép giá trị của đỉnh ngăn xếp tới tiếp điểm n được chỉ dẫn trong lệnh.
n: I,Q,M,SM,T,C,V
(bit)
=1 n
Lệnh =I(immediate) sao chép tức thời giá trị của đỉnh stack tới tiếp điểm n được chỉ dẫn trong lệnh.
n: Q
(bit)
2.3.Các lệnh ghi / xoá 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).
Trong STL, lệnh truyền trạng thái bit đầu của ngăn xếp đến các điểm thiết kế. Nếu bit này có giá trị bằng 1, các lệnh S và R sẽ đóng ngắt tiếp điểm
hoặc một dãy các tiếp điểm (giới hạn từ 1 đến 255). Nội dung của ngăn xếp không bị thay đổi bởi các lệnh này.
Mô tả lệnh S và R bằng LAD
LAD
Mô tả
Toán hạng
Đóng một mảng gồm n các tiếp điểm kể từ S_BIT
S_BIT: I,Q,M,SM,T,C,V
(bit)
n: IB, QB, MB, SMB, VB, AC, Hằng số, *VD, *AC
Ngắt một mảng gồm n các tiếp điểm kể từ địa chỉ S-BIT. Nếu S-BIT lại chỉ vào Timer hoặc Counter thì lệnh sẽ xoá bit đầu ra của Timer/Counter đó
Đóng tức thời một mảng gồm n các tiếp điểm kể từ S_BIT
S_BIT: Q
(bit)
n(byte): IB, QB, MB, SMB, VB, AC, Hằng số, *VD, *AC
Ngắt tức thời một mảng gồm n các tiếp điểm kể từ địa chỉ S_BIT.
Mô tả lệnh S (Set) và R(Reset) bằng STL :
STL
Mô tả
Toán hạng
S S_BIT n
Ghi giá trị logic và một mảng gồm n bit kể từ địa chỉ S_BIT
S_BIT : I,Q,M,SM,T,C,V
(bit)
n: IB, QB, MB, SMB, VB, AC, Hằng số, *VD, *AC
R S_BIT n
Xoá một mảng gồm n bit kể từ địa chỉ S_BIT. Nếu S_BIT lại chỉ vào Timer hoặc Counter thì lệnh sẽ xoá bit đầu ra của Timer/Counter
SI S_BIT n
Ghi tức thời giá trị jogic 1 và một mảng gồm n bit kể từ S_BIT
S_BIT: Q
(bit)
n(byte): IB, QB, MB, SMB, VB, AC, Hằng số, *VD, *AC
RI S_BIT n
Xoá tức thời một mảng gồm n bit kể từ địa chỉ S_BIT
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 mắc 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 vào/ra từng lệnh.
Lệnh
Mô tả
Toán hạng
O n
A n
Lệnh thực hiện toán tử Ù (A) và Ú (O) giữa giá trị logic của tiếp điểm n và giá trị bit đầu tiên trong ngăn xếp. Kết quả được ghi lại vào bit đầu tiên của ngăn xếp
n: I,Q,M,SM,T,C,V
(bit)
ON n
AN n
Lệnh thực hiện toán tử Ù (A) và Ú (O) giữa giá trị logic nghịch đảo của tiếp điểm n và giá trị bit đầu tiên trong ngăn xếp. Kết quả được ghi lại vào bit đầu tiên của ngăn xếp
OI n
AI n
Lệnh thực hiện tức thời toán tử Ù (A) và Ú (O) giữa giá trị logic của tiếp điểm n và giá trị bit đầu tiên trong ngăn xếp. Kết quả được ghi lại vào bit đầu tiên của ngăn xếp
n: I
(bit)
ONI n
ANI n
Lệnh thực hiện tức thời toán tử Ù (A) và Ú (._.
Các file đính kèm theo tài liệu này:
- DA0458.DOC