Những tập lệnh cơ bản của Step7 Micro/Win

Một phần của tài liệu phân loại sản phẩm theo chiều cao dùng plc và giám sát bằng wincc (Trang 27 - 97)

*Lệnh Nhập/ Xuất giá trị cho tiếp điểm:

Lệnh nhập :

LAD Mô tả Toán hạng

Tiếp điểm thường mở sẽ được đóng nếu giá trị bit =1

bit : I,Q,M,SM,T,C,V Tiếp điểm thường đóng sẽ được

mở khi giá trị bit = 1 và ngược lại.

Tiếp điểm thường mở sẽ được đóng tức thời trong một chu kỳ máy khi giá trị bit = 1

bit: I Tiếp điểm thường đóng sẽ được

mở tức thời trong một chu kỳ máy khi giá trị bit=1

Lệnh xuất :

LAD Mô tả Toán hạng

Cuộn dây đầu ra ở trạng thái kích thích khi có dòng điều khiển đi qua.

bit : I,Q,M,SM,T,C,V

Cuộn dây đầu ra được kích thích tức thời khi có dòng điều khiển đi qua.

bit : Q

*Lệnh ghi / xoá giá trị cho tiếp điểm:

Lệnh dùng để đóng và ngắt các tiếp điểm gián đoạn đã được thiết kế.

Trong dạng LAD, logic điều khiển dòng điện đóng hoặc ngắt các cuộn dây đầu ra. Khi dòng điều khiển tới các cuộn dây thì các cuộn dây đóng hoặc mở các tiếp điểm( hoặc một dãy các tiếp điểm).

LAD Mô tả Toán hạng

Đóng một mảng gồm N các tiếp điểm kể từ bit đặt trước.

bit : I, Q, M, SM, T, C, V . N : IB, QB, MB, SMB, VB, AC, Hằng số .

Ngắt một mảng gồm N các tiếp điểm kể từ bit đặt trước. Nếu bit đặt trước lại chỉ vào Timer hoặc Counter thì lệnh sẽ xoá bit đầu ra của Timer hoặc Counter đó.

Đóng tức thời một mảng gồm N các tiếp điểm kể từ bit đặt trước

bit : Q.

N : IB, QB, MB, SMB, VB, AC, Hằng số.

Ngắt tức thời một mảng gồm N các tiếp điểm kể từ bit đặt trước.

* Lệnh tiếp điểm đặc biệt:

LAD Mô tả Toán hạng

Tiếp điểm đảo trạng thái của dòng cung cấp. Nếu dòng cung cấp có tiếp điểm đảo thì nó bị ngắt mạch, nếu không có tiếp điểm đảo thì nó thông mạch.

Không có

Tiếp điểm chuyển đổi dương cho phép dòng cung cấp thông mạch trong một vòng quét khi sườn xung điều khiển chuyển từ 0 lên 1

Không có

Tiếp điểm chuyển đổi âm cho phép dòng cung cấp thông mạch trong một vòng quét khi sườn xung điều khiển chuyển từ 1 xuống 0

Tiếp điểm sử dụng bit bộ nhớ đặc biệt tạo dạng sóng vuông tuần hoàn với chu kỳ là 1s ( 0.5s có xung, 0.5s không có xung )

Không có

* Lệnh điều khiển 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 vẫn thường được gọi là khâu trễ. Có ba kiểu Timer của S7-200 phân biệt với nhau ở phản ứng của nó đối với trạng thái tín hiệu đầu vào ( TON, TOF và TONR ).

Lệnh TON:

Ký hiệu : Các toán hạng :

- TON : lệnh đếm thời gian tác động đóng trể không nhớ.

- Txxx: Khai báo xxx kiểu TON định độ phân giải có giá trị tra theo bảng. - IN : đầu vào cho phép lệnh đếm thời gian hoạt động.

- PT : Giá trị đặt trước.

Lệnh TON gồm có giá trị đếm tức thời được nhớ trong thanh ghi 2 byte của Timer (gọi là T-word ) và 1 bit chỉ thị trạng thái logic đầu ra ( gọi là T-bit ).

 Khi đầu vào IN ở mức logic 1 cho phép lệnh TON hoạt động, giá trị đếm tức thời trong T-word được cập nhật và so sánh với giá trị đặt trước PT đồng thời tăng dần cho đến khi nó đạt giá trị cực đại ( 32.767 ).

 Nếu giá trị đếm tức thời T-word nhỏ hơn giá trị đặt trước PT , T-bit có giá trị logic là 0.

 Nếu giá trị đếm tức thời T-word lớn hơn hoặc bằng giá trị đặt trước PT, T-bit có giá trị logic 1

 Khi đầu vào IN ở mức logic 0, giá trị đếm tức thời T-word sẽ bị Reset xoá về 0.

Bảng định độ phân giải lệnh TON:

Ví dụ minh hoạ :

Lệnh TONR:

Ký hiệu : Các toán hạng :

- TONR : lệnh đếm thời gian tác động đóng trể có nhớ.

- Txxx : Khai báo xxx kiểu TONR định độ phân giải có giá trị tra theo bảng - IN : Đầu vào cho phép lệnh đếm thời gian hoạt động.

- PT : Giá trị đặt trước.

Hoạt động :

Lệnh TONR gồm có giá trị đếm tức thời được nhớ trong thanh ghi 2 byte của Timer (Gọi là T-word và 1 bit chỉ thị trạng thái logic đầu ra ( gọi là T-bit )

 Khi đầu vào IN ở mức logic 1 cho phép lệnh TONR hoạt động, giá trị đếm tức thời trong T-word được cập nhật và so sánh với giá trị đặt trước PT đồng thời tăng dần cho đến khi nó đạt giá trị cực đại ( 32.767 ).

 Nếu giá trị đếm tức thời T-word nhỏ hơn giá trị đặt trước PT , T-bit có giá trị logic là 0.

 Nếu giá trị đếm tức thời T-word lớn hơn hoặc bằng giá trị đặt trước PT, T-bit có giá trị logic 1 .

 Khác với lệnh TON khi đầu vào IN ở mức logic 0, giá trị đếm tức thời T- word sẽ được ghi nhớ và khi đầu vào IN ở mức logic 1 giá trị đếm tức thời T-word sẽ tiếp tục tăng cho đến khi đạt giá trị cực đại hoặc dùng lệnh Reset xoá giá trị đếm tức thời T-word về 0.

Bảng định độ phân giải lệnh TONR:

Ví dụ minh hoạ :

T-bit có giá trị mức logic 1 khi đầu vào I2.1 ở mức logic 1 đủ 100 ms.

Lệnh TOF : Ký hiệu : Các toán hạng :

- TOF : Lệnh đếm thời gian tác động mở trể không nhớ.

- Txxx: Khai báo xxx kiểu TOF định độ phân giải có giá trị tra theo bảng. - IN : đầu vào cho phép lệnh đếm thời gian hoạt động.

- PT : Giá trị đặt trước.

Hoạt động :

Lệnh TOF gồm có giá trị đếm tức thời được nhớ trong thanh ghi 2 byte của Timer( gọi là T-word và 1 bit chỉ thị trạng thái logic đầu ra( gọi là T-bit )

 Khi đầu vào IN ở mức logic 1, T-bit có giá trị logic 1 cho đến khi đầu vào IN xuống mức logic 0, khi đó cho phép lệnh TOF hoạt động, giá trị đếm tức thời trong T-word được cập nhật và so sánh với giá trị đặt trước PT đồng thời tăng dần cho đến khi nó đạt giá trị bằng giá trị đặt trước PT.

 Nếu giá trị đếm tức thời T-word nhỏ hơn giá trị đặt trước PT , T-bit có giá trị logic là 1.

 Nếu giá trị đếm tức thời T-word bằng giá trị đặt trước PT, T-bit có giá trị logic 0.

Ví dụ minh hoạ :

Khi đầu vào I0.0 xuống mức logic 0, sau thời gian định trước là 30 ms T-bit sẽ chuyển trạng thái sang mức logic 0.

* Lệnh điều khiển Counter :

Counter là bộ đếm thực hiện chức năng đếm sườn xung trong S7-200. Các bộ đếm thường được chia làm 3 loại : bộ đếm lên ( CTU ), bộ đếm xuống ( CTD ) và bộ đếm lên xuống (CTUD).

Lệnh CTU : Ký hiệu : Các toán hạng :

- CTU : Lệnh đếm lên tác động sườn lên. - Cxxx : Khai báo địa chỉ lệnh,

với xxx là số nguyên có giá trị từ 0 đến 255. - CU ( Count Up) : Đầu vào tác động lệnh đếm lên. - R ( Reset ) : Xoá giá trị thanh ghi số đếm về 0.

- PV ( Preset Value ) : Giá trị đặt trước, là số nguyên có giá trị đến +32.767.

Hoạt động :

Bên trong bộ đếm Cxxx có hai thanh ghi là: thanh ghi số đếmthanh ghi bit.

 Đầu vào CU tác động một xung theo sườn lên thì giá trị thanh ghi số đếm tăng một đơn vị từ giá trị hiện hữu.

 Đầu vào R khi ở mức logic 1 sẽ xoá giá trị thanh ghi số đếm về 0.

 Đầu vào giá trị đặt trước PV do người sử dụng đặt vào.

 Giá trị thanh ghi số đếm luôn được so sánh với gía trị đặt trước PV :

 Nếu giá trị trong thanh ghi số đếm nhỏ hơn giá trị đặt trước : Thanh ghi bit có mức logic là 0 .

 Nếu giá trị trong thanh ghi số đếm lớn hơn hoặc bằng giá trị đặt trước : Thanh ghi bit có mức logic là 1. Khi đó sẽ đảo trạng thái các tiếp điểm có địa chỉ Cxxx tương ứng.

Lệnh CTUD : Ký hiệu : Các toán hạng :

- CTUD : Lệnh đếm lên xuống tác động sườn lên. - Cxxx : Khai báo địa chỉ lệnh,

với xxx là số nguyên có giá trị từ 0 đến 255. - CU ( Count Up) : Đầu vào tác động lệnh đếm lên. - CD ( Count Down) : Đầu vào tác động lệnh đếm xuống. - R ( Reset ) : Xoá giá trị thanh ghi số đếm về 0.

- PV ( Preset Value ) : Giá trị đặt trước, là số nguyên có giá trị từ -32.768 đến +32.767.

Hoạt động :

Bên trong bộ đếm Cxxx có hai thanh ghi là: thanh ghi số đếmthanh ghi bit.

 Đầu vào CU tác động một xung theo sườn lên thì giá trị thanh ghi số đếm tăng một đơn vị từ giá trị hiện hữu.

 Đầu vào CD tác động một xung theo sườn lên thì giá trị thanh ghi số đếm giảm một đơn vị từ giá trị hiện hữu.

 Đầu vào R khi ở mức logic 1 sẽ xoá giá trị thanh ghi số đếm về 0.

 Đầu vào giá trị đặt trước PV do người sử dụng đặt vào.

 Giá trị thanh ghi số đếm luôn được so sánh với gía trị đặt trước PV :

 Nếu giá trị trong thanh ghi số đếm nhỏ hơn giá trị đặt trước : Thanh ghi bit có mức logic là 0 .

 Nếu giá trị trong thanh ghi số đếm lớn hơn hoặc bằng giá trị đặt trước : Thanh ghi bit có mức logic là 1. Khi đó sẽ đảo trạng thái các tiếp điểm có địa chỉ Cxxx tương ứng.

Ví dụ minh hoạ

 Tác động đầu vào I4.0 một xung làm thanh ghi số đếm tăng 1 đơn vị.

 Tác động đầu vào I3.0 một xung làm thanh ghi số đếm giảm1 đơn vị.

 Khi thanh ghi số đếm bằng hoặc lớn hơn giá trị PV=4, thanh ghi bit bằng 1.

 Tác động đầu vào I2.0 mức logic 1 sẽ xoá thanh ghi số đếm về 0.

Lệnh CTD :

Ký hiệu : Các toán hạng :

- CTD : Lệnh đếm xuống tác động sườn lên. - Cxxx : Khai báo địa chỉ lệnh,

với xxx là số nguyên có giá trị từ 0 đến 255.

- CD ( Count Down) : Đầu vào tác động lệnh đếm xuống. - LD ( Load ) : Nạp giá trị PV vào thanh ghi số đếm. - PV ( Preset Value ) : Giá trị đặt trước, là số nguyên.

Bên trong bộ đếm Cxxx có hai thanh ghi là: thanh ghi số đếmthanh ghi bit.

 Đầu vào CD tác động một xung theo sườn lên thì giá trị thanh ghi số đếm giảm một đơn vị từ giá trị hiện hữu.

 Đầu vào LD khi ở mức logic 1 sẽ nạp giá trị PV vào thanh ghi số đếm.

 Đầu vào giá trị đặt trước PV do người sử dụng đặt vào.

 Giá trị thanh ghi số đếm luôn được so sánh với gía trị đặt trước PV :

 Nếu còn giá trị trong thanh ghi số đếm: Thanh ghi bit có mức logic là 0 .

 Nếu giá trị trong thanh ghi số đếm giảm về 0 và không giảm nữa: Thanh ghi bit có mức logic là 1.

Ví dụ minh hoạ :

- Tác động đầu vào I1.0 mức logic 1 sẽ nạp giá trị PV=3 vào thanh ghi số đếm, lúc này thanh ghi bit sẽ xuống mức logic 0.

- Tác động đầu vào I3.0 một xung sẽ làm giảm giá trị thanh ghi số đếm một đơn vị, khi thanh ghi giá trị số đếm bằng 0, thanh ghi bit ở mức logic 1.

*Lệnh so sánh :

Khi lập trình nếu các quyết định về điều khiển được thực hiện dựa trên kết quả của việc so sánh thì có thể sử dụng lệnh so sánh theo byte, từ hay từ kép của S7-200.

LAD sử dụng lệnh so sánh để so sánh các giá trị của byte, từ và từ kép ( giá trị thực hoặc nguyên). Những lệnh so 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 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 toán hạng là bit cao nhất trong từ hoặc từ kép. Ví dụ : 7FFF>8000 và 7FFFFFFF>80000000.

LAD Mô tả Toán hạng

Lệnh so sánh theo kiểu Byte ( từ ) được dùng để so sánh hai giá trị IN1 và IN2.

Trong lệnh so sánh theo kiểu Byte bao gồm : IN1==IN2, IN1 >=IN2, IN1<=IN2, IN1 <IN2, IN1>IN2, IN1 <>IN2.

Tiếp điểm đóng nếu phép so sánh là đúng

Byte được so sánh dạng không dấu.

Toán hạng đầu vào : IB, QB, MB, SMB, VB, SB, LB, AC, hằng số.

Lệnh so sánh theo kiểu số nguyên được dùng để so sánh hai giá trị IN1 và IN2.

Trong lệnh so sánh theo kiểu số nguyên bao gồm : IN1==IN2, IN1 >=IN2, IN1<=IN2, IN1 <IN2, IN1>IN2, IN1 <>IN2. Tiếp điểm đóng nếu phép so sánh là đúng

Số được so sánh dạng có dấu. Toán hạng đầu vào : IW, QW, MW, SMW, VW, SW, LW, AC, T, C, hằng số.

Lệnh so sánh theo kiểu Double Word ( từ kép ) được dùng để so sánh hai giá trị IN1 và IN2. Trong lệnh so sánh theo kiểu số nguyên bao gồm : IN1==IN2, IN1 >=IN2, IN1<=IN2, IN1 <IN2, IN1>IN2, IN1 <>IN2. Tiếp điểm đóng nếu phép so sánh là đúng

Số được so sánh dạng có dấu. Toán hạng đầu vào : ID QD, MD, SMD, VD, SD, LD, AC, hằng số.

* Lệnh MOVE:

Trong S7_200 có các hàm Move sau:

Move_B: Di chuyển các giá trị cho nhau trong giới hạn 1 Byte

Move_W: Di chuyển các giá trị nguyên cho nhau trong giới hạn 1 Word

Move_DW: Di chuyển các giá trị nguyên cho nhau trong giới hạn 1 DWord

Move_R: Di chuyển các giá trị thực cho nhau trong giới hạn 1 Dint

* Move_B:

EN: ngõ vào cho phép

IN Ngõ vào: VB, IB, QB, MB, SB, SMB, LB, AC,

Constant, *VD, *LD, *AC

OUT Ngõ ra VB, IB, QB, MB, SB, SMB, LB, AC, *VD, *LD, *AC

Khi có tín hiệu ở ngõ cho phép, lệnh sẽ chuyển nội dung của ô nhớ trong (IN) sang ô nhớ trong OUT

* MOVE W

EN: ngõ vào cho phép

IN Ngõ vào: VW, IW, QW, MW, SW, SMW, LW, T, C, AIW, Constant, AC,

*VD, *AC, *LD

OUT Ngõ ra: VW, T, C, IW, QW, SW, MW,SMW, LW, AC, AQW, *VD, *AC, *LD

Khi có tín hiệu ở ngõ cho phép,lệnh sẽ chuyển nội dung của ô nhớ trong (IN) sang ô nhớ trong OUT

* MOVE_DW

EN: ngõ vào cho phép

IN Ngõ vào: VD, ID, QD, MD, SD, SMD, LD, HC, &VB, &IB, &QB, &MB, &SB, &T,

&C, &SMB, &AIW, &AQW AC, Constant, *VD, *LD, AC

OUT Ngõ ra: VD, ID, QD, MD, SD, SMD, LD, AC, *VD, *LD, *AC

Khi có tín hiệu ở ngõ cho phép,lệnh sẽ chuyển nội dung của ô nhớ trong (IN) sang ô nhớ trong OUT

*MOVE_R

EN: ngõ vào cho phép

IN Ngõ vào: VD, ID, QD, MD, SD, SMD, LD, AC, Constant, *VD, *LD, *AC, *LD

OUT Ngõ ra: VD, ID, QD, MD, SD,

SMD, LD, AC, *VD, *LD, *AC, *LD

khi có tín hiệu ở ngõ cho phép,lệnh sẽ chuyển nội dung của ô nhớ trong (IN) sang ô nhớ trong OUT

Các tín hiệu ngõ vào cũng như ngõ ra của các lệnh Move phải được chọn đúng loại theo đã định như vùng định Dword đối với Move_R và Move_DW…

Nếu chọn sai định dạng sai thì chương trình biên dịch cũng bị sai. *Lệnh xoay vòng bit và dịch chuyển dữ liệu :

Trong lập trình nếu cần ta có thể dùng các lệnh điều khiển dữ liệu nhằm mục đích điều khiển chương trình linh hoạt hơn, đáp ứng được yêu cầu thực tế tự động điều khiển.

Biểu diễn lệnh :

• Lệnh xoay vòng thanh ghi theo kiểu BIT :

• Khi đầu vào EN có một xung sẽ cho phép nhập dữ liệu từ đầu vào DATA vào thanh ghi dịch S_BIT .

• N số Bit trong thanh ghi dịch sẽ được nhập vào bit nhớ đặc biệt SM1.1 • Các toán hạng: DATA, S_BIT : I, Q, M, SM, T, C, V, S, L N : VB, IB, QB, MB, SB, SMB, LB, AC, hằng số

• Lệnh dịch chuyển dữ liệu theo kiểu Byte :

Một phần của tài liệu phân loại sản phẩm theo chiều cao dùng plc và giám sát bằng wincc (Trang 27 - 97)

Tải bản đầy đủ (DOCX)

(97 trang)
w