BÀI 5: CÁC PHÉP TOÁN SỐ CỦA PLC
E. Bài tập thực hành
3. Chức năng dịch chuyển
Dạng lệnh Mô tả chức năng lệnh
L A D
Sao chép nội dung của byte IN sang OUT
Toán hạng:IN:VB, IB, QB,MB, SMB, SB, AC,Cons, *VD,*AC
OUT:VB,IB,QB, MB, SMB, SB, AC,
*VD, *AC STL MOVB IN OUT
L A D
Sao chép nội dung của Word IN sang OUT
Toán hạng:IN:VW,T,C,IW,QW, MW, SMW, SW AC, AIW,Const,*VD,*AC OUT:VW, T, C, IW, QW, MW, SMW, SW, AC, AQW, *VD, *AC
STL MOVW IN OUT L
A D
Sao chép nội dung của Dword(Double Word) IN sang OUT
IN:VD,ID,QD,MD, SD,SMD,HC,HC,
*VD, *AC,&VB,&IB, &QB, &MB, &T,
&C, &SB, Const
OUT:VD,ID,QD,MD, SD, SMD, AC,*VD,*AC
STL MOVD IN OUT L
A D
Sao chép nội dung của Real (số thực) IN sang OUT
Toán hạng:IN:VD,ID,QD,MD, SD, SMD,AC, Cons, *VD,*AC
OUT:VD, ID, QD, MD, SMD, SD, AC,
*VD, *AC STL MOVR IN OUT
L A D
Chép nội dung của một mảng Byte bắt đầu từ địa chỉ byte IN và có N phần tử sang một mảng bắt đầu từ OUT
Toán hạng:IN: VB, IB, QB, MB, SMB SB, *VD, *AC
OUT: VB,IB,QB, MB, SMB,SB, *VD,
*AC
N: VB, IB, QB, MB, SMB, SB, AC,Cons, *VD, *AC
STL BMB IN OUT N L
A D
Chép nội dung của một mảng Word bắt đầu từ địa chỉ byte IN và có N phần tử sang một mảng bắt đầu từ OUT
Toán hạng:IN: VW,T,C,IW,QW, MW, SMW,SW, AIW, *VD, *AC
OUT: VW,T,C,IW, QW, MW,SMW,SW, AQW, *VD,*AC
N: VB,IB,QB,MB, SB,SMB,AC, Const ,
*VD, *AC STL BMW IN OUT
N L
A D
Chép nội dung của một mảng Dword bắt đầu từ địa chỉ byte IN và có N phần tử sang một mảng bắt đầu từ OUT
Toán hạng:IN:VD,ID,QD,MD, SMD, SD,*VD, *AC
OUT: VD,ID,QD, MD, SMD, SD, *VD,
*AC
N: VB,IB,QB,MB, SMB,SB,AC, Const,
*VD, *AC STL BMD IN OUT N
L A D
Hoán đổi nội dung của Byte sang Byte cao và ngược lại của từ IN
Toán hạng:IN:VW, T, C, IW, QW, MW, SMW, SW, AC, *VD, *AC
4.Chức năng chuyển đổi
Lệnh chuyển đổi số nguyên hệ thập lục phân sang led 7 đọan:
Dạng LAD: Dạng STL:
SEG VB0, VB0
Ý nghĩa:
- Lệnh này có tác dụng chuyển đổi các số trong hệ thập lục phân từ 0 đến F chứa trong 4 Bit thấp của byte có địa chỉ ở ngõ vào IN thành giá trị BIT chứa trong 8 bit của byte có địa chỉ ở ngõ ra OUT tương ứng với thanh led 7 đọan . Trong lệnh này byte có địa chỉ ở ngõ vào IN và byte có địa chỉ ở ngõ ra OUT có thể cùng địa chỉ và nằm trong những vùng sau:
IN: VB, IB, QB, MB, SMB,AC, const OUT: VB, IB,AB,MB,SMB,AC
Ví dụ:
Giải thích:
- Khi tiếp điểm I0.0 đóng thì số 7 được ghi vào VW0, sau đó tiếp điểm I0.1 đóng thì giá trị chứa trong 4 bit thấp của byte VB0 chuyển thành 8 bit chứa trong thanh ghi AC0. Ta có thể minh họa theo bit như sau:
Lệnh chuyển đổi số mã BCD sang số nguyên:
Dạng LAD: Dạng STL:
BCDI VW0
Ý nghĩa:
- Lệnh này thực hiện phép biến đổi một số nhị thập phân 16 bit chứa trong word có địa chỉ ở ngõ vào IN sang số nguyên 16 bit chứa trong word có địa chỉ ở ngõ ra OUT. Đặc biệt ở đây word có địa chỉ ở ngõ vào IN và word có địa chỉ ở ngõ ra OUT có thể cùng một địa chỉ. Địa chỉ này thường nằm trong các vùng sau:
IN: VW, T, C, IW, QW, MW, SMW, AC, AIW, const OUT: VW, T, C, IW, QW, MW, SMW, AC.
Ví dụ:
Giải thích:
- Khi I0.0 đóng , giá trị 1124 theo mã BCD là 0001 0001 0010 0100 được ghi vào địa chỉ AC0. Tiếp điểm I0.1 đóng thì giá trị BCD đó được chuyển sang số nguyên và lưu vào AC0. Ta biểu diễn theo bit như sau:
Lệnh chuyển đổi số nguyên sang mã BCD
Ý nghĩa:
- Lệnh này thực hiện phép biến đổi một số nguyên 16 bit chứa trong word có địa chỉ ở ngõ vào IN sang số nhị thập phân 16 bit chứa trong word có địa chỉ ở ngõ ra OUT. Đặc biệt ở đây word có địa chỉ ở ngõ vào IN và word có địa chỉ ở ngõ ra OUT có thể cùng một địa chỉ.
- Địa chỉ này thường nằm trong các vùng sau:
IN: VW, T, C, IW, QW, MW, SMW, AC, AIW, const OUT: VW, T, C, IW, QW, MW, SMW, AC.
Lệnh chuyển đổi số nguyên sang số thực:
Dạng LAD: Dạng STL:
DTR VD0, VD0
Ý nghĩa:
- Lênh này thực hiện phép biến đổi một số nguyên 32 bit có địa chỉ ở ngõ vào IN thành số thực 32 bit rồi ghi vào Dword có địa chỉ ở ngõ ra OUT. Trong đó tóan hạng IN và OUT có thể cùng điạ chỉ và thuộc một trong các vùng sau:
IN: VD, ID, QD, MD, SMD, AC, HC, const OUT: VD, ID, QD, MD, SMD, AC
Lệnh chuyển đổi số thực sang số nguyên:
Dạng LAD: Dạng STL:
TRUNC VD0, VD0
Ý nghĩa:
- Lênh này thực hiện phép biến đổi một số thực 32 bit chứa trong Dword có địa chỉ ở ngõ vào IN thành số nguyên 32 bit rồi ghi vào Dword có địa chỉ ở ngõ ra OUT. Trong đó toán hạng IN và OUT có thể cùng điạ chỉ và thuộc một trong các vùng sau:
IN: VD, ID, QD, MD, SMD, AC, HC, const OUT: VD, ID, QD, MD, SMD, AC.
5.Chức năng toán học -
Dạng lệnh Mô tả chức năng lệnh L
A D
Lệnh cộng hai số nguyên 16 bit IN1 và IN2 kết quả là một số nguyên OUT 16 bit. Trong STL thì kết quả ghi vào IN1
Toán hạng:IN1,IN2:VW, T, C, IW, QW, MW, SMW, SW, AC, AIW, Constan, *VD, *AC OUT:VW,T,C, IW, QW, MW, SMW, SW, AC,
*VD, *AC ST
L
+I IN1 IN2 L
A D
Lệnh cộng hai số nguyên 32 bit IN1 và IN2 kết quả là một số nguyên OUT 32 bit. Trong STL thì kết quả ghi vào IN1
Toán hạng:IN1,IN2: VD,ID, QD, MD, SMD, SD, AC, HC, Constant, *VD, *AC
OUT:VD, ID, QD, MD, SMD, SD, AC, *VD,
*AC ST
L
+D IN1 IN2 L
A D
Lệnh cộng hai số thực 32 bit IN1 và IN2 kết quả là một số thực OUT 32 bit. Trong STL thì kết quả ghi vào IN1
Toán hạng:IN1, IN2: VD, ID, QD, MD, SMD, SD, AC, Constant, *VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC, *VD,
*AC ST
L
+R IN1 IN2
L A D
Lệnh trừ hai số nguyên 16 bit IN1 và IN2 kết quả là một số nguyên OUT 16 bit. Trong STL thì kết quả ghi vào IN1
Toán hạng:IN1,IN2:VW,T,C, IW, QW,MW,SMW, SW, AC,AIW, Cons, *VD,
*AC
OUT:VW,T,C, IW, QW, MW, SMW, SW, AC,
*VD, *AC ST
L
-I IN1 IN2
L A D
Lệnh trừ hai số nguyên 32 bit IN1 và IN2 kết quả là một số nguyên OUT 32 bit. Trong STL thì kết quả ghi vào IN1
Toán hạng:IN1,IN2:VD, ID, QD, MD, SMD, SD, AC, HC, Constant, *VD, *AC
OUT:VD, ID, QD, MD, SMD, SD, AC, *VD,
*AC ST
L
-D IN1 IN2 L
A D
Lệnh trừ hai số thực 32 bit IN1 và IN2 kết quả là một số thực OUT 32 bit. Trong STL thì kết quả ghi vào IN1
Toán hạng:IN1,IN2:VD,ID,
QD,MD,SMD,SD, AC, Const,*VD,*AC
OUT:VD, ID, QD, MD, SMD, SD, AC, *VD,
*AC ST
L
-R IN1 IN2 L
A D
Lệnh thực hiện phép nhân giữa hai số nguyên 16 Bit IN1 và IN2 và cho kết quả 32 Bit ghi vào từ kép 32 bit OUT, còn trong STL thì ghi vào IN2
Toán hạng:IN1,IN2:VW,T,C, IW, QW,MW, SMW, SW, AC, AIW, Const, *VD, *AC
OUT:VD, ID, QD, MD, SMD, SD, AC, *VD,
*AC ST
L
MUL IN1 IN2
L A D
Lệnh thực hiện phép nhân giữa hai số thực 32 bit IN1 và IN2 và cho là số thực 32 Bit ghi vào từ kép OUT, còn trong STL thì ghi vào IN2 Toán hạng:IN1,IN2:VD,ID, QD, MD,SMD, SD, AC, Const,*VD,*AC
OUT:VD, ID, QD, MD, SMD, SD, AC, *VD,
*AC ST
L
*R IN1 IN2 L
A D
Lệnh thực hiện phép chia giữa hai số nguyên 16 bit IN1 và IN2 và cho kết quả là số thực 32 bit ghi vào từ kép OUT, còn trong STL thì ghi vào IN2
Toán hạng:IN1,IN2:VW,T,C, IW,QW,MW, SMW, SW, AC, AIW, Constant,*VD,*AC OUT:VD,ID,QD, MD, SMD, SD, AC, *VD,
*AC ST
L
DIV IN1 IN2
L A D
Lệnh thực hiện phép nhân giữa hai số thực 32 bit IN1 và IN2 và cho kết quả là số thực ghi vào từ kép 32 bit OUT, trong STL thì ghi vào IN2
Toán hạng:IN1,IN2:VD,ID,QD, MD,SMD,SD,AC, Const,*VD, *AC
OUT:VD,ID,QD, MD, SMD,SD,AC, *VD,
*AC ST
L
/R IN1 IN2
L A D
Lệnh tăng giá trị Bit IN lên một đơn vị kết quả ghi vào OUT. Trong STL kết quả ghi vào IN luôn
Toán hạng:IN:VB,IB,QB,MB, SMB, SB, AC, Const,*VD, *AC
OUT:VB,IB,QB, MB, SMB, SB, AC, *VD,
*AC ST
L
INCB IN
L A D
Lệnh tăng giá trị Word IN lên một đơn vị kết quả ghi vào OUT. Trong STL kết quả ghi vào IN luôn
Toán hạng:IN:VW,T,C,IW, QW, MW, SMW, SW, AC, AIW, Const, *VD, *AC
OUT:VW,T,C, IW, QW, MW, SMW, SW,AC,*VD, *AC
ST L
INCW IN
L A D
Lệnh tăng giá trị Double Word IN lên một đơn vị kết quả ghi vào OUT. Trong STL kết quả ghi vào IN
Toán hạng:IN:VD,ID,QD, MD, SMD, SD, AC, HC, Const, *VD, *AC
OUT:VD, ID, QD, MD, SMD, SD, AC, *VD,
*AC ST
L
INCD IN L
A D
Lệnh giảm giá trị Bit IN đi một đơn vị kết quả ghi vào OUT. Trong STL kết quả ghi vào IN Toán hạng:IN:VB, IB, QB, MB, SMB, SB, AC, Constant, *VD, *AC
OUT:VB, IB, QB, MB, SMB, SB, AC, *VD,
*AC ST
L
DECB IN
L A D
Lệnh giảm giá trị Word IN đi một đơn vị kết quả ghi vào OUT. Trong STL kết quả ghi vào IN
Toán hạng: IN:VW,T,C,IW, QW,MW, SMW,SW,AC,AIW, Const,*VD,*AC
OUT: VW,T,C, IW, QW,MW,SMW,SW, AC,*VD,*AC
ST L
DECW IN L
A D
Lệnh giảm giá trị Double Word IN đi một đơn vị kết quả ghi vào OUT. Trong STL kết quả ghi vào IN
Toán hạng:IN:VD, ID, QD, MD, SMD, SD, AC, HC, Const, *VD, *AC
OUT:VD,ID,QD, MD,SMD,SD,AC, *VD,
*AC ST
L
DECD IN
L A D
Lệnh thực hiện việc lấy căn bậc hai của một số IN kết quả ghi vào số OUT 32 bit
Toán hạng:IN:VD,ID,QD, MD, SMD,SD, AC, Const,*VD, *AC
OUT:VD, ID, QD, MD, SMD,SD, AC, *VD,
*AC