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

TÀI LIỆU PHẦN MỀM STEP 7

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 (303.71 KB, 41 trang )

Phần mềm STEP7


25
25
Phần mềm STEP7

2.1 Chức năng của phần mềm STEP 7
- Khai báo cấu hình cứng cho một trạm PLC thuộc họ Simatic S7 – 300/400
- Xây dựng cấu hình mạng gồm nhiều trạm PLC S7 – 300/400 cũng như thủ tục
truyền thống giữa chúng .
- Soạn thảo và cài đặt chưong trình điều khiển cho một hoặc nhiều trạm.
- Quan sát việc thực hiện trưong trình điều khiển trong một trạm PLC và gỡ rối
chưong trình .
Ngoài ra Step 7 còn có cả một thư viện đầy
đủ với các hàm chuẩn hưu ích , phần
trợ giúp online rất mạnh có khả năng trả lời mọi câu hỏi của người sử dụng về cách
sử dụng Step 7 , về cú pháp lệnh trong lập trình về xây dựng cấu hình cứng của một
trạm , của một mạng gồm nhiều trạm PLC …
2.2 Các bước thực hiện để viết một chương trình điều khiển.
Khai báo phần cứng .
Bước 1 : vào Simatic manager / file / new (và một Project mới )
hoặc vào file / open (Với trường hợp một Project có sẵn ).
Bước 2 : Vào Insert / Station / Simatic 300 – Hardware.
Bước 3 : Kích đúp vào Hardware – Simatic 300 (1 ).
+Rack – Rail
+Chọn nguồn – PS thích hợp
+Chọn CPU
+Chọn SM : DI ; DO ; DI/DO ; AI ; AO ; AI/ AO .
Trường hợp không muốn khai báo cấu hình cứng mà đi ngay vào chương trình
ứng dụng , ta chọn : Insert / Program / S7 Program.


2.3 Hệ lệnh của phần mềm step7
Ngôn ngữ “liệt kê lệnh” , ký hiệu là STL ( Statement list ) . Đây là dạng ngôn ngữ
lập trình thông thường của máy tính . Một chương trình được ghép bởi nhiều câu lệnh
theo một thuật toán nhất định , mỗt lệnh chiếm một hàng và đều có cấu trúc chung
“PLC S7-300 có ngôn ngữ lập trình cơ bản sau:
- tên lệnh” + “toán hạng”.
Phần mềm STEP7


26
26
- Ngôn ngữ “hình thang” , ký hiệu là LAD (Ladder logic) . đây là dạng ngôn
ngữ đồ hoạ thích hợp với những người quen thiết kế mạch điều khiển logic.
- Ngôn ngữ “hình khối” , ký hiệu là FBD ( Funtion Block Diagram) . Đây cũng
là kiểu ngôn ngữ đồ hoạ dành cho người có thói quen thiết kế mạch điều khiển
số .
+ Ladder Diagram LAD






+ Statement List STL
A I 0.0
A I 0.1
O
A I 0.2
A I 0.3
= Q 4.1

+ Function Block Diagram

I0.0


I0.1

I0.2
I0.3







>=1

&

&
= Q4.1
Phần mềm STEP7


27
27
Hình 8 : Các kiểu ngôn ngữ lập trình trong STEP7
Một chương trình viết trên LAD hoặc FBD có thể chuyển sang sạng STL nhưng
ngược lại thì không . Trong STL có nhiều lệnh không có trong LAD hay FBD . Phần

sau sẽ giới thiệu các lệnh cơ bản của ngôn ngữ STL.
2.3.1 Nhóm lệnh Lôgic tiếp điểm
Toán hạng kiểu BOOL độ dài là một bit và có hai trạng thái là 0 và 1 .
Khi thực hiện lệnh , CPU sẽ ghi nhận lại trạng thái của phép tính trung gian cũng
như kết quả của một thanh ghi đặc biệt 16 bits , được gọi là thanh ghi trạng thái (
status word) . Mặc dù thanh ghi trạng thái này có độ dài 16 bits nhưng chỉ sử dụng 9
bits với cấu trúc như sau :
BR CC1 CC0 OV OS OR STA RLO FC

FC (fist check) : FC=0 khi dãy lệnh logic tiếp điểm vừa được kết thúc
RLO ( refult of logic operation) : kết quả tức thời của phép tính logic vừa được
thực hiện
STA ( status bit) : bít trạng thái này luôn có giá trị logic của tiếp điểm được chỉ
định trong lệnh.
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 sử dụng phép tính ^ sau đó .
OS : (Stored overfow bit) : ghi lại giá trị bits 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 bits 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 .
BR ( Binary result bit) : Bit trạng thái

TT

Lệnh thực hiện


Cú Pháp


Toàn hạng (TH)
1

Lệnh bán giá trị logic của RLO
tới ô nhớ có địa chỉ được chỉ thị
trong toán hạng .
= <TH> Là địa chỉ bit I, Q , M , L
, D

Phần mềm STEP7


28
28

2

Nếu FC =0 : Gán giá trị logic
của toán hạng vào RLO , sau đó
dựng FC=1 : RLO = <RLO> ^
<TH>

A <TH> Là dữ liệu kiểu blood
hoặc địa chỉ bit I,Q,M,L
, D, T, C

3
Nếu FC =0 : lệnh sẽ gán giá trị
logic nghịch đảo toán hạng vào
RLO .


Nếu FC = 1 : Lệnh sẽ thực hiện
phép tính ^ giữa RLO với giá
trị nghịch đảo của toán hạng và
ghi lại kết quả vào RLO.

AN
<TH>
Là dữ liệu kiểu blood
hoặc địa chỉ bit I,Q,M,L
, D, T, C

4
Nếu FC= 0 : lệnh sẽ gán giá
logic của toán hạng vào RLO.
Nếu FC =1 : lệnh sẽ thực hiện
phép tính v giữa RLO với toán
hạng và ghi lại kết quả vào
RLO.

N <TH>

Là dữ liệu kiểu blood
hoặc địa chỉ bit I,Q,M,L
, D, T, C

5
Nếu FC =0 : lệnh sẽ gán giá trị
logic nghịch đảo toán hạng vào
RLO .

Nếu FC =1 : lệnh sẽ thực hiện
phép tính v giữa RLO với toán
hạng và ghi lại kết quả vào
RLO.

ON
<TH>
Là dữ liệu kiểu blood
hoặc địa chỉ bit I,Q,M,L
, D, T, C

Phần mềm STEP7


29
29
6
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.
Nếu FC = 1 : Lệnh sẽ thực hiện
phép tính ^ giữa RLO với giá trị
logic của biểu thức trong dấu
ngoặc sau nó và ghi lại kết quả
vào RLO

A( Không có hạng toán
7
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.
Nếu FC=1 : Lệnh sẽ thực hiện
phép tính ^ giữa RLO với giá trị
nghịch đảo logic của biểu thức
sau dấu ngoặc và ghi lại kết quả
vào RLO.
AN( Không có toán hạng

8
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.
Nếu FC = 1 : Lệnh sẽ thực hiện
phép tính v giữa RLO với giá trị
logic của biểu thức trong dấu
ngoặc sau nó và ghi lại kết quả
vào RLO

O( Không có toán hạng

9
Nếu FC= 0 : lệnh sẽ gán giá trị
logic nghịch đảo của biểu thức
sau nó vào RLO
Nếu FC = 1 : Lệnh sẽ thực hiện
phép tính v giữa RLO với giá trị
nghịch đảo của biểu thức trong
ON( Không có toán hạng

Phần mềm STEP7



30
30
dấu ngoặc sau nó và ghi lại kết
quả vào RLO

10
Nếu FC= 0 : lệnh sẽ gán giá
logic của toán hạng vào RLO.
Nếu FC=1 : Lệnh sẽ kiểm tra
xem nội dung của RLO và giá
trị logic của toán hạng có khác
nhau không . Trong trường hợp
khác nhau thì ghi 1 vào RLO ,
ngược lại thì ghi 0 .
X <TH> Là dữ liệu kiểu blood
hoặc địa chỉ bit I,Q,M,L
, D, T, C

11
Nếu FC =0 : : lệnh sẽ gán giá trị
nghịch đảo toán hạng vào RLO
.
Nếu FC=1 : Lệnh sẽ kiểm tra
xem nội dung của RLO và giá
trị logic của toán hạng có giống
nhau không . Trong trường hợp
giống nhau thì ghi 1 vào RLO ,
ngược lại thì ghi 0 .

XN <
TH>
Là dữ liệu kiểu blood
hoặc địa chỉ bit I,Q,M,L
, D, T, C

12
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.
Nếu FC =1 : lệnh sẽ đảo nội
dung của RLO khi biểu thức
dấu ngoặc sau nó có giá trị 1 .
X( Không có toán hạng

13
Nếu FC= 0 : lệnh sẽ gán giá trị
logic nghịch đảo của biểu thức
trong dấu ngoặc sau nó vào
RLO
Nếu FC =1 : lệnh sẽ đảo nội
dung của RLO khi biểu thức
XN( Không có toán hạng
Phần mềm STEP7


31
31
dấu ngoặc sau nó có giá trị 0 .
14

Lệnh có tác dụng ghi 1 vào
RLO
SET Không có toán hạng

15
Lệnh có tác dụng ghi 0 vào
RLO
CLR Không có toán hạng
16
Lệnh có tác dụng đảo nội dung
của RLO
NOT Không có toán hạng
17
Nếu RLO =1 : Lệnh sẽ ghi giá
trị 1 vào ô nhớ có địa chỉ cho
trong toán hạng.
S<TH> Là địa chỉ bit I, Q , M , L
, D
.
18
Nếu RLO =1 : Lệnh sẽ ghi giá
trị 0vào ô nhớ có địa chỉ cho
trong toán hạng.
R<TH> Là địa chỉ bit I, Q , M , L
, D
.
19
Nếu RLO chuyển trạng thái từ 0
đến 1 thì giá trị logic 1 được
duy trì trong toán hạng trong

thời gian một vòng quét . Sau
này thì FC=0.
FP<TH> Là địa chỉ bit I, Q , M , L
, D
.
20
Nếu RLO chuyển trạng thái từ 1
xuống 0 thì giá trị logic 1 được
duy trì trong toán hạng trong
thời gian là một vòng quét . Sau
lệnh này FC=0.
FN<TH> Là địa chỉ bit I, Q , M , L
, D
.
21
Lệnh chuyển nội dung của RLO
vào bit trạng thái BR
SAVE Không có toán hạng.
Phần mềm STEP7


32
32
2.3.2 Lệnh đọc , ghi và đảo vị trí bytes trong hai thanh ghi ACCU1 và
ACCU2.
TT Lệnh Cú Pháp Toán hạng (TH)
1
Lệnh 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 và chuyển nội dung cũ
của ACCU1 vào ACCU2
L <TH>
Là dữ liệu (số hoặc
nhị phân ) hoặc địa
chỉ.
2
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.
T <TH>
Phải luôn là biến .
3
Lệnh chuyển đổi nội dung của
thanh ghi trạng thái vào từ thấp
của ACCU1 . Lệnh không làm
thay đổi thanh ghi trạng thái .
L STW
STW
4
Lệnh chuyển 9 bitscuar từ thấp
của ACCU1 . Nội dung của
ACCU2 và thanh ghi trạng thái
không bị thay đổi.
T STW
STW
5
Chuyển nội dung của ACCU2
vào ACCU1 . Nội dung của

ACCU2 và thanh ghi trạng thái
không bị thay đổi .
POP
Không có toán
hạng.
6
Chuyển nội dung của ACCU1
vào ACCU2 . Nội dung của
ACCU1 và thanh ghi trạng thái
không bị thay đổi .
PUSH
Không có toán
hạng .
7
Nội dung của ACCU1 được ghi
vào ACCU2 và ngược lại nội
TAK
Không có toán
hạng.
Phần mềm STEP7


33
33
dung của ACCU2 được ghi vào
ACCU1 . Lệnh không làm nội
dung của thanh ghi trạng thái
thay đổi.
8
Lệnh có tác dụng làm thay đổi

hai byte của từ thấp trong thanh
ghi ACCU1 . Lệnh không làm
thay đổi thanh ghi trạng thái.
CAW
Không có toán
hạng.
9
Lệnh có tác dụng đảo nội dung
của tất cả 4 byte trong thanh
ghi ACCU1 , Lệnh không làm
thay đổi thanh ghi trạng thái .
CAD
Không có toán
hạng.
10
Lệnh có tác dụng đảo nội dung
tất cả các bits trong từ thấp của
thanh ghi ACCU1 . Nội dung
của từ cao trong thanh ghi
ACUU1 và của ACCU2 , thanh
ghi trạng thái không bị thay đổi
INVI
Không có toán
hạng.
11
Lệnh có tác dụng đổi nội dung
tất cả các bits trong ACCU1
.Nội dung của ACCU2 và của
thanh ghi trạng thái không bị
thay đổi .

INVD
Không có toán hạng
2.3.3 Các lệnh lôgic thực hiện trên thanh ghi ACCU
TT
Lệnh thực hiện phép tính

Cú pháp
Toán
hạng
(TH)
1
- Nếu không có toán hạng , lệnh thực hiện
phép tính ^ giữa các bits thuộc từ thấp của
hai thanh ghi ACCU1, ACCU2 . Kết quả
được ghi lại vào từ thấp của ACCU1 . Nội
AW
{<dữ
liệu
hằng>}
Có thể
có hoặc
không.
Phần mềm STEP7


34
34
dung của từ cao trong ACCU1 , ACCU2
không bị thay đổi .
- Nếu có toán hạng thì phải là một dữ liệu

hằng có kích thước 16 bits . Khi có lệnh
thực hiện phép tính ^ giữa dữ liệu với từ
thấp của ACCU1 . Nội dung của từ cao
trong ACCU1 và ACCU2 không bị thay
đổi .

2
- Nếu không có toán hạng , lệnh thực hiện
phép tính ^ giữa các bits của hai thanh ghi
ACCU1 và ACCU2 . kết quả được ghi lại
vào ACCU1. Nội dung của ACCU2 không
bị thay đổi.
- Nếu có toán hạng thì toán hạng phải là một
dữ liệu hằng có kích thước 32 bits . Khi đó
lệnh thực phép tính ^ giữa dữ liệu với thanh
ghi ACCU1 . Kết quả được ghi lại vào
thanh ghi ACCU1 . Nội dung của thang ghi
ACCU2 không bị thay đổi .

AD{<dữ
liệu h
ằng
>}
Có thể
có hoặc
không.
3
- Nếu không có toán hạng , lệnh thực hiện
phép tính v giữa các bits thuộc từ thấp của
hai thanh ghi ACCU1, ACCU2 . Kết quả

được ghi lại vào từ thấp của ACCU1 . Nội
dung của từ cao trong ACCU1 ,ACCU2
không bị thay đổi .
- Nếu có toán hạng thì toán hạng phải là một
dữ liệu hằng có kích thước 16 bits . khi đó
lệnh thực hiện phép tính v giữa toán hạng
và từ thấp của ACCU1 . Kết quả được ghi
l
ại vào ACCU1. Nội dung của từ cao trong
OW
{<dữ
liệu hằng
>}
Có thể
có hoặc
không.
Phần mềm STEP7


35
35
ACCU1, ACCU2 không bị thay đổi .
4
- Nếu không có toán hạng , lệnh thực hiện
phép tính v giữa tất cả 32 bits của hai thanh
ghi ACCU1, ACCU2 . Kết quả được ghi lại
vào ACCU1 . Nội dung của ACCU2 không
bị thay đổi .
- Nếu có toán hạng thì toán hạng phải là một
dữ liệu hằng có kích thước 32 bits . Khi đó

lệnh thực hiện phép tính v giữa 32 bits của
thanh ghi ACCU1 với toán hạng . Kết quả
được ghi lại vào ACCU1 .Nội dung của
ACCU2 không bị thay đổi .

OD
{<dữ
liệu hằng
>}
Có thể
có hoặc
không.
5
- Nếu không có toán hạng , lệnh thực hiện
phép tính exclusive or giữa các bits của hai
từ thấp của hai thanh ghi ACCU1 , ACCU2
, tức là nếu hai bit không cùng giá trị thì kết
quả sẽ là 1 . Toàn bộ 16 bit kết quả được
ghi lại vào từ thấp trong ACCU1 . Nội
dung của từ cao trong ACCU1, ACCU2
không bị thay đổi .
- Nếu có toán hạng thì toán hạng phải là một
dữ liệu có kích thước 32 bits. Khi đó lệnh
thực hiện phép tính exclusive or giữa các
bits của t
ừ thấp trong thanh ghi ACCU1 và
dữ liệu cho trong toán hạng , tức là nếu hai
bit không cùng giá trị thì kết quả sẽ là 1 .
Toàn bộ 16 bit kết quả được ghi lại vào từ
thấp trong ACCU1 . Nội dung của từ cao

trong ACCU1 , ACCU2 không bị thay đổi .

XOW{<
dữ liệu
hằng >}
Có thể
có hoặc
không.
6 - Nếu không có toán hạng , lệnh thực hiện XOD
Phần mềm STEP7


36
36
phép tính exclusive or giữa các bits của hai
thanh ghi ACCU1 và ACCU2 . tức là nếu
hai bits không cung giá trị thì bits kết quả
sẽ có giá trị là 1 . toàn bộ 32 bits kết qủa
được ghi lại vào ACCU1 , nội dung của
ACCU2 không bị thay đổi .
- Nếu có toán hạng thì toán hạng phải là một
dữ liệu hằng có kích thước 32 bits , khi đó
lệnh sẽ thực hiện phép tính exclusive or
giữa các bits ACCU1 và toán hạng , tức là
nếu hai bit không cùng giá trị thì bits kết
quả sẽ có giá trị là 1 .toàn bộ 32 bits kết
qủ
a được ghi lại vào ACCU1 . Nội dung
của ACCU2 không bị thay đổi .
{<dữ

liệu hằng
>}

2.3.4 Nhóm lệnh tăng giảm nội dung thanh ghi ACCU
STT
Lệnh


pháp
Toán
hạng
1
Lệnh thực hiện phép cộng giữa byte thấp của từ thấp
trong ACCU1 với toán hạng . Kết qủa được ghi lại
vào byte thấp của từ thấp của ACCU1 . Nội dung
byte cao của từ thấp , của từ cao trong ACCU1 và
của ACCU2 không bị thay đổi . Lệnh không làm
thay dổi thanh ghi trạng thái .

INC
<TH>
Là số
nguyên
8 bits
2
Lệnh thực hiện phép trừ byte thấp của từ thấp trong
ACCU1 cho toán hạng . Kết quả được ghi lại vào
byte thấp của từ thấp của ACCU1 . Nội dung byte
cao của từ thấp , của từ cao trong ACCU1 và của
ACCU2 không bị thay đổi . Lệnh không sửa đổi nội

dung thanh ghi trạng thái
DEC
<TH>
Là số
nguyên
8 bits
Phần mềm STEP7


37
37


2.3.5 Nhóm lệnh dịch chuyển nội dung thanh ghi ACCU
TT
Lệnh

Cú pháp
Toán
hạng
1

Nếu có toán hạng thì toán hạng là số nguyên không
dấu trong khoảng 0÷32. khi đó lệnh thực hiện phép
tính xoay tròn các bits của ACCU1 theo chiều trái .

RLD
{<TH>}
Có hoặc
không có

toán
hạng.

2
Lệnh thực hiện phép tính xoay ACCU1 theo
chiều trái 1 bit . bit cuối bị đẩy ra khỏi ACCU1
được ghi vào ACCU1 . Nội dung của ACCU1
được chuyển
vào bit 0.

RLDA Không
có toán
hạng.
3
- Nếu có toán hạng thì toán hạng là số
nguyên trong khoảng 0÷32 . khi đó lệnh
thực hiện phép tính xoay tròn các bit của
ACCU1 theo chiều phải.
- Nếu không có toán hạng , lệnh thực hiện
phép tính xoay tròn các bits của ACCU1
theo chiều phải

RRD
{<TH>}
Có hoặc
không có
toán
hạng
4
Lệnh thực hiện phép tính xoay ACCU1 theo chiểu

phải 1 bit .

RRDA Khônh
có toán
hạng.
5
Dịch trái các bits của từ thấp của ACCU1

SLW
{<TH>}
Có hoặc
không có
toán
hạng
Phần mềm STEP7


38
38
6
Dịch trái các bits của ACC1

SLD
{<TH>}
Có thể
có hoặc
không có
toán
hạng.
7

Dịch phải các bits của từ thấp của ACCU1 .

SRW
{<TH>}
Có hoặc
không có
toán
hạng
8
Dịch trái các bit của ACCU1

SRD
{<TH>}
Có hoặc
không có
toán
hạng
9
Dịch phải số nguyên 16 bit trong ACCU1

SSI
{<TH>}
Có hoặc
không có
toán
hạng
10
Dịch phải số nguyên 32 bit trong ACCU1 của
toán hạng


SSD
{<TH>}
Có hoặc
không có
toán
hạng

2.3.6 Nhóm lệnh so sánh số nguyên 16 bits
STT Lệnh so sánh

pháp
Toán hạng

1
Lệnh thực hiện phép so sánh hai số nguyên 16
bits nằm trong hai từ thấp trong hai thanh ghi
ACCU1 và ACCU2 nếu số nguyên trong từ thấp
của ACCU1 có nội dung giống như số nguyên
trong từ thấp của ACCU2 thì bits trạng thái RLO
=1 , ngược lại RLO=0.
==I không có
toán hạng
.
Phần mềm STEP7


39
39

2

Lệnh thực hiện phép so sánh hai số nguyên
16bits nằm trong hai từ thấp trong hai thanh ghi
ACCU1, ACCU2 . Nếu số nguyên trong từ thấp
của ACCU1 có nội dung khác với số nguyên
trong từ thấp của ACCU2 thì bits trạng thái
RLO=1, ngược lại bằng 0

<>I không có
toán hạng
.
3
Lệnh thực hiện phép so sánh hai số nguyên
16bits nằm trong hai từ thấp trong hai thanh ghi
ACCU1, ACCU2.Nếu số nguyên chứa trong từ
thấp ACCU2 lớn hơn số nguyên trong từ thấp của
ACCU1 thì RLO =1 ngược lại RLO = 0.

>I không có
toán hạng
.
4
Lệnh thực hiện phép so sánh hai số nguyên
16bits nằm trong hai từ thấp trong hai thanh ghi
ACCU1, ACCU2.Nếu số nguyên chứa trong từ
thấp ACCU2 nhỏ hơn số nguyên trong từ thấp
của ACCU1 thì RLO =1 ngược lại RLO = 0.

<I không có
toán hạng
.

5
Lệnh thực hiện phép so sánh hai số nguyên
16bits nằm trong hai từ thấp trong hai thanh ghi
ACCU1, ACCU2.Nếu số nguyên chứa trong từ
thấp ACCU2 lớn hơn hoặc bằng số nguyên trong
từ thấp của ACCU1 thì RLO =1 ngược lại RLO =
0.

>=I không có
toán hạng
.
6 Lệnh thực hiện phép so sánh hai số nguyên <=I không có
Phần mềm STEP7


40
40
16bits nằm trong hai từ thấp trong hai thanh ghi
ACCU1, ACCU2.Nếu số nguyên chứa trong từ
thấp ACCU2 nhỏ hơn hoặc bằng số nguyên trong
từ thấp của ACCU1 thì RLO =1 ngược lại RLO =
0.

toán hạng
.
2.3.7 Nhóm lệnh so sánh hai số nguyên 32 bits
STT Lệnh so sánh Cú pháp
Toán hạng

1

Lệnh thực hiện hai số nguyên 32 bits trong hai
thanh ghi ACCU1 và ACCU2 . Nếu chúng bằng
nhau thì RLO =1 , ngược lại RLO = 0.
==D Không có
toán hạng

2
Lệnh thực hiện hai số nguyên 32 bits trong hai
thanh ghi ACCU1 và ACCU2.Nếu số nguyên
trong ACCU2 không bắng số nguyên trong
ACCU1 thì RLO = 1 ngược lại RLO = 0.

<>D Không có
toán hạng

3
Lệnh thực hiện hai số nguyên 32 bits trong hai
thanh ghi ACCU1 và ACCU2. Nếu số nguyên
trong ACCU2 lớn hơn số nguyên trong ACCU1
thì RLO = 1 ngược lại RLO = 0.

>D Không có
toán hạng

4
Lệnh thực hiện hai số nguyên 32 bits trong hai
thanh ghi ACCU1 và ACCU2. Nếu số nguyên
trong ACCU2 nhỏ hơn số nguyên trong ACCU1
thì RLO = 1 ngược lại RLO = 0.


<D Không có
toán hạng

5
Lệnh thực hiện hai số nguyên 32 bits trong hai
thanh ghi ACCU1 và ACCU2. . Nếu số nguyên
trong ACCU2 lớn hơn hoặc bằng số nguyên
trong ACCU1 thì RLO = 1 ngược lại RLO = 0.
>=D Không có
toán hạng

Phần mềm STEP7


41
41

6
Lệnh thực hiện hai số nguyên 32 bits trong hai
thanh ghi ACCU1 và ACCU2. Nếu số nguyên
trong ACCU2 nhỏ hơn hoặc bằng số nguyên
trong ACCU1 thì RLO = 1 ngược lại RLO = 0.

<=D Không có
toán hạng

2.3.8 Nhóm lệnh so sánh hai số thực 32 bits
STT Lệnh so sánh

pháp

Toán hạng

1
Lệnh thực hiện so sánh hai số thực 32 bits trong
hai thanh ghi ACCU1 và ACCU2 . Nếu số thực
trong ACCU1 bằng số thực trong ACCU2 thì bits
trạng thái RLO =1 ngược lại RLO = 0.

==R Không có
toán hạng.
2
Lệnh thực hiện so sánh hai số thực 32 bits trong
hai thanh ghi ACCU1 và ACCU2. Nếu số thực
trong ACCU2 không bằng số thực trong ACCU1
thì bits trạng thái RLO =1 ngược lại RLO = 0.

<>R Không có
toán hạng.
3
Lệnh thực hiện so sánh hai số thực 32 bits trong
hai thanh ghi ACCU1 và ACCU2. Nếu số thực
trong ACCU2 lớn hơn số thực trong ACCU1 thì
bits trạng thái RLO =1 ngược lại RLO = 0.

>R Không có
toán hạng.
4
Lệnh thực hiện so sánh hai số thực 32 bits trong
hai thanh ghi ACCU1 và ACCU2. Nếu số thực
trong ACCU2 nhỏ hơn số thực trong ACCU1 thì

bits trạng thái RLO =1 ngược lại RLO = 0.

<R Không có
toán hạng.
5
Lệnh thực hiện so sánh hai số thực 32 bits trong
hai thanh ghi ACCU1 và ACCU2. . Nếu số thực
>=R Không có
toán hạng.
Phần mềm STEP7


42
42
trong ACCU2 lớn hơn hoặc bằng số thực trong
ACCU1 thì bits trạng thái RLO =1 ngược lại
RLO = 0.

6
Lệnh thực hiện so sỏnh hai số thực 32 bits trong
hai thanh ghi ACCU1 và ACCU2. . Nếu số thực
trong ACCU2 nhỏ hơn hoặc bằng số thực trong
ACCU1 thỡ bits trạng thỏi RLO =1 ngược lại
RLO = 0.

<=R Không có
toán hạng.

2.3.9 Các lệnh toán học
A. Nhóm lệnh làm việc với số nguyên 16 bits


STT Lệnh Cú pháp Toán hạng
1
Lệnh thực hiện phép cộng hai số nguyên
nằm trong từ thấp của ACCU1 và
ACCU2. Kết quả được ghi lại vào từ thấp
của ACCU1. Nội dung của thanh ghi
ACCU2 không bị thay đổi. Nếu kết quả
nằm trong khoảng -32768 – 32767, OV =
0, ngược lại OV = OS = 1
+I Không có
toán hạng
2
Lệnh thực hiện phép trừ hai số nguyên 16
bits nằm trong từ thấp của ACCU2 cho số
nguyên trong từ thấp của ACCU. Kết quả
được ghi lại vào từ thấp của ACCU1. Nội
dung của thanh ghi ACCU2 không bị thay
đổi. Nếu kết quả nằm trong khoảng -32768
– 32767, OV = 0, ngược lại OV = OS = 1
-I Không có
toán hạng
3
Lệnh thực hiện phép nhân hai số nguyên
16 bits trong từ thấp của ACCU1,
ACCU2. Kết quả là một số nguyên 32 bits
*I Không có
toán hạng
Phần mềm STEP7



43
43
sẽ được ghi lại vào ACCU1. Nội dung của
thanh ghi ACCU2 không bị thay đổi. Nếu
kết quả nằm trong khoảng -32768 –
32767, OV = 0, ngược lại OV = OS = 1
4
Lệnh thực hiện phép chia hai số nguyên 16
bits trong từ thấp của ACCU2 cho số
nguyên 16 bits trong từ thấp của ACCU.
Kết quả là một số nguyên 16 bits sẽ được
ghi lại vào từ thấp của ACCU1.
/I Không có
toán hạng


B. Nhóm lệnh làm việc với số nguyên 32 bits
STT Lệnh Cú pháp Toán hạng
1
Lệnh thực hiện phép cộng hai số nguyên
32 bits nằm trong ACCU1 và ACCU2. Kết
quả được ghi lại vào ACCU1.
+D Không có
toán hạng
2
Lệnh thực hiện phép trừ hai số nguyên 32
bits nằm trong ACCU2 cho số nguyên 32
bits trong ACCU1. Kết quả được ghi lại
vào ACCU1.

-D Không có
toán hạng
3
Lệnh thực hiện phép nhân hai số nguyên
32 bits nằm trong ACCU1 và ACCU. Kết
quả là môtk số nguyên 32 bits sẽ được ghi
lại vào ACCU1.
*D Không có
toán hạng
4
Lệnh thực hiện phép chia số nguyên 32
bits trong ACCU2 cho số nguyên 32 bits
trong ACCU. Kết quả là một số nguyên
32bits sẽ được ghi lại vào ACCU1.
/D Không có
toán hạng
5
Lệnh xác định phần dư của phép chia số
nguyên 32 bits trong ACCU2 cho số
nguyên 32 bits trong ACCU. Kết quả là
MOD Không có
toán hạng
Phần mềm STEP7


44
44
một số nguyên 32 bits sẽ được ghi lại vào
ACCU1.


C. Nhóm lệnh làm việc với số thực
TT Lệnh Cú pháp Toán hạng
1
Lệnh thực hiện phép cộng hai số thực dấu
phẩy động nằm trong ACCU1 và ACCU2.
Kết quả được ghi lại vào ACCU1
+R Không có
toán hạng
2
Lệnh thực hiện phép trừ số thực trong
ACCU2 cho số thực trong ACCU1. Kết
quả được ghi lại vào ACCU1
-R Không có
toán hạng
3
Lệnh thực hiện phép nhân hai số thực
trong ACCU1 và ACCU2… Kết quả được
ghi lại vào ACCU1
*R Không có
toán hạng
4
Lệnh thực hiện phép chia số thực trong
ACCU2 cho số thực trong ACCU1… Kết
quả được ghi lại vào ACCU1
/R Không có
toán hạng
5
Lệnh xác định giá trị tuyệt đối của số thực
trong ACCU1. Kết quả sẽ được ghi lại vào
ACCU1. Đặc biệt, lệnh này không làm

thay đổi nội dung của các bits trạng thái
ABS Không có
toán hạng
6
Lệnh tính sin của số thực trong ACCU1.
Kết quả được ghi lại vào ACCU1
SIN Không có
toán hạng
7
Lệnh tính Cos của số thực trong ACCU1.
Kết quả được ghi lại vào ACCU1
COS Không có
toán hạng
8
Lệnh tính tg của số thực trong ACCU1.
Kết quả được ghi lại vào ACCU1
TAN Không có
toán hạng
9
Lệnh tính arcsin của số thực trong
ACCU1, số thực này phải nằm trong
khoảng -1- 1. Kết quả là một số thực trong
khoảng và được ghi lại vào ACCU1
ASIN Không có
toán hạng
Phần mềm STEP7


45
45

10
Lệnh tính arccos của số thực trong
ACCU1, số thực này phải nằm trong
khoảng -1- 1. Kết quả là 1 số thực trong
khoảng 0- và được ghi lại vào ACCU1.
Nội dung của thanh ghi ACCU2 không bị
thay đổi.
ACOS Không có
toán hạng
11
Lệnh tính arctg của số thực trong ACCU1.
Kết quả là một số thực trong khoảng P và
được ghi lại vào ACCU1. Nội dung của
thanh ghi ACCU2 không bị thay đổi.
ATAN Không có
toán hạng
12
Lệnh tính giá trị bình phương của số thực
trong ACCU1. Kết quả là một số thực
không âm và được ghi lại vào ACCU1.
Nội dung của ACCU2 không bị thay đổi
SQR Không có
toán hạng
13
Lệnh tính giá trị bình phương của số thực
trong ACCU1, số thực này phải là một số
thực không âm. Kết quả là một số thực
không âm và được ghi lại vào ACCU1
SQRT Không có
toán hạng

14
Lệnh có tác dụng đổi dấu số thực dấu phẩy
động 32 bits trong ACCU1. Kết quả lại
được cất trong ACCU1.
NERG Không có
toán hạng

2.3.10 Lệnh logic tiếp điểm trên thanh ghi trạng thái
A. Lệnh AND trên thanh ghi trạng thái
STT Lệnh Cú pháp
1

Lệnh tính RLO ^ CCO ^ CC1. Kết quả được
ghi lại vào RLO.
A < 0
2

Lệnh tính RLO ^ CCO ^ CC1. Kết quả được
ghi lại vào RLO.
A > 0
3 A <> 0
Phần mềm STEP7


46
46
Lệnh tính RLO ^ [(CCO ^ CC1)v(CCO^CC1)].
Kết quả được ghi lại vào RLO.
4
Lệnh tính RLO ^ CCO ^ CC1. Kết quả được

ghi lại vào RLO
A = = 0
5
Lệnh tính RLO ^ CCO ^ CC1. Kết quả được
ghi lại vào RLO
A > = 0
6
Lệnh tính RLO ^ CCO ^ CC1. Kết quả được
ghi lại vào RLO
A < = 0
B. Lệnh OR trên thanh ghi trạng thái

STT Lệnh Cú pháp
1
Lệnh tính RLO ^ CCO ^ CC1. Kết quả
được ghi lại vào RLO.
O < 0
2
Lệnh tính RLO ^ CCO ^ CC1. Kết quả
được ghi lại vào RLO.
O > 0
3
Lệnh tính RLO ^ CCO ^ CC1. Kết quả
được ghi lại vào RLO.
O <> 0
4
Lệnh tính RLO ^ CCO ^ CC1. Kết quả
được ghi lại vào RLO
O = = 0
5

Lệnh tính RLO ^ CCO ^ CC1. Kết quả
được ghi lại vào RLO
O > = 0
6
Lệnh tính RLO ^ CCO ^ CC1. Kết quả
được ghi lại vào RLO
O < = 0

2.3.11 Lệnh đổi kiểu dữ liệu
A. Chuyển đổi số BCD thành số nguyên và ngược lại
STT Lệnh chuyển đổi Cú pháp Toán hạng
1
Lệnh thực hiện việc chuyển đổi một số
BCD có ba chữ số nằm trong 12 bits đầu
của ACCU1 thành số nguyên 16 bits. Kết
quả được cất lại vào 16 bits cuối của
BTI

Không có
toán hạng
Phần mềm STEP7


47
47
ACCU1.
2
Lệnh thực hiện việc chuyển đổi một số
BCD có 7 chữ số nằm trong 28 bits đầu
của ACCU1 thành số nguyên 32bits. Kết

quả được cất lại vào 16 bits cuối của
ACCU1.
BTD
Không có
toán hạng
3
Lệnh thực hiện việc chuyển đổi số nguyên
16 bits nằm trong từ thấp của ACCU1
thanh số BCD có 3 chữ số nằm. Kết quả
được cất lại vào từ thấp của ACCU1.
ITB
Không có
toán hạng
4
Lệnh thực hiện việc chuyển đổi số nguyên
32 bits trong ACCU1 thanh số BCD có 7
chữ số nằm. Kết quả được cất lại vào
ACCU1.
DTB
Không có
toán hạng

C. Chuyển đổi số nguyên 16 bits thành số nguyên 32 bits
STT Lệnh chuyển đổi Cú pháp Toán hạng
1
Lệnh thực hiện việc chuyển đổi một số
nguyên 16 bits trong từ thấp của ACCU1
thành số nguyên 32 bits. Kết quả được cất
lại vào ACCU1.
ITD

Không có
toán hạng

D. Chuyển đổi số nguyên 32 bits thành số thực
STT Lệnh chuyển đổi Cú pháp Toán hạng
1
Lệnh thực hiện việc chuyển đổi số thực
dấu phẩy động trong ACCU1 thành số
nguyên 32 bits có giá trị gần nhất so với
số thực đã cho. Nếu số thực đã cho nằm
giữa hai số nguyên thì CPU sẽ lấy số
chẵn. Kết quả được cất vào ACCU1.
RND
Không có
toán hạng
2
Lệnh thực hiện việc chuyển đổi số thực
dấu phẩy động trong ACCU1 thành số
nguyên 32 bits có giá trị nhỏ nhất nhưng
RND+
Không có
toán hạng
Phần mềm STEP7


48
48
không nhỏ hơn số thực đã cho. Kết quả
được cất vào ACCU1.
3

Lệnh thực hiện việc chuyển đổi số thực
dấu phẩy động trong ACCU1 thành số
nguyên 32 bits có giá trị lớn nhất nhưng
không lớn hơn số thực đã cho. Kết quả
được cất vào ACCU1.
RND-
Không có
toán hạng
4
Lệnh thực hiện việc lấy phần nguyên của
số thực dấu phẩy động trong. Kết quả
được cất vào ACCU1. Nội dung của
ACCU2 không bị thay đổi.
TRUNC
Không có
toán hạng

2.3.12 Các lệnh điều khiển chương trình
A. Nhóm lệnh kết thúc chương trình

STT Lệnh chuyển đổi Cú pháp Toán hạng
1
Lệnh thực hiện việc kết thúc chương trình
trong khối một cách vô điều kiện
BEU
Không có
toán hạng
2
Lệnh thực hiện việc kết thúc chương trình
trong khối nếu như RLO = 1.

BEC
Không có
toán hạng

B. Nhóm lệnh rẽ nhánh theo bit trạng thái

STT Lệnh rẽ nhánh Cú pháp
1 Khi BR=1 JBI <nhãn>
2 Khi BR=0 JNBI <nhãn>
3 Khi RLO = 1 JC <nhãn>
4 Khi RLO = 0 JCN <nhãn>
5 Khi CC1 = 0 và CCO = 1 JM <nhãn>
6 Khi CC1 = 1 và CCO = 0 JP <nhãn>
7 Khi CC1 = CCO = 0 JZ <nhãn>
8 Khi CC1 khác CCO JN <nhãn>
Phần mềm STEP7


49
49
9
Khi CC1 = CCO = 0 hoặc CC1 = 0 và
CCO = 1
JMZ <nhãn>
10
Khi CC1 = CCO = 0 hoặc CC1 = 1 và
CCO = 0
JPZ <nhãn>
11 Vô điều kiện JU <nhãn>


Nhãn là một dãy số với nhiều nhất 4 ký tự hoặc số và phải được bắt đầu bằng
một ký tự. Khoảng cách bước nhảy tính theo ô nhớ chứa phương trình, phải ít hơn
32767 từ. Nơi nhảy đến có thể nằm trước hoặc sau lệnh nhảy.

×