- STEP7 MICR/ DOS STEP7 MICR/ WIN.
43.2 Bảng lệnh của S7-
Hệ lệnh của S7-200 đực chia làm 4 nhóm.
- Các lệnh mà khi thực hiện thì làm việc độc lập không phụ thuộc vào giá trị logic của ngăn xếp.
- Các lệnh chỉ thực hiện được khi giá trị bít đầu tiên của ngăn xếp có giá trị lôgic bằng một.
- Các nhãn lệnh đánh dấu vị trí trong tập lệnh.
Cả ba bảng lệnh này cùng mô tả sự thay đổi tương ứng của nội
đung ngăn xếpkhi lệnh được thực hiện.
Cả hai phương pháp LAD và STL sử dụng ký hiệu I để chỉ định việc thực hiện tức thời ( Immeditely), tức là giá trị được chỉ định trong lệnh vừa được chuyển vào thanh ghi ảo đồng thời được chuyển toứi tiếp
điểm được chỉ dảntong lệnh ngay khi lệnh được thực hiện chứ khong phải chờ tới giai đoạn trao đổi vớ ngoại vi của vòng quét. Điều dó khácvới
lệnh không tức thời là giá trị được chỉ định trong lệnh chỉ được chuyển vào thanh ghi ảo khi thực hiện lệnh.
( Bảng lệnh của S7-200 được thực hiện vô điều kiện: Bảng 1) ( Bảng lệnh của S-7200 được thực hiện có điều kiện: Bảng 2)
Bảng 1. Bảng lệnh của S7-200 đuợc thực hiện vô điều kiện
Tên lệnh ỷ nghĩa
= n Giá trị của bít đầu tiên trong ngăn xếp được sao chép sang
điểm n chỉ dẫn trong lệnh
= 1 n Giá trị của bít đầu tiên trong ngăn xếp được sao chép trực tiếp sang điểm n chỉ dẫn ngay khi lệnh được thực hiện
A n Giá trị bít đầu tiên của ngăn xếp được thựchiện bằng phép tính AND với điểm n chỉ dẫn trong lệnh. Kết quả đựơc ghi lại vào bít đầu tiên của găn xếp
AB< = n1, n2 Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá tri 1 nếu giá trị byte n1 không lớn hơn giá trị của byte n2. Kết quảđược ghi lại vào bít đầu tiên của ngăn xếp AB = 1n 2n Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn
xếp với giá tri 1 nếu giá trị của hai byte n1và n2 thoả mãn n1 = n2. Kết quảđược ghi lại vào bít đầu tiên của ngăn xếp
AB > = n1, n2 Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá tri 1 nếu nội dung của 2 byte n1 và n2 thoả mẵn n1> n2. Kết quảđược ghi lại vào bít đầu tiên của ngăn xếp AD< = n1, n2 Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn
xếp với giá tri 1 nếu nội dung của hai từ kép ( 4byte) n1 và n2 thoả mãn n1< n2. Kết quả được ghi lại vào bít đầu tiên của ngăn xếp
AD = n1, n2 Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá tri 1 nếu nội dung của hai từ kép n1 và n2 thoả
AD> = n1, n2 Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá tri 1 nếu nội dung của hai từ kép n1 và n2 thoả mãn n1> n2. Kết quảđược ghi lại vào bít đầu tiên của ngăn xếp AR = n1, n2(5) Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn
xếp với giá tri 1 nếu nội dung hai số thực n1 và n2 thoả mãn n1= n2. Kết quảđược ghi lại vào bít đầu tiên của ngăn xếp AR> = n1,
n2(5)
Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá tri 1 nếu nội dung hai số thực n1 và n2 thoả mãn n1> n2. Kết quảđược ghi lại vào bít đầu tiên của ngăn xếp AR< = n1,
n2(5)
Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá tri 1 nếu nội dung hai số thực n1 và n2 thoả mãn n1< n2. Kết quảđược ghi lại vào bít đầu tiên của ngăn xếp AI n Lệnh AND đượ thực hiện tức thời giữa giá trị của bít đầu tiên
của ngăn xếp với điểm n được chỉ dẫn. Kết quả được ghi lại vào bít đầu tiên của ngăn xếp
ALD Thực hiện lệnh AND giữa giá trị của bít đầu tiên và của bít thứ
hai trong ngăn xếp, sau đó ghi lại kết quả vào bít đầu tiên. Các giá trị còn lại trong ngăn xếp được kéo lên 1 bít
AN n Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá trị nghịch đảo của điểm n trong chỉ dãn. Kết quả được ghi lại vào bít đầu tiên của ngăn xếp
ANI n Thực hiện tức thời lệnh AND giữa giá tri của bít đầu tiên trong ngăn xếp với giá trị nghịch đảo của điểm n chỉ dẫn trong lệnh. Kết quảđược ghi lai vào bít đầu tiên của ngăn xếp
AW< = n1, n2 Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá tri 1 nếu nội dung của hai từ n1 và n2 thoả mãn n1< n2. Kết quảđược ghi lại vào bít đầu tiên của ngăn xếp AW = n1, n2 Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn
Kết quảđược ghi lại vào bít đầu tiên của ngăn xếp
AW> = n1, n2 Thực hiện lệnh AND giữa giá trị của bít đầu tiên trong ngăn xếp với giá tri 1 nếu nội dung hai từ n1 và n2 thoả mãn n1> n2. Kết quảđược ghi lại vào bít đầu tiên của ngăn xếp
CTU C x x, PV Khởi động bộ đếm tiến theo sườn lên tín hiệu đầu vào. Bộđếm
được đặt lại trạng thái ban đầu ( reset) nếu đầu vào R của bộ đếm đựơc kích.
CTUD C xx, PV Khởi động bộđếm tiến theo sườn lên tín hiệu đầu vào thứ nhất và. đếm lùi theo sườn lên tín hiệu đầu vào thứ hai. Bộ đếm
được reset lại nếu đầu vào R đựơc kích.
ED Đặt giá trị logic 1 vào bít đầu của ngăn xếp. Khi xuất hiện sườn xuống của tín hiệu.
ED Đặt giá trị logic 1 vào bít đầu của ngăn xếp. Khi xuất hiện sườn lên của tín hiệu.
LD n Nạp giá trị logic của điểm n chỉ dẫn trong lệnh vào bít đầu tiên của ngăn xếp
LDB< = n1, n2 Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội dung 2 byte n1 và n2 thoả mãn n1< = n2.
LDB = n1, n2 Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội dung 2 byte n1 và n2 thoả mãn n1 = n2.
LDB> = n1, n2 Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội dung 2 byte n1 và n2 thoả mãn n1> = n2.
LDD = n1, n2 Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội dung 2 từ
kép n1 và n2 thoả mãn n1 = n2.
LDD> = n1, n2 Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội dung 2 từ
kép n1 và n2 thoả mãn n1 > = n2.
LDI n Lệnh nạp tức thời giá trị logic của tiếp điểm n chỉ dẫn trong lệnh vào bít đầu tiên trong ngăn xếp
lệnh vào bít đầu tiên trong ngăn xếp
LDNI n Lệnh nạp tức thời giá trị logic nghịch đảo của tiếp điểm n chỉ
dẫn trong lệnh vào bít đầu tiên trong ngăn xếp
LDR = n1,n2 (5) Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội dung hai số thực n1 và n2 thoả mãn n1 = n2.
LDR>=n1,n2 (5)
Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội dung 2 số
thực n1 và n2 thoả mãn n1 > = n2. LDR<=n1,n2
(5)
Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội dung 2 số
thực n1 và n2 thoả mãn n1< = n2.
LDW<= n1, n2 Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội dung 2 từ
n1 và n2 thoả mãn n1 < = n2.
LDW = n1, n2 Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội dung 2 từ
n1 và n2 thoả mãn n1 = n2.
LDW> =n1, n2 Bít đầu tiên của ngăn xếp nhận giá trị logic 1 nếu nội dung 2 từ n1 và n2 thoả mãn n1 > = n2.
LPP Kéo nội dung của ngăn xếp lên 1 bít. Giá trị mới của bít trên là giá trị cũ của bít dưới, độ sâu của ngăn xếp giảm đi 1 bít
LPS Sao chép giá trị của bít đầu tiên trong ngăn xếp vào bít thứ hai. Nội dung còn lại của ngăn xếp bị đẩy xuống 1 bít
LRD Sao chép giá trị của bít thứ hai vào bít đầu tiên trong ngănxếp. Cácgiá trị còn lại của ngăn xếp giữ nguyên vị trí
MEND (1 ) ( 2 ) )
Kết thúc phần chương trình chính trong một vòng quét NOT Đảo giá trị logíc của bít đầu tiên của ngăn xếp
O n Thực hiện toán tử OR giữa bít dầu tiên của ngăn xếp với điểm n chỉ dẫn trong lệnh. Kết quả được ghi lại vào bít đầu trong ngăn xếp
logíc 1 nếu nội dung 2 byte n1 và n2 thoả mãn n1< = n2. Kết quảđược ghi lại vào bít đầu trong ngăn xếp
OB = N1, N2 Thực hiện toán tử OR giữa bit đầu tiên của ngăn xếp với giá trị
logíc 1 nếu nội dung 2 byte n1 và n2 thoả mãn n1= n2. Kết quả được ghi lại vào bít đầu trong ngăn xếp
OB > = n1,n2 Thực hiện toán tử OR giữa bit đầu tiên của ngăn xếp với giá trị
logíc 1 nếu nội dung 2 byte n1 và n2 thoả mãn n1> = n2. Kết quảđược ghi lại vào bít đầu trong ngăn xếp
OD< = n1, n2 Thực hiện toán tử OR giữa bit đầu tiên của ngăn xếp với giá trị
logíc 1 nếu nội dung 2 byte n1 và n2 thoả mãn n1< = n2. Kết quảđược ghi lại vào bít đầu trong ngăn xếp
OD = n1, n2 Thực hiện toán tử OR giữa bit đầu tiên của ngăn xếp với giá trị
logíc 1 nếu nội dung 2 byte n1 và n2 thoả mãn n1= n2. Kết quả được ghi lại vào bít đầu trong ngăn xếp
OD> = n1, n2 Thực hiện toán tử OR giữa bit đầu tiên của ngăn xếp với giá trị
logíc 1 nếu nội dung 2 byte n1 và n2 thoả mãn n1> = n2. Kết quảđược ghi lại vào bít đầu trong ngăn xếp
OI n Thực hiện tức thời toán tử OR giữa bit đầu tiên của ngăn xếp với điểm n chỉ dẫn trong lệnh. Kết quảđược ghi lại vào bít đầu trong ngăn xếp
OLD n Thực hiện toán tử OR giữa bit đầu và bít thứ hai trong ngăn xếp Kết quả được ghi lại vào bít đầu tiên. Các giá trị còn lại của ngăn xếp được chuyển lên một bít.
ON n Thực hiện toán tử OR giữa giá trị logíc của bít đầu tiên trong ngăn xếp với giá trị lôgíc nghịch đảo của điểm n chỉ dẫn trong lệnh Kết quảđược ghi lại vào bít đầu trong ngăn xếp
ONI n Thực hiện tức thời toán tử OR giữa giá trị lôgíc của bit đầu tiên trong ngăn xếp với giá trị logíc nghịch đảo của điểm n chỉ dẫn trong lệnh. Kết quảđược ghi lại vào bít đầu trong ngăn xếp
OR = n1, n2 ( 5) Thực hiện toán tử OR giữa giá trị của bit đầu tiên trong ngăn xếp với giá trị logíc 1 nếu 2 số thực n1 và n2 thoả mãn n1 = n2. Kết quảđược ghi lại vào bít đầu trong ngăn xếp
OR> =n1, n2 (5) Thực hiện toán tử OR giữa giá trị lôgíc của bít đầu tiên trong ngăn xếp với giá trị logíc 1 nếu 2 số thực n1 và n2 thoả mãn n1 > = n2. Kết quảđược ghi lại vào bít đầu trong ngăn xếp OR<=n1, n2 ( 5) Thực hiện toán tử OR giữa giá trị logíc của bit đầu tiên trong
ngăn xếp với giá trị logíc 1 nếu 2 số thực n1 và n2 thoả mãn n1< = n2. Kết quảđược ghi lại vào bít đầu trong ngăn xếp OW= n1, n2 (5) Thực hiện toán tử OR giữa giá trị lôgíc của bít đầu tiên trong
ngăn xếp với giá trị logíc 1 nếu 2 từ n1 và n2 thoả mãn n1 = n2. Kết quảđược ghi lại vào bít đầu trong ngăn xếp
OW<=n1, n2 (5) Thực hiện toán tử OR giữa giá trị lôgíc của bít đầu tiên trong ngăn xếp với giá trị logíc 1 nếu 2 từ n1 và n2 thoả mãn n1< = n2. Kết quảđược ghi lại vào bít đầu trong ngăn xếp
OW>=n1, n2 (5) Thực hiện toán tử OR giữa giá trị lôgíc của bít đầu tiên của ngăn xếp với giá trị logíc 1 nếu nội 2 từ n1 và n2 thoả mãn n1> = n2. Kết quảđược ghi lại vào bít đầu trong ngăn xếp RET ( 3) (1) (4) Lệnh thóat khỏi chương trình con và trả điều khiển về chương
trình đã gọi nó
RETI (3) (2) (4) Lệnh thoá khỏi chương trình sử lý ngắt (Interrupt) và trả
chương trình về chương trình chính
Bảng 2. Bảng lệnh của S7-200 được thực hiện có điều kiện
Tên lệnh Ý nghĩa
+D IN1, IN2 Thực hiện phép cộng hai số nguyên kiểu từ kép IN1và IN2. Kết quảđược ghi lại vào IN2
+I IN1, IN2 Thực hiện phép cộng hai số nguyên kiểu từ IN1 và IN2. Kết quảđược ghi lại vào IN2
-D IN1, IN2 Thực hiện phép trừ hai số nguyên kiểu từ kép IN1và IN2. Kết quảđược ghi lại vào IN2
-I IN1, IN2 Thực hiện phép trừ hai số nguyên kiểu từ IN1và IN2. Kết quảđược ghi lại vào IN2
+R IN1, IN2 (5) Thực hiện phép cộng hai số thực (32bít) IN1 và IN2. Kết quảđược ghi lại vào IN2
-R IN1, IN2 (5) Thực hiện phép cộng hai số thực (32bít) IN1 và IN2. Kết quảđược ghi lại vào IN2
*R IN1, IN2 (5) Thực hiện phép hai số thực (32b ít) IN1và IN2. Kết quả được ghi lại vào IN2
/R IN1, IN2 (5) Thực hiện phép chia hai số thực (32bít) IN1và IN2. Kết quảđược ghi lại vào IN2
AND DIN1,IN2 Thực hiện toán tử logíc AND giữa các giá trị kiểu từ kép IN1 và IN2. Kết quảđược ghi lại vào IN2
ANDWIN1,IN2 Thực hiện toán tử logíc AND giữa các giá trị kiểu từ
IN1 và IN2. Kết quảđược ghi lại vào IN2 ATCH
INT,EVENT
Khai báo chương trình xử lý ngắt INTtheo kiểu EVENT ATT
IN,OUT,LEN
Biến đổi một xâu ký tự từ mã ASCII từ vị trí IN (kiểu byte) với độ dài LEN (kiểu byte) sang mã hexa (cơ số
16) và ghi vào mảng kể từ byte OUT ATT
DATA, TABLE
Nối một giá trị kiểu từ DATA (2 byte) vào bảng TABLE BCDI IN Biến đổi một xâu ký tự từ mã BCD có độ dài 2 byte sang
kiểu nguyên. Kết quảđược ghi lại vào IN
BMB IN, OUT, N Sao chép một mảng gồm N byte kể từ vị trí đầu IN (byte) vào mảng có vị trí đầu là OUT (kiểu byte)
BMW IN, OUT, N Sao chép một mảng từ ( 2 byte ) có độ dài N (1 byte) và vị trí đầu IN ( 2 byte) vào mảng có vị trí đầu là OUT (2
byte)
CALL n (6) (1) Gọi chương trình con đựơc đánh nhãn n
CRET (3) (!0 (4) Kết thúc một chương trình con và trả điều khiển về
chương trình đã gọi nó
CRETI (3) (2) (4) Kết thúc một chương trình sử lý ngắt và trảđiều khiển về
chương trình chính
DECD IN Giảm giá trị của từ kép IN đi một đơn vị
DECO IN, OUT Gải mã giá trị của 1 byte In, sau đó gan giá trị 1 vào bít của tù OUT (2 byte) có chỉ số là IN
DECW IN Giảm giá trị của từ IN đi một đơn vị
DISI (1) Vô hiệu hoá tất cả các ngắt (Interrupt)
DIV IN1, IN2 Chia số nguyên 16 bít, được xác định là từ thấp của IN2 (kiểu từ kép), cho IN1 kiểu từ. Kết quảđược ghi lại vào IN2
DTCH EVENT Vô hiệu hoá một ngắt kiểu EVENT DTR IN, OUT (
5)
Chuyển đổi một số nguyên 32 bít IN có dấu sang thành một số thực 32 bít OUT
ENCO IN, OUT Chuyển đổi chỉ số của bít thấp nhất có giá trị lôgíc 1trong từ IN sang thành một số nguyên và ghi vào 4 bít cuối của byte OUT
ENI (1) Đặt tất các ngắt vào chếđộ tích cực FIFO TABLE
DATA (5)
Lấy giá trị đã được cho vào đầu tiên ra khỏi bảng và chuyển nó đến vùng dữ liệu DATA được chỉ dẫn trong lệnh
FILL IN, OUT, N Đổi giá trị của từ IN vào một mảng nhớ gồm N từ (N có kiểu byte) bắt đầu từ vị trí OUT (kiểu từ)
FND < SRC PATRN, INDX(5)
Xác định vị trí ô nhớ trong bảng SRC (kiểu từ ) kể từ ô cho bởi INDX mà ở đó giá trị nhỏ hơn giá trị của PATRN (kiểu từ )
FND < > SRC PATNR, INDX
Xác định vị trí ô nhớ trong bảng SRC (kiểu từ ) kể từ ô cho bởi INDX mà ở đó giá trị khác giá trị của PATRN (kiểu từ )
FND > SRC PATRN, INDX(5)
Xác định vị trí ô nhớ trong bảng SRC (kiểu từ ) kể từ ô cho bởi INDX mà ở đó giá trị lớn hơn giá trị của PATRN (kiểu từ )
FND = SRC PATRN, INDX(5)
Xác định vị trí ô nhớ trong bảng SRC (kiểu từ ) kể từ ô cho bởi INDX mà ở đó giá trị bằng giá trị của PATRN (kiểu từ )
FOR INDEX INITIAL, FINAL(1) (5)
Thực hiện các lệnh nằm giữa FOR và NEXT theo kiểu xoay vòng với bộ đếm số vòng INDEX (kiểu từ ), bắt
đầu vòng số NITIAL (kiẻu từ ) và kết thúc tại vòng số
FINAL (từ ) HDEF , HSC
MODE(1)
Xác định kiểu thuật toán MODE cho bộ đếm tốc độ cao HSC (byte)
HSC n Đưa bộđếm tốc độ cao số nvào trạng thái tích cực HTA IN , OUT
LEN
Chuyển đổi một số hệ heax IN (kiếu byte ) thành dãy ký tự mã ASCII và ghi vào mảng byte bắt đầu bằng byte OUT với độ dài LEN (kiểu byte )
IBCD IN Chuyển đổi giá tri nguyên IN (kiếu từ ) thành giá trị
BCD và ghi lại vào IN
INCD IN Tăng giá trị của từ kép IN lên một đơn vị
INCW IN Tăng giá trị của một từ IN lên một đơn vị
INVD IN Lấy phần bù kiểu một (đảo giá trị logíc của các bít ) của mọt từ kép IN và ghi lại vào IN
JMP xx Chuyển điều khiển vào ô nhớ chỉ định bằng nhãn xx trong chương trình khai báo bởi lệnh LBL
LIPO TABLO, DATA(5)
Lấy giá trị đã được cho vào bảng sau cùng ra khỏi bảng