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

Ngôn ngữ lập trì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 DOC (Trang 56 -76 )

- STEP7 MICR/ DOS STEP7 MICR/ WIN.

4.3 Ngôn ngữ lập trình của S7-

4.3.1 Phương pháp lập trình

S7-200biểu diễn một mạch lôgic cứng bằng một dãy các lệnh lập trình. Chương trình bao gồm một tập dẫy các lệnh. S7-200 thưc hiện chương trình bắt đầu từ lệnh lập trình đầu tiên và kếy thúc ở lệnh lập trình cuối trong một vóng. Một vòng như vậy được gọi là một vòng quét (Scan).

Một vòng quét (Scan sycle) được bắt đầu bằng viẹc đọc trạng thái của đầu vào, và sau đó thực hiện chương trình. Scan cycle kết thúc bằng việc thay đổi trạng thái đấu ra. Trước khi bắt đầu 1 vòng quét tiếp theo S7-200 thực thi các nhiệm vụ bểntong và nhiệm vụ truyền thông.

Main progam ... MEND

SBRO chương trình con thứ nhất ... RET SBR n chưongtrình con thứ n + 1 ... RET INTO chương trình xử lý ngắt thứ nhất ... RETI INTO n chương trình sử lý ngắt thứ n + 1 ... RETI

Thực hiện trong một vòng quét

Thưc hiện khi được chương trình chính gọi

Chu trình thực hiện chương trình là chu trình lặp.

Cách lập trình cho S7-200 nói riêng và cho các PLC của SIMEN nói chung dựa trên hai phương pháp cơ bản: Phương pháp hình thang (Ladder logic viết tắt thành LAD) và phương pháp liệt kê lệnh (Statemet list viết tắt là STL).

Nếu chương trình được viếy theo kiểu LAD, thiết bị lập trình sẽ tự tạo ra một chương trình theo kiểu STL tương ứng. Ngược lại không phải mọi chương trình được viết theo kiểu STL cũng có thể chuyển sang được dạng LAD.

Giai đoạn truyền dữ Giai đoạn nhập dữ liệụ từ ngoạivi

Liệu ngoại vi

Giai đoạn truyền thông Giai đoạn thực hiện Nội bộ và tự kiểm tra hiện chương trình

* Mt sđịnh nghĩa cơ bn:

- Định nghĩa về LAD: LAD là một ngôn ngữ lập trình đồ hoạ. Những thành phần cơ bản dùng trong LAD tương ứngvới các thành phần của bảng đièu khiển của rơle.

Trong chương trình LAD các phần tưr cơ bản dùng để biểu diễn lệnh lôgic như sau:

- Tiếp điểm : Là biểu tượng ( Symbol) mô tả các tiếp điểm của rơle, các tiếp điểm đó

có thể là thường mở hoặc thường đóng

- Cuộn dây ( Coil) : là biểu tượng ( ) mô tả rơle được mắc theo chiều dòng điện cung cấp cho rơle

- Hộp (Box): Là biểu tượng mô tả các nhau nó làm việc khicó dòng điện chạy đến hộp. Những dạng hàm thường được biểu diễn bằng hộp là các bộ thời gian ( Timer), bộ đếm ( Counter) và các hàm toán học, cuộn dây và các hộp phải được mắc đúng chiều dòng điện.

- Mạng LAD: Là đường nối các phần tử thành một mạch hoàn thiện, đi từ đường bên trái sang đường nguồn bên phải. Đường nguồn bển trái là dây nóng đường nguồn bên phải là dây trung hoà ( Neutal) hay là đường trở về nguồn cung cấp ( Đường nguồn ben phải thường không được thể hiện khidùng chương trình tiện dụng STEP7- MICRO/ WIN).Dòng điện chạy từ trí qua các tiếp điểm đóng đến các cuộn dây hoặc các hộp trở về bên phải nguồn.

* Định nghĩa v STL: Phương pháp liệt kê lệnh ( STL) là phương pháp thể hiện chương trình dưới dạng tập hợp các câu lệnh. Mỗi câu lệnh trong chương trình kể cả những lệnh hình thức biểu diễn một chức năng của PLC.

43.2 Bảng lệnh của S7-200

- 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ả 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ả 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

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

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

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

LDN Lệnh nạp 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

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.

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

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

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

INT,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ố

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 DOC (Trang 56 -76 )

×