Tải bản đầy đủ - 0 (trang)
2 Ngôn ngữ lập trình của S7-200.

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

Tải bản đầy đủ - 0trang

Đồ án tốt nghiệp



Đây là một phần mềm chạy trên nền Windows 32 bit, trải qua nhiều phiên bản

khác nhau.

Để có thể thực hiện phần mềm lập trình STEP7- MicroWIN32 ta có 2 cách:

Cách 1:Vào Start→ Simatic→ STEP7- MicroWIN32 V3.2.0→ STEP7MicroWIN3.2.

Cách 2: Chạy thông qua biểu tượng trên Desktop

Mở, tạo

mới, lưu một CT

điều khiển



.



Down

load/Uploa

d



Công cụ

kết nối các

ệnhcỏc lệnh



Nút thay

đổi trạng thái

làm việc của CT

PLC



Nút kiểm tra trạng

thái chương trình

chương trỡnh.



Các khối chức

năng

Vùng soạn thảo

chương trình



Các khối hàm, lệnh



HÌNH 1. 11: Giao diện phần mềm Microwin

1.2.1.2. Một số thành phần quan trọng:

- Program Block:

Khi click chuột vào nút này ta sẽ trở về được vùng soạn thảo

chương trình. Ở vùng này ta có thể thêm bớt các đầu vào/ra, các biến,

các lệnh, hàm để thực hiện chương trìnhđiều khiển.

- Communications và cách kiểm tra sự kết nối với PLC S7-200:

Ở đây ta có thể thay đổi cách mà máy tính truyền thông với PLC

S7-200 (PPI, MPI, tốc độ truyền…) hoặc kiểm tra có hay khơng sự

truyền thơng giữa máy tính và PLC S7-200 (kiểm tra sự có mặt của PLC

hay khơng).



13



Đồ án tốt nghiệp



- Symbol Table:

Click chuột vào đây, ta sẽ được một bảng mà ở đó ta có thể định nghĩa

các tên biến và đặt địa chỉ tương ứng cho các biến đó để có thể dễ nhớ và

dễ kiểm tra.Các biến này có thể là các đầu vào/ra, các biến trung gian…

- Khối hàm,

-Lệnh:

Đây là một trong những thành phần quan trọng nhất của

STEP7- MicroWIN32. Nó bao gồm tồn bộ các lệnh và khối hàm

của STEP7- Micro WIN32 để có thể tạo được một chương trình

điều khiển cho PLC S7-200.

Trong đó thường dùng nhất là các khối:

+ Bit Logic: bao gồm các lệnh làm việc với bit và thực hiện

các phép toán logic như AND, OR, NOT…

+ Timer: đây là khối lệnh làm việc với các loại timer của

S7-200.

+ Counter: đây là khối lệnh làm việc với các loại timer của

S7-200

+ Move: các khối lệnh dùng để di chuyển dữ liệu từ vùng

nhớ này sang vùng nhớ khác của PLC.

+ Interger Math, Floating-Point Math: nhóm lệnh làm

việc với số nguyên 16bit, 32bit và số thực. Nhóm lệnh này thực

hiện các phép toán số học như +, -, x, :…

+ Compare: bao gồm các khối lệnh dùng để so sánh dữ liệu

như >, <, =, ≥, ≤...

Ngồi ra còn các khối khác cũng rất quan trọng chúng ta có

thể tham khảo têm ở phần Help của STEP7- MicroWIN32.

Để có thể biết một khối hàm hoặc lệnh làm việc như thế nào

và điều kiện kèm theo chúng ta chọn khối hàm, lệnh đó và nhấn F1.

1.2.1.3. Một số thao tác quan trọng:

- Có 2 cách để tạo một chương trình mới:

+ Vào menu File  New.

+ Dựng biểu tượng trên thanh cụng cụ.

- Lưu lại chương trình đó viết bằng cách:

+ Vào menu File  Save.

+ Dùng biểu tượng trên thanh cụng cụ.

- Để chèn một network mới:

+ Click chuột phải vào số thứ tự của network, chọn Insert  Network(s).

+ Dựng biểu tượng trên thanh cụng cụ.

- Để xoá một network: chọn network



14



Đồ án tốt nghiệp



+ Click chuột phải vào network cần xoỏ, chọn Delete  Network(s).

+ Dựng biểu tượng trên thanh cụng cụ.

- Để thêm một lệnh trong chương trỡnh:

Chọn vị trí của lệnh trong chương trỡnh:

+ Tiếp theo chọn Instructions, chọn nhúm lệnh sẽ làm việc, double click

vào lệnh cần dựng.

+ Dựng biểu tượng trên thanh cụng cụ.

- Để PLC S7-200 có thể thực hiện được các chương trình điều khiển, người dùng

phải Download chương trìnhxuống PLC.

+ Chọn File  Download. Và việc download cú Phím tắt là Ctrl+D.

+ Dùng ngay biểu tượng ở trên thanh công cụ

- Khi trong PLC có sẵn một chương trìn, người dùng cần đưa lên để kiểm tra,

chỉnh sửa STEP7- MicroWIN32 cũng hỗ trợ việc Upload.

+ Chọn menu File  Upload. Phím tắt là Ctrl+U.

+ Dựng biểu tượng ở trên thanh công cụ.

1. 2. 2.Các bước để lập trình một chương trình điều khiển cho PLC S7-200.

1. 2.2.1. Bước 1: Phân tích u cầu cơng nghệ.

- Phân tích các u cầu chung của hệ thống (tức là xác định thành phần nào cần

điều khiển, yêu cầu về thời gian, độ chính xác…).

- Phân tích thứ tự tác động của các thành phần trong hệ thống. Hay nói cách khác

là sự phân biệt thứ tự hoạt động của các thành phần trong hệ thống, cái nào trước, cái

nào sau... và sự liên quan giữa chúng.

- Phân tích bản chất của từng thành phần để xác định được các điều kiện liên

quan mà chỉ phụ thuộc vào bản chất riêng của nó và kết hợp với tồn bộ với những

phân tích trước đó để có phương pháp điểu khiển thích hợp.

1.2.2.2. Bước 2: Lập bảng địa chỉ cho các I/O.

Từ các bước phân tích về cơng nghệ cho ta biết sẽ có bao nhiêu I/O trong hệ

thống, bản chất của các I/O (số, tương tự, xung…) và ta sẽ xây dựng được một bảng

các I/O cho toàn bộ hệ thống.

Việc xây dựng bảng I/O phụ thuộc vào hệ thống và cấu hình PLC hoặc hệ PLC

mà chúng ta định viết chương trình điều khiển. Và việc gán địa chỉ cho các I/O của hệ

thống phải tuân thủ những quy định của nhà cung cấp PLC.

1.2.2.3. Bước 3: Lập giản đồ thời gian hoặc lưu đồ thuật toán điều khiển.

Đối với những hệ điều khiển tương đối lớn và phức tạp thì bước này rất quan

trọng cho việc lập trình về sau này.

Nó sẽ giúp cho người lập trình phân tích hệ thống điều khiển thành từng phần, sự

liên quan và thứ tự tác động của chúng và từ đó sẽ cụ thể hố được phương án điều

khiển trên chương trình cho PLC.



15



Đồ án tốt nghiệp



Còn đối với những hệ thống nhỏ khơng có q nhiều các I/O thì người ta có thể

xây dựng giản đồ thời gian tương ứng cho từng I/O nằm trong tổng thể thứ tự và thời

gian tác động của toàn bộ I/O của hệ thống.

1.2.2.4. Bước 4: Viết chương trình điều khiển.

Từ những gì đã có từ việc phân tích hệ thống và xây dựng lưu đồ thuật toán hoặc

giản đồ thời gian thì việc cụ thể hố bằng ngơn ngữ lập trình và đưa xuống PLC cũng

rất quan trọng.

Ở đây người lập trình cũng phải tuân thủ những quy định của nhà sản xuất về

việc lập trình cho loại PLC S7-200 của họ dẫn đến một số hạn chế nhất định trong việc

thể hiện tḥt tốn. Và đơi khi cũng phải điều chỉnh lại thuật toán cho phù hợp với loại

PLC mà mình đang có.

1.2.2.5. Bước 5: Chạy thử chương trình và kiểm tra lỗi.

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

Hệ lệnh của S7-200 được chia làm 3 nhóm:

Nhóm lệnh khơng điều kiện: 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.

Nhóm lệnh có điều kiện: các lệnh chỉ thực hiện được khi bit đầu tiên của ngăn

xếp có giá trị logic bằng 1.

Nhóm lệnh đặt nhãn: các nhãn lệnh đánh dấu vị trí trong tập lệnh.

Trong các bảng lệnh còn mơ tả sự thay đổi tương ứng của nội dung ngăn xếp khi

lệnh được thực hiện. Cả hai phương pháp LAD và STL đều sử dụng ký hiệu I để chỉ

việc thực hiện tức thời (Immediatelif) tức là giá trị được chỉ dẫn trong lệnh vừa được

chuyển vào thanh ghi ảo vừa đồng thời được chuyển đến tiếp điểm chỉ dẫn trong lệnh

ngay khi lệnh được thực hiện chứ không phải chờ đến giai đoạn trao đổi với ngoại vi

của vòng qt. Điều đó khác vớ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 1.1: Một số lệnh của S7-200 thuộc nhóm lệnh thực hiện vô điều kiện.

Tên lệnh

Mô tả

Giá trị của bit đầu tiên ngăn xếp được sao chép sang điểm n chỉ

=

n

dẫn trong lệnh.

Giá trị của bit đầu tiên ngăn xếp được sao chép trực tiếp sang

=I n

điểm n chỉ dẫn trong lệnh ngay khi lệnh được thực hiện.

Thực hiện toán tử và (AND) giữa giá trị logic của bit đầu tiên

ngăn xếp với giá trị logic của điểm n chỉ dẫn trong lệnh. Kết quả

A n

được ghi lại vào bit đầu tiên của ngăn xếp.

Thực hiện toán tử và (AND) giữa giá trị logic của bit đầu tiên

ngăn xếp với giá trị logic của bit thứ 2 ngăn xếp. kết quả được ghi

ALD

lại vào bit đầu tiên của ngăn xếp. Các giá trị còn lại trong ngăn

xếp được kéo lên một bit.



16



Đồ án tốt nghiệp



AN n



CTU Cxx, Pv



CTUD Cxx,Pv

ED

DU

LD n

LDN n

LDW <=n1, n2

LDW = n1, n2

LDW >=n1, n2

LPP

LRD

MEND

NOT

O n



OI



n



OLD



Thực hiện toán tử và (AND) giữa giá trị logic của bit đầu tiên với

giá trị logic nghịch đảo của điểm n chỉ dẫn trong lệnh. Kết quả

được ghi lại vào bit đầu tiên của ngăn xếp.

Khởi động bộ đếm tiến theo sườn lên của tín hiệ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 (có mức logic 1).

Khởi động bộ đếm tiến theo sườn lên của tín hiệu đầu vào thứ

nhất, đếm lùi theo sườn lên của tín hiệu đầu vào thứ hai. Bộ đếm

được reset lại nếu đầu vào R của bộ đếm được kích (có mức 1).

Đặt giá trị logic 1 vào bit đầu tiên của ngăn xếp khi xuất hiện

sườn xuống của tín hiệu.

Đặt giá trị logic 1 vào bit đầu tiên của ngăn xếp khi xuất hiện

sườn lên của tín hiệu.

Nạp giá trị logic của điểm n chỉ dẫn trong lệnh vào bit đầu tiên

của ngăn xếp. Các giá trong ngăn xếp được đẩy xuống một bit.

Nạp giá trị logic nghịch đảo của điểm n chỉ dẫn trong lệnh vào bit

đầu tiên của ngăn xếp. Các giá trong ngăn xếp được đẩy xuống

một bit.

Bit đầu tiên trong ngăn xếp nhận giá trị logic 1 nếu nội dung hai

từ n1 và n2 thảo mãn n1 ≤ n2.

Bit đầu tiên trong ngăn xếp nhận giá trị logic 1 nếu nội dung hai

từ n1 và n2 thảo mãn n1 = n2.

Bit đầu tiên trong ngăn xếp nhận giá trị logic 1 nếu nội dung hai

từ n1 và n2 thảo mãn n1 ≥ n2.

Kéo nội dung ngăn xếp lên một bit. Giá trị mới của bit trên là giá

trị cũ của bit dưới, độ sâu ngăn xếp giảm đi một bit (giá trị của bit

đầu tiên bị đẩy ra khỏi ngăn xếp – xoá).

Sao chép giá trị của bit thứ hai vào bit thứ nhất của ngăn xếp. Các

giá trị còn lại từ bit thứ hai trở đi được giữ nguyên vị trí.

Kết thúc phần chương trình chính trong một vòng qt.

Đảo giá trị logic của bit đầu tiên ngăn xếp.

Thực hiện toán tử hoặc (OR) giữa giá trị logic của bit đầu tiên

ngăn xếp với giá trị logic của điểm n chỉ dẫn trong lệnh. Kết quả

được ghi lại vào bit đầu tiên của ngăn xếp.

Thực hiện toán tử hoặc (OR) giữa giá trị logic của bit đầu tiên

ngăn xếp với giá trị logic của điểm n chỉ dẫn trong lệnh. Kết quả

được ghi lại vào bit đầu tiên của ngăn xếp.

Thực hiện toán tử hoặc (OR) giữa giá trị logic của bit đầu tiên

ngăn xếp với giá trị logic của bit thứ hai ngăn xếp. Kết quả được

ghi lại vào bit đầu tiên của ngăn xếp. Các giá trị còn lại trong

ngăn xếp được kéo lên một bit.



17



Đồ án tốt nghiệp



ON n

RET

RETI



Thực hiện toán tử và (AND) giữa giá trị logic của bit đầu tiên

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 lại vào bit đầu tiên của ngăn xếp.

Lệnh thoát khỏi chương trình con và trả điều khiển về chương

trình chính đã gọi nó.

Lệnh thốt khỏi chương trình xử lý ngắt (Interrupt) và trả điều

khiển về chương trình chính.



BẢNG 1.2: Một số lệnh trong nhóm lệnh có điều kiện (chỉ thực hiện khi bit đầu

tiên ngăn xếp có giá trị logic 1).

Tên lệnh

Mô tả

Thực hiện hai phép cộng hai số nguyên kiểu từ kép IN1 và IN2.

+D IN1, IN2

Kết quả được ghi lại vào IN2

Thực hiện hai phép cộng hai số nguyên kiểu từ IN1 và IN2. Kết

+I IN1, IN2

quả được ghi lại vào IN2.

Thực hiện hai phép trừ hai số nguyên kiểu từ kép IN1 và IN2. kết

-D IN1, IN2

quả được ghi lại vào IN2.

Thực hiện hai phép trừ hai số nguyên kiểu từ IN1 và IN2. Kết

-I IN1, IN2

quả được ghi lại vào IN2.

Thực hiện hai phép cộng hai số thực (32 bit) IN1 và IN2. Kết quả

+R IN1,IN2

được ghi lại vào IN2.

Thực hiện hai phép trừ hai số thực (32 bit) IN1 và IN2. Kết quả

-RIN1,IN2

được ghi lại vào IN2.

Thực hiện hai phép nhân hai số thực (32 bit) IN1 và IN2. Kết quả

*RIN1,IN2

được ghi lại vào IN2.

Thực hiện hai phép chia hai số thực (32 bit) IN1 và IN2. Kết quả

/R IN1,IN2

được ghi lại vào IN2.

ANDD

Thực hiện toán logic AND giữa các giá trị kiểu từ kép IN1 và

IN1.IN2

IN2. Kết quả được ghi lại vào IN2.

Thực hiện toán logic AND giữa các giá trị kiểu từ kép IN1 và

ANDWIN1.IN2

IN2. Kết quả được ghi lại vào IN2.

CALL n

Gọi chương trình con được đánh nhãn n.

Kết thúc một chương trình con và trả lại kiểu điều khiển về

CRET

chương trình gọi nó.

Kết thúc một chương trình xử lý ngắt và trả điều khiển về chương

CRTI

trình chính.

MOVB

Sao giá trị của Byte IN sang byte OUT.

IN.OUT

MOVB

Sao giá trị của từ kép IN sang từ kép OUT.

IN.OUT

MOVR

Sao số thực IN sang OUT.

IN.OUT

MOVW

Sao giá trị của từ kép sang từ OUT.



18



Đồ án tốt nghiệp



IN.OUT

Thực hiện toán tử OR cho hai từ kép IN1 và IN2. Kết quả được

ghi lại vào IN2.

Thực hiện toán tử OR cho hai từ IN1 và IN2. Kết quả được ghi

ORW IN1, IN2

lại vào IN2

Đưa bộ phát xung nhanh đã được định nghĩa trong bộ nhớ đặc

PLS x

biệt vào trạng thái tích cực. Xung đưa ra được đưa ra cổng QO.x

RLD IN, n

Quay tròn từ kép IN sang trái n bit

RLW IN, n

Quay tròn từ IN sang trái n bit

RRD IN, n

Quay tròn từ kép IN sang phải n bit

RRW IN, n Quay tròn từ IN sang phải n bit

SLD

Dịch từ kép IN sang trái n bit

SLW IN, n

Dịch từ IN sang trái n bit

Lấy căn bậc hai của một số thực 32 bit IN và ghi kết quả vào

SQRT IN, OUT

OUT (32 bit)

SRD IN, n Dịch từ kép IN sang phải n bit

SRW IN, n Dịch từ IN sang phải n bit

STOP

Dùng “mềm” chương trình

SWAP IN

Đổi bộ hai bit đầu tiên và cuối cùng của byte IN cho nhau

BẢNG 1.3: Các lệnh đặt nhãn (label).

Tên lệnh

Mô tả

(i) INT Nn

Khai báo nhãn n cho chương trình xử lý ngắt

LBL xx

Đặt nhãn xx trong chương trình, định hướng cho lệnh nhảy JMP

NEXT

Lệnh kết thúc vòng lặp FOR….NEXT

NOP

Lệnh rỗng (No operation)

SBR n

Khai báo nhãn n cho chương trình con

Các lệnh Timer, Counter:

Timer:

Timer là bộ tạo thời gian trễ giữa tín hiệu vào và tín hiệu ra nên trong điều khiển

thường được gọi là khâu trễ. Nếu ký hiệu tín hiệu (logic) vào là x (1) và thời gian trễ là

t thì tín hiệu đầu ra của timer là x (l-t). Trong S7-200 có hai loại Timer khác nhau:

Timer tạo thời gian trễ khơng có nhớ (On-Delay Timer), ký hiệu là TON.

Timer tạo thời gian trễ có nhớ (Retentive On-Delay Timer), ký hiệu là TONR.

Hai loại timer này phân biệt nhau bởi phản ứng của chúng đối với tín hiệu vào.

Cả hai loại đều bắt đầu tạo thời gian trễ từ thời điểm có sườn lên của tín hiệu vào.

Nhưng TON sẽ tự Reset khi đầu vào có mức logic 0, còn TONR thì khơng tự Reset khi

mất tín hiệu vào. TON được dùng để tạo thời gian trễ trong một khoảng thời gian, còn

TONR thời gian trễ được tạo ra trong nhiều khoảng khác nhau. trong phần này chúng

ta chỉ nghiên cứu loại Timer TON.

Cú pháp khai báo Timer trong LAD và STL như sau:

LAD

STL

Mơ tả

Tốn hạng

ORD IN1, IN2



19



Đồ án tốt nghiệp



Khai báo Timer số hiệu xx

Txx (word):

kiểu TON để tạo thời gian trễ CPU212: 32÷63

tính từ khi đầu vào IN được CPU214: 32÷63

kích (có mức 1). Nếu như giá

và 96÷127

Txx

trị đếm tức thời lớn hơn hoặc

PT (word):

TON

bằng giá trị đạt được PT thì T- VW, T, C, IW….

IN TON

Txx

bit có giá trị logic bằng 1. Có

n= 1÷32762

+n

thể Reset Timer kiểu TON

(số nguyên)

PT

bằng lệnh R hoặc bằng giá trị

logic 0 ở đầu vào IN.

Thời gian trễ T= PT3 độ phân giải

Counter:

Couner là bộ đếm thực hiện chức năng đếm sườn lên của xung. S7-200 có hai

loại bộ đếm: bộ đếm tiến (CTU) và bộ đếm tiến/lùi (CTUD). Bộ đếm tiến đếm số sườn

của xung vào, tức là đếm số lần thay đổi trạng thái logic từ 0 lên 1 của tín hiệu. Số

sườn xung đếm được ghi vào thanh ghi 2 byte của bộ đếm gọi là thanh ghi C-word.

Nội dung của C-word, được gọi là giá trị tức thời của bộ đếm, luôn được so sánh

với giá trị đặt trước của bộ đếm, ký hiệu là PV. Khi giá trị đếm tức thời bằng hoặc lớn

hơn giá trị đặt trước thì bộ đếm báo ra ngoài bằng cách đặt giá trị logic 1 vào bit đặc

biệt của nó, được gọi là C-bit. Trường hợp giá trị đếm còn nhỏ hơn giá trị đặt trước thì

C-bit có giá trị logic 0.

Khác với các Timer, các Counter đều có chân nối với tín hiệu điều khiển xoá để

thực hiện đặt lại chế độ khởi phát ban đầu (Reset) cho bộ đếm, được ký hiệu bằng chữ

cái R trong LAD, hay được quy định là trạng thái bit đầu tiên của ngăn xếp trong STL.

bộ đếm được Reset khi tín hiệu xố này có mức 1 hoặc khi lệnh R(reset) được thực

hiện với C-bit. Khi bộ đếm Reset thì cả C-word và C-bit đều nhận giá trị 0.

Bộ đếm tiến/lùi CTUD thực hiện đếm tiến khi gặp sườn lên của xung vào cổng

đếm tiến, ký hiệu là CU trong LAD hoặc bit thứ 3 ngăn xếp trong STL, và đếm lùi khi

gặp sườn lên của xung vào cổng đếm lùi, ký hiệu là CD trong LAD hoặc bit thứ 2 ngăn

xếp trong STL. Việc xố bộ đếm CTUD cũng có hai cách tương tự như bộ đếm CTU.

Cú pháp khai báo Counter LAD và STL như sau:

LAD



STL



Mơ tả



20



Tốn hạng



Đồ án tốt nghiệp



Cxx

CTU



CU

R

PV



Cxx

CU CTUD

CD

R

PV



Khai báo bộ đếm

tiến theo sườn lên của

tín hiệu vào cổng CU số

hiệu xx kiểu CTU. khi

CTU Cxx, giá trị đếm tức thời C+n

word của Cxx lớn hơn

hoặc bằng giá trị đặt

trước PV, C-bit (Cxx) có

giá trị logic bằng 1. Bộ

đếm ngừng đếm khi Cword Cxx đạt giá trị cực

đại 32767.

Khai báo bộ đếm

tiến/lùi, đếm tiến theo

sườn lên của tín hiệu đến

CU và đếm lùi theo sườn

CTUD Cxx, lên của tín hiệu đến CD.

+n

Khi giá trị tức thời Cword của Cxx lớn hơn

hoặc bằng giá trị đặt

trước PV, C- bit (Cxx)

có giá trị logic bằng 1.

Bộ đếm được Reset khi

đầu vào R có giá trị

logic 1. Bộ đếm ngừng

đếm tiến khi C- word

Cxx đạt giá trị cực đại

32767 và ngừng đếm lùi

khi C- word Cxx đạt giá

trị cực tiểu là - 32767.



Cxx (word):

CPU212: 0 ÷47

CPU224: 0÷ 47

và 80÷127

PV(word):

VW, T, C, IW,

n=1 – 32767

(số nguyên)



Cxx (word):

CPU212:48÷63

CPU224:48÷79



PV (word):

VW, T, C, IW,

n=1 – 32767

(số nguyên)



Ký hiệu Cxx của bộ đếm đồng thời cũng là địa chỉ hình thức của C - word và của

C- bit. Mặc dù cũng địa chỉ hình thức, song C- word và C- bit vẫn được phân biệt với

nhau nhờ kiểu lệnh sử dụng làm việc với kiểu từ hay kiểu tiếp điểm (bit).

Ví dụ:

LD C48

// Lệnh làm việc với C-bit của bộ đếm C48.

LDW>= C48 // Lệnh làm việc với C- word của bộ đếm C48.

Các lệnh so sánh:

Nếu các quyết định về điều khiển được thực hiện khi cần có sự so sánh thì có thể

sử dụng lệnh so sánh theo byte, từ hay từ kép (giá trị thực hoặc nguyên). những lệnh so



21



Đồ án tốt nghiệp



sánh thường là: so sánh nhỏ hơn hoặc bằng (<=); so sánh bằng (=) và so sánh lớn hơn

hoặc bằng (>=).

Khi so sánh các giá trị của byte thì khơng cần phải để ý đến dấu của toàn hạng,

ngược lại khi so sánh các từ hoặc từ kép với nhau thì phải để ý đến dấu của các toàn

hạng là bit cao nhất trong từ hoặc từ kép. Kết quả của phép so sánh có giá trị bằng 0

(nếu đúng) hoặc 1 (nếu sai) nên có thể sử dụng kết hợp cùng với các lệnh logic LD, A,

O. để tạo ra được các phép so sánh mà S7 - 200 khơng có lệnh tương ứng như: so sánh

không bằng nhau (<>), so sánh nhỏ hơn (<) hoặc so sánh lớn hơn (>), có thể tạo ra

được nhờ dùng kết hợp lệnh NOT với các lệnh đã có (=, >= và <=). Ví dụ sau mô tả

việc thực hiện phép so sánh không bằng nhau (<>) giữa các nội dung của từ VW100

và hằng số 50 bằng cách sử dụng kết hợp các phép tính so sánh bằng nhau.

LDW= và lệnh đảo NOT.

LDW = VW 100, 50;

LDW>= VW100, 50;

LDW<=VW100,50

NOT // (<>)

NOT // (<)

NOT // (>)



BẢNG 1.4: Biểu diễn các lệnh so sánh trong LAD:

LAD

Mô tả



22



Tốn hạng



Đồ án tốt nghiệp



n1

==B

n2

n1

==I

n2



Tiếp điểm đóng khi n1 = n2.

B = Byte.

I= Integer.

D= Double Integer.



n1

==D



R= Real.



n2

n1



==R

n2



n1

>=B

n2

n1

>=I



Tiếp điểm đóng khi n1>n2.

B = Byte.

I= Integer.

D= Double Integer.



n2

R = Real



n1

>=D

n2

n1

>=R

n2



23



n1, n2: VB, IB, QB, MB

(byte) SMB, AC, Const,

*vd* , AC

n1, n2: VW, T, C, IW

(từ)

QW, MW, SMW,

AC, AIW, hằng số,

*VD* , *AC

n1, n2: VD, ID, QD,

MD,

(từ kép) SMD, AC,

HC,

hằng số,

*VD* , *AC



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

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

Tải bản đầy đủ ngay(0 tr)

×