Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (390.91 KB, 85 trang )
/R IN1, IN2
(5)
được ghi lại vào IN2
Thực hiện phép chia hai số thực (32bít) IN1và IN2. Kết
AND DIN1,IN2
quả được ghi lại vào IN2
Thực hiện toán tử logíc AND giữa các giá trị kiểu từ kép
ANDWIN1,IN2
IN1 và IN2. Kết quả được ghi lại vào IN2
Thực hiện toán tử logíc AND giữa các giá trị kiểu từ
ATCH
IN1 và IN2. Kết quả được ghi lại vào IN2
Khai báo chương trình xử lý ngắt INTtheo kiểu EVENT
INT,EVENT
ATT
Biến đổi một xâu ký tự từ mã ASCII từ vị trí IN (kiểu
IN,OUT,LEN
byte) với độ dài LEN (kiểu byte) sang mã hexa (cơ số
ATT
16) và ghi vào mảng kể từ byte OUT
Nối một giá trị kiểu từ DATA (2 byte) vào bảng TABLE
DATA, TABLE
BCDI
IN
Biến đổi một xâu ký tự từ mã BCD có độ dài 2 byte sang
BMB IN, OUT, N
kiểu nguyên. Kết quả được ghi lại vào IN
Sao chép một mảng gồm N byte kể từ vị trí đầu IN (byte)
BMW IN, OUT, N
vào mảng có vị trí đầu là OUT (kiểu byte)
Sao chép một mảng từ ( 2 byte ) có độ dài N (1 byte) và
vị trí đầu IN ( 2 byte) vào mảng có vị trí đầu là OUT (2
(6) (1)
CALL n
CRET (3) (!0 (4)
CRETI
(3) (2) (4)
byte)
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ả điều khiển về
chương trình đã gọi nó
Kết thóc một chương trình sử lý ngắt và trả điều khiển về
DECD IN
DECO IN, OUT
chương trình chính
Giảm giá trị của từ kép IN đi một đơn vị
Gải mã giá trị của 1 byte In, sau đó gan giá trị 1 vào bít
DECW IN
DISI (1)
DIV IN1, IN2
của tù OUT (2 byte) có chỉ số là IN
Giảm giá trị của từ IN đi một đơn vị
Vô hiệu hoá tất cả các ngắt (Interrupt)
Chia số nguyên 16 bít, được xác định là từ thấp của IN2
(kiểu từ kép), cho IN1 kiểu từ. Kết quả được ghi lại vào
DTCH EVENT
IN2
Vô hiệu hoá một ngắt kiểu EVENT
DTR IN, OUT
( 5)
ENCO IN, OUT
Chuyển đổi một số nguyên 32 bít IN có dấu sang thành
một số thực 32 bít OUT
Chuyển đổi chỉ số của bít thấp nhất có giá trị lôgíc
1trong từ IN sang thành một số nguyên và ghi vào 4 bít
cuối của byte OUT
Đặt tất các ngắt vào chế độ tích cực
TABLE Lấy giá trị đã được cho vào đầu tiên ra khỏi bảng và
(1)
ENI
FIFO
DATA (5)
chuyển nó đến vùng dữ liệu DATA được chỉ dẫn trong
FILL IN, OUT, N
lệnh
Đổi giá trị của từ IN vào một mảng nhớ gồm N từ (N có
kiểu byte) bắt đầu từ vị trí OUT (kiểu từ)
< SRC Xác định vị trí ô nhớ trong bảng SRC (kiểu từ ) kể từ ô
FND
PATRN, INDX(5)
FND
<
>
PATRN (kiểu từ )
SRC Xác định vị trí ô nhớ trong bảng SRC (kiểu từ ) kể từ ô
PATNR, INDX
FND
>
cho bởi INDX mà ở đó giá trị lớn hơn giá trị của PATRN
(kiểu từ )
= SRC Xác định vị trí ô nhớ trong bảng SRC (kiểu từ ) kể từ ô
PATRN, INDX(5)
FOR
cho bởi INDX mà ở đó giá trị khác giá trị của PATRN
(kiểu từ )
SRC Xác định vị trí ô nhớ trong bảng SRC (kiểu từ ) kể từ ô
PATRN, INDX(5)
FND
cho bởi INDX mà ở đó giá trị nhỏ hơn giá trị của
cho bởi INDX mà ở đó giá trị bằng giá trị của PATRN
(kiểu từ )
INDEX Thực hiện các lệnh nằm giữa FOR và NEXT theo kiểu
INITIAL, FINAL(1) xoay vòng với bộ đếm số vòng INDEX (kiểu từ ), bắt
(5)
HDEF
MODE(1)
HSC n
HTA IN
đầu vòng số NITIAL (kiẻu từ ) và kết thúc tại vòng số
,
FINAL (từ )
HSC Xác định kiểu thuật toán MODE cho bộ đếm tốc độ cao
HSC (byte)
Đưa bộ đếm tốc độ cao số nvào trạng thái tích cực
, OUT Chuyển đổi một số hệ heax IN (kiếu byte ) thành dãy ký
LEN
tự mã ASCII và ghi vào mảng byte bắt đầu bằng byte
IBCD IN
OUT với độ dài LEN (kiểu byte )
Chuyển đổi giá tri nguyên IN (kiếu từ ) thành giá trị
INCD IN
INCW IN
INVD IN
BCD và ghi lại vào IN
Tăng giá trị của từ kép IN lên một đơn vị
Tăng giá trị của một từ IN lên một đơn vị
Lấy phần bù kiểu một (đảo giá trị logíc của các bít ) của
JMP
mọt từ kép IN và ghi lại vào IN
Chuyển điều khiển vào ô nhớ chỉ định bằng nhãn xx
xx
trong chương trình khai báo bởi lệnh LBL
TABLO, Lấy giá trị đã được cho vào bảng sau cùng ra khỏi bảng
LIPO
DATA(5)
MOVB IN, OUT
MOVD IN, OUT
MOVR IN, OUT(5)
MOVW IN, OUT
MUL IN1, IN2
TABLE và chuyển nó đến vùng dữ liệu DATA (kiểu từ )
Sao gí tri của byte IN sang byte OUT
Sao giá trị của từ kép IN sang từ kép OUT
Sao số thực IN sang OUT
Sao giá trị của từ IN sang OUT
Nhân số nguyên 16 bít IN1 với hai byte thấp của số
NETR
nguyên 32 bít IN2 sau đó ghi lại kết quả vào IN2
TABLE, Khởi tạo sự truyền thông để đọc dữ liệu từ ngoại vi qua
PORT(5)
NETW
cæng PORT vào bảng TABLE
TABLE, Khởi tạo sự truyền thông để ghi dữ
liệu của bảng
PORT(5)
ORD IN1, IN2
TABLE ra ngoại vi qua cæng PORT
Thực hiện toán tử OR cho hai từ kép IN1 và IN2, sau
ORW IN1, IN2
đó ghi lại kết quả lại vào IN2
Thực hiện toán tử OR cho hai từ IN1 và IN2, sau đó
PLS
X
ghi lại kết quả lại vào IN2
Đưa bộ phát xung nhanh đã được định nghĩa trong bộ
(5)
nhớ đặc biệt vào trạng thái tích cực. Xung được ra cổng
R S_BIT, n
RI
S_BIT, n
RLT IN, N
RLW IN, N
RRD IN, N
RRW IN, n
S
S_BIT,n
QO. X.
Xoá một mảng gồm n bít kể từ địa chỉ S_BIT (kiểu bít)
Xoá tức thời một mảng gồm n bít kể từ địa chỉ S_BIT
Quay tròn từ kép IN sang trái N bít
Quay tròn từ IN sang trái N bít
Quay tròn từ kép IN sang phải N bít
Quay tròn từ IN sang phải N bít
Đặt giá trị lôgic 1 vào một mảng n bít kể từ địa chỉ
SEG IN, OUT
S_BIT
Chuyển đổi giá trị của 4 bít thấp trong byte IN sang
SHRB
thành mã tương ứng cho thanh ghi 7 nét và ghi vào OUT
DATA, Dịch thanh ghi gồm n bít có bít thấp nhất là S_BIT sang
S_BIT, n
trái nếu n> 0 hoặc sang phải nếu n< 0. Giá trị của bít
DATA dược dua vào bít trống của thanh ghi sau khi dịch
SI S_BIT, n
(bít S_BIT nếu N> 0hoặc bít S_BIT- N nếu n< 0)
Đặt tức thời giá trị logic 1 vào mảng n bít kể từ bít
SLD IN, N
SLW IN, N
STOP
SWAP IN
S_BIT
Dịch từ kép IN sang trái một bít
Dịch từ IN sang phải 1 bít
Dõng “ mềm “ chương trình
Đổi chỗ hai bít đầu tiên và cuối cùng của byte IN cho
TOIDR
TON
T
(5)
TXX , PT
nhau
Đọc giờ và ngày tháng sau hiện thời từ đồng hồ và ghi
vào bộ đệm 8 byte có byte đầu là T
Khởi động bộ phát thời gian trễ T XX với thời gian trễ đặt
trước là tích cuả PT (kiểu từ ) và độ phân giải của bộ thời
TONR TXX PT
gian TXX được chọn
Khởi động bộ phát thời gian trễ có nhớ T XX với thời gian
trễ đặt trước là tích cuả PT (kiểu từ ) và độ phân giải của
TRUNC IN, OUT
WDR
XMT
TABLE, PORT
XORD IN1, IN2
XORW IN1, IN2
bộ thời gian TXX được chọn
Chuyển đổi một số thực 32 bít IN thành một số nguyên
32 bít có dấu và ghi vào OUT.
Đặt chuẩn lại bộ phát xung kiểm tra (watchdog timer )
Truyền nội dung của bảng TABLE đến cổng PORT
Thực hiện toán tử exclsive OR cho các bít của hai từ
kép IN1 và IN2. Kết quả được ghi lại vào IN2
Thực hiện toán tử exclsive OR cho các bít của hai từ
IN1 và IN2. Kết quả được ghi lại vào I
Bảng 3.: Các lệnh đặt nhãn (label)
Tên lệnh
INT n(1) (2) (4)
LBL
xx
(1) (5) (7)
NEXT
NOP
XBR n (1) (2) (4)
ý nghĩa
Khai báo nhãn n cho chương trình sử lý ngắt
Đặt nhãn xx trong chương trình, định hướng cho lệnh
nhẩy JMP
Lệnh kết thúc vòng lặp FOR...NEXT
Lệnh rỗng (n o operation)
Khai báo nhãn n cho chương trình con
( (1)
Những lệnh không thực hiện được trong chương trình sử lý ngắt. lệnh INT
chỉ có thể được sử dụng là lệnh bắt đầu cuả chương trình xử lý ngắt
(2)
Những lệnh không thực hiện được trong một chương trình con. Lệnh SBR
chỉ có thể là lệnh bắt đầu của chương trình con.
(3)
Nhũng lệnh có kèm chức năng ghi lại nội dung của stack trước đó.
(4)
Những lệnh không sử dụng đựơc trong chương trình chính.
(5)
Những lệnh chỉ cho CPU 214.
(6)
Ghi nhớ lại nội dung tức thời của stack. Đặt TOP lên một và gsn giá trị logíc
O vào các bít còn lại của ngăn xếp
(7)
Đặt TOP lên 1.
4.3.3 Lệnh vào / ra.
Load (LD) : lệnh LD nạp giá trị logic của một tiếp điẻm vào trong bít đầu
tiên của ngăn xếp, các giá trị cũ còn lại trong ngăn xếp bị đảy lùi xuống
một bít
Load Not (LDN): Lệnh LDN nạp giá trịlôgíc nghịc đảo của một tiếp điểm
vào trong bít đầu tiên của ngăn xếp, các giá trị cũ còn lại trong ngăn xếp
bị đẩy lùi xuống 1bít.
Các dạng khác nhau của lệnh LD, LDN cho LAD nh sau:
LAD
N
ý nghĩa
Tiếp điểm sễ được đóng nếu n = 1
Toán hạng
n : 1, Q, M, SM, T,
CV
N
Tiếp điểm thường mở sẽ được mở khi n =
1
N
Tiếp điểm thường mở sẽ đóng tức thời khi
n=1
( bít)
N
Tiếp diểm thường đóng sẽ được mở khi
n=1
Các dạng khác nhau của lệnh LD, LDN cho STL nh sau :
Lệnh
LD
ý nghĩa
Toán hạng
Lệnh nạp giá trị logíc của điểm n vào n : I, Q, M, SM,
n
LDN n
bít đầu tiên trong ngăn xếp
T, (bít ) C, V
Lệnh nạp giá trị logíc nghịch đảo của
LDI n
điểm n vào bít đầu tiên trong ngăn xếp
Lệnh nạp tức thời giá trị logíc của điểm
LDNI
n vào bít đầu tiên trong ngăn xếp
Lệnh nạp túc thời giá trị logíc nghịch
n
n :I
(bít )
đảo của điểm n vào bít đầu tiên trong
ngăn xếp
Lệnh OUTPUT (=) lệnh sao chép nội dung của bít đầu tiên trong ngăn
xếp vào bít được chỉ định trong lênh. Nội dung của ngăn xếp không bị
thay đổi
Mô tả lệnh = bằng LAD nh sau:
LAD
ý nghĩa
Toán hạng
Cuộn dây đầu ra ở trạng thái kích thích khi có n : I, Q, M, SM,
n
( )
dòng điều khiển đi qua
n
( )
T, C, V (bít)
Cuộn dây đầu ra được kích tức thời khi có n : Q (bít )
dòng điều khiển đi qua
Mô tả lệnh = bằng STL như sau:
STL
= n
ý nghĩa
Toán hạng
Lệnh = sao chép giá trị của đỉnh ngăn xếp tới tiếp n : I, Q, M, SM, T,
điểm n được chỉ dẫn trong lệnh
C, V. ( bít )
=I
n
Lệnh = I (Inmediate) sao chép tức thời giá trị của
n:
Q (bít)
đỉnh stack tới tiếp điểm n được chỉ dẫn trong lệnh
4.3.4 Các lệnh ghi / xoá giá trị cho tiếp điểm.
Lệnh SET (S) và RESET ( R )
Lệnh dùng để đóng và ngắt các điểmb gián đoạn đã đựơc thiết kế. Trong
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 đến các cuộ dây thì các cuộn day đóng hoặc mở các
tiếp điểm ( hoặc một dãy các tiếp điểm)
Trong STL, lệnh truyền trạng thái bít đầu của ngăn xếp đến các
điểm thiết kế. Nếu bít này có giá trị bằng 1, các Lệnh S và R sẽ đóng ngắt
tiếp điểm hoặc một dãy các tiếp điểm ( giới hạn từ 1 đến 255 ).Nội dung
của ngăn xếp không bị thay đổi bởi các lệnh này
Mô tả lệnh S và R bằng LAD
LAD
S BIT
ý nghĩa
Toán hạng
Đóng một mảng gồm n các tiếp điểm kể S_BIT: E, Q, M,
n
(S)
từ S_BIT
SM, T, C, T (bít)
n:
Ngắt một mảng gồm n các tiếp điểm kể
S BIT
n
từ S_BIT. Nếu S_BIT lai chỉ vào Timer
hoặc Counter thì lệnh sẽ xoá bít đầu ra
(R)
S BIT
(SI)
n
của
IB, QB, MB, SMB, VB
(byte)
AC, hằng số ,
* VD, * AC
Timer / Counter đó.
Đóng tức thời một mảng gồm n các tiếp S_BIT: Q
điểm kể từ S_BIT
(bít)
S BIT
n
(RI)
Đóng tức thời một mảng gồm n các tiếp n : IB, QB, MB, SMB,
điểm kể từ địa chỉ S_BIT
VB
(byte) AC, hằng số,
*VD , *AC
Mô tả các lệnh S (Set) và R (Reset) bằng STL nh sau:
STL
S S_BIT n
R S_BIT n
SI
S_BIT n
RI S_BIT n
ý nghĩa
Toán hạng
Ghi giá trị logic vào một mảng gồm n bít S_BIT: I,Q, M, SM,
T,C,V
để từ địa chỉ S_BIT
(bít )
Xoá một mảng gồm n bít kể từ địa chỉ
n: IB,QB,MB.SMB,VB
S_BIT. Nếu S_BIT lại chỉ vào Timer (byte) AC, Hằng số
* VD, *AC
hoặc Counter thì lệnh sẽ xoá bít đầu ra
của Timer/ Counter.
Ghi tức thời giá trị logic vào một mảng S_BIT: Q
(bít) .
gồm n bít kể từ địa chỉ S_BIT.
n : IB, QB, MB,
SMB, VB
Xoá tức thời một mảng gồm n bít kể từ (byte) AC, Hằng số,
địa chỉ S_BIT
* VD, *AC
5.3.5 Các lệnh logic đại số BooLean
Các lệnh tiếp điểm đại số BooLean cho phép tạo lập được các
mạch logic ( không có nhớ). Trong LAD các lệnh này được biểu diễn
thông qua cấu trúc mạch mắc nối tiếp hay song song các tiếp điểm thường
đóng và các tiếp điểm thường mở . STL có thể sử dụng các lệnh A(And)
và O (Or) cho các hàm hở hoặc các lệnh AN ( And và Not, ON I ) cho các
hàm kín. Giá trị của ngăn xắp thay đổi phụ thuộc vào từng lệnh
Lệnh
O n
Ý nghĩa
Toán hạng
^
Lệnh thực hiện toán tử (A) và v (O) giữa giá trị N: I, Q, M,
A
logic của tiếp điểm n và giá trị bít đầu tiên trong SM
n
ngăn xếp. Kết quả được ghi lại vào bít đầu của (bít) T, C, V
ngăn xếp
AN
n
Lệnh thực hiện toán tử ^ (A) và v (O) giữa giá trị
ON
n
logic nghịch đảo của tiếp điểm n và giá trị bít đầu
tiên trong ngăn xếp. Kết quả được ghi lại vào bít
AI
đầu của ngăn xếp
n Lệnh thực hiện tức thời toán tử
OI
n giữa giá trị logic của tiếp điểm n và giá trị bít đầu (bít)
^
(A) và v (O) n :
I
tiên trong ngăn xếp. Kết quả được ghi lại vào bít
ANI
đầu của ngăn xếp
n Lệnh thực hiện tức thời toán tử
ONI
n giữa giá trị logic nghịch đảo của tiếp điểm n và
^
(A) và v (O)
giá trị bít đầu tiên trong ngăn xếp. Kết quả được
ghi lại vào bít đầu của ngăn xếp
Ngoài những lệnh làm việc trực tiếp với tiếp điểm, S7-200 còn có 5
lệnh đặc biệt biểu diễn các phép tính của đại số BooLean cho cácbít
trong ngăn xếp, được gọi là lệnh .....stack logic. Đó là các lệnh ALD
(And Load), OLD (Or Load), LPS (logíc.... ), LRD(logic read) và LPP
(logic pop). Lệnh stack logic được dùng để tổ hợp, sao chụp hoặc xoá
các mệnh đề logic. LAD không có bộ đếm dành cho lệnh stack logic.
STL sử dụng các lệnh stack logic để thực hiện phương trình tổng thể có
nhiều biểu thức con.
Lệnh AND (A) và OR (O)
Lệnh A và O phối hợp giá trị logic của một tiếp điểm n với gí trị bít
đầu tiên của ngăn xếp. Kết quả phép tính được đặt lại vào bít đầu tiên
trong ngăn xếp. Giảtị của các bít còn lại trong ngăn xếp không bị thay
đổi.
Lệnh AND LOAD (ALD) và lệnh OR LOAD (OLD).
Lệnh ALD và lệnh OLD thực hiện phép tính logic And và Or giữa
hai bít đầu tiên của ngăn xếp. Kết quả cho phép logíc này sẽ được ghi lại
vào bít đầu trong ngăn xếp. Nội dung còn lại của ngăn xếp được kéo lên
một bít.
Lệnh LOGIC PUSH (LPS),
Lệnh LOGIC READ(LRD) và lệnh LOGIC POP (LPP).
Lệnh LPS, LRD và LPP là những lệnh thay đổi nội dung bít
đầu tiên
của ngăn xếp. Lệnh LPS sao chép nội dung của bít đầu tiên vào bit
thứ hai trong ngăn xếp, nội dung ngăn xếp sau dó bị đảy xuống 1 bít.
Lệnh LRD lấy giá trị của bít thứ hai ghi vào bít đầu tiên của ngăn
xếp nội dung ngăn xếp sau đó được kéo lên 1 bít. Lệnh LPP kéo ngăn
xếp lên 1 bít.
Lệnh ANDW, ANDD,ORW,ORD, XORW, XORD.
Lệnh thực hiện các thuật toán logíc And, Or, và Exclusive Or của
đại số Boolean trên 2 byte (mảng nhiều bít hoặc tiép điểm).
Ngoài các lệnh logic làm việc với tiếp điểm S7-200 cung cấp thêm
những lệnh logic có khả năng thực hiện các thuật toan logic trên mọt
mảng nhiều tiếp điểm ( hay nhiều bít).
4.3.6 Lệnh nhảy và lệnh gọi chương trình con.
Các lệnh của chương trình nếu không có những lệnh điều khiển
riêng, sẽ được thực hiện theo thứ tự từ trên xuống dưới trong một vòng
quét. Lệnh điều khiển chương trình cho phép thay đổi thứ tự thực hiện
lệnh. Chúng cho phép chuyển thứ tự thực hiện, đáng lẽ ra là lệnh tiếp
theo tới một lệnh bất cứ lúc nào khác của chương trình, trong đó nơi điều
khiển chuyển đến phải được đánh dấu trước bằng một nhãn chỉ đích.
Thuộc nhốm lệnh điều khiển chương trình gồm: Lệnh nhẩy, lệnh gọi
chương trình con.Nhãn chỉ đích hay gọi đơn giản là nhãn, phải được đánh
dấu trước khi thực hiện lệnh nhẩy hay lệnh gọi chương trình con.
Việc đặt nhãn cho lệnh nhảy phải nằm trong chương trình. Nhãn
của chương trình con, hoạc chương trình sư lý ngắt được khai báo ở đầu
chương trình. Không thể dùng lệnh nhảy JMB để chuyển điều khiển từ
chương trình chính vào một nhãn bất kỳ trong chương trình con hoặc
trong chương trình xử lý ngắt. Tương tự như vậy cũng không thể từ một
chương trình con hay chương trình sử lý ngắt nhảy vào bát cứ một nhãn
nào nằm ngoài các chương trình đó.
Lệnh gọi chương trình con là lệnh chuyển đièu khiển đến chương
trinh con. Khi chương trình con thực hiện song các phép tính của mình thì
việc điều khiển lại được chuyển trở về lệnh tiêp theo trong chương trình
chính nằm ngay sau lệnh gọi chương trình con. Từ một chương trình con
có thể gọi được một chương trình con khảctong nó, có thể gọi như vậy
nhiều nhất là 8 lần trong S7-200. để quy (trong một chương trình con có
lệnh gọi đến chính nó) về nguyên tắc không bị cấm xong phải dể ý đến
giới hạn trên.
Nếu lệnh nhảy hay lệnh gọi chương trình con được thực hiện thì
đỉnh ngăn xếp luôn có giá trị logic 1. Bởi vậy trong chương trình con các
lệnh có điều kiện được thực hiện như các lệnh không điều kiện. Sau các
lệnh LBL( đặt nhãn) và SBR, lệnh LD trong STL sẽ bị vô hiệu hoá.
Khi một chương trình con được gọi, toàn bộ nội dung của ngăn
xếp sẽ được cất đi, đỉnh của ngăn xếp nhận giá trị logic mới là 1, các bít
khấc còn lại của ngăn xếp nhận giá trị logic 0 và điều khiển được chuyển
đến chương trình con đã được gọi. Khi thực hiện xong chương trình con
và trước khi điều khiển được chuyển trở lại chương trình đã gọi nó, nội
dung ngăn xếp đã được cất giữ trước đó sẽ được chuỷển trở lại ngăn xếp.
Nội dung của thanh ghi AC không được cất giữ khi gọi chương
trinh con nhưng khi một chương trình xử lý ngắn được gọi, nội dung của
thanh ghi AC sẽ được cất giữ trước khi thực hiện chương trình xử lý ngắt
và nạp lại khi chương trình xử lý ngắt đã được thực hiện xong. Bởi vậy
chương trình xử lý ngắt có thể tự do sử dụng 4 thanh ghi AC của S7-200
Lệnh JMP, CALL, LBL và SBR:
Lệnh nhẩy JMP và lệnh gọi chương trình con SBR cho phép
chuyển điều khiển từ vị trí này đến một vị trí khác trong chương trình .