Sau thời gian lam đồ án với nhiều cố gắng của bản thân cùng với sự hướng dẫn của thầy Vũ Vân Hà, quyển đồ án này đã hoàn thành đúng thời gian quy định theo yêu cầu đặt ra .
Để thực hiện được yêu cầu trên em đã nghiên cứu, tìm hiểu những vấn đề về bộ điều khiển PLC S7-200 và các vấn đề khác có liên quan đến đề tài.
Nội dung chính của đề tài này bao gồm những phần chính sau:
ã Phần kiến thức.
- Tìm hiểu về bộ điều khiển PLC S7-200.
- Cấu hình phần cứng
- Phần mềm lập trình của S7_200
ã Phần ứng dụng trong điều khiển cẩu giàn
76 trang |
Chia sẻ: huong.duong | Lượt xem: 1976 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệ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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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à Ú (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
Ngoài những lệnh làm việc trực tiếp với tiếp điểm, S7-200 còn có 5 lệnh đặc biệt biểu diễn các phép tính của đại số Boolean cho các bit trong ngăn xếp, được gọi là các stack logic. Đó là các lệnh ALD (And load), OLD (Or load), LPS (Logic push), LRD (Logic read) và LPP (Logic pop). Lệnh stack logic được dùng để tổ hợp, sao chụp hoặc xoá các mệnh đề logic. LAD không có bộ đếm dành cho stack logic. STL sử dụng các lệnh stack logic để thực hiện phương trình tổng thể có nhiều biểu thức con.
Bảng sau tóm tắt cú pháp gọi các lệnh stack logic trong STL :
Lệnh
Mô tả
Toán hạng
ALD
Lệnh tổ hợp giá trị của bit đầu tiên và thứ hai của ngăn xếp bằng phép tính logic Ù . Kết quả ghi lại vào bit đầu tiên của ngăn xếp. Giá trị còn lại của ngăn xếp được kéo lên một bit
Không có
OLD
Lệnh tổ hợp giá trị của bit đầu tiên và thứ hai của ngăn xếp bằng phép tính logic Ú . Kết quả ghi lại vào bit đầu tiên của ngăn xếp. Giá trị còn lại của ngăn xếp được kéo lên một bit
Không có
LPS
Lệnh Logic Push (LPS) sao chụp giá trị của bit đầu tiên vào bit thứ hai trong ngăn xếp. Giá trị còn lại bị đẩy xuống một bit . bit cuối cùng bị đẩy ra khỏi ngăn xếp.
Không có
LRD
Lệnh sao chép giá trị của bit thứ hai vào bit đầu tiên trong ngăn xếp . Các giá trị còn lại trong ngăn xếp giữ nguyên vị trí.
Không có
LPP
Lệnh kéo ngăn xếp lên một bit. Giá trị của bit sau được chuyển cho bit trước.
Không có
+ Lệnh AND (A), OR (O).
Lệnh A và O phối hợp giá trị logic của một tiếp điểm n với giá trị bit đầu tiên của ngăn xếp. Kết quả phép tính được đặt lại vào bit đầu tiên của ngăn xếp. Giá trị của các bit còn lại trong ngăn xếp không bị thay đổi.
Luật tính toán của các phép tính logic And và Or như sau :
x
y
x Ù y (And)
x Ú y (Or)
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
Trước
Sau
A
m=C0Ù n
Trước
Sau
O
m= C 0Ún
Tác động của các phép tính A (And) và O (Or) vào ngăn xếp
C0
C1
C2
C3
C4
C5
C6
C7
C8
m
C1
C2
C3
C4
C5
C6
C7
C8
C0
C1
C2
C3
C4
C5
C6
C7
C8
m
C1
C2
C3
C4
C5
C6
C7
C8
Lệnh ANDW , ANDD
ORW, ORD
XORW, XORD
Lệnh thực hiện thuật toán logic And , O
Của đại số Boolean trên 2 byte hoặc 4 byte (mảng nhiều bit hoặc tiếp điểm.)
Ngoài các lệnh logic làm việc với tiếp điểm, S7-200 cung cấp thêm những lệnh logic có khả năng thực hiện các thuật toán logic trên một mảng nhiều tiếp điểm (hay nhiều bit) như trên 2 byte hoặc 4 byte.
Cách biểu diễn các lệnh logic này trong STL được tóm tắt trong bảng sau. Chúng được sử dụng bit nhớ đặc biệt SM1.0 để thông báo về trạng thái kết quả phép tính được thực hiện.
STL
Mô tả
ANDW IN1 IN2
Lệnh thực hiện phép logic AND giữa các bit tương ứng của hai từ IN1 và IN2. Kết quả được ghi lại vào IN2.
ORW IN1 IN2
Lệnh thực hiện phép logic Or giữa các bit tương ứng của hai từ IN1 và IN2. Kết quả được ghi lại vào IN2.
XORW IN1 IN2
Lệnh thực hiện phép logic XOR giữa các bit tương ứng của hai từ IN1 và IN2. Kết quả được ghi lại vào IN2.
ANDD IN1 IN2
Lệnh thực hiện phép toán logic AND giữa các bit tương ứng của hai từ kép IN1 và IN2. Kết quả được ghi lại vào IN2
ORD IN1 IN2
Lệnh thực hiện phép toán logic Or giữa các bit tương ứng của hai từ kép IN1 và IN2. Kết quả được ghi lại vào IN2
XORD IN1 IN2
Lệnh thực hiện phép toán logic XOR giữa các bit tương ứng của hai từ kép IN1 và IN2. Kết quả được ghi lại vào IN2
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 lại trạng thái của dòng cung cấp (giá trị của đỉnh ngăn xếp). LAD sử dụng các tiếp điểm đặc biệt để tác động vào dòng cung cấ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 CPU212 chỉ có thể sử dụng nhiều nhất 128 lệnh và CPU214 là 256 lệnh.
Lệnh NOT (NOT), EDGE UP (EU) , EDGE DOWN ( ED ) thực hiện các thuật toán đặc biệt trên bit đầu tiên của ngăn xếp. Lệnh NOT đảo giá trị của bit đầu tiên trong ngăn xếp. Lệnh EU khi phát hiện thấy sườn lên từ 0 đến 1 trong bit đầu tiên thì đặt giá trị 1 vào bit đầu tiên của ngăn xếp trong khoảng thời gian bằng một vòng quét. Lệnh ED thì ngược lại khi phát hiện thấy sườn xuống từ 1 đến 0 trong bit đầu tiên của ngăn xếp sẽ đặt 1 vào bit đầu của ngăn xếp trong khoảng thời gian bằng một vòng quét.
Trước NOT Sau
Trước EU Sau
Trước ED Sau
Tác động của lệnh vào ngăn xếp như sau :
c0
c1
c2
c3
c4
c5
c6
c7
c8
1
c1
c2
c3
c4
c5
c6
c7
c8
~c0
c1
c2
c3
c4
c5
c6
c7
c8
1
c1
c2
c3
c4
c5
c6
c7
c8
0
c1
c2
C3
C4
C5
C6
C7
c8
1
c1
c2
c3
c4
c5
c6
c7
c8
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ể được 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 để so sánh các giá trị của byte, từ hoặc từ kép (giá trị thực hoặc nguyên). Những lệnh so sánh thường là : so sánh nhỏ hơn hoặc bằng (=).
Khi so sánh giá trị của byte thì không cần phải để ý dấu của toán hạng, ngược lại khi so sánh các từ hoặc từ kép với nhau thì phải để ý đến dấu của toán hạng là bit cao nhất trong từ hoặc từ kép. Ví dụ 7FFF > 8000 và 7FFFFFFF > 80000000.
Trong STL, những lệnh so sánh thực hiện phép so sánh byte, từ và từ kép. Căn cứ vào kiểu so sánh (> =, = ,<=), kết quả của phép so sánh
Biểu diễn các lệnh trong LAD :
LAD
Mô tả
Toán hạng
n2
n1
= = B
n2
n1
= = I
n2
n1
= = D
n2
n1
= = R
Tiếp điểm đóng khi n1=n2.
B=byte
I=Interger
D =Double Interger
R=Real
n1,n2: VB,IB,QB,MB,
(byte) SMB,AC, Const,
VD,*AC
n2
n1
> = B
n2
n1
> = I
n2
n1
> = D
n2
n1
> = R
Tiếp điểm đóng khi n1 n2
B=Byte
I=Interger
D =Double Interger
R=Real
n1,n2: VW,T,C,IW,QW,
(word) MW,SMW,AC,
AIW,hằng số ,
*VD,*AC
n2
n1
< = B
n2
n1
< = I
n2
n1
< = D
n2
n1
< = R
Tiếp điểm đóng khi n1n2
B=Byte
I=Interger
D =Double Interger
R=Real
n1,n2: VD,ID,QD,MD,
(từ kép ) SMD,AC,HC,
Hằng số ,*VD,*AC
Trong STL, những lệnh so sánh thực hiện phép so sánh Byte, từ, từ kép. Căn cứ vào kiểu so sánh (=). Kết quả của phép so sánh có giá trị bằng 0 (nếu phép so sánh đúng hoặc bằng 1(nếu sai) nên có thể sử dụng kết hợp cùng với các lệnh logic LD, A, O. Để tạo ra được các phép so sánh mà S7-200 không có lệnh so sánh tương ứng như: như so sánh không bằng nhau(),so sánh nhỏ hơn (), có thể tạo ra được nhờ dùng kết hợp lệnh NOT với các lệnh đã có (= , >= và ) giữa nội dung của từ VW100 và hằng số 50 bằng cách sử dụng kết hợp phép so sánh bằng nhau LDW= và lệnh đảo NOT.
LDW = VW100 k 50
NOT
LDB =, LDW=
LDD =, LDR=
Lệnh kiểm tra tính bằng nhau của nội dung hai byte, từ, từ kép hoặc số thực.Trong trường hợp phép so sánh cho kết quả đúng, bit đầu tiên trong ngăn xếp có giá trị logic bằng 1.
LDB <=,
LDW <=
LDD <= , LDR <=
Lệnh so sánh nội dung của byte, từ, từ kép hoặc số thực thứ nhất có nhỏ hơn hoặc bằng nội dung của byte, từ, từ kép hoặc số thực thứ hai hay không.Trong trường hợp phép so sánh cho kết quả đúng, bit đầu tiên trong ngăn xếp có giá trị logic bằng 1.
AB=, AW=
AD= , AR=
LDB>=, LDW >=
LDD>= , LDR=
Lệnh so sánh nội dung của byte, từ, từ kép lệnh so sánh nội dung của byte, từ, từ kép hoặc số thực thứ nhất lớn hơn hoặc bằng nội dung của byte , từ,từ kép hoặc số thực thứ hai hay không.Trong trường hợp phép so sánh cho kết quả đúng, bit đầu tiên trong ngăn xếp có giá trị logic bằng 1.
Lệnh kiểm tra tính bằng nhau của nội dung hai byte, từ, từ kép hoặc số thực. Trong trường hợp phép so sánh cho kết quả đúng, sẽ thực hiện phép logic And giữa bit đầu tiên trong ngăn xếp với giá tri logic 1
AB <=, AW<=
AD <= , AR<=
Lệnh so sánh nội dung của byte, từ, từ kép, hoặc của số thực thứ nhất có nhỏ hơn hoặc bằng nội dung của byte, từ, từ kép, hoặc của số thực thứ hai hay không. Trong trường hơp phép so sánh cho kết quả đúng sẽ thực hiện phép tính logic And giữa bit đầu tiên trong ngăn xếp với giá tri logic 1.
OB=,OW=
OD= , OR=
Lệnh kiểm tra tính bằng nhau của nội dung hai byte, từ, từ kép hoặc số thực.Trong trường hợp phép so sánh cho kết quả đúng, sẽ thực hiện phép logic OR giữa bit đầu tiên trong ngăn xếp với giá tri logic 1
OB <=, OW<=
OD <= , OR<=
Lệnh so sánh nội dung của byte, từ, từ kép, hoặc của số thực thứ nhất có nhỏ hơn hoặc bằng nội dung của byte, từ, từ kép, hoặc của số thực thứ hai hay không.Trong trường hơp phép so sánh cho kết quả đúng sẽ thực hiện phép tính logic OR giữa bit đầu tiên trong ngăn xếp với giá tri logíc 1.
OB >= ,OW>=
OD >= , OR>=
Lệnh so sánh nội dung của byte, từ, từ kép, hoặc của số thực thứ nhất có lớn hơn hoặc bằng nội dung của byte, từ, từ kép, hoặc của số thực thứ hai hay không.Trong trường hơp phép so sánh cho kết quả đúng sẽ thực hiện phép tính logic OR giữa bit đầu tiên trong ngăn xếp với giá tri logic 1.
Biểu diễn lệnh so sánh trong STL:
STL
Mô tả
Toán hạng
LDB = n1 n2
AB = n1 n2
OB = n1 n2
Lệnh thực hiện phép tính logic Load, And hoặc Or giữa giá trị logic 1 với nội dung của đỉnh ngăn xếp khi nội dung byte n1, n2 thoả mãn n1 = n2.
n1n2:VB,IB,QB,M B,SQB,
(byte) AC, hằngsố,*VD,
*AC *AC
LDB >= n1 n2
AB >= n1 n2
OB >= n1 n2
Lệnh thực hiện phép tính logic Load, And hoặc Or giữa giá trị logic 1 với nội dung của đỉnh ngăn xếp khi nội dung của hai byte n1, n2 thoả mãn n1 n2.
LDB <= n1 n2
AB <= n1 n2
OB <= n1 n2
Lệnh thực hiện phép tính logic Load, And hoặc Or giữa giá trị logic 1 với nội dung của đỉnh ngăn xếp khi nội dung của hai byte n1, n2 thoả mãn n1 n2.
LDW = n1 n2
AW = n1 n2
OW = n1 n2
Lệnh thực hiện phép tính logic Load, And hoặc Or giữa giá trị logic 1 với nội dung của đỉnh ngăn xếp khi nội dung 2 từ n1, n2 thoả mãn n1 = n2.
n1n2:VB,IB,QB,MB,SQB,
(byte) AC, hằngsố,*VD,
*AC *AC
LDW> = n1 n2
AW> = n1 n2
OW> = n1 n2
Lệnh thực hiện phép tính logic Load, And hoặc Or giữa giá trị logic 1 với nội dung của đỉnh ngăn xếp khi nội dung 2 từ n1, n2 thoả mãn n1 n2.
LDW <= n1 n2
AW <= n1 n2
OW <= n1 n2
Lệnh thực hiện phép tính logic Load, And hoặc Or giữa giá trị logic 1 với nội dung của đỉnh ngăn xếp khi nội dung 2 từ n1, n2 thoả mãn n1 n2.
LDD = n1 n2
AD = n1 n2
OD = n1 n2
Lệnh thực hiện phép tính logic Load, And hoặc Or giữa giá trị logic 1 với nội dung của đỉnh ngăn xếp khi nội dung 2 từ kép n1, n2 thoả mãn n1 = n2.
n1n2:VB,IB,QB,MB,SQB,
(byte) AC, hằngsố,*VD,
*AC *AC
LDD >= n1 n2
AD >= n1 n2
OD >= n1 n2
Lệnh thực hiện phép tính logic Load, And hoặc Or giữa giá trị logic 1 với nội dung của đỉnh ngăn xếp khi nội dung 2 từ kép n1, n2 thoả mãn n1 n2.
LDD <= n1 n2
AD <= n1 n2
OD <= n1 n2
Lệnh thực hiện phép tính logic Load, And hoặc Or giữa giá trị logic 1 với nội dung của đỉnh stack khi n1=n2, trong đó n1và n2 là 2 số nguyên có độ dài là 4 byte.
LDR = n1 n2
AR = n1 n2
OR = n1 n2
Lệnh thực hiện phép tính logic Load, And hoặc Or giữa giá trị logic 1 với nội dung của đỉnh ngăn xếp nếu hai số thực n1, n2(4 byte) thoả mãn n1 = n2.
n1n2:VB,IB,QB,MB,SQB,
(byte) AC, hằngsố,*VD,
*AC *AC
LDR >= n1 n2
AR >= n1 n2
OR >= n1 n2
Lệnh thực hiện phép tính logic Load, And hoặc Or giữa giá trị logic 1 với nội dung của đỉnh ngăn xếp nếu hai số thực n1, n2(4 byte) thoả mãn n1 n2.
LDR <= n1 n2
AR <= n1 n2
OD <= n1 n2
Lệnh thực hiện phép tính logic Load, And hoặc Or giữa giá trị logic 1 với nội dung của đỉnh ngăn xếp nếu hai số thực n1, n2(4 byte) thoả mãn n1 n2.
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à lệnh 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 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 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 trong 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 hoặc trong chương trình xử lý ngắt nhảy vào bất cứ một nhãn nào nằm ngoài của chương trình đó.
Lệnh gọi chương trình côn 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 trở 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 một chương trình con khác trong nó, có thể gọi như vậy nhiều nhất là 8 lần trong S7-200. Đệ qui (trong một chương trình con có lệnh gọi đến chính nó) về nguyên tắc không bị cấm song phải để ý đến giới hạn trên.
Nếu lệnh nhảy hay lệnh gọi chương trình con được thực hiện thì đỉnh ngăn xếp luôn có giá trị logic 1. Bởi vậy trong chương trình con các lệnh có điều kiện được thực hiện như các lệnh không điều kiện. Sau các lệnh LBL (đặt nhãn) và SBR, lệnh LD trong STL sẽ bị vô hiệu hoá.
Khi một chương trình con được gọi toàn bộ nội dung của ngăn xếp sẽ được cất đi, đỉnh của ngăn xếp nhận giá trị logic mới là 1, các bit khác còn lại của ngăn xếp nhận giá trị logic 0 và điều khiển được chuyển đến chương trình con đã được gọi. Khi thực hiện xong chương trình con và trước khi điều khiển được chuyển trở lại chương trình chương trình đã gọi nó, nội dung ngăn xếp đã được cất giữ trước đó sẽ được chuyển trở lại ngăn xếp.
Nội dung của thanh ghi AC không được cất giữ khi gọi chương trình con, nhưng khi một chương trình xử lý ngắt được gọi, nội dung của thanh ghi AC sẽ được cất giữ trước khi thực hiện chương trình sử lý ngắt và nạp lại khi chương trình xử lý ngắt đã được thực hiện xong. Bởi vậy chương trình xử lý ngắt có thể tự do sử dụng bốn thanh ghi AC của S7-200.
JMP, CALL
LBL, SBR.
Lệnh nhảy JMP và lệnh gọi chương trình con SBR cho phép chuyển điều khiển từ vị trí này đến một vị trí khác trong chương trình. Cú pháp của lệnh nhảy và lệnh gọi chương trình con trong LAD và STL đều có toán hạng là nhãn chỉ đích (nơi nhảy đến, nơi chứa chương trình con).
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 của một vòng quét.
Trong LAD và STL chương trình chí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, hoặc trong chương trình con thì chương trình đang thực hiện sẽ được kết thúc ngay lập tức và tất cả các tín hiệu ngắt đang chờ xử lý sau đó đều bị bỏ qua và không được thực hiện. Phần còn lại của chương trình cũng sẽ không thực hiện. Việc thực sự chuyển sang chế độ STOP được thực hiện ở cuối chu kỳ quét hiện thời, sau giai đoạn giao tiếp với ngoại vi của vòng quét.
Lệnh rỗng NOP không có tác dụng gì trong việc thực hiện chương trình. Cần lưu ý lệnh NOP phải được đặt bên trong chương trình chính, chương trình con hoặc trong chương trình xử lý ngắt.
Lệnh WDR sẽ khởi động lại đồng hồ quan sát(watchdogtime), và chương trình tiếp tục được thực hiện trong vòng quét ở chế độ được quan sát. Nên cẩn thận khi sử dụng lệnh WDR. Khi trong chương trình có những lệnh lặp, hoặc thời gian trễ quá lớn thì những quá trongình sau đây sẽ bị hạn chế:
- Truyền thông(loại trừ kiểu Freeport)
Cập nhật vào ra (trừ trường hợp vào ra tức thì).
Cập nhật cưỡng bức.
Cập nhật các bit kiểu SM (SM0 và SM5 đến SM29 không cập nhật được).
Chẩn đoán thời gian chạy.
Với các vòng quét lớn hơn 25 giây thì các bộ timer có độ phân giả10ms và 100ms sẽ làm việc không chính xác.
Nếu thời gian của vòng quét lớn hơn 300ms, hoặc khi gặp một ngắt có chương trình xử lý ngắt với thời gian chạy chương trình lâu hơn 300ms thì cần phải dùng lệnh WDR để khởi động lại đồng hồ quan sát.
Việc chuyển công tắc cứng của S7-200 vào vị trí STOP hoặc thực hiện lệnh STOP trong chương trình sẽ là nguyên nhân đặt điều khiển vào chế độ dừng trong khoảng thời gian 1,4s.
Sử dụng lệnh MEND,STOP và WDR trong LAD như sau:
LAD
Mô tả
Toán hạng
(END)
Lệnh kết thúc chương trình chính hiện hành có điều kiện.
( MEND)
Lệnh kết thúc không điều kiện dùng để kết thúc một chương trình hiện hành.
Không có
( STOP )
Lệnh STOP kết thúc chương trình chính hiện hành và chuyển sang chế độ STOP.
( WDR )
Lệnh WRD khởi tạo lại đồng hồ quan sát.
N
( NOP )
Lệnh NOP không có hiệu lực trong chương trình hiện hành. Toán hạng n là một số nằm trong khoảng 0 25
n: 0 đến 255
Sử dụng lệnh END, STOP và WDR trong STL như sau:
STL
Mô tả
Toán hạng
END
Lệnh kết thúc chương trình chính hiện hành nếu bit đầu trong ngăn xếp có giá trị logic 1.
Không có
MEND
Lệnh kết thúc vô điều kiện chương trình chính hiện hành.
STOP
Lệnh STOP kết thúc chương trình chính hiện hành và chuyển sang chế độ STOP.
WDR
Lệnh WRD khởi tạo lại đồng hồ quan sát.
NOP n
Lệnh rỗng NOP không có hiệu lực trong chương trình chính hiện hành. Toán hạng n là một số nằm trong khoảng 0 255
n: 0 đến 255
2.9. Các lệnh điều khiển Timer.
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 được gọi là khâu trễ. Nếu ký hiệu tín hiệu (logic) 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 đó sẽ là x(t-t).
S7-200 có 64 Timer (với CPU 212) hoặc 128 Timer (với CPU 214) được chia làm hai loại khác nhau, đó là:
Timer tạo thời gian trễ không có nhớ (On-Delay Timer), ký hiệu là TON.
Timer tạo thời gian trễ có nhớ (Retentive On-Delay Timer), ký hiệu là TONR.
Hai kiểu Timer của S7-200 (TONvà TONR) phân biệt với nhau ở phản ứng của nó đối với trạng thái tín hiệu đầu vào.
Cả hai Timer kiểu TON và TONR cùng bắt đầu tạo thời
Các file đính kèm theo tài liệu này:
- DA0458.DOC