Professional Documents
Culture Documents
Baøi Giaûng Thieát Bò Siemens S7-300
Baøi Giaûng Thieát Bò Siemens S7-300
I/ai so Boolean:
Khi mo ta oi tng bang mo hnh toan hoc ta phai bieu dien cac ai lng vao ra cua oi tng,cac ai lng nay la cac ham phu thuoc theo thi gian. Bien hai tr hay con goi la bien Boolean la loai ham so ma mien gia tr cua no ch co 2 phan t,hai phan t o la 0 va 1 Vd: Cong tac la mot bien ngo vao 2 tr : ong (k hieu la 1) va m (k hieu la 0) en hieu la mot bien ngo ra 2 tr : sang (k hieu la 1) va tat (k hieu la 0) Hai bien c goi la oc lap nhau neu s thay oi cua bien nay khong anh hng en bien kia.
2/Cac phep toan tren ham 2 tr: a/Phep Not: x = not(y) y 0 1 b/Phep hp (phep cong): x= y+z y 0 0 1 1 c/Phep giao : x=y^z y 0 0 1 1
X 1 0 z 0 1 0 1 z 0 1 0 1 X 0 1 1 1 X 0 0 0 1
- Chuyen oi t mach rle nut nhan ,en sang viet chng trnh PLC
Cach bieu dien Un trong he c so 10 cha phu hp vi nguyen tac mach ien ( hay nguyen tac ham 2 tr).e s dung nguyen tac ham 2 tr ( so 0 hoac 1) ta a ra 1 khai niem Bit 1 Bit bao gom 2 tr 0 hoac 1,do vay 1 so co the bieu dien trong he nh phan di dang Bit vd: Un = 205 co the c bieu dien di dang 8 Bit: 11001101 7 205 = 1*2 + 1*26 + 0*25 + 0*24 + 1*23 + 1*22 + 0*21 + 1*20
3 / Trong he c so 16 ( he Hexadecimal):
Ngi soan : Ha van Tr 2
Cung giong nh he c so 10,1 nguyen dng bat k cung co the bieu dien trong he c so 16 nh sau: Vd: 7723 = 1E2B = 1* 163 + 14* 162 + 2* 161 + 11*160 E B
Bo nh chng trnh
Bo em vao ra
Timer Bo em Bit c
2/ Cac Tn hieu ket noi vi PLC: a/Tn hieu so : La cac tn hieu thuoc dang ham Boolean, dang tn hieu ch co 2 tr 0 hoac
1. oi vi PLC Siemens : Mc 0 : tng ng vi 0V hoac h mach Mc 1 : Tng ng vi 24V Vd: Cac tn hieu t nut nhan ,t cac cong tac hanh trnh.. eu la nhng tn hieu so b/ Tn hieu tng t : La tn hieu lien tuc, t 0-10V hay t 4-20mA. Vd: Tn hieu oc t Loadcell,t cam bien lu lng c/ Tn hieu khac : Bao gom cac tn hieu giao tiep vi may tnh ,vi cac thiet b ngoai vi khac bang cac giao thc khac nhau nh giao thc RS232,RS485,Modbus.
a/ Modul CPU: Modul CPU la loai Modul cha vi x l,he ieu hanh ,bo nh ,cac bo thi gian
,bo em,cong truyen thong ( RS485). Va co the con co mot vai cong vao ra so.Cac cong vao ra so tren CPU c goi la cong vao ra Onboard. Trong ho PLC S7_300 co nhieu loai CPU khac nhau : CPU 312,CPU 314 ,CPU 315. Nhng Modul cung s dung mot loai bo vi x l ,nhng khac nhau ve cong vao ra onboard cung nh cac khoi ham ac biettch hp san trong th vien cua he ieu hanh phuc vu viec s dung cac cong vao ra onboard nay se c phan biet vi nhau tong ten goi bang ten cum ch cai IFM( viet tat cua Intergrated Function Module ).V du Module CPU 312IFM,Modul314 IFM. Ngoa ra con co cac loai module hai cong truyen thong,trong o cong truyen thong th 2 co chc nang chnh la phuc vu viec noi mang phan tan .Cac loai module CPU c phan biet vi nhng loai CPU khac bang them cum t DP ( Distrubited port)trong ten goi. V du module CPU 315-DP
b/Cac Modul m rong: Cac Modul m rong c chia thanh 5 loai chnh: i/ PS(Power Supply): Modul nguon nuoi ii/ SM ( Signal Module): Modul tn hieu vao ra bao gom: DI ( Digital Input) DO ( Digital Output) DI/DO ( Digital In/Output) AI ( Analog Input ) AO ( Analog Output) AI/AO ( Analog In/Output) iii / IM ( Interface Module) : Modul ghep noi. ay la loai Modul chuyen dung co nhiem vu
noi tng nhom cac Modul m rong lai vi nhau thanh tng mot khoi va c quan l chung bi mot module CPU. Thong thng cac Modul m rong c ga lien vi nhau tren mot thanh goi la Rack. Tren moi mot Rack ch co the ga c nhieu nhat 8 module m rong ( khong ke module CPU ,module nguon nuoi). Mot module CPU co the lam viec trc tiep vi nhieu nhat 4 Rack,va cac Rack nay phai c noi vi nhau bang Module IM IM360 :truyen IM361:nhan. - FM ( Function Module): Cac Modul ieu khien rieng,nh ieu khien Servo,ieu khien PID - CP( Communication Module):Module truyen thong
2/ Tn Hieu: Thong thng co 2 tn hieu Tn hieu so: Tn hieu mc 1 hoac mc 0 ( true hoac False), Vd: I0.0,Q0.0. Tn hieu tng t : La tn hieu analog c oc t cac Modul analog Vd : PIW256. 3/Kieu d lieu va phan chia bo nh: a/Kieu Bool: True hoac False ( 0 hoac 1) VD: M0.0 b/Kieu Byte : gom 8 Bit c/Kieu Word
5
d/Kieu Int e/Kieu Dint f/ Kieu Real h/Kieu S5T: k/ Kieu Char i/Kieu Date j/Kieu Tod:
a/Vung cha chng trnh ng dung : Vung cha chng trnh c chia thanh 3 mien
: i/ OB ( Organisation block) : mien cha chng trnh to chc. ii/ FC ( Function) : Mien cha chng trnh con ,c to chc thanh ham va co bien hnh thc e trao oi d lieu iii/ FB ( Function block) : Mien cha chng trnh con ,c to chc thanh hamva co kha nang trao oi d lieu vi bat c 1 khoi chng trnh nao khac .Cac d lieu nay phai c xay dng thanh mot khoi d lieu rieng ( Data Block khoi DB) b/ Vung cha tham so cua he ieu hanh: Chia thanh 7 mien khac nhau
I ( Process image input ) : Mien d lieu cac cong vao so,trc khi bat au thc hien
chng trnh ,PLC se oc gia tr logic cua tat ca cac cong au vao va cat gi chung trong vung nh I.Thong thng chng trnh ng dung khong oc trc tiep trang thai logic cua cong vao so ma ch lay d lieu cua cong vao t bo em I. Q ( Process Image Output): Mien bo em cac d lieu cong ra so .Ket thuc giai oan thc hien chng trnh,PLC se chuyen gia tr logic cua bo em Q ti cac cong ra so.Thong thng chng trnh khong trc tiep gan gia tr ti tan cong ra ma ch chuyen chung ti bo em Q. M ( Mien cac bien c): CHng trnh ng dung s dung nhng bien nay e lu gi cac tham so can thiet va co the truy nhap no theo Bit (M) ,byte (MB),t (MW) hay t kep (MD). T ( Timer): Mien nh phuc vu bo thi gian ( Timer) bao gom viec lu tr gia tr thi gian at trc ( PV-Preset Value ),gia tr em thi gian tc thi ( CV Current Value) cung nh gia tr Logic au ra cua bo thi gian. C ( Counter): Mien nh phuc vu bo em bao gom viec lu tr gia tr at trc ( PV- Preset Value),gia tr em tc thi ( CV _ Current Value)va gia tr logic au ra cua bo em. PI : Mien a ch cong vao cua cac Modul tng t ( I/O External input). Cac gia tr tng t tai cong vao cua modul tng t se c module oc va chuyen t ong theo nhng a ch.Chng trnh ng dung co the truy cap mien nh PI theo tng Byte ( PIB),tng t PIW hoac tng t kep PID . PQ: Mien a ch cong ra cho cac module tng t ( I/O External Output).Cac gia tr theo nhng a ch nay se c module tng t chuyen ti cac cong ra tng t .Chng trnh ng dung co the truy nhap mien nh PQ theo tng Byte (PQB),tng t (PQW) hoac theo tng t kep (PQD). Ngi soan : Ha van Tr 6
c/ Vung cha cac khoi d lieu: c chia lam 2 loai: DB(Data Block):Mien cha d lieu c to chc thanh khoi .Kch thc cung nh so
lng khoi do ngi s dung quy nh ,phu hp vi tng bai toan ieu khien.Chng trnh co the truy nhap mien nay theo tng bit (DBX),byte (DBB),t (DBW) hoac t kep (DBD). L (Local data block) : Mien d lieu a phng ,c cac khoi chng trnh OB,FC,FB to chc va s dung cho cac bien nhap tc thi va trao oi d lieu cua bien hnh thc vi nhng khoi chng trnh goi no .Noi dung cua mot khoi d lieu trong mien nh nay se b xoa khi ket thuc chng trnh tng ng trong OB ,FC,FB.Mien nay co the c truy nhap t chng trnh theo bit (L),byte(LB) t (LW) hoac t kep (LD).
PLC thc hien chng trnh theo chu k lap .Moi vong lap c goi la vong quet (Scan) .Moi vong quet c bat au bang giai oan chuyen d lieu t cac cong vao so ti vung bo em ao I,tiep theo la giai oan thc hien chng trnh .Trong tng vong quet chng trnh thc hien t lenh au tien en lenh ket thuc cua khoi OB ( Block End).Sau giai oan thc hien chng trnh la giai oan chuyen cac noi dung cua bo em ao Qti cac cong ra so .Vong quet c ket thuc bang giai oan truyen thong noi bova kiem tra loi. Chu y rang bo em I va Q khong lien quan ti cac cong vao ra tng t nen cac leng truy nhap cong tng t c thc hien trc tiep vi cong vat l ch khong thong qua bo em. Thi gian can thiet e PLC thc hien 1 vong quet goi la thi gian vong quet (Scan Time).Thi gian vong quet khong co nh ,tc la khong phai vong quet nao cung c thc hien trong mot khoang thi gian nh nhau .Co vong quet c thc hien lau ,co vong quet c thc hien nhanh tuy thuoc vao so lenh trong chng trnh c thc hien va khoi d lieu truyen thong trong vong quet o. Nh vay gia viec oc d lieu t oi tng e x l ,tnh toan va viec gi tn hieu ieu khien en oi tng co mot khoang thi gian tre ung bang thi gian vong quet .Noi cach khac ,thi gian vong quet quyet nh tnh thi gian thc cua chng trnh ieu khien trong PLC .Thi gian vong quet cang ngan ,tnh thi gian thc cua chng trnh cang cao. Neu s dung cac khoi chng trnh ac biet co che o ngat ,,v du nh khoi OB40,OB80, chng trnh cua cac khoi o se c thc hien trong vong quet khi xuat hien tn hieu bao ngat cung chung loai.Cac khoi chng trnh nay co the c thc hien tai moi iem trong vong quet ch khong b go ep la phai trong giai oan thc hien chng trnh.Chang han neu 1 tn hieu bao ngat xuat hien khi PLC ang giai oan truyen thong va kiem tra noi bo,PLC se ngng cong viec truyen thong ,kiem tra e thc hien khoi chng trnh tng ng vi tn hieu bao ngat o .Vi hnh thc x l tn hieu ngat nh vay,thi gian vong quet se cang ln khi cang co nhieu tn hieu ngat xuat hien trong vong quet .Do o e nang cao tnh thi gian thc cho chng trnh ieu khien ,tuyet oi khong nen viet chng trnh x l ngat qua dai hoac qua lam dung viec s dung che o ngat trong chng trnh ieu khien. Tai thi iem thc hien lenh vao ra ,thong thng lenh khong lam viec trc tiep vi cong vao ra ma ch thong qua bo em ao cua cong trong vung nh tham so.Viec truyen thong gia bo em ao vi ngoai vi trong cac giai oan 1 va 3 do he ieu hanh CPU quan l . 1 so modul CPU ,khi gap lenh vao ra ngay lap tc,he thong se cho dng moi cong viec khac ,ngay ca chng trnh x l ngat,e thc hien lenh trc tiep vi cong vao ra.
Chng trnh trong S7_300 c lu trong bo nh cua PLC vung gianh rieng cho chng trnh va co the c lap vi 2 dang cau truc khac nhau. a/ Lap trnh tuyen tnh: toan bo chng trnh nam trong mot khoi trong bo nh .Loai hnh cau truc tuyen tnh nay phu hp vi nhng bai toan t ong nho,khong phc tap .Khoi c chon phai la khoi OB1 ,la khoi ma PLC luon quet va thc hien cac lenh trong o thng xuyen,t lenh au tien en lenh cuoi cung va quay lai lenh au tien. b/ Lap trnh co cau truc: Chng trnh c chia thanh nhng phan nho va moi phan thc thi nhng nhiem vu chuyen biet rieng cua no,tng phan nay nam trong nhng khoi chng trnh khac nhau .Loai hnh cau truc nay phu hp vi nhng bai toan ieu khien nhieu nhiem vu va phc tap .PLC S7_300 co 4 loai khoi c ban sau: - Loai khoi OB ( Organization Block) : Khoi to chc va quan l chng trnh ieu khien .Co nhieu loai khoi OB vi nhng chc nang khac nhau ,chung c phan biet vi nhau bang mot so nguyen i sau nhom k t OB. V du: OB1,OB35,OB40,OB80,.. - Loai khoi FC (Program block): Khoi chng trnh vi nhng chc nang rieng giong nh 1 chng trnh con hoac mot ham ( chng trnh con co bien hnh thc).Mot chng trnh ng dung co the co nhieu khoi FC va cac khoi FC nay c phan biet vi nhau bang mot so nguyen sau nhom k t FC. V du: FC1,FC2. - Loai khoi FB ( Function Block) :La loai khoi FC ac biet co kha nang trao oi 1 lng d lieu ln vi cac khoi chng trnh khac .Cac d lieu nay phhai c to chc thanh khoi d lieu rieng co ten goi la Data block.Mot chng trnh ng dung co the co nhieu khoi FB va cac khoi Fb nay c phan biet vi nhau bang mot so nguyen sau nhom k t FB.Chang han nh FB1,FB2 - Loai khoi DB ( Data Block) : Khoi cha cac d lieu can thiet e thc hien chng trnh .Cac tham so cua khoi do ngi dung t at .Mot chng trnh ng dung co the co nhieu khoi DB va cac khoi DB nay c phan biet vi nhau bang mot so nguyen sau nhom k t DB V du: DB1,DB2. Chng trnh trong cac khoi c lien ket vi nhau bang cac leng goi khoi ,chuyen khoi.Xem nhng phan chng trnh trong cac khoi nh la cac chng trnh con th S7_300 cho phep goi chng trnh con long nhau ,tc la chng trnh con nay goi mot chng trnh con khac va t mot chng trnh con c goi lai goi ti mot chng trnh con th 3 So cac lenh goi long nhau phu thuoc vao tng chung loai module CPU ma ta ang s dung. V du oi vi module CPU 314 th so lenh goi long nhau nhieu nhat co the cho phep la 8.Neu so lan goi khoi long nhau ma vt qua con so gii han cho phep ,PLC se t chuyen qua che o Stop va at c bao loi. Trong khi khoi OB c thc hien eu an tng vong quet trong giai oan thc hien chng trnh th cac khoi OB khac ch c thc hien khi xuat hien tn hieu bao ngat tng ng ,noi cach khac chng trnh viet cho cac khoi OB nay chnh la chng trnh x l tn hieu ngat (event).Chung bao gom:
OB10 ( Time of Day Interrupt):Chng trnh trong khoi se c thc hien khi gia tr
cua ong ho thi gian thc nam trong mot khoang thi gian a c quy nh.OB10 co the goi mot lan ,nhieu lan cach eu nhau tng phut, tng gi,tng ngay .Viec quy nh khoang thi gian hay so lan goi OB10 c thc hien nh chng trnh he thong SFC28 hoac trong bang tham so cua module CPU nh phan mem Step 7. OB20 ( Time Day Interrupt): Chng trnh trong khoi se c thc hien sau mot khoang thi gian tre at trc ke t khi goi chng trnh he thong SFC32 e at thi gian tre. OB35 (Cyclic Interrupt): Chng trnh trong OB35 se c thc hien cach eu nhau 1 khoang thi gian co nh.Mac nh khoang thi gian nay se la 100ms,xong ta co the thay oi no trong bang tham so cua module CPU ,nh phan mem Step7. OB40 (Hardware Interrupt) : Chng trnh trong OB se c thc hien khi xuat hien 1 tn hieu bao ngat t ngoai vi a vao module CPU thong qua cac cong vao ra so onboard ac biet,hoac thong qua cac module SM,CP,FM OB80 (Cycle Time Fault): Chng trnh trong khoi OB80 se c thc hien khi thi gian vong quet(Scan time) vt qua khoang thi gian cc ai a c quy nh hoac khi co mot tn hieu ngat goi mot khoi OB nao o ma khoi OB nay cha ket thuc lan goi trc.Mac nh thi gian Scan time cc ai la 150ms ,nhng co the thay oi no thong qua bang tham so cua module CPU nh phan mem Step 7. OB81 (Power Supply fault): CPU se goi chng trnh trong khoi OB81 khi phat hien thay co loi ve nguon nuoi. OB82( Diagnostic Interrupt):Chng trnh trong OB82 c goi khi CPU phat hien s co t cac Modul vao ra OB85( Not Load fault):Chng trnh trong OB82 c goi khi CPU phat hien thay chng trnh ng dung co s dung che o ngat nhng chng trnh s l tn hieu ngat lai khong co trong khoi OB tng ng. OB87 ( Communication fault):Khoi OB87 se c goi khi CPU phat hien thay loi trong truyen thong v du nh khong co tn hieu tra li t cac oi tac. OB100 ( Start Up Information):Khoi OB100 se c thc hien 1 lan khi CPU chuyen trang thai Stop sang Run. OB121 ( Synchronous error):Khoi OB121 se c goi khi CPU phat hien thay loi logic trong chng trnh nh oi sai kieu d lieu hoac loi truy nhap khoi DB ,FC,FB khong co trong bo nh CPU. OB122 ( Synchronous error):Khoi OB122 se c goi khi CPU phat hien thay loi truy cap module trong chng trnh,v du chng trnh co lenh truy nhap module vao ra m rong nhng lai khong tm thay module nay.
8/Cac Loai CPU: CPU 312: Bo nh lam viec 16KB ,chu k lenh 0.1us
CPU 312C : Bo nh lam viec 16KB,chu k lenh 0.1us,tch hp san 10DI/6DO,2 Xung
toc o cao 2.5KHz,2 kenh oc xung toc o cao 10Khz. CPU 312IFM : Bo nh lam viec 6KB,chu k lenh 0.6us,tch hp san 10DI/6DO
CPU 313 : Bo nh lam viec 12KB,chu k lenh 0,6us CPU 313C : Bo nh lam viec 32KB,chu k lenh 0,1us, tch hp san 24DI,16DO,5AI
,2AO ,3 Kenh xuat xung toc o cao (2.5Khz) ,3 kenh oc xung toc o cao (30Khz) CPU 313C-2DP: Bo nh lam viec 32KB,chu k lenh 0.1us ,tch hp san 24DI,16DO,5AI ,2AO ,3 Kenh xuat xung toc o cao (2.5Khz) ,3 kenh oc xung toc o cao (30Khz),co 2 cong giao tiep . CPU 313C-2PtP : Bo nh lam viec 32KB,chu k lenh 0.1us ,tch hp san 24DI,16DO,5AI ,2AO ,3 Kenh xuat xung toc o cao (2.5Khz) ,3 kenh oc xung toc o cao (30Khz),co 2 cong giao tiep .
MPI+ PtP connector (RS-422/485 (ASCII, ..) CPU 314: Bo nh lam viec 24KB ,chu k lenh 0.3us CPU 314IFM : Bo nh lam viec 24KB,chu k lenh 0.3us, tch hp san 20DI/16DO ,4AI CPU 314C-2DP:Bo nh lam viec 48KB,chu k lenh 0.1us,tch hp san 24DI / 16DO
,5AI / 2AO , 4 kenh xuat xung toc o cao,4 kenh oc xung toc o cao.2 cong giao tiep . CPU 314C-2PtP:Bo nh lam viec 48KB,chu k lenh 0.1us,tch hp san 24DI / 16DO ,5AI / 2AO , 4 kenh xuat xung toc o cao,4 kenh oc xung toc o cao.2 cong giao tiep . CPU 315 : Bo nh lam viec 48KB ,chu k lenh 0.3us / 1AO
CPU 315-2DP: Bo nh lam viec 48KB ,chu k lenh 0.3us , MPI + DP CPU 315F-2DP : Bo nh lam viec 128KB,chu k lenh 0.3us , 2 cong giao tiep. CPU 316 : Bo nh lam viec 128KB ,chu k lenh 0.3us CPU 316-2DP: Bo nh lam viec 128KB,chu k lenh 0.3us , 2 cong MPI + DP CPU 317-2: Bo nh lam viec 512KB ,chu k lenh 0.3us,2 cong giao tiep MPI + DP CPU 317F-2: Bo nh lam viec 512KB,chu k lenh 0.3us ,2 cong giao tiep MPI + DP (
DP master hoac Slave) CPU 318-2: Bo nh lam viec 256KB ,chu k lenh 0.3us ,2 cong giao tiep MPI + DP ( DP Master hoac Slave). CPU 614: Bo nh lam viec 192KB,chu k lenh 0.3us , tch hp san 512DI/DO
CPU M7: RS232,MPI 64KB SRAM 10/ Cac loai Function Module : FM300: Controller Module: FM 355C PID Module: Module ieu khien PID ,4 kenh ieu khien PID ,4AI + 8DI +
4AO
FM 355S PID Module: Module ieu khien PID ,4 kenh ieu khien PID ,4AI + 8DI +
8DO
10
FM 355 Temperature Controller: Module ieu khien nhiet o 4 kenh 4AI + 8DI + FM 355 Temperature Controller: Module ieu khien nhiet o 4 kenh 4AI + 8DI +
8DO 4AO
M7 Application Module: 4MB,RS232,64KB Sram. CAM Controller : FM352 CAM Module : 1 kenh ieu khien. CNC Controller : NCU 570 FM-NC : ieu khien CNC Counter Module : FM350-1 Counter Module : Module em toc o cao 1 kenh FM350-2 : Module em toc o cao 8 kenh Possition Module : Module ieu khien v tr FM351 FIXED SPEED POS : Module ieu khien v tr FM353 Fstepper Motor : Module ieu khien ong c bc 4DI + 4DO FM354 F Servo Motor : Module ieu khien ong c Servo 4DI + 4DO Modul Nguon :Co 3 loai Modul nguon 10A,5A,2A PS 307 Modul Rack : Chon Rack (Rail) e nh dang cho cau hnh phan cng. Modul SM300 : Bao gom cac loai Modul :
Modul Analog Input (AI): Modul oc 2 kenh,oc 8 kenh vi cac loai tn hieu khac nhau nh dong :4-20mA (theo cach au 2 day va 4 day ) ,oc tn hieu ap 0-10VDC , oc tn hieu RTD,TC Modul AI/AO : Modul va oc AI ,va xuat tn hieu Analog OutPut Modul AO : Modul xuat tn hieu Analog Output. Modul DI : Modul oc tn hieu so Modul DO: Modul xuat tn hieu so Modul DI/DO : Modul va oc va xuat tn hieu so.
DB1.DBX2.3 So bit cua Byte Ten vung nh (khoi DB1) Kieu d lieu la BOOL Mot bien kieu Bool ch co 2 gia tr la 0 hoac 1 (TRUE hoac FALSE). oi vi ngo IN Trang thai mc 0: OV Trang thai mc 1:24V oi vi ngo OUT: Trang thai mc 0: xuat 0V hoac h tiep iem Trang thai mc 1: xuat 24V hoac ong tiep iem * Kieu Byte: 1 Byte = 8 Bit. Suy ra, gia tr 1 Byte trong khoang: 0 -(28-1) hay 0-255 VD: QB0, MB3, VB10, SMB2, DB1,DBB10 QB0 So Byte Ten vung nh Viet tat cua Byte
So Byte
12
So Byte
* Kieu Word: 1 Word = 2 Byte = 16 Bit. Suy ra, gia tr 1 Word trong khoang: 0 -(216-1) VD: IW0, QW0, MW3, DB1.DBW10, QW0 So Word Ten vung nh Viet tat cua Word DB1.DBW10
So WORD
QW0=QB0+QB1, Trong o, QB0 la byte cao, QB1 la Byte thap. DB1.DBW10=DB1.DBB10 + DB1.DBB11
Byte thap Byte cao * Kieu DWord: 1 DWord = 2 Word = 4 Byte = 32 Bit. Suy ra, gia tr 1 Word trong khoang: 0 -(232-1) VD: ID0, QD0, MD3, DB1.DBD10, QD0 So DWord Ten vung nh Ngi soan : Ha van Tr 13
So DOUBLE WORD
MD0=MW0+MW2=MB0+MB1+MB2+MB3, Trong o, MB0 la byte cao nhat,MB3 la Byte thap nhat. * Kieu Int: So nguyen Mot bien kieu Int tng ng mot Word, ngha la dung lng cua 1 bien kieu Int cung gom 16 bit. Tuy nhien, bien kieu Int va Word cung co nhng iem khac nhau nh sau: 1/ Bien kieu Word la bien ko dau, bien kieu Int co dau(bit trong so cao nhat la bit dau). 2/ Gia tr 1 Word: 0 -(216-1), gia tr mot Int (-215) (215-1) 3/ nh dang mot bien kieu Word phai co W#16# ng au, con Int th khong. VD: W#16#1234, W#16#ABCD: mot Word 1,5,100,250: mot Int * Kieu DInt: So nguyen Mot bien kieu DInt tng ng mot DWord, ngha la dung lng cua 1 bien kieu Int cung gom 32 bit. Tuy nhien, bien kieu DInt va DWord cung co nhng iem khac nhau nh sau: 1/ Bien kieu DWord la bien ko dau, bien kieu DInt co dau(bit trong so cao nhat la bit dau). 2/ Gia tr 1 DWord: 0 -(232-1), gia tr mot Int (-231) (231-1) 3/ nh dang mot bien kieu DWord phai co DW#16# ng au. nh dang mot bien kieu DInt phai co L# ng au. VD: DW#16#12345678, DW#16#ABCDABCD: mot DWord L#1,L#5,L# -2,L#12345: mot Dint * Kieu Real: So thc. Mot bien kieu Real 32 bit, ngha la vung nh cung la Dword. nh dang: phai co dau . Thap phan. VD: 1.5, 2.3, 0.09, 1.0, 100.2
14
I/Tap lenh trong S7_300: K hieu: KQ la ket qua thu c sau phep tnh KT la ket qua trc phep tnh A.Thanh Ghi Trang Thai:
Khi thc hien lenh ,CPU se ghi nhan lai trang thai cua phep tnh trung gian cung nh cua ket qua vao mot thanh ghi ac biet 16 Bits,c goi la thanh ghi trang thai ( Status Word) >Mac du thanh ghi trang thai nay co o dai 16 Bits nhng ch s dung 9 Bits vi cau truc nh sau:
BR
CC1
CC0
OV
OS
OR
STA
RLO
FC
-FC ( First check) : Khi phai thc hien mot day cac lenh logic lien tiep nhau gom cac phep
tnh giao ,hp va nghch ao,bit FC co gia tr bang 1,hay noi cach khac ,FC=0 khi day lenh Logic tiep iem va c ket thuc. -RLO (Result of logic operation) : Ket qua tc thi cua phep tnh logicva c thc hien -STA (Status bit) : Bit trang thai nay luon co gia tr logic cua tiep iem c ch nh trong lenh. -OR :Ghi lai gia tr cua phep tnh logic giao cuoi cung c thc hien e phu giup cho viec thc hien phep toan hp sau o.ieu nay la can thiet v trong mot bieu thc ham 2 tr ,phep tnh giao bao gi cung phai c thc hien trc cac phep tnh hp. -OS (Stored overflow bit) : Ghi lai gia tr Bit b tran ra ngoai mang o nh. -OV(Overflow Bit): Bit bao cao ket qua phep tnh b tran ra ngoai mang o nh. -CC0 va CC1 ( Condition code) : Hai bit bao trang thai cua ket qua phep tnh vi so nguyen,so thc phep dch chuyen hoac phep tnh logic trong ACCU CC1 CC0 Y ngha Ket qua bang 0 (=0) 0 0 Ket qua nho hn 0 ( < 0 ) 0 1 Ket qua ln hn 0 ( > 0 ) 1 0
Khi thc hien lenh toan hoc nh cong tr nhan chia vi so nguyen hoac so thc CC0 CC1 Y Ngha Ket qua qua nho khi thc hien lenh cong (+I,+D) 0 0 Ket qua qua nho khi thc hien lenh nhan (*I,*D) hoac qua ln 0 1 1 1 0
1 Khi thc hien lenh toan hoc vi so nguyen nhng ket qua b tran o nh CC0 CC1 Y Ngha Ket qua co so mu e qua ln 0 0 Ket qua co mantissa qua nho 0 1 Ket qua co mantissa qua ln 1 0 Phep tnh sai quy chuan 1 1
Ngi soan : Ha van Tr 15
khi thc hien lenh cong tr (+I,+D,-I,-D) Ket qua qua ln khi thc hien lenh nhan chia (*I,*D,/I,/D ) hoac qua nho khi thc hien lenh cong tr (+I,+D,-I,-D) Ket qua b tran do thc hien lenh chia cho 0 (/I,/D)
Khi thc hien lenh toan hoc vi so thc nnhng ket qua b tran o nh CC0 0 1 CC0 0 1 CC1 0 0 CC1 0 0 Y Ngha
Gia tr cua bit b ay ra bang 0 Gia tr cua Bit b ay ra bang 1
Khi thc hien lenh logic trong ACCU BR ( Binary result bit) : Bit trang thai cho phep lien ket hai loai ngon ng lap trnh STL va
LAD .Chang han cho phep ngi s dung co the viet mot khoi chng trnh FB hoac FC tren ngon ng STL nhng goi va s dung chung trong mot chng trnh khac viet tren LAD .e tao ra c moi lien ket o,ta can phai ket thuc chng trnh trong FB,FC bang lenh ghi BR = 1 ,neu chng trnh chay khong co loi BR = 0 ,neu chng trnh chay co loi Khi s dung cac khoi ham ac biet cua he thong ( SFC hoac SFB) ,trang thai lam viec cua chng trnh cung c thong bao ra ngoai qua bit trang thai BR nh sau: BR=1 neu SFC hay SFB thc hien khong co loi BR=0 neu co loi khi thc hien SFC hay SFB 1/ Lenh ve bit: Tiep iem thng h: KQ=KT neu I0.0=1. KQ=0 neu I0.0=0
Tiep iem thng ong : KQ=KT neu I0.0=0. KQ=0 neu I0.0=1
Lenh Not: KQ thu c bang ao gia tr cua KT Neu KT=1 th KQ=0 ; Neu KT=0 th KQ=1
Xac nh ket qua: Gan KQ tai v tr ma lenh c chen Vd: M0.0 lu ket qua sau 2 phep tnh qua I0.0 va I0.1
16
Lenh RS: Neu I0.0=1 , I0.1=0 th M0.0=1, Q0.0=0 Neu I0.0=0 ,I0.1=1 th M0.0=0 ,Q0.0=1 Neu I0.0=I0.1=0 Th khong co g thay oi. Neu I0.0=I0.1=1 th M0.0=Q0.0=1
Lenh SR: Neu I0.0=1 , I0.1=0 th M0.0=1, Q0.0=1 Neu I0.0=0 ,I0.1=1 th M0.0=0 ,Q0.0=0 Neu I0.0=I0.1=0 Th khong co g thay oi. Neu I0.0=I0.1=1 th M0.0=Q0.0=0
Vi phan canh len : M0.0 lu gia tr KQ vong quet trc Khi I0.0 chuyen trang thai t 0 sang 1 va M0.0 =0 th Q0.0 =1
Vi phan canh xuong: M0.0 lu gia tr KQ vong quet trc Khi I0.0 chuyen trang thai t 1 xuong 0 va M0.0=1 th Q0.0=1
17
Nh vay trong ca 2 lenh vi phan canh xuong va vi phan canh len th Q0.0 ch ON trong 1 chu k tai thi iem thoa ieu kien. Lenh Save : Lu gia trRLO ( KQ) vao Bit c BR (Binary Result Bit)
Lenh NEG: Khi I0.0=1 va I0.1 chuyen trang thai t 1 xuong 0 th Q0.0 ON trong 1 chu k Hay noi cach Khac Q0.0 ch ON tai thi iem thoa ieu kien bai toan.
Lenh POS: : Khi I0.0=1 va I0.1 chuyen trang thai t 0 len 1 th Q0.0 ON trong 1 chu k Hay noi cach Khac Q0.0 ch ON tai thi iem thoa ieu kien bai toan.
2/ Lenh ve Timer : Lenh S_PULSE: Neu I0.0=1 Timer c kch chay,khi I0.0=0 hoac chay u thi gian at 2s th Timer dng Hoac co tn hieu I0.1 th Timer cung dng Timer ch chay lai khi co tn hieu mi t I0.0 ( tc la I0.0 chuyen trang thai t 0 len 1 ) Q0.0=1 khi Timer ang chay. MW100 lu gia tr em cua Timer theo dang Integer MW102 lu gia tr cua Timer theo dang BCD Chc nang cua Timer nay la tao xung co thi gian c at san
18
Lenh S_PEXT: Timer kch co nh,Khi co tn hieu canh len I0.0 Timer T5 chay,neu u thi gian at Timer dng. Trong qua trnh chay neu co tn hieu mi t chan I0.0 th thi gian Timer lai c tnh lai t au. Trong qua trnh chay neu co tn hieu I0.1 th Timer dng Q0.0 =1 khi Timer ang chay. Cac o nh MW100 va MW102 lu gia tr hien thi cua Timer theo dang Integer va dang BCD
Lenh S_ODT: Neu I0.0=1 Timer bat au chay khi u thi gian th ngng khi o ngo Q0.0 se len 1 neu I0.0 van con gi trang thai 1,khi co tn hieu I0.1 th tat ca phai c Reset ve 0
19
Cac o nh MW100 va MW102 lu gia tr hien thi cua Timer theo dang Integer va dang BCD
Lenh S_ODTS: Timer kch co nh,khi co xung canh len I0.0 Timer bat au chay ,ngo ra Q0.0=1 khi Timer ngng va ch tat khi co tn hieu Reset (tn hieu I0.1) Trong qua trnh Timer chay neu co s chuyen oi tn hieu t chan I0.0 them 1 lan na th Timer se nh va tiep tuc chay khi het thi gian lan trc.
20
Lenh S_OFFDT: Khi I0.0 ON , Q0.0 =1 ,khi I0.0 OFF Timer bat au chay va Q0.0 ch tat khi u thi gian va I0.0 van OFF Khi co tn hieu Reset I0.1 th tat ca tn hieu eu OFF
21
Lenh TON:
So hieu timer Gia tr at cho timer So Timer trong S7_300 phu thuoc vao loai CPU. CPU 312: co 128 Timer CPU 313 tr len: co 256 Timer. Co 2 cach cai at gia tr cho Timer: 1/ Cai thong so thi gian trc tiep: e cai gia tr trc tiep cho Timer ta phai them k t S5T# trc gia tr at. Cac k t ke tiep la thong so thi gian muon cai at cho Timer. Tong quat nh sau: S5T#aH_bM_cS_dMS. Trong o: H: gi M: phut S: giay MS: mili giay a,b,c,d: cac thong so cai at. VD: S5T#3S: thi gian cai at la 3s S5T#7S500MS: thi gian cai at la 7,5s S5T#1M8S200MS: thi gian cai at la 1 phut 8 giay 200 ms S5T#1H1M10S: thi gian cai at la 1 gi 1 phu 10 giay.
22
Trong VD tren, khi I0.0 ON, Timer T5 se c kch hoat. u thi gian cai at la 2 s th bit T5 tac ong lam cho Q0.0 ON. Khi ngo vao I0.1 tac ong th Timer c reset. Gia tr hien tai cua Timer cung nh Bit T5 c Reset ve 0.
2/ Cai at thong so thi gian thong qua bien nh: Gia tr cai at cho timer thong qua mot bien kieu WORD 16 bit:
Hai bit cao nhat trong WORD khong s dung Hai bit ke tiep (Time base) cai thong so n v thi gian cho Timer, cu the:
12 bit ke tiep la gia tr cai at thi gian cho Timer di dang so BCD (gia tr t 0-999). Nh trong VD tren th gia tr cai at cho Timer se la 127s. Ngi soan : Ha van Tr 23
Nh vay e co the cai at gia tr cho Timer thay oi theo o nh: Ta phai thc hien cac bc: Gia tr Timer phai be hn hoac bang 999 Chuyen gia tr o sang dang BCD dung lenh I_BCD Sau o chon Time Base theo mong muon nh bang tren bang cach chon 4 Bit au.
TOFF:
Trong VD tren, khi I0.0 ON, Bit T5 se ON ngay khi I0.0 ON. Khi I0.0 chuyen t ON sang OFF, Timer T5 se c kch hoat. u thi gian cai at la 2 s th Timer T5 tac ong, bit T5 OFF lam cho Q0.0 OFF. Khi ngo vao I0.1 tac ong th Timer c reset. Gia tr hien tai cua Timer cung nh Bit T5 c Reset ve 0. Cach cai at thong so thi gian cua Timer OFF tng t nh Timer ON.
TON co nh:
24
Cong ty TNHH TM&DV K thuat SIS So hieu timer Gia tr at cho timer
Trong VD tren, khi I0.0 ON, Timer T5 se c kch hoat. u thi gian cai at la 2 s th bit T5 tac ong lam cho Q0.0 ON. Trong trng hp thi gian cha u 2S ma I0.0 chuyen OFF sang ON mot lan na, gia tr em cua Timer se c khi ong lai. Gia Timer ON va Timer ON co nh con khac nhau mot iem na nh sau: Timer ON: sau khi Timer tac ong, Bit cua Timer c bat ON, neu tn hieu kch Timer mat i th Timer se c Reset, Bit timer se OFF. Timer ON co nh: sau khi Timer tac ong, Bit cua Timer c bat ON, neu tn hieu kch Timer mat i th Timer van khong Reset, Bit timer se van ON. Khi ngo vao I0.1 tac ong th Timer c reset. Gia tr hien tai cua Timer cung nh Bit T5 c Reset ve 0.
Timer xung:
25
Mo ta: Khi I0.0 chuyen t 0 len 1, Timer T5 se c khi ong, ngo ra bit T5 se ON ngay lap tc. Khi het thi gian cai at la 2s th bit T5 OFF (neu ngo vao I0.0 van con ON). Trong trng hp cha u 2s ma ngo vao I0.0 a OFF, Timer se c reset va ngo ra bit T5 OFF. Trong khi Timer chay ma cha u 2s, neu I0.1 chuyen t 0 len 1. Ngo ra bit T5 se OFF va thi gian c reset.
26
Mo ta: Khi I0.0 chuyen t 0 len 1, Timer T5 se c khi ong, ngo ra bit T5 se ON ngay lap tc. Khi het thi gian cai at la 2s th bit T5 OFF (bat ke ngo vao I0.0 van con ON hay a OFF). Trong trng hp cha u 2s ma ngo vao I0.0 chuyen t OFF len ON mot lan na, Timer se c khi ong lai. Khi I0.1 chuyen t 0 len 1. Ngo ra bit T5 se OFF va thi gian c reset.
27
3/ Counter:
Lenh em xuong S_CD: Ngo vao I0.1=1 : a gia tr em vao PV Khi I0.0 chuyen trang thai t 1 sang 0 , C0 giam i 1 Khi I0.2 = 1 Counter b Reset Ngo ra Q0.0=1 khi gia tr em ln hn 0 Ngi soan : Ha van Tr 28
Gia tr bo em hien thi nam trong 2 o nh MW100 va MW102 di dang Integer va dang BCD ,gia tr nay co tam t 0 999. Ngo ra Q0.0=1 khi gia tr em ln hn 0
Mo ta: Khi I0.0 ON, gia tr 100 se c nap cho Counter C5. Khi I0.0 OFF, gia tr Counter se phu thuoc vao cac tn hieu kch em.
So hieu Counter
29
Mo ta: Khi I0.0 chuyen t 0 len 1, gia tr 100 se c nap vao cho Counter C10. C moi xung canh len ngo vao I0.1, bo em C10 se tang 1 n v. Khi gia tr tang en 999 th tn hieu kch tang khong con tac dung. Khi I0.2 chuyen t 0 len 1, gia tr bo em va bit C10 se c reset.
So hieu Counter
Mo ta: Khi I0.0 chuyen t 0 len 1, gia tr 100 se c nap vao cho Counter C10. C moi xung canh len ngo vao I0.1, bo em C10 se giam 1 n v. Khi gia tr giam en 0 th tn hieu kch giam khong con tac dung, ong thi luc o C10 se OFF. Neu bo em khac 0, C10 se ON. Khi I0.2 chuyen t 0 len 1, gia tr bo em va bit C10 se c reset.
4/Lenh So Sanh:
Lenh NE_I ( Not Equal Integer) : So sanh MW100 va MW102,neu 2 so nay khac nhau th KQ=KT.
30
Lenh GT_I ( Greater than Integer) : So sanh 2 so MW100 va MW102 ,neu MW100 ln hn MW102 th KQ=KT
Lenh LT_I ( Less than Integer ) : So sanh 2 so MW100 va MW102,Neu MW100 be hn MW102 th KQ=KT
Lenh GE_I ( Greater than or equal Integer ) : So sanh 2 so MW100 va MW102, Neu MW100 ln hn hoac bang MW102 th KQ=KT
Lenh LE_I ( Less than or equal Integer ) : So sanh 2 so MW100 va MW102, Neu MW100 be hn hoac bang MW102 th KQ=KT
31
Lenh NE_D ( Not Equal Double Integer) : So sanh MD100 va MD104,neu 2 so nay khac nhau th KQ=KT.
Lenh GT_D ( Greater than DoubleInteger) : So sanh 2 so MD100 va MD104 ,neu MD100 ln hn MD104 th KQ=KT
Lenh LT_D ( Less than DoubleInteger ) : So sanh 2 so MD100 va MD104,Neu MD100 be hn MD104 th KQ=KT
Lenh GE_D ( Greater than or equal DoubleInteger ) : So sanh 2 so MD100 va MD104, Neu MD100 ln hn hoac bang MD104 th KQ=KT
Lenh LE_D ( Less than or equal DoubleInteger ) : So sanh 2 so MD100 va MD104, Neu MD100 be hn hoac bang MD104 th KQ=KT
32
Lenh NE_R ( Not Equal Real) : So sanh MD100 va MD104,neu 2 so nay khac nhau th KQ=KT.
Lenh GT_R ( Greater than Real) : So sanh 2 so MD100 va MD104 ,neu MD100 ln hn MD104 th KQ=KT
Lenh LT_R ( Less than Real ) : So sanh 2 so MD100 va MD104,Neu MD100 be hn MD104 th KQ=KT
Lenh GE_R ( Greater than or equal Real ) : So sanh 2 so MD100 va MD104, Neu MD100 ln hn hoac bang MD104 th KQ=KT
33
Lenh LE_R ( Less than or equal Real ) : So sanh 2 so MD100 va MD104, Neu MD100 be hn hoac bang MD104 th KQ=KT
Lenh I_DI : Chuyen oi so nguyen t 16Bit sang so nguyen 32 Bit e thc hien cho cac
phep toan tren so 32 Bit.
Vd: MD100 =22 c nh dang di dang BCD nh sau: 0000 0000 0000 0000 0000 0010 0010 2 2 Sau khi thc hien lenh chuyen oi thanh so DoubleInteger 32 Bit c nh dang: 0000 0000 0000 0000 0000 0000 0001 0110 := 1*24 + 1*22 + 1*21 =22
Lenh DI_R : Chuyen oi t so nguyen 32 Bit sang so thc e phuc vu cho cac phep toan
tren so thc. Vd: MD100= 457 ; Sau phep toan gia tr mi la MD100=457.0
35
Lenh Round : Lenh chuyen oi so thc thanh so nguyen 32 Bit bang cach lam tron
Vd: MD100 = 20.35 lam tron thanh 20
Lenh Trunc: Lenh chuyen oi so thc thanh so nguyen 32 Bit bang cach cat phan nguyen
Vd: MD100 = 20.56 chuyen thanh 20
Lenh Ceil: Lenh chuyen oi so thc thanh so nguyen 32 Bit bang cach lam tron len
Vd: MD100 = 20.04 lam tron len thanh 21
Lenh Floor: Lenh chuyen oi so thc thanh so nguyen 32 Bit bang cach lam tron xuong
Vd: MD100 = 23.45 lam tron xuong con 23
36
Lenh SUB_I : Lenh thc hien viec tr 2 so nguyen 16 Bit ,ket qua cat vao so nguyen 16
Bit , neu ket qua vt qua 16 Bit th c OV se bat len 1 ,c OS se lu Bit b tran o. MW104 = MW100 - MW102
Lenh MUL_I : : Lenh thc hien viec nhan 2 so nguyen 16 Bit ,ket qua cat vao so nguyen
16 Bit , neu ket qua vt qua 16 Bit th c OV se bat len 1 ,c OS se lu Bit b tran o. MW104 = MW100 * MW102
Lenh DIV_I : : Lenh thc hien viec chia 2 so nguyen 16 Bit ,ket qua cat vao so nguyen 16
Bit , neu ket qua vt qua 16 Bit th c OV se bat len 1 ,c OS se lu Bit b tran o. MW104 = MW100 : MW102
b/ Phep Toan tren so nguyen 32 Bit: Lenh ADD_DI : Lenh thc hien viec cong 2 so nguyen 32 Bit ,ket qua cat vao so nguyen
32 Bit,neu ket qua vt qua 32 Bit th c OV se bat len 1 ,c OS se lu Bit b tran o. MD108 = MD100 + MD104
37
Lenh SUB_DI : Lenh thc hien viec tr 2 so nguyen 32 Bit ,ket qua cat vao so nguyen 32
Bit , neu ket qua vt qua 32 Bit th c OV se bat len 1 ,c OS se lu Bit b tran o. MD108 = MD100 - MD104
Lenh MUL_DI : : Lenh thc hien viec nhan 2 so nguyen 32 Bit ,ket qua cat vao so
nguyen 32 Bit , neu ket qua vt qua 32 Bit th c OV se bat len 1 ,c OS se lu Bit b tran o. MD108 = MD100 * MD104
Lenh DIV_DI : : Lenh thc hien viec chia 2 so nguyen 32 Bit ,ket qua cat vao so nguyen
32 Bit , neu ket qua vt qua 32 Bit th c OV se bat len 1 ,c OS se lu Bit b tran o. MD108 = MD100 : MD104
Lenh MOD_DI : : Lenh xac nh phan d cua phep chia 2 so nguyen 32 Bit ,ket qua cat
vao so nguyen 32 Bit , neu ket qua vt qua 32 Bit th c OV se bat len 1 ,c OS se lu Bit b tran o. MD108 = MD100 mod MD104
38
c/ Phep Toan tren so nguyen 32 Bit ( Floating Point Function): Lenh ADD_R : Lenh thc hien viec cong 2 so thc ,ket qua cat vao so thc,neu ket qua
vt qua 32 Bit th c OV se bat len 1 ,c OS se lu Bit b tran o. MD108 = MD100 + MD104
Lenh SUB_R : Lenh thc hien viec tr 2 so thc ,ket qua cat vao so thc , neu ket qua
vt qua 32 Bit th c OV se bat len 1 ,c OS se lu Bit b tran o. MD108 = MD100 - MD104
Lenh MUL_R : : Lenh thc hien viec nhan 2 so thc ,ket qua cat vao so thc , neu ket
qua vt qua 32 Bit th c OV se bat len 1 ,c OS se lu Bit b tran o. MD108 = MD100 * MD104
Lenh DIV_R : : Lenh thc hien viec chia 2 so thc ,ket qua cat vao so thc , neu ket qua
vt qua 32 Bit th c OV se bat len 1 ,c OS se lu Bit b tran o. MD108 = MD100 : MD104
39
Lenh ABS: Lenh xac nh gia tr tuyet oi cua so thc,ket qua cat vao so thc
Lenh SIN: Lenh tnh SIN cua so thc,ket qua cat vao so thc.Neu ket qua nam ngoai
khoang [-1,1] th c OV bat len 1
Lenh COS: Lenh tnh COS cua so thc,ket qua cat vao so thc.Neu ket qua nam ngoai
khoang [-1,1] th c OV bat len 1
Lenh TAN: Lenh tnh TAN cua so thc,ket qua cat vao so thc.Neu ket qua nam ngoai
khoang 16Bit th c OV bat len 1
Lenh ASIN: Lenh tnh Arcsin cua so thc,so thc phai nam trong khoang [-1,1] ket qua la
1 so thc trong khoang [-pi/2,pi/2]va c cat vao so thc.
Lenh ACOS: Lenh tnh Arccos cua so thc,so thc phai nam trong khoang [-1,1] ket qua
la 1 so thc trong khoang [-pi,0]va c cat vao so thc.
40
Lenh ATAN: Lenh tnh Arctang cua so thc,ket qua la 1 so thc trong khoang [pi/2,pi/2]va c cat vao so thc.
Lenh SQR: Lenh tnh bnh phng cua so thc, ket qua la 1 so thc khong am c cat
vao so thc.
Lenh SQRT: Lenh tnh can bac hai cua so thc,so thc nay phai la 1 so thc khong am,
ket qua la 1 so thc khong am c cat vao so thc.
Lenh Ln: Lenh tnh ln(x) cua so thc,so thc nay phai la 1 so thc khong am, ket qua la 1
so thc c cat vao so thc.
Lenh EXP: Lenh tnh ex cua so thc, ket qua la 1 so thc khong am c cat vao so thc.
7/ Lenh Di chuyen : Lenh MOV : Lenh a gia tr mot o nh sang 1 o nh khac,lenh nay co the ap dung cho
moi kieu so khac nhau.( Int,Dint,Real,Byte.)
41
8/Lenh Dch Bit : lenh SHR_I: Lenh thc hien viec dch phai o nh 16Bit,ket qua cat vao o nh 16 Bit,N la
so Bit dch.
lenh SHR_DI: Lenh thc hien viec dch phai o nh 32Bit,ket qua cat vao o nh 32 Bit,N
la so Bit dch.
lenh SHL_W: Lenh thc hien viec dch trai o nh16Bit,ket qua cat vao o nh 16 Bit,N la
so Bit dch. O nh nay c nh dang theo kieu Word. Neu N ln hn 16 th MW100 =0 va c CC0,OV trong thanh ghi trang thai eu bang 0
42
lenh SHR_W: Lenh thc hien viec dch phai o nh16Bit,ket qua cat vao o nh 16 Bit,N la
so Bit dch. O nh nay c nh dang theo kieu Word.
lenh SHL_DW: Lenh thc hien viec dch trai o nh 32Bit,ket qua cat vao o nh 32 Bit,N
la so Bit dch. O nh nay c nh dang theo kieu Word.
lenh SHR_DW: Lenh thc hien viec dch phai o nh 32Bit,ket qua cat vao o nh 32 Bit,N
la so Bit dch. O nh nay c nh dang theo kieu Word.
lenh ROL_DW: Lenh thc hien viec dch trai xoay tron o nh 32Bit,N la so Bit dch. O
nh nay c nh dang theo kieu Word.
43
lenh ROR_DW: Lenh thc hien viec dch phai xoay tron o nh 32Bit,N la so Bit dch. O
nh nay c nh dang theo kieu Word.
9/ Cac phep tnh tren Word: Lenh WAND_W : Lenh thc hien viec giao 2 Word,ket qua c cat vao o Word.
Lenh WOR_W : Lenh thc hien viec hp 2 Word,ket qua c cat vao o Word.
Lenh WXOR_W : Lenh thc hien viec Xor 2 Word,ket qua c cat vao o Word.
Ngi soan : Ha van Tr 44
Lenh WAND_DW : Lenh thc hien viec giao 2 DoubleWord,ket qua c cat vao o
DoubleWord.
Lenh WOR_DW : Lenh thc hien viec hp 2 DoubleWord,ket qua c cat vao o
DoubleWord.
Lenh WXOR_DW : Lenh thc hien viec Xor 2 DoubleWord,ket qua c cat vao o
DoubleWord.
45
11 / Lenh nhay: Lenh JMP: Nhay neu RLO=1,Neu RLO=1 chng trnh se nhay en nhan nhay
46
Lenh JMPN:
Lenh OPN : Lenh m khoi DB e co the truy cap trc tiep ti khoi nay
1/ Nhom lenh logic tiep iem: Lenh gan: Cu phap = < toan hang >
Toan hang la a ch bit I,Q,M,L,D Lenh gan gia tr logic cua RLO ti o nh co a ch c ch th trong toan hang V du : A I0.0 // oc noi dung cua I0.0 vao RLO = Q0.0 // a ket qua ra cong Q0.0
Lenh thc hien phep tnh giao: Cu phap A < toan hang >
Toan hang lad lieu kieu Bool hoac a ch bit I,Q,M,L,D,T,C Neu FC=0 lenh se gan gia tr logic cua toan hang vao RLO.Ngc lai khi FC=1 no se thc hien phep tnh giao gia RLO vi toan hang va ghi lai ket qua vao RLO. V du: A I0.0 // oc noi dung I0.0 a vao RLO A I0.1 // Giao RLO vi I0.1 ket qua a vao RLO = Q0.0 // Gan gia tr RLO cho Q0.0
Lenh thc hien phep tnh giao vi gia tr nghch ao: Cu phap AN < toan hang >
Toan hang lad lieu kieu Bool hoac a ch bit I,Q,M,L,D,T,C Neu FC=0 lenh se gan gia tr logic nghch ao cua toan hang vao RLO.Ngc lai khi FC=1 no se thc hien phep tnh giao gia RLO vi gia tr nghch ao cua toan hang va ghi lai ket qua vao RLO. V du : A I0.0 // oc noi dung cua I0.0 a vao RLO AN I0.1 // Giao RLO vi gia tr nghch ao cua I0.1 ket qua a vao RLO 47
Cong ty TNHH TM&DV K thuat SIS Q0.0 // Gan gia tr RLO cho Q0.0
Lenh thc hien phep tnh hp: Cu phap O < toan hang >
Toan hang lad lieu kieu Bool hoac a ch bit I,Q,M,L,D,T,C Neu FC=0 lenh se gan gia tr logic cua toan hang vao RLO.Ngc lai khi FC=1 no se thc hien phep tnh hp gia RLO vi gia tr nghch ao cua toan hang va ghi lai ket qua vao RLO. V du : A I0.0 // oc noi dung cua I0.0 a vao RLO O I0.1 // hp RLO vi gia tr I0.1 ket qua a vao RLO = Q0.0 // Gan gia tr RLO cho Q0.0
Lenh thc hien phep tnh hp vi gia tr nghch ao: Cu phap ON < toan hang >
Toan hang lad lieu kieu Bool hoac a ch bit I,Q,M,L,D,T,C Neu FC=0 lenh se gan gia tr logic nghch ao cua toan hang vao RLO.Ngc lai khi FC=1 no se thc hien phep tnh hp gia RLO vi gia tr nghch ao cua toan hang va ghi lai ket qua vao RLO. V du : A I0.0 // oc noi dung cua I0.0 a vao RLO ON I0.1 // hp RLO vi gia tr nghch ao cua I0.1 ket qua a vao RLO = Q0.0 // Gan gia tr RLO cho Q0.0
Lenh thc hien phep tnh giao vi gia tr mot bieu thc: Cu phap A(
Lenh khong co toan hang Neu FC=0 lenh se gan gia tr logic cua bieu thc trong dau ngoac sau no vao RLO.Ngc lai khi FC=1 no se thc hien phep tnh giao gia RLO vi gia tr logic cua bieu thc trong dau ngoac sau no ghi lai ket qua vao RLO. V du : A( O I0.0 O I0.1 ) // Gia tr bieu thc I0.0+I0.1 c chuyen vao RLO A( ON I0.2 O I0.3 ) = Q0.0
Lenh thc hien phep tnh hp vi gia tr mot bieu thc: Cu phap O(
Lenh khong co toan hang Neu FC=0 lenh se gan gia tr logic cua bieu thc trong dau ngoac sau no vao RLO.Ngc lai khi FC=1 no se thc hien phep tnh hp gia RLO vi gia tr logic cua bieu thc trong dau ngoac sau no ghi lai ket qua vao RLO. V du : Ngi soan : Ha van Tr 48
Lenh thc hien phep tnh giao vi gia tr nghch ao cua mot bieu thc: Cu phap AN (
Lenh khong co toan hang Neu FC=0 lenh se gan gia tr logic cua bieu thc trong dau ngoac sau no vao RLO.Ngc lai khi FC=1 no se thc hien phep tnh giao gia RLO vi gia tr nghch ao logic cua bieu thc trong dau ngoac sau o ghi lai ket qua vao RLO. V du : AN( O I0.0 O I0.1 ) // Gia tr bieu thc I0.0+I0.1 c chuyen vao RLO = Q0.0 // Gia tr Q0.0 bang gia tr nghch ao cua RLO
Lenh thc hien phep tnh hp vi gia tr nghch ao mot bieu thc: Cu phap ON (
Lenh khong co toan hang Neu FC=0 lenh se gan gia tr logic nghch ao cua bieu thc trong dau ngoac sau no vao RLO.Ngc lai khi FC=1 no se thc hien phep tnh hp gia RLO vi gia tr nghch ao logic nghch ao cua bieu thc trong dau ngoac sau o ghi lai ket qua vao RLO. V du : A M0.0 ON( O I0.0 O I0.1 ) // Gia tr bieu thc I0.0+I0.1 c chuyen vao RLO = Q0.0 //
Lenh thc hien phep exclusive or: Cu phap x < toan hang >
Toan hang lad lieu kieu Bool hoac a ch bit I,Q,M,L,D,T,C Neu FC=0 lenh se gan gia tr logic cua toan hang vao RLO.Ngc lai khi FC=1 lenh se kiem tra xem noi dung cua RLO va gia tr logic cua toan hang co khac nhau khong .Trong trng hp khac nhau th gh vao RLO,ngc lai th ghi 0.Noi cach khac ,lenh se ao noi dung cua RLO neu toan hang co gia tr la1. V du : A I0.0 // oc noi dung cua I0.0 a vao RLO X I0.1 // nghch ao gia tr RLO neu I0.1 =1 = Q0.0 // Gan gia tr RLO cho Q0.0
Lenh thc hien phep exclusive or not: Cu phap XN < toan hang >
Toan hang lad lieu kieu Bool hoac a ch bit I,Q,M,L,D,T,C Ngi soan : Ha van Tr 49
Neu FC=0 lenh se gan gia tr logic nghch ao cua toan hang vao RLO.Ngc lai khi FC=1 lenh se kiem tra xem noi dung cua RLO va gia tr logic cua toan hang co khac nhau khong .Trong trng hp khac nhau th gh 1 vao RLO,ngc lai th ghi 0.Noi cach khac ,lenh se ao noi dung cua RLO neu toan hang co gia tr la 0. V du : A I0.0 // oc noi dung cua I0.0 a vao RLO XN I0.1 // nghch ao gia tr RLO neu I0.1 =0 = Q0.0 // Gan gia tr RLO cho Q0.0
Lenh thc hien phep exclusive or vi gia tr cua bieu thc: Cu phap X(
Lenh khong co toan hang. Neu FC=0 lenh se gan gia tr logic cua bieu thc trong dau ngoac vao RLO.Ngc lai khi FC=1 lenh se ao noi dung cua RLO khi bieu thc trong dau ngoac sau no co gia tr 1.
Lenh thc hien phep exclusive or not vi gia tr cua bieu thc: Cu phap XN(
Lenh khong co toan hang. Neu FC=0 lenh se gan gia tr logic nghch ao cua bieu thc trong dau ngoac vao RLO.Ngc lai khi FC=1 lenh se ao noi dung cua RLO khi bieu thc trong dau ngoac sau no co gia tr 0.
Lenh ghi gia tr logic 1 vao RLO: Cu phap SET Lenh ghi gia tr logic 0 vao RLO: Cu phap CLR
Lenh khong co toan hang va co tac dung ao noi dung cua RLO
Lenh gan co ieu kien gia tr logic 1 vao o nh: Cu phap S < toan hang > Lenh gan co ieu kien gia tr logic 0 vao o nh: Cu phap R < toan hang > Lenh phat hien sn len Cu phap FP < toan hang >
Toan hang la a ch Bit I,Q,M,L,D Neu RLO =1,lenh se ghi gia tr 1 vao o nh co a ch trong toan hang
Toan hang la a ch Bit I,Q,M,L,D Neu RLO =1,lenh se ghi gia tr 0 vao o nh co a ch trong toan hang
Toan hang la a ch Bit I,Q,M,L,D va c s dung nh mot bien c e ghi nhan lai gia tr cua RLO tai v tr nay trong chng trnh ,nhng cua vong quet trc Tai moi vong quet lenh se kiem tra:neu bien c ( toan hang)co gia tr 0 va RLO co gia tr 1 th se ghi 1 vao RLO,cac trng hp khac th ghi 0,ong thi chuyen noi dung cua RLO vao lai bien c.Nh vay RLOse co gia tr 1 trong vong quet khi co sn len trong RLO Neu RLO =1,lenh se ghi gia tr 0 vao o nh co a ch trong toan hang Ngi soan : Ha van Tr 50
Bai giang S7-300 V du: oan lenh sau: A I0.0 FP M10.0 =Q0.0 Se tng ng vi oan lenh: A I0.0 AN M10.0 = Q0.0 A I0.0 = M10.0
Cac CPU cua S7_300 thng co hai thanh ghi Accumulator ( ACCU) k hieu la ACCU1 va ACCU2.Hai thanh ghi ACCU co cung kch thc 32 bits ( 1 t kep).Moi phep tnh toan tren so thc ,so nguyen,cac phep tnh logic vi mang nhieu bit eu c thc hien tren hai thanh ghi nay Byte cao T cao Lenh oc vao ACCU:
Cu phap L < Toan hang > Toan hang la d lieu ( so nguyen , thc , nh phan ) hoac a ch . Neu la a ch th - Byte IB,QB,PIB,MB,LB,DBB,DIB trong khoang 0 - 255 - T IW,QW,PIW,MW,LW,DBW,DIW trong khoang 0 - 216 - 1 - T kep ID,QD,PID,MD,LD,DBD,DID trong khoang 0 - 232 1 Neu la kieu d lieu: L +5 : Ghi 5 vao t thap cua ACCU1 ( so nguyen 16 Bit) L B#(1,8) : Ghi 1 vao Byte cao cua t thap va ghi 8 vao Byte thap cua t thap L L#5 : Ghi 5 vao ACCU1 ( so nguye 32 Bit) L B#16#2E :D lieu dang c so 16 L 2#10001110 : D lieu dang c so 2 Ngi soan : Ha van Tr 51
Byte thap
Byte cao
L AB :D lieu dang k t L C#1000 : D lieu dang at trc cho bo em ( PV ) L S5TIME#2S : D lieu dang at trc cho Timer ( PV ) L P#M10.2 : D lieu la a ch o nh ( dung con tro) L D#2006-1-1: D lieu la gia tr ve ngay/thang /nam (16 bit) L T#0H_1M_10S : D lieu ve thi gian gi / phut /giay ( 32 Bit) Lenh L co tac dung chuyen noi dung cua o nh co a ch la toan hang vao thanh ghi ACCU1 . Noi dung cu cua ACCU1 c chuyen vao ACCU2.Trong trng hp gia tr chuyen vao nho hn t kep th chung se c ghivao theo th t Byte thap cua t thap,Byte thap cua t cao,Byte cao cua t cao.Nhung Bit con trong trong ACCU1 c ghi 0. V du : Lenh L IB0 Se chuyen noi dung IB0 vao Byte thap cua t thap thanh ghi ACCU1
Cu phap L STW Lenh chuyen noi dung thanh ghi trang thai vao t thap cua ACCU1
Lenh ghi noi dung cua ACCU1 vao thanh ghi trang thai : Lenh chuyen noi dung cua ACCU2 vao ACCU1 : Lenh chuyen noi dung cua ACCU1 vao ACCU2 :
Cu phap T STW Lenh chuyen 9 bits cua t thap cua ACCU1 vao thanh ghi trang thai . Cu phap POP Lenh chuyen noi dung cua ACCU2 vao ACCU1,noi dung cua thanh ghi ACCU2 khong oi . Cu phap PUSH Lenh chuyen noi dung cua ACCU1 vao ACCU2,noi dung cua thanh ghi ACCU1 khong oi .
Lenh ao noi dung hai Byte cua t thap trong thanh ghi ACCU1 :
Cu phap CAW Lenh co tac dung ao noi dung hai byte cua t thap trong thanh ghi ACCU1.
Lenh ao gia tr cac Bits trong t thap cua thanh ghi ACCU1 :
Cu phap INVI 52 Ngi soan : Ha van Tr
Lenh co tac dung ao noi dung tat ca cac Bits trong t thap cua thanh ghi ACCU1.
Cu phap INVD Lenh co tac dung ao noi dung tat ca cac Bits trong thanh ghi ACCU1.
Lenh thc hien phep giao gia cac bits cua hai thanh ghi ACCU1,ACCU2:
Cu phap: AD [< D lieu hang >] Lenh co the hoac khong co toan hang - Neu khong co toan hang,lenh thc hien phep tnh giao gia hai thanh ghi ACCU1 va ACCU2. Ket qua ghi vao thanh ghi ACCU1. - Neu co toan hang th toan hang phai la d lieu hang 32 bits.Khi o lenh thc hien phep tnh giao gia d lieu vi thanh ghi ACCU1.Ket qua c ghi lai vao thanh ghi ACCU1
Lenh thc hien phep hp gia cac bits trong t thap cua ACCU1,ACCU2:
Cu phap: OW [< D lieu hang >] Lenh co the hoac khong co toan hang - Neu khong co toan hang,lenh thc hien phep tnh hp gia cac bits thuoc t thap cua hai thanh ghi ACCU1 va ACCU2. Ket qua ghi vao t thap cua thanh ghi ACCU1. - Neu co toan hang th toan hang phai la d lieu hang 16 bits.Khi o lenh thc hien phep tnh hp gia d lieu vi t thap cua ACCU1.Ket qua c ghi lai vao t thap cua ACCU1
Lenh thc hien phep giao gia cac bits cua hai thanh ghi ACCU1,ACCU2:
Cu phap: OD [< D lieu hang >] Lenh co the hoac khong co toan hang - Neu khong co toan hang,lenh thc hien phep tnh hp gia hai thanh ghi ACCU1 va ACCU2. Ket qua ghi vao thanh ghi ACCU1. - Neu co toan hang th toan hang phai la d lieu hang 32 bits.Khi o lenh thc hien phep tnh hp gia d lieu vi thanh ghi ACCU1.Ket qua c ghi lai vao thanh ghi ACCU1
53
Neu co toan hang th toan hang phai la d lieu hang 16 bits.Khi o lenh thc hien phep tnh exclusive gia d lieu vi t thap cua ACCU1.Ket qua c ghi lai vao t thap cua ACCU1
Cu phap: XOD [< D lieu hang >] Lenh co the hoac khong co toan hang - Neu khong co toan hang,lenh thc hien phep tnh exclusive or gia cac bits cua hai hai thanh ghi ACCU1 va ACCU2. Ket qua ghi vao thanh ghi ACCU1. - Neu co toan hang th toan hang phai la d lieu hang 32 bits.Khi o lenh thc hien phep tnh exclusive gia d lieu vi thanh ghi ACCU1.Ket qua c ghi lai vao thanh ghi ACCU1
Cu phap INC < Toan hang > Toan hang la so nguyen 8 bits Lenh thc hien phep cong gia byte thap trong ACCU1 vi toan hang .Ket qua c ghi vao byte thap cua t thap cua ACCU1.Noi dung cua cac Byte khac khong thay oi. Cu phap DEC < Toan hang > Toan hang la so nguyen 8 bits Lenh thc hien phep tr gia byte thap trong ACCU1 vi toan hang .Ket qua c ghi vao byte thap cua t thap cua ACCU1.Noi dung cua cac Byte khac khong thay oi.
Cu phap RLD [ < toan hang > ] -Lenh co the co hoac khong co toan hang la so nguyen khong dau trong khoang 0 32.Khi o lenh thc hien phep tnh xoay tron cac Bits cua ACCU1 theo chieu trai.So Bits c xoay c ch nh trong toan hang .Tai moi lan xoay ,bit th 31 (bit cuoi) b ay ra khoi ACCU1se c ghi ong thi vao CC1 va vao bit 0 ( bit au tien).Neu toan hang la mot so 0,lenh se khong lam g ca.Neu toan hang bang 32,noi dung cua ACCU1khong b thay oi va bit CC1 trong thanh ghi trang thai co gia tr la bit th 0 cua ACCU1. Hai bits CC0 va 0V trong thanh ghi trang thai se bang 0 khi toan hang la mot so ln hn 0. - Neu khong co toan hang ,lenh thc hien phep tnh xoay tron cac bits cua ACCU1 theo chieu trai .So bits c xoay tron c ch th trong byte thap cua t thap trong ACCU2.Tai moi lan xoay bit th 31 ( bit cuoi) b ay ra khoi ACCU1 se c ghi ong thi vao CC1 va vao bit th 0 ( bit au tien) .Neu byte thap cua t thap trong thanh ghi ACCU2 bang 0 th lenh khong lam g ca ,va neu bang 32 th noi dung thanh ghi ACCU1 khong b thay oi g cava bit CC1 trong thanh ghi trang thai co gia tr la bit th 0 cua ACCU1.Hai bits CC0 va 0V trong thanh ghi trang thai se bang 0 khi noi dung cua byte thap cua t thap trong ACCU2 la mot so ln hn 0. ACCU1
CC1
54
ACCU1
CC1
Lenh xoay tron cac bits cua ACCU1 theo chieu phai.
Cu phap RDD [ < toan hang > ] Lenh co the co hoac khong co toan hang ACCU1
CC1
CC1
55
-Neu khong co toan hang ,lenh thc hien phep tnh dch trai cua cac bit trong t thap cua ACCU1 vi so bit c dch la noi dung cua byte thap trong t thap cua ACCU2.Noi dung cua t cao trong ACCU1 khong b thay oi .Tai moi lan dch ,bit th 15 b ay ra khoi ACCU1 se c ghi vao CC1,con bit au ( bit th 0) c ghi 0.Neu byte thap cua t thap trong ACCU2 la mot so ln hn 0,hai bits CC0 va OV se bang 0. 15 0
CC1
CC1
ACCU1 khong b thay oi .Tai moi lan dch ,bit th 0 b ay ra khoi ACCU1 se c ghi vao CC1 ,bit th 15 c ghi lai ung bang gia tr cu cua no .Neu byte thap cua t thap trong ACCU2 la mot so ln hn 0 ,hai bits CC0 va OV se bang 0 15 CC1
Cu phap : <> I Lenh khong co toan hang . Lenh thc hien phep so sanh hai so nguyen 16 bits nam trong hai t thap trong hai thanh ghi ACCU1 va ACCU2.Neu so nguyen trong t thap cua ACCU1 co noi dung khac so nguyen trong t thap cua ACCU2 th bit trang thai RLO se nhan gia tr 1,ngc lai se co gia tr 0.
Cu phap : >I Lenh khong co toan hang . Lenh thc hien phep so sanh hai so nguyen 16 bits nam trong hai t thap trong hai thanh ghi ACCU1 va ACCU2.Neu so nguyen trong t thap cua ACCU2 ln hn so nguyen trong t thap cua ACCU1 th bit trang thai RLO se nhan gia tr 1,ngc lai se co gia tr 0.
Cu phap : <I Lenh khong co toan hang . Lenh thc hien phep so sanh hai so nguyen 16 bits nam trong hai t thap trong hai thanh ghi ACCU1 va ACCU2.Neu so nguyen trong t thap cua ACCU2 nho hn so nguyen trong t thap cua ACCU1 th bit trang thai RLO se nhan gia tr 1,ngc lai se co gia tr 0.
Cu phap : >= I Lenh khong co toan hang . Lenh thc hien phep so sanh hai so nguyen 16 bits nam trong hai t thap trong hai thanh ghi ACCU1 va ACCU2.Neu so nguyen trong t thap cua ACCU2 ln hn hoac bang so nguyen trong t thap cua ACCU1 th bit trang thai RLO se nhan gia tr 1,ngc lai se co gia tr 0.
Cu phap : <= I Lenh khong co toan hang . Lenh thc hien phep so sanh hai so nguyen 16 bits nam trong hai t thap trong hai thanh ghi ACCU1 va ACCU2.Neu so nguyen trong t thap cua ACCU2 be hn hoac bang so nguyen trong t thap cua ACCU1 th bit trang thai RLO se nhan gia tr 1,ngc lai se co gia tr 0.
Cu phap : >D Lenh khong co toan hang . Lenh thc hien phep so sanh hai so nguyen 32 bits nam trong hai thanh ghi ACCU1 va ACCU2.Neu so nguyen trong thanh ghi ACCU2 ln hn so nguyen trong thanh ghi ACCU1 th bit trang thai RLO se nhan gia tr 1,ngc lai se co gia tr 0.
Cu phap : <D Lenh khong co toan hang . Lenh thc hien phep so sanh hai so nguyen 32 bits nam trong hai thanh ghi ACCU1 va ACCU2.Neu so nguyen trong thanh ghi ACCU2 nho hn so nguyen trong thanh ghi ACCU1 th bit trang thai RLO se nhan gia tr 1,ngc lai se co gia tr 0. Ngi soan : Ha van Tr 58
Cu phap : <= D Lenh khong co toan hang . Lenh thc hien phep so sanh hai so nguyen 32 bits nam trong hai thanh ghi ACCU1 va ACCU2.Neu so nguyen trong thanh ghi ACCU2 be hn hoac bang so nguyen trong thanh ghi ACCU1 th bit trang thai RLO se nhan gia tr 1,ngc lai se co gia tr 0.
Trong tat ca nhng lenh so sanh hai so thc 32 bits nam trong 2 thanh ghi ACCU1 va ACCU2 c trnh bay sau ay eu tac ong vao thanh ghi trang thai nh sau: CC1 CC0 Y Ngha 0 0 ACCU2= ACCU1 0 1 ACCU2< ACCU1 1 0 ACCU2> ACCU1
59
Lenh thc hien phep so sanh hai so thc 32 bits nam trong hai thanh ghi ACCU1 va ACCU2.Neu so thc trong thanh ghi ACCU2 nho hn so thc trong thanh ghi ACCU1 th bit trang thai RLO se nhan gia tr 1,ngc lai se co gia tr 0.
Cu phap : >= R Lenh khong co toan hang . Lenh thc hien phep so sanh hai so thc 32 bits nam trong hai thanh ghi ACCU1 va ACCU2.Neu so thc trong thanh ghi ACCU2 ln hn hoac bang so thc trong thanh ghi ACCU1 th bit trang thai RLO se nhan gia tr 1,ngc lai se co gia tr 0.
Cu phap : <= R Lenh khong co toan hang . Lenh thc hien phep so sanh hai so thc 32 bits nam trong hai thanh ghi ACCU1 va ACCU2.Neu so thc trong thanh ghi ACCU2 be hn hoac bang so thc trong thanh ghi ACCU1 th bit trang thai RLO se nhan gia tr 1,ngc lai se co gia tr 0.
Lenh tr:
Cu phap -I Lenh thc hien phep tr hai so nguyen nam trong t thap cua ACCU1 va ACCU2.Ket qua c ghi lai vao t thap cua ACCU1.Noi dung cua thanh ghi ACCU2 khong b thay oi .Neu gia tr vt tam 32768 32767 th hai bit OV va OS se cung nhan gia tr la 1.
Lenh nhan:
Cu phap *I Lenh thc hien phep nhan hai so nguyen nam trong t thap cua ACCU1 va ACCU2.Ket qua la so nguyen 32 Bits c ghi lai vao thanh ghi ACCU1.Noi dung cua thanh ghi ACCU2 khong b thay oi .Neu gia tr vt tam 32768 32767 th hai bit OV va OS se cung nhan gia tr la 1.
Lenh chia:
Cu phap
/I
60
Lenh thc hien phep chia hai so nguyen nam trong t thap cua ACCU2 cho t thap cua ACCU1.Ket qua c ghi lai vao t thap cua ACCU1,phan d c ghi vao t cao thanh ghi ACCU1.Noi dung cua thanh ghi ACCU2 khong b thay oi .Neu gia tr vt tam 32768 32767 th hai bit OV va OS se cung nhan gia tr la 1.
Cu phap +D Lenh khong co toan hang Lenh thc hien phep cong hai so nguyen 32 bit nam trong hai thanh ghi ACCU1 va ACCU2.Ket qua c ghi lai vao thanh ghi ACCU1.Noi dung cua thanh ghi ACCU2 khong b thay oi .Neu gia tr vt tam ( 2147483648 , 2147483648) th hai bit OV va OS se cung nhan gia tr la 1.
Lenh tr:
Cu phap -D Lenh khong co toan hang Lenh thc hien phep tr hai so nguyen 32 bit nam trong hai thanh ghi ACCU1 va ACCU2.Ket qua c ghi lai vao thanh ghi ACCU1.Noi dung cua thanh ghi ACCU2 khong b thay oi .Neu gia tr vt tam ( 2147483648 , 2147483648) th hai bit OV va OS se cung nhan gia tr la 1.
Lenh nhan:
Cu phap *D Lenh thc hien phep nhan hai so nguyen 32 bit trong hai thanh ghi ACCU1 va ACCU2.Ket qua la so nguyen 32 Bits c ghi lai vao thanh ghi ACCU1.Noi dung cua thanh ghi ACCU2 khong b thay oi .Neu gia tr vt tam ( 2147483648 , 2147483648) th hai bit OV va OS se cung nhan gia tr la 1.
Lenh chia:
Cu phap /D Lenh thc hien phep chia hai so nguyen 32 bit trong ACCU2 cho so nguyen 32 bit trong thanh ghi ACCU1.Ket qua la so nguyen 32 bit se c ghi lai vao thanh ghi ACCU1.Neu gia tr vt tam( 2147483648 , 2147483648) th hai bit OV va OS se cung nhan gia tr la 1.
Cu phap +R Lenh khong co toan hang Lenh thc hien phep cong hai so thc nam trong hai thanh ghi ACCU1 va ACCU2.Ket qua c ghi lai vao thanh ghi ACCU1.Noi dung cua thanh ghi ACCU2 khong b thay oi .Neu gia tr vt tam ( 2147483648 , 2147483648) th hai bit OV va OS se cung nhan gia tr la 1.
Lenh tr:
Cu phap -R Lenh khong co toan hang
61
Lenh nhan:
Lenh thc hien phep tr hai so thc nam trong hai thanh ghi ACCU1 va ACCU2.Ket qua c ghi lai vao thanh ghi ACCU1.Noi dung cua thanh ghi ACCU2 khong b thay oi .Neu gia tr vt tam ( 2147483648 , 2147483648) th hai bit OV va OS se cung nhan gia tr la 1.
Cu phap *R Lenh thc hien phep nhan hai so thc trong hai thanh ghi ACCU1 va ACCU2.Ket qua la so thc c ghi lai vao thanh ghi ACCU1.Noi dung cua thanh ghi ACCU2 khong b thay oi .Neu gia tr vt tam ( 2147483648 , 2147483648) th hai bit OV va OS se cung nhan gia tr la 1.
Lenh chia:
Cu phap /R Lenh thc hien phep chia hai thc trong ACCU2 cho so thc trong thanh ghi ACCU1.Ket qua la so thc se c ghi lai vao thanh ghi ACCU1.Neu gia tr vt tam( 2147483648 , 2147483648) th hai bit OV va OS se cung nhan gia tr la 1.
Cu phap ABS Lenh khong co toan hang va xac nh gia tr tuyet oi cua so thc trong ACCU1.Ket qua se c ghi lai vao ACCU1.ac biet lenh nay khong lam thay oi noi dung cua cac bit trang thai.
Cu phap COS Lenh khong co toan hang va xac nh cos cua so thc trong ACCU1.Ket qua se c ghi lai vao ACCU1.
Cu phap TAN Lenh khong co toan hang va xac nh tang cua so thc trong ACCU1.Ket qua se c ghi lai vao ACCU1. Neu gia tr vt tam( 2147483648 , 2147483648) th hai bit OV va OS se cung nhan gia tr la 1.
Cu phap ASIN Lenh khong co toan hang va xac nh arcsin cua so thc trong ACCU1,so thc nay phai nam trong khoang (-1,1).Ket qua la mot so thc trong khoang (-pi/2,pi/2)se c ghi lai vao ACCU1.
62
Cu phap SQR Lenh khong co toan hang va xac nh gia tr bnh phng cua so thc trong ACCU1.Ket qua se c ghi lai vao ACCU1.
Cu phap SQRT Lenh khong co toan hang va xac nh can bac hai cua so thc trong ACCU1,so thc nay phai la so thc khong am.Ket qua la mot so thc khong am se c ghi lai vao ACCU1.
Lenh ao dau:
Cu phap NERG Lenh khong co toan hang va co tac dung oi dau so thc trong ACCU1.Ket qua se c ghi lai vao ACCU1.ac biet lenh nay khong lam thay oi noi dung cua cac bit trang thai.
Trong ngon ng lap trnh STL cua S7_300 co nhieu dang d lieu khac nhau nh: - So nguyen 16 Bits. - So nguyen 32 Bits - So nguyen dang BCD - So thc dau phay ong - Va mot so dang d lieu khac Viec lam vi nhieu dang d lieu khac nhau at ra cho ta van e can phai chuyen oi chung .V du khi oc tn hieu tng t t cong tng t ta nhan c so lieu dang nguyen 16 bits mang gia tr tn hieu tng t ch khong phai ban than gia tr o,bi vay e x ly tiep th can thiet phai chuyen so nguyen o thanh ung gia tr thc,dau phay ong cua tn hieu tng t cong.
Cu phap BTI Lenh khong co toan hang va chuyen oi mot so BCD co 3 ch so nam trong 12 Bits au cua ACCU1 thanh so nguyen 16 bits.Ket qua c cat lai vao 16 bits cuoi (t thap) cua ACCU1.Lenh khong lam thay oi noi dung cua thanh ghi trang thai. 31 12 11 8 7 4 3 0
4 BTI
31 16 15
Neu so BCD can chuyen oi co cau truc sai ,v du nh co 1 ch so 4 bits nh phan khong nam trong khoang t 0 en 9,CPU se goi chng trnh ngat x l loi OB121 hoac chuyen qua che o Stop (neu OB121 khong co chng trnh).
Cu phap BTD Lenh khong co toan hang va chuyen oi mot so BCD co 7 ch so nam trong 28 Bits au cua ACCU1 thanh so nguyen 32 bits.Ket qua c cat lai vao thanh ghi ACCU1.Lenh khong lam thay oi noi dung cua thanh ghi trang thai. 31 27 16 15 0
BTD
31 16 15 0
So nguyen nh dang 32 bits Neu so BCD can chuyen oi co cau truc sai ,v du nh co 1 ch so 4 bits nh phan khong nam trong khoang t 0 en 9,CPU se goi chng trnh ngat x l loi OB121 hoac chuyen qua che o Stop (neu OB121 khong co chng trnh).
Cu phap ITB Lenh khong co toan hang va chuyen oi mot so nguyen 16 bits thanh so BCD co 3 ch so.Ket qua c cat lai vao t thap cua thanh ghi ACCU1. Neu so nguyen 16 bits can chuyen oi co gia tr tuyet oi ln hn 999 ,CPU se thong bao trong thanh ghi trang thai di dang ket qua tran
Cu phap DTB Lenh khong co toan hang va chuyen oi mot so nguyen 32 bits thanh so BCD co 7 ch so.Ket qua c cat lai vao thanh ghi ACCU1. Neu so nguyen 32 bits can chuyen oi co gia tr tuyet oi ln hn 9999999 ,CPU se thong bao trong thanh ghi trang thai di dang ket qua tran
Cu phap : ITD Lenh khong co toan hang va thc hien viec chuyen oi mot so nguyen 16 bits trong t thap cua ACCU1 thanh so nguyen 32 bits .Ket qua c cat vao lai ACCU1.Lenh khong lam thay oi noi dung cua thanh ghi trang thai.
Cu phap : RND Lenh khong co toan hang va thc hien viec lam tron so thc nam trong thanh ghi ACCU1.Ket qua la so nguyen 32 bits c cat vao lai ACCU1.
Cu phap : RND+ Lenh khong co toan hang va thc hien viec lam tron len so thc nam trong thanh ghi ACCU1.Ket qua la so nguyen 32 bits c cat vao lai ACCU1.
Cu phap : TRUNC Lenh khong co toan hang va thc hien viec lay phan nguyen so thc nam trong thanh ghi ACCU1.Ket qua la so nguyen 32 bits c cat vao lai ACCU1.
Cu phap : BEU Lenh khong co toan hang va thc hien ket thuc chng trnh trong khoi mot cach vo ieu kien.
Cu phap: JP < nhan > Lenh se thc hien viec nhay ti Nhan neu nh Bit ( CC1 = 1 va CC0 = 0).No c s dung e re nhanh neu nh phep tnh trc o co ket qua dng.
Cu phap: JZ < nhan > Lenh se thc hien viec nhay ti Nhan neu nh Bit ( CC1 = 0 va CC0 = 0).No c s dung e re nhanh neu nh phep tnh trc o co ket qua bang 0.
Cu phap: JMZ < nhan > Lenh se thc hien viec nhay ti Nhan neu nh Bit ( CC1 =CC0= 0 hoac (CC1=0 va CC0 = 1)).No c s dung e re nhanh neu nh phep tnh trc o co ket qua la mot so khong dng.
Cu phap: JPZ < nhan > Lenh se thc hien viec nhay ti Nhan neu nh Bit ( CC1 =CC0= 0 hoac (CC1=1 va CC0 = 0)).No c s dung e re nhanh neu nh phep tnh trc o co ket qua la mot so khong am.
Cu phap: JU < nhan > Lenh se thc hien viec nhay ti Nhan vo ieu kien khong phu thuoc vao bit trang thai nao.
Cu phap LOOP < nhan > Khi gap lenh LOOP ,CPU cua S7_300 se t giam noi dung cua t thap trong thanh ghi ACCU1 i mot n v va kiem tra xem ket qua co bang 0 hay khong .Neu ket qua khac 0 ,CPU se thc hien bc nhay en oan chng trnh c anh dau bi nhan .Ngc lai CPU se thc hien lenh ke tiep. Lenh xoay vong nay co the c s dung e mo phong nguyen tac lam viec giong nh lenh Forcua C bang cach thc hien bc nhay ngc.oan chng trnh nam gia nhan va lenh LOOP se c thc hien cho ti khi noi dung thanh ghi ACCU1 bang 0 Lenh khong lam thay oi noi dung cua thanh ghi trang thai
66
Viec khai bao s dung Timer bao gom cac bc : -Khai bao tn hieu enable neu muon s dung tn hieu chu ong kch. -Khai bao tn hieu au vao u(t) -Khai bao thi gian tre mong muon -Khai bao loai Timer c s dung ( SD,SS,SP,SE,SF). -Khai bao tn hieu xoa Timer neu muon s dung che o reset chu ong. Trong tat ca 5 bc tren,cac bc 2,3,4 la bat buoc
Cu phap A < a ch bit > a ch bit trong toan hang xac nh au vao u(t) cho Timer.
Cu phap L < hang so > Hang so trong toan hang xac nh gia tr thi gian tre T at trc cho Timer .Hang so nay co 2 dang -S5T#giH_phutM_giayS_miligiayMS.ay la dang d lieu thi gian trc tiep. -Dang mot so nguyen 16 bits co cau truc nh sau: 1 1s 0 0 0 1 0 1 0 0 2 1 0 0 1 7 1 1
S7_300 co 5 loai timer c khai bao bang cac lenh : - SD: tre co snlen khong co nh - SS: Tre theo sn len co nh - SP: Tao xung khong co nh - SE: Tao xung co nh - SF : Tre theo sn xuong.
67
Thi gian gi tre c bat au khi co sn len cua tn hieu au vao ( hoac co sn len cua tnhieu enable ong thi tn hieu vao bang 1),tc thi ngay thi iem o gia tr PV c chuyen vao thanh ghi T-WORD (CV) .Khi het thi gian tre ,tc la T-Word bang 0 ,T-bit co gia tr 1 Khoang thi gian tre chnh la khoang thi gian gia thi iem xuat hien sn len cua tn hieu vao va sn len cua T-bit Vi bo timer co nh ,thi gian tre van c tnh cho du luc o tn hieu au vao a ve 0
Cu phap SP < ten timer > Thi gian gi tre c bat au khi co sn len cua tn hieu au vao ( hoac co sn len cua tnhieu enable ong thi tn hieu vao bang 1),tc thi ngay thi iem o gia tr PV c chuyen vao thanh ghi T-WORD (CV) .Trong khoang thi gian tre ,tc la khi T-Word #0,T-bit co gia tr bang 1.Ngoai khoang thi gian tre T-bit co gia tr bang 0. Neu cha het thi gian tre ma tn hieu au vao ve 0 th T-bit va T-Word cung ve gia tr 0
A < a ch bit > R < Ten timer > Toan hang th nhat a ch bit xac nh tn hieu se c s dung lam tn hieu chu ong xoa cho timer co ten trong toan hang th 2 Khi tn hieu xoa bang 1 ,T-Word ( Thanh ghi CV ) va T-bit cung ong thi c a ve 0.Neu tn hieu xoa ve 0,Timer se ch c kch lai.
Noi dung thanh ghi T-Word la CV co the c oc vao ACCU1 theo hai cach : 1/ oc so em tc thi ( khong co o phan giai) Cu phap L < ten timer > Toan hang la ten timer ma thanh ghi T-Word cua no se c oc vao ACCU1. Gia tr oc uc la mot so nguyen dng xac nh so em tc thi ( khong co th nguyen),tc la ch la ch la t so gia khoang thi gian ke t khi Timer c kch ,va o phan giai. 2/ oc thi gian tre tc thi: Cu phap LC < Ten timer >
68
Toan hang la ten timer ma thanh ghi T-Word cua no se c oc vao ACCU1.Gia tr oc c gom 2 phan: Mot so BCD xac nh so em tc thi (khong co th nguyen) va o phan giai
13/ Bo em ( Counter):
a/Khai bao s dung:
Viec khai bao s dung Counter bao gom cac bc : -Khai bao tn hieu enable neu muon s dung tn hieu chu ong kch. -Khai bao tn hieu au vao CU c em tien -Khai bao tn hieu au vao CD c em lui -Khai bao tn hieu at (set) va gia tr at trc (PV) -Khai bao tn hieu xoa (reset). Trong tat ca 5 bc tren,cac bc 2,3 la bat buoc
A < a ch bit > FR < ten Counter > Toan hang th nhat a ch bit xac nh tn hieu se c s dung lam tn hieu chu ong kch cho bo em co ten cho trong toan hang th hai.Ten cua bo em co dang Cx vi x trong khoang [0,255]
A < a ch bit > CU < Ten Counter > Toan hang th nhat a ch bit xac nh tn hieu ma sn len cua no c bo em vi ten cho trong toan hang th hai em tien .Ten cua bo em co dang Cx .Moi khi xuat hien mot sn len cua tn hieu ,bo em se tang noi dung cua thanh ghi C-Word (CV) len 1 n v.
A < a ch bit > CD < Ten Counter > Toan hang th nhat a ch bit xac nh tn hieu ma sn len cua no c bo em vi ten cho trong toan hang th hai em lui .Ten cua bo em co dang Cx .Moi khi xuat hien mot sn len cua tn hieu ,bo em se giam noi dung cua thanh ghi C-Word (CV) i 1 n v.
A < a ch bit > R < Ten Counter > Toan hang th nhat a ch bit xac nh tn hieu ma moi khi xuat hien sn len cua no ,thanh ghi C-Word cua bo em co ten trong toan hang cua lenh th hai se c xoa ve
Noi dung thanh ghi C-Word la CV co the c oc vao ACCU1 theo hai cach :
69
1/ oc so em tc thi ( khong co o phan giai) Cu phap L < ten counter > Toan hang la ten bo em ma thanh ghi C-Word cua no se c oc vao ACCU1. Gia tr oc uc la mot so nguyen dng xac nh so em tc thi 2/ oc so em tc thi dang BCD: Cu phap LC < Ten counter > Toan hang la ten bo em ma thanh ghi C-Word cua no se c oc vao ACCU1.Gia tr oc c la so BCD
Con tro (Pointer) la mot cong cu manh ,rat c a dung trong cac chng trnh ieu khien .Viec s dung con tro c hieu la s truy nhap gian tiep ti mot o nh trong bo nh .Nhng the nao la s truy nhap gian tiep .Ta hay xet lenh oc noi dung cua o nh MW0 vao ACCU1 lam v du L MW0 // oc gia tr cua o nh MW0 vao thanh ghi ACCU1 Lenh nay la truy nhap trc tiep o nh MW0 v a ch cua o nh o la MW0 a c cho trc tiep trong lenh di dang toan hang .Nh vay co the hnh dung ra la lenh oc noi dung o nh MW0 ma a ch o nh o khong cho trc tiep trong lenh se la lenh truy nhap gian tiep. Trong truy nhap gian tiep ,a ch o nh c truy nhap se la noi dung cua mot o nh khac ma ta goi la con tro .V du viec truy nhap trc tiep o nh MW0 tren tng ng vi viec truy nhap gian tiep nh con tro MD10 nh sau: L 0 T MD10 L MW[MD10]
Ta co the s dung mot o nh thuoc vung nh M co kch thc la t ( MW) hoac t kep (MD) e lam con tro .Trong nhng trng hp nh vay ,con tro MW hoac MD ch co the la con tro a phng ( ch cha phan so cua a ch). Do phan so cua a ch co hai dang the hien : - a ch byte :20 ,22 ,100,.. - a ch bit : 20.0 ,22.2 ,100.5.. Nen con tro a phng cung co hai hnh thai - Con tro a phng ch v tr byte trong vung - Va con tro a phng ch v tr bit trong tng vung. i/ Con tro a phng ch v tr Byte: Vi hnh thai con tro nay ta dung c ca hai loai kch thc t (MW) hoac t kep (MD) .Con tro ch cha phan so xac nh a ch byte .Neu o nh can c truy nhap gian tiep co kch thc ln hn 1 byte (t,t kep hay mot day cac byte) th noi dung cua con tro la a ch byte au tien trong day cac byte o . v du: L 20 T MD10 L DIB[MD10] T MW[MD10] ii/ Con tro a phng ch v tr Bit: Vi hnh thai nay ta phai dung loai con tro co kch thc t kep (MD,DBD,LD).Con tro nay cha ca phan so xac nh a ch byte va phan so xac nh so th t cua bit trong byteo theo cau truc.
70
x x x a ch Bit (0-7) Cau truc d lieu nay cua con tro ch a ch bit c khai baotrong S7-300 bang toan hang dang: P# < a ch byte > . < So th t >
S7-300 co hai thanh ghi 32bits c dung lam con tro thay v phai s dung mot t (MW,DBW,LW) hay t kep (MD,DBD,LD).Hai thanh ghi nay co ten la AR1 va AR2.ac biet tuy hai thanh ghi con tro nay ch cha a ch bit( co the co hoac khong co phan ch cua a ch),song lai co the s dung e truy nhap o nh co kch thc nhieu hn mot bit nh byte,t hoac t kep. Ta phan biet hai trng hp : - AR la con tro a phng ch v tr bit trong tng vung ,khong cha phan ch cua a ch (area internal register) - AR la con tro toan cuc chv tr bit trong bo nh ,cha ca phan ch va phan so cua a ch (area crssing register) a/Khai bao gia tr thanh ghi AR: Hai thanh ghi AR c gan gia tr bang lenh Cu phap: LAR1 [P# <a ch bit >] LAR2 [P# <a ch bit >] Toan hang cua lenh gan gia 1tr co cau truc: P#[ < ten vung bo nh >] < a ch byte > . < so th t bit > Lenh co the co hoac khong co toan hang .Neu khong co toan hang ,lenh se chuyen noi dung cua ACCU1 vao thanh ghi AR1 hoac AR2.Trng hp co toan hang ,lenh chuyen gia tr toan hang vao thanh ghi AR1 hoac AR2.Lenh nay khong lam thay oi noi dung thanh ghi trang thai . Gia tr chuyen vao thanh ghi AR phai co cau truc ung cua mot con tro ch bit vi dang nh sau Mot iem khac biet na cua viec truy nhap gian tiep thong qua con tro AR so vi con tro kieu MD la o nh c truy nhap co mot khoang cach nhat nh theo chieu tang (offset) so vi o nh ma AR ch vao (hnh 2.24).Offset co n v nho nhat tnh theo bit vi cau truc trong lenh truy nhap nh sau: <ten lenh> <vung va kch thc> [ Arx,P# <so byte >.<So bit>] Offset Tr trng hp truy nhap bit (A,O,=,.),trong lenh phai ghi ro kch thc mang bit cua o nh c truy nhap (B,W hay D).Neu con tro c s dung la con tro a phng ,th con phai cho biet vung bo nh c truy nhap trong bo nh ( M,P,I,Q,DB hay DI) ac biet thanh ghi AR khong ch ti c vung em PQ cua cac cong ra tng t .Gia tr P#P. cua toan hang ch a ch c t ong hieu la a ch cua cong vao tng t. V du 1: LAR1 LAR2 A = L T
//Thanh ghi AR1 c dung lam con tro a phng //Thanh ghi AR2 c dung lam con tro toan cuc //Truy nhap o nh M11.3 //a gia tr ra cong Q1.2 //oc 8 cong vao IB1 ( I1.0 I1.7) //Chuyen gia tr oc c vao byte MB10 71
L W[AR2,P#5.0] // oc MW15 T MW[AR1,P#2.0] //Chuyen vao MW3 L DBD[AR1,P#9.0] //oc DBD10 T D[AR2,P#20.0] V du 2: Quay lai v du ve chng trnh nhap d lieu t cong tng t PIW304 va cat vao bo em a c trnh bay trong muc trc nhng sa lai bang cach dung thanh ghi con tro toan cuc AR.Bo em la vung nh gom 10 t MW0 MW18.D lieu va oc c se c cat vao t nh cuoi cung cua bo em .Cac d lieu a co trong bo em se c chuyen dan len.D lieu au tien trong bo em se b ay ra khoi bo em.Chng trnh s dung MB24 cha so em: LAR1 P#M0.0 //a ch o nh au tien L 9 Next: T MB24 //Ch so em L W[AR1,P#2.0] T W[AR1,P#0.0] +AR1 P#2.0 L MB24 LOOP Next L PIW304 T MW18 b/ Tang giam noi dung thanh ghi AR: Trong v du tren ta a s dung lenh tang noi dung thanh ghi AR.Lenh nay co cau truc chung nh sau : Cu Phap: +AR1 [P# < Bytes > . < Bits >] +AR1 [P# < Bytes > . < Bits >] Lenh co the co hoac khong co toan hang .Trong trng hp khong co toan hang,lenh se cong noi dung cua thanh ghi AR vi noi dung cua t thap trong ACCU1 va cat lai ket qua vao thanh ghi AR. Trong trng hp co toan hang ,th toan hang phai la mot so co cau truc giong nh Offset,khi o lenh se cong noi dung cua toan hang vi noi dung cua thanh ghi AR va cat lai noi dung vao thanh ghi AR .Lenh khong lam thay oi noi dung thanh ghi trang thai. V du: LAR1 P#M0.0 // a ch o nh M0.0 c ghi vao thanh ghi AR1 +AR1 P#2.0 // AR1 cha a ch o nh M2.0 c/ Cat gi noi dung thanh ghi AR: Ngoai cac lenh khai bao ,tang giam ,ta con co cac lenh cat gi noi dung thanh ghi AR vi cau truc: Cu Phap: TAR1 [< a ch t kep >] TAR2 [< a ch t kep >] Lenh co the hoac khong co toan hang ,trong trng hp khong co toan hang ,lenh se chuyen noi dung thanh ghi AR vao ACCU1 .Neu co toan hang ,lenh se chuyen noi dung thanh ghi AR vao t kep co a ch c ch th trong toan hang V du: TAR1 MD0 //Chuyen noi dung thanh ghi AR1 vao t kep MD0 d/ ao noi dung hai thanh ghi AR: Ngi soan : Ha van Tr 72
Cu Phap: CAR Lenh khong co toan hang va thc hien viec ao noi dung cua hai thanh ghi AR1,AR2.Noi dung cua AR1 c chuyen sang AR2 va ngc lai noi dung cua AR2 c ghi vao AR1
S7-300 co vung M c s dung lam cac o nh lu tr gia tr trung gian ,cac bien c .Ben canh vung nh M,S7-300 con cung cap them mot vung ac biet khac e to chc lu gi d lieu di dang khoi va co ten chung la cac khoi d lieu Data Block (DB).Kch thc vung nh nay phu thuoc vao tng loai CPU,rieng oi vi CPU 314 th no co kch thc la 8Kbytes.Ta co the khai bao nhieu khoi DB cung mot luc (toi a 65535),c phan biet vi nhau nh ch so khoi nh DB1,DB2..DB65535.Kch thc cua cac khoi co the khac nhau ,nhng tong kch thc cua tat ca cac khoi DB khong c vt qua kch thc vung nh a cho ( khong c vt qua 8Kbytes vi CPU 314).Moi khoi DB eu co the truy nhap tng bit.
73
= DB10.DBX2.4 //Chuyen vao bit th 4 byte 2 cua khoi DB10. ii/Truy nhap gan: Ben canh truy nhap xa,S7-300 con cung cap them nhng lenh truy nhap gan.o la kieu truy nhap cac khoi d lieu co ten a c ghi vao 1 trong hai thanh ghi ch khoi d lieu DB ( DB register).Viec ghi ten khoi d lieu vao hai thanh ghi o c thc hien bang lenh m khoi co cau truc nh sau: Cu Phap: OPN DB < Ch so cua khoi d lieu > OPN DB < Ch so cua khoi d lieu > Lenh th nhat se ghi ten khoi d lieu co ch so cho trong toan hang vao DB-register th nhat.Thanh ghi nay se c ta goi la thanh ghi DB.Lenh th hai ghi ten khoi d lieu vi ch so cho trong toan hang vao DB-register th hai co ten goi la thanh ghi DI V du: OPN DB1 //M khoi d lieu DB1( Ghi ten khoi DB1 vao thanh ghi DB) L DBW35 //oc noi dung t DBW35 cua DB1 vao ACCU1 T MW22 //Chuyen vao o nh MW22 OPN DI20 //M khoi d lieu DB20( Ghi ten khoi DB20 vao thanh ghi DB) L DIB12 //oc noi dung byte 12 cua khoi DB20 va chuyen vao ACCU1 T DBB37 //Chuyen ACCU1 vao byte 37 cua khoi d lieu DB1 Cac o nh cua khoi d lieu a c m bang lenh OPN se c truy nhap thong qua toan hang: < Kch thc o nh va v tr > Thong qua thanh ghi DB Thong qua thanh ghi DI DBX Truy nhap bit DIX Truy nhap bit DBB Truy nhap byte DIB Truy nhap byte DBW Truy nhap t DIW Truy nhap t DBD Truy nhap t kep DID Truy nhap t kep Khac vi viec truy nhap xa , che o truy nhap gan ta co the s dung ky thuat con tro . V du cac lenh sau thc hien viec chuyen noi dung DB10.DBW0 ti DB10.DBW2 OPN DB10 LAR1 P#DBX0.0 L W[AR1,P#0.0] T W[AR1,P#2.0] 1/oc ch so khoi d lieu co ten trong thanh ghi DB hoac DI Cu Phap L DBNO L DINO Lenh oc ch so cua khoi d lieu co ten trong thanh ghi DB (DBNO) hoac trong thanh ghi DI (DINO) va chuyen ket qua oc c vao ACUU1 di dang so nguyen.Lenh khong lam thay oi noi dung thanh ghi trang thai.Noi dung cu cua ACCU1 c chuyen vao ACCU2 2/oc o dai khoi d lieu co ten trong thanh ghi DB hoac DI Cu Phap L DBLG L DILG Lenh oc o dai tnh theo byte cua khoi d lieu co ten trong thanh ghi DB (DBLG) hoac trong thanh ghi DI ( DILG ) va chuyen ket qua oc c di dang so nguyen 32 bits vao ACCU1.Lenh khong lam thay oi noi dung cua thanh ghi trang thai .Noi dung cu cua ACCU1 c chuyen vao ACCU2. Ngi soan : Ha van Tr 74
3/ao noi dung hai thanh ghi DB va DI Cu phap CDB Lenh chuyen noi dung cua thanh ghi DB sang thanh ghi DI va ngc lai noi dung DI sang DB .Lenh khong lam thay oi noi dung cua thanh ghi trang thai