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

: GIỚỚII U DÒNG SẢẢN PHN PHẨẨMM

CHƯƠNG MỞỞ Đ ĐẦẦUU: GI CHƯƠNG M THITHIỆỆU DÒNG S

SIEMENS SIEMENS

• 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ƯƠNG 11:: CHƯƠNG NHNHẬẬP MÔN PLC S7

P 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

Boolean 2.1.2.1. ĐĐạạii ssốố Boolean

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)

y

z

Ví dụ minh họa: x

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. CCáácc phphéépp totoáánn trêntrên hhààmm haihai trtrịị 2.1.2.

a. Phép Not (y = Not(x))

xx yy

00 11

11 00

(z = x + y) b. b. PhPhéépp ccộộngng (z = x + y)

XX YY ZZ

00 00 00

00 11 11

11 00 11

11 11 11

c. c. PhPhéépp giaogiao (z = (z = x^yx^y))

XX YY ZZ

00 00 00

00 11 00

11 00 00

11 11 11

2.2.2.2. BiBiểểuu didiễễnn ssốố nguyên

dương nguyên dươ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. Trong 2.2.2.

Trong 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

Hexadecimal) Trong hhệệ cơcơ ssốố 16 (16 (hhệệ Hexadecimal)

2.2.3. Trong 2.2.3. 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

nguyên dương 2.2.4. Mã BCD trong sốố nguyên dương 2.2.4. Mã BCD trong s 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ƯƠNG 22: C: CẤẤUU TRTRÚÚCC PLC S7 CHƯƠNG

PLC 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 module

module ccủủaa PLC S7

PLC 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,…

cung ccấấpp ngunguồồnn chocho CPU CPU

-- NguNguồồnn nuôi

(PS: Power Supply): cung

Module ttíínn hihiệệuu vvààoo rara, , baobao ggồồmm::

Module ghghéépp nnốốii Module điđiềềuu khikhiểểnn riêng

riêng: : điđiềềuu

ĐưĐượợcc chiachia ththàànhnh 5 5 loloạạii chchíínhnh sausau:: nuôi (PS: Power Supply): vvàà ccáácc module module khkháácc.. SM (Signal Module): Module -- SM (Signal Module): + 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): Module IM (Interface Module): -- FM (Function Module): Module -- FM (Function Module): khikhiểểnn Servo, Servo,…… CP (Communication Module): Module

-- CP (Communication Module):

thông Module truytruyềềnn thông

2.3.2. CCáácc module 2.3.2. module mmởở rrộộngng::

2.4. KiKiểểuu ddữữ liliệệuu vvàà phânphân chiachia bbộộ nhnhớớ 2.4.

 KiKiểểuu BOOL:  KiKiểểuu BYTE:

dung lưlượợngng mmộộtt bit, bit, ccóó gigiáá trtrịị 0 0 hohoặặcc 11 8 bits, đưđượợcc ddùùngng đđểể bibiểểuu didiễễnn ssốố

BOOL: dung BYTE: ggồồmm 8 bits, dương trong 255. trong khokhoảảngng ttừừ 0 0 đđếếnn 255.

nguyên dương nguyên  KiKiểểuu WORD: WORD: ggồồmm 2 bytes, nguyên 2 bytes, bibiểểuu didiễễnn mmộộtt ssốố nguyên

nguyên trong trong khokhoảảngng ttừừ

DINT: 4 bytes, nguyên ttừừ --

65535. dương ttừừ 0 0 đđếếnn 65535. dương 2 bytes, bibiểểuu didiễễnn ssốố nguyên INT: 2 bytes,  KiKiểểuu INT: 32767. 32768 đđếếnn 32767. --32768  KiKiểểuu DINT: 4 bytes, bibiểểuu didiễễnn ssốố nguyên 2147483647. 2147483648 đđếếnn 2147483647. 2147483648

2.4. KiKiểểuu ddữữ liliệệuu vvàà phânphân chiachia bbộộ nhnhớớ ((tttt)) 2.4.

 KiKiểểuu S5TS5T (hay S5TIME): theotheo gigiờờ/ph/phúút/giây/mili

(hay S5TIME): khokhoảảngng ththờờii giangian, , đưđượợcc ttíínhnh

 KiKiểểuu TOD:

t/giây/mili giâygiây. .

TOD: bibiểểuu didiễễnn gigiáá trtrịị ththờờii giangian ttíínhnh theotheo

DATE: bibiểểuu didiễễnn gigiáá trtrịị ththờờii giangian ttíínhnh theotheo nămnăm

t/giây.. gigiờờ/ph/phúút/giây  KiKiểểuu DATE: ng/ngààyy.. //ththááng/ng  KiKiểểuu CHAR: CHAR: bibiểểuu didiễễnn mmộộtt hohoặặcc nhinhiềềuu kýký ttựự ((nhinhiềềuu

nhnhấấtt llàà 4 4 kýký ttựự).).

2.5.2.5. CCấấuu trtrúúcc bbộộ nhnhớớ ccủủaa CPUCPU

300 đưđượợcc chiachia llààmm 3 3 vvùùngng

BBộộ nhnhớớ ccủủaa S7 S7 –– 300 chchíínhnh::

 VVùùngng chchứứaa chương

chương trtrììnhnh ứứngng ddụụngng:: đưđượợcc chiachia llààmm 3 3

chương trtrììnhnh ttổổ (Organization block): mimiềềnn chchứứaa chương

chương trtrììnhnh con (Function): mimiềềnn chchứứaa chương

chương trtrììnhnh đãđã ggọọii nnóó..

(Function block): mimiềềnn chchứứaa chương

mimiềềnn:: + OB+ OB (Organization block): chchứứcc.. con đưđượợcc ttổổ + FC+ FC (Function): chchứứcc ththàànhnh hhààmm ccóó bibiếếnn hhììnhnh ththứứcc đđểể traotrao đđổổii ddữữ liliệệuu vvớớii chương con, chương trtrììnhnh con, + FB+ FB (Function block): đưđượợ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ương chương trtrììnhnh nnààoo khkháácc. .

chương  VVùùngng chchứứaa thamtham ssốố ccủủaa hhệệ điđiềềuu hhàànhnh vvàà chương

(Process image input): mimiềềnn bbộộ đđệệmm ccáácc ddữữ liliệệuu ccổổngng vvààoo

(Process image output): mimiềềnn bbộộ đđệệmm ccáácc ddữữ liliệệuu ccổổngng rara

bit (M), byte (MB), ttừừ (MW) hay

(MD). (MW) hay ttừừ kkéépp (MD).

(Timer) baobao ggồồmm viviệệcc lưulưu

(PV: Preset value), gigiáá trtrịị đđếếmm

(Counter), baobao ggồồmm viviệệcc lưulưu logic đđầầuu rara

trtrììnhnh ứứngng ddụụngng + I+ I (Process image input): ssốố. . + Q+ Q (Process image output): ssốố.. Chương trtrììnhnh ứứngng ddụụngng ssửử ddụụngng vvùùngng + M: mimiềềnn ccáácc bibiếếnn ccờờ. . Chương + M: 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), + T:+ T: mimiềềnn nhnhớớ phphụụcc vvụụ bbộộ ththờờii giangian (Timer) gigiữữ gigiáá trtrịị ththờờii giangian đđặặtt trưtrướớcc (PV: Preset value), (CV: Current value) ththờờii giangian ttứứcc ththờờii (CV: Current value) + C:+ C: mimiềềnn nhnhớớ phphụụcc vvụụ bbộộ đđếếmm (Counter), gigiữữ gigiáá trtrịị đđặặtt trưtrướớcc, , gigiáá trtrịị đđếếmm ttứứcc ththờờii, , gigiáá trtrịị logic ccủủaa bbộộ đđếếmm.. + PI: MiMiềềnn đđịịaa chchỉỉ ccổổngng vvààoo ccủủaa ccáácc module + PI: + PQ: mimiềềnn đđịịaa chchỉỉ ccổổngng rara chocho ccáácc module + PQ:

module tương module tương

tương ttựự tương ttựự

 VVùùngng chchứứaa ccáácc khkhốốii ddữữ liliệệuu: :

ĐưĐượợcc chiachia ththàànhnh 2 2 loloạạii

(Data block): MiMiềềnn chchứứaa ccáácc ddữữ liliệệuu đưđượợcc ttổổ chchứứcc

+ DB+ DB (Data block): ththàànhnh khkhốốii. . KKíínhnh thưthướớcc vvàà ssốố lưlượợngng khkhốốii do do ngưngườờii ssửử ddụụngng quyquy đđịịnhnh, , phphùù hhợợpp vvớớii ttừừngng bbààii totoáánn điđiềềuu khikhiểểnn

(Local data block): MiMiềềnn ddữữ liliệệuu đđịịaa phương

chương trtrììnhnh OB, FC, FB

OB, FC, FB. trong OB, FC, FB. phương, , đưđượợcc + L+ L (Local data block): OB, FC, FB ttổổ chchứứcc, , ssửử ddụụngng chocho ccáácc khkhốốii chương ccáácc bibiếếnn nhnháápp ttứứcc ththờờii vvàà traotrao đđổổii ddữữ liliệệuu ccủủaa bibiếếnn hhììnhnh dung chương trtrììnhnh đãđã ggọọii nnóó. . NNộộii dung ththứứcc vvớớii nhnhữữngng khkhốốii chương trong mimiềềnn nhnhớớ nnààyy ssẽẽ bbịị xxóóaa khikhi kkếếtt ccủủaa mmộộtt ssốố ddữữ liliệệuu trong tương ứứngng trong chương trtrììnhnh tương ththúúcc chương

2.6. VòngVòng ququéétt chương 2.6.

chương trtrììnhnh

chương trtrììnhnh theotheo chuchu trtrììnhnh llặặpp. . MMỗỗii

(scan). MMỗỗii vòng vòng ququéétt (scan). vòng ququéétt

chương trtrììnhnh. .

 Trong

chương trtrììnhnh đưđượợcc ththựựcc hihiệệnn ttừừ vòng ququéétt, , chương

 SauSau giaigiai đođoạạnn ththựựcc hihiệệnn chương

PLC ththựựcc hihiệệnn chương  PLC vòng llặặpp đưđượợcc ggọọii llàà vòng vòng chuyểểnn ddữữ liliệệuu ttừừ ccáácc ccổổngng đưđượợcc bbắắtt đđầầuu bbằằngng giaigiai đođoạạnn chuy 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ương Trong ttừừngng vòng OB1. llệệnhnh đđầầuu tiêntiên đđếếnn llệệnhnh kkếếtt ththúúcc ccủủaa khkhốốii OB1.

chương trtrììnhnh llàà giaigiai đođoạạnn

dung ccủủaa bbộộ đđệệmm ảảoo Q Q ttớớii ccáácc ccổổngng rara

chuyểểnn ccáácc nnộộii dung chuy ssốố. .

thông  VòngVòng ququéétt đưđượợcc kkếếtt ththúúcc bbằằngng giaigiai đođoạạnn truytruyềềnn thông

 ThThờờii giangian ccầầnn thithiếếtt đđểể PLC ququéétt ggọọii llàà ththờờii giangian vòng

nnộộii bbộộ vvàà kikiểểmm llỗỗii. .

vòng PLC ththựựcc hihiệệnn đưđượợcc mmộộtt vòng (Scan time) vòng ququéétt (Scan time)

chương trtrììnhnh

2.7.2.7. CCấấuu trtrúúcc chương

chương trtrììnhnh sausau::

CCóó 2 2 ddạạngng ccấấuu trtrúúcc chương  LLậậpp trtrììnhnh tuytuyếếnn ttíínhnh:: ToToàànn bbộộ chương chương trtrììnhnh điđiềềuu khikhiểểnn

trong mmộộtt khkhốốii trong trong bbộộ nhnhớớ. . LoLoạạii hhììnhnh ccấấuu trtrúúcc

OB1, llàà trong nnóó PLC luôn xuyên, , ttừừ llệệnhnh đđầầuu tiêntiên đđếếnn llệệnhnh cucuốốii ccùùngng vvàà

 LLậậpp trtrììnhnh ccóó ccấấuu trtrúúcc:: Chương

nnằằmm trong tuytuyếếnn ttíínhnh nnààyy phphùù hhợợpp vvớớii nhnhũũngng bbààii totoáánn ttựự đđộộngng nhnhỏỏ, , không phphứứcc ttạạpp. . KhKhốốii đưđượợcc chchọọnn phphảảii llàà khkhốốii OB1, không khkhốốii mmàà PLC luôn ququéétt vvàà ththựựcc hihiệệnn ccáácc llệệnhnh trong thưthườờngng xuyên quay llạạii llệệnhnh đđầầuu tiêntiên.. quay

Chương trtrììnhnh đưđượợcc chiachia ththàànhnh riêng vvàà ccáácc phphầầnn

trong nhnhữữngng khkhốốii chương chương trtrììnhnh khkháácc nhaunhau. .

nhnhữữngng phphầầnn nhnhỏỏ vvớớii ttừừngng nhinhiệệmm vvụụ riêng nnààyy nnằằmm trong 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..

chương trtrììnhnh ((tttt))

2.7.2.7. CCấấuu trtrúúcc chương

PLC S7 –– 300 PLC S7

-- LoLoạạii khkhốốii OBOB (Organization block):

300 ccóó 4 4 loloạạii khkhốốii cơcơ bbảảnn sausau:: (Organization block): khkhốốii ttổổ chchứứcc vvàà ququảảnn lýlý chương trtrììnhnh điđiềềuu khikhiểểnn. . CCóó ccáácc loloạạii khkhốốii OB OB ccóó chchứứcc năngnăng chương khkháácc nhaunhau nhưnhư: OB1, OB35, OB40,

-- LoLoạạii khkhốốii FCFC (Program block):

: OB1, OB35, OB40,…… (Program block): khkhốốii chương

chương trtrììnhnh vvớớii nhnhữữngng

chương trtrììnhnh con

chchứứcc năngnăng riêng hhààmm. . MMộộtt chương

riêng gigiốốngng nhưnhư mmộộtt chương con hohoặặcc mmộộtt chương trtrììnhnh ứứngng ddụụngng ccóó ththểể ccóó nhinhiềềuu khkhốốii FC.FC. (Function block): llàà loloạạii khkhốốii FC FC đđặặcc bibiệệtt ccóó

-- LoLoạạii khkhốốii FBFB (Function block):

khkhảả năngnăng traotrao đđổổii mmộộtt lưlượợngng ddữữ liliệệuu llớớnn vvớớii ccáácc khkhốốii chương trtrììnhnh khkháácc nhaunhau.. chương -- LoLoạạii khkhốốii DBDB (Data block):

(Data block): khkhốốii chchứứaa ccáácc ddữữ liliệệuu ccầầnn thithiếếtt chương trtrììnhnh. . CCáácc thamtham ssốố ccủủaa khkhốốii do do ngưngườờii

trong ccáácc khkhốốii đưđượợcc liênliên kkếếtt vvớớii nhaunhau

chuyểểnn khkhốốii. S7

. S7 –– 300

300 chocho phphéépp ggọọii

đđểể ththựựcc hihiệệnn chương ddùùngng ttựự đđặặtt Chương trtrììnhnh trong Chương bbằằngng ccáácc llệệnhnh ggọọii khkhốốii, , chuy con llồồngng nhaunhau. . chương trtrììnhnh con chương

2.8.2.8. NhNhữữngng khkhốốii OBOB đđặặcc bibiệệtt CCáácc khkhốốii OB OB nnààyy chchỉỉ ththựựcc hihiệệnn khikhi xuxuấấtt hihiệệnn ttíínn

 OB10OB10 (Time of Day Interrupt):

hihiệệuu bbááoo ngngắắtt tương tương ứứngng..

(Time of Day Interrupt): Chương

Chương trtrììnhnh trong trong OB10 ssẽẽ đưđượợcc ththựựcc hihiệệnn khikhi gigiáá trtrịị ccủủaa đđồồngng hhồồ

khkhốốii OB10 ththờờii giangian ththựựcc nnằằmm trong quyquy đđịịnhnh. . ViViệệcc quyquy đđịịnhnh khokhoảảngng ththờờii giangian hay OB10 đưđượợcc ththựựcc hihiệệnn nhnhờờ chương OB10

 OB20OB20 (Time Delay Interrupt):

trong mmộộtt khokhoảảngng ththờờii giangian đãđã đưđượợcc hay ssốố llầầnn ggọọii chương trtrììnhnh hhệệ ththốốngng SFC28 SFC28 Chương trtrììnhnh trong trong (Time Delay Interrupt): Chương

OB20 ssẽẽ đưđượợcc ththựựcc hihiệệnn sausau mmộộtt khokhoảảngng ththờờii giangian chương trtrììnhnh hhệệ ththốốngng SFC32 SFC32

 OB35OB35 (Cyclic Interrupt):

khkhốốii OB20 trtrễễ đđặặtt trưtrướớcc kkểể ttừừ khikhi ggọọii chương đđểể đđặặtt ththờờii giangian trtrễễ..

(Cyclic Interrupt): Chương Chương trtrììnhnh trong OB35 ssẽẽ

áchch đđềềuu nhau

trong OB35 nhau mmộộtt khokhoảảngng ththờờii giangian ccốố àyy ssẽẽ llà 100ms vvà à 100ms à ccóó ththểể

đưđượợcc ththựựcc hihiệệnn ccá đđịịnhnh. . MMặặcc đđịịnhnh, , khokhoảảngng ththờờii giangian nnà thay đđổổii gigiá àyy.. thay á trtrịị nnà

 OB40OB40 (Hardware Interrupt):

Chương trtrììnhnh trong (Hardware Interrupt): Chương

thông qua qua ccáácc ccổổngng vvààoo module SM, thông qua qua ccáácc module SM, onboard đđặặcc bibiệệtt hohoặặcc thông

OB40 trong OB40 ssẽẽ đưđượợcc ththựựcc hihiệệnn khikhi xuxuấấtt hihiệệnn mmộộtt ttíínn hihiệệuu bbááoo ngngắắtt ttừừ ngongoạạii vi vi đưađưa vvààoo module CPU module CPU thông rara ssốố onboard CP, FM. CP, FM.

chưa kkếếtt ththúúcc ởở llầầnn ggọọii

 OB81OB81 (Power Supply Fault): Module CPU

(Cycle Time Fault): ĐưĐượợcc ththựựcc hihiệệnn khikhi ththờờii giangian  OB80OB80 (Cycle Time Fault): (scan time) vưvượợtt ququáá khokhoảảngng ththờờii giangian ccựựcc vòng ququéétt (scan time) vòng đđạạii đãđã quyquy đđịịnhnh hohoặặcc khikhi ccóó mmộộtt ttíínn hihiệệuu ngngắắtt ggọọii mmộộtt khkhốốii OB OB nnààoo đđóó mmàà khkhốốii OB OB nnààyy chưa trưtrướớcc. . MMặặcc đđịịnhnh, scan time 150ms. , scan time ccựựcc đđạạii llàà 150ms.

(Power Supply Fault): Module CPU ssẽẽ ggọọii

trong khkhốốii OB81 OB81 khikhi phpháátt hihiệệnn ththấấyy ccóó llỗỗii

chương trtrììnhnh trong chương nuôi.. vvềề ngunguồồnn nuôi

(Diagnostic Interrupt): ĐưĐượợcc ggọọii khikhi CPU CPU phpháátt

module vvààoo rara mmởở rrộộngng. . CCáácc

 OB82OB82 (Diagnostic Interrupt): hihiệệnn ccóó ssựự ccốố ttừừ ccáácc module module mmởở rrộộngng nnààyy phphảảii llàà nhnhữữngng module module ttựự kikiểểmm tratra mmììnhnh..

 OB85OB85 (Not Load Fault):

module ccóó khkhảả năngnăng

không ccóó trong

 OB87OB87 (Communication Fault): trong truytruyềềnn thông

(Not Load Fault): ĐưĐượợcc ggọọii khikhi phpháátt hihiệệnn ththấấyy nhưng chương trtrììnhnh ứứngng ddụụngng ccóó ssửử ddụụngng chchếế đđộộ ngngắắtt nhưng chương trong khkhốốii chương trtrììnhnh xxửử lýlý ttíínn hihiệệuu ngngắắtt llạạii không chương OB OB tương tương ứứngng..

(Communication Fault): ĐưĐượợcc ggọọii khikhi CPU CPU phpháátt không ccóó ttíínn thông, , vvíí ddụụ nhưnhư không

hihiệệnn ththấấyy llỗỗii trong hihiệệuu trtrảả llờờii ttừừ đđốốii ttáácc. .

 OB100

(Start Up Information): ĐưĐượợcc ththựựcc hihiệệnn mmộộtt llầầnn

 OB121

STOP sang RUN. chuyểểnn trtrạạngng ththááii ttừừ STOP sang RUN.

(Synchronous): ĐưĐượợcc ththựựcc hihiệệnn khikhi CPU CPU phpháátt

chương trtrììnhnh nhưnhư đđổổii saisai kikiểểuu ddữữ liliệệuu trong chương

 OB122

DB, FC, FB không không ccóó trong trong bbộộ

module trong

(Synchronous error): ĐưĐượợcc ththựựcc hihiệệnn khikhi CPU CPU chương trtrììnn, , trong chương module vvààoo rara mmởở

OB100 (Start Up Information): khikhi CPU CPU chuy OB121 (Synchronous): hihiệệnn ththấấyy llỗỗii trong hohoặặcc llỗỗii truytruy nhnhậậpp khkhốốii DB, FC, FB nhnhớớ ccủủaa CPU.CPU. OB122 (Synchronous error): phpháátt hihiệệnn ththấấyy llỗỗii truytruy nhnhậậpp module vvíí ddụụ chương rrộộngng nhưng chương trtrììnhnh ccóó llệệnhnh truytruy nhnhậậpp module nhưng llạạii không không ttììmm ththấấyy module module nnààyy..

CHƯƠNG 33:: HƯHƯỚỚNG DNG DẪẪN SN SỬỬ DDỤỤNGNG CHƯƠNG P TRÌNH PLC S7 -- 300300 PHPHẦẦN MN MỀỀM LM LẬẬP TRÌNH PLC S7

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

 Bảng cấu hình cứng về tất cả các module của từng

Một project gồm có các thành phần sau:

 Bảng tham số xác định chế độ làm việc cho từng

trạm PLC.

 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ộ

module

mạng hoặc giám sát từng trạm PLC của mạng

project 3.3. CCáácc bưbướớcc sosoạạnn ththảảoo mmộộtt project 3.3.

- 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ƯƠNG 44: NGÔN NG CHƯƠNG

P TRÌNH STL : NGÔN NGỮỮ LLẬẬP 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. NhNhóómm llệệnhnh logic 4.2.

logic titiếếpp điđiểểmm

= <= >

logic ccảả RLO RLO ttớớii ô ô nhnhớớ ccóó đđịịaa chchỉỉ

trong totoáánn hhạạngng

thanh ghighi trtrạạngng ththááii nhưnhư sausau:: 4.2.1. LLệệnhnh ggáánn:: 4.2.1. CCúú phpháápp: : bit I, Q, L, M, D ToToáánn hhạạngng llàà đđịịaa chchỉỉ bit I, Q, L, M, D LLệệnhnh ggáánn gigiáá trtrịị logic đưđượợcc chchỉỉ ththịị trong LLệệnhnh ttáácc đđộộngng vvààoo thanh

4.2.2. LLệệnhnh ththựựcc hihiệệnn phphéépp ttíínhnh ^^ 4.2.2.

A >

bit I, BOOL hohoặặcc đđịịaa chchỉỉ bit I,

logic ccủủaa totoáánn hhạạngng FC = 0, llệệnhnh ssẽẽ ggáánn gigiáá trtrịị logic RLO. NgưNgượợcc llạạii ssẽẽ ththựựcc hihiệệnn phphéépp ttíínhnh ^ ^ gigiữữaa

CCúú phpháápp:: ToToáánn hhạạngng llàà ddữữ liliệệuu kikiểểuu BOOL Q, M, L, D, T, C. Q, M, L, D, T, C. NNếếuu FC = 0, vvààoo RLO. RLO vvớớii totoáánn hhạạngng vvàà ghighi llạạii kkếếtt ququảả vvààoo RLO. RLO. RLO thanh ghighi trtrạạngng ththááii nhưnhư sausau:: LLệệnhnh ttáácc đđộộngng vvààoo thanh

AN > AN <

bit I, Q, BOOL hohoặặcc đđịịaa chchỉỉ bit I, Q,

FC=0, llệệnhnh ssẽẽ ggáánn gigiáá trtrịị logic

4.2.3. LLệệnhnh ththựựcc hihiệệnn phphéépp ttíínhnh ^ ^ vvớớii gigiáá trtrịị 4.2.3. nghnghịịchch đđảảoo CCúú phpháápp: : ToToáánn hhạạngng llàà ddữữ liliệệuu kikiểểuu BOOL M, L, D, T, C M, L, D, T, C NNếếuu FC=0, totoáánn hhạạngng vvààoo RLO. ttíínhnh ^ ^ gigiữữaa RLO RLO. vvàà ghighi kkếếtt ququảả vvààoo RLO. thanh ghighi trtrạạngng ththááii nhưnhư sausau:: LLệệnhnh ttáácc đđộộngng vvààoo thanh

logic nghnghịịchch đđảảoo ccủủaa RLO. NgưNgượợcc llạạii, , ssẽẽ ththựựcc hihiệệnn phphéépp RLO vvớớii gigiáá trtrịị nghnghịịchch đđảảoo ccủủaa totoáánn hhạạngng

4.2.4. Leänh thöïc hieän pheùp tính hôïp: Cuù phaùp: 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:

O < toaùn haïng >

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

ON < toaùn haïng >

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

A (

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

O (

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

AN (

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

ON (

4.2.10. Leänh thöïc hieän pheùp exclusive or Cuù phaùp: 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.

x < toaùn haïng >

4.2.11. Leänh thöïc hieän pheùp exclusive or not XN < toaùn haïng > Cuù phaùp: 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õ 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.12. Leänh thöïc hieän pheùp exclusive or vôùi giaù trò cuûa bieåu thöùc Cuù phaùp: 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:

X(

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

XN(

4.2.14. Leänh ghi giaù trò logic 1 vaøo RLO Cuù phaùp: Leänh khoâng coù toaùn haïng vaø coù taùc duïng ghi 1 vaøo RLO

SET

4.2.15. Leänh ghi giaù trò logic 0 vaøo RLO Cuù phaùp: Leänh khoâng coù toaùn haïng vaø coù taùc duïng ghi 0 vaøo RLO

CLR

4.2.16. Leänh ñaûo giaù trò RLO Cuù phaùp: Leänh khoâng coù toaùn haïng vaø coù taùc duïng ñaûo noäi dung cuûa RLO

NOT

4.2.17. Leänh gaùn coù ñieàu kieän giaù trò logic 1 vaøo oâ nhôù Cuù phaùp: 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ôù R < toaùn haïng > Cuù phaùp: 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

S < toaùn haïng >

4.2.19. Leänh phaùt hieän söôøn leân FP < toaùn haïng > Cuù phaùp 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ôù T < Toaùn haïng > Cuù phaùp:

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:

STW L

4.3.4. Leänh ghi noäi dung cuûa ACCU1 vaøo thanh ghi traïng thaùi Cuù phaùp:

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

STW T

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

POP

4.3.5. Leänh chuyeån noäi dung cuûa ACCU2 vaøo ACCU1 Cuù phaùp: 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.

PUSH

TAK

4.3.6. Leänh chuyeån noäi dung cuûa ACCU1 vaøo ACCU2 Cuù phaùp: 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: 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: Tác dụng: Đaûo noäi dung hai byte cuûa töø thaáp trong thanh ghi ACCU1.

CAW

4.3.9. Leänh ñaûo noäi dung caùc Byte trong thanh ghi ACCU1 Cuù phaùp: Tác dụng:Đaûo noäi dung taát caû 4 Byte trong thanh ghi ACCU1.

CAD

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

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: Tác dụng: Đaûo noäi dung taát caû caùc Bits trong thanh ghi ACCU1.

INVD

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 AW [< Döõ lieäu haèng >] Cuù phaùp: 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 AD [< Döõ lieäu haèng >] Cuù phaùp:

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 OW [< Döõ lieäu haèng >] Cuù phaùp:

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 OD [< Döõ lieäu haèng >] Cuù phaùp:

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

INC < Toaùn haïng >

4.5.1. Leänh taêng noäi dung thanh ghi ACCU1 Cuù phaùp: 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.

DEC < Toaùn haïng >

4.5.2. Leänh giaûm noäi dung thanh ghi ACCU1 Cuù phaùp: 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: Lệnh có thể có hoặc không có toán hạng

RLD [ < toaùn haï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 RLDA Cuù phaùp: 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).

RRD [ < toaùn haïng > ]

4.6.3. Leänh xoay troøn caùc bits cuûa ACCU1 theo chieàu phaûi Cuù phaùp: 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 RRDA Cuù phaùp: 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 SLD [ < toaùn haïng > ] Cuù phaùp: 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 SRD [ < toaùn haïng > ] Cuù phaùp: Leänh coù theå coù hoaëc khoâng coù toaùn haïng.

SSI [ < toaùn haïng > ]

4.6.9. Leänh dòch phaûi soá nguyeân 16 bit trong ACCU1 Cuù phaùp: 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 SSD [ < toaùn haïng > ] Cuù phaùp: 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: Leänh khoâng coù toaùn haïng .

= = I

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: Leänh khoâng coù toaùn haïng.

<> I

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: Leänh khoâng coù toaùn haïng.

>I

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: Leänh khoâng coù toaùn haïng.

< I

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: Leänh khoâng coù toaùn haïng.

>= I

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: Leänh khoâng coù toaùn haïng.

<= I

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: Leänh khoâng coù toaùn haïng.

= = D

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: Leänh khoâng coù toaùn haïng.

<> D

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: Leänh khoâng coù toaùn haïng.

>D

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: Leänh khoâng coù toaùn haïng.

< D

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: Leänh khoâng coù toaùn haïng.

>= D

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: Leänh khoâng coù toaùn haïng.

<= D

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: Leänh khoâng coù toaùn haïng.

<> R

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: Leänh khoâng coù toaùn haïng.

>= R

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: Leänh khoâng coù toaùn haïng.

<= R

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:

+ I

- I

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

* I

/ I

Leänh nhaân: Cuù phaùp: 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: 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

+ D

- D

Leänh coäng: Cuù phaùp: 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õ Leänh tröø: cuøng nhaän giaù trò laø 1. Cuù phaùp: 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.

* D

/ D

Leänh nhaân: Cuù phaùp: 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: 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.

MOD

Leänh laáy phaàn dö: Cuù phaùp: 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: BEC Cuù phaùp: 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.

JBI < nhaõn >

Reõ nhaùnh khi BR=1 Cuù phaùp: 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

JNBI < nhaõn >

Reõ nhaùnh khi BR=0 Cuù phaùp: 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

JC < nhaõn >

Reõ nhaùnh khi RLO=1 Cuù phaùp: 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

JM < nhaõn >

JP < nhaõn >

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

JZ < nhaõn >

JMZ < nhaõn >

Reõ nhaùnh khi CC1=0 vaø CC0=0 Cuù phaùp: 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 JN < nhaõn > Cuù phaùp: 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: 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.

JPZ < nhaõn >

Reõ nhaùnh khi CC1=CC0=0 hoaëc (CC1=1 vaø CC0=0) Cuù phaùp: 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.

JU < nhaõn >

Reõ nhaùnh voâ ñieàu kieän Cuù phaùp: 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 LOOP < nhaõn > Cuù phaùp: 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: 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.

BTI

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

BTD

Leänh chuyeån ñoåi BCD thaønh soá nguyeân 32 bits: Cuù phaùp: 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: ITB Cuù phaùp: 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.

DTB

Leänh chuyeån ñoåi soá nguyeân 32 bits thaønh soá BCD: Cuù phaùp: 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: Leänh khoâng coù toaùn haïng

ITD

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: Leänh khoâng coù toaùn haïng

DTR

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) A < Ñòa chæ bit > Cuù phaùp: FR < teân Timer >

2. Khai baùo tín ñaàu vaøo Cuù phaùp:

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.

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 A < Ñòa chæ bit > Cuù phaùp: CD < Teân Counter >

4. Khai baùo tín hieäu ñaët (set) giaù trò ñaët tröôùc (PV) Cuù phaùp:

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ò.

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ƯƠNG 66: B: BÀÀI TI TẬẬP THP THỰỰC HC HÀÀNHNH CHƯƠNG

ng hai cảảm bim biếếnn

m trên led 7 đo đoạạnn

6.1. Phân loạại si sảản phn phẩẩm dm dùùng mng mộột ct cảảm bim biếếnn 6.1. Phân lo 6.2. Phân loạại si sảản phn phẩẩm dm dùùng hai c ng hai cảảm bim biếếnn 6.2. Phân lo 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 loạại vi vàà đ đếếm sm sảản phn phẩẩm dm dùùng hai c 6.4. Phân lo 6.5. Hiểển thn thịị ssốố ssảản phn phẩẩm trên led 7 6.5. Hi 6.6.6.6. Đi n giao thông u khiểển đn đèèn giao thông Điềều khi