Phép toán trong S7-

Một phần của tài liệu Sử dụng mạng profibus xây dựng hệ thống điều khiển và giám sát ứng dụng WinCC (Trang 153 - 165)

i. Giao diện điều khiển và giám sát trạm Lưu kho sản phẩm

1.3.5. Phép toán trong S7-

Phép toán AND

Phép toán AND được sử dụng khi có yêu cầu điều khiển là trạng thái của hai hay nhiều tín hiệu đồng thời xảy ra thì sẽ thực hiện một nhiệm vụ điều khiển nào đó.

Hình 2.36: Phép toán AND được biểu diễn ở 3 dạng ngôn ngữ

Phép toán OR

Phép toán OR sẽ được sử dụng khi trạng thái của một trong hai bit (hoặc nhiều) tín hiệu thỏa mãn điều kiện của yêu cầu điều khiển thì sẽ được thực hiện một nhiệm vụ điều khiển nào đó.

Hình 2.37: Phép toán OR

Phép toán XOR

Phép toán XOR được sử dụng khi có hai tín hiệu mà nếu chúng có cùng trạng thái thì ngõ ra sẽ xuống mức 0 còn nếu hai tín hiệu này khác trạng thái thì ngõ ra sẽ lên mức 1.

Hình 2.38: Phép toán XOR

TIMER: TON, TOF, TONR

Các thông số chính: IN: BOOL

PT: INT, là giá trị đặt cho TIMER (VW, IW, QW, MW, SW, SMW, LW, AIW, T, C, AC, CONST, *VD, *LD, *AC).

Txxx: là số hiệu TIMER.

Trong S7 – 200 có tất cả là 256 TIMER, kí hiệu từ T0 – T255. Các số hiệu TIMER trong S7 – 200 như sau:

TIMER Type Resolution Maximum Value TIMER Number

1 ms 32.767 s T0, T64

TON, TOF 100 ms 3276.7 s T37 – T63, T101 – T255

TON:

Hình 2.39: Phép toán TON ở ba dạng ngôn ngử

Khi ngõ vào I0.0 = 1 T37 được kích, nếu sau 100×100ms = 10s mà I0.0 vẫn dữ trạng thái thì Bit T37 sẽ lên 1 (khi đó Q0.0 = 1). Nếu I0.0 =1 không đủ thời gian 10s thì Bit T37 sẽ không lên 1.

Hình 2.41: Phép toán TOF ở 3 dạng ngôn ngữ

Khi ngõ vào I0.0 = 1 thì bit T33 = 1 (ngõ ra Q0.0 = 1 ). Khi I0.0 = 0, thời gian T33 bắt đầu tính, đủ thời gian 1s = 100×10ms thì bit T33 = 0 (Q0.0 =0).

Nếu I0.0 = 0 trong khoảng thời gian chưa đủ 1s đã lên 1 lại thì bit T33 vẫn giữ nguyên trạng thái.

Hình 2.42: Giản đồ thời gian của TOF

TONR:

Hình 2.43: Phép toán TONR

Ngõ vòa I0.0 có tác dụng kích thời gian cho TONR, khi I0.0 = 1 thời gian TONR đủ tính, khi I0.0 = 0 thời gian không bị Reset về 0. Khi đủ thời gian Bit sẽ lên 1.

Thời gian TONR bị Reset khi có tín hiệu Reset Timer (tín hiệu từ I0.1)

CTU:

Cxxx: là số hiệu COUTER (0 – 255)

CU: Kích đếm lên BOOL R: Reset BOOL PV: Giá trị đặt cho COUNTER INT

PV: VW, IW, QW, MW, SMW, LW, AIW, AC, T, C, CONSTANT, *VD, *AC, *LD, SW.

Hình 2.45: Phép toán COUNTER viết ở 3 dạng ngôn ngữ

Mỗi lần có một sườn cạnh lên ở chân CU, giá trị bộ đếm (1 WORD) được tăng lên 1. Khi giá trih hiện tại lớn hơn hoặc bằng giá trị đặt PV, ngõ ra sẽ được bật lên ON. Khi chân Reset được kích (sườn lên) giá trị hiện tại bộ đếm và ngõ ra được trả về 0. Bộ đếm ngừng đếm kkhi giá trị bộ đếm đạt đến trị tối đa là 32767 (216 – 1 ).

Hình 2.46: Giản đồ xung của CTU

CTD:

Cxxx: là số hiệu COUTER (0 – 255)

CD: Kích đếm xuống BOOL LD: Load BOOL PV: Giá trị đặt cho COUNTER INT

PV: VW, IW, QW, MW, SMW, LW, AIW, AC, T, C, CONSTANT, *VD, *AC, *LD, SW.

Mỗi lần có một sườn cạnh lên ở chân CD, giá trị bộ đếm (1 WORD) được giảm xuống 1. Khi giá trị hiện tại của bộ đếm bằng 0, ngõ ra được bật lên ON và bộ đếm sẽ ngưng đếm.

Hình 2.48: Giản đồ thời gian của CTD

CTUD:

Cxxx: là số hiệu COUTER (0 – 255) CU: Kích đếm lên

CD: Kích đếm xuống BOOL R: Reset BOOL PV: Giá trị đặt cho COUNTER INT

PV: VW, IW, QW, MW, SMW, LW, AIW, AC, T, C, CONSTANT, *VD, *AC, *LD, SW.

Hình 2.49: Phép toán CTUD

Mỗi lần có một sườn cạnh lên ở chân CU, giá trị bộ đếm (1 Word) được tăng lên “1”. Mỗi lần có một sườn cạnh lên ở chân CD, giá trị bộ đếm được giảm xuống 1. Khi giá trị hiện tại lớn hơn hoặc bằng giá trị đặt PV, ngõ ra sẽ được bật l ên ON. Khi chân R được kích (sườn lên) giá trị bộ đếm và ngõ Out được trả về 0. Giá trị cao nhất của bộ đếm là 32767 và thấp nhất là – 32767.

Hình 2.50: Giản đồ thời gian của CTUD

Phép toán cộng trừ:

Cộng, trừ hai số nguyên 16 BIT :

 ADD_I: Cộng hai số nguyên 16 BIT  SUB_I: Trừ hai số nguyên 16 BIT

 OUT: VW, IW, MW, QW, SW, SMWW, T, C, AC, *VD, *LD, *AC, INT

 Khi ngõ vào cho phép lên 1 chương trình sẽ thực hiện việc cộng hay trừ hai số nguyên 16 BIT ở IN1, IN2 tương

ứng, kết quả đưa vào OUT.  Tương tự, ta có

 ADD_DI: Cộng hai số nguyên 32 BIT  SUB_DI: Trừ hai số nguyên 32 BIT  ADD_R: Cộng hai số thực

 SUB_R: Trừ hai số thực

• Nhân ,chia hai số nguyên 16 BIT:  MUL_I: Nhân hai số nguyên 16 BIT  DIV_I: Chia hai số nguyên 16 BIT

 EN: Ngõ vào cho phép IN1 * IN2 = OUT (IN1 / IN2 = OUT, nếu kết quả có dư thì phần dư sẽ được bỏ).

 IN1, IN2: VW, IW, MW, QW, SW, SMWW, T, C, AC, LW, AIW, CONSTAN, *VD, *LD, *AC, INT

 OUT: VW, IW, MW, QW, SW, SMWW, T, C, AC, *VD, *LD, *AC, INT

 Khi ngõ vào cho phép lên 1 chương trình sẽ thực hiện việc nhân hay chia hai số nguyên 16 BIT ở IN1, IN2 tương ứng, kết quả đưa vào OUT.

 Trường hợp chia: Vì OUT là số nguyên nên phần dư của phép chia sẽ bị bỏ.

 Trường hợp nhân: Nếu phép nhân bị tràn bộ nhớ thì OUT sẽ chứa phần BYTE thấp.

 Tương tự, ta có

 MUL_DI: Nhân hai số nguyên 32 BIT  DIV_DI: Chia hai số nguyên 32 BIT  MUL_R: Nhân hai số thực

 DIV_R: Chia hai số thực • Phép tăng giảm:

• Tăng, giảm BYTE:  INC_B: Tăng BYTE

 DEC_B: Giảm BYTE

 EN: Ngõ vào cho phép IN1 + 1 = OUT (IN1 – 1 = OUT).

 IN1: VB, IB, MB, QB, SB, SMB, T, C, AC, LB, CONSTAN, *VD, *LD, *AC, BYTE

 OUT: VB, IB, MB, QB, SB, SMB, *VD, *LD, *AC, AC,  Các hàm tương tự:

 INC_W: Tăng WORD  DEC_W: Giảm WORD  INC_DW: Tăng DWORD  DEC_DW: Giảm DWORD • Phép toán so sánh:

• So sánh bằng: Khi IN1 = IN2 thì ngõ ra tích cực

 IN1, IN2: VB, IB, MB, QB, SB, SMB, T, C, AC, LB, CONSTAN, *VD, *LD, *AC, BYTE

 OUT: V, I, M, Q, S, SM, T, C, L, BOOL Tương tự, ta có các hàm so sánh như sau:  So sánh khác: <>

 So sánh lớn hơn hoặc bằng: >=  So sánh nhỏ hơn hoặc bằng: <=  So sánh lớn hơn: >

 So sánh nhỏ hơn: <

Cũng tương tự hàm so sánh cho BYTE, ta có các phép so sánh cho số INT, DINT, REAL. Khi thực hiện các hàm so sánh thì IN1, IN2 phải

Một phần của tài liệu Sử dụng mạng profibus xây dựng hệ thống điều khiển và giám sát ứng dụng WinCC (Trang 153 - 165)

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

(184 trang)
w