V: Variable Memory, vùng nhớ biến
7. Lệnh làm tròn ROUND (Tròn lên)
ROUND (Tròn lên)
*EN: ngõ vào cho phép *IN: ngõ vào
*OUT: ngõ ra
+ Một giá trị số thực ở ngõ vào được làm tròn và chuyển thành
số DInt ở ngõ ra. Nếu số lẻ >=0.5 thì giá trị số thực sẽ được
làm tròn lên, ngược lại thì làm tròn xuống.
*EN: ngõ vào cho phép *IN: ngõ vào
*OUT: ngõ ra
+Một giá trị số thực ở ngõ vào được làm tròn xuống và chuyển thành số DInt ở ngõ ra. +VD: 5.9 TRUNC 5 8 . Các lệnh về dịch Bit: Lệnh Dịch trái,phải Byte:
*Bit EN : Bit cho phép thực hiện lệnh dịch trái,dịch phải *IN : Byte được dịch
*OUT: Kết quả của Byte dịch *N : Số Byte dịch
+Các Bit dịch ra ngoài,bị loại bỏ +Các số 0 được dịch vào Bit mới +Ví dụ:
*Byte : 1101 1101 Sau lệnh dịch N=3 kết quả:
0001 1011 ( 3 Bit 000 mới được đẩy vào,3 Bit 101 bị đẩy ra)
Tương tự có lệnh dịch trái,phải Word,Dword:
9 . Counter:
Counter Up(đếm lên):
Cxxx: số hiệu counter (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
Counter Down (đếm xuống):
Cxxx: số hiệu counter (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
Counter Up/Down (đếm lên/xuống):
Cxxx: số hiệu counter (0-255)
CU: kích đếm lên Bool 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
10 . 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
a/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
b/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
*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
*EN: ngõ vào cho phép
*IN Ngõ vào: VD, ID, QD, MD, SD, SMD, LD, 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
*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 dạng như vùng Dword đối với Move_R
và Move_DW…Nếu chọn sai định dạng thì chương trình biên dịch sẽ bị sai.
11 . Timer: TON, TOF, TONR.
TON: Delay On. TOF: Delay Off.
TONR: Delay On có nhớ
a/TON:
IN: BOOL: cho phép Timer.
PT: Int: giá trị đặt cho timer(VW, IW, QW, MW, SW, SMW, LW, AIW, T, C, AC, Constant, *VD, *LD, *AC)
Txxx: số hiệu Timer
IN: BOOL: cho phép Timer.
PT: Int: giá trị đặt cho timer(VW, IW, QW, MW, SW, SMW, LW, AIW, T, C, AC, Constant, *VD, *LD, *AC)
Txxx: số hiệu Timer. c/ TONR:
IN: BOOL: cho phép Timer.
PT: Int: giá trị đặt cho timer(VW, IW, QW, MW, SW, SMW, LW, AIW, T, C, AC, Constant, *VD, *LD, *AC)