SlideShare a Scribd company logo
1 of 135
Download to read offline
BÀI GIẢNG MÔN HỌC
SIEMENS PLC S7 – 300
Chương mở đầu: Giới thiệu dòng sản phẩm Siemens
Chương 1: Nhập môn PLC S7 – 300
Chương 2: Cấu trúc PLC S7 – 300
Chương 3: Hướng dẫn sử dụng phần mềm lập trình PLC
S7-300
Chương 4: Ngôn ngữ lập trình STL
Chương 5: Kỹ thuật lập trình
Chương 6: Bài tập thực hành
CHƯƠNG MCHƯƠNG MỞỞ ĐĐẦẦUU: GI: GIỚỚII
THITHIỆỆU DÒNG SU DÒNG SẢẢN PHN PHẨẨMM
SIEMENSSIEMENS
• PLC S7 – 200: loại cực nhỏ, thích hợp cho những ứng
dụng riêng lẽ, với số lượng I/O vừa phải.
• PLC S7 – 300: loại trung bình, thích hợp cho những
ứng dụng vừa phải.
• PLC S7 – 400: tiêu chuẩn ở mức cao đáp ứng được các
bài toán điều khiển ở mức cao nhất.
CHƯƠNGCHƯƠNG 11::
NHNHẬẬP MÔN PLC S7P MÔN PLC S7 –– 300300
2.1. Đại số Boolean
2.2. Biểu diễn số nguyên dương
2.3. Biểu diễn số nguyên có dấu
2.1.2.1. ĐĐạạii ssốố BooleanBoolean
2.1.1. Biến và hàm hai trị
- Biến 2 trị (Biến Boolean): là loại hàm số mà miền giá
trị của nó chỉ có hai phần tử, đó là 0 và 1
- Hai biến Boole được gọi là độc lập với nhau nếu sự
thay đổi giá trị của biến này không ảnh hưởng tới giá
trị của biến kia
- Ngược lại, nếu giá trị của biến này phụ thuộc vào giá
trị của biến kia thì gọi là biến phụ thuộc
- Hàm hai trị là mô hình toán học mô tả sự phụ thuộc
của một biến Boole vào các biến Boole khác
2.1.1. Biến và hàm hai trị (tt)
Ví dụ minh họa:
x y z
Công tắc x, y: là biến Boole hai trị (0 và 1)
Đèn z: cũng là biến Boole hai trị
x và y là hai biến Boole độc lập nhau
Đèn z là biến Boole phụ thuộc vào hai biến
công tắc
2.1.2.2.1.2. CCáácc phphéépp totoáánn trêntrên hhààmm haihai trtrịị
0011
1100
yyxx
a. Phép Not (y = Not(x))
b.b. PhPhéépp ccộộngng (z = x + y)(z = x + y)
111111
110011
111100
000000
ZZYYXX
c.c. PhPhéépp giaogiao (z =(z = x^yx^y))
111111
000011
001100
000000
ZZYYXX
2.2.2.2. BiBiểểuu didiễễnn ssốố nguyênnguyên dươngdương
2.2.1. Trong hệ cơ số 10 (hệ thập phân)
Một số nguyên dương un bất kỳ, trong hệ cơ số 10
bao giờ cũng được biểu diễn đầy đủ bằng dãy con
số nguyên từ 0 đến 9
Ví dụ: un = 515 được biểu diễn trong cơ số 10
515 = 5.102 + 1.101 + 5.100
2.2.2.2.2.2. TrongTrong hhệệ cơcơ ssốố 2 (2 (hhệệ nhnhịị phânphân))
Cách biểu diễn un trong hệ cơ số 10 chưa phù hợp với
nguyên tắc mạch điện (hay nguyên tắc hàm 2 trị). Để sử
dụng nguyên tắc hàm 2 trị, ta đưa ra khái niệm bit.
Ví dụ: un = 205
Được biểu diễn như sau:
11001101
205 = 1.27 + 1.26 + 0.25 + 0.24 + 1.23 + 1.22 + 0.21 + 1.20
2.2.3.2.2.3. TrongTrong hhệệ cơcơ ssốố 16 (16 (hhệệ Hexadecimal)Hexadecimal)
Cũng giống như hệ cơ số 10, một số nguyên dương bất
kỳ cũng có thể biểu diễn trong hệ cơ số 16 như sau:
Ví dụ: 7723 trong hệ cơ số 10 được biểu diễn thành
1E2B trong hệ cơ số 16
1E2B = 1.163 + 14.162 + 2.161 + 11.160
2.2.4. Mã BCD trong s2.2.4. Mã BCD trong sốố nguyên dươngnguyên dương
Số 259 trong hệ thập phân được biểu diễn dưới dạng mã
BCD như sau:
0010 0101 1001
2 5 9
2.3. Biểu diễn số nguyên có dấu
Số nguyên có dấu uk được biểu diễn theo quy tắc bù loại
2 gồm các bước sau:
-Biểu diễn |uk| trong hệ cơ số 2 thành dãy các bit xk
-Đảo giá trị từng bit xk, thành
-Cộng thêm 1
Ví dụ: biểu diễn uk=-15 trong hệ có số 2 với độ dài 8
bit? Lần lượt thực hiện theo 3 bước trên.
CHƯƠNGCHƯƠNG 22: C: CẤẤUU TRTRÚÚCC PLC S7PLC S7 –– 300300
2.1. Định nghĩa
2.2. Các tín hiệu kết nối với PLC
2.3. Các module của PLC S7-300
2.4. Kiểu dữ liệu và phân chia bộ nhớ
2.5. Cấu trúc bộ nhớ của CPU
2.6. Vòng quét chương trình
2.7. Cấu trúc chương trình
2.8. Các khối OB đặc biệt
2.1. Định nghĩa
Thieát bò ñieàu khieån logic khaû trình PLC (Programmable
Logic Controller) 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á.
Ưu điểm: + Nhoû goïn
+ Deã thay ñoåi thuaät toaùn
+ Deã trao ñoåi thoâng tin vôùi moâi tröôøng xung
quanh (với PLC khác hoặc với máy tính)
*> Các bộ phận chính của PLC:
- Boä vi xöû lí trung taâm (CPU)
- Heä ñieàu haønh
- Boä nhôù chöông trình
- Caùc coång vaøo ra,…
2.2. Caùc tín hieäu keát noái vôùi PLC
+ Tín hieäu soá: Laø caùc tín hieäu thuoäc daïng haøm
Boolean, daïng tín hieäu chæ coù 2 trò 0 hoaëc 1.
Ñoái vôùi PLC Siemens:
- Möùc 0: töông öùng vôùi 0V hoaëc hôû maïch
- Möùc 1 : töông öùng vôùi 24V
Ví dụ: Caùc tín hieäu töø nuùt nhaán, töø caùc coâng tắc hành
trình,… đều là những tín hiệu số.
+ Tín hieäu töông töï: Là tín hiệu liên tục từ 0-10V
hoặc 4-20mA.
Ví dụ: tín hiệu đọc từ cảm biến loadcell,…
2.3.2.3. CCáácc modulemodule ccủủaa PLC S7PLC S7 -- 300300
2.3.1. Module CPU
Modul CPU laø loaïi Module chöùa vi xöû lí, heä ñieàu haønh,
boä nhôù, caùc boä thôøi gian, bộ đếm, cổng truyền thông vaø
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.
Trong họ PLC S7 – 300 có nhiều loại CPU khác nhau:
CPU312, CPU314, CPU315,…
2.3.2.2.3.2. CCáácc modulemodule mmởở rrộộngng::
ĐưĐượợcc chiachia ththàànhnh 55 loloạạii chchíínhnh sausau::
-- NguNguồồnn nuôinuôi (PS: Power Supply):(PS: Power Supply): cungcung ccấấpp ngunguồồnn chocho CPUCPU
vvàà ccáácc modulemodule khkháácc..
-- SM (Signal Module):SM (Signal Module): ModuleModule ttíínn hihiệệuu vvààoo rara,, baobao ggồồmm::
+ DI: Digital Input+ DI: Digital Input
+ DO: Digital Output+ DO: Digital Output
+ DI/DO: Digital In/Output+ DI/DO: Digital In/Output
+ AI: Analog Input+ AI: Analog Input
+ AO: Analog Output+ AO: Analog Output
+ AI/AO: Analog In/Output+ AI/AO: Analog In/Output
-- IM (Interface Module):IM (Interface Module): ModuleModule ghghéépp nnốốii
-- FM (Function Module):FM (Function Module): ModuleModule điđiềềuu khikhiểểnn riêngriêng:: điđiềềuu
khikhiểểnn Servo,Servo,……
-- CP (Communication Module):CP (Communication Module): ModuleModule truytruyềềnn thôngthông
2.4.2.4. KiKiểểuu ddữữ liliệệuu vvàà phânphân chiachia bbộộ nhnhớớ
 KiKiểểuu BOOL:BOOL: dungdung lưlượợngng mmộộtt bit,bit, ccóó gigiáá trtrịị 00 hohoặặcc 11
 KiKiểểuu BYTE:BYTE: ggồồmm 8 bits,8 bits, đưđượợcc ddùùngng đđểể bibiểểuu didiễễnn ssốố
nguyênnguyên dươngdương trongtrong khokhoảảngng ttừừ 00 đđếếnn 255.255.
 KiKiểểuu WORD:WORD: ggồồmm 2 bytes,2 bytes, bibiểểuu didiễễnn mmộộtt ssốố nguyênnguyên
dươngdương ttừừ 00 đđếếnn 65535.65535.
 KiKiểểuu INT:INT: 2 bytes,2 bytes, bibiểểuu didiễễnn ssốố nguyênnguyên trongtrong khokhoảảngng ttừừ
--3276832768 đđếếnn 32767.32767.
 KiKiểểuu DINT:DINT: 4 bytes,4 bytes, bibiểểuu didiễễnn ssốố nguyênnguyên ttừừ --
21474836482147483648 đđếếnn 2147483647.2147483647.
2.4.2.4. KiKiểểuu ddữữ liliệệuu vvàà phânphân chiachia bbộộ nhnhớớ ((tttt))
 KiKiểểuu S5TS5T (hay S5TIME):(hay S5TIME): khokhoảảngng ththờờii giangian,, đưđượợcc ttíínhnh
theotheo gigiờờ/ph/phúút/giây/milit/giây/mili giâygiây..
 KiKiểểuu TOD:TOD: bibiểểuu didiễễnn gigiáá trtrịị ththờờii giangian ttíínhnh theotheo
gigiờờ/ph/phúút/giâyt/giây..
 KiKiểểuu DATE:DATE: bibiểểuu didiễễnn gigiáá trtrịị ththờờii giangian ttíínhnh theotheo nămnăm
//ththááng/ngng/ngààyy..
 KiKiểểuu CHAR:CHAR: bibiểểuu didiễễnn mmộộtt hohoặặcc nhinhiềềuu kýký ttựự ((nhinhiềềuu
nhnhấấtt llàà 44 kýký ttựự).).
2.5.2.5. CCấấuu trtrúúcc bbộộ nhnhớớ ccủủaa CPUCPU
BBộộ nhnhớớ ccủủaa S7S7 –– 300300 đưđượợcc chiachia llààmm 33 vvùùngng
chchíínhnh::
 VVùùngng chchứứaa chươngchương trtrììnhnh ứứngng ddụụngng:: đưđượợcc chiachia llààmm 33
mimiềềnn::
+ OB+ OB (Organization block):(Organization block): mimiềềnn chchứứaa chươngchương trtrììnhnh ttổổ
chchứứcc..
+ FC+ FC (Function):(Function): mimiềềnn chchứứaa chươngchương trtrììnhnh concon đưđượợcc ttổổ
chchứứcc ththàànhnh hhààmm ccóó bibiếếnn hhììnhnh ththứứcc đđểể traotrao đđổổii ddữữ liliệệuu
vvớớii chươngchương trtrììnhnh đãđã ggọọii nnóó..
+ FB+ FB (Function block):(Function block): mimiềềnn chchứứaa chươngchương trtrììnhnh con,con,
đưđượợcc ttổổ chchứứcc ththàànhnh hhààmm,, ccóó khkhảả năngnăng traotrao đđổổii ddữữ liliệệuu
vvớớii bbấấtt ccứứ mmộộtt khkhốốii chươngchương trtrììnhnh nnààoo khkháácc..
 VVùùngng chchứứaa thamtham ssốố ccủủaa hhệệ điđiềềuu hhàànhnh vvàà chươngchương
trtrììnhnh ứứngng ddụụngng
+ I+ I (Process image input):(Process image input): mimiềềnn bbộộ đđệệmm ccáácc ddữữ liliệệuu ccổổngng vvààoo
ssốố..
+ Q+ Q (Process image output):(Process image output): mimiềềnn bbộộ đđệệmm ccáácc ddữữ liliệệuu ccổổngng rara
ssốố..
+ M:+ M: mimiềềnn ccáácc bibiếếnn ccờờ.. ChươngChương trtrììnhnh ứứngng ddụụngng ssửử ddụụngng vvùùngng
nhnhớớ nnààyy đđểể lưulưu gigiữữ ccáácc thamtham ssốố ccầầnn thithiếếtt vvàà ccóó ththểể truytruy nhnhậậpp
nnóó theotheo bit (M), byte (MB),bit (M), byte (MB), ttừừ (MW) hay(MW) hay ttừừ kkéépp (MD).(MD).
+ T:+ T: mimiềềnn nhnhớớ phphụụcc vvụụ bbộộ ththờờii giangian (Timer)(Timer) baobao ggồồmm viviệệcc lưulưu
gigiữữ gigiáá trtrịị ththờờii giangian đđặặtt trưtrướớcc (PV: Preset value),(PV: Preset value), gigiáá trtrịị đđếếmm
ththờờii giangian ttứứcc ththờờii (CV: Current value)(CV: Current value)
+ C:+ C: mimiềềnn nhnhớớ phphụụcc vvụụ bbộộ đđếếmm (Counter),(Counter), baobao ggồồmm viviệệcc lưulưu
gigiữữ gigiáá trtrịị đđặặtt trưtrướớcc,, gigiáá trtrịị đđếếmm ttứứcc ththờờii,, gigiáá trtrịị logiclogic đđầầuu rara
ccủủaa bbộộ đđếếmm..
+ PI:+ PI: MiMiềềnn đđịịaa chchỉỉ ccổổngng vvààoo ccủủaa ccáácc modulemodule tươngtương ttựự
+ PQ:+ PQ: mimiềềnn đđịịaa chchỉỉ ccổổngng rara chocho ccáácc modulemodule tươngtương ttựự
 VVùùngng chchứứaa ccáácc khkhốốii ddữữ liliệệuu::
ĐưĐượợcc chiachia ththàànhnh 22 loloạạii
+ DB+ DB (Data block):(Data block): MiMiềềnn chchứứaa ccáácc ddữữ liliệệuu đưđượợcc ttổổ chchứứcc
ththàànhnh khkhốốii.. KKíínhnh thưthướớcc vvàà ssốố lưlượợngng khkhốốii dodo ngưngườờii ssửử
ddụụngng quyquy đđịịnhnh,, phphùù hhợợpp vvớớii ttừừngng bbààii totoáánn điđiềềuu khikhiểểnn
+ L+ L (Local data block):(Local data block): MiMiềềnn ddữữ liliệệuu đđịịaa phươngphương,, đưđượợcc
ccáácc khkhốốii chươngchương trtrììnhnh OB, FC, FBOB, FC, FB ttổổ chchứứcc,, ssửử ddụụngng chocho
ccáácc bibiếếnn nhnháápp ttứứcc ththờờii vvàà traotrao đđổổii ddữữ liliệệuu ccủủaa bibiếếnn hhììnhnh
ththứứcc vvớớii nhnhữữngng khkhốốii chươngchương trtrììnhnh đãđã ggọọii nnóó.. NNộộii dungdung
ccủủaa mmộộtt ssốố ddữữ liliệệuu trongtrong mimiềềnn nhnhớớ nnààyy ssẽẽ bbịị xxóóaa khikhi kkếếtt
ththúúcc chươngchương trtrììnhnh tươngtương ứứngng trongtrong OB, FC, FB.OB, FC, FB.
2.6.2.6. VòngVòng ququéétt chươngchương trtrììnhnh
 PLCPLC ththựựcc hihiệệnn chươngchương trtrììnhnh theotheo chuchu trtrììnhnh llặặpp.. MMỗỗii
vòngvòng llặặpp đưđượợcc ggọọii llàà vòngvòng ququéétt (scan).(scan). MMỗỗii vòngvòng ququéétt
đưđượợcc bbắắtt đđầầuu bbằằngng giaigiai đođoạạnn chuychuyểểnn ddữữ liliệệuu ttừừ ccáácc ccổổngng
vvààoo ssốố ttớớii vvùùngng bbộộ đđệệmm ảảoo I,I, titiếếpp theotheo llàà giaigiai đođoạạnn ththựựcc
hihiệệnn chươngchương trtrììnhnh..
 TrongTrong ttừừngng vòngvòng ququéétt,, chươngchương trtrììnhnh đưđượợcc ththựựcc hihiệệnn ttừừ
llệệnhnh đđầầuu tiêntiên đđếếnn llệệnhnh kkếếtt ththúúcc ccủủaa khkhốốii OB1.OB1.
 SauSau giaigiai đođoạạnn ththựựcc hihiệệnn chươngchương trtrììnhnh llàà giaigiai đođoạạnn
chuychuyểểnn ccáácc nnộộii dungdung ccủủaa bbộộ đđệệmm ảảoo QQ ttớớii ccáácc ccổổngng rara
ssốố..
 VòngVòng ququéétt đưđượợcc kkếếtt ththúúcc bbằằngng giaigiai đođoạạnn truytruyềềnn thôngthông
nnộộii bbộộ vvàà kikiểểmm llỗỗii..
 ThThờờii giangian ccầầnn thithiếếtt đđểể PLCPLC ththựựcc hihiệệnn đưđượợcc mmộộtt vòngvòng
ququéétt ggọọii llàà ththờờii giangian vòngvòng ququéétt (Scan time)(Scan time)
2.7.2.7. CCấấuu trtrúúcc chươngchương trtrììnhnh
CCóó 22 ddạạngng ccấấuu trtrúúcc chươngchương trtrììnhnh sausau::
 LLậậpp trtrììnhnh tuytuyếếnn ttíínhnh:: ToToàànn bbộộ chươngchương trtrììnhnh điđiềềuu khikhiểểnn
nnằằmm trongtrong mmộộtt khkhốốii trongtrong bbộộ nhnhớớ.. LoLoạạii hhììnhnh ccấấuu trtrúúcc
tuytuyếếnn ttíínhnh nnààyy phphùù hhợợpp vvớớii nhnhũũngng bbààii totoáánn ttựự đđộộngng nhnhỏỏ,,
khôngkhông phphứứcc ttạạpp.. KhKhốốii đưđượợcc chchọọnn phphảảii llàà khkhốốii OB1,OB1, llàà
khkhốốii mmàà PLCPLC luônluôn ququéétt vvàà ththựựcc hihiệệnn ccáácc llệệnhnh trongtrong nnóó
thưthườờngng xuyênxuyên,, ttừừ llệệnhnh đđầầuu tiêntiên đđếếnn llệệnhnh cucuốốii ccùùngng vvàà
quayquay llạạii llệệnhnh đđầầuu tiêntiên..
 LLậậpp trtrììnhnh ccóó ccấấuu trtrúúcc:: ChươngChương trtrììnhnh đưđượợcc chiachia ththàànhnh
nhnhữữngng phphầầnn nhnhỏỏ vvớớii ttừừngng nhinhiệệmm vvụụ riêngriêng vvàà ccáácc phphầầnn
nnààyy nnằằmm trongtrong nhnhữữngng khkhốốii chươngchương trtrììnhnh khkháácc nhaunhau..
LoLoạạii hhììnhnh ccấấuu trtrúúcc nnààyy phphùù hhợợpp vvớớii nhnhữữngng bbààii totoáánn điđiềềuu
khikhiểểnn nhinhiềềuu nhinhiệệmm vvụụ vvàà phphứứcc ttạạpp..
2.7.2.7. CCấấuu trtrúúcc chươngchương trtrììnhnh ((tttt))
PLC S7PLC S7 –– 300300 ccóó 44 loloạạii khkhốốii cơcơ bbảảnn sausau::
-- LoLoạạii khkhốốii OBOB (Organization block):(Organization block): khkhốốii ttổổ chchứứcc vvàà ququảảnn lýlý
chươngchương trtrììnhnh điđiềềuu khikhiểểnn.. CCóó ccáácc loloạạii khkhốốii OBOB ccóó chchứứcc năngnăng
khkháácc nhaunhau nhưnhư: OB1, OB35, OB40,: OB1, OB35, OB40,……
-- LoLoạạii khkhốốii FCFC (Program block):(Program block): khkhốốii chươngchương trtrììnhnh vvớớii nhnhữữngng
chchứứcc năngnăng riêngriêng gigiốốngng nhưnhư mmộộtt chươngchương trtrììnhnh concon hohoặặcc mmộộtt
hhààmm.. MMộộtt chươngchương trtrììnhnh ứứngng ddụụngng ccóó ththểể ccóó nhinhiềềuu khkhốốii FC.FC.
-- LoLoạạii khkhốốii FBFB (Function block):(Function block): llàà loloạạii khkhốốii FCFC đđặặcc bibiệệtt ccóó
khkhảả năngnăng traotrao đđổổii mmộộtt lưlượợngng ddữữ liliệệuu llớớnn vvớớii ccáácc khkhốốii
chươngchương trtrììnhnh khkháácc nhaunhau..
-- LoLoạạii khkhốốii DBDB (Data block):(Data block): khkhốốii chchứứaa ccáácc ddữữ liliệệuu ccầầnn thithiếếtt
đđểể ththựựcc hihiệệnn chươngchương trtrììnhnh.. CCáácc thamtham ssốố ccủủaa khkhốốii dodo ngưngườờii
ddùùngng ttựự đđặặtt
ChươngChương trtrììnhnh trongtrong ccáácc khkhốốii đưđượợcc liênliên kkếếtt vvớớii nhaunhau
bbằằngng ccáácc llệệnhnh ggọọii khkhốốii,, chuychuyểểnn khkhốốii. S7. S7 –– 300300 chocho phphéépp ggọọii
chươngchương trtrììnhnh concon llồồngng nhaunhau..
2.8.2.8. NhNhữữngng khkhốốii OBOB đđặặcc bibiệệtt
CCáácc khkhốốii OBOB nnààyy chchỉỉ ththựựcc hihiệệnn khikhi xuxuấấtt hihiệệnn ttíínn
hihiệệuu bbááoo ngngắắtt tươngtương ứứngng..
 OB10OB10 (Time of Day Interrupt):(Time of Day Interrupt): ChươngChương trtrììnhnh trongtrong
khkhốốii OB10OB10 ssẽẽ đưđượợcc ththựựcc hihiệệnn khikhi gigiáá trtrịị ccủủaa đđồồngng hhồồ
ththờờii giangian ththựựcc nnằằmm trongtrong mmộộtt khokhoảảngng ththờờii giangian đãđã đưđượợcc
quyquy đđịịnhnh.. ViViệệcc quyquy đđịịnhnh khokhoảảngng ththờờii giangian hayhay ssốố llầầnn ggọọii
OB10OB10 đưđượợcc ththựựcc hihiệệnn nhnhờờ chươngchương trtrììnhnh hhệệ ththốốngng SFC28SFC28
 OB20OB20 (Time Delay Interrupt):(Time Delay Interrupt): ChươngChương trtrììnhnh trongtrong
khkhốốii OB20OB20 ssẽẽ đưđượợcc ththựựcc hihiệệnn sausau mmộộtt khokhoảảngng ththờờii giangian
trtrễễ đđặặtt trưtrướớcc kkểể ttừừ khikhi ggọọii chươngchương trtrììnhnh hhệệ ththốốngng SFC32SFC32
đđểể đđặặtt ththờờii giangian trtrễễ..
 OB35OB35 (Cyclic Interrupt):(Cyclic Interrupt): ChươngChương trtrììnhnh trongtrong OB35OB35 ssẽẽ
đưđượợcc ththựựcc hihiệệnn ccááchch đđềềuu nhaunhau mmộộtt khokhoảảngng ththờờii giangian ccốố
đđịịnhnh.. MMặặcc đđịịnhnh,, khokhoảảngng ththờờii giangian nnààyy ssẽẽ llàà 100ms100ms vvàà ccóó ththểể
thaythay đđổổii gigiáá trtrịị nnààyy..
 OB40OB40 (Hardware Interrupt):(Hardware Interrupt): ChươngChương trtrììnhnh trongtrong OB40OB40
ssẽẽ đưđượợcc ththựựcc hihiệệnn khikhi xuxuấấtt hihiệệnn mmộộtt ttíínn hihiệệuu bbááoo ngngắắtt ttừừ
ngongoạạii vivi đưađưa vvààoo module CPUmodule CPU thôngthông quaqua ccáácc ccổổngng vvààoo
rara ssốố onboardonboard đđặặcc bibiệệtt hohoặặcc thôngthông quaqua ccáácc module SM,module SM,
CP, FM.CP, FM.
 OB80OB80 (Cycle Time Fault):(Cycle Time Fault): ĐưĐượợcc ththựựcc hihiệệnn khikhi ththờờii giangian
vòngvòng ququéétt (scan time)(scan time) vưvượợtt ququáá khokhoảảngng ththờờii giangian ccựựcc
đđạạii đãđã quyquy đđịịnhnh hohoặặcc khikhi ccóó mmộộtt ttíínn hihiệệuu ngngắắtt ggọọii mmộộtt
khkhốốii OBOB nnààoo đđóó mmàà khkhốốii OBOB nnààyy chưachưa kkếếtt ththúúcc ởở llầầnn ggọọii
trưtrướớcc.. MMặặcc đđịịnhnh, scan time, scan time ccựựcc đđạạii llàà 150ms.150ms.
 OB81OB81 (Power Supply Fault): Module CPU(Power Supply Fault): Module CPU ssẽẽ ggọọii
chươngchương trtrììnhnh trongtrong khkhốốii OB81OB81 khikhi phpháátt hihiệệnn ththấấyy ccóó llỗỗii
vvềề ngunguồồnn nuôinuôi..
 OB82OB82 (Diagnostic Interrupt):(Diagnostic Interrupt): ĐưĐượợcc ggọọii khikhi CPUCPU phpháátt
hihiệệnn ccóó ssựự ccốố ttừừ ccáácc modulemodule vvààoo rara mmởở rrộộngng.. CCáácc
modulemodule mmởở rrộộngng nnààyy phphảảii llàà nhnhữữngng modulemodule ccóó khkhảả năngnăng
ttựự kikiểểmm tratra mmììnhnh..
 OB85OB85 (Not Load Fault):(Not Load Fault): ĐưĐượợcc ggọọii khikhi phpháátt hihiệệnn ththấấyy
chươngchương trtrììnhnh ứứngng ddụụngng ccóó ssửử ddụụngng chchếế đđộộ ngngắắtt nhưngnhưng
chươngchương trtrììnhnh xxửử lýlý ttíínn hihiệệuu ngngắắtt llạạii khôngkhông ccóó trongtrong khkhốốii
OBOB tươngtương ứứngng..
 OB87OB87 (Communication Fault):(Communication Fault): ĐưĐượợcc ggọọii khikhi CPUCPU phpháátt
hihiệệnn ththấấyy llỗỗii trongtrong truytruyềềnn thôngthông,, vvíí ddụụ nhưnhư khôngkhông ccóó ttíínn
hihiệệuu trtrảả llờờii ttừừ đđốốii ttáácc..
 OB100OB100 (Start Up Information):(Start Up Information): ĐưĐượợcc ththựựcc hihiệệnn mmộộtt llầầnn
khikhi CPUCPU chuychuyểểnn trtrạạngng ththááii ttừừ STOP sang RUN.STOP sang RUN.
 OB121OB121 (Synchronous):(Synchronous): ĐưĐượợcc ththựựcc hihiệệnn khikhi CPUCPU phpháátt
hihiệệnn ththấấyy llỗỗii trongtrong chươngchương trtrììnhnh nhưnhư đđổổii saisai kikiểểuu ddữữ liliệệuu
hohoặặcc llỗỗii truytruy nhnhậậpp khkhốốii DB, FC, FBDB, FC, FB khôngkhông ccóó trongtrong bbộộ
nhnhớớ ccủủaa CPU.CPU.
 OB122OB122 (Synchronous error):(Synchronous error): ĐưĐượợcc ththựựcc hihiệệnn khikhi CPUCPU
phpháátt hihiệệnn ththấấyy llỗỗii truytruy nhnhậậpp modulemodule trongtrong chươngchương trtrììnn,,
vvíí ddụụ chươngchương trtrììnhnh ccóó llệệnhnh truytruy nhnhậậpp modulemodule vvààoo rara mmởở
rrộộngng nhưngnhưng llạạii khôngkhông ttììmm ththấấyy modulemodule nnààyy..
CHƯƠNGCHƯƠNG 33:: HƯHƯỚỚNG DNG DẪẪN SN SỬỬ DDỤỤNGNG
PHPHẦẦN MN MỀỀM LM LẬẬP TRÌNH PLC S7P TRÌNH PLC S7 -- 300300
3.1. Cài đặt Step7 V5.4
3.2. Khái niệm về một Project
3.3. Các bước soạn thảo một Project
3.4. Làm việc với PLC S7-300
3.1. Cài đặt Step7 V5.4: Làm việc trên máy
3.2. Khái niệm về một project
Một project gồm có các thành phần sau:
 Bảng cấu hình cứng về tất cả các module của từng
trạm PLC.
 Bảng tham số xác định chế độ làm việc cho từng
module
 Các logic block chứa chương trình ứng dụng
 Cấu hình ghép nối và truyền thông giữa các trạm PLC
 Các màn hình giao diện phục vụ việc giám sát toàn bộ
mạng hoặc giám sát từng trạm PLC của mạng
3.3.3.3. CCáácc bưbướớcc sosoạạnn ththảảoo mmộộtt projectproject
- Mở cửa sổ Step7 V5.4
- Khai báo cấu hình phần cứng cho trạm PLC
- Mặc định có sẵn khối OB1, nếu muốn sử dụng thêm
khối nào thì tiếp tục khai báo khối đó
- Đặt tên các đầu vào ra, các bit tương ứng (nếu cần)
trong “library”
- Viết chương trình trong khối OB1 bằng cách vào S7
program -> OB1
3.4. Làm việc với PLC S7 – 300
- Quy định địa chỉ MPI cho module CPU
- Ghi chương trình lên module CPU
- Giám sát việc thực hiện chương trình
- Giám sát module CPU
- Quan sát nội dung ô nhớ
Các thao tác trên được hướng dẫn và thao tác trực
tiếp trên máy tính.
CHƯƠNGCHƯƠNG 44: NGÔN NG: NGÔN NGỮỮ LLẬẬP TRÌNH STLP TRÌNH STL
4.1. Thanh ghi trạng thái (Status word)
Thanh ghi gồm 16 bits, chỉ sử dụng 9 bits với cấu trúc
sau:
- FC: FC=0 khi dãy lệnh logic tiếp điểm vừa được kết
thúc, ngược lại FC = 1
- RLO: kết quả tức thời của phép tính logic vừa được
thực hiện
- STA: Có giá trị logic của tiếp điểm được chỉ định trong
lệnh
4.1. Thanh ghi trạng thái (tt)
- OR: Ghi laïi giaù trò cuûa pheùp tính logic ^ cuoái cuøng
ñöôïc thöïc hieän ñeå phuï giuùp cho vieäc thöïc hieän pheùp
tínhⅴsau ñoù.
- 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
+ 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:
+ Khi thöïc hieän leänh dòch chuyeån:
+ Khi thöïc hieän leänh logic trong ACCU
4.1. Thanh ghi trạng thái (tt)
- 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å tạo 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
4.2.4.2. NhNhóómm llệệnhnh logiclogic titiếếpp điđiểểmm
4.2.1.4.2.1. LLệệnhnh ggáánn::
CCúú phpháápp:: = <= <totoáánn hhạạngng>>
ToToáánn hhạạngng llàà đđịịaa chchỉỉ bit I, Q, L, M, Dbit I, Q, L, M, D
LLệệnhnh ggáánn gigiáá trtrịị logiclogic ccảả RLORLO ttớớii ôô nhnhớớ ccóó đđịịaa chchỉỉ
đưđượợcc chchỉỉ ththịị trongtrong totoáánn hhạạngng
LLệệnhnh ttáácc đđộộngng vvààoo thanhthanh ghighi trtrạạngng ththááii nhưnhư sausau::
4.2.2.4.2.2. LLệệnhnh ththựựcc hihiệệnn phphéépp ttíínhnh ^^
CCúú phpháápp:: A <A <totoáánn hhạạngng>>
ToToáánn hhạạngng llàà ddữữ liliệệuu kikiểểuu BOOLBOOL hohoặặcc đđịịaa chchỉỉ bit I,bit I,
Q, M, L, D, T, C.Q, M, L, D, T, C.
NNếếuu FC = 0,FC = 0, llệệnhnh ssẽẽ ggáánn gigiáá trtrịị logiclogic ccủủaa totoáánn hhạạngng
vvààoo RLO.RLO. NgưNgượợcc llạạii ssẽẽ ththựựcc hihiệệnn phphéépp ttíínhnh ^^ gigiữữaa
RLORLO vvớớii totoáánn hhạạngng vvàà ghighi llạạii kkếếtt ququảả vvààoo RLO.RLO.
LLệệnhnh ttáácc đđộộngng vvààoo thanhthanh ghighi trtrạạngng ththááii nhưnhư sausau::
4.2.3.4.2.3. LLệệnhnh ththựựcc hihiệệnn phphéépp ttíínhnh ^^ vvớớii gigiáá trtrịị
nghnghịịchch đđảảoo
CCúú phpháápp:: AN <AN <totoáánn hhạạngng>>
ToToáánn hhạạngng llàà ddữữ liliệệuu kikiểểuu BOOLBOOL hohoặặcc đđịịaa chchỉỉ bit I, Q,bit I, Q,
M, L, D, T, CM, L, D, T, C
NNếếuu FC=0,FC=0, llệệnhnh ssẽẽ ggáánn gigiáá trtrịị logiclogic nghnghịịchch đđảảoo ccủủaa
totoáánn hhạạngng vvààoo RLO.RLO. NgưNgượợcc llạạii,, ssẽẽ ththựựcc hihiệệnn phphéépp
ttíínhnh ^^ gigiữữaa RLORLO vvớớii gigiáá trtrịị nghnghịịchch đđảảoo ccủủaa totoáánn hhạạngng
vvàà ghighi kkếếtt ququảả vvààoo RLO.RLO.
LLệệnhnh ttáácc đđộộngng vvààoo thanhthanh ghighi trtrạạngng ththááii nhưnhư sausau::
4.2.4. Leänh thöïc hieän pheùp tính hôïp:
Cuù phaùp: O < 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 seõ thöïc hieän pheùp tính hôïp giöõa RLO
vôùi giaù trò nghòch ñaûo cuûa toaùn haïng vaø ghi laïi keát quaû
vaøo RLO.
Leänh taùc ñoäng vaøo thanh ghi traïng thaùi nhö sau:
4.2.5. Leänh thöïc hieän pheùp tính hôïp vôùi giaù trò
nghòch ñaûo
Cuù phaùp: ON < 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 nghòch ñaûo cuûa
toaùn haïng vaøo RLO. Ngöôïc laïi seõ thöïc hieän pheùp tính
hôïp giöõa RLO vôùi giaù trò nghòch ñaûo cuûa toaùn haïng vaø
ghi laïi keát quaû vaøo RLO.
Leänh taùc ñoäng vao thanh ghi traïng thaùi nhö sau:
4.2.6. Leänh thöïc hieän pheùp tính giao vôùi giaù trò
moät bieåu thöùc
Cuù phaùp: A (
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 seõ thöïc hieän
pheùp tính giao giöõa RLO vôùi giaù trò logic cuûa bieåu thöùc
trong daáu ngoaëc sau noù ghi laïi keát quaû vaøo RLO.
Leänh seõ taùc ñoäng vaøo thanh ghi traïng thaùi nhö sau:
4.2.7. Leänh thöïc hieän pheùp tính hôïp vôùi giaù trò
moät bieåu thöùc
Cuù phaùp: O (
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 seõ thöïc hieän
pheùp tính hôïp giöõa RLO vôùi giaù trò logic cuûa bieåu thöùc
trong daáu ngoaëc sau noù ghi laïi keát quaû vaøo RLO.
Leänh taùc ñoäng vaøo thanh ghi traïng thaùi nhö sau:
4.2.8. 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 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.
Leänh taùc ñoäng vaøo thanh ghi traïng thaùi nhö sau:
4.2.9. 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
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.
Leänh taùc ñoäng vaøo thanh ghi traïng thaùi nhö sau:
4.2.10. 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 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.
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 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ì ghi 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.
4.2.11. 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
4.2.12. 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 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 taùc ñoäng vaøo thanh ghi traïng thaùi nhö sau:
4.2.13. 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 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 taùc ñoäng vaøo thanh ghi traïng thaùi nhö sau:
4.2.14. 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
4.2.15. 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
4.2.16. 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
4.2.17. 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
4.2.18. 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
4.2.19. 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 RLO seõ 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
4.2.20. Leänh phaùt hieän söôøn xuoáng
Cuù phaùp: FN < 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ò 1 vaø RLO coù giaù trò 0 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 RLO seõ coù giaù trò 1 trong voøng queùt khi coù
söôøn xuoáng trong RLO.
4.3. Leänh ñoïc, ghi vaø ñaûo vò trí bytes trong
thanh ghi ACCU
Caùc CPU cuûa S7-300 thöôøng coù hai thanh ghi
Accumulator (ACCU), kí hieäu laø ACCU1 vaø ACCU2.
Hai thanh ghi ACCU coù cuøng kích thöôùc 32 bits (1
töø keùp). Moïi pheùp tính toaùn treân soá thöïc, soá nguyeân,
caùc pheùp tính logic vôùi maûng nhieàu bit… ñeàu ñöôïc thöïc
hieän treân hai thanh ghi naøy
4.3.1. Leänh ñoïc vaøo ACCU
Cuù phaùp: L < Toaùn haïng >
Toaùn haïng laø döõ lieäu (soá nguyeân, thöïc, nhò phaân) hoaëc
ñòa chæ
Taùc duïng: chuyeån noäi dung cuûa oâ nhôù coù ñòa chæ laø toaùn
haïng vaøo thanh ghi ACCU1. Noäi dung cuõ cuûa ACCU1
ñöôïc chuyeån vaøo ACCU2. Trong tröôøng hôïp giaù trò
chuyeån vaøo nhoû hôn töø keùp thì chuùng seõ ñöôïc ghi vaøo
theo thöù töï Byte thaáp cuûa töø thaáp, Byte thaáp cuûa töø cao,
Byte cao cuûa töø cao. Những Bit coøn troáng trong ACCU1
ñöôïc ghi 0.
4.3.2. Leänh chuyeån noäi dung cuûa ACCU tôùi oâ nhôù
Cuù phaùp: T < Toaùn haïng >
Toaùn haïng laø ñòa chæ:
- Byte IB,QB,PIB,MB,LB,DBB,DIB trong khoaûng 0 -
255
- Töø IW,QW,PIW,MW,LW,DBW,DIW trong khoaûng 0
- 216 - 1
- Töø keùp ID,QD,PID,MD,LD,DBD,DID trong khoaûng
0 – 232-1
Tác dụng: Leänh chuyeån noäi dung cuûa ACCU1 vaøo oâ
nhôù coù ñòa chæ laø toaùn haïng
4.3.3. Leänh ñoïc noäi dung thanh ghi traïng thaùi
vaøo ACCU1
Cuù phaùp: L STW
Tác dụng: Leänh chuyeån noäi dung thanh ghi traïng thaùi
vaøo töø thaáp cuûa ACCU1
4.3.4. Leänh ghi noäi dung cuûa ACCU1 vaøo
thanh ghi traïng thaùi
Cuù phaùp: T STW
Tác dụng: Leänh chuyeån 9 bits cuûa töø thaáp cuûa ACCU1
vaøo thanh ghi traïng thaùi
4.3.5. Leänh chuyeån noäi dung cuûa ACCU2 vaøo ACCU1
Cuù phaùp: POP
Tác dụng: Leänh chuyeån noäi dung cuûa ACCU2 vaøo
ACCU1, noäi dung cuûa thanh ghi ACCU2 khoâng ñoåi.
4.3.6. Leänh chuyeån noäi dung cuûa ACCU1 vaøo ACCU2
Cuù phaùp: PUSH
Tác dụng: Leänh chuyeån noäi dung cuûa ACCU1 vaøo
ACCU2, noäi dung cuûa thanh ghi ACCU1 khoâng ñoåi.
4.3.7. Leänh ñaûo noäi dung cuûa hai thanh ghi ACCU1 vaø
ACCU2
Cuù phaùp: TAK
Tác dụng: Leänh chuyeån noäi dung cuûa ACCU1 vaøo
ACCU2 vaø ngöôïc laïi.
4.3.8. Leänh ñaûo noäi dung hai Byte cuûa töø thaáp
trong thanh ghi ACCU1
Cuù phaùp: CAW
Tác dụng: Đaûo noäi dung hai byte cuûa töø thaáp trong
thanh ghi ACCU1.
4.3.9. Leänh ñaûo noäi dung caùc Byte trong thanh
ghi ACCU1
Cuù phaùp: CAD
Tác dụng:Đaûo noäi dung taát caû 4 Byte trong thanh ghi
ACCU1.
Tác dụng: Đaûo noäi dung taát caû caùc Bits trong töø thaáp
cuûa thanh ghi ACCU1.
4.3.11. Leänh ñaûo giaù trò caùc Bits trong thanh
ghi ACCU1
Cuù phaùp: INVD
Tác dụng: Đaûo noäi dung taát caû caùc Bits trong thanh ghi
ACCU1.
4.3.10. Leänh ñaûo giaù trò caùc Bits trong töø thaáp
cuûa thanh ghi ACCU1
Cuù phaùp: INVI
4.4. Caùc leänh Logic thöïc hieän
treân thanh ghi ACCU
4.4.1. 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
4.4.2. 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.
4.4.3. 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
4.4.4. 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.
4.4.5. 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.
- 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.
4.4.6. 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.5. Nhoùm leänh taêng giaûm noäi dung
thanh ghi ACCU
4.5.1. 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.
4.5.2. 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.
4.6. Nhoùm leänh dòch chuyeån noäi dung
thanh ghi ACCU
4.6.1. Leänh xoay troøn caùc bits cuûa ACCU1
theo chieàu traùi
Cuù phaùp: RLD [ < toaùn haïng > ]
Lệnh có thể có hoặc không có toán hạng
+Nếu có toán hạng
+Nếu không có toán hạng
4.6.2. Leänh xoay troøn ACCU1 theo chieàu traùi
1 bit
Cuù phaùp: RLDA
Leänh khoâng coù toaùn haïng
Leänh thöïc hieän xoay troøn theo chieàu traùi 1 bit. Bit thöù
31 (bit cuoái) bò ñaåy ra khoûi ACCU1 ñöôïc ghi vaøo CC1,
noäi dung bit CC1 ñöôïc chuyeån vaøo bit 0 (bit ñaàu tieân).
4.6.3. Leänh xoay troøn caùc bits cuûa ACCU1 theo
chieàu phaûi
Cuù phaùp: RRD [ < toaùn haïng > ]
Leänh coù theå coù hoaëc khoâng coù toaùn haïng
4.6.4. Leänh xoay troøn ACCU1 theo chieàu phaûi 1
bit
Cuù phaùp: RRDA
Leänh khoâng coù toaùn haïng
4.6.5. Leänh dòch traùi caùc bits cuûa töø thaáp cuûa ACCU1
Cuù phaùp: SLW [ < toaùn haïng > ]
Leänh coù theå coù hoaëc khoâng coù toaùn haïng
4.6.6. Leänh dòch traùi caùc bits cuûa ACCU1
Cuù phaùp: SLD [ < toaùn haïng > ]
Leänh coù theå coù hoaëc khoâng coù toaùn haïng
4.6.7. 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.
4.6.8. 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.
4.6.9. 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.
4.6.10. 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.
4.7. Nhoùm leänh so saùnh soá nguyeân 16 bits
Nhóm lệnh này tác động vào thanh ghi trạng thái như
sau:
4.7.1. Leänh so saùnh 2 soá nguyeân 16 bits
Cuù phaùp: = = I
Leänh khoâng coù toaùn haïng .
Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá nguyeân
16 bits naèm trong hai töø thaáp trong hai thanh ghi
ACCU1 vaø ACCU2.
+ Neáu soá nguyeân trong töø thaáp cuûa ACCU1 coù
noäi dung gioáng nhö soá nguyeân trong töø thaáp cuûa
ACCU2 thì bit traïng thaùi RLO seõ nhaän giaù trò 1
+ Ngöôïc laïi, seõ coù giaù trò 0.
4.7.2. Leänh so saùnh khoâng baèng nhau 2 soá
nguyeân 16 bits
Cuù phaùp: <> I
Leänh khoâng coù toaùn haïng.
Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá nguyeân
16 bits naèm trong hai töø thaáp trong hai thanh ghi
ACCU1 vaø ACCU2.
+ Neáu soá nguyeân trong töø thaáp cuûa ACCU1 coù
noäi dung khaùc soá nguyeân trong töø thaáp cuûa ACCU2 thì
bit traïng thaùi RLO seõ nhaän giaù trò 1.
+ Ngöôïc laïi, seõ coù giaù trò 0.
4.7.3. Leänh so saùnh lôùn hôn 2 soá nguyeân 16
bits
Cuù phaùp: >I
Leänh khoâng coù toaùn haïng.
Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá nguyeân
16 bits naèm trong hai töø thaáp trong hai thanh ghi
ACCU1 vaø ACCU2.
+ Neáu soá nguyeân trong töø thaáp cuûa ACCU2 lôùn
hôn soá nguyeân trong töø thaáp cuûa ACCU1 thì bit traïng
thaùi RLO seõ nhaän giaù trò 1.
+ Ngöôïc laïi, seõ coù giaù trò 0.
4.7.4. Leänh so saùnh nhoû hôn 2 soá nguyeân 16
bits
Cuù phaùp: < I
Leänh khoâng coù toaùn haïng.
Leänh thöïc hieän pheùp so saùnh hai soá nguyeân 16 bits
naèm trong hai töø thaáp trong hai thanh ghi ACCU1 vaø
ACCU2.
+ Neáu soá nguyeân trong töø thaáp cuûa ACCU2 nhoû
hôn soá nguyeân trong töø thaáp cuûa ACCU1 thì bit traïng
thaùi RLO seõ nhaän giaù trò 1
+ Ngöôïc laïi seõ coù giaù trò 0.
4.7.5. Lệnh so sánh lớn hơn hoặc bằng 2 số
nguyên 16 bits
Cuù phaùp: >= I
Leänh khoâng coù toaùn haïng.
Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá nguyeân
16 bits naèm trong hai töø thaáp trong hai thanh ghi
ACCU1 vaø ACCU2.
+ Neáu soá nguyeân trong töø thaáp cuûa ACCU2 lôùn
hôn hoaëc baèng soá nguyeân trong töø thaáp cuûa ACCU1 thì
bit traïng thaùi RLO seõ nhaän giaù trò 1
+ Ngöôïc laïi seõ coù giaù trò 0.
4.7.6. Leänh so saùnh beù hôn hoaëc baèng 2 soá
nguyeân 16 bits
Cuù phaùp: <= I
Leänh khoâng coù toaùn haïng.
Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá nguyeân
16 bits naèm trong hai töø thaáp trong hai thanh ghi
ACCU1 vaø ACCU2.
+ Neáu soá nguyeân trong töø thaáp cuûa ACCU2 beù
hôn hoaëc baèng soá nguyeân trong töø thaáp cuûa ACCU1 thì
bit traïng thaùi RLO seõ nhaän giaù trò 1
+ Ngöôïc laïi seõ coù giaù trò 0.
4.8. Nhoùm leänh so saùnh soá nguyeân 32 bits
Nhóm lệnh này tác động vào thanh ghi trạng thái như
sau:
4.8.1. Leänh so saùnh 2 soá nguyeân 32 bits
Cuù phaùp: = = D
Leänh khoâng coù toaùn haïng.
Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá nguyeân
32 bits naèm trong hai thanh ghi ACCU1 vaø ACCU2.
+ Neáu soá nguyeân trong thanh ghi ACCU1 coù noäi
dung gioáng nhö soá nguyeân trong thanh ghi ACCU2 thì
bit traïng thaùi RLO seõ nhaän giaù trò 1
+ Ngöôïc laïi seõ coù giaù trò 0.
4.8.2. Leänh so saùnh khoâng baèng nhau 2 soá
nguyeân 32 bits
Cuù phaùp: <> D
Leänh khoâng coù toaùn haïng.
Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá nguyeân
32 bits naèm trong hai thanh ghi ACCU1 vaø ACCU2.
+ Neáu soá nguyeân trong thanh ghi ACCU1 coù noäi
dung khaùc soá nguyeân trong thanh ghi ACCU2 thì bit
traïng thaùi RLO seõ nhaän giaù trò 1
+ Ngöôïc laïi seõ coù giaù trò 0.
4.8.3. Leänh so saùnh lôùn hôn 2 soá nguyeân 32 bits
Cuù phaùp: >D
Leänh khoâng coù toaùn haïng.
Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá nguyeân 32
bits naèm trong hai thanh ghi ACCU1 vaø ACCU2.
+ Neáu soá nguyeân trong thanh ghi ACCU2 lôùn hôn
soá nguyeân trong thanh ghi ACCU1 thì bit traïng thaùi RLO
seõ nhaän giaù trò 1
+ Ngöôïc laïi seõ coù giaù trò 0.
4.8.4. Leänh so saùnh nhoû hôn 2 soá nguyeân 32
bits
Cuù phaùp: < D
Leänh khoâng coù toaùn haïng.
Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá nguyeân
32 bits naèm trong hai thanh ghi ACCU1 vaø ACCU2.
+ Neáu soá nguyeân trong thanh ghi ACCU2 nhoû
hôn soá nguyeân trong thanh ghi ACCU1 thì bit traïng
thaùi RLO seõ nhaän giaù trò 1
+ Ngöôïc laïi seõ coù giaù trò 0.
4.8.5. Leänh so saùnh lôùn hôn hoaëc baèng 2 soá
nguyeân 32 bits
Cuù phaùp: >= D
Leänh khoâng coù toaùn haïng.
Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá nguyeân
32 bits naèm trong hai thanh ghi ACCU1 vaø ACCU2.
+ Neáu soá nguyeân trong thanh ghi ACCU2 lôùn
hôn hoaëc baèng soá nguyeân trong thanh ghi ACCU1 thì
bit traïng thaùi RLO seõ nhaän giaù trò 1
+ Ngöôïc laïi seõ coù giaù trò 0.
4.8.6. Leänh so saùnh beù hôn hoaëc baèng 2 soá
nguyeân 32 bits
Cuù phaùp: <= D
Leänh khoâng coù toaùn haïng.
Leänh thöïc hieän pheùp so saùnh hai soá nguyeân 32 bits
naèm trong hai thanh ghi ACCU1 vaø ACCU2.
+ Neáu soá nguyeân trong thanh ghi ACCU2 beù hôn
hoaëc baèng soá nguyeân trong thanh ghi ACCU1 thì bit
traïng thaùi RLO seõ nhaän giaù trò 1
+ Ngöôïc laïi seõ coù giaù trò 0.
4.9. Nhoùm leänh so saùnh soá thöïc 32 bits
Nhóm lệnh này tác động vào thanh ghi trạng thái như
sau:
4.9.1. Leänh so saùnh 2 soá thöïc 32 bits
Cuù phaùp: = = R
Leänh khoâng coù toaùn haïng.
Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá thöïc 32
bits naèm trong hai thanh ghi ACCU1 vaø ACCU2.
+ Neáu soá thöïc trong thanh ghi ACCU1 coù noäi
dung gioáng nhö soá thöïc trong thanh ghi ACCU2 thì bit
traïng thaùi RLO seõ nhaän giaù trò 1
+ Ngöôïc laïi seõ coù giaù trò 0.
4.9.2. Leänh so saùnh khoâng baèng nhau 2 soá thöïc
32 bits
Cuù phaùp: <> R
Leänh khoâng coù toaùn haïng.
Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá thöïc 32
bits naèm trong hai thanh ghi ACCU1 vaø ACCU2.
+ Neáu soá thöïc trong thanh ghi ACCU1 coù noäi
dung khaùc soá thöïc trong thanh ghi ACCU2 thì bit traïng
thaùi RLO seõ nhaän giaù trò 1
+ Ngöôïc laïi seõ coù giaù trò 0.
4.9.3. Leänh so saùnh lôùn hôn 2 soá thöïc 32 bits
Cuù phaùp: >R
Leänh khoâng coù toaùn haïng.
Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá thöïc 32
bits naèm trong hai thanh ghi ACCU1 vaø ACCU2.
+ Neáu soá thöïc trong thanh ghi ACCU2 lôùn hôn
soá thöïc trong thanh ghi ACCU1 thì bit traïng thaùi RLO
seõ nhaän giaù trò 1
+ Ngöôïc laïi seõ coù giaù trò 0.
4.9.4. Leänh so saùnh nhoû hôn 2 soá thöïc 32 bits
Cuù phaùp: < R
Leänh khoâng coù toaùn haïng .
Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá thöïc 32
bits naèm trong hai thanh ghi ACCU1 vaø ACCU2.
+ Neáu soá thöïc trong thanh ghi ACCU2 nhoû hôn
soá thöïc trong thanh ghi ACCU1 thì bit traïng thaùi RLO
seõ nhaän giaù trò 1
+ Ngöôïc laïi seõ coù giaù trò 0.
4.9.5. Leänh so saùnh lôùn hôn hoaëc baèng 2 soá
thöïc 32 bits
Cuù phaùp: >= R
Leänh khoâng coù toaùn haïng.
Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá thöïc 32
bits naèm trong hai thanh ghi ACCU1 vaø ACCU2.
+ Neáu soá thöïc trong thanh ghi ACCU2 lôùn hôn
hoaëc baèng soá thöïc trong thanh ghi ACCU1 thì bit traïng
thaùi RLO seõ nhaän giaù trò 1
+ Ngöôïc laïi seõ coù giaù trò 0.
4.9.6. Leänh so saùnh beù hôn hoaëc baèng 2 soá thöïc
32 bits
Cuù phaùp: <= R
Leänh khoâng coù toaùn haïng.
Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá thöïc 32
bits naèm trong hai thanh ghi ACCU1 vaø ACCU2.
+ Neáu soá thöïc trong thanh ghi ACCU2 beù hôn
hoaëc baèng soá thöïc trong thanh ghi ACCU1 thì bit traïng
thaùi RLO seõ nhaän giaù trò 1
+ Ngöôïc laïi seõ coù giaù trò 0.
4.10. Caùc leänh toaùn hoïc
Nhóm lệnh toán học này tác động vào thanh ghi trạng
thái như sau:
4.10.1. Nhoùm leänh laøm vieäc vôùi soá nguyeân 16 bits
Leänh coäng:
Cuù phaùp: + I
Tác dụng: Leänh thöïc hieän pheùp coäng hai soá nguyeân naèm trong töø
thaáp cuûa ACCU1 vaø ACCU2.
Keát quaû ñöôïc ghi laïi vaøo töø thaáp cuûa ACCU1.
Noäi dung cuûa thanh ghi ACCU2 khoâng bò thay ñoåi.
Neáu giaù trò vöôït tầm -32768 – 32767 thì hai bit OV và OS sẽ cùng
nhận giá trị 1.
Leänh tröø:
Cuù phaùp: - I
Tác dụng: Leänh thöïc hieän pheùp tröø hai soá nguyeân naèm trong töø
thaáp cuûa ACCU1 vaø ACCU2.
Keát quaû ñöôïc ghi laïi vaøo töø thaáp cuûa ACCU1.
Noäi dung cuûa thanh ghi ACCU2 khoâng bò thay ñoåi.
Neáu giaù trò vöôït tầm -32768 – 32767 thì hai bit OV và OS sẽ cùng
nhận giá trị 1.
Leänh nhaân:
Cuù phaùp: * I
Tác dụng: Leänh thöïc hieän pheùp nhaân hai soá nguyeân naèm trong töø
thaáp cuûa ACCU1 vaø ACCU2.
Keát quaû laø soá nguyeân 32 Bits ñöôïc ghi laïi vaøo thanh ghi ACCU1.
Noäi dung cuûa thanh ghi ACCU2 khoâng bò thay đổi.
Neáu giaù trò vöôït tầm -32768 – 32767 thì hai bit OV và OS sẽ cùng
nhận giá trị 1.
Lệnh chia:
Cú pháp: / I
Tác dụng: Leänh thöïc hieän pheùp chia hai soá nguyeân naèm trong töø
thaáp cuûa ACCU2 cho töø thaáp cuûa ACCU1.
Keát quaû ñöôïc ghi laïi vaøo töø thaáp cuûa ACCU1, phaàn dö ñöôïc ghi
vaøo töø cao thanh ghi ACCU1.
Neáu giaù trò vöôït tầm -32768 – 32767 thì hai bit OV và OS sẽ cùng
nhận giá trị 1.
4.10.2. Nhoùm leänh laøm vieäc vôùi soá nguyeân 32
bits
Leänh coäng:
Cuù phaùp: + D
Tác dụng: Leänh thöïc hieän pheùp coäng hai soá nguyeân 32 bit naèm
trong hai thanh ghi ACCU1 vaø ACCU2.
Keát quaû ñöôïc ghi laïi vaøo thanh ghi ACCU1.
Noäi dung cuûa thanh ghi ACCU2 khoâng bò thay ñoåi.
Neáu giaù trị vượt tầm (-2147483648, 2147483648) thì OV vaø OS seõ
cuøng nhaän giaù trò laø 1.Leänh tröø:
Cuù phaùp: - D
Tác dụng: Leänh thöïc hieän pheùp tröø hai soá nguyeân 32 bit naèm
trong hai thanh ghi ACCU1 vaø ACCU2.
Keát quaû ñöôïc ghi laïi vaøo thanh ghi ACCU1.
Noäi dung cuûa thanh ghi ACCU2 khoâng bò thay ñoåi.
Neáu giaù trị vượt tầm (-2147483648, 2147483648) thì OV vaø OS
seõ cuøng nhaän giaù trò laø 1.
Leänh nhaân:
Cuù phaùp: * D
Leänh thöïc hieän pheùp nhaân hai soá nguyeân 32 bits trong hai thanh
ghi ACCU1 vaø ACCU2.
Keát quaû laø soá nguyeân 32 Bits ñöôïc ghi laïi vaøo thanh ghi ACCU1.
Noäi dung cuûa thanh ghi ACCU2 khoâng bò thay đổi. Neáu giaù trị
vượt tầm (-2147483648, 2147483648) thì OV và OS sẽ cùng nhận
giá trị là 1.
Leänh chia:
Cuù phaùp: / D
Leänh thöïc hieän pheùp chia hai soá nguyeân 32 bits trong ACCU2
cho soá nguyeân 32 bits trong thanh ghi ACCU1.
Keát quaû laø soá nguyeân 32 bits seõ ñöôïc ghi laïi vaøo thanh ghi
ACCU1.
Neáu giá trị vượt tầm (-2147483648 , 2147483648) thì hai bit OV
vaø OS seõ cuøng nhaän giaù trò laø 1.
Leänh laáy phaàn dö:
Cuù phaùp: MOD
Leänh khoâng coù toaùn haïng
Tác dụng: Xaùc ñònh phaàn dö cuûa pheùp chia soá nguyeân
32 bits trong ACCU2 cho soá nguyeân 32 bits trong
ACCU1.
Keát quaû laø soá nguyeân 32 bits ñöôïc ghi laïi vaøo ACCU1.
Neáu giaù trò vöôït tầm (-2147483648, 2147483648) thì hai
bit OV và OS seõ cuøng nhaän giaù trò laø 1.
4.11. Caùc leänh ñieàu khieån chöông trình
4.11.1. Nhoùm leänh keát thuùc chöông trình
Leänh keát thuùc voâ ñieàu kieän:
Cuù phaùp: BEU
Leänh khoâng coù toaùn haïng
Tác dụng: Thöïc hieän keát thuùc chöông trình trong khoái
moät caùch voâ ñieàu kieän.
Leänh keát thuùc coù ñieàu kieän:
Cuù phaùp: BEC
Leänh khoâng coù toaùn haïng
Tác dụng: Thöïc hieän keát thuùc chöông trình trong khoái
neáu nhö RLO coù giaù trò baèng 1.
4.12.1. Nhoùm leänh reõ nhaùnh theo bit traïng thaùi
Tác dụng: Nhaèm boû qua moät ñoaïn chöông trình ñeå tôùi
ñoaïn chöông trình khaùc ñöôïc ñaùnh daáu baèng nhaõn neáu
ñieàu kieän kieåm tra trong thanh ghi traïng thaùi ñöôïc thoaû
maõn.
Nôi leänh nhaûy tôùi phaûi thuoäc cuøng moät khoái chöông
trình vôùi leänh.
Nhaõn laø moät daõy vôùi nhieàu nhaát 4 kí töï hoaëc soá vaø phaûi
ñöôïc baét ñaàu baèng moät kí töï.
Khoaûng caùch böôùc nhaûy tính theo oâ nhôù chöông trình
phaûi ít hôn 32767 töø.
Nôi nhaûy ñeán coù theå naèm tröôùc hay naèm sau leänh nhaûy.
Reõ nhaùnh khi BR=1
Cuù phaùp: JBI < nhaõn >
Leänh seõ thöïc hieän vieäc nhaûy tôùi Nhaõn neáu nhö Bit BR
trong thanh ghi traïng thaùi baèng 1
Reõ nhaùnh khi BR=0
Cuù phaùp: JNBI < nhaõn >
Leänh seõ thöïc hieän vieäc nhaûy tôùi Nhaõn neáu nhö Bit BR
trong thanh ghi traïng thaùi baèng 0
Reõ nhaùnh khi RLO=1
Cuù phaùp: JC < nhaõn >
Leänh seõ thöïc hieän vieäc nhaûy tôùi Nhaõn neáu nhö Bit
RLO trong thanh ghi traïng thaùi baèng 1
Reõ nhaùnh khi RLO=0
Cuù phaùp: JCN < nhaõn >
Leänh seõ thöïc hieän vieäc nhaûy tôùi Nhaõn neáu nhö Bit
RLO trong thanh ghi traïng thaùi baèng 0
Reõ nhaùnh khi CC1=0 vaø CC0=1
Cuù phaùp: JM < nhaõn >
Leänh seõ thöïc hieän vieäc nhaûy tôùi Nhaõn neáu nhö Bit (
CC1 = 0 vaø CC0 = 1). Noù ñöôïc söû duïng ñeå reõ nhaùnh
neáu nhö pheùp tính tröôùc ñoù coù keát quaû aâm.
Reõ nhaùnh khi CC1=1 vaø CC0=0
Cuù phaùp: JP < nhaõn >
Leänh seõ thöïc hieän vieäc nhaûy tôùi Nhaõn neáu nhö Bit (
CC1 = 1 vaø CC0 = 0). Noù ñöôïc söû duïng ñeå reõ nhaùnh
neáu nhö pheùp tính tröôùc ñoù coù keát quaû döông.
Reõ nhaùnh khi CC1=0 vaø CC0=0
Cuù phaùp: JZ < nhaõn >
Leänh seõ thöïc hieän vieäc nhaûy tôùi Nhaõn neáu nhö Bit ( CC1 = 0
vaø CC0 = 0). Noù ñöôïc söû duïng ñeå reõ nhaùnh neáu nhö pheùp
tính tröôùc ñoù coù keát quaû baèng 0.
Reõ nhaùnh khi CC1 khaùc CC0
Cuù phaùp: JN < nhaõn >
Leänh seõ thöïc hieän vieäc nhaûy tôùi Nhaõn neáu nhö Bit ( CC1
khaùc CC0). Noù ñöôïc söû duïng ñeå reõ nhaùnh neáu nhö pheùp tính
tröôùc ñoù coù keát quaû khaùc 0.
Reõ nhaùnh khi CC1=CC0=0 hoaëc (CC1=0 vaø CC0=1)
Cuù phaùp: JMZ < nhaõn >
Leänh seõ thöïc hieän vieäc nhaûy tôùi Nhaõn neáu nhö Bit ( CC1
=CC0= 0 hoaëc (CC1=0 vaø CC0 = 1)). Noù ñöôïc söû duïng ñeå reõ
nhaùnh neáu nhö pheùp tính tröôùc ñoù coù keát quaû laø moät soá khoâng
döông.
Reõ nhaùnh khi CC1=CC0=0 hoaëc (CC1=1 vaø CC0=0)
Cuù phaùp: JPZ < nhaõn >
Leänh seõ thöïc hieän vieäc nhaûy tôùi Nhaõn neáu nhö Bit (
CC1 =CC0= 0 hoaëc (CC1=1 vaø CC0 = 0)).
Noù ñöôïc söû duïng ñeå reõ nhaùnh neáu nhö pheùp tính tröôùc
ñoù coù keát quaû laø moät soá khoâng aâm.
Reõ nhaùnh voâ ñieàu kieän
Cuù phaùp: JU < nhaõn >
Leänh seõ thöïc hieän vieäc nhaûy tôùi Nhaõn voâ ñieàu kieän
khoâng phuï thuoäc vaøo bit traïng thaùi naøo.
4.12. Leänh xoay voøng
Cuù phaùp: LOOP < nhaõn >
Khi gaëp leänh LOOP, CPU seõ töï giaûm noäi dung cuûa töø
thaáp trong thanh ghi ACCU1 ñi moät ñôn vò vaø kieåm tra
xem keát quaû coù baèng 0 hay khoâng.
Neáu keát quaû khaùc 0, CPU seõ thöïc hieän böôùc nhaûy ñeán
ñoaïn chöông trình ñöôïc ñaùnh daáu bôûi “nhãn”. Ngược
lại CPU sẽ thực hiện leänh keá tieáp.
Ñoaïn chöông trình naèm giöõa nhaõn vaø leänh LOOP seõ
ñöôïc thöïc hieän cho tôùi khi noäi dung thanh ghi ACCU1
baèng 0.
Leänh khoâng laøm thay ñoåi noäi dung cuûa thanh ghi traïng
thaùi
4.13. Leänh ñoåi kieåu döõ lieäu:
4.13.1. Chuyeån ñoåi soá BCD thaønh soá nguyeân
vaø ngöôïc laïi
Leänh chuyeån ñoåi BCD thaønh soá nguyeân 16 bits:
Cuù phaùp: BTI
Leänh khoâng coù toaùn haïng
Tác dụng: Chuyeån ñoåi moät soá BCD coù 3 chöõ soá naèm
trong 12 Bits ñaàu cuûa ACCU1 thaønh soá nguyeân 16 bits.
Keát quaû ñöôïc caát laïi vaøo 16 bits cuoái (töø thaáp) cuûa
ACCU1.
Leänh khoâng laøm thay ñoåi noäi dung cuûa thanh ghi traïng
thaùi.
Neáu soá BCD caàn chuyeån ñoåi coù caáu truùc sai, ví duï nhö
coù 1 chöõ soá 4 bits nhò phaân khoâng naèm trong khoaûng töø
0 ñeán 9, CPU seõ goïi chöông trình ngaét xöû lí loãi OB121
hoaëc chuyeån qua cheá ñoä Stop (neáu OB121 khoâng coù
chöông trình).
Leänh chuyeån ñoåi BCD thaønh soá nguyeân 32 bits:
Cuù phaùp: BTD
Leänh khoâng coù toaùn haïng
Tác dụng: Chuyeån ñoåi moät soá BCD coù 7 chöõ soá naèm
trong 28 Bits ñaàu cuûa ACCU1 thaønh soá nguyeân 32 bits.
Keát quaû ñöôïc caát laïi vaøo thanh ghi ACCU1.
Leänh khoâng laøm thay ñoåi noäi dung cuûa thanh ghi traïng
thaùi.
Leänh chuyeån ñoåi soá nguyeân 16 bits thaønh soá BCD:
Cuù phaùp: ITB
Leänh khoâng coù toaùn haïng
Tác dụng: Chuyeån ñoåi moät soá nguyeân 16 bits thaønh soá
BCD coù 3 chöõ soá.
Keát quaû ñöôïc caát laïi vaøo töø thaáp cuûa thanh ghi ACCU1.
Neáu soá nguyeân 16 bits caàn chuyeån ñoåi coù giaù trò tuyeät
ñoái lôùn hôn 999, CPU seõ thoâng baùo trong thanh ghi
traïng thaùi döôùi daïng keát quaû traøn.
Leänh chuyeån ñoåi soá nguyeân 32 bits thaønh soá BCD:
Cuù phaùp: DTB
Leänh khoâng coù toaùn haïng
Tác dụng: Chuyeån ñoåi moät soá nguyeân 32 bits thaønh soá
BCD coù 7 chöõ soá.
Keát quaû ñöôïc caát laïi vaøo thanh ghi ACCU1.
Neáu soá nguyeân 32 bits caàn chuyeån ñoåi coù giaù trò tuyeät
ñoái lôùn hôn 9999999, CPU seõ thoâng baùo trong thanh
ghi traïng thaùi döôùi daïng keát quaû traøn.
4.13.2. Chuyeån ñoåi soá nguyeân 16 bits thaønh soá
nguyeân 32 bits
Cuù phaùp: ITD
Leänh khoâng coù toaùn haïng
Tác dụng: Thöïc hieän vieäc chuyeån ñoåi moät soá nguyeân
16 bits trong töø thaáp cuûa ACCU1 thaønh soá nguyeân 32
bits.
Keát quaû ñöôïc caát vaøo laïi ACCU1.
Leänh khoâng laøm thay ñoåi noäi dung cuûa thanh ghi traïng
thaùi.
4.13.3. Chuyeån ñoåi soá nguyeân 32 bits thaønh soá
thöïc
Cuù phaùp: DTR
Leänh khoâng coù toaùn haïng
Tác dụng: Thöïc hieän vieäc chuyeån ñoåi moät soá nguyeân
32 bits trong thanh ghi ACCU1 thaønh soá thöïc.
Keát quaû ñöôïc caát vaøo laïi ACCU1.
Leänh khoâng laøm thay ñoåi noäi dung cuûa thanh ghi traïng
thaùi.
4.14. Boä thôøi gian ( Timer)
4.14.1. Nguyên tắc làm việc
Bộ thời gian (Timer) là bộ tạo thời gian trễ τ mong
muốn giữa tín hiệu logic đầu vào u(t) và tín hiệu logic
đầu ra y(t).
Thời gian trễ τ mong muốn được khai báo với Timer
bằng một giá trị 16 bits, bao gồm hai thành phần:
- Độ phân giải với đơn vị ms.
- Một số nguyên (BCD) trong khoảng 0 – 999
được gọi là PV (Preset Value)
Như vậy, thời gian τ mong muốn: τ = Độ phân giải*PV
4.14.2. Khai báo sử dụng:
Vieäc khai baùo söû duïng Timer 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 u(t)
-Khai baùo thôøi gian treã mong muoán
-Khai baùo loaïi Timer ñöôïc söû duïng
(SD,SS,SP,SE,SF)
-Khai baùo tín hieäu xoaù Timer neáu muoán söû duïng
cheá ñoä reset chuû ñoäng
Trong taát caû 5 böôùc treân, caùc böôùc 2, 3, 4 laø baét buoäc.
1. Khai baùo tín hieäu enable (chuû ñoäng kích)
Cuù phaùp: A < Ñòa chæ bit >
FR < teân Timer >
Toán hạng thứ nhất “Địa chỉ bit” xác định tín hiệu sẽ
được sử dụng làm tín hiệu chủ động kích cho Timer coù
teân trong toaùn haïng thöù hai.
2. Khai baùo tín ñaàu vaøo
Cuù phaùp: A < Ñòa chæ bit >
“Địa chỉ bit” trong toán hạng xác định tín hiệu đầu vào
u(t) cho Timer.
3. Khai baùo thôøi gian treã mong muoán
Cuù phaùp: L < haèng soá >
“Hằng số” trong toán hạng xác định giá trị thời gian treã
τ ñaët tröôùc cho Timer. Haèng soá naøy coù 2 daïng:
- S5T#giôøH_phuùtM_giaâyS_miligiaâyMS. Ñaây laø
daïng döõ lieäu thôøi gian tröïc tieáp.
- Daïng moät soá nguyeân 16 bits coù caáu truùc nhö
sau:
4. 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öôøn leâ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.
Những lệnh này tác động vào thanh ghi trạng thái như
sau:
5. Khai baùo tín hieäu xoaù (Reset)
Cuù phaùp: A < ñòa chæ bit >
R < Teân timer >
Toán hạng thứ nhất “Địa chỉ bit” xá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.
4.15. Boä ñeám ( Counter)
4.15.1. Nguyên tắc làm việc
Couter là bộ đếm thực hiện chức năng đếm sườn xung
của các tín hiệu đầu vào.
Ký hiệu: Cx
Trong đó, x là số nguyên trong khoảng từ 0-255
4.15.2. 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
1. Khai baùo tín hieäu enable (kích ñeám)
Cuù phaùp: A < Ñòa chæ bit >
FR < teân Counter >
Toán hạng thứ nhất “Địa chỉ bit” xác định tín hiệu sẽ
được sử dụng làm tín hiệu kích đếm cho boä ñeám coù teân
cho trong toaùn haïng thöù hai.
2. Khai baùo tín hieäu ñöôïc ñeám tieán theo söôøn leân
Cuù phaùp: A < Ñòa chæ bit >
CU < Teân Counter >
Toán hạng thứ nhất “Địa chỉ bit” xá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. 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ò.
3. Khai baùo tín hieäu ñöôïc ñeám luøi theo söôøn leân
Cuù phaùp: A < Ñòa chæ bit >
CD < Teân Counter >
Toán hạng thứ nhất “Địa chỉ bit” xá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.
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 ñi 1 ñôn vò.
4. Khai baùo tín hieäu ñaët (set) giaù trò ñaët tröôùc (PV)
Cuù phaùp: A < Ñòa chæ bit >
L C# < haèng soá >
S < Teân Counter >
5. Khai baùo tín hieäu xoaù (reset)
Cuù phaùp: A < Ñòa chæ bit >
R < Teân Counter >
Toán hạng thứ nhất “Địa chỉ bit”xá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à 0.
CHƯƠNG 5: KỸ THUẬT LẬP TRÌNH
5.1. Lập trình tuyến tính
5.2. Lập trình có cấu trúc
5.1. Lập trình tuyến tính
Kỹ thuật lập trình tuyến tính là phương pháp lập trình
mà toàn bộ chương trình ứng dụng sẽ chỉ nằm trong
một khối OB1.
Local block của OB1
Khi thực hiện khối OB1, hệ điều hành luôn cấp một
local block có kích thước mặc định là 20bytes trong
Work memory để OB1 có thể lấy được những dữ liệu từ
hệ điều hành.
Mặc dù kích thước chỉ là 20 bytes mặc định, nhưng
nguời sử dụng có thể mở rộng local block để sử dụng
thêm các biến nhớ cho chương trình.
Local block được giải phóng ở cuối mỗi vòng quét và
được cấp lại ở đầu vòng quét sau nên các giá trị có trong
local block của vòng quét trước cũng bị mất khi bắt đầu
vòng quét mới.
5.2. Lập trình có cấu trúc
Ngoài khối chương trình chính OB1, ta còn sử dụng
thêm các khối chương trình con OB, FB, FC.
 Trong một chương trình, khối OB1 luôn được quét
qua, còn các khối chương trình con khác chỉ được quét
khi có lệnh gọi đến nó.
 Khi có lệnh gọi, chương trình chính OB1 dừng tạm
thời, và chương trình con được gọi sẽ được thực hiện.
Sau khi thực hiện xong chương trình con, chu trình tiếp
tục quét dòng lệnh tiếp theo của OB1.
CHƯƠNGCHƯƠNG 66: B: BÀÀI TI TẬẬP THP THỰỰC HC HÀÀNHNH
6.1. Phân lo6.1. Phân loạại si sảản phn phẩẩm dm dùùng mng mộột ct cảảm bim biếếnn
6.2. Phân lo6.2. Phân loạại si sảản phn phẩẩm dm dùùng hai cng hai cảảm bim biếếnn
6.3.6.3. ĐĐếếm sm sốố ssảản phn phẩẩm dm dùùng mng mộột ct cảảm bim biếếnn
6.4. Phân lo6.4. Phân loạại vi vàà đđếếm sm sảản phn phẩẩm dm dùùng hai cng hai cảảm bim biếếnn
6.5. Hi6.5. Hiểển thn thịị ssốố ssảản phn phẩẩm trên led 7m trên led 7 đođoạạnn
6.6.6.6. ĐiĐiềều khiu khiểển đn đèèn giao thôngn giao thông

More Related Content

What's hot

Tài liệu PCL tổng hợp
Tài liệu PCL tổng hợpTài liệu PCL tổng hợp
Tài liệu PCL tổng hợp
Minh Hoàng
 
Bài tập kiến trúc máy tính
Bài tập kiến trúc máy tínhBài tập kiến trúc máy tính
Bài tập kiến trúc máy tính
Ha Nguyen
 
Tai lieu lap trinh plc s7 200 full
Tai lieu lap trinh plc s7 200 fullTai lieu lap trinh plc s7 200 full
Tai lieu lap trinh plc s7 200 full
vo long
 
Hid usb pic18 f4550
Hid usb pic18 f4550Hid usb pic18 f4550
Hid usb pic18 f4550
thanhk33
 
Tai lieu lap trinh plc s7 200 full-01_2011_v1
Tai lieu lap trinh plc s7 200 full-01_2011_v1Tai lieu lap trinh plc s7 200 full-01_2011_v1
Tai lieu lap trinh plc s7 200 full-01_2011_v1
cuongcungdfdfdf
 

What's hot (20)

mạch tổ hợp và mạch trình tự - Điện tử Đo lường
mạch tổ hợp và mạch trình tự - Điện tử Đo lườngmạch tổ hợp và mạch trình tự - Điện tử Đo lường
mạch tổ hợp và mạch trình tự - Điện tử Đo lường
 
Vxl ch03-8051-3.1 3.2-v03
Vxl ch03-8051-3.1 3.2-v03Vxl ch03-8051-3.1 3.2-v03
Vxl ch03-8051-3.1 3.2-v03
 
Các chức năng chuyên dùng trên PLC S7- 200 - bộ môn tự động đo lường
Các chức năng chuyên dùng trên PLC S7- 200 - bộ môn tự động đo lườngCác chức năng chuyên dùng trên PLC S7- 200 - bộ môn tự động đo lường
Các chức năng chuyên dùng trên PLC S7- 200 - bộ môn tự động đo lường
 
Tự học PLC CP1L
Tự học PLC CP1LTự học PLC CP1L
Tự học PLC CP1L
 
Ứng dụng PLC S7 200 đo, điều khiển và cảnh báo nhiệt độ trong lò
Ứng dụng PLC S7 200 đo, điều khiển và cảnh báo nhiệt độ trong lòỨng dụng PLC S7 200 đo, điều khiển và cảnh báo nhiệt độ trong lò
Ứng dụng PLC S7 200 đo, điều khiển và cảnh báo nhiệt độ trong lò
 
Bài tập và ứng dụng PLC
Bài tập và ứng dụng PLCBài tập và ứng dụng PLC
Bài tập và ứng dụng PLC
 
Cac lenh lap trinh ladder
Cac lenh lap trinh ladderCac lenh lap trinh ladder
Cac lenh lap trinh ladder
 
Tài liệu PCL tổng hợp
Tài liệu PCL tổng hợpTài liệu PCL tổng hợp
Tài liệu PCL tổng hợp
 
Kiến trúc máy tính và hợp ngữ bài 07
Kiến trúc máy tính và hợp ngữ bài 07Kiến trúc máy tính và hợp ngữ bài 07
Kiến trúc máy tính và hợp ngữ bài 07
 
Kiến trúc máy tính và hợp ngữ bài 05
Kiến trúc máy tính và hợp ngữ bài 05Kiến trúc máy tính và hợp ngữ bài 05
Kiến trúc máy tính và hợp ngữ bài 05
 
Bài tập kiến trúc máy tính
Bài tập kiến trúc máy tínhBài tập kiến trúc máy tính
Bài tập kiến trúc máy tính
 
Ngôn ngữ lập trình ứng dụng
Ngôn ngữ lập trình ứng dụngNgôn ngữ lập trình ứng dụng
Ngôn ngữ lập trình ứng dụng
 
Tai lieu lap trinh plc s7 200 full
Tai lieu lap trinh plc s7 200 fullTai lieu lap trinh plc s7 200 full
Tai lieu lap trinh plc s7 200 full
 
[Cntt] bài giảng kĩ thuật vi xử lí
[Cntt] bài giảng kĩ thuật vi xử lí[Cntt] bài giảng kĩ thuật vi xử lí
[Cntt] bài giảng kĩ thuật vi xử lí
 
Hid usb pic18 f4550
Hid usb pic18 f4550Hid usb pic18 f4550
Hid usb pic18 f4550
 
Luận văn: Chương trình WinCC kết hợp vói các PLC, HAY
Luận văn: Chương trình WinCC kết hợp vói các PLC, HAYLuận văn: Chương trình WinCC kết hợp vói các PLC, HAY
Luận văn: Chương trình WinCC kết hợp vói các PLC, HAY
 
Tim hieu thanh ghi in asm
Tim hieu thanh ghi in asmTim hieu thanh ghi in asm
Tim hieu thanh ghi in asm
 
Tập lệnh plc họ melsec fx series của mitsubishi
Tập lệnh plc họ melsec fx series của mitsubishiTập lệnh plc họ melsec fx series của mitsubishi
Tập lệnh plc họ melsec fx series của mitsubishi
 
Đồ án tốt nghiệp điện tử Điều khiển và giám sát thiết bị điện gia đình - sdt/...
Đồ án tốt nghiệp điện tử Điều khiển và giám sát thiết bị điện gia đình - sdt/...Đồ án tốt nghiệp điện tử Điều khiển và giám sát thiết bị điện gia đình - sdt/...
Đồ án tốt nghiệp điện tử Điều khiển và giám sát thiết bị điện gia đình - sdt/...
 
Tai lieu lap trinh plc s7 200 full-01_2011_v1
Tai lieu lap trinh plc s7 200 full-01_2011_v1Tai lieu lap trinh plc s7 200 full-01_2011_v1
Tai lieu lap trinh plc s7 200 full-01_2011_v1
 

Similar to Plc s7300

Tài liệu tham khảo lập trình PLC Mitsubishi dòng IQ-R.pdf
Tài liệu tham khảo lập trình PLC Mitsubishi dòng IQ-R.pdfTài liệu tham khảo lập trình PLC Mitsubishi dòng IQ-R.pdf
Tài liệu tham khảo lập trình PLC Mitsubishi dòng IQ-R.pdf
Man_Ebook
 
Nmlt c03 cac_kieudulieucoso_in
Nmlt c03 cac_kieudulieucoso_inNmlt c03 cac_kieudulieucoso_in
Nmlt c03 cac_kieudulieucoso_in
Huy Nguyễn
 
Giáo trình Điều khiển số.pdf
Giáo trình Điều khiển số.pdfGiáo trình Điều khiển số.pdf
Giáo trình Điều khiển số.pdf
Man_Ebook
 
Giaotrinh s7300[1]
Giaotrinh s7300[1]Giaotrinh s7300[1]
Giaotrinh s7300[1]
khanhminhspk
 
Nmlt c14 cac_kythuatthaotactrenbit_in
Nmlt c14 cac_kythuatthaotactrenbit_inNmlt c14 cac_kythuatthaotactrenbit_in
Nmlt c14 cac_kythuatthaotactrenbit_in
Huy Nguyễn
 
BÁO cáo học tập về PLC MITSHUBISHI FX3U.pdf
BÁO cáo học tập về PLC MITSHUBISHI FX3U.pdfBÁO cáo học tập về PLC MITSHUBISHI FX3U.pdf
BÁO cáo học tập về PLC MITSHUBISHI FX3U.pdf
Man_Ebook
 
Báo cáo hệ thống đóng táo tự động dùng plc
Báo cáo hệ thống đóng táo tự động dùng plcBáo cáo hệ thống đóng táo tự động dùng plc
Báo cáo hệ thống đóng táo tự động dùng plc
Tony Tun
 

Similar to Plc s7300 (20)

Hướng dẫn lập trình PLC từ cơ bản đến nâng cao.pptx
Hướng dẫn lập trình PLC từ cơ bản đến nâng cao.pptxHướng dẫn lập trình PLC từ cơ bản đến nâng cao.pptx
Hướng dẫn lập trình PLC từ cơ bản đến nâng cao.pptx
 
Plc
PlcPlc
Plc
 
Luận văn: Hoàn thành Bài thí nghiệm bình trộn nhiên liệu, HAY
Luận văn: Hoàn thành Bài thí nghiệm bình trộn nhiên liệu, HAYLuận văn: Hoàn thành Bài thí nghiệm bình trộn nhiên liệu, HAY
Luận văn: Hoàn thành Bài thí nghiệm bình trộn nhiên liệu, HAY
 
Nmlt c03 cac_kieudulieucoso
Nmlt c03 cac_kieudulieucosoNmlt c03 cac_kieudulieucoso
Nmlt c03 cac_kieudulieucoso
 
Tài liệu tham khảo lập trình PLC Mitsubishi dòng IQ-R.pdf
Tài liệu tham khảo lập trình PLC Mitsubishi dòng IQ-R.pdfTài liệu tham khảo lập trình PLC Mitsubishi dòng IQ-R.pdf
Tài liệu tham khảo lập trình PLC Mitsubishi dòng IQ-R.pdf
 
bài tập.pdf
bài tập.pdfbài tập.pdf
bài tập.pdf
 
Giới thiệu chung về plc s7 1200
Giới thiệu chung về plc s7 1200Giới thiệu chung về plc s7 1200
Giới thiệu chung về plc s7 1200
 
Tnkts p1
Tnkts p1Tnkts p1
Tnkts p1
 
Nmlt c03 cac_kieudulieucoso_in
Nmlt c03 cac_kieudulieucoso_inNmlt c03 cac_kieudulieucoso_in
Nmlt c03 cac_kieudulieucoso_in
 
11 phamtuantrung dcl201_9076_2
11 phamtuantrung dcl201_9076_211 phamtuantrung dcl201_9076_2
11 phamtuantrung dcl201_9076_2
 
Do_an_Den_giao_thong.pdf
Do_an_Den_giao_thong.pdfDo_an_Den_giao_thong.pdf
Do_an_Den_giao_thong.pdf
 
Kts cac bt giai san ve vhdl 2011
Kts cac bt giai san ve vhdl 2011Kts cac bt giai san ve vhdl 2011
Kts cac bt giai san ve vhdl 2011
 
Giáo trình Điều khiển số.pdf
Giáo trình Điều khiển số.pdfGiáo trình Điều khiển số.pdf
Giáo trình Điều khiển số.pdf
 
Giaotrinh s7300[1]
Giaotrinh s7300[1]Giaotrinh s7300[1]
Giaotrinh s7300[1]
 
Nmlt c14 cac_kythuatthaotactrenbit_in
Nmlt c14 cac_kythuatthaotactrenbit_inNmlt c14 cac_kythuatthaotactrenbit_in
Nmlt c14 cac_kythuatthaotactrenbit_in
 
Luận Văn Nghiên Cứu Thiết Kế Và Xây Dựng Hệ Thống Truyền Đông Điện Động Cơ Mộ...
Luận Văn Nghiên Cứu Thiết Kế Và Xây Dựng Hệ Thống Truyền Đông Điện Động Cơ Mộ...Luận Văn Nghiên Cứu Thiết Kế Và Xây Dựng Hệ Thống Truyền Đông Điện Động Cơ Mộ...
Luận Văn Nghiên Cứu Thiết Kế Và Xây Dựng Hệ Thống Truyền Đông Điện Động Cơ Mộ...
 
BÁO cáo học tập về PLC MITSHUBISHI FX3U.pdf
BÁO cáo học tập về PLC MITSHUBISHI FX3U.pdfBÁO cáo học tập về PLC MITSHUBISHI FX3U.pdf
BÁO cáo học tập về PLC MITSHUBISHI FX3U.pdf
 
Nâng Cấp Và Hoàn Thành Bài Thí Nghiệm Bình Trộn Nhiên Liệu Tại Phòng Thí Nghi...
Nâng Cấp Và Hoàn Thành Bài Thí Nghiệm Bình Trộn Nhiên Liệu Tại Phòng Thí Nghi...Nâng Cấp Và Hoàn Thành Bài Thí Nghiệm Bình Trộn Nhiên Liệu Tại Phòng Thí Nghi...
Nâng Cấp Và Hoàn Thành Bài Thí Nghiệm Bình Trộn Nhiên Liệu Tại Phòng Thí Nghi...
 
đề Tài thiết kế hệ thống đèn giao thông tại ngã tư
đề Tài thiết kế hệ thống đèn giao thông tại ngã tưđề Tài thiết kế hệ thống đèn giao thông tại ngã tư
đề Tài thiết kế hệ thống đèn giao thông tại ngã tư
 
Báo cáo hệ thống đóng táo tự động dùng plc
Báo cáo hệ thống đóng táo tự động dùng plcBáo cáo hệ thống đóng táo tự động dùng plc
Báo cáo hệ thống đóng táo tự động dùng plc
 

Plc s7300

  • 1. BÀI GIẢNG MÔN HỌC SIEMENS PLC S7 – 300 Chương mở đầu: Giới thiệu dòng sản phẩm Siemens Chương 1: Nhập môn PLC S7 – 300 Chương 2: Cấu trúc PLC S7 – 300 Chương 3: Hướng dẫn sử dụng phần mềm lập trình PLC S7-300 Chương 4: Ngôn ngữ lập trình STL Chương 5: Kỹ thuật lập trình Chương 6: Bài tập thực hành
  • 2. CHƯƠNG MCHƯƠNG MỞỞ ĐĐẦẦUU: GI: GIỚỚII THITHIỆỆU DÒNG SU DÒNG SẢẢN PHN PHẨẨMM SIEMENSSIEMENS • PLC S7 – 200: loại cực nhỏ, thích hợp cho những ứng dụng riêng lẽ, với số lượng I/O vừa phải. • PLC S7 – 300: loại trung bình, thích hợp cho những ứng dụng vừa phải. • PLC S7 – 400: tiêu chuẩn ở mức cao đáp ứng được các bài toán điều khiển ở mức cao nhất.
  • 3. CHƯƠNGCHƯƠNG 11:: NHNHẬẬP MÔN PLC S7P MÔN PLC S7 –– 300300 2.1. Đại số Boolean 2.2. Biểu diễn số nguyên dương 2.3. Biểu diễn số nguyên có dấu
  • 4. 2.1.2.1. ĐĐạạii ssốố BooleanBoolean 2.1.1. Biến và hàm hai trị - Biến 2 trị (Biến Boolean): là loại hàm số mà miền giá trị của nó chỉ có hai phần tử, đó là 0 và 1 - Hai biến Boole được gọi là độc lập với nhau nếu sự thay đổi giá trị của biến này không ảnh hưởng tới giá trị của biến kia - Ngược lại, nếu giá trị của biến này phụ thuộc vào giá trị của biến kia thì gọi là biến phụ thuộc - Hàm hai trị là mô hình toán học mô tả sự phụ thuộc của một biến Boole vào các biến Boole khác
  • 5. 2.1.1. Biến và hàm hai trị (tt) Ví dụ minh họa: x y z Công tắc x, y: là biến Boole hai trị (0 và 1) Đèn z: cũng là biến Boole hai trị x và y là hai biến Boole độc lập nhau Đèn z là biến Boole phụ thuộc vào hai biến công tắc
  • 6. 2.1.2.2.1.2. CCáácc phphéépp totoáánn trêntrên hhààmm haihai trtrịị 0011 1100 yyxx a. Phép Not (y = Not(x))
  • 7. b.b. PhPhéépp ccộộngng (z = x + y)(z = x + y) 111111 110011 111100 000000 ZZYYXX
  • 8. c.c. PhPhéépp giaogiao (z =(z = x^yx^y)) 111111 000011 001100 000000 ZZYYXX
  • 9. 2.2.2.2. BiBiểểuu didiễễnn ssốố nguyênnguyên dươngdương 2.2.1. Trong hệ cơ số 10 (hệ thập phân) Một số nguyên dương un bất kỳ, trong hệ cơ số 10 bao giờ cũng được biểu diễn đầy đủ bằng dãy con số nguyên từ 0 đến 9 Ví dụ: un = 515 được biểu diễn trong cơ số 10 515 = 5.102 + 1.101 + 5.100
  • 10. 2.2.2.2.2.2. TrongTrong hhệệ cơcơ ssốố 2 (2 (hhệệ nhnhịị phânphân)) Cách biểu diễn un trong hệ cơ số 10 chưa phù hợp với nguyên tắc mạch điện (hay nguyên tắc hàm 2 trị). Để sử dụng nguyên tắc hàm 2 trị, ta đưa ra khái niệm bit. Ví dụ: un = 205 Được biểu diễn như sau: 11001101 205 = 1.27 + 1.26 + 0.25 + 0.24 + 1.23 + 1.22 + 0.21 + 1.20
  • 11. 2.2.3.2.2.3. TrongTrong hhệệ cơcơ ssốố 16 (16 (hhệệ Hexadecimal)Hexadecimal) Cũng giống như hệ cơ số 10, một số nguyên dương bất kỳ cũng có thể biểu diễn trong hệ cơ số 16 như sau: Ví dụ: 7723 trong hệ cơ số 10 được biểu diễn thành 1E2B trong hệ cơ số 16 1E2B = 1.163 + 14.162 + 2.161 + 11.160 2.2.4. Mã BCD trong s2.2.4. Mã BCD trong sốố nguyên dươngnguyên dương Số 259 trong hệ thập phân được biểu diễn dưới dạng mã BCD như sau: 0010 0101 1001 2 5 9
  • 12. 2.3. Biểu diễn số nguyên có dấu Số nguyên có dấu uk được biểu diễn theo quy tắc bù loại 2 gồm các bước sau: -Biểu diễn |uk| trong hệ cơ số 2 thành dãy các bit xk -Đảo giá trị từng bit xk, thành -Cộng thêm 1 Ví dụ: biểu diễn uk=-15 trong hệ có số 2 với độ dài 8 bit? Lần lượt thực hiện theo 3 bước trên.
  • 13. CHƯƠNGCHƯƠNG 22: C: CẤẤUU TRTRÚÚCC PLC S7PLC S7 –– 300300 2.1. Định nghĩa 2.2. Các tín hiệu kết nối với PLC 2.3. Các module của PLC S7-300 2.4. Kiểu dữ liệu và phân chia bộ nhớ 2.5. Cấu trúc bộ nhớ của CPU 2.6. Vòng quét chương trình 2.7. Cấu trúc chương trình 2.8. Các khối OB đặc biệt
  • 14. 2.1. Định nghĩa Thieát bò ñieàu khieån logic khaû trình PLC (Programmable Logic Controller) 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á. Ưu điểm: + Nhoû goïn + Deã thay ñoåi thuaät toaùn + Deã trao ñoåi thoâng tin vôùi moâi tröôøng xung quanh (với PLC khác hoặc với máy tính)
  • 15. *> Các bộ phận chính của PLC: - Boä vi xöû lí trung taâm (CPU) - Heä ñieàu haønh - Boä nhôù chöông trình - Caùc coång vaøo ra,…
  • 16. 2.2. Caùc tín hieäu keát noái vôùi PLC + Tín hieäu soá: Laø caùc tín hieäu thuoäc daïng haøm Boolean, daïng tín hieäu chæ coù 2 trò 0 hoaëc 1. Ñoái vôùi PLC Siemens: - Möùc 0: töông öùng vôùi 0V hoaëc hôû maïch - Möùc 1 : töông öùng vôùi 24V Ví dụ: Caùc tín hieäu töø nuùt nhaán, töø caùc coâng tắc hành trình,… đều là những tín hiệu số. + Tín hieäu töông töï: Là tín hiệu liên tục từ 0-10V hoặc 4-20mA. Ví dụ: tín hiệu đọc từ cảm biến loadcell,…
  • 17. 2.3.2.3. CCáácc modulemodule ccủủaa PLC S7PLC S7 -- 300300 2.3.1. Module CPU Modul CPU laø loaïi Module chöùa vi xöû lí, heä ñieàu haønh, boä nhôù, caùc boä thôøi gian, bộ đếm, cổng truyền thông vaø 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. Trong họ PLC S7 – 300 có nhiều loại CPU khác nhau: CPU312, CPU314, CPU315,…
  • 18.
  • 19. 2.3.2.2.3.2. CCáácc modulemodule mmởở rrộộngng:: ĐưĐượợcc chiachia ththàànhnh 55 loloạạii chchíínhnh sausau:: -- NguNguồồnn nuôinuôi (PS: Power Supply):(PS: Power Supply): cungcung ccấấpp ngunguồồnn chocho CPUCPU vvàà ccáácc modulemodule khkháácc.. -- SM (Signal Module):SM (Signal Module): ModuleModule ttíínn hihiệệuu vvààoo rara,, baobao ggồồmm:: + DI: Digital Input+ DI: Digital Input + DO: Digital Output+ DO: Digital Output + DI/DO: Digital In/Output+ DI/DO: Digital In/Output + AI: Analog Input+ AI: Analog Input + AO: Analog Output+ AO: Analog Output + AI/AO: Analog In/Output+ AI/AO: Analog In/Output -- IM (Interface Module):IM (Interface Module): ModuleModule ghghéépp nnốốii -- FM (Function Module):FM (Function Module): ModuleModule điđiềềuu khikhiểểnn riêngriêng:: điđiềềuu khikhiểểnn Servo,Servo,…… -- CP (Communication Module):CP (Communication Module): ModuleModule truytruyềềnn thôngthông
  • 20.
  • 21.
  • 22. 2.4.2.4. KiKiểểuu ddữữ liliệệuu vvàà phânphân chiachia bbộộ nhnhớớ  KiKiểểuu BOOL:BOOL: dungdung lưlượợngng mmộộtt bit,bit, ccóó gigiáá trtrịị 00 hohoặặcc 11  KiKiểểuu BYTE:BYTE: ggồồmm 8 bits,8 bits, đưđượợcc ddùùngng đđểể bibiểểuu didiễễnn ssốố nguyênnguyên dươngdương trongtrong khokhoảảngng ttừừ 00 đđếếnn 255.255.  KiKiểểuu WORD:WORD: ggồồmm 2 bytes,2 bytes, bibiểểuu didiễễnn mmộộtt ssốố nguyênnguyên dươngdương ttừừ 00 đđếếnn 65535.65535.  KiKiểểuu INT:INT: 2 bytes,2 bytes, bibiểểuu didiễễnn ssốố nguyênnguyên trongtrong khokhoảảngng ttừừ --3276832768 đđếếnn 32767.32767.  KiKiểểuu DINT:DINT: 4 bytes,4 bytes, bibiểểuu didiễễnn ssốố nguyênnguyên ttừừ -- 21474836482147483648 đđếếnn 2147483647.2147483647.
  • 23. 2.4.2.4. KiKiểểuu ddữữ liliệệuu vvàà phânphân chiachia bbộộ nhnhớớ ((tttt))  KiKiểểuu S5TS5T (hay S5TIME):(hay S5TIME): khokhoảảngng ththờờii giangian,, đưđượợcc ttíínhnh theotheo gigiờờ/ph/phúút/giây/milit/giây/mili giâygiây..  KiKiểểuu TOD:TOD: bibiểểuu didiễễnn gigiáá trtrịị ththờờii giangian ttíínhnh theotheo gigiờờ/ph/phúút/giâyt/giây..  KiKiểểuu DATE:DATE: bibiểểuu didiễễnn gigiáá trtrịị ththờờii giangian ttíínhnh theotheo nămnăm //ththááng/ngng/ngààyy..  KiKiểểuu CHAR:CHAR: bibiểểuu didiễễnn mmộộtt hohoặặcc nhinhiềềuu kýký ttựự ((nhinhiềềuu nhnhấấtt llàà 44 kýký ttựự).).
  • 24. 2.5.2.5. CCấấuu trtrúúcc bbộộ nhnhớớ ccủủaa CPUCPU BBộộ nhnhớớ ccủủaa S7S7 –– 300300 đưđượợcc chiachia llààmm 33 vvùùngng chchíínhnh::  VVùùngng chchứứaa chươngchương trtrììnhnh ứứngng ddụụngng:: đưđượợcc chiachia llààmm 33 mimiềềnn:: + OB+ OB (Organization block):(Organization block): mimiềềnn chchứứaa chươngchương trtrììnhnh ttổổ chchứứcc.. + FC+ FC (Function):(Function): mimiềềnn chchứứaa chươngchương trtrììnhnh concon đưđượợcc ttổổ chchứứcc ththàànhnh hhààmm ccóó bibiếếnn hhììnhnh ththứứcc đđểể traotrao đđổổii ddữữ liliệệuu vvớớii chươngchương trtrììnhnh đãđã ggọọii nnóó.. + FB+ FB (Function block):(Function block): mimiềềnn chchứứaa chươngchương trtrììnhnh con,con, đưđượợcc ttổổ chchứứcc ththàànhnh hhààmm,, ccóó khkhảả năngnăng traotrao đđổổii ddữữ liliệệuu vvớớii bbấấtt ccứứ mmộộtt khkhốốii chươngchương trtrììnhnh nnààoo khkháácc..
  • 25.  VVùùngng chchứứaa thamtham ssốố ccủủaa hhệệ điđiềềuu hhàànhnh vvàà chươngchương trtrììnhnh ứứngng ddụụngng + I+ I (Process image input):(Process image input): mimiềềnn bbộộ đđệệmm ccáácc ddữữ liliệệuu ccổổngng vvààoo ssốố.. + Q+ Q (Process image output):(Process image output): mimiềềnn bbộộ đđệệmm ccáácc ddữữ liliệệuu ccổổngng rara ssốố.. + M:+ M: mimiềềnn ccáácc bibiếếnn ccờờ.. ChươngChương trtrììnhnh ứứngng ddụụngng ssửử ddụụngng vvùùngng nhnhớớ nnààyy đđểể lưulưu gigiữữ ccáácc thamtham ssốố ccầầnn thithiếếtt vvàà ccóó ththểể truytruy nhnhậậpp nnóó theotheo bit (M), byte (MB),bit (M), byte (MB), ttừừ (MW) hay(MW) hay ttừừ kkéépp (MD).(MD). + T:+ T: mimiềềnn nhnhớớ phphụụcc vvụụ bbộộ ththờờii giangian (Timer)(Timer) baobao ggồồmm viviệệcc lưulưu gigiữữ gigiáá trtrịị ththờờii giangian đđặặtt trưtrướớcc (PV: Preset value),(PV: Preset value), gigiáá trtrịị đđếếmm ththờờii giangian ttứứcc ththờờii (CV: Current value)(CV: Current value) + C:+ C: mimiềềnn nhnhớớ phphụụcc vvụụ bbộộ đđếếmm (Counter),(Counter), baobao ggồồmm viviệệcc lưulưu gigiữữ gigiáá trtrịị đđặặtt trưtrướớcc,, gigiáá trtrịị đđếếmm ttứứcc ththờờii,, gigiáá trtrịị logiclogic đđầầuu rara ccủủaa bbộộ đđếếmm.. + PI:+ PI: MiMiềềnn đđịịaa chchỉỉ ccổổngng vvààoo ccủủaa ccáácc modulemodule tươngtương ttựự + PQ:+ PQ: mimiềềnn đđịịaa chchỉỉ ccổổngng rara chocho ccáácc modulemodule tươngtương ttựự
  • 26.  VVùùngng chchứứaa ccáácc khkhốốii ddữữ liliệệuu:: ĐưĐượợcc chiachia ththàànhnh 22 loloạạii + DB+ DB (Data block):(Data block): MiMiềềnn chchứứaa ccáácc ddữữ liliệệuu đưđượợcc ttổổ chchứứcc ththàànhnh khkhốốii.. KKíínhnh thưthướớcc vvàà ssốố lưlượợngng khkhốốii dodo ngưngườờii ssửử ddụụngng quyquy đđịịnhnh,, phphùù hhợợpp vvớớii ttừừngng bbààii totoáánn điđiềềuu khikhiểểnn + L+ L (Local data block):(Local data block): MiMiềềnn ddữữ liliệệuu đđịịaa phươngphương,, đưđượợcc ccáácc khkhốốii chươngchương trtrììnhnh OB, FC, FBOB, FC, FB ttổổ chchứứcc,, ssửử ddụụngng chocho ccáácc bibiếếnn nhnháápp ttứứcc ththờờii vvàà traotrao đđổổii ddữữ liliệệuu ccủủaa bibiếếnn hhììnhnh ththứứcc vvớớii nhnhữữngng khkhốốii chươngchương trtrììnhnh đãđã ggọọii nnóó.. NNộộii dungdung ccủủaa mmộộtt ssốố ddữữ liliệệuu trongtrong mimiềềnn nhnhớớ nnààyy ssẽẽ bbịị xxóóaa khikhi kkếếtt ththúúcc chươngchương trtrììnhnh tươngtương ứứngng trongtrong OB, FC, FB.OB, FC, FB.
  • 27. 2.6.2.6. VòngVòng ququéétt chươngchương trtrììnhnh  PLCPLC ththựựcc hihiệệnn chươngchương trtrììnhnh theotheo chuchu trtrììnhnh llặặpp.. MMỗỗii vòngvòng llặặpp đưđượợcc ggọọii llàà vòngvòng ququéétt (scan).(scan). MMỗỗii vòngvòng ququéétt đưđượợcc bbắắtt đđầầuu bbằằngng giaigiai đođoạạnn chuychuyểểnn ddữữ liliệệuu ttừừ ccáácc ccổổngng vvààoo ssốố ttớớii vvùùngng bbộộ đđệệmm ảảoo I,I, titiếếpp theotheo llàà giaigiai đođoạạnn ththựựcc hihiệệnn chươngchương trtrììnhnh..  TrongTrong ttừừngng vòngvòng ququéétt,, chươngchương trtrììnhnh đưđượợcc ththựựcc hihiệệnn ttừừ llệệnhnh đđầầuu tiêntiên đđếếnn llệệnhnh kkếếtt ththúúcc ccủủaa khkhốốii OB1.OB1.  SauSau giaigiai đođoạạnn ththựựcc hihiệệnn chươngchương trtrììnhnh llàà giaigiai đođoạạnn chuychuyểểnn ccáácc nnộộii dungdung ccủủaa bbộộ đđệệmm ảảoo QQ ttớớii ccáácc ccổổngng rara ssốố..  VòngVòng ququéétt đưđượợcc kkếếtt ththúúcc bbằằngng giaigiai đođoạạnn truytruyềềnn thôngthông nnộộii bbộộ vvàà kikiểểmm llỗỗii..  ThThờờii giangian ccầầnn thithiếếtt đđểể PLCPLC ththựựcc hihiệệnn đưđượợcc mmộộtt vòngvòng ququéétt ggọọii llàà ththờờii giangian vòngvòng ququéétt (Scan time)(Scan time)
  • 28. 2.7.2.7. CCấấuu trtrúúcc chươngchương trtrììnhnh CCóó 22 ddạạngng ccấấuu trtrúúcc chươngchương trtrììnhnh sausau::  LLậậpp trtrììnhnh tuytuyếếnn ttíínhnh:: ToToàànn bbộộ chươngchương trtrììnhnh điđiềềuu khikhiểểnn nnằằmm trongtrong mmộộtt khkhốốii trongtrong bbộộ nhnhớớ.. LoLoạạii hhììnhnh ccấấuu trtrúúcc tuytuyếếnn ttíínhnh nnààyy phphùù hhợợpp vvớớii nhnhũũngng bbààii totoáánn ttựự đđộộngng nhnhỏỏ,, khôngkhông phphứứcc ttạạpp.. KhKhốốii đưđượợcc chchọọnn phphảảii llàà khkhốốii OB1,OB1, llàà khkhốốii mmàà PLCPLC luônluôn ququéétt vvàà ththựựcc hihiệệnn ccáácc llệệnhnh trongtrong nnóó thưthườờngng xuyênxuyên,, ttừừ llệệnhnh đđầầuu tiêntiên đđếếnn llệệnhnh cucuốốii ccùùngng vvàà quayquay llạạii llệệnhnh đđầầuu tiêntiên..  LLậậpp trtrììnhnh ccóó ccấấuu trtrúúcc:: ChươngChương trtrììnhnh đưđượợcc chiachia ththàànhnh nhnhữữngng phphầầnn nhnhỏỏ vvớớii ttừừngng nhinhiệệmm vvụụ riêngriêng vvàà ccáácc phphầầnn nnààyy nnằằmm trongtrong nhnhữữngng khkhốốii chươngchương trtrììnhnh khkháácc nhaunhau.. LoLoạạii hhììnhnh ccấấuu trtrúúcc nnààyy phphùù hhợợpp vvớớii nhnhữữngng bbààii totoáánn điđiềềuu khikhiểểnn nhinhiềềuu nhinhiệệmm vvụụ vvàà phphứứcc ttạạpp..
  • 29. 2.7.2.7. CCấấuu trtrúúcc chươngchương trtrììnhnh ((tttt)) PLC S7PLC S7 –– 300300 ccóó 44 loloạạii khkhốốii cơcơ bbảảnn sausau:: -- LoLoạạii khkhốốii OBOB (Organization block):(Organization block): khkhốốii ttổổ chchứứcc vvàà ququảảnn lýlý chươngchương trtrììnhnh điđiềềuu khikhiểểnn.. CCóó ccáácc loloạạii khkhốốii OBOB ccóó chchứứcc năngnăng khkháácc nhaunhau nhưnhư: OB1, OB35, OB40,: OB1, OB35, OB40,…… -- LoLoạạii khkhốốii FCFC (Program block):(Program block): khkhốốii chươngchương trtrììnhnh vvớớii nhnhữữngng chchứứcc năngnăng riêngriêng gigiốốngng nhưnhư mmộộtt chươngchương trtrììnhnh concon hohoặặcc mmộộtt hhààmm.. MMộộtt chươngchương trtrììnhnh ứứngng ddụụngng ccóó ththểể ccóó nhinhiềềuu khkhốốii FC.FC. -- LoLoạạii khkhốốii FBFB (Function block):(Function block): llàà loloạạii khkhốốii FCFC đđặặcc bibiệệtt ccóó khkhảả năngnăng traotrao đđổổii mmộộtt lưlượợngng ddữữ liliệệuu llớớnn vvớớii ccáácc khkhốốii chươngchương trtrììnhnh khkháácc nhaunhau.. -- LoLoạạii khkhốốii DBDB (Data block):(Data block): khkhốốii chchứứaa ccáácc ddữữ liliệệuu ccầầnn thithiếếtt đđểể ththựựcc hihiệệnn chươngchương trtrììnhnh.. CCáácc thamtham ssốố ccủủaa khkhốốii dodo ngưngườờii ddùùngng ttựự đđặặtt ChươngChương trtrììnhnh trongtrong ccáácc khkhốốii đưđượợcc liênliên kkếếtt vvớớii nhaunhau bbằằngng ccáácc llệệnhnh ggọọii khkhốốii,, chuychuyểểnn khkhốốii. S7. S7 –– 300300 chocho phphéépp ggọọii chươngchương trtrììnhnh concon llồồngng nhaunhau..
  • 30. 2.8.2.8. NhNhữữngng khkhốốii OBOB đđặặcc bibiệệtt CCáácc khkhốốii OBOB nnààyy chchỉỉ ththựựcc hihiệệnn khikhi xuxuấấtt hihiệệnn ttíínn hihiệệuu bbááoo ngngắắtt tươngtương ứứngng..  OB10OB10 (Time of Day Interrupt):(Time of Day Interrupt): ChươngChương trtrììnhnh trongtrong khkhốốii OB10OB10 ssẽẽ đưđượợcc ththựựcc hihiệệnn khikhi gigiáá trtrịị ccủủaa đđồồngng hhồồ ththờờii giangian ththựựcc nnằằmm trongtrong mmộộtt khokhoảảngng ththờờii giangian đãđã đưđượợcc quyquy đđịịnhnh.. ViViệệcc quyquy đđịịnhnh khokhoảảngng ththờờii giangian hayhay ssốố llầầnn ggọọii OB10OB10 đưđượợcc ththựựcc hihiệệnn nhnhờờ chươngchương trtrììnhnh hhệệ ththốốngng SFC28SFC28  OB20OB20 (Time Delay Interrupt):(Time Delay Interrupt): ChươngChương trtrììnhnh trongtrong khkhốốii OB20OB20 ssẽẽ đưđượợcc ththựựcc hihiệệnn sausau mmộộtt khokhoảảngng ththờờii giangian trtrễễ đđặặtt trưtrướớcc kkểể ttừừ khikhi ggọọii chươngchương trtrììnhnh hhệệ ththốốngng SFC32SFC32 đđểể đđặặtt ththờờii giangian trtrễễ..  OB35OB35 (Cyclic Interrupt):(Cyclic Interrupt): ChươngChương trtrììnhnh trongtrong OB35OB35 ssẽẽ đưđượợcc ththựựcc hihiệệnn ccááchch đđềềuu nhaunhau mmộộtt khokhoảảngng ththờờii giangian ccốố đđịịnhnh.. MMặặcc đđịịnhnh,, khokhoảảngng ththờờii giangian nnààyy ssẽẽ llàà 100ms100ms vvàà ccóó ththểể thaythay đđổổii gigiáá trtrịị nnààyy..
  • 31.  OB40OB40 (Hardware Interrupt):(Hardware Interrupt): ChươngChương trtrììnhnh trongtrong OB40OB40 ssẽẽ đưđượợcc ththựựcc hihiệệnn khikhi xuxuấấtt hihiệệnn mmộộtt ttíínn hihiệệuu bbááoo ngngắắtt ttừừ ngongoạạii vivi đưađưa vvààoo module CPUmodule CPU thôngthông quaqua ccáácc ccổổngng vvààoo rara ssốố onboardonboard đđặặcc bibiệệtt hohoặặcc thôngthông quaqua ccáácc module SM,module SM, CP, FM.CP, FM.  OB80OB80 (Cycle Time Fault):(Cycle Time Fault): ĐưĐượợcc ththựựcc hihiệệnn khikhi ththờờii giangian vòngvòng ququéétt (scan time)(scan time) vưvượợtt ququáá khokhoảảngng ththờờii giangian ccựựcc đđạạii đãđã quyquy đđịịnhnh hohoặặcc khikhi ccóó mmộộtt ttíínn hihiệệuu ngngắắtt ggọọii mmộộtt khkhốốii OBOB nnààoo đđóó mmàà khkhốốii OBOB nnààyy chưachưa kkếếtt ththúúcc ởở llầầnn ggọọii trưtrướớcc.. MMặặcc đđịịnhnh, scan time, scan time ccựựcc đđạạii llàà 150ms.150ms.  OB81OB81 (Power Supply Fault): Module CPU(Power Supply Fault): Module CPU ssẽẽ ggọọii chươngchương trtrììnhnh trongtrong khkhốốii OB81OB81 khikhi phpháátt hihiệệnn ththấấyy ccóó llỗỗii vvềề ngunguồồnn nuôinuôi..
  • 32.  OB82OB82 (Diagnostic Interrupt):(Diagnostic Interrupt): ĐưĐượợcc ggọọii khikhi CPUCPU phpháátt hihiệệnn ccóó ssựự ccốố ttừừ ccáácc modulemodule vvààoo rara mmởở rrộộngng.. CCáácc modulemodule mmởở rrộộngng nnààyy phphảảii llàà nhnhữữngng modulemodule ccóó khkhảả năngnăng ttựự kikiểểmm tratra mmììnhnh..  OB85OB85 (Not Load Fault):(Not Load Fault): ĐưĐượợcc ggọọii khikhi phpháátt hihiệệnn ththấấyy chươngchương trtrììnhnh ứứngng ddụụngng ccóó ssửử ddụụngng chchếế đđộộ ngngắắtt nhưngnhưng chươngchương trtrììnhnh xxửử lýlý ttíínn hihiệệuu ngngắắtt llạạii khôngkhông ccóó trongtrong khkhốốii OBOB tươngtương ứứngng..  OB87OB87 (Communication Fault):(Communication Fault): ĐưĐượợcc ggọọii khikhi CPUCPU phpháátt hihiệệnn ththấấyy llỗỗii trongtrong truytruyềềnn thôngthông,, vvíí ddụụ nhưnhư khôngkhông ccóó ttíínn hihiệệuu trtrảả llờờii ttừừ đđốốii ttáácc..
  • 33.  OB100OB100 (Start Up Information):(Start Up Information): ĐưĐượợcc ththựựcc hihiệệnn mmộộtt llầầnn khikhi CPUCPU chuychuyểểnn trtrạạngng ththááii ttừừ STOP sang RUN.STOP sang RUN.  OB121OB121 (Synchronous):(Synchronous): ĐưĐượợcc ththựựcc hihiệệnn khikhi CPUCPU phpháátt hihiệệnn ththấấyy llỗỗii trongtrong chươngchương trtrììnhnh nhưnhư đđổổii saisai kikiểểuu ddữữ liliệệuu hohoặặcc llỗỗii truytruy nhnhậậpp khkhốốii DB, FC, FBDB, FC, FB khôngkhông ccóó trongtrong bbộộ nhnhớớ ccủủaa CPU.CPU.  OB122OB122 (Synchronous error):(Synchronous error): ĐưĐượợcc ththựựcc hihiệệnn khikhi CPUCPU phpháátt hihiệệnn ththấấyy llỗỗii truytruy nhnhậậpp modulemodule trongtrong chươngchương trtrììnn,, vvíí ddụụ chươngchương trtrììnhnh ccóó llệệnhnh truytruy nhnhậậpp modulemodule vvààoo rara mmởở rrộộngng nhưngnhưng llạạii khôngkhông ttììmm ththấấyy modulemodule nnààyy..
  • 34. CHƯƠNGCHƯƠNG 33:: HƯHƯỚỚNG DNG DẪẪN SN SỬỬ DDỤỤNGNG PHPHẦẦN MN MỀỀM LM LẬẬP TRÌNH PLC S7P TRÌNH PLC S7 -- 300300 3.1. Cài đặt Step7 V5.4 3.2. Khái niệm về một Project 3.3. Các bước soạn thảo một Project 3.4. Làm việc với PLC S7-300
  • 35. 3.1. Cài đặt Step7 V5.4: Làm việc trên máy 3.2. Khái niệm về một project Một project gồm có các thành phần sau:  Bảng cấu hình cứng về tất cả các module của từng trạm PLC.  Bảng tham số xác định chế độ làm việc cho từng module  Các logic block chứa chương trình ứng dụng  Cấu hình ghép nối và truyền thông giữa các trạm PLC  Các màn hình giao diện phục vụ việc giám sát toàn bộ mạng hoặc giám sát từng trạm PLC của mạng
  • 36. 3.3.3.3. CCáácc bưbướớcc sosoạạnn ththảảoo mmộộtt projectproject - Mở cửa sổ Step7 V5.4 - Khai báo cấu hình phần cứng cho trạm PLC - Mặc định có sẵn khối OB1, nếu muốn sử dụng thêm khối nào thì tiếp tục khai báo khối đó - Đặt tên các đầu vào ra, các bit tương ứng (nếu cần) trong “library” - Viết chương trình trong khối OB1 bằng cách vào S7 program -> OB1
  • 37. 3.4. Làm việc với PLC S7 – 300 - Quy định địa chỉ MPI cho module CPU - Ghi chương trình lên module CPU - Giám sát việc thực hiện chương trình - Giám sát module CPU - Quan sát nội dung ô nhớ Các thao tác trên được hướng dẫn và thao tác trực tiếp trên máy tính.
  • 38. CHƯƠNGCHƯƠNG 44: NGÔN NG: NGÔN NGỮỮ LLẬẬP TRÌNH STLP TRÌNH STL 4.1. Thanh ghi trạng thái (Status word) Thanh ghi gồm 16 bits, chỉ sử dụng 9 bits với cấu trúc sau: - FC: FC=0 khi dãy lệnh logic tiếp điểm vừa được kết thúc, ngược lại FC = 1 - RLO: kết quả tức thời của phép tính logic vừa được thực hiện - STA: Có giá trị logic của tiếp điểm được chỉ định trong lệnh
  • 39. 4.1. Thanh ghi trạng thái (tt) - OR: Ghi laïi giaù trò cuûa pheùp tính logic ^ cuoái cuøng ñöôïc thöïc hieän ñeå phuï giuùp cho vieäc thöïc hieän pheùp tínhⅴsau ñoù. - 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
  • 40. + 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: + Khi thöïc hieän leänh dòch chuyeån: + Khi thöïc hieän leänh logic trong ACCU
  • 41. 4.1. Thanh ghi trạng thái (tt) - 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å tạo 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
  • 42. 4.2.4.2. NhNhóómm llệệnhnh logiclogic titiếếpp điđiểểmm 4.2.1.4.2.1. LLệệnhnh ggáánn:: CCúú phpháápp:: = <= <totoáánn hhạạngng>> ToToáánn hhạạngng llàà đđịịaa chchỉỉ bit I, Q, L, M, Dbit I, Q, L, M, D LLệệnhnh ggáánn gigiáá trtrịị logiclogic ccảả RLORLO ttớớii ôô nhnhớớ ccóó đđịịaa chchỉỉ đưđượợcc chchỉỉ ththịị trongtrong totoáánn hhạạngng LLệệnhnh ttáácc đđộộngng vvààoo thanhthanh ghighi trtrạạngng ththááii nhưnhư sausau::
  • 43. 4.2.2.4.2.2. LLệệnhnh ththựựcc hihiệệnn phphéépp ttíínhnh ^^ CCúú phpháápp:: A <A <totoáánn hhạạngng>> ToToáánn hhạạngng llàà ddữữ liliệệuu kikiểểuu BOOLBOOL hohoặặcc đđịịaa chchỉỉ bit I,bit I, Q, M, L, D, T, C.Q, M, L, D, T, C. NNếếuu FC = 0,FC = 0, llệệnhnh ssẽẽ ggáánn gigiáá trtrịị logiclogic ccủủaa totoáánn hhạạngng vvààoo RLO.RLO. NgưNgượợcc llạạii ssẽẽ ththựựcc hihiệệnn phphéépp ttíínhnh ^^ gigiữữaa RLORLO vvớớii totoáánn hhạạngng vvàà ghighi llạạii kkếếtt ququảả vvààoo RLO.RLO. LLệệnhnh ttáácc đđộộngng vvààoo thanhthanh ghighi trtrạạngng ththááii nhưnhư sausau::
  • 44. 4.2.3.4.2.3. LLệệnhnh ththựựcc hihiệệnn phphéépp ttíínhnh ^^ vvớớii gigiáá trtrịị nghnghịịchch đđảảoo CCúú phpháápp:: AN <AN <totoáánn hhạạngng>> ToToáánn hhạạngng llàà ddữữ liliệệuu kikiểểuu BOOLBOOL hohoặặcc đđịịaa chchỉỉ bit I, Q,bit I, Q, M, L, D, T, CM, L, D, T, C NNếếuu FC=0,FC=0, llệệnhnh ssẽẽ ggáánn gigiáá trtrịị logiclogic nghnghịịchch đđảảoo ccủủaa totoáánn hhạạngng vvààoo RLO.RLO. NgưNgượợcc llạạii,, ssẽẽ ththựựcc hihiệệnn phphéépp ttíínhnh ^^ gigiữữaa RLORLO vvớớii gigiáá trtrịị nghnghịịchch đđảảoo ccủủaa totoáánn hhạạngng vvàà ghighi kkếếtt ququảả vvààoo RLO.RLO. LLệệnhnh ttáácc đđộộngng vvààoo thanhthanh ghighi trtrạạngng ththááii nhưnhư sausau::
  • 45. 4.2.4. Leänh thöïc hieän pheùp tính hôïp: Cuù phaùp: O < 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 seõ thöïc hieän pheùp tính hôïp giöõa RLO vôùi giaù trò nghòch ñaûo cuûa toaùn haïng vaø ghi laïi keát quaû vaøo RLO. Leänh taùc ñoäng vaøo thanh ghi traïng thaùi nhö sau:
  • 46. 4.2.5. Leänh thöïc hieän pheùp tính hôïp vôùi giaù trò nghòch ñaûo Cuù phaùp: ON < 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 nghòch ñaûo cuûa toaùn haïng vaøo RLO. Ngöôïc laïi seõ thöïc hieän pheùp tính hôïp giöõa RLO vôùi giaù trò nghòch ñaûo cuûa toaùn haïng vaø ghi laïi keát quaû vaøo RLO. Leänh taùc ñoäng vao thanh ghi traïng thaùi nhö sau:
  • 47. 4.2.6. Leänh thöïc hieän pheùp tính giao vôùi giaù trò moät bieåu thöùc Cuù phaùp: A ( 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 seõ thöïc hieän pheùp tính giao giöõa RLO vôùi giaù trò logic cuûa bieåu thöùc trong daáu ngoaëc sau noù ghi laïi keát quaû vaøo RLO. Leänh seõ taùc ñoäng vaøo thanh ghi traïng thaùi nhö sau:
  • 48. 4.2.7. Leänh thöïc hieän pheùp tính hôïp vôùi giaù trò moät bieåu thöùc Cuù phaùp: O ( 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 seõ thöïc hieän pheùp tính hôïp giöõa RLO vôùi giaù trò logic cuûa bieåu thöùc trong daáu ngoaëc sau noù ghi laïi keát quaû vaøo RLO. Leänh taùc ñoäng vaøo thanh ghi traïng thaùi nhö sau:
  • 49. 4.2.8. 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 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. Leänh taùc ñoäng vaøo thanh ghi traïng thaùi nhö sau:
  • 50. 4.2.9. 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 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. Leänh taùc ñoäng vaøo thanh ghi traïng thaùi nhö sau:
  • 51. 4.2.10. 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 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.
  • 52. 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 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ì ghi 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. 4.2.11. 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
  • 53. 4.2.12. 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 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 taùc ñoäng vaøo thanh ghi traïng thaùi nhö sau:
  • 54. 4.2.13. 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 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 taùc ñoäng vaøo thanh ghi traïng thaùi nhö sau:
  • 55. 4.2.14. 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 4.2.15. 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 4.2.16. 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
  • 56. 4.2.17. 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 4.2.18. 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
  • 57. 4.2.19. 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 RLO seõ 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
  • 58. 4.2.20. Leänh phaùt hieän söôøn xuoáng Cuù phaùp: FN < 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ò 1 vaø RLO coù giaù trò 0 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 RLO seõ coù giaù trò 1 trong voøng queùt khi coù söôøn xuoáng trong RLO.
  • 59. 4.3. Leänh ñoïc, ghi vaø ñaûo vò trí bytes trong thanh ghi ACCU Caùc CPU cuûa S7-300 thöôøng coù hai thanh ghi Accumulator (ACCU), kí hieäu laø ACCU1 vaø ACCU2. Hai thanh ghi ACCU coù cuøng kích thöôùc 32 bits (1 töø keùp). Moïi pheùp tính toaùn treân soá thöïc, soá nguyeân, caùc pheùp tính logic vôùi maûng nhieàu bit… ñeàu ñöôïc thöïc hieän treân hai thanh ghi naøy
  • 60. 4.3.1. Leänh ñoïc vaøo ACCU Cuù phaùp: L < Toaùn haïng > Toaùn haïng laø döõ lieäu (soá nguyeân, thöïc, nhò phaân) hoaëc ñòa chæ Taùc duïng: chuyeån noäi dung cuûa oâ nhôù coù ñòa chæ laø toaùn haïng vaøo thanh ghi ACCU1. Noäi dung cuõ cuûa ACCU1 ñöôïc chuyeån vaøo ACCU2. Trong tröôøng hôïp giaù trò chuyeån vaøo nhoû hôn töø keùp thì chuùng seõ ñöôïc ghi vaøo theo thöù töï Byte thaáp cuûa töø thaáp, Byte thaáp cuûa töø cao, Byte cao cuûa töø cao. Những Bit coøn troáng trong ACCU1 ñöôïc ghi 0.
  • 61. 4.3.2. Leänh chuyeån noäi dung cuûa ACCU tôùi oâ nhôù Cuù phaùp: T < Toaùn haïng > Toaùn haïng laø ñòa chæ: - Byte IB,QB,PIB,MB,LB,DBB,DIB trong khoaûng 0 - 255 - Töø IW,QW,PIW,MW,LW,DBW,DIW trong khoaûng 0 - 216 - 1 - Töø keùp ID,QD,PID,MD,LD,DBD,DID trong khoaûng 0 – 232-1 Tác dụng: Leänh chuyeån noäi dung cuûa ACCU1 vaøo oâ nhôù coù ñòa chæ laø toaùn haïng
  • 62. 4.3.3. Leänh ñoïc noäi dung thanh ghi traïng thaùi vaøo ACCU1 Cuù phaùp: L STW Tác dụng: Leänh chuyeån noäi dung thanh ghi traïng thaùi vaøo töø thaáp cuûa ACCU1 4.3.4. Leänh ghi noäi dung cuûa ACCU1 vaøo thanh ghi traïng thaùi Cuù phaùp: T STW Tác dụng: Leänh chuyeån 9 bits cuûa töø thaáp cuûa ACCU1 vaøo thanh ghi traïng thaùi
  • 63. 4.3.5. Leänh chuyeån noäi dung cuûa ACCU2 vaøo ACCU1 Cuù phaùp: POP Tác dụng: Leänh chuyeån noäi dung cuûa ACCU2 vaøo ACCU1, noäi dung cuûa thanh ghi ACCU2 khoâng ñoåi. 4.3.6. Leänh chuyeån noäi dung cuûa ACCU1 vaøo ACCU2 Cuù phaùp: PUSH Tác dụng: Leänh chuyeån noäi dung cuûa ACCU1 vaøo ACCU2, noäi dung cuûa thanh ghi ACCU1 khoâng ñoåi. 4.3.7. Leänh ñaûo noäi dung cuûa hai thanh ghi ACCU1 vaø ACCU2 Cuù phaùp: TAK Tác dụng: Leänh chuyeån noäi dung cuûa ACCU1 vaøo ACCU2 vaø ngöôïc laïi.
  • 64. 4.3.8. Leänh ñaûo noäi dung hai Byte cuûa töø thaáp trong thanh ghi ACCU1 Cuù phaùp: CAW Tác dụng: Đaûo noäi dung hai byte cuûa töø thaáp trong thanh ghi ACCU1. 4.3.9. Leänh ñaûo noäi dung caùc Byte trong thanh ghi ACCU1 Cuù phaùp: CAD Tác dụng:Đaûo noäi dung taát caû 4 Byte trong thanh ghi ACCU1.
  • 65. Tác dụng: Đaûo noäi dung taát caû caùc Bits trong töø thaáp cuûa thanh ghi ACCU1. 4.3.11. Leänh ñaûo giaù trò caùc Bits trong thanh ghi ACCU1 Cuù phaùp: INVD Tác dụng: Đaûo noäi dung taát caû caùc Bits trong thanh ghi ACCU1. 4.3.10. Leänh ñaûo giaù trò caùc Bits trong töø thaáp cuûa thanh ghi ACCU1 Cuù phaùp: INVI
  • 66. 4.4. Caùc leänh Logic thöïc hieän treân thanh ghi ACCU 4.4.1. 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
  • 67. 4.4.2. 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.
  • 68. 4.4.3. 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
  • 69. 4.4.4. 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.
  • 70. 4.4.5. 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. - 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.
  • 71. 4.4.6. 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
  • 72. 4.5. Nhoùm leänh taêng giaûm noäi dung thanh ghi ACCU 4.5.1. 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. 4.5.2. 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.
  • 73. 4.6. Nhoùm leänh dòch chuyeån noäi dung thanh ghi ACCU 4.6.1. Leänh xoay troøn caùc bits cuûa ACCU1 theo chieàu traùi Cuù phaùp: RLD [ < toaùn haïng > ] Lệnh có thể có hoặc không có toán hạng +Nếu có toán hạng +Nếu không có toán hạng
  • 74. 4.6.2. Leänh xoay troøn ACCU1 theo chieàu traùi 1 bit Cuù phaùp: RLDA Leänh khoâng coù toaùn haïng Leänh thöïc hieän xoay troøn theo chieàu traùi 1 bit. Bit thöù 31 (bit cuoái) bò ñaåy ra khoûi ACCU1 ñöôïc ghi vaøo CC1, noäi dung bit CC1 ñöôïc chuyeån vaøo bit 0 (bit ñaàu tieân).
  • 75. 4.6.3. Leänh xoay troøn caùc bits cuûa ACCU1 theo chieàu phaûi Cuù phaùp: RRD [ < toaùn haïng > ] Leänh coù theå coù hoaëc khoâng coù toaùn haïng 4.6.4. Leänh xoay troøn ACCU1 theo chieàu phaûi 1 bit Cuù phaùp: RRDA Leänh khoâng coù toaùn haïng
  • 76. 4.6.5. Leänh dòch traùi caùc bits cuûa töø thaáp cuûa ACCU1 Cuù phaùp: SLW [ < toaùn haïng > ] Leänh coù theå coù hoaëc khoâng coù toaùn haïng 4.6.6. Leänh dòch traùi caùc bits cuûa ACCU1 Cuù phaùp: SLD [ < toaùn haïng > ] Leänh coù theå coù hoaëc khoâng coù toaùn haïng
  • 77. 4.6.7. 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. 4.6.8. 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.
  • 78. 4.6.9. 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. 4.6.10. 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.
  • 79. 4.7. Nhoùm leänh so saùnh soá nguyeân 16 bits Nhóm lệnh này tác động vào thanh ghi trạng thái như sau:
  • 80. 4.7.1. Leänh so saùnh 2 soá nguyeân 16 bits Cuù phaùp: = = I Leänh khoâng coù toaùn haïng . Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá nguyeân 16 bits naèm trong hai töø thaáp trong hai thanh ghi ACCU1 vaø ACCU2. + Neáu soá nguyeân trong töø thaáp cuûa ACCU1 coù noäi dung gioáng nhö soá nguyeân trong töø thaáp cuûa ACCU2 thì bit traïng thaùi RLO seõ nhaän giaù trò 1 + Ngöôïc laïi, seõ coù giaù trò 0.
  • 81. 4.7.2. Leänh so saùnh khoâng baèng nhau 2 soá nguyeân 16 bits Cuù phaùp: <> I Leänh khoâng coù toaùn haïng. Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá nguyeân 16 bits naèm trong hai töø thaáp trong hai thanh ghi ACCU1 vaø ACCU2. + Neáu soá nguyeân trong töø thaáp cuûa ACCU1 coù noäi dung khaùc soá nguyeân trong töø thaáp cuûa ACCU2 thì bit traïng thaùi RLO seõ nhaän giaù trò 1. + Ngöôïc laïi, seõ coù giaù trò 0.
  • 82. 4.7.3. Leänh so saùnh lôùn hôn 2 soá nguyeân 16 bits Cuù phaùp: >I Leänh khoâng coù toaùn haïng. Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá nguyeân 16 bits naèm trong hai töø thaáp trong hai thanh ghi ACCU1 vaø ACCU2. + Neáu soá nguyeân trong töø thaáp cuûa ACCU2 lôùn hôn soá nguyeân trong töø thaáp cuûa ACCU1 thì bit traïng thaùi RLO seõ nhaän giaù trò 1. + Ngöôïc laïi, seõ coù giaù trò 0.
  • 83. 4.7.4. Leänh so saùnh nhoû hôn 2 soá nguyeân 16 bits Cuù phaùp: < I Leänh khoâng coù toaùn haïng. Leänh thöïc hieän pheùp so saùnh hai soá nguyeân 16 bits naèm trong hai töø thaáp trong hai thanh ghi ACCU1 vaø ACCU2. + Neáu soá nguyeân trong töø thaáp cuûa ACCU2 nhoû hôn soá nguyeân trong töø thaáp cuûa ACCU1 thì bit traïng thaùi RLO seõ nhaän giaù trò 1 + Ngöôïc laïi seõ coù giaù trò 0.
  • 84. 4.7.5. Lệnh so sánh lớn hơn hoặc bằng 2 số nguyên 16 bits Cuù phaùp: >= I Leänh khoâng coù toaùn haïng. Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá nguyeân 16 bits naèm trong hai töø thaáp trong hai thanh ghi ACCU1 vaø ACCU2. + Neáu soá nguyeân trong töø thaáp cuûa ACCU2 lôùn hôn hoaëc baèng soá nguyeân trong töø thaáp cuûa ACCU1 thì bit traïng thaùi RLO seõ nhaän giaù trò 1 + Ngöôïc laïi seõ coù giaù trò 0.
  • 85. 4.7.6. Leänh so saùnh beù hôn hoaëc baèng 2 soá nguyeân 16 bits Cuù phaùp: <= I Leänh khoâng coù toaùn haïng. Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá nguyeân 16 bits naèm trong hai töø thaáp trong hai thanh ghi ACCU1 vaø ACCU2. + Neáu soá nguyeân trong töø thaáp cuûa ACCU2 beù hôn hoaëc baèng soá nguyeân trong töø thaáp cuûa ACCU1 thì bit traïng thaùi RLO seõ nhaän giaù trò 1 + Ngöôïc laïi seõ coù giaù trò 0.
  • 86. 4.8. Nhoùm leänh so saùnh soá nguyeân 32 bits Nhóm lệnh này tác động vào thanh ghi trạng thái như sau:
  • 87. 4.8.1. Leänh so saùnh 2 soá nguyeân 32 bits Cuù phaùp: = = D Leänh khoâng coù toaùn haïng. Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá nguyeân 32 bits naèm trong hai thanh ghi ACCU1 vaø ACCU2. + Neáu soá nguyeân trong thanh ghi ACCU1 coù noäi dung gioáng nhö soá nguyeân trong thanh ghi ACCU2 thì bit traïng thaùi RLO seõ nhaän giaù trò 1 + Ngöôïc laïi seõ coù giaù trò 0.
  • 88. 4.8.2. Leänh so saùnh khoâng baèng nhau 2 soá nguyeân 32 bits Cuù phaùp: <> D Leänh khoâng coù toaùn haïng. Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá nguyeân 32 bits naèm trong hai thanh ghi ACCU1 vaø ACCU2. + Neáu soá nguyeân trong thanh ghi ACCU1 coù noäi dung khaùc soá nguyeân trong thanh ghi ACCU2 thì bit traïng thaùi RLO seõ nhaän giaù trò 1 + Ngöôïc laïi seõ coù giaù trò 0.
  • 89. 4.8.3. Leänh so saùnh lôùn hôn 2 soá nguyeân 32 bits Cuù phaùp: >D Leänh khoâng coù toaùn haïng. Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá nguyeân 32 bits naèm trong hai thanh ghi ACCU1 vaø ACCU2. + Neáu soá nguyeân trong thanh ghi ACCU2 lôùn hôn soá nguyeân trong thanh ghi ACCU1 thì bit traïng thaùi RLO seõ nhaän giaù trò 1 + Ngöôïc laïi seõ coù giaù trò 0.
  • 90. 4.8.4. Leänh so saùnh nhoû hôn 2 soá nguyeân 32 bits Cuù phaùp: < D Leänh khoâng coù toaùn haïng. Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá nguyeân 32 bits naèm trong hai thanh ghi ACCU1 vaø ACCU2. + Neáu soá nguyeân trong thanh ghi ACCU2 nhoû hôn soá nguyeân trong thanh ghi ACCU1 thì bit traïng thaùi RLO seõ nhaän giaù trò 1 + Ngöôïc laïi seõ coù giaù trò 0.
  • 91. 4.8.5. Leänh so saùnh lôùn hôn hoaëc baèng 2 soá nguyeân 32 bits Cuù phaùp: >= D Leänh khoâng coù toaùn haïng. Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá nguyeân 32 bits naèm trong hai thanh ghi ACCU1 vaø ACCU2. + Neáu soá nguyeân trong thanh ghi ACCU2 lôùn hôn hoaëc baèng soá nguyeân trong thanh ghi ACCU1 thì bit traïng thaùi RLO seõ nhaän giaù trò 1 + Ngöôïc laïi seõ coù giaù trò 0.
  • 92. 4.8.6. Leänh so saùnh beù hôn hoaëc baèng 2 soá nguyeân 32 bits Cuù phaùp: <= D Leänh khoâng coù toaùn haïng. Leänh thöïc hieän pheùp so saùnh hai soá nguyeân 32 bits naèm trong hai thanh ghi ACCU1 vaø ACCU2. + Neáu soá nguyeân trong thanh ghi ACCU2 beù hôn hoaëc baèng soá nguyeân trong thanh ghi ACCU1 thì bit traïng thaùi RLO seõ nhaän giaù trò 1 + Ngöôïc laïi seõ coù giaù trò 0.
  • 93. 4.9. Nhoùm leänh so saùnh soá thöïc 32 bits Nhóm lệnh này tác động vào thanh ghi trạng thái như sau:
  • 94. 4.9.1. Leänh so saùnh 2 soá thöïc 32 bits Cuù phaùp: = = R Leänh khoâng coù toaùn haïng. Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá thöïc 32 bits naèm trong hai thanh ghi ACCU1 vaø ACCU2. + Neáu soá thöïc trong thanh ghi ACCU1 coù noäi dung gioáng nhö soá thöïc trong thanh ghi ACCU2 thì bit traïng thaùi RLO seõ nhaän giaù trò 1 + Ngöôïc laïi seõ coù giaù trò 0.
  • 95. 4.9.2. Leänh so saùnh khoâng baèng nhau 2 soá thöïc 32 bits Cuù phaùp: <> R Leänh khoâng coù toaùn haïng. Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá thöïc 32 bits naèm trong hai thanh ghi ACCU1 vaø ACCU2. + Neáu soá thöïc trong thanh ghi ACCU1 coù noäi dung khaùc soá thöïc trong thanh ghi ACCU2 thì bit traïng thaùi RLO seõ nhaän giaù trò 1 + Ngöôïc laïi seõ coù giaù trò 0.
  • 96. 4.9.3. Leänh so saùnh lôùn hôn 2 soá thöïc 32 bits Cuù phaùp: >R Leänh khoâng coù toaùn haïng. Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá thöïc 32 bits naèm trong hai thanh ghi ACCU1 vaø ACCU2. + Neáu soá thöïc trong thanh ghi ACCU2 lôùn hôn soá thöïc trong thanh ghi ACCU1 thì bit traïng thaùi RLO seõ nhaän giaù trò 1 + Ngöôïc laïi seõ coù giaù trò 0.
  • 97. 4.9.4. Leänh so saùnh nhoû hôn 2 soá thöïc 32 bits Cuù phaùp: < R Leänh khoâng coù toaùn haïng . Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá thöïc 32 bits naèm trong hai thanh ghi ACCU1 vaø ACCU2. + Neáu soá thöïc trong thanh ghi ACCU2 nhoû hôn soá thöïc trong thanh ghi ACCU1 thì bit traïng thaùi RLO seõ nhaän giaù trò 1 + Ngöôïc laïi seõ coù giaù trò 0.
  • 98. 4.9.5. Leänh so saùnh lôùn hôn hoaëc baèng 2 soá thöïc 32 bits Cuù phaùp: >= R Leänh khoâng coù toaùn haïng. Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá thöïc 32 bits naèm trong hai thanh ghi ACCU1 vaø ACCU2. + Neáu soá thöïc trong thanh ghi ACCU2 lôùn hôn hoaëc baèng soá thöïc trong thanh ghi ACCU1 thì bit traïng thaùi RLO seõ nhaän giaù trò 1 + Ngöôïc laïi seõ coù giaù trò 0.
  • 99. 4.9.6. Leänh so saùnh beù hôn hoaëc baèng 2 soá thöïc 32 bits Cuù phaùp: <= R Leänh khoâng coù toaùn haïng. Tác dụng: Leänh thöïc hieän pheùp so saùnh hai soá thöïc 32 bits naèm trong hai thanh ghi ACCU1 vaø ACCU2. + Neáu soá thöïc trong thanh ghi ACCU2 beù hôn hoaëc baèng soá thöïc trong thanh ghi ACCU1 thì bit traïng thaùi RLO seõ nhaän giaù trò 1 + Ngöôïc laïi seõ coù giaù trò 0.
  • 100. 4.10. Caùc leänh toaùn hoïc Nhóm lệnh toán học này tác động vào thanh ghi trạng thái như sau:
  • 101. 4.10.1. Nhoùm leänh laøm vieäc vôùi soá nguyeân 16 bits Leänh coäng: Cuù phaùp: + I Tác dụng: Leänh thöïc hieän pheùp coäng hai soá nguyeân naèm trong töø thaáp cuûa ACCU1 vaø ACCU2. Keát quaû ñöôïc ghi laïi vaøo töø thaáp cuûa ACCU1. Noäi dung cuûa thanh ghi ACCU2 khoâng bò thay ñoåi. Neáu giaù trò vöôït tầm -32768 – 32767 thì hai bit OV và OS sẽ cùng nhận giá trị 1. Leänh tröø: Cuù phaùp: - I Tác dụng: Leänh thöïc hieän pheùp tröø hai soá nguyeân naèm trong töø thaáp cuûa ACCU1 vaø ACCU2. Keát quaû ñöôïc ghi laïi vaøo töø thaáp cuûa ACCU1. Noäi dung cuûa thanh ghi ACCU2 khoâng bò thay ñoåi. Neáu giaù trò vöôït tầm -32768 – 32767 thì hai bit OV và OS sẽ cùng nhận giá trị 1.
  • 102. Leänh nhaân: Cuù phaùp: * I Tác dụng: Leänh thöïc hieän pheùp nhaân hai soá nguyeân naèm trong töø thaáp cuûa ACCU1 vaø ACCU2. Keát quaû laø soá nguyeân 32 Bits ñöôïc ghi laïi vaøo thanh ghi ACCU1. Noäi dung cuûa thanh ghi ACCU2 khoâng bò thay đổi. Neáu giaù trò vöôït tầm -32768 – 32767 thì hai bit OV và OS sẽ cùng nhận giá trị 1. Lệnh chia: Cú pháp: / I Tác dụng: Leänh thöïc hieän pheùp chia hai soá nguyeân naèm trong töø thaáp cuûa ACCU2 cho töø thaáp cuûa ACCU1. Keát quaû ñöôïc ghi laïi vaøo töø thaáp cuûa ACCU1, phaàn dö ñöôïc ghi vaøo töø cao thanh ghi ACCU1. Neáu giaù trò vöôït tầm -32768 – 32767 thì hai bit OV và OS sẽ cùng nhận giá trị 1.
  • 103. 4.10.2. Nhoùm leänh laøm vieäc vôùi soá nguyeân 32 bits Leänh coäng: Cuù phaùp: + D Tác dụng: Leänh thöïc hieän pheùp coäng hai soá nguyeân 32 bit naèm trong hai thanh ghi ACCU1 vaø ACCU2. Keát quaû ñöôïc ghi laïi vaøo thanh ghi ACCU1. Noäi dung cuûa thanh ghi ACCU2 khoâng bò thay ñoåi. Neáu giaù trị vượt tầm (-2147483648, 2147483648) thì OV vaø OS seõ cuøng nhaän giaù trò laø 1.Leänh tröø: Cuù phaùp: - D Tác dụng: Leänh thöïc hieän pheùp tröø hai soá nguyeân 32 bit naèm trong hai thanh ghi ACCU1 vaø ACCU2. Keát quaû ñöôïc ghi laïi vaøo thanh ghi ACCU1. Noäi dung cuûa thanh ghi ACCU2 khoâng bò thay ñoåi. Neáu giaù trị vượt tầm (-2147483648, 2147483648) thì OV vaø OS seõ cuøng nhaän giaù trò laø 1.
  • 104. Leänh nhaân: Cuù phaùp: * D Leänh thöïc hieän pheùp nhaân hai soá nguyeân 32 bits trong hai thanh ghi ACCU1 vaø ACCU2. Keát quaû laø soá nguyeân 32 Bits ñöôïc ghi laïi vaøo thanh ghi ACCU1. Noäi dung cuûa thanh ghi ACCU2 khoâng bò thay đổi. Neáu giaù trị vượt tầm (-2147483648, 2147483648) thì OV và OS sẽ cùng nhận giá trị là 1. Leänh chia: Cuù phaùp: / D Leänh thöïc hieän pheùp chia hai soá nguyeân 32 bits trong ACCU2 cho soá nguyeân 32 bits trong thanh ghi ACCU1. Keát quaû laø soá nguyeân 32 bits seõ ñöôïc ghi laïi vaøo thanh ghi ACCU1. Neáu giá trị vượt tầm (-2147483648 , 2147483648) thì hai bit OV vaø OS seõ cuøng nhaän giaù trò laø 1.
  • 105. Leänh laáy phaàn dö: Cuù phaùp: MOD Leänh khoâng coù toaùn haïng Tác dụng: Xaùc ñònh phaàn dö cuûa pheùp chia soá nguyeân 32 bits trong ACCU2 cho soá nguyeân 32 bits trong ACCU1. Keát quaû laø soá nguyeân 32 bits ñöôïc ghi laïi vaøo ACCU1. Neáu giaù trò vöôït tầm (-2147483648, 2147483648) thì hai bit OV và OS seõ cuøng nhaän giaù trò laø 1.
  • 106. 4.11. Caùc leänh ñieàu khieån chöông trình 4.11.1. Nhoùm leänh keát thuùc chöông trình Leänh keát thuùc voâ ñieàu kieän: Cuù phaùp: BEU Leänh khoâng coù toaùn haïng Tác dụng: Thöïc hieän keát thuùc chöông trình trong khoái moät caùch voâ ñieàu kieän. Leänh keát thuùc coù ñieàu kieän: Cuù phaùp: BEC Leänh khoâng coù toaùn haïng Tác dụng: Thöïc hieän keát thuùc chöông trình trong khoái neáu nhö RLO coù giaù trò baèng 1.
  • 107. 4.12.1. Nhoùm leänh reõ nhaùnh theo bit traïng thaùi Tác dụng: Nhaèm boû qua moät ñoaïn chöông trình ñeå tôùi ñoaïn chöông trình khaùc ñöôïc ñaùnh daáu baèng nhaõn neáu ñieàu kieän kieåm tra trong thanh ghi traïng thaùi ñöôïc thoaû maõn. Nôi leänh nhaûy tôùi phaûi thuoäc cuøng moät khoái chöông trình vôùi leänh. Nhaõn laø moät daõy vôùi nhieàu nhaát 4 kí töï hoaëc soá vaø phaûi ñöôïc baét ñaàu baèng moät kí töï. Khoaûng caùch böôùc nhaûy tính theo oâ nhôù chöông trình phaûi ít hôn 32767 töø. Nôi nhaûy ñeán coù theå naèm tröôùc hay naèm sau leänh nhaûy.
  • 108. Reõ nhaùnh khi BR=1 Cuù phaùp: JBI < nhaõn > Leänh seõ thöïc hieän vieäc nhaûy tôùi Nhaõn neáu nhö Bit BR trong thanh ghi traïng thaùi baèng 1 Reõ nhaùnh khi BR=0 Cuù phaùp: JNBI < nhaõn > Leänh seõ thöïc hieän vieäc nhaûy tôùi Nhaõn neáu nhö Bit BR trong thanh ghi traïng thaùi baèng 0 Reõ nhaùnh khi RLO=1 Cuù phaùp: JC < nhaõn > Leänh seõ thöïc hieän vieäc nhaûy tôùi Nhaõn neáu nhö Bit RLO trong thanh ghi traïng thaùi baèng 1
  • 109. Reõ nhaùnh khi RLO=0 Cuù phaùp: JCN < nhaõn > Leänh seõ thöïc hieän vieäc nhaûy tôùi Nhaõn neáu nhö Bit RLO trong thanh ghi traïng thaùi baèng 0 Reõ nhaùnh khi CC1=0 vaø CC0=1 Cuù phaùp: JM < nhaõn > Leänh seõ thöïc hieän vieäc nhaûy tôùi Nhaõn neáu nhö Bit ( CC1 = 0 vaø CC0 = 1). Noù ñöôïc söû duïng ñeå reõ nhaùnh neáu nhö pheùp tính tröôùc ñoù coù keát quaû aâm. Reõ nhaùnh khi CC1=1 vaø CC0=0 Cuù phaùp: JP < nhaõn > Leänh seõ thöïc hieän vieäc nhaûy tôùi Nhaõn neáu nhö Bit ( CC1 = 1 vaø CC0 = 0). Noù ñöôïc söû duïng ñeå reõ nhaùnh neáu nhö pheùp tính tröôùc ñoù coù keát quaû döông.
  • 110. Reõ nhaùnh khi CC1=0 vaø CC0=0 Cuù phaùp: JZ < nhaõn > Leänh seõ thöïc hieän vieäc nhaûy tôùi Nhaõn neáu nhö Bit ( CC1 = 0 vaø CC0 = 0). Noù ñöôïc söû duïng ñeå reõ nhaùnh neáu nhö pheùp tính tröôùc ñoù coù keát quaû baèng 0. Reõ nhaùnh khi CC1 khaùc CC0 Cuù phaùp: JN < nhaõn > Leänh seõ thöïc hieän vieäc nhaûy tôùi Nhaõn neáu nhö Bit ( CC1 khaùc CC0). Noù ñöôïc söû duïng ñeå reõ nhaùnh neáu nhö pheùp tính tröôùc ñoù coù keát quaû khaùc 0. Reõ nhaùnh khi CC1=CC0=0 hoaëc (CC1=0 vaø CC0=1) Cuù phaùp: JMZ < nhaõn > Leänh seõ thöïc hieän vieäc nhaûy tôùi Nhaõn neáu nhö Bit ( CC1 =CC0= 0 hoaëc (CC1=0 vaø CC0 = 1)). Noù ñöôïc söû duïng ñeå reõ nhaùnh neáu nhö pheùp tính tröôùc ñoù coù keát quaû laø moät soá khoâng döông.
  • 111. Reõ nhaùnh khi CC1=CC0=0 hoaëc (CC1=1 vaø CC0=0) Cuù phaùp: JPZ < nhaõn > Leänh seõ thöïc hieän vieäc nhaûy tôùi Nhaõn neáu nhö Bit ( CC1 =CC0= 0 hoaëc (CC1=1 vaø CC0 = 0)). Noù ñöôïc söû duïng ñeå reõ nhaùnh neáu nhö pheùp tính tröôùc ñoù coù keát quaû laø moät soá khoâng aâm. Reõ nhaùnh voâ ñieàu kieän Cuù phaùp: JU < nhaõn > Leänh seõ thöïc hieän vieäc nhaûy tôùi Nhaõn voâ ñieàu kieän khoâng phuï thuoäc vaøo bit traïng thaùi naøo.
  • 112. 4.12. Leänh xoay voøng Cuù phaùp: LOOP < nhaõn > Khi gaëp leänh LOOP, CPU seõ töï giaûm noäi dung cuûa töø thaáp trong thanh ghi ACCU1 ñi moät ñôn vò vaø kieåm tra xem keát quaû coù baèng 0 hay khoâng. Neáu keát quaû khaùc 0, CPU seõ thöïc hieän böôùc nhaûy ñeán ñoaïn chöông trình ñöôïc ñaùnh daáu bôûi “nhãn”. Ngược lại CPU sẽ thực hiện leänh keá tieáp. Ñoaïn chöông trình naèm giöõa nhaõn vaø leänh LOOP seõ ñöôïc thöïc hieän cho tôùi khi noäi dung thanh ghi ACCU1 baèng 0. Leänh khoâng laøm thay ñoåi noäi dung cuûa thanh ghi traïng thaùi
  • 113. 4.13. Leänh ñoåi kieåu döõ lieäu: 4.13.1. Chuyeån ñoåi soá BCD thaønh soá nguyeân vaø ngöôïc laïi Leänh chuyeån ñoåi BCD thaønh soá nguyeân 16 bits: Cuù phaùp: BTI Leänh khoâng coù toaùn haïng Tác dụng: Chuyeån ñoåi moät soá BCD coù 3 chöõ soá naèm trong 12 Bits ñaàu cuûa ACCU1 thaønh soá nguyeân 16 bits. Keát quaû ñöôïc caát laïi vaøo 16 bits cuoái (töø thaáp) cuûa ACCU1. Leänh khoâng laøm thay ñoåi noäi dung cuûa thanh ghi traïng thaùi.
  • 114. Neáu soá BCD caàn chuyeån ñoåi coù caáu truùc sai, ví duï nhö coù 1 chöõ soá 4 bits nhò phaân khoâng naèm trong khoaûng töø 0 ñeán 9, CPU seõ goïi chöông trình ngaét xöû lí loãi OB121 hoaëc chuyeån qua cheá ñoä Stop (neáu OB121 khoâng coù chöông trình).
  • 115. Leänh chuyeån ñoåi BCD thaønh soá nguyeân 32 bits: Cuù phaùp: BTD Leänh khoâng coù toaùn haïng Tác dụng: Chuyeån ñoåi moät soá BCD coù 7 chöõ soá naèm trong 28 Bits ñaàu cuûa ACCU1 thaønh soá nguyeân 32 bits. Keát quaû ñöôïc caát laïi vaøo thanh ghi ACCU1. Leänh khoâng laøm thay ñoåi noäi dung cuûa thanh ghi traïng thaùi.
  • 116. Leänh chuyeån ñoåi soá nguyeân 16 bits thaønh soá BCD: Cuù phaùp: ITB Leänh khoâng coù toaùn haïng Tác dụng: Chuyeån ñoåi moät soá nguyeân 16 bits thaønh soá BCD coù 3 chöõ soá. Keát quaû ñöôïc caát laïi vaøo töø thaáp cuûa thanh ghi ACCU1. Neáu soá nguyeân 16 bits caàn chuyeån ñoåi coù giaù trò tuyeät ñoái lôùn hôn 999, CPU seõ thoâng baùo trong thanh ghi traïng thaùi döôùi daïng keát quaû traøn.
  • 117. Leänh chuyeån ñoåi soá nguyeân 32 bits thaønh soá BCD: Cuù phaùp: DTB Leänh khoâng coù toaùn haïng Tác dụng: Chuyeån ñoåi moät soá nguyeân 32 bits thaønh soá BCD coù 7 chöõ soá. Keát quaû ñöôïc caát laïi vaøo thanh ghi ACCU1. Neáu soá nguyeân 32 bits caàn chuyeån ñoåi coù giaù trò tuyeät ñoái lôùn hôn 9999999, CPU seõ thoâng baùo trong thanh ghi traïng thaùi döôùi daïng keát quaû traøn.
  • 118. 4.13.2. Chuyeån ñoåi soá nguyeân 16 bits thaønh soá nguyeân 32 bits Cuù phaùp: ITD Leänh khoâng coù toaùn haïng Tác dụng: Thöïc hieän vieäc chuyeån ñoåi moät soá nguyeân 16 bits trong töø thaáp cuûa ACCU1 thaønh soá nguyeân 32 bits. Keát quaû ñöôïc caát vaøo laïi ACCU1. Leänh khoâng laøm thay ñoåi noäi dung cuûa thanh ghi traïng thaùi.
  • 119. 4.13.3. Chuyeån ñoåi soá nguyeân 32 bits thaønh soá thöïc Cuù phaùp: DTR Leänh khoâng coù toaùn haïng Tác dụng: Thöïc hieän vieäc chuyeån ñoåi moät soá nguyeân 32 bits trong thanh ghi ACCU1 thaønh soá thöïc. Keát quaû ñöôïc caát vaøo laïi ACCU1. Leänh khoâng laøm thay ñoåi noäi dung cuûa thanh ghi traïng thaùi.
  • 120. 4.14. Boä thôøi gian ( Timer) 4.14.1. Nguyên tắc làm việc Bộ thời gian (Timer) là bộ tạo thời gian trễ τ mong muốn giữa tín hiệu logic đầu vào u(t) và tín hiệu logic đầu ra y(t). Thời gian trễ τ mong muốn được khai báo với Timer bằng một giá trị 16 bits, bao gồm hai thành phần: - Độ phân giải với đơn vị ms. - Một số nguyên (BCD) trong khoảng 0 – 999 được gọi là PV (Preset Value) Như vậy, thời gian τ mong muốn: τ = Độ phân giải*PV
  • 121. 4.14.2. Khai báo sử dụng: Vieäc khai baùo söû duïng Timer 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 u(t) -Khai baùo thôøi gian treã mong muoán -Khai baùo loaïi Timer ñöôïc söû duïng (SD,SS,SP,SE,SF) -Khai baùo tín hieäu xoaù Timer neáu muoán söû duïng cheá ñoä reset chuû ñoäng Trong taát caû 5 böôùc treân, caùc böôùc 2, 3, 4 laø baét buoäc.
  • 122. 1. Khai baùo tín hieäu enable (chuû ñoäng kích) Cuù phaùp: A < Ñòa chæ bit > FR < teân Timer > Toán hạng thứ nhất “Địa chỉ bit” xác định tín hiệu sẽ được sử dụng làm tín hiệu chủ động kích cho Timer coù teân trong toaùn haïng thöù hai. 2. Khai baùo tín ñaàu vaøo Cuù phaùp: A < Ñòa chæ bit > “Địa chỉ bit” trong toán hạng xác định tín hiệu đầu vào u(t) cho Timer.
  • 123. 3. Khai baùo thôøi gian treã mong muoán Cuù phaùp: L < haèng soá > “Hằng số” trong toán hạng xác định giá trị thời gian treã τ ñaët tröôùc cho Timer. Haèng soá naøy coù 2 daïng: - S5T#giôøH_phuùtM_giaâyS_miligiaâyMS. Ñaây laø daïng döõ lieäu thôøi gian tröïc tieáp. - Daïng moät soá nguyeân 16 bits coù caáu truùc nhö sau:
  • 124. 4. 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öôøn leâ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. Những lệnh này tác động vào thanh ghi trạng thái như sau:
  • 125. 5. Khai baùo tín hieäu xoaù (Reset) Cuù phaùp: A < ñòa chæ bit > R < Teân timer > Toán hạng thứ nhất “Địa chỉ bit” xá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.
  • 126. 4.15. Boä ñeám ( Counter) 4.15.1. Nguyên tắc làm việc Couter là bộ đếm thực hiện chức năng đếm sườn xung của các tín hiệu đầu vào. Ký hiệu: Cx Trong đó, x là số nguyên trong khoảng từ 0-255
  • 127. 4.15.2. 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
  • 128. 1. Khai baùo tín hieäu enable (kích ñeám) Cuù phaùp: A < Ñòa chæ bit > FR < teân Counter > Toán hạng thứ nhất “Địa chỉ bit” xác định tín hiệu sẽ được sử dụng làm tín hiệu kích đếm cho boä ñeám coù teân cho trong toaùn haïng thöù hai. 2. Khai baùo tín hieäu ñöôïc ñeám tieán theo söôøn leân Cuù phaùp: A < Ñòa chæ bit > CU < Teân Counter > Toán hạng thứ nhất “Địa chỉ bit” xá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. 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ò.
  • 129. 3. Khai baùo tín hieäu ñöôïc ñeám luøi theo söôøn leân Cuù phaùp: A < Ñòa chæ bit > CD < Teân Counter > Toán hạng thứ nhất “Địa chỉ bit” xá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. 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 ñi 1 ñôn vò. 4. Khai baùo tín hieäu ñaët (set) giaù trò ñaët tröôùc (PV) Cuù phaùp: A < Ñòa chæ bit > L C# < haèng soá > S < Teân Counter >
  • 130. 5. Khai baùo tín hieäu xoaù (reset) Cuù phaùp: A < Ñòa chæ bit > R < Teân Counter > Toán hạng thứ nhất “Địa chỉ bit”xá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à 0.
  • 131. CHƯƠNG 5: KỸ THUẬT LẬP TRÌNH 5.1. Lập trình tuyến tính 5.2. Lập trình có cấu trúc
  • 132. 5.1. Lập trình tuyến tính Kỹ thuật lập trình tuyến tính là phương pháp lập trình mà toàn bộ chương trình ứng dụng sẽ chỉ nằm trong một khối OB1.
  • 133. Local block của OB1 Khi thực hiện khối OB1, hệ điều hành luôn cấp một local block có kích thước mặc định là 20bytes trong Work memory để OB1 có thể lấy được những dữ liệu từ hệ điều hành. Mặc dù kích thước chỉ là 20 bytes mặc định, nhưng nguời sử dụng có thể mở rộng local block để sử dụng thêm các biến nhớ cho chương trình. Local block được giải phóng ở cuối mỗi vòng quét và được cấp lại ở đầu vòng quét sau nên các giá trị có trong local block của vòng quét trước cũng bị mất khi bắt đầu vòng quét mới.
  • 134. 5.2. Lập trình có cấu trúc Ngoài khối chương trình chính OB1, ta còn sử dụng thêm các khối chương trình con OB, FB, FC.  Trong một chương trình, khối OB1 luôn được quét qua, còn các khối chương trình con khác chỉ được quét khi có lệnh gọi đến nó.  Khi có lệnh gọi, chương trình chính OB1 dừng tạm thời, và chương trình con được gọi sẽ được thực hiện. Sau khi thực hiện xong chương trình con, chu trình tiếp tục quét dòng lệnh tiếp theo của OB1.
  • 135. CHƯƠNGCHƯƠNG 66: B: BÀÀI TI TẬẬP THP THỰỰC HC HÀÀNHNH 6.1. Phân lo6.1. Phân loạại si sảản phn phẩẩm dm dùùng mng mộột ct cảảm bim biếếnn 6.2. Phân lo6.2. Phân loạại si sảản phn phẩẩm dm dùùng hai cng hai cảảm bim biếếnn 6.3.6.3. ĐĐếếm sm sốố ssảản phn phẩẩm dm dùùng mng mộột ct cảảm bim biếếnn 6.4. Phân lo6.4. Phân loạại vi vàà đđếếm sm sảản phn phẩẩm dm dùùng hai cng hai cảảm bim biếếnn 6.5. Hi6.5. Hiểển thn thịị ssốố ssảản phn phẩẩm trên led 7m trên led 7 đođoạạnn 6.6.6.6. ĐiĐiềều khiu khiểển đn đèèn giao thôngn giao thông