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
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
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::
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).
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
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
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
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