Escolar Documentos
Profissional Documentos
Cultura Documentos
CHƯƠNG 1
GIỚI THIỆU VỀ PLC
I. GIỚI THIỆU SƠ LƯỢC VỀ PLC.
II. Giôùi thieäu sô löôïc veà doøng saûn phaåm cuûa Siemens:
1. Logo:
Logo Doøng saûn phaåm sô caáp ,ñöôïc söû duïng cho nhöõng öùng
duïng nhoû,coù taùc duïng thay theá cho nhöõng öùng duïng söû duïng
nhieàu rôle trung gian,timer….,nhaèm giaûm khoâng gian laép ñaët tuû
ñieän. Do logo chæ laø nhöõng Logic Modul do vaäy chæ ñöôïc söû
duïng cho vieäc thay theá nhöõng maïch soá ñôn giaûn vôùi soá löôïng
I/O nhoû 24 In,16 Out.
Öu ñieåm cuûa Logo: laø deã daøng söû duïng,deã daøng laäp trình
vaø thay ñoåi döõ lieäu .Coù theå laäp trình tröïc tieáp treân Logo baèng
caùch söû duïng Logo coù maøn hình.Giaù thaønh töông ñoái hôïp lí.
ÖÙng duïng : Chuû yeáu trong heä thoáng chieáu saùng coâng
coäng,heä thoáng chieáu saùng trong toaø nhaø,söû duïng trong caùc
maùy xaø goà,vaø moät soá maùy ñôn giaûn……
2. PLC S7_200:
PLC S7 – 200 : Doøng saûn phaåm trung caáp, ñöôïc söû duïng trong
nhöõng öùng duïng trung bình vôùi soá löôïng I/O vöøa phaûi (khoaûng
128 ), ñoái vôùi doøng saûn phaåm S7_200 naøy ñaõ ñöôïc tích hôïp
ñaày ñuû nhöõng haøm toaùn cho taát caû nhöõng öùng duïng caàn
thieát cho moïi heä thoáng töï ñoäng, ngoân ngöõ cuõng nhö giao dieän
laäp trình deã hieåu, thaân thieän, giuùp cho moïi ngöôøi ñeàu coù theå
deã daøng tieáp caän.Tuy nhieân, PLC S7-200 vaãn thöôøng ñöôïc söû
duïng cho nhöõng öùng duïng rieâng leû, coøn tröôøng hôïp muoán môû
roäng maïng thì neân söû duïng PLC S7_300.
ÖÙng duïng : Trong caùc nghaønh ñaù,Beâ toâng ,Goám
söù,Ximaêng,saét theùp……..Coù theå söû duïng cho heä thoáng SCADA
nhoû ( keát noái S7_200 vôùi maùy tính thoâng qua PC Access,ñeå coù
theå truy caäp vaø quaûn lí döõ lieäu : Traïm troän Beâ Toâng….).
4. Maøn Hình :
Siemens coøn cung caáp taát caû caùc loaïi maøn hình öùng duïng trong
coâng nghieäp nhö maøn hình maøu,maøn hình ñen traéng, maøn hình
maùy tính coâng nghieäp…..
Caùc maøn hình naøy coù theå keát noái vôùi caùc loaïi PLC ñeå coù
theå deã daøng thay ñoåi döõ lieäu ,hoaëc coù theå keát noái thaønh
maïng ProfiBus.
5. Doøng C7:
Doøng C7 veà nguyeân taéc noù ñöôïc xem nhö laø söï keát hôïp giöõa PLC
vaø maøn hình, töùc laø ta coù theå hieåu C7 laø maøn hình coù theå keát
hôïp vôùi I/O cho nhöõng öùng duïng trong coâng nghieäp, ñöôïc keát noái theo
maïng Profibus.
Trang 1
Tài liệu lớp bồi dưỡng PLC và SCADA
Vd: Coâng taéc laø moät bieán ngoõ vaøo 2 trò : ñoùng (kí hieäu laø 1) vaø
môû (kí hieäu laø 0) Ñeøn hieäu laø moät bieán ngoõ ra 2 trò : saùng (kí
hieäu laø 1) vaø taét (kí hieäu laø 0)
Hai bieán ñöôïc goïi laø ñoäc laäp nhau neáu söï thay ñoåi cuûa bieán naøy
khoâng aûnh höôûng ñeán bieán kia.
vd: Un = 205 coù theå ñöôïc bieåu dieãn döôùi daïng 8 Bit:
11001101
205 = 1. 27+ 1. 26 + 0. 25+ 0. 24 + 1. 23 + 1. 22 + 0. 21 + 1. 20
3. Trong heä cô soá 16 ( heä Hexadecimal):
Cuõng gioáng nhö heä cô soá 10, moät nguyeân döông baát kì cuõng coù theå
bieåu dieãn trong heä cô soá 16
nhö sau:
Trang 2
Tài liệu lớp bồi dưỡng PLC và SCADA
Chöông 2
PHAÀN CÖÙNG PLC S7 – 300
I. PLC ( Progranable Logic Control) :
Thieát bò ñieàu khieån Logic khaû trình PLC Laø loaïi thieát bò cho pheùp
thöïc hieän linh hoaït caùc thuaät toaùn ñieàu khieån soá thoâng qua moät
ngoân ngöõ laäp trình, thay cho vieäc phaûi theå hieän thuaät toaùn ñoù
baèng maïch soá. Nhö vaäy vôùi chöông trình ñieàu khieån trong mình ,PLC
trôû thaønh boä ñieàu khieån nhoû goïn, deã thay ñoåi thuaät toaùn vaø
ñaëc bieät deã trao ñoåi thoâng tin vôùi moâi tröôøng xung quanh ( vôùi
caùc PLC khaùc hoaëc vôùi maùy tính).Toaøn boä chöông trình ñöôïc löu
trong boä nhôù döôùi daïng caùc khoái chöông trình (OB,FC,FB..) vaø ñöôïc
thöïc hieän vôùi chu kì queùt.
Ñeå coù theå thöïc hieän moät chöông trình ñieàu khieån. Taát nhieân PLC
phaûi coù tính naêng nhö moät maùy tính, nghóa laø phaûi coù moät boä
vi xöû lí trung taâm ( CPU),moät heä ñieàu haønh,moät boä nhôù chöông
trình ñeå löu chöông trình cuõng nhö döõ lieäu vaø taát nhieân phaûi coù
caùc coång vaøo rañeå giao tieáp vôùi caùc thieát bò beân ngoaøi..Beân
caïnh ñoù ,nhaèm phuïc vuï baøi toaùn ñieàu khieån soá ,PLC phaûi coù
caùc khoái haøm chöùc naêng nhö Timer,Counter,vaø caùc haøm chöùc
naêng ñaëc bieät khaùc.
Timer
Khoái vi xöû kí
Boä trung taâm +
Heä ñieàu Boä
ñeäm ñeám
vaøo, ra haønh
Bit
côø
Coång
vaøo, ra
Quaûn lyù
Coång ngaét gheùp noái
vaø ñeám
toác ñoä cao
Vd: Caùc tín hieäu töø nuùt nhaán ,töø caùc coâng taéc haønh trình….. ñeàu
laø nhöõng tín hieäu soá
2. Tín hieäu töông töï : Laø tín hieäu lieân tuïc töø 0-10V hay
töø 4-20mA….
Vd: Tín hieäu ñoïc töø Loadcell,töø caûm bieán löu löôïng…
3. Tín hieäu khaùc : Bao goàm caùc tín hieäu giao tieáp vôùi maùy tính vôùi
caùc thieát bò ngoaïi vi khaùc baèng caùc giao thöùc khaùc nhau nhö giao
thöùc RS232, RS485, Modbus….
Trang 3
Tài liệu lớp bồi dưỡng PLC và SCADA
ñoù phaàn lôùn caùc ñoái töôïng ñieàu khieån coù soá tín hieäu ñaàu vaøo
ñaàu ra cuõng nhö chuûng loaïi tín hieäu vaøo ra khaùc nhau maø caùc boä
ñieàu khieån PLC ñöôïc thieát keá khoâng bò cöùng hoaù veà caáu hình .
Chuùng ñöôïc chia nhoû thaønh caùc Modul. Soá löôïng Modul ñöôïc söû duïng
nhieàu hay ít tuyø theo töøng baøi toaùn, song toái thieåu bao giôø cuõng coù
Modul chính laø Modul CPU. Caùc Modul coøn laïi laø nhöõng Modul nhaän
truyeàn tín hieäu vôùi ñoái töôïng ñieàu khieån, caùc Modul chöùc naêng
chuyeân duïng nhö PID,ñieàu khieån ñoäng cô….. Chuùng ñöôïc goïi chung laø
Modul môû roäng. Taát caû caùc Modul ñöôïc gaén treân nhöõng thanh rail
( Rack).
1. Modul CPU
Modul CPU laø loaïi Modul chöùa vi xöû lí, heä ñieàu haønh ,boä nhôù ,caùc
boä thôøi gian, boä ñeám,coång truyeàn thoâng ( RS485)…. Vaø coù theå coøn
coù moät vaøi coång vaøo ra soá. Caùc coång vaøo ra soá treân CPU ñöôïc goïi
laø coång vaøo ra Onboard.
Nhöõng Modul cuøng söû duïng moät loaïi boä vi xöû lí, nhöng khaùc nhau
veà coång vaøo ra onboard cuõng nhö caùc khoái haøm ñaëc bieät tích hôïp
saün trong thö vieän cuûa heä ñieàu haønh phuïc vuï vieäc söû duïng caùc coång
vaøo ra onboard naøy seõ ñöôïc phaân bieät vôùi nhau trong teân goïi baèng
teân cuïm chöõ caùi IFM( vieát taét cuûa Intergrated Function Module ).Ví duï
Module CPU 312IFM, Modul314 IFM….
Ngoaøi ra coøn coù caùc loaïi module hai coång truyeàn thoâng, trong ñoù
coång truyeàn thoâng thöù 2 coù chöùc naêng chính laø phuïc vuï vieäc noái
maïng phaân taùn. Caùc loaïi module CPU ñöôïc phaân bieät vôùi nhöõng loaïi
CPU khaùc baèng theâm cuïm töø DP ( Distrubited port)trong teân goïi. Ví duï
module CPU 315-DP.
Caùc loaïi CPU cuûa S7 – 300:
CPU 312: Boä nhôù laøm vieäc 16KB ,chu kì leänh 0.1us
CPU 312C : Boä nhôù laøm vieäc 16KB,chu kì leänh 0.1us, tích hôïp saün
10DI/6DO, 2 Xung toác ñoä cao 2.5KHz, 2 keânh ñoïc xung toác ñoä cao
10Khz.
CPU 312IFM : Boä nhôù laøm vieäc 6KB, chu kì leänh 0.6us, tích hôïp
saün 10DI/6DO
CPU 313 : Boä nhôù laøm vieäc 12KB, chu kì leänh 0,6us
CPU 313C : Boä nhôù laøm vieäc 32KB,chu kì leänh 0,1us, tích hôïp saün
24DI,16DO,5AI, 2AO ,3 Keânh xuaát xung toác ñoä cao (2.5Khz), 3 keânh
ñoïc xung toác ñoä cao (30Khz)
CPU 313C - 2DP: Boä nhôù laøm vieäc 32KB,chu kì leänh 0.1us ,tích hôïp
saün
24DI,16DO,5AI ,2AO ,3 Keânh xuaát xung toác ñoä cao (2.5Khz) ,3
keânh ñoïc xung toác ñoä cao (30Khz),coù 2 coång giao tieáp .
CPU 313C-2PtP : Boä nhôù laøm vieäc 32KB,chu kì leänh 0.1us ,tích hôïp
saün 24DI, 16DO, 5AI, 2AO, 3 Keânh xuaát xung toác ñoä cao (2.5Khz) ,3
keânh ñoïc xung toác ñoä cao (30Khz),coù 2 coång giao tieáp MPI+ PtP
connector (RS-422/485 (ASCII, ..).
CPU 314: Boä nhôù laøm vieäc 24KB ,chu kì
leänh 0.3us
CPU 314IFM : Boä nhôù laøm vieäc 24KB,chu kì leänh 0.3us, tích hôïp
saün 20DI/16DO ,4AI/ 1AO
CPU 314C-2DP:Boä nhôù laøm vieäc 48KB,chu kì leänh 0.1us,tích hôïp
saün 24DI / 16DO, 5AI / 2AO , 4 keânh xuaát xung toác ñoä cao,4 keânh
ñoïc xung toác ñoä cao.2 coång giao tieáp
CPU 314C-2PtP:Boä nhôù laøm vieäc 48KB,chu kì leänh 0.1us,tích hôïp
saün 24DI / 16DO, 5AI / 2AO , 4 keânh xuaát xung toác ñoä cao,4 keânh
ñoïc xung toác ñoä cao.2 coång giao tieáp
CPU 315 : Boä nhôù laøm vieäc 48KB ,chu kì leänh 0.3us
CPU 315-2DP: Boä nhôù laøm vieäc 48KB ,chu kì leänh 0.3us , MPI + DP
CPU 315F-2DP : Boä nhôù laøm vieäc 128KB,chu kì leänh 0.3us , 2 coång
giao tieáp.
CPU 316 : Boä nhôù laøm vieäc 128KB ,chu kì leänh 0.3us
CPU 316-2DP: Boä nhôù laøm vieäc 128KB,chu kì leänh 0.3us , 2 coång
MPI + DP
Trang 4
Tài liệu lớp bồi dưỡng PLC và SCADA
CPU 317-2: Boä nhôù laøm vieäc 512KB ,chu kì leänh 0.3us,2 coång giao
tieáp MPI + DP
CPU 317F-2: Boä nhôù laøm vieäc 512KB,chu kì leänh 0.3us ,2 coång
giao tieáp MPI + DP ( DP master hoaëc Slave)
CPU 318-2: Boä nhôù laøm vieäc 256KB ,chu kì leänh 0.3us ,2 coång
giao tieáp MPI + DP ( DP Master hoaëc Slave).
CPU 614: Boä nhôù laøm vieäc 192KB,chu kì leänh 0.3us , tích hôïp saün
512DI/DO
CPU M7: RS232,MPI 64KB SRAM
b. SM ( Signal Module):
Modul tín hieäu vaøo ra bao goàm:
DI ( Digital Input) laø Modul ngoõ vaøo soá.
DO ( Digital Output) laø Modul ngoõ vaøo soá.
DI/DO ( Digital In/Output) laø Modul ngoõ vaøo vaø ngoõ ra soá.
AI ( Analog Input ) laø Modul ngoõ vaøo tín hieäu töông töï.
AO ( Analog Output) laø Modul ngoõ vaøo tín hieäu töông töï.
AI/AO ( Analog In/Output) laø Modul ngoõ vaøo vaø ngoõ ra tín hieäu
töông töï.
c. IM ( Interface Module) :
Modul gheùp noái. Ñaây laø loaïi Modul chuyeân duïng coù nhieäm vuï
noái töøng nhoùm caùc Modul môû roäng laïi vôùi nhau thaønh töøng moät
khoái vaø ñöôïc quaûn lí chung bôûi moät module CPU. Thoâng thöôøng caùc
Modul môû roäng ñöôïc gaù lieàn vôùi nhau treân moät thanh ñôõ goïi laø Rack.
Treân moãi moät Rack chæ coù theå gaù ñöôïc nhieàu nhaát 8 module môû
roäng ( khoâng keå module CPU vaø module nguoàn nuoâi). Moät module CPU
coù theå laøm vieäc tröïc tieáp vôùi nhieàu nhaát 4 Rack, vaø caùc Rack naøy
phaûi ñöôïc noái vôùi nhau baèng Module IM nhö :
IM360 :truyeàn
IM361:nhaän.
d. FM ( Function Module):
Caùc Modul ñieàu khieån rieâng,nhö ñieàu khieån Servo,ñieàu khieån PID…
FM 355C PID Module: Module ñieàu khieån PID ,4 keânh ñieàu khieån PID ,4AI +
8DI + 4AO
FM 355S PID Module: Module ñieàu khieån PID ,4 keânh ñieàu khieån PID ,4AI +
8DI + 8DO.
FM 355 Temperature Controller: Module ñieàu khieån nhieät ñoä 4 keânh 4AI +
8DI + 4AO
FM 355 Temperature Controller: Module ñieàu khieån nhieät ñoä 4 keânh 4AI +
8DI + 8DO
M7 Application Module: 4MB,RS232,64KB Sram.
CAM Controller : FM352 CAM Module : 1 keânh ñieàu khieån.
CNC Controller : NCU 570 FM-NC : Ñieàu khieån CNC
Counter Module : FM350-1 Counter Module : Module ñeám ôû toác ñoä cao 1
keânh
FM350-2 : Module ñeám ôû toác ñoä cao 8 keânh
Possition Module : Module ñieàu khieån vò trí
FM351 FIXED SPEED POS : Module ñieàu khieån vò trí
FM353 Fstepper Motor : Module ñieàu khieån ñoäng cô böôùc 4DI + 4DO
FM354 F Servo Motor : Module ñieàu khieån ñoäng cô Servo 4DI + 4DO
Trang 5
Tài liệu lớp bồi dưỡng PLC và SCADA
Vd: I0.0,Q0.0….
Tín hieäu töông töï : Laø tín hieäu analog ñöôïc ñoïc töø caùc Modul
analog
Vd : PIW256….
Trang 6
Tài liệu lớp bồi dưỡng PLC và SCADA
c. Vuøng chöùa caùc khoái döõ lieäu: ñöôïc chia laøm 2 loaïi:
DB(Data Block): Mieàn chöùa döõ lieäu ñöôïc toå chöùc thaønh
khoái. Kích thöôùc cuõng nhö soá löôïng khoái do ngöôøi söû duïng quy
ñònh, phuø hôïp vôùi töøng baøi toaùn ñieàu khieån. Chöông trình coù
theå truy nhaäp mieàn naøy theo töøng bit (DBX), byte (DBB), töø
(DBW) hoaëc töø keùp (DBD).
L (Local data block) : Mieàn döõ lieäu ñòa phöông, ñöôïc caùc khoái
chöông trình OB, FC, FB toå chöùc vaø söû duïng cho caùc bieán nhaùp
töùc thôøi vaø trao ñoåi döõ lieäu cuûa bieán hình thöùc vôùi nhöõng
khoái chöông trình goïi noù. Noäi dung cuûa moät khoái döõ lieäu trong
mieàn nhôù naøy seõ bò xoaù khi keát thuùc chöông trình töông öùng
trong OB, FC, FB. Mieàn naøy coù theå ñöôïc truy nhaäp töø chöông trình
theo bit (L), byte(LB) töø (LW) hoaëc töø keùp (LD).
Trang 7
Tài liệu lớp bồi dưỡng PLC và SCADA
OB10 ( Time of Day Interrupt):Chöông trình trong khoái seõ ñöôïc thöïc
hieän khi giaù trò
cuûa ñoàng hoà thôøi gian thöïc naèm trong moät khoaûng thôøi gian
ñaõ ñöôïc quy ñònh.OB10
coù theå goïi moät laàn ,nhieàu laàn caùch ñeàu nhau töøng phuùt,
töøng giô,töøng ngaøy ….Vieäc quy ñònh khoaûng thôøi gian hay soá
laàn goïi OB10 ñöôïc thöïc hieän nhôø chöông trình heä thoáng SFC28
hoaëc trong baûng tham soá cuûa module CPU nhôø phaàn meàm Step 7.
Trang 8
Tài liệu lớp bồi dưỡng PLC và SCADA
OB20 ( Time Day Interrupt): Chöông trình trong khoái seõ ñöôïc thöïc
hieän sau moät khoaûng thôøi gian treã ñaët tröôùc keå töø khi goïi
chöông trình heä thoáng SFC32 ñeå ñaët thôøi gian treã.
OB35 (Cyclic Interrupt): Chöông trình trong OB35 seõ ñöôïc thöïc hieän
caùch ñeàu nhau
1 khoaûng thôøi gian coá ñònh.Maëc ñònh khoaûng thôøi gian naøy
seõ laø 100ms,xong ta coù theå thay ñoåi noù trong baûng tham soá
cuûa module CPU ,nhôø phaàn meàm Step7.
OB40 (Hardware Interrupt) : Chöông trình trong OB seõ ñöôïc thöïc hieän
khi xuaát hieän
1 tín hieäu baùo ngaét töø ngoaïi vi ñöa vaøo module CPU thoâng
qua caùc coång vaøo ra soá onboard ñaëc bieät,hoaëc thoâng qua
caùc module SM,CP,FM
OB80 (Cycle Time Fault): Chöông trình trong khoái OB80 seõ ñöôïc thöïc
hieän khi thôøi gian voøng queùt(Scan time) vöôït quaù khoaûng thôøi
gian cöïc ñaïi ñaõ ñöôïc quy ñònh hoaëc khi coù moät tín hieäu ngaét goïi
moät khoái OB naøo ñoù maø khoái OB naøy chöa keát thuùc ôû laàn goïi
tröôùc.Maëc ñònh thôøi gian Scan time cöïc ñaïi laø 150ms ,nhöng coù
theå thay ñoåi noù thoâng qua baûng tham soá cuûa module CPU nhôø
phaàn meàm Step 7.
OB81 (Power Supply fault): CPU seõ goïi chöông trình trong khoái
OB81 khi phaùt hieän thaáy coù loãi veà nguoàn nuoâi.
OB82( Diagnostic Interrupt):Chöông trình trong OB82 ñöôïc goïi khi
CPU phaùt hieän söï coá töø caùc Modul vaøo ra
OB85( Not Load fault):Chöông trình trong OB82 ñöôïc goïi khi CPU phaùt
hieän thaáy chöông trình öùng duïng coù söû duïng cheá ñoä ngaét
nhöng chöông trình söû lí tín hieäu ngaét laïi khoâng coù trong khoái OB
töông öùng.
OB87 ( Communication fault):Khoái OB87 seõ ñöôïc goïi khi CPU
phaùt hieän thaáy loãi trong truyeàn thoâng ví duï nhö khoâng coù tín
hieäu traû lôøi töø caùc ñoái taùc.
OB100 ( Start Up Information):Khoái OB100 seõ ñöôïc thöïc hieän 1 laàn
khi CPU
chuyeån traïng thaùi Stop sang Run.
OB121 ( Synchronous error):Khoái OB121 seõ ñöôïc goïi khi CPU phaùt
hieän thaáy loãi logic trong chöông trình nhö ñoåi sai kieåu döõ lieäu
hoaëc loãi truy nhaäp khoái DB ,FC,FB khoâng coù trong boä nhôù CPU.
OB122 ( Synchronous error):Khoái OB122 seõ ñöôïc goïi khi CPU phaùt
hieän thaáy loãi truy caäp module trong chöông trình,ví duï chöông trình
coù leänh truy nhaäp module vaøo ra môû roäng nhöng laïi khoâng tìm
thaáy module naøy.
DB1.DBX2.3 M1.7
Trang 9
Tài liệu lớp bồi dưỡng PLC và SCADA
* Kieåu Byte:
1 Byte = 8 Bit. Suy ra, giaù trò 1 Byte trong khoûang: 0 -(2 8 – 1 ) hay 0 –
255.
DB1.DBB10 VB10
DB1.DBW10 QW0
Trong ñoù : DB1.DBB10 laø byte cao vaø DB1.DBB11 laø Byte thaáp.
Kieåu DWord:
1 DWord = 2 Word = 4 Byte = 32 Bit.
Suy ra, giaù trò 1 Word trong khoaûng töø 0 ñeán 232 – 1.
DB1.DBD10 MD0
Trang 10
Tài liệu lớp bồi dưỡng PLC và SCADA
Trang 11
Tài liệu lớp bồi dưỡng PLC và SCADA
Chöông 3
PHAÀN MEÀM SOAÏN THAÛO CHÖÔNG TRÌNH
I. Höôùng daãn khai baùo phaàn cöùng vaø laäp trình trong SIMATIC
Manager:
Sau khi caøi ñaët xong, ta vaøo Start \ Simatic \ SIMATIC Manager ñeå
khôûi ñoäng chöông trình S7-300
Giao dieän chính maøn hình seõ xuaát hieän. Khi ño,ù cuõng coù khi moät
cöûa soå Wizard xuaát hieän baûo ta khai baùo loaïi CPU ngay trong cöûa soå
Wizard naøy, ta laøm theo caùc khai baùo nhö trong höôùng daãn Wizard.
Cuõng coù khi khôûi ñoäng leân, chöông trình chæ xuaát hieän nhö sau.
Ñeå laäp trình, ta Click vaøo nuùt New Project/Library treân maøn hình.
Ta ñaët teân vaø nhaán OK ñeå keát thuùc, khi ñoù treân maøn hình xuaát
hieän cöûa soå chöông trình.
Giaû söû ta ñaët chöông trình laø ‘c’.
Trang 12
Tài liệu lớp bồi dưỡng PLC và SCADA
Tieáp theo, trong phaàn traïm SIMATIC 300 vöøa choïn, ta Double Click
vaøo phaàn Hardware ñeå caáu hình phaàn cöùng cho heä thoáng S7 300 cuûa
ta.
Trang 13
Tài liệu lớp bồi dưỡng PLC và SCADA
Ta choïn caùc thieát bò phaàn cöùng töø thö vieän linh kieän beân coät
phaûi.
Ta phaûi choïn cho ñuùng vôùi maõ soá ghi treân thieát bò. Baèng caùc
thao taùc reâ keùo thaû vaøo cöûa soå beân phaûi.
Ví duï nhö ta choïn moät thanh Rail tröôùc tieân, sau ñoù ta boû caùc
thieát bò nhö CPU 312C, hai Module DI, hai Module DO leân thanh Rail
Ta löu yù :
2.2 10 tín hieäu vaøo soá DI ngay treân CPU seõ coù ñòa chæ laø 124
tôùi 125 nhö sau : I 124.0; I 124.1; … I 124.7; I 125.0; I 125.1
Trang 14
Tài liệu lớp bồi dưỡng PLC và SCADA
2.2 6 tín hieäu ra soá DO ngay treân CPU seõ coù ñòa chæ laø 124 nhö sau :
Q 124.0; Q 124.1; … ; Q124.5
4 32 tín hieäu vaøo soá DI saùt CPU seõ coù ñòa chæ töø 0 tôùi 3 nhö
sau : I 0.0; I 0.1; … ; I 0.7;
I 1.0; I 1.1; … ; I 1.7;
I 2.0; I 2.1; … ; I 2.7;
I 3.0; I 3.1; … ; I 3.7;
5 32 tín hieäu vaøo soá DI keá tieáp saùt tieáp theo CPU seõ coù ñòa
chæ töø 4 tôùi 7 nhö sau :
I 4.0; I 4.1; … ; I 4.7;
I 5.0; I 5.1; … ; I 5.7;
I 6.0; I 6.1; … ; I 6.7;
I 7.0; I 7.1; … ; I 7.7;
6 32 tín hieäu ra soá DO keá tieáp saùt tieáp theo CPU seõ coù ñòa chæ töø
8 tôùi 11 nhö sau :
Q8.0; Q8.1; … ; Q8.7;
Q9.0; Q9.1; … ; Q9.7;
Q10.0; Q10.1; … ; Q10.7;
Q11.0; Q11.1; … ; IQ11.7;
7 tieáp theo töông töï nhö treân.
Töông tö nhö theá, ñòa chæ DI, DO seõ theå hieän treân muïc HW luùc
caáu hình phaàn cöùng. Noù thöôøng lieân tuïc, tuy nhieân ta coù theå ñònh laïi
vuøng ñòa chæ naøy nhö sau :
Ta Double Click vaøo ngay treân Module muoán ñoåi ñòa chæ.
Xuaát hieän :
Trang 15
Tài liệu lớp bồi dưỡng PLC và SCADA
Neáu ta ñeå daáu kieåm taïi System selection thì vuøng ñòa chæ naøy seõ
ñöôïc choïn theo maëc ñònh, vuøng Start seõ bò môø ñi laøm ta khoâng thay
ñoåi ñöôïc. Neáu muoán thay ñoåi vuøng ñòa chæ, ta boû daáu kieåm ñi, ñaùnh
soá ñòa chæ vaøo vuøng Start . Xong nhaán OK.
Töông tö nhö theá, ta coù theå thay ñoåi baát kyø vuøng ñòa chæ naøo
neáu muoán, nhöng löu yù laø vuøng ñòa chæ thay ñoåi khoâng ñöôïc truøng
vôùi vuøng ñòa chæ ñaõ söû duïng treân Module khaùc vaø ta neân söû duïng
vuøng ñòa chæ sao cho vieäc quaûn lyù ñeå vieát chöông trình ñöôïc deã
daøng.
Sau ñoù ta löu laïi chöông trình. Quay veà cöûa soå chöông trình cuûa
SIMATIC Manager, ta seõ thaáy :
Vaøo phaàn Blocks \ OB1. Double click vaøo OB1 ñeå soaïn thaûo chöông
trình.
Giaû söû ta laäp moät chöông trình ñôn giaûn nhö sau trong OB1 :
Trang 16
Tài liệu lớp bồi dưỡng PLC và SCADA
Ngoõvaøo I0.0 ñieàu khieån ngoõ ra Q0.0. Ñaây laø ví duï ñôn giaûn.
Ta soaïn thaûo chöông trình trong phaàn OB1 naøy. Ñeå laäp trình, ta coù
theå xem trong caùc taøi lieäu khaùc veà caùc leänh, caùc haøm, … Sau ñoù ta
löu chöông trình laïi.
Trang 17
Tài liệu lớp bồi dưỡng PLC và SCADA
Choïn muïc PC Adapter(MPI). Vaøo Properties, choïn coång COM keát noái, toác
ñoä truyeàn 187,5kbps.
Sau khi khai baùo xong, ta keát noái PLC vôùi maùy tính vaø nhaán nhuùt
Download treân cöûa soå
chính SIMATIC Manager ñeå Down load toaøn boä phaàn cöùng vaø chöông trình
vöøa vieát vaøo PLC.
Trang 18
Tài liệu lớp bồi dưỡng PLC và SCADA
Ta cuõng coù theå Download phaàn cöùng rieâng trong cöûa soå HW, hay chæ
Download chöông trình trong cöûa soå OB1.
Ta Click vaøo nuùt Simulation treân cöûa soå chöông trình chính, seõ
xuaát hieän :
Neáu muoán theâm caùc Module In, Out ta coù theå vaøo Insert ñeå baät
leân. Moãi moät IB, QB töôïng tröng cho moät Module.
Trang 19
Tài liệu lớp bồi dưỡng PLC và SCADA
Sau ñoù, ta quay trôû laïi cöûa soå chöông trình chính SIMATIC Manager
ñeå Download chöông trình xuoáng phaàn moâ phoûng Simulation.
Sau khi Download xong, quay trôû laïi cöûa soå Simulation, ta baät nuùt
RUN-P cuûa PLC leân.
Ta taùc ñoäng vaøo ngoõ vaøo I0.0 seõ thaáy ngoõ ra Q0.0 taùc ñoäng
nhö trong phaàn laäp trình OB1.
Trang 20
Tài liệu lớp bồi dưỡng PLC và SCADA
STEP 7 Pro V5.1 chaïy trong moâi tröôøng Windows. Chöông trình naøy
caàn phaûi coù dóa baûn quyeàn chöùa trong oå A (1.44MB) seõ yeâu caàu
trong quaù trình caøi ñaët. Neáu khoâng coù, chöông trình seõ hoûi trong quaù
trình caøi ñaët, ngöôøi söû duïng coù theå nhaán nuùt Skip ñeå boû qua. Nhöng
moãi laàn söû duïng seõ thöôøng hieän thoâng baùo yeâu caàu baûn quyeàn, ta
nhaán nuùt OK ñeå thoaùt ra khoûi thoâng baùo vaø tieáp tuïc söû duïng bình
thöôøng.
Ta chaïy file Setup ñeå baét ñaàu caøi ñaët. Trong khi caøi ñaët chöông
trình seõ hoûi caùc muïc caàn caøi, ta coù theå Click choïn heát.
Chöông trình seõ töï ñoäng caøi laàn löôït caùc muïc ta Click choïn nhö
treân.
Trong quaù trình caøi ñaët STEP 7 Pro V5.1, seõ coù baûng thoâng baùo
yeâu caàu nhaäp : Hoï teân, Coâng ty, ID KHE. Ta coù theå khai baùo ID trong
phaàn KHE nhö sau : 0918730423
Trang 21
Tài liệu lớp bồi dưỡng PLC và SCADA
Ta tieáp tuïc thöïc hieän caùc thao taùc yeâu caàu tuaân theo caùc chæ daãn
trong khi caøi ñaët. Ñeán khi keát thuùc quaù trình caøi ñaët, ta khôûi ñoäng laïi
maùy.
CP U S7-300
315-2DP
MAÙ
Y TÍNH CP U S7-200 EM 277
CAÙ
P P ROFIBUS
CAÙ
P S7-300
Baát kyø moät thieát bò naøo muoán keát noái vôùi S7-300 baèng Profibus
phaûi coù file .GSD ñi keøm. Ñeå ñöa file ñoù vaøo thö vieân linh kieän, ta laøm
nhö sau :
Trang 22
Tài liệu lớp bồi dưỡng PLC và SCADA
Ta khôûi ñoäng chöông trình S7-300 leân, vaøo phaàn Hardware. Trong
cöûa soå Hardware ta vaøo Option \ Intall New GSD…
Chæ ra ñöôøng daãn chöùa taäp tin .gsd treân maùy. Giaû söû ta coù file
siem089d.gsd laø file cuûa EM277.
Töông töï nhö theá, neáu moät thieát bò baát kyø coù theå noái Probibus
ñöôïc thì phaûi coù file .gsd, ta coù theå truy tìm chuùng treân trang Web
Siemens hay khi mua thieát bò yeâu caàu keøm file .gsd, sau ñoù install chuùng
vaøo thö vieän linh kieän.
Trang 23
Tài liệu lớp bồi dưỡng PLC và SCADA
Khi choïn CPU coù coång DP, chöông trình seõ hoûi.
Trang 24
Tài liệu lớp bồi dưỡng PLC và SCADA
Ta choïn
PROFIBUS(1), nhaán OK.
Sau ñoù, ta boû EM277 leân treân thanh Profibus.
Khi reâ boû leân thanh Profibus, chöông trình seõ hoûi :
Ta choïn Address laø ñòa chòa chæ cuûa EM277. Treân EM277 phaàn
cöùng , coù nuùt chænh ñòa chæ. Ta chænh ñòa chæ naøo thì treân phaàn naøy
ta khai baùo Address ñoù. Giaû söû ta coù moät EM 277 vaø ta chænh ñòa chæ
laø 1. Xong ta nhaán OK ñeå xaùc nhaän.
Trang 25
Tài liệu lớp bồi dưỡng PLC và SCADA
Tieáp theo ta boû 1 WordOut/1WordIn vaøo EM277, coù nghóa laø ta söû
duïng 1 word treân S7-200. Neáu boû nhieàu WordOut/In vaøo EM277 naøy, thì
ta phaûi coù nhieàu Module In/Out cuûa S7-200 gaén keá vaøo CPU S7-200.
Treân S7-200 naøy seõ quaûn lyù ñòa chæ töø 256 tôùi 257 töông öùng
vôùi 1 Word. Ví duï : 256.0; 256.1; … ; 257.0; 257.1; … ; 257.7
Coøn treân S7-300, ta gaén Module 16In/Out seõ quaûn lyù ñòa chæ töø 0
tôùi 1. Ví duï : 0.0; 0.1; … ; 1.0; 1.1; … ; 1.7
Trang 26
Tài liệu lớp bồi dưỡng PLC và SCADA
Ta muoán vieát chöông trình ñieàu khieån ngoõ vaøo I0.0 cuûa Module
treân S7-300 seõ taùc ñoäng ñeán ngoõ ra Q256.0 treân Module treân S7-200,
ta vieát nhö sau :
Töông töï nhö theá, ta coù theå caáu hình cho S7-300 keát noái vôùi S7-
300, vaø vôùi caùc heä thoáng maïng coâng nghieäp khaùc qua coång Profibus.
Treân ñaây chæ trình baøy moät heä thoáng noái maïng cô baûn giöõa S7-
300 vaø S7-200. Neáu quyù khaùch muoán nghieân cöùu theâm, coù theå tìm
ñoïc ôû caùc taøi lieäu khaùc.
Trang 27
Tài liệu lớp bồi dưỡng PLC và SCADA
Chöông 4
TAÄP LEÄNH TRONG PLC S7 – 300
-FC ( First check) : Khi phaûi thöïc hieän moät daõy caùc leänh logic lieân
tieáp nhau goàm caùc pheùp
tính giao ,hôïp vaø nghòch ñaûo,bit FC coù giaù trò baèng 1, hay noùi caùch
khaùc, FC=0 khi daõy leänh
Logic tieáp ñieåm vöøa ñöôïc
keát thuùc.
-RLO (Result of logic operation) : Keát quaû töùc thôøi cuûa pheùp tính
logic vöøa ñöôïc thöïc hieän
-STA (Status bit) : Bit traïng thaùi naøy luoân coù giaù trò logic cuûa tieáp
ñieåm ñöôïc chæ ñònh trong leänh.
-OR :Ghi laïi giaù trò cuûa pheùp tính logic giao cuoái cuøng ñöôïc thöïc
hieän ñeå phuï giuùp cho vieäc thöïc hieän pheùp toaùn hôïp sau ñoù.Ñieàu
naøy laø caàn thieát vì trong moät bieåu thöùc haøm 2 trò ,pheùp tính giao
bao giôø cuõng phaûi ñöôïc thöïc hieän tröôùc caùc pheùp tính hôïp.
-OS (Stored overflow bit) : Ghi laïi giaù trò Bit bò traøn ra
ngoaøi maûng oâ nhôù.
-OV(Overflow Bit): Bit baùo caùo keát quaû pheùp tính bò traøn
ra ngoaøi maûng oâ nhôù.
-CC0 vaø CC1 ( Condition code) : Hai bit baùo traïng thaùi cuûa keát
quaû pheùp tính vôùi soá nguyeân,soá thöïc pheùp dòch chuyeån hoaëc
pheùp tính logic trong ACCU
CC1 CC0 YÙ nghóa
0 0 Keát quaû baèng 0 (=0)
0 1 Keát quaû nhoû hôn 0 ( < 0 )
1 0 Keát quaû lôùn hôn 0 ( > 0 )
Khi thöïc hieän leänh toaùn hoïc nhö coäng tröø nhaân chia vôùi
soá nguyeân hoaëc soá thöïc
CC0 CC1 YÙ
0 0 Keát quaû quaùNghóa
nhoû khi thöïc hieän leänh
coäng (+I,+D)
Keát quaû quaù nhoû khi thöïc hieän leänh
0 1
nhaân (*I,*D) hoaëc quaù lôùn khi thöïc
hieän leänh
lôùncoäng tröøhieän
(+I,+D,-I,-D)
1 0 Keát quaû quaù khi thöïc leänh nhaân
chia (*I,*D,/I,/D ) hoaëc quaù nhoû khi thöïc
hieän leänhbòcoäng
traøn tröø (+I,+D,-I,-D)
1 1 Keát quaû do thöïc hieän leänh chia
cho
Khi thöïc hieän leänh toaùn 0 vôùi
hoïc (/I,/D)
soá nguyeân nhöng keát quaû bò traøn oâ nhôù
CC0 CC1 YÙ
0 0 Nghóa
Keát quaû coù soá muõ e quaù lôùn
0 1 Keát quaû coù mantissa quaù nhoû
1 0 Keát quaû coù mantissa quaù lôùn
1 1 Pheùp tính sai quy chuaån
Trang 28
Tài liệu lớp bồi dưỡng PLC và SCADA
Khi thöïc hieän leänh toaùn hoïc vôùi soá thöïc nnhöng keát quaû
bò traøn oâ nhôù
CC0 CC1 YÙ
0 0 Giaù trò Nghóa
cuûa bit bò ñaåy ra baèng 0
1 0 Giaù trò cuûa Bit bò ñaåy ra baèng 1
Khi thöïc hieän leänh dòch chuyeån
CC0 CC1 YÙ
0 0 Nghóa
Keát quaû
baèng
Keát 0
quaû
1 0
khaùc 0
Khi thöïc hieän leänh logic trong ACCU
BR ( Binary result bit) : Bit traïng thaùi cho pheùp lieân keát hai loaïi ngoân
ngöõ laäp trình STL vaø LAD .Chaúng haïn cho pheùp ngöôøi söû duïng coù
theå vieát moät khoái chöông trình FB hoaëc FC treân ngoân ngöõ STL
nhöng goïi vaø söû duïng chuùng trong moät chöông trình khaùc vieát treân
LAD .Ñeå tao ra ñöôïc moái lieân keát ñoù,ta caàn phaûi keát thuùc chöông
trình trong FB,FC baèng leänh ghi
BR = 1 ,neáu chöông trình chaïy khoâng coù loãi
BR = 0 ,neáu chöông trình chaïy coù loãi
Khi söû duïng caùc khoái haøm ñaëc bieät cuûa heä thoáng ( SFC hoaëc
SFB) ,traïng thaùi laøm vieäc cuûa chöông trình cuõng ñöôïc thoâng baùo
ra ngoaøi qua bit traïng thaùi BR nhö sau:
BR=1 neáu SFC hay SFB thöïc hieän khoâng coù loãi
BR=0 neáu coù loãi khi thöïc hieän SFC hay SFB
Tieáp ñieåm thöôøng ñoùng : KQ=KT neáu I0.0=0. KQ=0 neáu I0.0=1
Xaùc ñònh keát quaû: Gaùn KQ taïi vò trí maø leänh ñöôïc cheøn
Vd: M0.0 löu keát quaû sau 2 pheùp tính qua I0.0 vaø I0.1
Trang 29
Tài liệu lớp bồi dưỡng PLC và SCADA
Leänh RS:
Neáu I0.0=1 , I0.1=0 thì M0.0=1, Q0.0=0
Neáu I0.0=0 ,I0.1=1 thì M0.0=0 ,Q0.0=1
Neáu I0.0=I0.1=0 Thì khoâng coù
gì thay ñoåi. Neáu I0.0=I0.1=1 thì
M0.0=Q0.0=1
Leänh SR:
Neáu I0.0=1 , I0.1=0 thì M0.0=1, Q0.0=1
Neáu I0.0=0 ,I0.1=1 thì M0.0=0 ,Q0.0=0
Neáu I0.0=I0.1=0 Thì khoâng coù
gì thay ñoåi. Neáu I0.0=I0.1=1 thì
M0.0=Q0.0=0
Trang 30
Tài liệu lớp bồi dưỡng PLC và SCADA
Nhö vaäy trong caû 2 leänh vi phaân caïnh xuoáng vaø vi phaân caïnh leân
thì Q0.0 chæ ON trong 1
chu kì taïi thôøi ñieåm thoaû ñieàu kieän.
Leänh Save : Löu giaù trò RLO ( KQ) vaøo Bit côø BR (Binary Result Bit)
Leänh NEG: Khi I0.0=1 vaø I0.1 chuyeån traïng thaùi töø 1 xuoáng 0 thì Q0.0
ON trong 1 chu kì
Hay noùi caùch khaùc Q0.0 chæ ON taïi thôøi ñieåm thoaû ñieàu kieän baøi
toaùn.
Leänh POS: : Khi I0.0=1 vaø I0.1 chuyeån traïng thaùi töø 0 leân 1 thì Q0.0
ON trong 1 chu kì
Hay noùi caùch Khaùc Q0.0 chæ ON taïi thôøi ñieåm thoaû ñieàu kieän baøi
toaùn.
Leänh S_PULSE:
Neáu I0.0=1 Timer ñöôïc kích chaïy,khi I0.0=0 hoaëc chaïy ñuû thôøi gian
ñaët 2s thì Timer döøng
Hoaëc coù tín hieäu I0.1 thì Timer cuõng döøng
Timer chæ chaïy laïi khi coù tín hieäu môùi töø I0.0 ( töùc laø I0.0
chuyeån traïng thaùi töø 0 leân 1 ) Q0.0=1 khi Timer ñang chaïy.
MW100 löu giaù trò ñeám cuûa Timer theo daïng Integer
MW102 löu giaù trò cuûa Timer theo daïng BCD
Chöùc naêng cuûa Timer naøy laø taïo xung coù thôøi gian ñöôïc ñaët saün
Trang 31
Tài liệu lớp bồi dưỡng PLC và SCADA
Leänh S_PEXT:
Timer kích coù nhôù,Khi coù tín hieäu caïnh leân ôû I0.0 Timer T5
chaïy,neáu ñuû thôøi gian ñaët Timer döøng.
Trong quaù trình chaïy neáu coù tín hieäu môùi töø chaân I0.0 thì thôøi
gian Timer laïi ñöôïc tính laïi töø ñaàu.
Trong quaù trình chaïy neáu coù tín hieäu I0.1 thì Timer döøng
Q0.0 =1 khi Timer ñang chaïy.
Caùc oâ nhôù MW100 vaø MW102 löu giaù trò hieän thôøi cuûa Timer theo
daïng Integer vaø daïng
BCD
Leänh S_ODT:
Neáu I0.0=1 Timer baét ñaàu chaïy khi ñuû thôøi gian thì ngöng khi ñoù
ngoõ Q0.0 seõ leân 1 neáu I0.0
vaãn coøn giöõ traïng thaùi 1,khi coù tín hieäu I0.1 thì taát caû phaûi ñöôïc
Reset veà 0
Trang 32
Tài liệu lớp bồi dưỡng PLC và SCADA
Caùc oâ nhôù MW100 vaø MW102 löu giaù trò hieän thôøi cuûa Timer theo
daïng Integer vaø daïng
BCD
Leänh S_ODTS:
Timer kích coù nhôù,khi coù xung caïnh leân ôû I0.0 Timer baét ñaàu
chaïy ,ngoõ ra Q0.0=1 khi Timer ngöng vaø chæ taét khi coù tín hieäu Reset
(tín hieäu I0.1)
Trong quaù trình Timer chaïy neáu coù söï chuyeån ñoåi tín hieäu töø chaân
I0.0 them 1 laàn nöõa thì Timer seõ nhôù vaø tieáp tuïc chaïy khi heát thôøi
gian laàn tröôùc.
Trang 33
Tài liệu lớp bồi dưỡng PLC và SCADA
Leänh S_OFFDT:
Khi I0.0 ON , Q0.0 =1 ,khi I0.0 OFF Timer baét ñaàu chaïy vaø Q0.0 chæ taét
khi ñuû thôøi gian vaø
I0.0 vaãn OFF
Khi coù tín hieäu Reset I0.1 thì taát caû tín hieäu ñeàu OFF
Trang 34
Tài liệu lớp bồi dưỡng PLC và SCADA
Leänh TON:
Trong VD treân thì T0 ñöôïc caøi thôøi gian laø 1 giôø 30 phuùt.
Trang 35
Trong VD treân, khi I0.0 ON, Timer T5 seõ ñöôïc kích hoaït. Ñuû thôøi gian
caøi ñaët laø 2 s thì bit
T5 taùc ñoäng laøm cho Q0.0 ON.
Khi ngoõ vaøo I0.1 taùc ñoäng thì Timer ñöôïc reset. Giaù trò hieän taïi cuûa
Timer cuõng nhö Bit T5
ñöôïc Reset veà 0.
2/ Caøi ñaët thoâng soá thôøi gian thoâng qua bieán nhôù:
Giaù trò caøi ñaët cho timer thoâng qua moät bieán kieåu WORD 16 bit:
12 bit keá tieáp laø giaù trò caøi ñaët thôøi gian cho Timer döôùi daïng soá
BCD (giaù trò töø 0-999). Nhö trong VD treân thì giaù trò caøi ñaët cho Timer
seõ laø 127s.
Nhö vaäy ñeå coù theå caøi ñaët giaù trò cho Timer thay ñoåi theo oâ nhôù:
Ta phaûi thöïc hieän caùc böôùc:
Giaù trò Timer phaûi beù hôn hoaëc baèng 999
Chuyeån giaù trò ñoù sang daïng BCD duøng leänh I_BCD
Sau ñoù choïn Time Base theo mong muoán nhö baûng treân baèng caùch
choïn 4 Bit ñaàu.
TOFF:
Trong VD treân, khi I0.0 ON, Bit T5 seõ ON ngay khi I0.0 ON. Khi I0.0 chuyeån
töø ON sang
OFF, Timer T5 seõ ñöôïc kích hoaït. Ñuû thôøi gian caøi ñaët laø 2 s thì Timer
T5 taùc ñoäng, bit T5
OFF laøm cho Q0.0 OFF.
Khi ngoõ vaøo I0.1 taùc ñoäng thì Timer ñöôïc reset. Giaù trò hieän taïi cuûa
Timer cuõng nhö Bit T5
ñöôïc Reset veà 0.
Caùch caøi ñaët thoâng soá thôøi gian cuûa Timer OFF töông töï nhö Timer
ON.
Trong VD treân, khi I0.0 ON, Timer T5 seõ ñöôïc kích hoaït. Ñuû thôøi gian
caøi ñaët laø 2 s thì bit
T5 taùc ñoäng laøm cho Q0.0 ON. Trong tröôøng hôïp thôøi gian chöa ñuû 2S
maø I0.0 chuyeånOFF
sang ON moät laàn nöõa, giaù trò ñeám cuûa Timer seõ ñöôïc khôûi ñoäng
laïi.
Giöõa Timer ON vaø Timer ON coù nhôù coøn khaùc nhau moät ñieåm nöõa
nhö sau:
Timer ON: sau khi Timer taùc ñoäng, Bit cuûa Timer ñöôïc baät ON, neáu tín
hieäu kích Timer maát ñi thì Timer seõ ñöôïc Reset, Bit timer seõ OFF.
Timer ON coù nhôù: sau khi Timer taùc ñoäng, Bit cuûa Timer ñöôïc baät
ON, neáu tín hieäu kích
Timer maát ñi thì Timer vaãn khoâng Reset, Bit timer seõ vaãn ON.
Khi ngoõ vaøo I0.1 taùc ñoäng thì Timer ñöôïc reset. Giaù trò hieän taïi cuûa
Timer cuõng nhö Bit T5
ñöôïc Reset veà 0.
Timer xung:
Moâ taû:
Khi I0.0 chuyeån töø 0 leân 1, Timer T5 seõ ñöôïc khôûi ñoäng, ngoõ ra bit T5
seõ ON ngay laäp töùc. Khi heát thôøi gian caøi ñaët laø 2s thì bit T5 OFF
(baát keå ngoõ vaøo I0.0 vaãn coøn ON hay ñaõ OFF). Trong tröôøng hôïp
chöa ñuû 2s maø ngoõ vaøo I0.0 chuyeån töø OFF leân ON moät laàn nöõa,
Timer seõ ñöôïc khôûi ñoäng laïi.
Khi I0.1 chuyeån töø 0 leân 1. Ngoõ ra bit T5 seõ OFF vaø thôøi gian ñöôïc
reset.
Baøi giaûng S7-300
3/ Counter:
Leänh ñeám leân xuoáng S_CUD:
Ngoõ vaøo I0.2=1 : ñöa giaù trò ñeám vaøo PV
Khi I0.0 chuyeån traïng thaùi töø 0 leân 1 ,C0 ñeám taêng leân 1
Khi I0.1 chuyeån traïng thaùi töø 0 leân 1 ,C0 ñeám giaûm xuoáng 1
Khi caû I0.0 vaø I0.1 ñeàu chuyeån traïng thaùi thì C0 khoâng thay ñoåi
Khi I0.3=1 thì C0 bò Reset veà 0
Giaù trò boä ñeám hieän thôøi naèm trong 2 oâ nhôù MW100 vaø MW102
döôùi daïng Integer vaø daïng
BCD ,giaù trò naøy coù taàm töø 0 – 999.
Ngoõ ra Q0.0=1 khi giaù trò ñeám lôùn hôn 0
Giaù trò boä ñeám hieän thôøi naèm trong 2 oâ nhôù MW100 vaø MW102
döôùi daïng Integer vaø daïng
BCD ,giaù trò naøy coù taàm töø 0 – 999.
Ngoõ ra Q0.0=1 khi giaù trò ñeám lôùn hôn 0
Moâ taû:
Khi I0.0 ON, giaù trò 100 seõ ñöôïc naïp cho Counter C5.
Khi I0.0 OFF, giaù trò Counter seõ phuï thuoäc vaøo caùc tín hieäu kích
ñeám.
Leänh ñeám leân: (CU)
Moâ taû:
Khi I0.0 chuyeån töø 0 leân 1, giaù trò 100 seõ ñöôïc naïp vaøo cho Counter
C10.
Cöù moãi xung caïnh leân ôû ngoõ vaøo I0.1, boä ñeám C10 seõ taêng 1
ñôn vò. Khi giaù trò taêng ñeán 999
thì tín hieäu kích taêng khoâng coøn taùc duïng.
Khi I0.2 chuyeån töø 0 leân 1, giaù trò boä ñeám vaø bit C10 seõ ñöôïc
reset.
Leänh ñeám xuoáng: (CD)
Moâ taû:
Khi I0.0 chuyeån töø 0 leân 1, giaù trò 100 seõ ñöôïc naïp vaøo cho Counter
C10.
Cöù moãi xung caïnh leân ôû ngoõ vaøo I0.1, boä ñeám C10 seõ giaûm 1
ñôn vò. Khi giaù trò giaûm ñeán 0
thì tín hieäu kích giaûm khoâng coøn taùc duïng, ñoàng thôøi luùc ñoù C10
seõ OFF. Neáu boä ñeám khaùc
0, C10 seõ ON.
Khi I0.2 chuyeån töø 0 leân 1, giaù trò boä ñeám vaø bit C10 seõ ñöôïc
reset.
4/Leänh So Saùnh:
a/Leänh so saùnh soá nguyeân:
Leänh EQ_I ( Equal Integer): So saùnh MW100 vaø MW102, neáu 2 soá
nguyeân naøy baèng nhau thì KQ=KT
Leänh NE_I ( Not Equal Integer) : So saùnh MW100 vaø MW102,neáu 2 soá
naøy khaùc nhau thì
KQ=KT.
Baøi giaûng S7-300
Leänh GT_I ( Greater than Integer) : So saùnh 2 soá MW100 vaø MW102 ,neáu
MW100 lôùn hôn
MW102 thì KQ=KT
Leänh LT_I ( Less than Integer ) : So saùnh 2 soá MW100 vaø MW102,Neáu
MW100 beù hôn
MW102 thì KQ=KT
Leänh GE_I ( Greater than or equal Integer ) : So saùnh 2 soá MW100 vaø
MW102, Neáu MW100
lôùn hôn hoaëc baèng MW102 thì KQ=KT
Leänh LE_I ( Less than or equal Integer ) : So saùnh 2 soá MW100 vaø
MW102, Neáu MW100 beù
hôn hoaëc baèng MW102 thì KQ=KT
Leänh NE_D ( Not Equal Double Integer) : So saùnh MD100 vaø MD104,neáu
2 soá naøy khaùc
nhau thì KQ=KT.
Leänh NE_R ( Not Equal Real) : So saùnh MD100 vaø MD104,neáu 2 soá
naøy khaùc nhau thì
KQ=KT.
Leänh GT_R ( Greater than Real) : So saùnh 2 soá MD100 vaø MD104 ,neáu
MD100 lôùn hôn
MD104 thì KQ=KT
Leänh LT_R ( Less than Real ) : So saùnh 2 soá MD100 vaø MD104,Neáu
MD100 beù hôn MD104
thì KQ=KT
Leänh GE_R ( Greater than or equal Real ) : So saùnh 2 soá MD100 vaø
MD104, Neáu MD100
lôùn hôn hoaëc baèng MD104 thì KQ=KT
Baøi giaûng S7-300
Leänh LE_R ( Less than or equal Real ) : So saùnh 2 soá MD100 vaø
MD104, Neáu MD100 beù hôn hoaëc baèng MD104 thì KQ=KT
Leänh I_BCD: Chuyeån ñoåi töø soá nguyeân sang soá ñöôïc ñònh daïng
döôùi daïng BCD ( chöùa 3
Digit), do soá BCD toái ña 999 neân soá nguyeân phaûi toái ña 999
Leänh I_DI : Chuyeån ñoåi soá nguyeân töø 16Bit sang soá nguyeân 32
Bit ñeå thöïc hieän cho caùc
pheùp toaùn treân soá 32 Bit.
Leänh BCD_DI : : Chuyeån ñoåi töø soá ñònh daïng döôùi daïng BCD
( chöùa 7 Digit)sang soá
nguyeân 32 Bit
Soá BCD coù taàm (+/- 9999999) chöùa trong 28Bit.
Baøi giaûng S7-300
Vd: MD100 =22 ñöôïc ñònh daïng döôùi daïng BCD nhö sau:
0000 0000 0000 0000 0000
0010 0010
2 2
Sau khi thöïc hieän leänh chuyeån ñoåi thaønh soá DoubleInteger 32 Bit
ñöôïc ñònh daïng:
0000 0000 0000 0000 0000 0000 0001 0110 := 1*24 + 1*22 + 1*21
=22
Leänh DI_BCD: : Chuyeån ñoåi töø soá nguyeân 32 Bit sang soá ñöôïc
ñònh daïng döôùi daïng BCD
( chöùa 7 Digit), do soá BCD toái ña 9999999 neân soá nguyeân phaûi toái
ña 9999999
Leänh DI_R : Chuyeån ñoåi töø soá nguyeân 32 Bit sang soá thöïc ñeå
phuïc vuï cho caùc pheùp toaùn
treân soá thöïc.
Vd: MD100= 457 ; Sau pheùp toaùn giaù trò môùi laø MD100=457.0
Leänh INV_I : Ñaûo taát caû caùc Bit cuûa soá nguyeân 16 Bit
Vd : MW100 ban ñaàu laø 0101 0111 1000 0101 ; sau leänh chuyeån ñoåi
MW100 luùc sau 1010 1000 0111
1010
Leänh INV_DI: : Ñaûo taát caû caùc Bit cuûa soá nguyeân 32 Bit
Leänh Round : Leänh chuyeån ñoåi soá thöïc thaønh soá nguyeân 32 Bit
baèng caùch laøm troøn
Vd: MD100 = 20.35 laøm troøn thaønh 20
Leänh Trunc: Leänh chuyeån ñoåi soá thöïc thaønh soá nguyeân 32 Bit
baèng caùch caét phaàn nguyeân
Vd: MD100 = 20.56 chuyeån thaønh 20
Leänh Ceil: Leänh chuyeån ñoåi soá thöïc thaønh soá nguyeân 32 Bit
baèng caùch laøm troøn leân
Vd: MD100 = 20.04 laøm troøn leân thaønh 21
Leänh Floor: Leänh chuyeån ñoåi soá thöïc thaønh soá nguyeân 32 Bit
baèng caùch laøm troøn xuoáng
Vd: MD100 = 23.45 laøm troøn xuoáng coøn 23
Leänh SUB_I : Leänh thöïc hieän vieäc tröø 2 soá nguyeân 16 Bit ,keát
quaû caát vaøo soá nguyeân 16
Bit , neáu keát quaû vöôït quaù 16 Bit thì côø OV seõ baät leân 1 ,côø OS seõ
löu Bit bò traøn ñoù.
MW104 = MW100 - MW102
Leänh MUL_I : : Leänh thöïc hieän vieäc nhaân 2 soá nguyeân 16 Bit ,keát
quaû caát vaøo soá nguyeân
16 Bit , neáu keát quaû vöôït quaù 16 Bit thì côø OV seõ baät leân 1 ,côø OS
seõ löu Bit bò traøn ñoù.
MW104 = MW100 * MW102
Leänh DIV_I : : Leänh thöïc hieän vieäc chia 2 soá nguyeân 16 Bit ,keát
quaû caát vaøo soá nguyeân 16
Bit , neáu keát quaû vöôït quaù 16 Bit thì côø OV seõ baät leân 1 ,côø OS seõ
löu Bit bò traøn ñoù.
MW104 = MW100 : MW102
Leänh SUB_DI : Leänh thöïc hieän vieäc tröø 2 soá nguyeân 32 Bit ,keát
quaû caát vaøo soá nguyeân 32
Bit , neáu keát quaû vöôït quaù 32 Bit thì côø OV seõ baät leân 1 ,côø OS seõ
löu Bit bò traøn ñoù.
MD108 = MD100 - MD104
Leänh MUL_DI : : Leänh thöïc hieän vieäc nhaân 2 soá nguyeân 32 Bit
,keát quaû caát vaøo soá
nguyeân 32 Bit , neáu keát quaû vöôït quaù 32 Bit thì côø OV seõ baät leân
1 ,côø OS seõ löu Bit bò traøn ñoù.
MD108 = MD100 * MD104
Leänh DIV_DI : : Leänh thöïc hieän vieäc chia 2 soá nguyeân 32 Bit ,keát
quaû caát vaøo soá nguyeân
32 Bit , neáu keát quaû vöôït quaù 32 Bit thì côø OV seõ baät leân 1 ,côø OS
seõ löu Bit bò traøn ñoù.
MD108 = MD100 : MD104
Leänh MOD_DI : : Leänh xaùc ñònh phaàn dö cuûa pheùp chia 2 soá
nguyeân 32 Bit ,keát quaû caát
vaøo soá nguyeân 32 Bit , neáu keát quaû vöôït quaù 32 Bit thì côø OV
seõ baät leân 1 ,côø OS seõ löu Bit bò traøn ñoù.
MD108 = MD100 mod MD104
Baøi giaûng S7-300
Leänh SUB_R : Leänh thöïc hieän vieäc tröø 2 soá thöïc ,keát quaû caát
vaøo soá thöïc , neáu keát quaû
vöôït quaù 32 Bit thì côø OV seõ baät leân 1 ,côø OS seõ löu Bit bò traøn
ñoù.
MD108 = MD100 - MD104
Leänh MUL_R : : Leänh thöïc hieän vieäc nhaân 2 soá thöïc ,keát quaû
caát vaøo soá thöïc , neáu keát
quaû vöôït quaù 32 Bit thì côø OV seõ baät leân 1 ,côø OS seõ löu Bit bò
traøn ñoù.
MD108 = MD100 *
MD104
Leänh DIV_R : : Leänh thöïc hieän vieäc chia 2 soá thöïc ,keát quaû caát
vaøo soá thöïc , neáu keát quaû
vöôït quaù 32 Bit thì côø OV seõ baät leân 1 ,côø OS seõ löu Bit bò traøn
ñoù.
MD108 = MD100 : MD104
Baøi giaûng S7-300
Leänh ABS: Leänh xaùc ñònh giaù trò tuyeät ñoái cuûa soá thöïc,keát
quaû caát vaøo soá thöïc
Leänh SIN: Leänh tính SIN cuûa soá thöïc,keát quaû caát vaøo soá
thöïc.Neáu keát quaû naèm ngoaøi
khoaûng [-1,1] thì côø OV baät leân 1
Leänh COS: Leänh tính COS cuûa soá thöïc,keát quaû caát vaøo soá
thöïc.Neáu keát quaû naèm ngoaøi
khoaûng [-1,1] thì côø OV baät leân 1
Leänh TAN: Leänh tính TAN cuûa soá thöïc,keát quaû caát vaøo soá
thöïc.Neáu keát quaû naèm ngoaøi
khoaûng 16Bit thì côø OV baät leân 1
Leänh ASIN: Leänh tính Arcsin cuûa soá thöïc,soá thöïc phaûi naèm trong
khoaûng [-1,1] keát quaû laø
1 soá thöïc trong khoaûng [-pi/2,pi/2]vaø ñöôïc caát vaøo soá thöïc.
Leänh ACOS: Leänh tính Arccos cuûa soá thöïc,soá thöïc phaûi naèm trong
khoaûng [-1,1] keát quaû
laø 1 soá thöïc trong khoaûng [-pi,0]vaø ñöôïc caát vaøo soá thöïc.
Baøi giaûng S7-300
Leänh ATAN: Leänh tính Arctang cuûa soá thöïc,keát quaû laø 1 soá thöïc
trong khoaûng [-
pi/2,pi/2]vaø ñöôïc caát vaøo soá thöïc.
Leänh SQR: Leänh tính bình phöông cuûa soá thöïc, keát quaû laø 1 soá
thöïc khoâng aâm ñöôïc caát
vaøo soá thöïc.
Leänh SQRT: Leänh tính caên baäc hai cuûa soá thöïc,soá thöïc naøy
phaûi laø 1 soá thöïc khoâng aâm,
keát quaû laø 1 soá thöïc khoâng aâm ñöôïc caát vaøo soá thöïc.
Leänh Ln: Leänh tính ln(x) cuûa soá thöïc,soá thöïc naøy phaûi laø 1 soá
thöïc khoâng aâm, keát quaû laø 1
soá thöïc ñöôïc caát vaøo soá thöïc.
Leänh EXP: Leänh tính ex cuûa soá thöïc, keát quaû laø 1 soá thöïc khoâng
aâm ñöôïc caát vaøo soá thöïc.
7/ Leänh Di chuyeån :
Leänh MOV : Leänh ñöa giaù trò moät oâ nhôù sang 1 oâ nhôù
khaùc,leänh naøy coù theå aùp duïng cho moïi kieåu soá khaùc nhau.
( Int,Dint,Real,Byte….)
Baøi giaûng S7-300
leänh SHR_DI: Leänh thöïc hieän vieäc dòch phaûi oâ nhôù 32Bit,keát
quaû caát vaøo oâ nhôù 32 Bit,N
laø soá Bit dòch.
leänh SHL_W: Leänh thöïc hieän vieäc dòch traùi oâ nhôù 16 Bit,keát
quaû caát vaøo oâ nhôù 16 Bit,N laø soá Bit dòch. OÂ nhôù naøy ñöôïc ñònh
daïng theo kieåu Word.
Neáu N lôùn hôn 16 thì MW100 =0 vaø côø CC0,OV trong thanh ghi traïng
thaùi ñeàu baèng 0
Baøi giaûng S7-300
leänh SHL_DW: Leänh thöïc hieän vieäc dòch traùi oâ nhôù 32Bit,keát
quaû caát vaøo oâ nhôù 32 Bit,N
laø soá Bit dòch. OÂ nhôù naøy ñöôïc ñònh daïng theo kieåu Word.
leänh SHR_DW: Leänh thöïc hieän vieäc dòch phaûi oâ nhôù 32Bit,keát
quaû caát vaøo oâ nhôù 32 Bit,N
laø soá Bit dòch. OÂ nhôù naøy ñöôïc ñònh daïng theo kieåu Word.
leänh ROL_DW: Leänh thöïc hieän vieäc dòch traùi xoay troøn oâ nhôù
32Bit,N laø soá Bit dòch. OÂ
nhôù naøy ñöôïc ñònh daïng theo kieåu Word.
Baøi giaûng S7-300
leänh ROR_DW: Leänh thöïc hieän vieäc dòch phaûi xoay troøn oâ nhôù
32Bit,N laø soá Bit dòch. OÂ
nhôù naøy ñöôïc ñònh daïng theo kieåu Word.
Leänh WOR_W : Leänh thöïc hieän vieäc hôïp 2 Word,keát quaû ñöôïc
caát vaøo oâ Word.
Leänh WXOR_W : Leänh thöïc hieän vieäc Xor 2 Word,keát quaû ñöôïc
caát vaøo oâ Word.
Baøi giaûng S7-300
11 / Leänh nhaûy:
Leänh JMP: Nhaûy neáu RLO=1,Neáu RLO=1 chöông trình seõ
nhaûy ñeán nhaõn “nhaûy”
Baøi giaûng S7-300
Leänh JMPN: Nhaûy neáu RLO=0,Neáu RLO=0 chöông trình seõ nhaûy
ñeán nhaõn “nhaûy”
Leänh OPN : Leänh môû khoái DB ñeå coù theå truy caäp tröïc tieáp tôùi
khoái naøy
A M0.0
O(
O I0.0
O I0.1
) // Giaù trò bieåu thöùc I0.0+I0.1 ñöôïc
= Q0.0 chuyeån vaøo RLO
Leänh thöïc hieän pheùp tính giao vôùi giaù trò nghòch ñaûo cuûa
moät bieåu thöùc:
Cuù phaùp AN (
Leänh khoâng coù toaùn haïng
Neáu FC=0 leänh seõ gaùn giaù trò logic cuûa bieåu thöùc trong daáu
ngoaëc sau noù vaøo RLO.Ngöôïc laïi khi FC=1 noù seõ thöïc hieän pheùp
tính giao giöõa RLO vôùi giaù trò nghòch ñaûo logic cuûa bieåu thöùc trong
daáu ngoaëc sau ñoù ghi laïi keát quaû vaøo RLO.
Ví duï :
AN(
O I0.0
O I0.1
) // Giaù trò bieåu thöùc I0.0+I0.1 ñöôïc chuyeån vaøo RLO
= Q0.0 // Giaù trò Q0.0 baèng giaù trò nghòch ñaûo cuûa RLO
Leänh thöïc hieän pheùp tính hôïp vôùi giaù trò nghòch
ñaûo moät bieåu thöùc:
Cuù phaùp
ON
(
Leänh khoâng coù
toaùn haïng
Neáu FC=0 leänh seõ gaùn giaù trò logic nghòch ñaûo cuûa bieåu thöùc
trong daáu ngoaëc sau noù vaøo RLO.Ngöôïc laïi khi FC=1 noù seõ thöïc
hieän pheùp tính hôïp giöõa RLO vôùi giaù trò nghòch ñaûo logic nghòch
ñaûo cuûa bieåu thöùc trong daáu ngoaëc sau ñoù ghi laïi keát quaû
vaøo RLO.
Ví duï
:
A M0.0
ON(
O I0.0
O I0.1
) // Giaù trò bieåu thöùc I0.0+I0.1 ñöôïc chuyeån vaøo RLO
= Q0.0 //
Leänh thöïc hieän pheùp exclusive or:
Cuù phaùp x < toaùn haïng >
Toaùn haïng laødöõ lieäu kieåu Bool hoaëc ñòa chæ bit I,Q,M,L,D,T,C
Neáu FC=0 leänh seõ gaùn giaù trò logic cuûa toaùn haïng vaøo
RLO.Ngöôïc laïi khi FC=1 leänh seõ kieåm tra xem noäi dung cuûa RLO
vaø giaù trò logic cuûa toaùn haïng coù khaùc nhau khoâng .Trong tröôøng
hôïp khaùc nhau thì ghí vaøo RLO,ngöôïc laïi thì ghi 0.Noùi caùch khaùc
,leänh seõ ñaûo noäi
dung cuûa RLO neáu toaùn haïng coù giaù trò laø1.
Ví duï : A I0.0 // Ñoïc noäi dung cuûa I0.0 ñöa
X vaøo
I0.1 // RLO ñaûo giaù trò RLO
nghòch
= Q0.0 neáu I0.1
// Gaùn =1trò RLO cho Q0.0
giaù
Leänh thöïc hieän pheùp exclusive or not:
Cuù phaùp XN < toaùn haïng >
Toaùn haïng laødöõ lieäu kieåu Bool hoaëc ñòa chæ bit I,Q,M,L,D,T,C
Baøi giaûng S7-300
Neáu FC=0 leänh seõ gaùn giaù trò logic nghòch ñaûo cuûa toaùn haïng
vaøo RLO.Ngöôïc laïi khi FC=1
leänh seõ kieåm tra xem noäi dung cuûa RLO vaø giaù trò logic cuûa toaùn
haïng coù khaùc nhau khoâng
.Trong tröôøng hôïp khaùc nhau thì ghí 1 vaøo RLO,ngöôïc laïi thì ghi
0.Noùi caùch khaùc ,leänh seõ ñaûo noäi dung cuûa RLO neáu toaùn
haïng coù giaù trò laø 0.
Ví duï : A I0.0 // Ñoïc noäi dung cuûa I0.0 ñöa
XN vaøo
I0.1 // RLO ñaûo giaù trò RLO
nghòch
= neáu
Q0.0 // I0.1
Gaùn =0trò RLO cho Q0.0
giaù
Leänh thöïc hieän pheùp exclusive or vôùi giaù trò cuûa bieåu
thöùc:
Cuù phaùp X(
Leänh khoâng coù toaùn haïng.
Neáu FC=0 leänh seõ gaùn giaù trò logic cuûa bieåu thöùc trong daáu
ngoaëc vaøo RLO.Ngöôïc laïi khi FC=1 leänh seõ ñaûo noäi dung cuûa
RLO khi bieåu thöùc trong daáu ngoaëc sau noù coù giaù trò 1. Leänh
thöïc hieän pheùp exclusive or not vôùi giaù trò cuûa bieåu
thöùc:
Cuù phaùp XN(
Leänh khoâng coù toaùn haïng.
Neáu FC=0 leänh seõ gaùn giaù trò logic nghòch ñaûo cuûa bieåu thöùc
trong daáu ngoaëc vaøo RLO.Ngöôïc laïi khi FC=1 leänh seõ ñaûo noäi
dung cuûa RLO khi bieåu thöùc trong daáu ngoaëc sau noù coù giaù trò 0.
Leänh ghi giaù trò logic 1 vaøo RLO:
Cuù phaùp SET
Leänh khoâng coù toaùn haïng vaø coù taùc duïng ghi 1 vaøo RLO
Leänh ghi giaù trò logic 0 vaøo RLO:
Cuù phaùp CLR
Leänh khoâng coù toaùn haïng vaø coù taùc duïng ghi 0 vaøo RLO
Leänh ñaûo giaù trò RLO:
Cuù phaùp NOT
Leänh khoâng coù toaùn haïng vaø coù taùc duïng ñaûo noäi dung cuûa
RLO
Leänh gaùn coù ñieàu kieän giaù trò logic 1 vaøo oâ nhôù:
Cuù phaùp S < toaùn haïng >
Toaùn haïng laø ñòa chæ Bit I,Q,M,L,D
Neáu RLO =1,leänh seõ ghi giaù trò 1 vaøo oâ nhôù coù ñòa chæ trong
toaùn haïng
Leänh gaùn coù ñieàu kieän giaù trò logic 0 vaøo oâ nhôù:
Cuù phaùp R < toaùn haïng >
Toaùn haïng laø ñòa chæ Bit I,Q,M,L,D
Neáu RLO =1,leänh seõ ghi giaù trò 0 vaøo oâ nhôù coù ñòa chæ trong
toaùn haïng
Leänh phaùt hieän söôøn leân
Cuù phaùp FP < toaùn haïng >
Toaùn haïng laø ñòa chæ Bit I,Q,M,L,D vaø ñöôïc söû duïng nhö moät bieán
côø ñeå ghi nhaän laïi giaù trò cuûa RLO taïi vò trí naøy trong chöông
trình ,nhöng cuûa voøng queùt tröôùc
Taïi moãi voøng queùt leänh seõ kieåm tra:neáu bieán côø ( toaùn
haïng)coù giaù trò 0 vaø RLO coù giaù trò 1 thì seõ ghi 1 vaøo RLO,caùc
tröôøng hôïp khaùc thì ghi 0,ñoàng thôøi chuyeån noäi dung cuûa RLO vaøo
laïi bieán côø.Nhö vaäy RLOseõ coù giaù trò 1 trong voøng queùt khi coù
söôøn leân trong RLO
Neáu RLO =1,leänh seõ ghi giaù trò 0 vaøo oâ nhôù coù ñòa chæ trong
toaùn haïng
Baøi giaûng S7-300
Leänh coù taùc duïng ñaûo noäi dung taát caû caùc Bits trong töø thaáp
cuûa thanh ghi ACCU1.
Leänh ñaûo giaù trò caùc Bits trong thanh ghi ACCU1 :
Cuù phaùp INVD
Leänh coù taùc duïng ñaûo noäi dung taát caû caùc Bits trong thanh ghi
ACCU1.
3/ Caùc leänh Logic thöïc hieän treân thanh ghi
ACCU:
Leänh thöïc hieän pheùp giao giöõa caùc bits trong töø thaáp
cuûa ACCU1,ACCU2:
Cuù phaùp: AW [< Döõ lieäu haèng >]
Leänh coù theå hoaëc khoâng coù toaùn haïng
- Neáu khoâng coù toaùn haïng,leänh thöïc hieän pheùp tính giao
giöõa caùc bits thuoäc töø thaáp cuûa hai thanh ghi ACCU1 vaø
ACCU2. Keát quaû ghi vaøo töø thaáp cuûa thanh ghi ACCU1.
- Neáu coù toaùn haïng thì toaùn haïng phaûi laø döõ lieäu haèng 16
bits.Khi ñoù leänh thöïc hieän pheùp tính giao giöõa döõ lieäu vôùi
töø thaáp cuûa ACCU1.Keát quaû ñöôïc ghi laïi vaøo töø thaáp cuûa
ACCU1
Leänh thöïc hieän pheùp giao giöõa caùc bits cuûa hai thanh ghi
ACCU1,ACCU2:
Cuù phaùp: AD [< Döõ lieäu haèng >]
Leänh coù theå hoaëc khoâng coù toaùn haïng
- Neáu khoâng coù toaùn haïng,leänh thöïc hieän pheùp tính giao
giöõa hai thanh ghi ACCU1 vaø
ACCU2. Keát quaû ghi vaøo thanh ghi
ACCU1.
- Neáu coù toaùn haïng thì toaùn haïng phaûi laø döõ lieäu haèng 32
bits.Khi ñoù leänh thöïc hieän pheùp tính giao giöõa döõ lieäu vôùi
thanh ghi ACCU1.Keát quaû ñöôïc ghi laïi vaøo thanh ghi ACCU1
Leänh thöïc hieän pheùp hôïp giöõa caùc bits trong töø thaáp
cuûa ACCU1,ACCU2:
Cuù phaùp: OW [< Döõ lieäu haèng >]
Leänh coù theå hoaëc khoâng coù toaùn haïng
- Neáu khoâng coù toaùn haïng,leänh thöïc hieän pheùp tính hôïp
giöõa caùc bits thuoäc töø thaáp cuûa hai thanh ghi ACCU1 vaø
ACCU2. Keát quaû ghi vaøo töø thaáp cuûa thanh ghi ACCU1.
- Neáu coù toaùn haïng thì toaùn haïng phaûi laø döõ lieäu haèng 16
bits.Khi ñoù leänh thöïc hieän pheùp tính hôïp giöõa döõ lieäu vôùi
töø thaáp cuûa ACCU1.Keát quaû ñöôïc ghi laïi vaøo töø thaáp cuûa
ACCU1
Leänh thöïc hieän pheùp giao giöõa caùc bits cuûa hai thanh ghi
ACCU1,ACCU2:
Cuù phaùp: OD [< Döõ lieäu haèng >]
Leänh coù theå hoaëc khoâng coù toaùn haïng
- Neáu khoâng coù toaùn haïng,leänh thöïc hieän pheùp tính hôïp
giöõa hai thanh ghi ACCU1 vaø
ACCU2. Keát quaû ghi vaøo thanh ghi
ACCU1.
- Neáu coù toaùn haïng thì toaùn haïng phaûi laø döõ lieäu haèng 32
bits.Khi ñoù leänh thöïc hieän pheùp tính hôïp giöõa döõ lieäu vôùi
thanh ghi ACCU1.Keát quaû ñöôïc ghi laïi vaøo thanh ghi ACCU1
Leänh thöïc hieän pheùp tính exclusive or 16 bits:
Cuù phaùp: XOW [< Döõ lieäu haèng >]
Leänh coù theå hoaëc khoâng coù toaùn haïng
- Neáu khoâng coù toaùn haïng,leänh thöïc hieän pheùp tính
exclusive or giöõa caùc bits cuûa hai töø thaáp cuûa hai thanh ghi
ACCU1 vaø ACCU2. Keát quaû ghi vaøo töø thaáp cuûa thanh ghi
ACCU1.
Baøi giaûng S7-300
- Neáu coù toaùn haïng thì toaùn haïng phaûi laø döõ lieäu haèng 16
bits.Khi ñoù leänh thöïc hieän
pheùp tính exclusive giöõa döõ lieäu vôùi töø thaáp cuûa
ACCU1.Keát quaû ñöôïc ghi laïi vaøo töø thaáp cuûa ACCU1
Leänh thöïc hieän pheùp tính exclusive or 16 bits:
Cuù phaùp: XOD [< Döõ lieäu haèng >]
Leänh coù theå hoaëc khoâng coù toaùn haïng
- Neáu khoâng coù toaùn haïng,leänh thöïc hieän pheùp tính
exclusive or giöõa caùc bits cuûa hai hai thanh ghi ACCU1 vaø
ACCU2. Keát quaû ghi vaøo thanh ghi ACCU1.
- Neáu coù toaùn haïng thì toaùn haïng phaûi laø döõ lieäu haèng 32
bits.Khi ñoù leänh thöïc hieän pheùp tính exclusive giöõa döõ lieäu
vôùi thanh ghi ACCU1.Keát quaû ñöôïc ghi laïi vaøo thanh ghi
ACCU1
4/ Nhoùm leänh taêng giaûm noäi dung thanh ghi
ACCU:
Leänh taêng noäi dung thanh
ghi ACCU1: Cuù phaùp
INC < Toaùn
haïng > Toaùn haïng laø soá
nguyeân 8 bits
Leänh thöïc hieän pheùp coäng giöõa byte thaáp trong ACCU1 vôùi toaùn
haïng .Keát quaû ñöôïc ghi vaøo
byte thaáp cuûa töø thaáp cuûa ACCU1.Noäi dung cuûa caùc Byte khaùc
khoâng thay ñoåi.
Leänh giaûm noäi dung thanh
ghi ACCU1: Cuù phaùp
DEC < Toaùn
haïng > Toaùn haïng laø soá
nguyeân 8 bits
Leänh thöïc hieän pheùp tröø giöõa byte thaáp trong ACCU1 vôùi toaùn haïng
.Keát quaû ñöôïc ghi vaøo
byte thaáp cuûa töø thaáp cuûa ACCU1.Noäi dung cuûa caùc Byte khaùc
khoâng thay ñoåi.
5/ Nhoùm leänh dòch chuyeån noäi dung thanh ghi
ACCU:
Leänh xoay troøn caùc bits cuûa ACCU1 theo chieàu traùi.
Cuù phaùp RLD [ < toaùn haïng > ]
-Leänh coù theå coù hoaëc khoâng coù toaùn haïng laø soá nguyeân
khoâng daáu trong khoaûng 0 – 32.Khi ñoù leänh thöïc hieän pheùp tính
xoay troøn caùc Bits cuûa ACCU1 theo chieàu traùi.Soá Bits ñöôïc xoay ñöôïc
chæ ñònh trong toaùn haïng .Taïi moãi laàn xoay ,bit thöù 31 (bit cuoái) bò
ñaåy ra khoûi
ACCU1seõ ñöôïc ghi ñoàng thôøi vaøo CC1 vaø vaøo bit 0 ( bit ñaàu
tieân).Neáu toaùn haïng laø moät soá
0,leänh seõ khoâng laøm gì caû.Neáu toaùn haïng baèng 32,noäi dung
cuûa ACCU1khoâng bò thay ñoåi vaø bit CC1 trong thanh ghi traïng thaùi
coù giaù trò laø bit thöù 0 cuûa ACCU1. Hai bits CC0 vaø 0V trong thanh ghi
traïng thaùi seõ baèng 0 khi toaùn haïng laø moät soá lôùn hôn 0.
- Neáu khoâng coù toaùn haïng ,leänh thöïc hieän pheùp tính xoay troøn
caùc bits cuûa ACCU1 theo chieàu traùi .Soá bits ñöôïc xoay troøn ñöôïc chæ
thò trong byte thaáp cuûa töø thaáp trong ACCU2.Taïi moãi laàn xoay bit
thöù 31 ( bit cuoái) bò ñaåy ra khoûi ACCU1 seõ ñöôïc ghi ñoàng thôøi vaøo
CC1 vaø vaøo bit thöù 0 ( bit ñaàu tieân) .Neáu byte thaáp cuûa töø thaáp
trong thanh ghi ACCU2 baèng 0 thì leänh khoâng laøm gì caû ,vaø neáu
baèng 32 thì noäi dung thanh ghi ACCU1 khoâng bò thay ñoåi gì caûvaø bit
CC1 trong thanh ghi traïng thaùi coù giaù trò laø bit thöù 0 cuûa ACCU1.Hai
bits CC0 vaø 0V trong thanh ghi traïng thaùi seõ baèng 0 khi noäi dung cuûa
byte thaáp cuûa töø thaáp trong ACCU2 laø moät soá lôùn hôn 0.
ACCU1
Baøi giaûng S7-300
CC1
Baøi giaûng S7-300
ACCU1
CC1
Leänh xoay troøn caùc bits cuûa ACCU1 theo chieàu phaûi.
Cuù phaùp RDD [ < toaùn haïng > ]
Leänh coù theå coù hoaëc khoâng coù toaùn haïng
ACCU1
CC1
CC1
CC1
Leänh dòch phaûi caùc bits cuûa töø thaáp cuûa ACCU1.
Cuù phaùp SRW [ < toaùn haïng > ]
Leänh coù theå coù hoaëc khoâng coù toaùn haïng.
15
CC1
0
Leänh dòch phaûi caùc bits
cuûa ACCU1.
Cuù phaùp SRD [ < toaùn
haïng > ]
Leänh coù theå coù hoaëc khoâng
coù toaùn haïng.
31 CC1
0
Leänh dòch phaûi soá nguyeân 16 bit trong ACCU1.
Cuù phaùp SSI [ < toaùn haïng > ]
Leänh coù theå coù hoaëc khoâng coù toaùn haïng.
- Neáu coù toaùn haïng thì toaùn haïng laø soá nguyeân khoâng daáu trong
khoaûng 0 – 16 . Khi ñoù leänh thöïc hieän pheùp tính dòch phaûi caùc bits
trong töø thaáp cuûa ACCU1.Soá bits ñöôïc dòch laø toaùn haïng .Noäi dung
cuûa töø cao trong ACCU1 khoâng bò thay ñoåi .Taïi moãi laàn dòch ,bit 0 ( bit
ñaàu) bò ñaåy töø ACCU1 sang CC1coøn bit thöù 15 ñöôïc ghi laïi ñuùng baèng
giaù trò cuõ cuûa noù .Neáu toaùn haïng laø soá lôùn hôn 0 ,hai bits CC0 vaø OV
seõ baèng 0
- Neáu khoâng coù toaùn haïng ,leänh thöïc hieän pheùp tính dòch phaûi caùc
bits trong töø thaáp cuûa ACCU1
.Soá bit ñöôïc dòch laø noäi dung cuûa byte thaáp trong töø thaáp cuûa
ACCU2.Noäi dung cuûa töø cao trong
ACCU1 khoâng bò thay ñoåi .Taïi moãi laàn dòch ,bit thöù 0 bò ñaåy ra khoûi
ACCU1 seõ ñöôïc ghi vaøo CC1
,bit thöù 15 ñöôïc ghi laïi ñuùng baèng giaù trò cuõ cuûa noù .Neáu byte
thaáp cuûa töø thaáp trong ACCU2 laø moät soá lôùn hôn 0 ,hai bits CC0 vaø
OV seõ baèng 0
15
CC1
Leänh dòch phaûi soá nguyeân 32 bit
trong ACCU1.
Cuù phaùp SSD [ < toaùn haïng > ]
Leänh coù theå coù hoaëc khoâng coù
toaùn haïng.
31 CC1
BTI
31 16 15 0
BTD
31 16 15 0
1 0 0 0 0 1 0 0 1 0 0 1 1 1
1s 1 2 7
iv/Khai baùo loaïi Timer:
S7_300 coù 5 loaïi timer ñöôïc khai baùo
baèng caùc leänh :
- SD: treã coù söôønleân khoâng coù nhôù
- SS: Treã theo söôøn leân coù nhôù
- SP: Taïo xung khoâng coù nhôù
- SE: Taïo xung coù nhôù
- SF : Treã theo söôøn xuoáng.
a/Treã theo söôøn leân khoâng nhôù ( On delay timer):
Cuù phaùp SD < teân timer >
Thôøi gian giöõ treã ñöôïc baét ñaàu khi coù söôøn leân cuûa tín hieäu ñaàu
vaøo ( hoaëc coù söôøn leân cuûa tínhieäu enable ñoàng thôøi tín hieäu vaøo
baèng 1),töùc thôøi ôû ngay thôøi ñieåm ñoù giaù trò PV ñöôïc chuyeån vaøo
thanh ghi T-WORD (CV) .Trong khoaûng thôøi gian treã T-bit coù giaù trò
baèng 1 .Nhö vaäy T-bit coù giaù trò baéng khi T-Word = 0
Khoaûng thôøi gian treã chính laø khoaûng thôøi gian giöõa thôøi ñieåm xuaát
hieän söôøn leân cuûa tín hieäu vaøo vaø söôøn leân cuûa T-bit
Khi tín hieäu vaøo baèng 0 ,T-bit vaø T-Word cuøng nhaän giaù trò 0
b/Treã theo söôøn leân coù nhôù ( On delay timer):
Cuù phaùp SS < teân timer >
Thôøi gian giöõ treã ñöôïc baét ñaàu khi coù söôøn leân cuûa tín hieäu ñaàu vaøo
( hoaëc coù söôøn leân cuûa tínhieäu
enable ñoàng thôøi tín hieäu vaøo baèng 1),töùc thôøi ôû ngay thôøi ñieåm
ñoù giaù trò PV ñöôïc chuyeån vaøo thanh ghi T-WORD (CV) .Khi heát thôøi
gian treã ,töùc laø T-Word baèng 0 ,T-bit coù giaù trò 1
Khoaûng thôøi gian treã chính laø khoaûng thôøi gian giöõa thôøi ñieåm xuaát
hieän söôøn leân cuûa tín hieäu vaøo vaø söôøn leân cuûa T-bit
Vôùi boä timer coù nhôù ,thôøi gian treã vaãn ñöôïc tính cho duø luùc ñoù tín hieäu
ñaàu vaøo ñaõ veà 0
c/Timer taïo xung khoâng nhôù ( Pulse timer):
Cuù phaùp SP < teân timer >
Thôøi gian giöõ treã ñöôïc baét ñaàu khi coù söôøn leân cuûa tín hieäu ñaàu vaøo
( hoaëc coù söôøn leân cuûa tínhieäu enable ñoàng thôøi tín hieäu vaøo baèng
1),töùc thôøi ôû ngay thôøi ñieåm ñoù giaù trò PV ñöôïc chuyeån vaøo thanh
ghi T-WORD (CV) .Trong khoaûng thôøi gian treã ,töùc laø khi T-Word #0,T-bit
coù giaù trò baèng
1.Ngoaøi khoaûng thôøi gian treã T-bit coù giaù trò baèng 0.
Neáu chöa heát thôøi gian treã maø tín hieäu ñaàu vaøo veà 0 thì T-bit vaø T-Word
cuõng veà giaù trò 0
d/Timer taïo xung coù nhôù (Extended Pulse timer):
Cuù phaùp SE < teân timer >
Thôøi gian giöõ treã ñöôïc baét ñaàu khi coù söôøn leân cuûa tín hieäu ñaàu vaøo
( hoaëc coù söôøn leân cuûa tínhieäu enable ñoàng thôøi tín hieäu vaøo baèng
1),töùc thôøi ôû ngay thôøi ñieåm ñoù giaù trò PV ñöôïc chuyeån vaøo thanh
ghi T-WORD (CV) .Trong khoaûng thôøi gian treã ,töùc laø khi T-Word #0,T-bit
coù giaù trò baèng
1.Ngoaøi khoaûng thôøi gian treã T-bit coù giaù trò baèng 0.
Neáu chöa heát thôøi gian treã maø tín hieäu ñaàu vaøo veà 0 thì thôøi gian treã
vaãn ñöôïc tính tieáp tuïc ,töùc laø T- bit vaø T-Word khoâng veà 0theo tín
hieäu ñaàu vaøo.
e/Timer treã theo söôøn xuoáng (Off delay timer):
Cuù phaùp SF < teân timer >
Thôøi gian giöõ treã ñöôïc baét ñaàu khi coù söôøn xuoáng cuûa tín hieäu ñaàu
vaøo ,töùc laø ôû thôøi ñieåm xuaát hieän söôøn xuoáng cuûa tín hieäu ñaàu
vaøo, giaù trò PV ñöôïc chuyeån vaøo thanh ghi T-WORD (CV) .Trong khoaûng
thôøi gian giöõa söôøn leân cuûa tín hieäu vaøo hoaëc T-Word #0,T-bit coù giaù
trò baèng 1.Ngoaøi khoaûng thôøi gian treã T-bit coù giaù trò baèng 0.
f/Khai baùo tín hieäu xoaù ( Reset)
Cuù A < ñòa chæ
phaùp R bitTeân
< >
timer“ñòa
Toaùn haïng thöù nhaát > chæ bit” xaùc ñònh tín hieäu seõ ñöôïc söû duïng
laøm tín hieäu chuû ñoäng xoaù cho timer coù teân trong toaùn haïng thöù 2
Khi tín hieäu xoaù baèng 1 ,T-Word ( Thanh ghi CV ) vaø T-bit cuøng ñoàng thôøi
ñöôïc ñöa veà 0.Neáu tín hieäu xoaù veà 0,Timer seõ chôø ñöôïc kích laïi.
g/Ñoïc noäi dung thanh ghi T-Word ( CV )
Noäi dung thanh ghi T-Word laø CV coù theå ñöôïc ñoïc vaøo ACCU1 theo hai caùch
:
1/ Ñoïc soá ñeám töùc thôøi ( khoâng coù ñoä phaân giaûi)
Cuù phaùp L < teân timer >
Toaùn haïng laø teân timer maø thanh ghi T-Word cuûa noù seõ ñöôïc ñoïc vaøo
ACCU1.
Giaù trò ñoïc ñuôïc laø moät soá nguyeân döông xaùc ñònh soá ñeám töùc
thôøi ( khoâng coù thöù nguyeân),töùc laø chæ laø chæ laø tæ soá giöõa
khoaûng thôøi gian keå töø khi Timer ñöôïc kích ,vaø ñoä phaân giaûi.
2/ Ñoïc thôøi gian treã töùc thôøi:
Cuù phaùp LC < Teân timer >
Toaùn haïng laø teân timer maø thanh ghi T-Word cuûa noù seõ ñöôïc ñoïc vaøo
ACCU1.Giaù trò ñoïc ñöôïc goàm
2 phaàn: Moät soá BCD xaùc ñònh soá ñeám töùc thôøi (khoâng coù thöù
nguyeân) vaø ñoä phaân giaûi
13/ Boä ñeám ( Counter):
a/Khai baùo söû duïng:
Vieäc khai baùo söû duïng Counter bao goàm caùc böôùc :
-Khai baùo tín hieäu enable neáu muoán söû duïng tín hieäu chuû ñoäng kích.
-Khai baùo tín hieäu ñaàu vaøo CU ñöôïc ñeám tieán
-Khai baùo tín hieäu ñaàu vaøo CD ñöôïc ñeám luøi
-Khai baùo tín hieäu ñaët (set) vaø giaù trò ñaët tröôùc (PV)
-Khai baùo tín hieäu xoaù (reset).
Trong taát caû 5 böôùc treân,caùc böôùc 2,3 laø baét buoäc
i/Khai baùo tín hieäu enable ( kích ñeám)
Cuù A < Ñòa chæ
phaùp FR bitteân
< >
Toaùn haïng thöùCounter > chæ bit” xaùc ñònh tín hieäu seõ ñöôïc söû duïng
nhaát “ ñòa
laøm tín hieäu chuû ñoäng kích
cho boä ñeám coù teân cho trong toaùn haïng thöù hai.Teân cuûa boä ñeám
coù daïng Cx vôùi x trong khoaûng
[0,255]
ii/Khai baùo tín hieäu ñöôïc ñeám tieán theo söôøn leân
Cuù A < Ñòa chæ
phaùp CU < bitTeân
>
Toaùn haïng thöùCounter
nhaát “>ñòa chæ bit” xaùc ñònh tín hieäu maø söôøn leân
cuûa noù ñöôïc boä ñeám vôùi teân cho trong toaùn haïng thöù hai ñeám
tieán .Teân cuûa boä ñeám coù daïng Cx .Moãi khi xuaát hieän moät söôøn
leân cuûa tín hieäu ,boä ñeám seõ taêng noäi dung cuûa thanh ghi C-Word
(CV) leân 1 ñôn vò.
iii/Khai baùo tín hieäu ñöôïc ñeám luøi theo söôøn leân
Cuù A < Ñòa chæ
phaùp CD bit >
< Teân
Toaùn haïng thöùCounter
nhaát >“ ñòa chæ bit” xaùc ñònh tín hieäu maø söôøn leân
cuûa noù ñöôïc boä ñeám vôùi teân cho trong toaùn haïng thöù hai ñeám
luøi .Teân cuûa boä ñeám coù daïng Cx .Moãi khi xuaát hieän moät söôøn
leân cuûa tín hieäu ,boä ñeám seõ giaûm noäi dung cuûa thanh ghi C-Word
(CV) ñi 1 ñôn vò.
iv/Khai baùo tín hieäu ñaët ( set ) giaù trò ñaët tröôùc (PV)
Cuù A < Ñòa chæ
phaùp L bit
C# >< haèng
S soá >
< Teân
Toaùn haïng thöùCounter
nhaát “> ñòa chæ bit” xaùc ñònh tín hieäu maø moãi khi xuaát
hieän söôøn leân cuûa noù ,haèng
soá PV cho trong leänh thöù hai döôùi daïng BCD seõ ñöôïc chuyeån vaøo
thanh ghi C-Wordcuûa boä ñeám coù teân trong toaùn haïng cuûa leänh thöù
ba.
iv/Khai baùo tín hieäu xoaù ( reset )
Cuù A < Ñòa chæ
phaùp R bit >
< Teân
Toaùn haïng thöùCounter
nhaát “>ñòa chæ bit” xaùc ñònh tín hieäu maø moãi khi
xuaát hieän söôøn leân cuûa noù ,thanh ghi C-Word cuûa boä ñeám coù teân
trong toaùn haïng cuûa leänh thöù hai seõ ñöôïc xoaù veà
g/Ñoïc noäi dung thanh ghi C-Word
Noäi dung thanh ghi C-Word laø CV coù theå ñöôïc ñoïc vaøo ACCU1 theo hai caùch
:
1/ Ñoïc soá ñeám töùc thôøi ( khoâng coù ñoä phaân giaûi)
Cuù phaùp L < teân counter >
Toaùn haïng laø teân boä ñeám maø thanh ghi C-Word cuûa noù
seõ ñöôïc ñoïc vaøo ACCU1. Giaù trò ñoïc ñuôïc laø moät soá
nguyeân döông xaùc ñònh soá ñeám töùc thôøi
2/ Ñoïc soá ñeám töùc thôøi daïng BCD:
Cuù phaùp LC < Teân counter >
Toaùn haïng laø teân boä ñeám maø thanh ghi C-Word cuûa noù seõ ñöôïc ñoïc
vaøo ACCU1.Giaù trò ñoïc ñöôïc laø soá BCD
14/ Kyõ thuaät söû duïng con troû ( Pointer)
Con troû (Pointer) laø moät coâng cuï maïnh ,raát ñöôïc öa duøng trong caùc
chöông trình ñieàu khieån .Vieäc söû duïng con troû ñöôïc hieåu laø söï truy
nhaäp giaùn tieáp tôùi moät oâ nhôù trong boä nhôù .Nhöng theá naøo laø söï
truy nhaäp giaùn tieáp .Ta haõy xeùt leänh ñoïc noäi dung cuûa oâ nhôù MW0
vaøo ACCU1 laøm ví duï
L MW0 // Ñoïc giaù trò cuûa oâ nhôù MW0 vaøo thanh
ghi ACCU1
Leänh naøy laø truy nhaäp tröïc tieáp oâ nhôù MW0 vì ñòa chæ cuûa oâ nhôù ñoù
laø MW0 ñaõ ñöôïc cho tröïc tieáp trong leänh döôùi daïng toaùn haïng .Nhö vaäy
coù theå hình dung ra laø leänh ñoïc noäi dung oâ nhôù MW0 maø ñòa chæ oâ
nhôù ñoù khoâng cho tröïc tieáp trong leänh seõ laø leänh truy nhaäp giaùn
tieáp.
Trong truy nhaäp giaùn tieáp ,ñòa chæ oâ nhôù ñöôïc truy nhaäp seõ laø
noäi dung cuûa moät oâ nhôù khaùc maø ta goïi laø con troû .Ví duï vieäc truy
nhaäp tröïc tieáp oâ nhôù MW0 ôû treân töông ñöông vôùi vieäc truy nhaäp
giaùn tieáp nhôø con troû MD10 nhö sau:
L 0
T MD10
L MW[MD10]
a/ Söû duïng töø MW hoaëc töø keùp MD laøm con troû :
Ta coù theå söû duïng moät oâ nhôù thuoäc vuøng nhôù M coù kích thöôùc laø
töø ( MW) hoaëc töø keùp (MD) ñeå laøm con troû .Trong nhöõng tröôøng hôïp
nhö vaäy ,con troû MW hoaëc MD chæ coù theå laø con troû ñòa phöông ( chæ
chöùa phaàn soá cuûa ñòa chæ).
Do phaàn soá cuûa ñòa chæ coù hai daïng theå hieän :
- Ñòa chæ byte :20 ,22 ,100,…..
- Ñòa chæ bit : 20.0 ,22.2 ,100.5…..
Neân con troû ñòa phöông cuõng
coù hai hình thaùi
- Con troû ñòa phöông chæ vò trí byte trong vuøng
- Vaø con troû ñòa phöông chæ vò trí bit trong töøng vuøng.
i/ Con troû ñòa phöông chæ vò trí Byte: Vôùi hình thaùi con troû naøy ta
duøng ñöôïc caû hai loaïi kích thöôùc töø (MW) hoaëc töø keùp (MD) .Con troû
chæ chöùa phaàn soá xaùc ñònh ñòa chæ byte .Neáu oâ nhôù caàn ñöôïc truy
nhaäp giaùn tieáp coù kích thöôùc lôùn hôn 1 byte (töø,töø keùp hay moät
daõy caùc byte) thì noäi dung cuûa con troû laø ñòa chæ byte ñaàu tieân trong
daõy caùc byte ñoù .
ví duï:
L 20
T MD10
L
DIB[MD10] T
MW[MD10]
ii/ Con troû ñòa phöông chæ vò trí Bit:
Vôùi hình thaùi naøy ta phaûi duøng loaïi con troû coù kích thöôùc töø keùp
(MD,DBD,LD).Con troû naøy chöùa caû phaàn soá xaùc ñònh ñòa chæ byte vaø
phaàn soá xaùc ñònh soá thöù töï cuûa bit trong byteñoù theo caáu truùc.
0 0 0 0 0 0 0 0 0 0 0 0 0 b b
b b b b b b b b b b b b b b b x x x
Khoâng söû duïng Ñòa chæ byte ( 0 – 65535 ) Ñòa
chæ
Bit (0-
7) Caáu truùc döõ lieäu naøy cuûa con troû chæ ñòa chæ bit ñöôïc khai
baùotrong S7-300 baèng toaùn haïng daïng:
P# < ñòa chæ byte > . < Soá thöù töï >
15/ Söû duïng thanh ghi con troû AR1 vaø AR2:
S7-300 coù hai thanh ghi 32bits ñöôïc duøng laøm con troû thay vì phaûi söû
duïng moät töø (MW,DBW,LW) hay töø keùp (MD,DBD,LD).Hai thanh ghi naøy
coù teân laø AR1 vaø AR2.Ñaëc bieät tuy hai thanh ghi con troû naøy chæ
chöùa ñòa chæ bit( coù theå coù hoaëc khoâng coù phaàn chöõ cuûa ñòa
chæ),song laïi coù theå söû duïng ñeå truy nhaäp oâ nhôù coù kích thöôùc
nhieàu hôn moät bit nhö byte,töø hoaëc töø keùp.
Ta phaân bieät hai tröôøng hôïp :
- AR laø con troû ñòa phöông chæ vò trí bit trong töøng vuøng ,khoâng
chöùa phaàn chöõ cuûa ñòa chæ (area internal register)
- AR laø con troû toaøn cuïc chævò trí bit trong boä nhôù ,chöùa caû
phaàn chöõ vaø phaàn soá cuûa ñòa chæ (area crssing register)
a/Khai baùo giaù trò thanh ghi AR: Hai thanh ghi AR ñöôïc gaùn giaù trò
baèng leänh
Cuù phaùp: LAR1 [P#
<ñòa chæ bit >]
LAR2 [P# <ñòa
chæ bit >]
Toaùn haïng cuûa leänh gaùn gia 1trò coù caáu truùc:
P#[ < teân vuøng boä nhôù >] < ñòa chæ byte > . < soá thöù töï bit >
Leänh coù theå coù hoaëc khoâng coù toaùn haïng .Neáu khoâng coù toaùn
haïng ,leänh seõ chuyeån noäi dung cuûa ACCU1 vaøo thanh ghi AR1
hoaëc AR2.Tröôøng hôïp coù toaùn haïng ,leänh chuyeån giaù trò toaùn
haïng vaøo thanh ghi AR1 hoaëc AR2.Leänh naøy khoâng laøm thay ñoåi
noäi dung thanh ghi traïng thaùi .
Giaù trò chuyeån vaøo thanh ghi AR phaûi coù caáu truùc ñuùng cuûa moät con
troû chæ bit vôùi daïng nhö sau
Moät ñieåm khaùc bieät nöõa cuûa vieäc truy nhaäp giaùn tieáp thoâng qua con
troû AR so vôùi con troû kieåu MD laø oâ nhôù ñöôïc truy nhaäp coù moät
khoaûng caùch nhaát ñònh theo chieàu taêng (offset) so vôùi oâ nhôù maø
AR chæ vaøo (hình 2.24).Offset coù ñôn vò nhoû nhaát tính theo bit vôùi
caáu truùc trong leänh truy nhaäp nhö sau:
<teân leänh> <vuøng vaø kích thöôùc> [ Arx,P# <soá byte >.<Soá
bit>]
Offset
Tröø tröôøng hôïp truy nhaäp bit (A,O,=,….),trong leänh phaûi ghi roõ kích
thöôùc maûng bit cuûa oâ nhôù ñöôïc truy nhaäp (B,W hay D).Neáu con troû
ñöôïc söû duïng laø con troû ñòa phöông ,thì coøn phaûi cho bieát vuøng boä
nhôù ñöôïc truy nhaäp trong boä nhôù ( M,P,I,Q,DB hay DI)
Ñaëc bieät thanh ghi AR khoâng chæ tôùi ñöôïc vuøng ñeäm PQ cuûa caùc
coång ra töông töï .Giaù trò
P#P…. cuûa toaùn haïng chæ ñòa chæ ñöôïc töï ñoäng hieåu laø ñòa chæ
cuûa coång vaøo töông töï.
Ví duï 1:
LAR1 P#1.0 //Thanh ghi AR1 ñöôïc duøng laøm con troû ñòa
phöông
LAR2 P#M10.0 //Thanh ghi AR2 ñöôïc duøng laøm con troû
toaøn cuïc
A [ AR2,P#1.3] //Truy nhaäp oâ nhôù M11.3
= Q[AR1,P#0.2] //Ñöa giaù trò ra coång Q1.2
L IB[AR1,P#0.0 //Ñoïc 8 coång vaøo IB1 ( I1.0 –
T ]B[AR2,P#0.0] I1.7)
//Chuyeån giaù trò ñoïc ñöôïc
vaøo byte MB10
L W[AR2,P#5.0] // Ñoïc MW15
T MW[AR1,P#2. //Chuyeån vaøo
L 0]
DBD[AR1,P#9. MW3 //Ñoïc DBD10
T 0]
D[AR2,P#20.0]
Ví duï 2: Quay laïi ví duï veà chöông trình nhaäp döõ lieäu töø coång töông töï
PIW304 vaø caát vaøo boä ñeäm ñaõ ñöôïc trình baøy trong muïc tröôùc
nhöng söõa laïi baèng caùch duøng thanh ghi con troû toaøn cuïc AR.Boä
ñeäm laø vuøng nhôù goàm 10 töø MW0 – MW18.Döõ lieäu vöøa ñoïc
ñöôïc seõ ñöôïc caát vaøo töø nhôù cuoái cuøng cuûa boä ñeäm .Caùc döõ
lieäu ñaõ coù trong boä ñeäm seõ ñöôïc chuyeån daàn leân.Döõ lieäu ñaàu
tieân trong boä ñeäm seõ bò ñaåy ra khoûi boä ñeäm.Chöông trình söû
duïng MB24 chöùa soá ñeám:
LAR1 P#M0.0 //Ñòa chæ oâ nhôù ñaàu tieân
L 9
Next: T MB24 //Chæ soá
L ñeám
W[AR1,P#2.0] T
W[AR1,P#0.0]
+AR1 P#2.0
L MB24
LOOP Next
L PIW304
T MW18
W[AR1,P#0.0] T
W[AR1,P#2.0]
1/Ñoïc chæ soá khoái döõ lieäu coù teân trong thanh ghi DB hoaëc DI
Cuù L DBNO
Phaùp L DINO
Leänh ñoïc chæ soá cuûa khoái döõ lieäu coù teân trong thanh ghi DB (DBNO)
hoaëc trong thanh ghi DI (DINO) vaø chuyeån keát quaû ñoïc ñöôïc vaøo
ACUU1 döôùi daïng soá nguyeân.Leänh khoâng laøm thay ñoåi noäi dung
thanh ghi traïng thaùi.Noäi dung cuõ cuûa ACCU1 ñöôïc chuyeån vaøo ACCU2
2/Ñoïc ñoä daøi khoái döõ lieäu coù teân trong thanh ghi DB hoaëc DI
Cuù L DBLG
Phaùp L DILG
Leänh ñoïc ñoä daøi tính theo byte cuûa khoái döõ lieäu coù teân trong thanh
ghi DB (DBLG) hoaëc trong thanh ghi DI ( DILG ) vaø chuyeån keát quaû ñoïc
ñöôïc döôùi daïng soá nguyeân 32 bits vaøo ACCU1.Leänh khoâng laøm
thay ñoåi noäi dung cuûa thanh ghi traïng thaùi .Noäi dung cuõ cuûa ACCU1
ñöôïc chuyeån vaøo ACCU2.
3/Ñaûo noäi dung hai thanh ghi DB vaø DI
Cuù phaùp CDB
Leänh chuyeån noäi dung cuûa thanh ghi DB sang thanh ghi DI vaø ngöôïc laïi
noäi dung DI sang DB
.Leänh khoâng laøm thay ñoåi noäi dung cuûa thanh ghi traïng thaùi
Haøm SCALE seõ thöïc hieän vieäc keânh chænh töø tín hieäu IN keát
quaû seõ ñöôïc löu ôû OUT
OUT = (Float (IN)-K1)/(K2-K1) * ( HI_LIM – LO_LIM) +
LO_LIM Tín hieäu BIPOLAR : K1 = -27648.0 , K2 =
27648.0
Tín hieäu UNBIPOLAR : K1 = 0.0 , K2 = 27648.0
RET_VAL : Traû veà loãi neáu vieäc thöïc hieän haøm SCALE coù vaán
ñeà
Vieäc xuaát tín hieäu Analog cuõng söû duïng haøm SCALE,Tín
hieäu Analog Out seõ ñöôïc ñöa ra Modul xuaát tín hieäu Analog
töông öùng
Baøi taäp :
1/ Ñoïc khoái löôïng töø ñaàu caân Redlion:
Ñaàu caân Redlion coù tích hôïp saün caùc Card Analog ( 0-10V,4-20mA ) vaø
1 soá Card khaùc nhö
RS232,RS485,ModBus,Profibus,Device Net…)
Tín hieäu Analog seõ töông öùng vôùi khoái löôïng hieän thò treân ñaàu caân
tuyø thuoäc vaøo vieäc Set giaù trò Analog töông öùng treân ñaàu caân.
Ví duï : Söû duïng keânh Analog laø 0-10VDC,choïn giaù trò Min laø 0Kg,giaù
trò Max laø 100Kg thì
Neáu khoái löôïng treân ñaàu caân laø 50Kg,thì ñieän aùp ñoïc veà töông
öùng laø 5VDC.
2/ Xuaát tín hieäu Analog Out ñieàu khieån bieán taàn :
Coù 1 caùch thoâng duïng ñeå thay ñoåi toác ñoä cuûa ñoäng cô laø ñieàu
khieån bieán taàn baèng caùch thay ñoåi caáp ñieän aùp töông öùng,hoaëc
doøng töông öùng . Tuyø thuoäc vaøo töøng baøi toaùn cuï theå,toác ñoä
ñoäng cô seõ ñöôïc thay ñoåi töông öùng cho phuø hôïp.
18 / Ñoïc xung toác ñoä cao :
Xung toác ñoä cao ñöôïc ñoïc thoâng qua nhöõng Modul ñoïc xung toác ñoä
cao hoaëc coù theå ñöôïc ñoïc thoâng qua CPU coù tích hôïp saün nhöõng
I/O coù khaû naêng ñoïc xung toác ñoä cao nhö CPU
312C,313C……
Vieäc ñoïc xung toác ñoä cao laø heát söùc caàn thieát cho nhöõng öùng
duïng ñoïc xung Encoder, hay ñoïc xung cuûa nhöõng Input toác ñoä cao.
Tuyø thuoäc töøng loaïi CPU cuõng nhö Modul ñoïc xung toác ñoä cao maø coù
nhöõng caùch thöùc ñaáu noái daây khaùc nhau,do vaäy vieäc ñaáu noái
daây caàn phaûi xem taøi lieäu tröôùc khi thöïc hieän.
Caàn phaûi xaùc ñònh cheá ñoä ñoïc xung tröôùc khi ñaáu noái ( vd : cheá ñoä
ñoïc 2 xung,cheá ñoä ñoïc 1 xung
……).
Haøm ñoïc xung toác ñoä cao : SFB 47
Döõ lieäu ñöôïc löu vaøo khoái DB47 theo nguyeân taéc sau:
Cho pheùp
ngoõ ra
Ñieàu khieån
ngoõ ra
Traïng77
thaùi höôùng ngöôïc
Traïng thaùi so
saùnh
Traïng thaùi
traøn
78
Traïng thaùi
döôùi Traïng
thaùi Zero Giaù
trò ñeám ngoõ
ra Bit Reset
loãi.
Chi tieát cuï theå coù theå xem trong File Help cuûa SFB47 baèng caùch choïn
SFB47 roài baám F1.
Ngoaøi vieäc ñoïc xung toác ñoä cao baèng haøm SFB47,ta coøn coù
theå ñoïc taàn soá baèng haøm
SFB48
Caùch thöùc ñònh daïng haøm SFB48 cuõng hoaøn toaøn töông töï
haøm SFB47,chæ khaùc ngoõ ra laø taàn soá.Chi tieát cuï theå
coù theå choïn haøm SFB48 roài baám F1.
Caùch söû duïng haøm nhaän döõ lieäu thoâng qua coång COM
hoaøn toaøn töông töï caùch
duøng cuûa haøm truyeàn döõ lieäu thoâng qua coång COM.
Ñoïc döõ lieäu töø CPU thoâng qua haøm SFB14
Ghi döõ lieäu vaøo CPU thoâng qua haøm SFB15