Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 27

BÀ N ĐÀ O TẠ O ĐIỀ U KHIỂ N ĐỘ NG CƠ BƯỚ C

I. Lý thuyết plc s7-200


1. Khái quát về PLC S7 200
- PLC, (viết tắ t củ a programable logic controller)là thiế t bị điều khiển logic lậ p trình
đượ c, hay thiế tbị logic khả trình cho phép thự c hiện linh hoạ t cá c thuậ t toá n điều
khiển logic thô ng qua mộ t ngô n ngữ lậ ptrình. Như vậ y vớ i chương trình điều khiển
trong PLC trở thà nh bộ điều khiển số nhỏ gọ n có thể dễ dà ngthay đổ i thuậ t toá n điều
khiển và trao đổ i thô ng tin vớ i mô i trườ ng bên ngoà i ( PLC khá c hoặ c má y tính ).S7-
200 là thiế t bị điều khiển logic khả trình củ a hã ng Siemens ( CHLB Đứ c ), có cấ u trú c
kiểumodule và có cá c module mở rộ ng. Cá c module nà y đượ c sử dụ ng vớ i nhữ ng
mụ c đích khá c nhau.Toà n bộ nộ i dung chương trình đượ c lưu trong bộ nhớ củ a PLC,
trong trườ ng hợ p dung lượ ng bộ nhớ khô ng đủ ta có thể sử dụ ng bộ nhớ ngoà i để
lưu chương trình và dữ liệu (Catridge). Dò ng PLC S7-200 có hai họ là 21X ( loạ i cũ )
và 22X ( loạ i mớ i ), trong đó họ 21X khô ng cò n sả nxuấ t nữ a. Họ 21X có cá c đờ i sau:
210, 212, 214, 215-2DP, 216; họ 22X có cá c đờ i sau: 221, 222, 224,224XP, 226,
226XM
2. Cấu trúc phần cứng của S7-200
a. Hình dáng và cấu trúc bên ngoài:
- Các đầu vào/ra số:
+ Đầ u và o (Ix.x ): kết nố i vớ i nú t bấ m, cô ng tắ c, sensor…vớ i điện á p và o tiêu chuẩ n
24VDC.
+ Đầ u ra (Qx.x): kết nố i vớ i thiế t bị điều khiển vớ i cá c điện á p 24VDC/220VAC ( tù y
theo loạ iCPU ).
+ Đầ u và o nguồ n: 24VDC/220VAC ( tù y theo loạ i CPU ).
- Đèn trạng thái:
+ Đèn RUN (mà u xanh): Chỉ bá o PLC đang ở chế độ là m việc và thự c hiện chương
trình đã đượ cnạ p và o bộ nhớ chương trình.
+ Đèn STOP (mà u vàng): Chỉ bá o PLC đang ở chế độ dừ ng và khô ng thự c hiện
chương trình,cá c đầ u ra đều ở trạ ng thá i “OFF”.
+ Đèn SF/DIAG: Chỉ bá o hệ thố ng bị hỏ ng tứ c do lỗ i phầ n cứ ng hoặ c hệ điề u hà nh.
+ Đèn Ix.x(mà u xanh): Chỉ bá o trạ ng thá i củ a đầ u và o số (ON/OFF).
+ Đèn Qx.x(mà u xanh): Chỉ bá o trạ ng thá i củ a đầ u ra số (ON/OFF).
- Port truyền thông:
+ Port truyề n thô ng nố i tiếp RS485: Giao tiế p vớ i PC, PG, TD200, OP, mạ ng biến tầ n…
+ Port cho module mở rộ ng: Kết nố i vớ i module mở rộ ng.
- Công tắc chuyển chế độ:
+ RUN: Cho phép PLC thự c hiện chương trình, khi chương trình lỗ i hoặ c gặ p lệnh
STOP thìPLC tự độ ng chuyển sang chế độ STOP mặ c dù cô ng tắ c vẫ n ở vị trí RUN
( quan sá t đèn trạ ngthá i ).
+ STOP: Dừ ng cưỡ ng bứ c chương trình đang chạ y, cá c đầ u ra chuyển về OFF.
+ TERM: Cho phép ngườ i dù ng chọ n mộ t trong hai chế độ RUN/STOP từ xa, ngoà i ra
cò n đượ cdù ng để download chương trình ngườ i dù ng.

Trang 1
- Vít chỉnh tương tự:
Mỗ i PLC đề u có từ mộ t đến hai vít chỉnh tương tự có thể xoay đượ c 270 độ để thay
đổ i giá trị củ a vù ng nhớ biến trong chương trình.
b. Cấu trúc phần cứng:
Cấ u trú c phầ n cứ ng củ a mộ t PLC gồ m có cá c module sau:
- Module nguồ n.
- Module đầ u và o.
- Module đầ u ra.
- Module đơn vị xử lý trung tâ m (CPU).
- Module bộ nhớ .
- Module quả n lý phố i ghép và o ra.
Khố i ngõ và o
Mô hình tổng quát của một
PLC Bộ nguồ n Đơn vị xử lý Quả n lý ghép
- Đơn vị trung tâ m nố i xử lý trung tâm
Bộ nhớ
(CPU Central Processing
Unit): Khố i ngõ ra
CPU dù ng để xử lý, thự c hiện nhữ ng chứ c năng điề u khiển phứ c tạ p quan trọ ng củ a
PLC. Mỗ iPLC thườ ng có từ mộ t đến hai đơn vị xử lý trung tâ m.CPU thườ ng đượ c chia
là m hai loạ i: đơn vị xử lý “mộ t bit” và đơn vị xử lý “từ ngữ ”:
+ Đơn vị xử lý “mộ t bit”: Chỉ á p dụ ng cho nhữ ng ứ ng dụ ng nhỏ , đơn giả n, chỉ đơn
thuầ n xử lýON/OFF nên kết cấ u đơn giả n, thờ i gian xử lý dà i.
+ Đơn vị xử lý “từ ngữ ”: Có khả năng xử lý nhanh cá c thô ng tin số , văn bả n, phép
toá n, đolườ ng, đá nh giá , kiểm tra nên cấ u trú c phầ n cứ ng phứ c tạ p hơn nhiề u tuy
nhiên thờ i gian xử lýđượ c cả i thiện nhanh hơn.
- Bộ nhớ:
Bao gồ m cá c loạ i bộ nhớ RAM, ROM, EEFROM, là nơi lưu trữ cá c thô ng tin cầ n xử lý
trongchương trình củ a PLC.Bộ nhớ đượ c thiết kế thà nh dạ ng module để cho phép dễ
dà ng thích nghi vớ i cá c chứ c nă ng điề ukhiển vớ i cá c kích cỡ khá c nhau. Muố n mở
rộ ng bộ nhớ chỉ cầ n cắ m thẻ nhớ và o rã nh cắ m chờ sẵ n trênmodule CPU
Bộ nhớ có mộ t tụ dù ng để duy trì dữ liệu chương trình khi mấ t điện
- Khối vào/ra:
Khố i và o ra dù ng để giao tiế p giữ a mạ ch vi điện tử củ a PLC (điện á p 5/15VDC) vớ i
mạ ch cô ngsuấ t bên ngoà i (điện á p 24VDC/220VAC).Khố i ngõ và o thự c hiện việc
chuyển mứ c điện á p từ cao xuố ng mứ c tín hiệu tiêu chuẩ n để đưa và obộ xử lý.
Khố i ngõ ra thự c hiện việc chuyển mứ c tín hiệu từ tiêu chuẩ n sang tín hiệu ngõ ra và
cá ch ly quang.
- Bộ nguồn:
Biến đổ i từ nguồ n cấ p bên ngoà i và o để cung cấ p cho sự hoạ t độ ng củ a PLC.
- Khối quản lý ghép nối:
Dù ng để phố i ghép giữ a PLC vớ i cá c thiết bị bên ngoà i như má y tính, thiế t bị lậ p
trình, bả ng vậ nhà nh, mạ ng truyền thô ng cô ng nghiệp.

Trang 2
c. Ngôn ngữ lập trình.
Có 3 dạ ng ngô n ngữ lậ p trình cơ bả n đó là :
- Phương phá p hình thang ( Ladder Logic ) viết tắ t là LAD.
- Phương phá p liệt kê lệnh ( Statemnt List ) viết tắ t là STL.
- Phương phá p theo dạ ng dữ liệu hình khố i( Data Block) viết tắ t là DB.
- Nếu chương trình dượ c viết theo kiểu LAD, thiết bị lậ p trình sẽ tự tạ o ra mộ t
chương trình theo kiểu STL tương ứ ng. Nhưng ngượ c lạ i khô ng phả i mộ t
chương trình nà o đượ c viết theo kiểu STL cũ ng có thể chuyển đượ c sang LAD.
- LAD là mộ t ngô n ngữ lậ p trình bằ ng đồ hoạ . Nhữ ng thà nh phầ n cơ bả n dù ng
trong LAD tương ứ ng vớ i cá c thà nh phầ n củ a bả ng điều khiển bằ ng rơle.Trong
chương trình LAD cá c phầ n tử cơ bả n dù ng để biểu diễn lệnh logic như sau.
- Tiếp điểm: Là biểu tượ ng (symbol) mô tả cá c tiếp điểm củ a rơ le, cá c tiếp điểm
đó có thể là thườ ng mở hoặ c thườ ng đó ng
- Cuộ n dâ y (coil): Là biểu tượ ng mô tả cá c rơ le đượ c mắ c theo chiều dò ng điện
cung cấ p cho rơ le.
- Hộ p (box): Là biểu tượ ng mô tả cá c hà m khá c nhau, nó là m việc khi có dò ng
điện chạ y đến hộ p. Nhữ ng dạ ng hà m thườ ng đượ c biểu diễn bằ ng hộ p là cá c bộ
thờ i gian (Timer), bộ đếm (Counter) và cá c hà m toá n họ c..
- Mạ ng LAD: Là đườ ng nố i cá c phầ n tử thà nh mộ t mạ ch hoà n thiện, đi từ đườ ng
nguồ n bên trá i sang đườ ng nguồ n bên phả i. Đườ ng nguồ n bên trá i là dâ y nó ng,
cấ p (đườ ng nguồ n bên phả i thườ ng khô ng đượ c thể hiện khi dù ng chương
trình tiện dụ ng STEP7-Mcro/Dos hoặ cMicro/Win).
3. Tập lệnh s7-200
3.1 Lệnh logic với bit
3.1.1 Contact

Trang 3
a. Công tắc

- Cô ng tắ c thườ ng mở (Normally Open, viế t tắ t là NO) và cô ng tắ c thườ ng đó ng


(Normally Closed, viết tắ t là NC). Đố i vớ i PLC, mỗ i cô ng tắ c đạ i diện cho trạ ng
thá i mộ t bit trong bộ nhớ dữ liệ u hay vù ng ả nh củ a cá c đầ u và o,ra. Cô ng tắ c
thườ ng mở sẽ đó ng (ON - nghĩa là cho dò ng điệ n đi qua) khibit bằ ng 1 cò n cô ng
tắ c thườ ng đó ng sẽ đó ng (ON) khi bit bằ ng 0.Trong LAD, cá c lệ nh này đượ c
biể u diễ n bằ ng chính cá c cô ng tắ c thườ ng mở và thườ ng đó ng. Trong FBD, cá c
cô ng tắ c thườ ng mở đượ c biểu diễnnhư cá c đầ u và o hoặ c ra củ a cá c khố i chứ c
nă ng AND hoặ c OR. Cô ng tắ cthườ ng đó ng đượ c thêm dấ u đả o (vò ng trò n nhỏ )
ở đầ u và o tương ứ ng.Trong STL, cá c cô ng tắ c thườ ng mở đượ c sử dụ ng trong
cá c lệnh LOAD, AND hoặ c OR. Lệnh LOAD ghi giá trị bit đượ c đá nh địa chỉ bở i
toá n hạ ngcủ a lệ nh và o đỉnh ngă n xếp, nhữ ng giá trị cũ trong ngă n xếp bị đẩ y
xuố ng mộ t bậ c (giá trị dướ i cù ng sẽ mấ t). Cá c lệ nh AND và OR thự c hiện
phéptoá n logic AND hay OR giữ a giá trị đượ c trỏ đế n bở i toá n hạ ng vớ i đỉnh
ngă n xế p, kết quả đượ c ghi và o đỉnh ngă n xếp, nhữ ng giá trị cũ trong ngă n xếp
bị đẩ y xuố ng mộ t bậ c. Hoà n toà n tương tự đố i vớ i cá c cô ng tắ c thườ ngđó ng,
đượ c sử dụ ng trong cá c lệ nh LOAD NOT, AND NOT và OR NOT (giá trị đượ c trỏ
đến bở i toá n hạ ng sẽ bị đả o).
b. Công tắc tức khắc

- Trong STL, cá c cô ng tắ c thườ ng mở tứ c khắ c đượ c sử dụ ng trong cá c lệ nh


LOAD IMMEDIATE (ghi giá trị đầu vào vật lý vào đỉnh ngăn xếp, những giá trị cũ
trong ngăn xếp bị đẩy xuống một bậc (giá trị dưới cùng sẽ mất)), AND
IMMEDIATE hoặ c OR IMMEDIATE (thực hiện phép toán lô gic And hay Or giữa

Trang 4
giá trị đầu vào vật lý với đỉnh ngăn xếp, kết quả được ghi vào đỉnh ngăn xếp,
những giá trị cũ trong ngăn xếp bị đẩy xuống một bậc). Hoà n toà n tương tự đố i
vớ i cá c cô ng tắ c thườ ng đó ng tứ c khắ c, đượ c sử dụ ng trong cá c lệnh LOAD NOT
IMMEDIATE, AND NOT IMMEDIATE và OR NOT IMMEDIATE (giá trị đầ u và o
vậ t lý bị đả o).
c. Lệnh đảo bit, lệnh sườn
Lệnh đảo :

- Thay đổ i dò ng nă ng lượ ng (Power Flow). Nếu dò ng nă ng lượ ng gặ p lệ nh này,


nó sẽ bị chặ n lạ i.
- Ngượ c lạ i nế u phía trướ c lệnh nà y khô ng có dò ng nă ng lượ ng, nó sẽ trở thà nh
nguồ n cung cấ p dò ng nă ng lượ ng. Trong LAD, lệnh này đượ c biểu diễ n như mộ t
cô ng tắ c. Trong FBD, lệ nh đả o khô ng có biểu tượ ng riêng. Nó đượ c tích hợ p
như là đầ u và o đả o củ a nhữ ng khố i chứ c nă ng khá c (vớ i vò ng trò n nhỏ ở đầ u và
củ a cá c khố i chứ c nă ng đó ). Trong STL, lệnh đả o đả o giá trị củ a đỉnh ngă n xế p:
0 thà nh 1 và 1 thà nh 0.
- Lệnh nà y khô ng có toá n hạ ng.
Lệnh sườn:

- Đề u thuộ c nhó m lệnh cá c cô ng tắ c, ghi nhậ n trạ ng thá i cá c bit dữ liệu (0 hay 1),
quen thuộ c vớ i khá i niệm “mứ c”. Cá c lệnh về sườ n ghi nhậ n khô ng phả i mứ c
đơn thuầ n mà là sự biế n đổ i mứ c. Lệnh sườ n dương (Positive Transition) cho
dò ng nă ng lượ ng đi qua trong khoả ng thờ i gian bằ ng thờ i gian mộ t vò ng quét
khi ở đầ u và o củ a nó có sự thay đổ i mứ c từ 0 lên 1. Lệnh sườ n â m (Negative
Transition) cho dò ng nă ng lượ ng đi qua trong khoả ng thờ i gian bằ ng thờ i gian
mộ t vò ng quét khi ở đầ u và o củ a nó có sự thay đổ i mứ c từ 1 xuố ng 0.
- Trong LAD, cá c lệ nh này đượ c biểu diễn cũ ng như cá c cô ng tắ c. Trong FBD, cá c
lệ nh này đượ c biểu diễn bằ ng cá c khố i chứ c nă ng P và N. Trong STL, lệnh Edge
Up, nế u phá t hiệ n có sự thay đổ i mứ c củ a đỉnh ngă n xếp từ 0 lên 1, sẽ đặ t và o
đỉnh ngă n xế p giá trị 1. Trong trườ ng hợ p ngượ c lạ i, nó đặ t và o đó giá trị 0.
- Tương tự , lệnh Edge Down, nếu phá t hiện có sự thay đổ i mứ c củ a đỉnh ngă n
xếp từ 1 xuố ng 0, sẽ đặ t và o đỉnh ngă n xếp giá trị 1. Trong trườ ng hợ p ngượ c
lạ i, nó cũ ng đặ t và o đó giá trị 0.

Trang 5
- Chú ý: Theo cấu trúc hoạt động của PLC, sự thay đổi mức tất nhiên chỉ được phát
hiện giữa các vòng quét liên tiếp. Do đó mỗi lệnh sườn này cần một bit nhớ để
nhớ trạng thái đầu vào của nó ở vòng quét kế trước. Vì đặc tính này mà tổng số
lệnh sườn được sử dụng trong một chương trình bị hạn chế (do dung lượng bộ
nhớ dành cho chúng có hạn).
3.1.2 Coil

a. Lệnh ra

-
Giá trị bit đượ c định địa chỉ bở i toá n hạ ng củ a lệ nh ra phả n ả nh trạ ng thá i củ a
dò ng nă ng lượ ng (Power Flow) ở đầ u và o lệ nh này. Trong LAD và FBD, lệ nh ra
đặ t giá trị bit đượ c trỏ đến bở i toá n hạ ng củ a nó bằ ng giá trị dò ng nă ng lượ ng ở
đầ u và o củ a lệ nh. Trong STL, lệnh ra sao chép giá trị đỉnh ngă n xế p ra giá trị bit
đượ c trỏ đế n bở i toá n hạ ng củ a lệnh.
b. Lệnh ra tức khắc

Trang 6
- Giá trị đầ u ra rờ i rạ c (digital) vậ t lý đượ c định địa chỉ bở i toá n hạ ng củ a lệ nh ra
trự c tiếp phả n ả nh trạ ng thá i củ a dò ng nă ng lượ ng (Power Flow) ở đầ u và o
lệ nh này. Trong LAD và FBD, lệ nh ra trự c tiế p đặ t đồ ng thờ i giá trị đầ u ra vậ t lý
đượ c trỏ đế n bở i toá n hạ ng củ a nó và bit ả nh củ a đầ u ra nà y bằ ng giá trị dò ng
nă ng lượ ng ở đầ u và o củ a lệ nh. Điều đó khá c vớ i lệ nh ra thô ng thườ ng ở chỗ
lệ nh ra thô ng thườ ng chỉ ghi giá trị và o bit ả nh củ a đầ u ra. Trong STL, lệnh ra
trự c tiếp sao chép giá trị đỉnh ngă n xếp ra đồ ng thờ i giá trị đầ u ra vậ t lý đượ c
trỏ đế n bở i toá n hạ ng củ a lệnh và bit ả nh củ a đầ u ra này.
c. Lệnh Set, Reset

- Cá c lệnh SET và RESET đặ t mộ t số cá c bit liên tiế p trong bộ nhớ dữ liệ u thà nh 1
(Set) hay 0 (Reset). Số lượ ng cá c bit đượ c định bở i toá n hạ ng [N] và bắ t đầ u từ
bit đượ c định địa chỉ bở i toá n hạ ng [bit]. Số lượ ng cá c bit có thể Set hoặ c Reset
nằ m trong khoả ng từ 1 đế n 255. Trong trườ ng hợ p sử dụ ng lệ nh Reset vớ i cá c
bit nằ m trong nhữ ng vù ng T hay C, cá c bộ định thờ i hay bộ đế m tương ứ ng sẽ
bị reset. Nghĩa là bit trạ ng thá i củ a chú ng đượ c đưa về 0 và số đang đế m cũ ng
bị xó a (sẽ có giá trị 0).
- Những lỗi có thể được gây nên bởi các lệnh này (ENO = 0):
+ Bit đặc biệt SM4.3 = 1: lỗi Run - Time.
+ Lỗi 0006: địa chỉ gián tiếp.
+ Lỗi 0091: toán hạng vượt quá giới hạn cho phép.
d. Lệnh Set, Reset Immediat

- Cá c lệnh SET IMMEDIATE và RESET IMMEDIATE đặ t mộ t số cá c đầ u ra rờ i rạ c


(digital) vậ t lý liên tiếp thà nh 1 (Set) hay 0 (Reset). Số lượ ng cá c đầ u ra đượ c
định bở i toá n hạ ng [N] và bắ t đầ u từ đầ u ra đượ c định địa chỉ bở i toá n hạ ng
[bit]. Số lượ ng cá c đầ u ra vậ t lý có thể Set hoặ c Reset nằ m trong khoả ng từ 1
đến 12. Ký tự “I” trong nhữ ng lệnh nà y (Immediate) nó i lên tính tứ c thờ i. Cá c
lệ nh này ghi giá trị mớ i ra cá c đầ u ra vậ t lý đồ ng thờ i ghi cả và o cá c giá trị ả nh
củ a chú ng. Điều đó khá c vớ i nhữ ng lệ nh Set và Reset thô ng thườ ng chỉ ghi giá
trị mớ i và o vù ng ả nh củ a cá c đầ u ra.
- Những lỗi có thể được gây nên bởi các lệnh này (ENO = 0):
Trang 7
+ Bit đặc biệt SM4.3 = 1: lỗi Run - Time.
+ Lỗi 0006: địa chỉ gián tiếp.
+ Lỗi 0091: toán hạng vượt quá giới hạn cho phép
e. Lệnh không làm gì cả
- Lệnh khô ng là m gì (No Operation) khô ng tá c độ ng đế n chương trình. Mặ c dù nó
cũ ng có mộ t toá n hạ ng [N] dạ ng Byte, là mộ t hằ ìng số trong khoả ng từ 1 đế n
255.
3.2 Lệnh so sánh

a. So sánh Byte

- Lệnh so sá nh Byte dù ng để so sá nh 02 giá trị dạ ng byte đượ c định địa chỉ bở i


hai toá n hạ ng ở đầ u và o củ a lệ nh: [IN1] và [IN2]. Có tấ t cả 06 phép so sá nh có
thể đượ c thự c hiện: [IN1] = [IN2], [IN1]>= [IN2], [IN1] <= [IN2], [IN1] > [IN2],
[IN1] < [IN2], [IN1] <>[IN2]. Cá c byte đượ c đem so sánh là nhữ ng giá trị khô ng
dấ u. Trong LAD, lệ nh này có dạ ng mộ t cô ng tắ c và cô ng tắ c đó đó ng (ON) khi
điều kiệ n đem so sá nh có giá trị đú ng. Trong FBD, đầ u ra sẽ có giá trị 1 nếu điều
kiệ n đem so sá nh là đú ng. Trong STL, lệ nh đượ c thự c hiện sẽ ghi giá trị 1 và o
đỉnh ngă n xế p (vớ i nhữ ng lệnh Load) hoặ c thự c hiệ n phép toá n lô gic AND hay
OR (tù y theo lệnh cụ thể ) giá trị 1 vớ i đỉnh ngă n xếp nếu điều kiệ n so sánh
đú ng.
b. So sánh số nguyên (Integer)

- Lệnh so sá nh số nguyên dù ng để so sá nh 02 giá trị dạ ng Integer đượ c định địa


chỉ bở i hai toá n hạ ng ở đầ u và o củ a lệ nh: [IN1] và [IN2]. Có tấ t cả 06 phép so
sá nh có thể đượ c thự c hiện: [IN1] = [IN2], [IN1] >= [IN2], [IN1] <= [IN2], [IN1]
> [IN2], [IN1] < [IN2], [IN1] <> [IN2]. Cá c số nguyên đượ c đem so sá nh là
nhữ ng giá trị có dấ u: 16#7FFF > 16#8000.

Trang 8
c. So sánh từ kép (Double Word)

- Lệnh so sá nh từ kép dù ng để so sá nh 02 giá trị dạ ng Double Word đượ c định


địa chỉ bở i hai toá n hạ ng ở đầ u và o củ a lệnh: [IN1] và [IN2]. Có tấ t cả 06 phép
so sá nh có thể đượ c thự c hiệ n: [IN1] = [IN2], [IN1] >= [IN2], [IN1] <= [IN2],
[IN1] > [IN2], [IN1] < [IN2], [IN1] <> [IN2].Cá c giá trị từ kép đượ c đem so sá nh
là nhữ ng giá trị có dấ u: 16#7FFFFFFF > 16#80000000.
d. So sánh số thực (Real)

- Lệnh so sá nh số thự c dù ng để so sá nh 02 giá trị dạ ng Real đượ c định địa chỉ bở i


hai toá n hạ ng ở đầ u và o củ a lệ nh: [IN1] và [IN2]. Có tấ t cả 06 phép so sá nh có
thể đượ c thự c hiện: [IN1] =[IN2], [IN1] >= [IN2], [IN1] <= [IN2], [IN1] > [IN2],
[IN1] < [IN2], [IN1] <> [IN2]. Cá c số thự c đượ c đem so sánh là nhữ ng giá trị có
dấ u theo kiểu dấ u phẩ y độ ng.
:
3.3 Lệnh chuyển đối

Ngoà i ra cò n có cá c lệnh chuyển đổ i sang mã ASCII.


3.4 Lệnh định thời

Trang 9
- SIMATIC S7-200 có 03 loạ i bộ định thờ i:
+ Bộ đóng trễ (On - Delay Timer) TON

+ Bộ đóng trễ có nhớ (Retentive On - Delay Timer) TONR

+ Bộ ngắt trễ (Off - Delay Timer) TOF

Trang 10
- Cá c bộ đó ng trễ và đó ng trễ có nhớ bắ t đầ u đế m thờ i gian khi có đầ u và o EN
(Enable) ở mứ c 1 (ON). Lú c giá trị đếm đượ c lớ n hơn hoặ c bằ ng giá trị đặ t
trướ c tạ i đầ u và o PT (Preset Time) thì bit trạ ng thá i sẽ đượ c đặ t bằ ng 1 (ON).
Điề u khá c nhau giữ a hai loạ i bộ đó ng trễ này là : bộ đó ng trễ bình thườ ng sẽ bị
reset (cả giá trị đang đế m lẫ n bit trạ ng thá i đề u bị xó a về 0) khi đầ u và o EN
bằ ng 0; trong khi đó bộ định thờ i có nhớ lưu lạ i giá trị củ a nó khi đầ u và o EN
bằ ng 0 và tiế p tụ c đếm nếu đầ u và o EN lạ i bằ ng 1. Như vậ y ta có thể dù ng loạ i
có nhớ để cộ ng thờ i gian nhữ ng lú c đầ u và o EN bằ ng 1. Loạ i bộ định thờ i nà y có
thể reset (xó a giá trị đang đếm về 0) bằ ng lệnh R (Reset). Cả hai loạ i bộ đó ng
trễ vẫ n tiế p tụ c đếm thờ i gian ngay cả sau khi đã đạ t đến giá trị đặ t trướ c PT và
chỉ dừ ng đế m khi đạ t giá trị tố i đa 32767 (16#7FFF). Bộ ngắ t trễ dù ng để đưa
giá trị đầ u ra (bit trạ ng thá i) về 0 (OFF) trễ mộ t khoả ng thờ i gian sau khi đầ u
và o (EN) đổ i về 0. Khi đầ u và o EN đượ c đặ t bằ ng 1 (ON) thì bit trạ ng thá i củ a
bộ ngắ t trễ cũ ng bằ ng 1 ngay lú c đó đồ ng thờ i giá trị đếm củ a nó bị xó a về 0.
Khi đầ u và o EN về 0, bộ định thờ i bắ t đầ u đếm và đếm cho đến khi đạ t giá trị
đặ t trướ c PT. Lú c đó bit trạ ng thá i củ a bộ ngắ t trễ sẽ về 0 đồ ng thờ i nó cũ ng
ngừ ng đế m. Nếu đầ u và o EN chỉ bằ ng 0 trong khoả ng thờ i gian ngắ n hơn thờ i
gian đượ c đặ t rồ i quay lạ i bằ ng 1 thì bit trạ ng thá i củ a bộ định thờ i vẫ n giữ
nguyên bằ ng 1. Bộ ngắ t trễ chỉ bắ t đầ u đế m khi có sườ n thay đổ i từ 1 thà nh 0 ở
đầ u và o EN. Nếu bộ ngắ t trễ ở trong vù ng mộ t SCR (Sequence Control Relay) và
vù ng SCR đó khô ng đượ c kích hoạ t thì giá trị đếm củ a nó đượ c xó a về 0, bit
trạ ng thá i cũ ng bằ ng 0 (OFF) và bộ định thờ i khô ng đếm. Khá i niệ m vù ng SCR
sẽ đượ c định nghĩa ở phầ n sau củ a tà i liệu này.

- Thờ i gian trễ đượ c tính như là tích củ a giá trị đang đếm vớ i độ phân giải củ a
củ a bộ định thờ i.
- Những bộ định thời có nhớ có địa chỉ được qui định riêng. Những bộ định thời
còn lại (không nhớ) có thể được khai báo như là bộ đóng trễ hoặc ngắt trễ,
nhưng không thể là cả hai. Ví dụ không thể có TON 33 và TOF 33 đồng thời.
- Bả ng sau tó m tắ t nhữ ng đặ c điể m hoạ t độ ng củ a ba loạ i bộ định thờ i nêu trên:
- Lệnh Reset (R) có thể đượ c sử dụ ng để reset bấ t kỳ bộ định thờ i nà o. Cá c bộ
định thờ i có nhớ (loạ i TONR) chỉ có thể reset bằ ng lệ nh này. Cá c bộ định thờ i
sau khi reset có bit trạ ng thá i cũ ng như giá trị đếm đề u đượ c xó a về 0. Cá c bộ
ngắ t trễ (TOF) chỉ bắ t đầ u đếm khi có sự thay đổ i từ 1 xuố ng 0 ở đầ u và o IN.
- Các bộ định thời có độ phân giải khác nhau có cách hoạt động cũng khác nhau.
Chúng ta xem xét kỹ hơn về vấn đề này:

Trang 11
Bộ định thời với độ phân giải 1 ms:

- Bộ định thờ i loạ i này đếm số khoả ng thờ i gian 1 ms trô i qua kể từ khi nó đượ c
kích hoạ t. Bộ định thờ i vớ i độ phâ n giả i 1 ms đượ c kích hoạ t bằ ng lệ nh khai bá o
củ a nó nhưng sau đó nó đượ c cậ p nhậ t (bit trạ ng thá i cũ ng như giá trị đế m)
mỗ i giâ y mộ t lầ n mộ t cá ch độ c lậ p khô ng phụ thuộ c và o vò ng quét chương
trình. Nó i mộ t cá ch khá c, mộ t bộ định thờ i loạ i này có thể đượ c cậ p nhậ t nhiều
lầ n trong mộ t vò ng quét nếu như thờ i gian vò ng quét lớ n hơn 1 ms. Bở i vì mộ t
bộ định thờ i vớ i độ phâ n giả i 1 ms có thể đượ c kích hoạ t ở bấ t kỳ mộ t thờ i
điểm nà o trong vò ng 1 ms nên ta nên đặ t giá trị đặ t trướ c lớ n hơn 1 đơn vị so
vớ i giá trị yêu cầ u cầ n đếm. Ví dụ để đếm khoả ng thờ i gian 56 ms, ta thườ ng
đặ t giá trị đặ t trướ c bằ ng 57.
Bộ định thời với độ phân giải 10 ms:

- Bộ định thờ i loạ i này đếm số khoả ng thờ i gian 10 ms trô i qua kể từ khi nó đượ c
kích hoạ t. Bộ định thờ i vớ i độ phâ n giả i 10 ms đượ c kích hoạ t bằ ng lệ nh khai
bá o củ a nó và sau đó nó đượ c cậ p nhậ t (bit trạ ng thá i cũ ng như giá trị đếm)
mỗ i vò ng quét mộ t lầ n ở ngay đầ u mỗ i vò ng quét bằ ng cá ch cộ ng và o giá trị
đang đếm củ a nó số khoả ng thờ i gian 10 ms trô i qua kể từ đầ u vò ng quét trướ c.
Nó i mộ t cá ch khá c, giá trị đang đếm củ a bộ định thờ i loạ i nà y giữ nguyên khô ng
đổ i trong suố t thờ i gian mộ t vò ng quét. Bở i vì mộ t bộ định thờ i vớ i độ phâ n giả i
10 ms có thể đượ c kích hoạ t ở bấ t kỳ mộ t thờ i điể m nà o trong vò ng 10 ms nên
ta nên đặ t giá trị đặ t trướ c lớ n hơn 1 đơn vị so vớ i giá trị yêu cầ u cầ n đếm. Ví
dụ để đế m khoả ng thờ i gian 140 ms, ta thườ ng đặ t giá trị đặ t trướ c bằ ng 15.
Bộ định thời với độ phân giải 100 ms:

- Bộ định thờ i loạ i này tính số khoả ng thờ i gian 100 ms trô i qua kể từ khi nó
đượ c cậ p nhậ t lầ n cuố i. Lệnh khai bá o bộ định thờ i vớ i độ phâ n giả i 100 ms cậ p
nhậ t bit trạ ng thá i cũ ng như giá trị đếm củ a nó bằ ng cá ch cộ ng và o giá trị đang
đếm củ a nó số khoả ng thờ i gian 100 ms trô i qua kể từ vò ng quét trướ c. Như
vậ y, giá trị đang đếm củ a bộ định thờ i loạ i nà y chỉ đượ c cậ p nhậ t khi có lệnh
khai bá o nó thự c hiệ n. Vì thế nế u bộ định thờ i vớ i độ phâ n giả i 100 ms đã đượ c
Trang 12
kích hoạ t nhưng lệ nh khai bá o nó khô ng đượ c thự c hiện trong mỗ i vò ng quét
thì nó có thể khô ng đượ c cậ p nhậ t kịp thờ i và đế m thiế u thờ i gian. Ngượ c lạ i
nế u lệnh khai bá o bộ định thờ i đượ c thự c hiện nhiều lầ n trong mộ t vò ng quét
thì nó có thể đế m dư thờ i gian do mộ t số khoả ng thờ i gian 100 ms đượ c cộ ng
nhiề u lầ n. Tó m lạ i nên sử dụ ng bộ định thờ i loạ i nà y vớ i lệnh khai bá o thự c
hiện chính xá c mỗ i vò ng quét mộ t lầ n. Bở i vì mộ t bộ định thờ i vớ i độ phâ n giả i
100 ms có thể đượ c khở i độ ng ở bấ t kỳ mộ t thờ i điểm nà o trong vò ng 100 ms
nên ta nên đặ t giá trị đặ t trướ c lớ n hơn 1 đơn vị so vớ i giá trị yêu cầ u cầ n đế m.
Ví dụ để đếm khoả ng thờ i gian 2100 ms, ta thườ ng đặ t giá trị đặ t trướ c bằ ng
22.
- Để hiểu thêm về cơ chế cập nhật của các bộ định thời với những độ phân giải
khác nhau, chúng ta xem xét ví dụ sau, tạo bộ định thời 3 giây với lần lượt ba bộ
định thời khác nhau (xem chương trình kèm theo):
- Đầ u tiên bộ định thờ i vớ i độ phâ n giả i 1 ms đượ c sử dụ ng (T32, giá trị đặ t
trướ c 300). Q0.0 sẽ có giá trị bằ ng 1 (ON) trong thờ i gian mộ t vò ng quét khi và
chỉ khi nà o thờ i điểm cậ p nhậ t củ a bộ định thờ i mà giá trị đếm vượ t qua giá trị
đặ t trướ c rơi và o đú ng giữ a lú c thự c hiện hai lệnh nà y. Nghĩa là sau khi lệ nh
trướ c đượ c thự c hiện nhưng phả i trướ c khi thự c hiện lệnh sau.
- Nế u sử dụ ng bộ định thờ i vớ i độ phâ n giả i 10 ms (T33, giá trị đặ t trướ c 30),
Q0.0 khô ng bao giờ có giá trị 1 (luô n luô n OFF).
- Trườ ng hợ p cuố i cù ng sử dụ ng bộ định thờ i vớ i độ phâ n giả i 100 ms (T37, giá
trị đặ t trướ c bằ ng 3). Q0.0 luô n luô n có giá trị bằ ng 1 (ON) trong đú ng thờ i gian
mộ t vò ng quét. Để đả m bả o chắ c chắ n Q0.0 sẽ có giá trị 1 (ON) trong thờ i gian
mộ t vò ng quét, ta phả i dù ng cô ng tắ c thườ ng đó ng Q0.0 để kích hoạ t cá c bộ
định thờ i thay vì dù ng cô ng tắ c thườ ng đó ng vớ i bit trạ ng thá i củ a nó .

Trang 13
3.5 Lệnh bộ đếm

- Ba loại bộ đếm:
+ Bộ đếm lên (Count Up):

Trang 14
+ Bộ đếm xuống (Count Down) :

+ Bộ đếm có thể vừa đếm lên vừa đếm xuống (Count Up / Down):

- Bộ đếm lên đế m cho đế n giá trị tố i đa củ a nó (32767) mỗ i khi có sườ n lên ở


đầ u và o đế m lên (CU). Khi giá trị đế m (Cxxx) lớ n hơn hoặ c bằ ng giá trị đặ t
trướ c (PV) thì bit trạ ng thá i (Cxxx) sẽ có giá trị 1 (ON). Bộ đế m có thể bị xó a
(reset) bở i mứ c 1 ở đầ u và o reset (R), lú c đó cả giá trị đếm lẫ n bit trạ ng thá i sẽ
bị xó a về 0. Bộ đếm xuố ng đế m từ giá trị đặ t trướ c (PV) mỗ i khi có sườ n lên ở
đầ u và o đế m xuố ng (CD). Khi giá trị đế m (Cxxx) bằ ng 0, bit trạ ng thá i (Cxxx) sẽ
bằ ng 1 đồ ng thờ i bộ đế m ngừ ng đếm. Mứ c cao ở đầ u và o LD xó a bit trạ ng thá i
về 0 và tả i giá trị đặ t trướ c PV và o giá trị đế m. Bộ đế m vừ a đế m lên vừ a đế m
xuố ng đếm lên khi có sườ n lên ở đầ u và o đế m lên (CU) và đếm xuố ng khi có
sườ n lên ở đầ u và o đế m xuố ng (CD). Khi giá trị đế m (Cxxx) lớ n hơn hoặ c bằ ng
giá trị đặ t trướ c (PV) thì bit trạ ng thá i (Cxxx) sẽ có giá trị 1 (ON). Bộ đếm có thể

Trang 15
bị xó a (reset) bở i mứ c 1 ở đầ u và o reset (R), lú c đó cả giá trị đế m lẫ n bit trạ ng
thá i sẽ bị xó a về 0.
- Số hiệu cá c bộ đế m: C0 đến C255. Trong CPU 221, 222 và 224 mỗ i bộ đế m đượ c
xá c định loạ i tù y theo lệ nh khai bá o nhưng khô ng thể khai bá o cá c bộ đế m loạ i
khá c nhau vớ i cù ng mộ t địa chỉ (trong vù ng C). Trong STL, đầ u và o reset (R)
củ a bộ đế m tiến là bit đỉnh củ a ngă n xếp và đầ u và o đế m củ a nó (CU) là bit thứ
hai củ a ngă n xếp. Trong STL, đầ u và o tả i (LD) củ a bộ đếm lù i là bit đỉnh củ a
ngă n xế p và đầ u và o đếm củ a nó (CD) là bit thứ hai củ a ngă n xếp. Trong STL,
đầ u và o reset (R) củ a bộ đếm vừ a đếm tiế n vừ a đếm lù i là bit đỉnh củ a ngă n
xếp, đầ u và o đế m lù i củ a nó (CD) là bit thứ hai củ a ngă n xế p và đầ u và o đếm
tiến củ a nó (CU) là bit thứ ba củ a ngă n xế p.
- Cá c bộ đế m cò n có thể bị reset bở i lệ nh Reset. Bộ đếm vừ a tiế n vừ a lù i khi đếm
đến giá trị tố i đa (32767) mà tiế p tụ c đếm lên thi số đếm sẽ nhả y sang giá trị tố i
thiểu (-32768) và tiếp tụ c đế m bình thườ ng. Tương tự , nếu nó đế m lù i khi đã ở
giá trị nhỏ nhấ t (-32768) thì số đếm sẽ nhả y thà nh giá trị lớ n nhấ t (32767).
3.6 Lệnh dịch chuyển ô nhớ
- Các lệnh dịch chuyển một Byte, một từ đơn (Word), một từ kép (Double
Word) hay một số thực (Real):

- Lệnh dịch chuyể n mộ t Byte, Move Byte, sao chép nộ i dung ô nhớ kích thướ c
mộ t byte đượ c định địa chỉ ở đầ u và o IN lên ô nhớ kích thướ c mộ t byte đượ c
định địa chỉ ở đầ u ra OUT. Nộ i dung byte nhớ ở địa chỉ [IN] khô ng thay đổ i.
Tương tự cho cá c câ u lệ nh vớ i W, DW. Lệnh dịch chuyể n mộ t Số thự c, Move
Real, sao chép số thự c kích thướ c 32 bit đượ c định địa chỉ ở đầ u và o IN lên số
thự c kích thướ c 32 bit đượ cđịnh địa chỉ ở đầ u ra OUT. Số thự c ở địa chỉ [IN]
khô ng thay đổ i.
- Những lỗi có thể được gây nên bởi các lệnh này (ENO = 0):
+ Bit đặc biệt SM4.3 = 1: lỗi Run - Time.
+ Lỗi 0006: địa chỉ gián tiếp.
Các lệnh dịch chuyển một Byte, một từ đơn (Word) tức khắc: đọc hoặc ghi.

Trang 16
- Lệnh dịch chuyển một khối các byte, Block Move Byte:

- Sao chép nộ i dung mộ t số cá c ô nhớ liên tiếp (xá c định bở i toá n hạ ng ở đầ u và o


N),mỗ i ô kích thướ c mộ t byte vớ i byte đầ u tiên đượ c định địa chỉ ở đầ u và o IN
lên khố i cá c ô nhớ liên tiếp kích thướ c mỗ i ô nhớ mộ t byte và byte đầ u tiên
đượ c định địa chỉ ở đầ u ra OUT. Số lượ ng cá c byte có thể sao chép nằ m trong
khoả ng từ 1 đến 255.
- Lệnh dịch chuyể n mộ t khố i cá c từ đơn, Block Move Word, sao chép nộ i dung
mộ t số cá c ô nhớ liên tiế p (xá c định bở i toá n hạ ng ở đầ u và o N), mỗ i ô kích
thướ c mộ t word vớ i word đầ u tiên đượ c định địa chỉ ở đầ u và o IN lên khố i cá c
ô nhớ liên tiế p kích thướ c mỗ i ô nhớ mộ t word và word đầ u tiên đượ c định địa
chỉ ở đầ u ra OUT. Số lượ ng cá c word có thể sao chép nằ m trong khoả ng từ 1
đến 255. Lệnh dịch chuyể n mộ t khố i cá c từ kép, Block Move Double Word, sao
chép nộ i dung mộ t số cá c ô nhớ liên tiếp (xá c định bở i toá n hạ ng ở đầ u và o N),
mỗ i ô kích thướ c mộ t từ kép vớ i từ kép đầ u tiên đượ c định địa chỉ ở đầ u và o IN
lên khố i cá c ô nhớ liên tiếp kích thướ c mỗ i ô nhớ mộ t từ kép và từ kép đầ u tiên
đượ c định địa chỉ ở đầ u ra OUT. Số lượ ng cá c từ kép có thể sao chép nằ m trong
khoả ng từ 1 đến 255.
- Những lỗi có thể được gây nên bởi các lệnh này (ENO = 0):
+ Bit đặc biệt SM4.3 = 1: lỗi Run - Time.
+ Lỗi 0006: địa chỉ gián tiếp.
+ Lỗi 0091: toán hạng vượt quá giới hạn cho phép.
3.7 Lệnh với bảng
3.7.1 Lệnh thêm vào bảng
Trang 17
3.7.2 Lệnh memory fill

- Lệnh này điề n đầ y mộ t khoả ng nhớ bao gồ m mộ t số cá c từ đơn liên tiế p (đượ c
xá c định bở i đầ u và o N) vớ i từ đơn (Word) đầ u tiên đượ c định địa chỉ bở i đầ u
ra OUT bằ ng từ đơn đượ c định địa chỉ ở đầ u và o IN. Kích thướ c khoả ng nhớ có
thể nằ m trong khoả ng từ 1 đến 255 từ đơn.
- Những lỗi có thể được gây nên bởi lệnh này (ENO = 0):
+ Bit đặc biệt SM4.3 = 1: lỗi Run - Time.
+ Lỗi 0006: địa chỉ gián tiếp.
+ Lỗi 0091: toán hạng vượt quá giới hạn cho phép
3.7.3 Lệnh tìm kiếm trong bảng

3.8 Lệnh toán số học


3.8.1 Lệnh Cộng, Trừ, Nhân, Chia số nguyên, số thực

Trang 18
- Cá c lệnh nà y cộ ng (Add) hay trừ (Subtract) hai số nguyên đượ c định địa chỉ ở
cá c đầ u và o IN1 và IN2, kế t quả lưu và o số nguyên đượ c định địa chỉ bở i đầ u ra
OUT.
[IN1] + [IN2] = [OUT]
[IN1] - [IN2] = [OUT]
- Những lỗi có thể được gây nên bởi lệnh này (ENO = 0):
+ Bit đặc biệt SM4.3 = 1: lỗi Run - Time.
+ Lỗi 0006: địa chỉ gián tiếp.
+ Bit đặc biệt SM1.1 = 1: lỗi tràn (Overflow).
Những bit nhớ đặc biệt có nội dung bị ảnh hưởng bởi lệnh này:
+ SM1.0 (Zero): bằng 1 nếu kết quả bằng 0.
+ SM1.1 (Overflow): bằng 1 nếu kết quả bị tràn.
+ SM1.2 (Negative): bằng 1 nếu kết quả là số âm
- Cá c lệnh nà y cộ ng (Add) hay trừ (Subtract) hai số nguyên 32 bit đượ c định địa
chỉ ở cá c đầ u và o IN1 và N2, kế t quả lưu và o số nguyên 32 bit đượ c định địa chỉ
bở i đầ u ra OUT.
[IN1] + [IN2] = [OUT]
[IN1] - [IN2] = [OUT]
- Những lỗi có thể được gây nên bởi lệnh này (ENO = 0):
+ Bit đặc biệt SM4.3 = 1: lỗi Run - Time.
+ Lỗi 0006: địa chỉ gián tiếp.
+ Bit đặc biệt SM1.1 = 1: lỗi tràn (Overflow).
- Những bit nhớ đặc biệt có nội dung bị ảnh hưởng bởi lệnh này:
+ SM1.0 (Zero): bằng 1 nếu kết quả bằng 0.
+ SM1.1 (Overflow): bằng 1 nếu kết quả bị tràn.
+ SM1.2 (Negative): bằng 1 nếu kết quả là số âm.
a. Các lệnh nhân (Multiply) hay chia (Divide) hai số nguyên 16 bit:

Trang 19
- Đượ c định địa chỉ ở cá c đầ u và o IN1 và IN2, kết quả lưu và o số nguyên đượ c
định địa chỉ bở i đầ u ra OUT. Trong phép chia, số dư bị bỏ qua. Bit bá o trà n sẽ
thà nh 1 nếu kết quả lớ n hơn mộ t số nguyên 16 bit. Nhữ ng lệnh này khô ng có
trong cá c CPU 212, 214.
[IN1] * [IN2] = [OUT]
[IN1] / [IN2] = [OUT]
- Những lỗi có thể được gây nên bởi lệnh này (ENO = 0):
+ Bit đặc biệt SM4.3 = 1: lỗi Run - Time.
+ Lỗi 0006: địa chỉ gián tiếp.
+ Bit đặc biệt SM1.1 = 1: lỗi tràn (Overflow).
+ Bit đặc biệt SM1.3 = 1: lỗi chia cho 0 (Divide-by-zero).
- Những bit nhớ đặc biệt có nội dung bị ảnh hưởng bởi lệnh này:
+ SM1.0 (Zero): bằng 1 nếu kết quả bằng 0.
+ SM1.1 (Overflow): bằng 1 nếu kết quả bị tràn.
+ SM1.2 (Negative): bằng 1 nếu kết quả là số âm.
+ SM1.3 (Divide-by-zero): bằng 1 nếu số chia bằng 0.
- Trong trường hợp bit SM1.1 (Overflow) bằng 1, kết quả sẽ không được ghi và các
bit đặc biệt khác liên quan đến các phép toán (Zero, Negative, ...) đều được xóa về
0.
- Trong trường hợp bit SM1.3 (Divide-by-zero) bằng 1, các bit đặc biệt khác liên
quan đến các phép toán (Zero, Negative, ...) đều được giữ nguyên không thay đổi
và các toán hạng ở đầu vào cũng không đổi.
- Trong các trường hợp còn lại, các bit đặc biệt nói trên sẽ có giá trị phản ảnh
trạng thái của kết quả theo tính năng của chúng.
b. Các lệnh nhân (Multiply) hay chia (Divide) hai số nguyên 32 bit:

Trang 20
- Đượ c định địa chỉ ở cá c đầ u và o IN1 và IN2, kết quả lưu và o số nguyên 32 bit
đượ c định địa chỉ bở i đầ u ra OUT. Trong phép chia, số dư bị bỏ qua. Bit bá o
trà n sẽ thà nh 1 nếu kết quả lớ n hơn mộ t số nguyên 32 bit. Nhữ ng lệnh nà y
khô ng có trong cá c CPU 212, 214.
[IN1] * [IN2] = [OUT]
[IN1] / [IN2] = [OUT]
- Những lỗi có thể được gây nên bởi lệnh này (ENO = 0):
+ Bit đặc biệt SM4.3 = 1: lỗi Run - Time.
+ Lỗi 0006: địa chỉ gián tiếp.
+ Bit đặc biệt SM1.1 = 1: lỗi tràn (Overflow).
+ Bit đặc biệt SM1.3 = 1: lỗi chia cho 0 (Divide-by-zero).
- Những bit nhớ đặc biệt có nội dung bị ảnh hưởng bởi lệnh này:
+ SM1.0 (Zero): bằng 1 nếu kết quả bằng 0.
+ SM1.1 (Overflow): bằng 1 nếu kết quả bị tràn.
+ SM1.2 (Negative): bằng 1 nếu kết quả là số âm.
+ SM1.3 (Divide-by-zero): bằng 1 nếu số chia bằng 0.
- Trong trường hợp bit SM1.1 (Overflow) bằng 1, kết quả sẽ không được ghi và các
bit đặc biệt khác liên quan đến các phép toán (Zero, Negative, ...) đều được xóa về
0.
- Trong trường hợp bit SM1.3 (Divide-by-zero) bằng 1, các bit đặc biệt khác liên
quan đến các phép toán (Zero, Negative, ...) đều được giữ nguyên không thay đổi
và các toán hạng ở đầu vào cũng không đổi.
c. Các lệnh Nhân, Chia hai số nguyên (Integer) và ghi kết quả vào số nguyên dài
(Double Integer):

Trang 21
- Cá c lệnh nà y nhâ n (Multiply) hay chia (Divide) hai số nguyên 16 bit đượ c định
địa chỉ ở cá c đầ u và o IN1 và IN2, kết quả lưu và o số nguyên 32 bit đượ c định
địa chỉ bở i đầ u ra OUT. Trong phép chia, kết quả bao gồ m số dư ở 16 bit cao và
thương số ở 16 bit thấ p.
[IN1] * [IN2] = [OUT]
[IN1] / [IN2] = [OUT]
- Trong STL, lệ nh MUL chỉ sử dụ ng 16 bit thấ p củ a từ kép [OUT] là m số nhâ n.
Tương tự lệ nh DIV cũ ng chỉ sử dụ ng 16 bit thấ p củ a từ kép [OUT] là m số bị
chia.
- Những lỗi có thể được gây nên bởi lệnh này (ENO = 0):
+ Bit đặc biệt SM4.3 = 1: lỗi Run - Time.
+ Lỗi 0006: địa chỉ gián tiếp.
+ Bit đặc biệt SM1.1 = 1: lỗi tràn (Overflow).
+ Bit đặc biệt SM1.3 = 1: lỗi chia cho 0 (Divide-by-zero).
- Những bit nhớ đặc biệt có nội dung bị ảnh hưởng bởi lệnh này:
+ SM1.0 (Zero): bằng 1 nếu kết quả bằng 0.
+ SM1.1 (Overflow): bằng 1 nếu kết quả bị tràn.
+ SM1.2 (Negative): bằng 1 nếu kết quả là số âm.
+ SM1.3 (Divide-by-zero): bằng 1 nếu số chia bằng 0.
- Trong trường hợp bit SM1.3 (Divide-by-zero) bằng 1, các bit đặc biệt khác liên
quan đến các phép toán (Zero, Negative, ...) đều được giữ nguyên không thay đổi
và các toán hạng ở đầu vào cũ ng khô ng đổ i.
- Các số thực được biểu diễn bằng 32 bit dưới dạng dấu phẩy động theo
chuẩn ANSI / IEEE 754 - 1985.
3.8.2 Lệnh tăng giảm một đơn vị

Trang 22
- Thêm và o hay bớ t đi mộ t đơn vị từ mộ t Byte đượ c định địa chỉ ở đầ u và o IN,
kết quả lưu và o Byte đượ c định địa chỉ bở i đầ u ra OUT. Cá c số trong Byte toá n
hạ ng đượ c xem là cá c số khô ng dấ u.
[IN] + 1 = [OUT]
[IN] - 1 = [OUT]
- Những lỗi có thể được gây nên bởi lệnh này (ENO = 0):
+ Bit đặc biệt SM4.3 = 1: lỗi Run - Time.
+ Lỗi 0006: địa chỉ gián tiếp.
+ Bit đặc biệt SM1.1 = 1: lỗi tràn (Overflow).
Những bit nhớ đặc biệt có nội dung bị ảnh hưởng bởi lệnh này:
+ SM1.0 (Zero): bằng 1 nếu kết quả bằng 0.
+ SM1.1 (Overflow): bằng 1 nếu kết quả bị tràn.
3.8.3 Các lệnh hàm số học

3.9 Lệnh phép toán logic


3.9.1 Lệnh đảo byte, word, doubleword

Trang 23
3.9.2 Lệnh AND, OR, XOR

- AND bytes, OR bytes, EXCLUSIVE OR bytes: Lệ nh AND Bytes thự c hiện phép
toá n lô gic AND giữ a cá c bit tương ứ ng củ a cá c byte đầ u và o đượ c định địa chỉ
bở i cá c đầ u và o IN1 và IN2, kế t quả lưu và o byte đượ c định địa chỉ bở i đầ u ra
OUT. Lệ nh OR Bytes thự c hiện phép toá n lô gic OR giữ a cá c bit tương ứ ng củ a
cá c byte đầ u và o đượ c định địa chỉ bở i cá c đầ u và o IN1 và IN2, kết quả lưu và o
byte đượ c định địa chỉ bở i đầ u ra OUT. Lệnh EXCLUSIVE OR Bytes thự c hiện
phép toá n lô gic XOR giữ a cá c bit tương ứ ng củ a cá c byte đầ u và o đượ c định địa
chỉ bở i cá c đầ u và o IN1 và IN2, kế t quả lưu và o byte đượ c định địa chỉ bở i đầ u
ra OUT.
- Những lỗi có thể được gây nên bởi lệnh này (ENO = 0):
+ Bit đặc biệt SM4.3 = 1: lỗi Run - Time.
+ Lỗi 0006: địa chỉ gián tiếp.
Những bit nhớ đặc biệt có nội dung bị ảnh hưởng bởi lệnh này:
+ SM1.0 (Zero): bằng 1 nếu kết quả bằng 0.
- Tương tự cho các câu lệnh AND words, OR words, EXCLUSIVE OR words. AND
double words, OR doublewords, EXCLUSIVE OR double words.

Trang 24
II. Thực hành
1. Yêu cầu
- Sử dụ ng plc s7-200 phá t xung điều khiển bộ điều khiển độ ng cơ bướ c HB-B3C.
2. Giới thiệu thiết bị
2.1 PLc s7-200
- PLC hã ng siemens : CPU 224 – DC/DC/DC : DI/DO=14/10 .
(- )

(+)
M OD ULE P LC S7 -200

( -)

(+)

2L

PO WER
2 4VD C

L+ M

M L+

.0
0 0.1 .2
0 .3
0 0.4 .5
0 .6
0 0.7 .0
1 .1
1 1.2 1.3 .4
1 1.5

BD- DC
B02-10

2.2 Bộ điều khiển Steps


 Hình ảnh

 Sơ đồ

Trang 25
M O DU LE BỘ ĐI ỀU K HI ỂN S tep s

L A
Singl e- phas
e
Power supply
22
0- 240VAC
N
B
M
C Three- phas
e
WF 220VAC

PE
C OM

UD

C OM

CP

PD

C OM

AL

BD-DCB02-9

2.3 Lập trình chương trình điều khiển


 Bảng địa chỉ đầu vào ra

Địa chỉ Chức năng


I0.0 Khở i độ ng và dừ ng hệ thố ng
Q0.0 Châ n phá t xung điều khiển
 Sơ đô đấu chân

Module plc s7-200 Module bộ điều khiển steps


Châ n L+,M cấ p power 24 VDC
Châ n 1M nố i M, châ n 1L+ nố i L+ củ a
24 VDC power output
Châ n L,N cấ p nguồ n 220 VAC
Châ n A, B, C cấ p cho độ ng cơ
Châ n Q0.0 Châ n UP
Châ n L+ củ a 24 VDC power output Châ n COM
UD: Châ n điều khiển hướ ng quay củ a
độ ng cơ, nếu châ n nà y nố i M thì độ ng
cơ quay thuậ n, nố i L+ độ ng cơ quay
nghịch
 Chương trình điều khiển

Trang 26
Trang 27

You might also like