Giáo trình PLC S7-300: Lý thuyết và ứng dụng - Chương 2: Ngôn ngữ lập trình STL

? STA (Status bit) : Bit trạng thái này luôn có giá trị logic của tiếp điểm được

chỉ định trong lệnh. Ví dụ cả hai lệnh:

A I 0.3

AN I0.3

đều gán cho bit STA cùng một giá trị là nội dung của cổng vào số I 0.3.

? OR: Ghi lại giá trị của phép tính logic ? cuối cùng được thực hiện để phụ

giúp cho việc thực hiện phép toán ? sau đó. Điều này là cần thiết vì trong

một biểu thức hàm hai trị, phép tính ? bao giờ cũng phải được thực hiện

trước các phép tính ? .

? OS (Store overflow bit): Ghi lại giá trị bit bị tràn ra ngoài mảng ô nhớ.

? OV (Overflow bit): Bit báo kết quả phép tính bị tràn ra ngoái mảng ô nhớ.

? CC0 và CC1(Condition code): Hai bit báo trạng thái của kết quả phép tính vơi

số nguyên, số thực, phép dịch chuyển hoặc phép tính logic trong ACCU

 

pdf16 trang | Chuyên mục: PLC | Chia sẻ: tuando | Lượt xem: 458 | Lượt tải: 0download
Tóm tắt nội dung Giáo trình PLC S7-300: Lý thuyết và ứng dụng - Chương 2: Ngôn ngữ lập trình STL, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
p tính OR giữa RLO với toán hạng và ghi lại kết quả 
vào RLO. 
Lệnh tác động vào thanh ghi trạng thái ( Status word) như sau (kí hiệu – chỉ nội 
dung bit không bị thay đổi, x là bị thay đổi theo lệnh): 
BR CC1 CC0 OV OS OR STA RLO FC 
 - - - - - x x x 1 
Ví dụ 
Truong DH SPKT TP. HCM 
Thu vien DH SPKT TP. HCM - 
Ban qu
yen © T
ruong D
H Su ph
am Ky
 thuat 
TP. HC
M
 Trang 25 
e. Lệnh OR NOT 
Cú pháp ON 
Toán hạng là dữ liệu kiểu BOOL hoặc địa chỉ I, Q, M, L, D, T, C. 
Nếu FC = 0 lệnh sẽ gán giá trị logic của toán hạng vào RLO. Ngược lại khi FC 
= 1 nó sẽ thực hiện phép tính OR giữa RLO với NOT toán hạng và ghi lại kết 
quả vào RLO. 
Lệnh tác động vào thanh ghi trạng thái ( Status word) như sau (kí hiệu – chỉ nội 
dung bit không bị thay đổi, x là bị thay đổi theo lệnh): 
Ví dụ 
f. Lệnh thực hiện phép tính AND với một biểu thức 
Cú pháp A( 
Nếu FC = 0 lệnh sẽ gán giá trị logic của biểu thức trong dấu ngoặc sau nó vào 
RLO. Ngược lại khi FC = 1 nó sẽ thực hiện phép tính AND giữa RLO với giá trị 
logic của biểu trong dấu ngoặc sau nó và ghi lại kết quả vào RLO. 
Lệnh tác động vào thanh ghi trạng thái ( Status word) như sau (kí hiệu – chỉ nội 
dung bit không bị thay đổi, x là bị thay đổi theo lệnh): 
Ví du Q0.4 = (( I0.0 OR M10.0) AND (I0.2 OR M10.3)) AND (M10.1) 
Truong DH SPKT TP. HCM 
Thu vien DH SPKT TP. HCM - 
Ban qu
yen © T
ruong D
H Su ph
am Ky
 thuat 
TP. HC
M
 Trang 26 
g. Lệnh thực hiện phép tính AND với giá trị nghịch đảo của một biểu thức 
Cú pháp AN( 
Nếu FC = 0 lệnh sẽ gán giá trị logic của biểu thức trong dấu ngoặc sau nó vào 
RLO. Ngược lại khi FC = 1 nó sẽ thực hiện phép tính AND giữa RLO với giá trị 
nghịch đảo logic của biểu trong dấu ngoặc sau nó và ghi lại kết quả vào RLO. 
Lệnh tác động vào thanh ghi trạng thái ( Status word) như sau (kí hiệu – chỉ nội 
dung bit không bị thay đổi, x là bị thay đổi theo lệnh): 
h. Lệnh thực hiện phép tính OR với gia 1trị một biểu thức 
Cú pháp O( 
Nếu FC = 0 lệnh sẽ gán giá trị logic của biểu thức trong dấu ngoặc sau nó vào 
RLO. Ngược lại khi FC = 1 nó sẽ thực hiện phép tính OR giữa RLO với giá trị 
logic của biểu trong dấu ngoặc sau nó và ghi lại kết quả vào RLO. 
Lệnh tác động vào thanh ghi trạng thái ( Status word) như sau (kí hiệu – chỉ nội 
dung bit không bị thay đổi, x là bị thay đổi theo lệnh): 
i. Lệnh thực hiện phép tính OR với nghịch đảo giá trị một biểu thức 
Cú pháp ON( 
Nếu FC = 0 lệnh sẽ gán giá trị logic của biểu thức trong dấu ngoặc sau nó vào 
RLO. Ngược lại khi FC = 1 nó sẽ thực hiện phép tính OR giữa RLO với giá trị 
nghịch đảo logic của biểu trong dấu ngoặc sau nó và ghi lại kết quả vào RLO. 
Lệnh tác động vào thanh ghi trạng thái ( Status word) như sau (kí hiệu – chỉ nội 
dung bit không bị thay đổi, x là bị thay đổi theo lệnh): 
Truong DH SPKT TP. HCM 
Thu vien DH SPKT TP. HCM - 
Ban qu
yen © T
ruong D
H Su ph
am Ky
 thuat 
TP. HC
M
 Trang 27 
j. Lệnh ghi giá trị logic 1 vào RLO 
Cú pháp SET 
Lệnh không có toán hạng và có tác dụng ghi 1 vào RLO 
Lêïnh tác động vào thanh ghi trạng thái (Status word) như sau: 
BR CC1 CC0 OV OS OR STA RLO FC 
 - - - - - - 1 1 0 
k. Lệnh gán có điều kiện giá trị logic 1 vào ô nhớ 
Cú pháp S 
Toán hạng là địa chỉ bit I, Q, M, L, D. 
Nếu RLO = 1, lệnh sẽ ghi giá trị 1 vào ô nhớ có địa chỉ cho trong toán hạng. 
Lệnh tác động vào thanh ghi trạng thái (Status word) như sau: 
BR CC1 CC0 OV OS OR STA RLO FC 
 - - - - - 0 x - 0 
l. Lệnh gán có điều kiện giá trị logic 0 vào ô nhớ 
Cú pháp R 
Toán hạng là địa chỉ bit I, Q, M, L, D. 
Nếu RLO = 1, lệnh sẽ ghi giá trị 0 vào ô nhớ có địa chỉ cho trong toán hạng. 
Lệnh tác động vào thanh ghi trạng thái (Status word) như sau: 
BR CC1 CC0 OV OS OR STA RLO FC 
 - - - - - 0 x - 0 
m. Lệnh phát hiện sườn lên 
Cú pháp FP 
Toán hạng là địa chỉ bit I, Q, M, L, D và được sử dụng như một biến cờ để ghi 
nhận lại giá trị của RLO tại vị trí này trong chương trình, nhưng của vòng quét 
trước. Tại mỗi vòng lệnh sẽ kiểm tra: nếu biến cờ (toán hạng) có giá trị 0 và 
Truong DH SPKT TP. HCM 
Thu vien DH SPKT TP. HCM - 
Ban qu
yen © T
ruong D
H Su ph
am Ky
 thuat 
TP. HC
M
 Trang 28 
RLO có giá trị 1 thì sẽ ghi 1 vào RLO, các trường hợp khác thì ghi 0, đồng thời 
chuyển nội dung của RLO vào lại biến cờ. Như vậy RLO sẽ có giá trị 1 trong 
một vòng quét khi có sườn lên trong RLO. Ví dụ: Lệnh phát hiện sườn lên. 
A I0.0 
FP M10.0 
= Q4.5 
Sẽ tương đương với 
đoạn chương trình sau 
 A I0.0 
 AN M10.0 
 = Q4.5 
 A I0.0 
 = M10.0 
 Lệnh tác động vào thanh ghi trạng thái (Status word) như sau: 
BR CC1 CC0 OV OS OR STA RLO FC 
 - - - - - 0 x x 1 
n. Lệnh phát hiện sườn xuống 
Cú pháp FN 
 Toán hạng là địa chỉ bit I, Q, M, L, D và được sử dụng như một biến cờ để 
ghi nhận lại giá trị của RLO tại vị trí này trong chương trình, nhưng của 
vòng quét trước. Tại mỗi vòng lệnh sẽ kiểm tra: nếu biến cờ (toán hạng) 
có giá trị 1 và RLO có giá trị 0 thì sẽ ghi 1 vào RLO, các trường hợp khác 
thì ghi 0, đồøng thời chuyển nội dung của RLO vào lại biến cờ. Như vậy 
RLO sẽ có giá trị 1 trong một vòng quét khi có sườn xuống trong 
RLO.Lệnh tác động vào thanh ghi trạng thái (Status word) như sau: 
BR CC1 CC0 OV OS OR STA RLO FC 
 - - - - - 0 x x 1 
2.2.2 Lệnh đọc, ghi trong ACCU 
Các CPU của S7_300 thường có hai thanh ghi Accunulator (ACCU) kí hiệu là 
ACCU1 và ACCU2. Hai thanh ghi ACCU có cùng kích thước 32 bits (1 từ 
kép). Mọi phép tính toán trên số thực, số nguyên, các phép tính logic với mảng 
Giá trị RLO tại
vòng quét hiện thời
Giá trị RLO tại vòng
quét trước được nhớ
vào M10.0
Hình 2.1. Hình mô tả lệnh FP 
Truong DH SPKT TP. HCM 
Thu vien DH SPKT TP. HCM - 
Ban qu
yen © T
ruong D
H Su ph
am Ky
 thuat 
TP. HC
M
 Trang 29 
nhiều bits đều được thực hiện trên hai thanh ghi này. Chúng có cấu trúc như 
sau: 
 31 24 23 16 15 8 7 0 
ACCU1 
ACCU2 
 Từ cao Từ thấp 
a. Lệnh đọc vào ACCU 
Cú pháp L 
Toán hạng là dữ liệu (số nguyên, thực, nhị phân) hoặc địa chỉ. Nếu là địa chỉ 
thì 
- Byte IB, QB, PIB, MB, LB, DBB, DIB trong khoảng 0 – 65535 
- TưØ IW, QW, PIW, MW, LW, DBW, DIW trong khoảng 0 – 65534 
- Từ kép ID, QD, PID, MD, LD, DBD, DID trong khoảng từ 0 – 65534 
Nếu là dữ liệu thì các dạng dữ liệu hợp lệ của toán hạng cho trong bảng sau 
Byte 
cao 
Byte 
thấp 
Byte 
cao 
Byte thấp 
Byte 
cao 
Byte 
thấp 
Byte 
cao 
Byte thấp 
Truong DH SPKT TP. HCM 
Thu vien DH SPKT TP. HCM - 
Ban qu
yen © T
ruong D
H Su ph
am Ky
 thuat 
TP. HC
M
 Trang 30 
Bảng 2.1: Các dạng dữ liệu hợp lệ của toán hạng 
Lệnh L có tác dụng chuyển dữ liệu hoặc nội dung của ô nhớ có địa chỉ là toán 
hạng vào thanh ghi ACCU1. Nội dung cũ của ACCU1 được chuyển vào 
ACCU2. Trong trường hợp giá trị chuyển vào có kích thước nhỏ hơn từ kép thì 
chúng sẽ được ghi vào theo thứ tự byte thấp của từ thấp, byte cao của từ thấp, 
byte thấp của từ cao, byte cao của từ cao. Những bit còn trống trong ACCU1 
được ghi 0. 
Ví dụ1 
L IB0 
sẽ chuyển nội dung của IB0 vào ACCU1 như sau 
 31 24 23 16 15 8 7 0 
ACCU1 
Ví dụ 2 
L MW20 //sẽ chuyển nội dung của MW20 gồm 2 bytes MB20, MB21 
vào ACCU1 theo thứ tự 
 31 24 23 16 15 8 7 0 
Dữ liệu Ví dụ Giải thích 
  L +5 Ghi 5 vào từ thấp của ACCU1 
B#(,) L B#(1,8) Ghi 1 vào byte cao của từ thấp và 8 vào 
byte thấp của từ thấp trong ACCU 
L#  L L#5 Ghi 5 vào ACCU1(số nguyê 32 bits) 
16#  L B#16#2E 
L W#A2EB 
L DW#2C1E_A2EB 
Dữ liệu dạng cơ số 16 
2#  L 2#11001101 Dữ liệu dạng cơ số 2 
‘’ L ‘AB’ 
L ‘ABCD’ 
Dữ liệu dạng kí tự 
C#  L C#1000 Dữ liệu là giá trị đặt trước cho bộ đếm 
S5TIME# 
L S5TIME#2S Dữ liệu là giá trị đặt trước cho Timer 
(PV) 
P#  L P#M10.2 Dữ liệu là địa chỉ ô nhớ(dùng cho con 
trỏ) 
D#  L D#2000-6-20 Dữ liệu là giá trị về 
ngày/tháng/năm(16bits) 
T#  L T#0H_1M_10S Dữ liệu về thời gian giờ/phút/giây(32bits) 
 0 0 0 IB 0 
Truong DH SPKT TP. HCM 
Thu vien DH SPKT TP. HCM - 
Ban qu
yen © T
ruong D
H Su ph
am Ky
 thuat 
TP. HC
M
 Trang 31 
ACCU1 
 Lệnh không sửa đổi thanh ghi trạng thái (Status word). 
Ví dụ 3 
 L 100 // ACCU1 =100 
 L 200 // ACCU1 =200, ACCU2=100 
b. Lệnh chuyển nội dung của ACCU1 tới ô nhớ. 
Cú pháp T 
Toán hạng là đại chỉ: 
- Byte IB, QB, PIB, MB, LB, DBB, DIB trong khoảng 0 – 65535 
- TưØ IW, QW, PIW, MW, LW, DBW, DIW trong khoảng 0 – 65534 
- Từ kép ID, QD, PID, MD, LD, DBD, DID trong khoảng từ 0 - 65534 
Lệnh chuyển nội dung của ACCU1 vào ô nhớ có địa chỉ là toán hạng. Lệnh 
không thay đổi nội dung của ACCU2.Trong trường hợp ô nhớ có kích thước nhỏ 
hơn từ kép thì nội dung của ACCU1 được chuyển ra theo thứ tự byte thấp của 
từ thấp, byte cao của từ thấp, byte thấp của từ cao, byte cao của từ cao. 
Ví dụ 
T QB0 
sẽ chỉ chuyển nội dung của byte thấp của từ thấp trong ACCU1 vào IB0 và 
lệnh 
T MW20 
sẽ chỉ chuyển byte cao của từ thấp vào MW20, byte thấp của từø thấp vào 
MW21. 
Lệnh không sửa đổi thanh ghi trạng thái (Status word). 
 0 0 MB20 MB21 
Truong DH SPKT TP. HCM 
Thu vien DH SPKT TP. HCM - 
Ban qu
yen © T
ruong D
H Su ph
am Ky
 thuat 
TP. HC
M

File đính kèm:

  • pdfgiao_trinh_plc_s7_300_ly_thuyet_va_ung_dung_chuong_2_ngon_ng.pdf