Bảng lệnh của S7-

Một phần của tài liệu Tài liệu Đồ án tốt nghiệp Nghiên cứu giải pháp điều khiển cấp điện tự động cho nhà máy từ trạm 110KV pptx (Trang 58 - 70)

- STEP7 MICR/ DOS STEP7 MICR/ WIN.

43.2Bả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 (adsbygoogle = window.adsbygoogle || []).push({});

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ừ (adsbygoogle = window.adsbygoogle || []).push({});

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 (adsbygoogle = window.adsbygoogle || []).push({});

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ề (adsbygoogle = window.adsbygoogle || []).push({});

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) (adsbygoogle = window.adsbygoogle || []).push({});

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

Một phần của tài liệu Tài liệu Đồ án tốt nghiệp Nghiên cứu giải pháp điều khiển cấp điện tự động cho nhà máy từ trạm 110KV pptx (Trang 58 - 70)