Thiết bị lập trình
8
Sử dụng con trỏ với thanh ghi con trỏ:
Với thanh ghi AR1 v AR2, việc sử dụng con trỏ
còn kết hợp thêm với một độ lệch (offset)
Cấu trúc truy nhập tổng quát:
[Vùng nhớ][ARx, P# [Địa chỉ byte].[Địa chỉ bit]
Vị trí con
trỏ AR
Vị trí đợc
truy nhập
Độ lệch
(offset)
Ví dụ 1, truy nhập gián tiếp ô nhớ 1 bít dùng vùng
nhớ M làm con trỏ:
Khởi tạo con trỏ:
L P#8.7
T MD2 (nội dung MD2 có dạng
10000111)
Sử dụng con trỏ:
A I[MD2] (Đọc nội dung I8.7)
= Q[MD2] (Ghi ra địa chỉ Q8.7)
Thiết bị lập trình
9
Ví dụ 2, truy nhập gián tiếp ô nhớ 1 bít dùng thanh
ghi con trỏ nội vùng AR1 và AR2:
Khởi tạo con trỏ (cách 1):
L P#8.7
LAR1 (nội dung AR1 có dạng
10000111)
Khởi tạo con trỏ (cách 2):
LAR1 P#8.7 (nội dung AR1 có dạng
10000111)
A I[AR1,P#0.0] (đọc đầu vo I8.7)
= Q[AR1,P#1.1] (ghi đầu ra Q10.0)
Chú ý: Q10.0 = Q8.7 + offset(1.1)
Ví dụ 3, truy nhập gián tiếp ô nhớ 1 bít dùng thanh
ghi con trỏ AR1 và AR2 ngoại vùng:
Khởi tạo con trỏ (cách 1):
L P#I8.7
LAR1 (nội dung AR1 có dạng
1000 0001 1000 0111)
Khởi tạo con trỏ (cách 2):
LAR1 P#I8.7 (nội dung AR1 có dạng
1000 0001 1000 0111)
Thiết bị lập trình
10
Khởi tạo con trỏ (cách 1):
L P#Q8.7
LAR2 (nội dung AR2 có dạng
1000 0010 1000 0111)
Khởi tạo con trỏ (cách 2):
LAR2 P#Q8.7 (nội dung AR2 có dạng
1000 0010 1000 0111)
Sử dụng con trỏ:
A [AR1, P#0.0] (đọc đầu vo I8.7)
= [AR2, P#1.1] (ghi đầu ra Q10.0)
Ví dụ 4, truy nhập gián tiếp vùng nhớ dùng thanh
ghi con trỏ AR1 và AR2 nội vùng:
Khởi tạo con trỏ (cách 1):
L P#8.0
LAR1 (nội dung AR1 có dạng
1000 0000)
Khởi tạo con trỏ (cách 2):
LAR1 P#8.0 (nội dung AR1 có dạng
1000 0000)
Sử dụng con trỏ
L MB[AR1,P#0.0] (nội dung của MB8
đợc đọc vo ACCU1)
Thiết bị lập trình
11
Ví dụ 5, truy nhập gián tiếp vùng nhớ dùng thanh
ghi con trỏ AR1 và AR2 ngoại vùng:
Khởi tạo con trỏ (cách 1):
L P#M8.0
LAR1 (nội dung AR1 có dạng
1000 0011 1000 0000)
Khởi tạo con trỏ (cách 2):
LAR1 P#M8.0 (nội dung AR1 có dạng
1000 0011 1000 0000)
Sử dụng con trỏ
L B[AR1,P#0.0] (nội dung của MB8
đợc đọc vo ACCU1)
Chú ý: Khi dùng con trỏ ARx truy nhập gián tiếp
vùng nhớ Byte, Word, Double word thì
Khai báo cấu trúc con trỏ nh sau:
p# [Vùng nhớ] [Địa chỉ byte].0
Cấu trúc truy nhập tổng quát nh sau:
[Vùng nhớ][ARx, P# [Địa chỉ byte].0]
Có nghĩa l địa chỉ bit luôn bằng 0
ThiÕt bÞ lËp tr×nh
12
Lùa chän ng«n ng÷ lËp tr×nh
Ng«n ng÷ STL
Ng«n ng÷ LAD
Ng«n ng÷ FBD
Ng«n ng÷ Graph (SFC)
Ng«n ng÷ Hi-Graph
Ng«n ng÷ SCL
Thiết bị lập trình
1
Các lệnh đơn bit
Thanh ghi trạng thái
Các lệnh lôgíc
Chuyển đổi một số sơ đồ mạch điện có tiếp điểm
Thanh ghi trạng thái
Là một thanh ghi đặc biệt có chín ô nhớ 1 bít, các
ô nhớ này thể hiện trạng thái thực hiện lệnh của
PLC S7-300.
Cấu trúc thanh ghi:
Thiết bị lập trình
2
Lệnh A (AND bit)
Cú pháp:
Lệnh thực hiện phép AND giữa giá trị lôgic của
<bit> (thể hiện qua bit STA) với bit RLO
Nếu bit /FC = 0 thì lệnh nạp giá trị lôgíc của <bit>
vào vị trí bit RLO
Nội dung của thanh ghi trạng thái
Lệnh AN (AND /bit)
Cú pháp:
AN <bit>
Lệnh thực hiện phép AND giữa giá trị lôgic nghịch
đảo của <bit> (thể hiện qua bit STA) với bit RLO
Nếu bit /FC = 0 thì lệnh nạp giá trị lôgíc nghịch
đảo của <bit> vào vị trí bit RLO
Nội dung của thanh ghi trạng thái
Thiết bị lập trình
3
Lệnh O (OR bit)
Cú pháp:
Lệnh thực hiện phép OR giữa giá trị lôgic của
<bit> (thể hiện qua bit STA) với bit RLO.
Nếu bit /FC = 0 thì lệnh nạp giá trị lôgíc của <bit>
vào vị trí bit RLO.
Nội dung của thanh ghi trạng thái
Lệnh ON (OR /bit)
Cú pháp:
Lệnh thực hiện phép OR giữa giá trị lôgic nghịch
đảo của <bit> (thể hiện qua bit STA) với bit RLO.
Nếu bit /FC = 0 thì lệnh nạp giá trị lôgíc nghịch
đảo của <bit> vào vị trí bit RLO.
Nội dung của thanh ghi trạng thái