Tải bản đầy đủ (.pdf) (62 trang)

NGHIÊN CỨU XÂY DỰNG CHƯƠNG TRÌNH GIAO TIẾP GIỮA PLC S7200 VỚI MÁY TÍNH

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (698.37 KB, 62 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NÔNG LÂM TP. HỒ CHÍ MINH
KHOA CƠ KHÍ - CÔNG NGHỆ


Nguyễn Phước Thiên

NGHIÊN CỨU XÂY DỰNG CHƯƠNG TRÌNH GIAO
TIẾP GIỮA PLC S7-200 VỚI MÁY TÍNH

Thành phố Hồ Chí Minh
Tháng 08 năm 2007


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NÔNG LÂM TP. HỒ CHÍ MINH
KHOA CƠ KHÍ - CÔNG NGHỆ


NGHIÊN CỨU XÂY DỰNG CHƯƠNG TRÌNH GIAO
TIẾP GIỮA PLC S7-200 VỚI MÁY TÍNH

Chuyên ngành
Cơ khí Bảo quản và Chế biến Nông sản - Thực phẩm

Giáo viên hướng dẫn:

Sinh viên thực hiện:

TS Nguyễn Văn Hùng


Nguyễn Phước Thiên

Thành phố Hồ Chí Minh
Tháng 08 năm 2007

i


MINISTRY OF EDUCATION AND TRAINING
NÔNG-LÂM UNIVERSITY, HO-CHI-MINH CITY

Faculty of Engineering and Technology

THE PROGRAM FOR COMMUNICATION
BETWEEN PLC S7-200 AND COMPUTER

Major
Engineering for Processing and Storage of Agricultural Products

Advisors:

Student:

Nguyen Van Hung, Ph.D

Nguyen Phuoc Thien

HO-CHI-MINH CITY
Agu 2007


ii


LỜI CẢM TẠ
Đầu tiên chúng con xin gởi ba mẹ lời kính trọng nhất
Xin chân thành cảm ơn quý thầy cô Trường Đại Học Nông LâmTP.HCM, quý
thầy cô Khoa Cơ Khí Công Nghệ đã dạy dỗ truyền thụ kiến thức cho chúng
em trong suốt thời gian học ở trường.
Xin gởi thầy Tiến Sĩ Nguyễn Văn Hùng lòng biết ơn chân thành và sâu sắc vì
đã hướng dẫn giúp đỡ em nhiều mặt cần thiết để thực hiện đề tài này .
Cuối cùng xin cảm ơn bạn bè đã luôn ở bên cạnh động viên, giúp đỡ trong
suốt quá trình học tập và thực hiện đề tài này.

Sinh viên thực hiện

Nguyễn Phước Thiên

iii


TÓM TẮT LUẬN VĂN
Luận văn này đã thực hiện chủ yếu phần giao tiếp máy tính với PLC S7-200
điều khiển động cơ và các ngõ ra. Đặc biệt đề tài này cũng đề cập đến nhiều vấn đề mà
nhiều nhà sản xuất quan tâm , đó là quản lý và điều khiển toàn bộ dây chuyền bằng
máy tính.
Để góp phần tạo nền tản cho việc học tập và nghiên cứu chúng tôi đã thực hiện
đề tài “NGHIÊN CỨU XÂY DỰNG CHƯƠNG TRÌNH GIAO TIẾP PLC S7-200
VỚI MÁY TÍNH”.
Nội dung chính của đề tài là viết giao diện mô phỏng điều khiển PLC S7-200
điều khiển động cơ và các ngõ ra.

Sinh viên thực hiện.

iv


ABSTRACT

The main content of this project communication between computer and PLC
S7-200,controlling motor and output led.This application can be used openning for
automatic controlling the industrial lines.
To develop the objectives,I have been done this project ”THE PROGRAM FOR
COMMUNICATION BETWEEN PLC S7-200 AND COMPUTER”.

v


MỤC LỤC
Trang
Trang tựa

i

Cảm tạ

iii

Tóm tắt

iv


Mục lục

vi

CHƯƠNG 1. MỞ ĐẦU

1

Mục đích nội dung nghiên cứu

2

CHƯƠNG 2. TRA CỨU TÀI LIỆU
2.1 PLC S7-200

3

2.1.1 Phần cứng PLC S7-200

3

2.1.1.1 Chuẩn RS 232

3-5

2.1.1.2 Chuẩn RS 499, RS 423A

6

2.1.1.3 Chuẩn RS 422A


7

2.1.1.4 Chuẩn RS 485

8

2.1.2 Một số lệnh liên quan đến phần mềm

9

2.1.2.1 Các lệnh ngắt và xử lý ngắt

9-12

2.1.2.2 Các lệnh truyền thông nối tiếp

12-13

2.1.2.3 Giới thiệu tập lệnh S7-200

14-20

2.2 Sơ lược về ngôn ngữ Delphi

20-22

CHƯƠNG 3. PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN

23


CHƯƠNG 4 KẾT QUẢ VÀ THẢO LUẬN

24

4.1 Nghiên cứu PLC để thực hiện phần giao tiếp

24

4.1.1 Thanh ghi điều khiển đường truyền

25

4.1.2 Thanh ghi điều khiển Modem

26

4.1.3 Thanh ghi trạng thái đường dây

26

4.1.4Chân cắm của chuẩn RS 232 của PC

27

4.1.5 Mạch chuyển cổng PC RS 232 sang RS 485

28

4.1.6 Kết nối giữa máy tính với PLC


29

4.1.7 Sơ đồ nguyên lý

30
vi


4.2 Xây dựng phần mềm giao tiếp

31

4.2.1 Lưu đồ giải thuật gởi 1 byte

31

4.2.2 Lưu đồ giải thuật chương trình

32

4.2.3 Lưu đồ giải thuật điều khiển động cơ

33

4.3 Nội dung phần mềm

34

4.3.1Giải thuật viết cho giao diện


34

4.3.2 Các lệnh viết cho S7-200

35- 37

4.4 Chạy thử chương trình

38

4.4.1Mô phỏng điều khiển ngõ ra của PLC

38

4.4.2 Mô phỏng điều khiển động cơ

38

4.5 Khả năng ứng dụng điều khiển trên hệ thống sản xuất chế phẩm sinh học

39

CHƯƠNG 5 KẾT LUẬN VÀ ĐỀ NGHỊ

40

CHƯƠNG 6 TÀI LIỆU THAM KHẢO

41


CHƯƠNG 7 PHỤ LỤC

42-54

vii


Chương 1
MỞ ĐẦU
Ngày nay, hầu hết các hệ thống điều khiển trong công nghiệp có khuynh hướng
phát triển theo hướng tự động hóa. Điều này dễ thấy ở bất kỳ nhà máy lớn nào.Các hệ
thống điều khiển tự động được ứng dụng rộng rải trong sản xuất và trong cuộc sống
hằng ngày. Điều khiển máy trộn sinh học bằng PLC cũng không là một ngoại lệ.
Bên cạnh đó , người ta thường sử dụng máy tính để có thể quản lý toàn hệ
thống thiết bị trong nhà máy cũng như điều khiển và nối mạng.Từ đó, người vận hành
có thể ngồi 1 chỗ nhưng vẫn có thể điều khiển nhiều nơi mà không cần phải trực tiếp
tiếp xúc với máy.Vì vậy việc nghiên cứu vấn đề này là rất cần thiết.
Luận văn này đã đề cập đến việc giao tiếp máy tính với PLC điều khiển động
cơ và các ngõ ra. Đặc biệt đề tài này cũng đề cập đến nhiều vấn đề mà nhiều nhà sản
xuất quan tâm , đó là quản lý và điều khiển toàn bộ dây chuyền bằng máy tính.
Trên cơ sở phân tích, được sự chấp thuận của Ban chủ nhiệm Khoa Cơ khí –
Công nghệ và sự hướng dẫn của thầy Tiến sĩ Nguyễn Văn Hùng, em tiến hành thực
hiện đề tài “NGHIÊN CỨU XÂY DỰNG CHƯƠNG TRÌNH GIAO TIẾP GIỮA PLC
S7-200 VỚI MÁY TÍNH “
Vì phạm vi đề tài tương đối rộng và mới, cộng với kiến thức về lập trình và
PLC có giới hạn nhất định nên khó tránh khỏi những thiếu sót. Rất mong được sự
đóng góp ý kiến quí báu của quý thầy cô và bạn bè để luận văn được hoàn thiện hơn và
có thể ứng dụng trong thực tế.


1


MỤC ĐÍCH -NỘI DUNG NGHIÊN CỨU
-Mục đích luận văn nhằm nghiên cứu xây dựng chương trình giao tiếp giữa PLC S7200 với máy tính dựa trên ngôn ngữ delphi.
-Mở rộng khả năng ứng dụng để điều khiển hệ thống sản xuất chế phẩm sinh học.

2


Chương 2
TRA CỨU TÀI LIỆU
2.1 PLC S7-200:
2.1.1 Phần cứng PLC S7-200:
-Một hệ thống lập trình cơ bản phải gồm có hai phần: khối xử lí trung tâm
(CPU: Central Processing Unit) và hệ thống giao tiếp vào/ ra (I/O).Trong đó:
-Thiết bị đầu vào gồm có các thiết bị tạo ra tín hiệu điều khiển như nút nhấn,
cảm biến công tắc hành trình.
-Input, Output các cổng nối phía đầu vào, ra của PLC hay cổng các modul mở
rộng.
-Cơ cấu chấp hành: gồm các thiết bị điếu khiển như : chuông, đèn, công tắc,
động cơ, van khí nén, heater, máy bơm, LED hiển thị….
-Chương trình điều khiển: định ra qui luật thay đổi tín hiệu Output đầu ra theo
tín hiệu Input đầu vào như mong muốn.các chương trình điều khiển được tạo ra bằng
cách sử dụng bộ lập trình chuyên dùng cầm tay(Hand-hold programmer PG) hoặc chạy
bằng phần mềm điều khiển trên máy vi tính sau đó được nạp vào PLC thông qua cổng
nối giữa PLC và máy tính(hay PG).
- Có nhiều loại bộ nhớ để cho người sử dụng lựa chọn theo mục đích hay yêu
cầu sử dụng: ROM (Read Only Memory): Bộ nhớ chỉ đọc không xoá dùng lưu trữ
chương trình cố định, không thay đổi thường dùng cho nhà sản xuất PLC.

RAM(Random Access Memory): Bộ nhớ truy xuất ngẫu nhiên dùng để lưu trữ dữ liệu
vào chương trình cho người sử dụng.
2.1.1.1 Chuẩn RS 232:
Chuẩn RS-232 lần đầu tiên được giới thiệu vào năm 1962 do hiệp hội kỹ thuật điện tử
EIA (Electronics industries Association) như là chuẩn giao tiếp truyền thông giữa máy
tính và một thiết bị ngoại vi (modem, máy vẽ,mouse, máy tính khác…)
Cổng giao tiếp RS-232 là giao diện phổ biến rộng rãi nhất. người dùng máy tính PC
còn gọi cổng này là COM 1, còn COM 2 để tự do cho các ứng dụng khách. giống như

3


cổng máy in, cổng nối tiếp RS232 được sử dụng một cách rất thuận tiện cho mục đích
đo lường và điều khiển.
Việc truyền dữ liệu qua RS-232 được tiến hành theo cách nối tiếp, nghĩa là các bit dữ
liệu được gửi đi nối tiếp nhau trên một đường truyền dẫn. Trước hết, loại tryền này có
thể dùng cho những khoảng cách lớn hơn, bởi vì các khả năng gây nhiễu nhỏ đáng kể
hơn là dùng cổng song song. Việc dùng cổng song song có một nhược điểm đáng kể là
cáp truyền dùng quá nhiều sợi, và vì vậy rất đắt tiền. Hơn nữa tín hiệu nằm trong
khoảng 0 – 5V tỏ ra không thích ứng với khoảng cách lớn.
Cổng nối tiếp RS không phải là một hệ thống Bus, nó cho phép dễ dàng tạo ra liên kết
dưới hình thức nối điểm giữa hai máy cần trao đổi thông tin với nhau. Một thành phần
thứ ba không thể tham gia vào cuộc trao đổi thông tin này.
Bảng 2.1.1.1: Bảng sắp xếp chân của cống nối tiếp ở máy tính
9 chân

25 chân

Chức năng


1

8

DCD_Data Carrier Detect (Lối vào)

2

3

RxD_Receive Data (Lối vào)

3

2

TxD_Transmit Data(Lối ra)

4

20

DTR_Data Terminal Ready(Lối ra)

5

7

GND_Ground(Nối đất)


6

6

DSR_Data Set Ready (Lối vào)

7

4

RTS_Request to Send(Lối ra)

8

5

CTS_Clear to Send(Lối vào)

9

22

RI-Ring Indicator

Việc truyền dữ liệu xảy ra trên hai đường dẫn. Qua chân cắm qua TxD, máy
tính gửi dữ liệu của nó đến các thiết bị khác.Trong khi đó dữ liệu mà máy tính nhận
được, lại được dẫn đến chân nối RxD. Các tín hiệu khác đóng vai trò như là tín hiệu hỗ
trợ khi trao đổi thông tin và vì vậy không phải trong mọi ứng dụng đều dùng đến.
Các bit dữ liệu được gửi đi theo kiểu đảo ngược, nghĩa là các bit có giá trị “1” sẽ có
mức điện áp LOW, các bit có giá trị “0” sẽ có mức điện áp HIGH. Mức tín hiệu nhận

và truyền qua chân RxD và TxD thông thường nằm trong khoảng 12V đến +12V.

4


Ở trạng thái tĩnh điện đường dây vẫn có điện áp -12V. Mỗi bit khởi động (star bit) sẽ
mở đầu việc truyền dữ liệu. tiếp sau đó là các bit riêng lẻ đến, trong đó các có giá trị
thấp được gửi trước tiên. Con số của các bit dữ liệu thay đổi giữa 5 và 8. Ở cuối dòng
dữ liệu còn có một bit dừng( stop bit) để đặt lại trạng thái lối ra (-12V).
Tốc độ Baud có giá trị thông thường là: 300, 600, 1200, 4800, 9600,19200 Baud. Ký
hiệu Baud tương ứng với số bit truyền trong 1 giây ( bit per second_bps).Chẳng hạn
như khi tốc độ Baud bằng 9600 có nghĩa là 9600 bit dữ liệu được truyền trong 1 giây.
Vì mỗi bit dữ liệu có một bit bắt đầu và một bit được dùng gởi kèm theo, do đó khi
truyền một byte dữ liệu đã có 10 bit được gởi đi. với tốc độ Baud thông thường, mỗi
giây cho phép truyền truyền nhiều nhất từ 30 đến 1920 byte dữ liệu, vì vậy nhược
điểm lớn nhất của cổng truyền nối tiếp là tốc độ truyền dữ liệu bị hạn chế.
So sánh giữa TTL và RS-232 ta thấy TTL sử dụng mức logic dương và 0,4V chống
nhiễu. Trong khi RS-232 sử dụng mức điện áp ±12V để đảm bảo truyền được trên
đường dây dài. với khoảng chống nhiễu 12V cho phép tín hiệu đi qua môi trường
nhiễu mạnh mà đối với TTL không thể có được.
Một trong những yêu cầu quan trọng của RS-232 là thời gian chuyển từ một mức logic
này tớ một mức logic khác không vượt quá 4% thời gian một bit. Vì thế ở tốc độ
19200 Baud thời gian mức logic phải nhỏ hơn 0,04/19200s. vấn đề này làm giới hạn
chiều dài đường truyền. với tốc độ truyền 19200 Baud, ta có thể truyền xa nhất là 50
feet (15,24 m).
Một trong những vấn đề quan trọng cần chú ý khi sử dụng RS-232 là mạch thu phát
không cân bằng (đơn cực). Điều này có ý nghĩa là tín hiệu vào ra được so với đất. Vì
vậy nếu điện thế tại hai điểm đất của hai mạch thu phát không bằng nhau thì sẽ có
dòng điện chay trên dây nối đất. Kết quả sẽ có áp rơi trên dây nối đất ( V=I.R) sẽ làm
suy yếu tín hiệu logic. Nếu truyền tín hiệu đi xa, R sẽ tăng dần đến áp rơi trên đất sẽ

lớn dần đến lúc tín hiệu logic sẽ rơi vào vùng không xác định và mạch thu sẽ không
nhận đúng dữ liệu được truyền từ mạch phát. Chính sự không cân bằng trên mạch thu
phát là một trong những nguyên nhân giới hạn đường truyền.
2.1.1.2 Chuẩn RS-499, RS-423A:
Do chuẩn thông dụng RS-232 có hạn chế như:
Khi các mạch RS-232 là không cân bằng, sự loại trừ nhiễu nhỏ hơn mức tối ưu.
5


Các điện áp RS-232 quá cao đối với mật độ dòng điện của IC hiện nay.
Trong nhiều ứng dụng, cần thiết phải có thêm các đường dây nối giữa các modem với
các DTE để kiểm tra từ xa…
Do vậy vào năm 1978 – 1979, EIA đưa ra hai chuẩn giao tiếp mới để khắc phục các
nhược điểm trên của RS-232 là RS-499( cân bằng) và RS-423 (không cân bằng).
Sự lựa chọn giữa truyền cân bằng và không cân bằng được quyết định bởi tốc
độ truyền tín hiệu. Khi tốc độ truyền vượt quá 20Kbps thì hầu hết các mạch sử dụng
giao tiếp cân bằng.
Với chuyển RS-423A, tốc độ truyền có thể lên đến trên 20kbps. Khi tốc độ
truyền lớn hơn Kbps thì người ta thường sử dụng đường truyền cân bằng. Ngược lại, ta
sẽ được cho phép truyền không cân bằng.
Với chuẩn RS-499, tốc độ truyền có thể lên đến 100Kbps và khoảng cách
đường truyền có thể lên đến 1km. Tiêu chuẩn này sử dụng cho các IC kích phát và thu
MC3488 và MC3486.

6


2.1.1.3 Chuẩn RS-422A.:
Một cải tiến nữa của RS-232 là chuẩn RS-422A. Với chuẩn này, độ lợi được gia
tăng và sử dụng việc truyền dữ liệu sai biệt( diffirential data) trên những đường truyền

cân bằng.Một dữ liệu sai biệt yêu cầu hai dây, một cho dữ liệu không đảo
(Moninverted) và một cho dữ liệu đảo (inverted). Dữ liệu được truyền trên đường dây
cân bằng, thường là cặp dây xoắn với một trở ở đầu cuối. Một IC lái (driver) biến đổi
các mức logic thông thường thành một cắp cắp tín hiệu sai biệt để truyền. Một bộ phận
biếtn đổi tín hiệu sai biệt ngược lại thành cách mức logic. Dữ liệu nhận là phần khác
nhau giữa dữ liệu không đảo và dữ liệu đảo. Chú ý rằng hết hoạt động với nguồn cung
cấp +5V như các chip logic. Với chuẩn này, tốc độ truyền , khoảng cách truyền được
cải thiện rất nhiều.
Vùng điện áp cho mức logic của hai chuẩn RS-422A và RS-423A. Nhờ tính vi
sai, RS-422A có thể cho phép vùng chuyển tiếp nhỏ hơn so với RS-232 là chỉ
±200mV. Điều này cho phéo tốc độ truyền cao hơn và khoảng cách truyền tăng lên. cụ
thể là 100Kbps vởi khoảng cách truyền là 4000 feet(1.2km).
2.1.1.4 Chuẩn RS-485:
RS-485 là một thể hệ cải tiến của RS-422 và mở rộng số lượng ngoại vi giao tiếp. Nó
cho phép kết nối truyền thông nhiều thiết bị theo cả hai hướng. RS-422 và RS232 thì
thích hợp cho truyền đơn giản, trong khi đó RS-485 cho phép nhiều đâu thu trên một
đường truyền half-duplex. Tốc độ truyền thì không giới hạn và được xác định bởi thời
gian lên của xung, thường giới hạn ở 10Mbps. Một mạng sử dụng tiêu chuẩn RS-485
cho phép 32 transmitter/receiver với khoảng cách tối đa là 1,2km.
Bảng 2.1.1.4 : Bảng so sánh đặc tính giữa các chuẩn truyền EIA.
Thông số

RS-232

RS-422

RS-423A

RS-485


Cable Length

15Km

1,2Km

1,2Km

1,2Km

Baudrata

20Kbps

10Mbps/12m

100Kbps/9m

10Mbps/12m

1Mbps/120m

10Kbps/90m

1Mbps/120m

100

1kbps/1,2Km


100Kbps/1,2km
Cân bằng vi sai

Kbps/1,2Km
Mode

Không cân

Cân bằng vi

Không cân

bằng

sai

bằng vi sai
7


Drive no.

1

1

1

32


Receive no.

1

10

10

32

Logic 0

+5V…+15V

+2V…+5V

+3.6V…+6V

+1.5v…+5V

Logic 1

-5v…-15v

-2V…-5V

-3.6V…-6V

-1.5V…-5V


Community

2V

1.8V

3.4V

1.3V

Cable/Signal

1

2

2

2

Methode

Simplex

Simplex

Simplex

Simplex


Half – duplex

Half-duplex

Half-duplex

Half-duplex

Full- Duplex

Full-duplex

Full-duplex

Full-duplex

150mA

150mA

150mA

Short

circuit 500mA

current

Chuẩn RS—232 chỉ cho phép nối 2 thiết bị với nhau, muốn nối nhiều thiết bị hơn ta
dùng chuẩn RS-485. Muốn vậy ta phải có mạch chuyển đổi từ RS-232 sang RS-485.

Nguyên tắc cơ bản là chuyển mức điện áp và kiều không cân bằng của RS-232 sang
mức điện áp và kiều cân bằng của RS-485.
Mức điện áp:
 RS-232:-9V≥logic 1,+9V≥logic 0
 RS-485 Va-Vb=-5…-1.5V≥logic1, Va-Vb=+1.5…+5V≥logic 0
Kiểu không cân bằng: điện áp so với đất.
Kiểu cân bằng: điện áp vi sai giữa 2 dây.
Có sự khác biệt cơ bản giữa 2 chuẩn trên là:
 Rs-232 có phương pháp truyền thông là Full-duplex
 RS-485 có phương pháp truyền thông là Half-duplex, nghĩa là tại một thời
điểm chỉ có một trạm là phát và các trạm còn lại là thu. Như vậy ở một trạm
khi phát thì phải cấm thu và ngược lại.
Có hai phương pháp điều khiển việc thu phát:
1. Dùng tín hiệu RTS để cho phép thu phát
2. Dùng mạch phát hiện:

8


Bình thường khi chưa có tín hiệu phát TXD có mức là 1, lúc này cho phép phát sẽ tạo
ra một xung có độ dài tối thiểu là thời tian phát một ký tự. Giả sử ứng với tốc độ 9600
Baud(1starbit,8ký tự, 1 bitstop) thì T=1.04ms. Phương pháp này đơn giản phẩn mềm
nhưng có hạn chế là sau khi phát, muốn thu thì có thể đợi tới 1.04ms.
2.1.2 Một số lệnh liên quan đến phần mềm:
2.1.2.1 Các lệnh ngắt và xử lý ngắt:
a) Ngắt và xử lý ngắt:
Các chế độ ngắt cho phép thực hiện các quá trình xử lý tốc độ cao phản ứng
kịp thời với các sự kiện bên ngoài.Nguyên tắc cơ bản của một chế độ ngắt cũng giống
như lệnh gọi một chương trình con được chủ động bằng lệnh cònh chương trình xử lý
ngắt bị gọi bị động bởi tín hiệu báo ngắt.Khi có tín hiệu báo ngắt hệ thống sẽ gọi

chương trình con báo ngắt tương ứng với tín hiệu báo ngắt đó.Chương trình con xử lý
ngắt có một nhãn riêng được đánh dấu ở đầu chương trình.Trước khi bị ngắt, thì hệ
thống sẽ cất giữ nội dung ngăn xếp, nội dung thanh ghi AC và các bit nhớ đặc biệt vào
tổ chức xếp hàng báo ngắt(khi có nhiều tín hiệu báo ngắt).Sau khi ngắt thực hiện xong
việc xử lý ngắt thì nội dung ngăn xếp, nội dung thanh ghi AC và các bit nhớ đặc biệt
được lưu giữ trước đó được lấy ra để xử lý tiếp.
b) Thứ tự ưu tiên các tín hiệu báo ngắt:
1.Hai ngắt truyền thông nối tiếp(nhận và truyền)
2.Tám ngắt theo sườn lên hoặc xuống của các cổng I0.0 đến I0.3
3. Bảy ngắt bộ đếm tốc độ cao
4.Hai ngắt đầu ra truyền xung là PT00 và PT01
5.Hai ngắt thời gian
Chú ý: tại một thời điểm chỉ có một chương trình xử lý ngắt được thực
hiện.Trong khi thực hiện chương trình xử lý ngắt thì các tín hiệu báo ngắt phải chờ cho
đến khi chương rình xử lý ngắt được thực hiện xong.Chiều dài tối đa của hàng ghi
nhận tín hiệu báo ngắt chờ xử lý là 10 (CPU 212) và 24 (CPU 214).Khi số tín hiệu báo
ngắt phải chờ lớn hơn độ dài tối đa của hàng ghi nhận tín hiệu báo ngắt thì bit báo tràn
có giá trị logic 1.

9


Bảng 2.1.2.1b:Thứ tự của các bit báo tràn.
Nhóm ưư tiên

Ngắt truyền thông

Ngắt HSC,PLS,vào ra

Ngắt Timer


Bit SM

SM4.0

SM4.1

SM4.2

0:không tràn
1:tràn
- Riêng đối với tín hiệu báo ngắt truyền thông, mặc dù chưa được xử lý, nhưng ký tự
nhận được cùng với bit kiểm tra chẵn lẽ cho ký tự đó vẫn được ghi nhớ lại theo đúng
thứ tự của tín hiệu báo ngắt.
-Khi viết 1 chương trình ngắt phải tuân thủ các quy tắc sau:
+ Càng ngắn càng tốt
+Chương trình xử lý ngắt phải đặt sau chương trình chính
+ Không được sử dụng các lệnh DISI,ENI,CALL,FOR…NEXT và END
trong chương trình xử lý ngắt.
+Khi kết thúc chương trình xử lý ngắt thì phải có lệnh quay về không điều
kiện.
c) Mô tả ngắt:
Bảng 2.1.2.1c: Các tín hiệu ngắt của CPU 222
Mô tả ngắt

Số hiệu ngắt (kiểu)

Tín hiệu ngắt nhạn dữ liệu truyền thông

8


Tín hiệu báo ngắt báo hoàn tất việc gửi dữ liệu

9

Ngắt theo sườn lên của I0.0

0

Ngắt theo sườn lên của I0.1

2

Ngắt theo sườn lên của I0.2

4

Ngắt theo sườn lên của I0.3

6

Ngắt theo sườn xuống của I0.0

1

Ngắt theo sườn xuống của I0.1

3

Ngắt theo sườn xuống của I0.2


5

Ngắt theo sườn xuống của I0.3

7

Ngắt theoHSC0 khi giá trị tức thời bằng giá trị đặt trước

12

10


Ngắt theoHSC1 khi giá trị tức thời bằng giá trị đặt trước

13

Ngắt theoHSC1 khi có tín hiệu báo đổi hướng bên ngoài

14

Ngắt theoHSC1 khi có tín hiệu reset bên ngoài

15

Ngắt theoHSC2 khi giá trị tức thời bằng giá trị đặt trước

16


Ngắt theoHSC2 khi giá trị tức thời bằng giá trị đặt trước

17

Ngắt theo HSC2 khi có tín hiệu reset bên ngoài

18

Ngắt theo PTO 0 báo hiệu hoàn tất việc đếm xung

19

Ngắt theo PTO 1 báo hiệu hoàn tất việc đếm xung

20

Ngắt theo thời gian 0

10

Ngắt theo thời gian 1

11

Chú ý: Nếu khai báo ngắt kiểu 12 ngắt HSC0 khi có giá trị tức thời bằng giá trị đặt
trước(PV-CV) thì hai kiểu ngắt 0 và ngắt 1 vô hiệu hoá.Cũng tương tự như vậy nếu
khai báo sử dụng ngắt kiểu 0 hoặc kiểu 1 thì ngắt kiểu 12 bị vô hiệu hoá.
d) Chức năng lệnh ngắt:
Bảng 2.1.2.1d: Cú pháp sử dụng lệnh ngắt.
Dạng lệnh


Mô tả chức năng lệnh

L

Khai báo sử dụng một chế độ ngắt với kiểu được xác

A

định bởi toán hạng Event.Chương trình xử lý ngắt

D

tương ứng được xác định bởi INT,sau khi khai báo
chế độ ngắt cũng được kích theo.

STL

ATCH INT
EVEN

L

Lệnh này dùng để huỷ bỏ một chế độ ngắt mà kiểu

A

của nó được xác định bởi toán hạng Event

D

STL

DTCH INT
EVEN

11


L

Lệnh khai báo chế độ toàn cục ngắt hoặc kích hoạt tất

A

cả các chế độ ngắt đã bị huỷ bởi lệnh DISI, đặt sau

D

ATCH

STL

ENI

L

Lệnh huỷ bỏ toàn bộ chế độ ngắt đã khai báo sử dụng

A


trước đó,lệnh chỉ có tác dụng với các tín hiệu báo

D

ngắt lên,nhưng các ngắt vẫn nằm trong hàng chờ.

STL

DISI

L

Lệnh kết thúc chương trình xử lý ngắt không điều

A

kiện và bao giờ cũng nằm cuối chương trình xử lý

D

ngắt.

STL

RETI

2.1.2.2 Các lệnh truyền thông nối tiếp:
Sử dụng các lệnh truyền thông để trao đổi dữ liệu giữa PLC và máy tính cũng như các
thiết bị lập trình hay thiết bị hiển thị.
Bảng 2.1.2.2: Các lệnh truyền thông

Dạng lệnh

Mô tả chức năng lệnh

L

Truyền một chuổi byte dữ liệu từ bảng table với

A

chiều dài nằm trong byte đầu của bảng ra port

D

Toán hạng:TBL IB,MB,VB,SB,QB,*VD
PORT 0,1

STL

XMT TABLE PORT

12


L

Nhận một chuổi byte dữ liệu từ ngoài vào bảng table

A


ở port

D

Toán hạng:TBL IB.MB.VB.SB.QB.*VD
PORT 0,1

STL

RCV TABLE PORT

2.1.2.3Giới thiệu về tập lệnh S7-200:
Bảng 2.1.2.3 Các lệnh PLC
Dạng lệnh

Mô tả chức năng lệnh

L

Tiếp điểm thường đóng sẽ đóng khi có giá trị logic bit

A

bằng 0,và sẽ mở khi có giá trị logic bằng 1.

D
STL

LDN n


Toán hạng:Bit I,Q,M,SM,T,C,V(n)

L

Tiếp điểm thường hở sẽ được đóng nếu giá trị logic

A

bằng và sẽ hở nếu giá trị logic bằng 0.

D
STL

LD n

Toán hạng : Bit I,Q,M,SM,T,C,V(n)

L

Tiếp điểm thường hở sẽ được đóng tức thời khi giá trị

A

bit bằng 1 và sẽ mở tức thời nếu giá trị logic bằng 0.

D
STL

LDI n


L

Tiếp điểm đảo trạng thái của dòng cung cấp.Nếu dòng

A

cung cấp có tiếp đểm đảo thì nó ngắt mạch,và ngược

D

lại.

STL

NOT

L

Lệnh nhận biết trạng thái chuyển từ 0 lên 1 trong một

A

chu kỳ quét.Khi chuyển từ 0 lên 1 thì sẽ cho thong

D

mạch.

13



STL

EU

L

Cuộn dây ở đầu ra sẽ được kích thích tức thời khi có

A

dòng điều khiển đi qua.

D
STL

=n

Toán hạng: Bit I,Q,M,SM,T,C,V(n)

L

Lệnh so sánh bằng sẽ làm cho tiếp điểm đóng khi

A

IN1 bằng IN2(IN1,N2 kiểu byte

D


Toánhạng:

STL

LDB=IN1 IN2

IN1,IN2:VB,IB,QB,B,SMB,AC,Const,T,C,AIW,*VD
,*AC

L

Lệnh END dung để kết thúc chương trình chính hiện

A

hành có điều kiện

D
STL

END

L

Lệnh STOP dùng để dừng chương trình hiện hành và

A

chuyển sang chế độ STOP


D
STL

STOP
Lệnh WDR dùng để khởi tạo lại đồng hồ quan sát.

L
A
D
STL

WDR

L

Lệnh nhảy thực hiện việc chuyển điều khiển đến nhãn

A

n trong một chương trình.

D

STL

JMP Kn

14



Lệnh trởvề chương trình đã gọi chương trình con.

L
A
D

STL

RET

L

Sao chép nội dung của byte IN sang byte OUT.

A

Toán hạng:

D

IN:VB,IB,QB,MB,SMB,SB,AC,Const,*VD,*AC.
OUT: VB,IB,QB,MB,SMB,SB,AC,Const,*VD,*AC.

STL

MOVB IN OUT

L

Sao chép nội dung của Word IN sang Word OUT.


A

Toánhạng:

D

IN:VW,T,C,IW,QW,MW,SMW,SW,AC,Const,*VD,
*AC.
OUT:VW,T,C,IW,QW,MW,SMW,SW,AC,Const,*V
D,*AC.

STL

MOVW IN OUT

L

Sao chép nội dung của Dword(Double Word)IN sang

A

OUT.

D

Toán hạng:
IN:VD,ID,QD,MD,SD,SMD,HC,*VD,*AC,&VB,&I
B,&QB,&MB,&T,&C,&SB,Const.
OUT:VD,ID,QD,MD,SD,SMD,AC,*AC,*VD.


STL

MOVD IN OUT

15


L

Sao chép nội dung của Read(số thực) IN sang OUT.

A

Toán hạng:

D

IN:VD,ID,QD,MD,SD,SMD,AC,Const,*VD,*AC.
OUT:VD,ID,QD,MD,SMD,SD,AC,*AC,*VD.

STL

MOVR IN OUT

L

Lệnh cộng hai số nguyên 16 bit IN1 và IN2 kết quả là

A


một số nguyên OUT 16 bit.Trong STL thì kết quả ghi

D

vào IN1.
Toán hạng:
IN1,IN2:VW,T,C,IW,QW,MW,SMW,SW
AC,AIW,Constan,*VD,8AC.
OUT:VW,T,C,IW,QW,MW,SMW,SW
AC,*VD,*AC.

STL

+I IN1 IN2

L

Lệnh cộng hai số nguyên 32 bit IN1 và IN2 kết quả là

A

một số nguyên OUT 32 bit.Trong STL thì kết quả ghi

D

vào IN1.
Toán hạng:
IN1,IN2:VD,ID,QD,MD,SMD,SD,AC,HC,*AC,*VD
.OUT:VD,ID,QD,MD,SMD,SD,AC,*AC,*VD.


STL

+D IN1 IN2

L

Lệnh cộng hai số thực 32 bit IN1 và IN2 kết quả là

A

một số thực OUT 32 bit.Trong STL thì kết quả ghi

D

vào IN1.
Toán hạng:
IN1,IN2:VD,ID,QD,MD,SMD,SD,AC,HC,*AC,*VD

16


.
OUT:VD,ID,QD,MD,SMD,SD,AC,*AC,*VD.
STL

+R IN1 IN2

L


Lệnh trừ hai số nguyên 16 bit IN1 và IN2 kết quả là

A

một số nguyên OUT 16 bit.Trong STL thì kết quả ghi

D

vào IN1.
Toán hạng:
IN1,IN2:VW,T,C,IW,QW,MW,SMW,SW
AC,AIW,Constan,*VD,8AC.
OUT:VW,T,C,IW,QW,MW,SMW,SW

STL

-I IN1 IN2

AC,*VD,*AC.

L

Lệnh trừ hai số nguyên 32 bit IN1 và IN2 kết quả là

A

một số nguyên OUT 32 bit.Trong STL thì kết quả ghi

D


vào IN1.
Toán hạng:
IN1,IN2:VD,ID,QD,MD,SMD,SD,AC,HC,*AC,*VD
.

STL

-D IN1 IN2

OUT:VD,ID,QD,MD,SMD,SD,AC,*AC,*VD.

L

Lệnh trừ hai số thực 32 bit IN1 và IN2 kết quả là một

A

số thực OUT 32 bit.Trong STL thì kết quả ghi vào

D

IN1.
Toán hạng:
IN1,IN2:VD,ID,QD,MD,SMD,SD,AC,HC,*AC,*VD
OUT:VD,ID,QD,MD,SMD,SD,AC,*AC,*VD.

STL

-R IN1 IN2


L

Lệnh nhân hai số nguyên 16 bit IN1 và IN2 kết quả

A

32 bit ghi vào từ kép 32 bit OUT.Trong STL thì kết

D

quả ghi vào IN2.
Toán hạng:
IN1,IN2:VD,ID,QD,MD,SMD,SD,AC,HC,*AC,*VD

17


×