Tải bản đầy đủ (.doc) (51 trang)

Đồ án chuông điện trong trường học sử dụng S7 200

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.4 MB, 51 trang )

LỜI MỞ ĐẦU
Cùng với sự phát triển của các ngành kỹ thuật điện tử, công nghệ thông
tin, ngành kỹ thuật điều khiển, ngành tự động hóa đã và đang đạt được nhiều
tiến bộ mới. Tự động hóa không những làm giảm nhẹ sức lao động cho con
ngƣời mà còn góp phần rất lớn trong việc nâng cao năng suất lao động, cải
thiện chất lượng sản phẩm. Chính vì thế tự động hóa ngày càng khẳng định
được vị trí cũng như vai trò của mình trong các ngành công nghiệp và đang
được phổ biến rộng rãi trong các hệ thống công nghiệp trên thế giới nói chung
và ở Việt Nam nói riêng.
Không chỉ dừng lại ở đó, sự phát triển của tự động hóa còn đem lại
nhiều tiện ích phục vụ đời sống hàng ngày cho con người. Một minh chứng rõ
nét chính là sự ra đời của chuông báo tự động với nhiều tiện ích hơn, đa năng
hơn. Để phục vụ tốt hơn nữa đời sống con người trong thời điểm xã hội ngày
càng hiện đại và phát triển hiện nay, vẫn luôn đòi hỏi cải tiến hơn nữa công
nghệ cùng những tính năng tiện ích cho chuông tự động báo. Việc ứng dụng
thành công các thành tựu của lý thuyết điều khiển tối ưu, công nghệ thông tin,
công nghệ máy tính, công nghệ điện điện tử và các lĩnh vực khoa học kỹ thuật
khác trong những năm gần đây đã dẫn đến sự ra đời và phát triển thiết bị điều
khiển logic có khả năng lập trình ( PLC ). Cũng từ đây đã tạo ra một cuộc
cách mạng trong lĩnh vực kỹ thuật điều khiển.
Ngày nay ai cũng biết rõ rằng công nghệ PLC đóng vai trò quan trọng
trong năng lượng cơ và làm bộ não cho các bộ phận cần tự động hoá và cơ
giới hoá. Do đó điều khiển logic khả lập trình ( PLC ) rất cần thiết đối với các
kỹ sư cơ khí cũng như các kỹ sư điện , điện tử, từ đó giúp họ nắm được phạm
vi ứng dụng rộng rãi và kiến thức về PLC cũng như cách sử dụng thông
thường.
Trong thời gian làm đồ án tốt nghiệp, em được giao nhiệm vụ và nghiên cứu
với đề tài: "Lập trình thiết kế hệ thống chuông báo tại trường học" .
Đây là một đề tài không hoàn toàn là mới nhưng nó rất phù hợp với
1
thực tế ở các trường trung cấp, cao đẳng và đại học hiện nay, càng đi sâu


nghiên cứu càng thấy nó hấp dẫn và thấy được vai trò của nó trong việc điều
khiển tự động.
Xác định rõ nhiệm vụ của mình em đã cố gắng hết sức, tập trung tìm
hiểu. Kết quả thu được chƣa nhiều do còn bị hạn chế về kiến thức, thời gian
và kinh nghiệm nhưng nó giúp em có thêm kiến thức mới để sau khi ra trường
có nền tảng tiếp cận được với công nghệ mới.
Trong quá trình làm đồ án do trình độ hiểu biết của em có hạn, nên nội
dung đồ án không tránh khỏi những sai sót. Vì vậy em rất mong được sự chỉ
bảo góp ý của các thầy cô cũng như mọi người quan tâm đến vấn đề này.
Qua bài đồ án này cho em xin đuợc bày tỏ lời cảm ơn chân thành tới cô
giáo Bùi Thị Khánh Hòa, người đã trực tiếp hướng dẫn tận tình, giúp đỡ chỉ
bảo cho em, cùng toàn thể các thầy cô giáo trong khoa và nhà trường đã giúp
đỡ và tạo mọi điều kiện thuận lợi cho em để hôm nay em hoàn thành đồ án
một cách đầy đủ.
2
CHƯƠNG 1 : Tổng quan về PLC
1.1. Cấu trúc phần cứng
PLC-S7-200 là loại thiết bị điều khiển lập trình, loại nhỏ của hãng
Siemens, có cấu trúc dạng môđun mở rộng. Các môđun này được sử dụng cho
nhiều những ứng dụng lập trình khác nhau. Thành phần cơ bản của S7-200 là
khối vi xử lý CPU 212 hoặc CPU 214. Về hình thức bên ngoài, sự khác nhau
của hai loại CPU này nhận biết được nhờ số đầu vào/ra và nguồn cung cấp.
- CPU 212: Có 8 cổng vào và 6 cổng ra, có khả năng mở rộng thêm 2 môđun
mở rộng.
- CPU 214: Có 14 cổng vào và 10 cổng ra, có khả năng mở rộng thêm 7
môđun mở rộng.
- S7-200 có nhiều loại môđun mở rộng khác nhau.
CPU-212 bao gồm:
- 512 từ đơn (Word) =1 Kbyte, để lưu chương trình thuộc miền nhớ đọc/ghi
được, không bị mất dữ liệu nhờ có giao diện với EEPROM-Vùng nhớ Non-

Valatile.
- 512 từ đơn (Word) =1 Kbyte dùng để lưu dữ liệu, có 100 từ nhớ đọc/ghi
thuộc vùng nhớ Non-Valatile.
- 8 cổng vào logic và 6 cổng ra logic.
- Có thể ghép thêm 2 modul để mở rộng tổng số cổng vào/ra, bao gồm cả
modul tương tự.
- Tổng số cổng Logic vào/ra cực đại là 64 cổng vào và 64 cổng ra.
- Có 64 bộ timer, trong đó có:
+ 2 bộ timer có độ phân giải 1ms.
+ 8 bộ timer có độ phân giải 10 ms.
+ 54 bộ timer có độ phân giải 100 ms.
- Có 64 bộ counter, trong đó có hai loại counter:
+ Loại chỉ đếm tiến.
+ Loại vừa đếm tiến vừa đếm lùi.
3
- Có 368 bit nhớ đăc biệt sử dụng làm các bit trạng thái hoặc các bit đặt các
chế độ làm việc.
- Có các chế độ ngắt vá xử lý tín hiệu ngắt khác nhau: Ngắt truyền thông; ngắt
theo sườn lên hay sườn xuống; ngắt theo thời gian và ngắt theo bộ đếm tốc
độ cao(2khz).
- Bộ nhớ không bị mất dữ liệu trong 50 giờ khi CPU mất nguồn nuôi.
CPU-214 bao gồm:
- 2048 từ đơn (Word) =4 Kbyte, để lưu chương trình thuộc miền nhớ đọc/ghi
được, không bị mất dữ liệu nhờ có giao diện với EEPROM - Vùng nhớ Non-
Valatile.
- 2048 từ đơn (Word) =4 Kbyte, Có 15 từ nhớ đọc/ghi thuộc vùng nhớ Non-
Valatile.
- 14 cổng vào logic và 10 cổng ra logic.
- Có thể ghép thêm 7 modul để mở rộng tổng số cổng vào/ra, bao gồm cả
modul tương tự.

- Tổng số cổng Logic vào/ra cực đại là 64 cổng vào và 64 cổng ra.
- Có 128 bộ timer, trong đó có:
+ 4 bộ timer có độ phân giải 1ms.
+ 16 bộ timer có độ phân giải 10 ms.
+ 108 bộ timer có độ phân giải 100 ms.
- Có 128 bộ counter, trong đó có hai loại counter:
+ Loại chỉ đếm tiến .
+ Loại vừa đếm tiến vừa đếm lùi.
- Có 688 bit nhớ đặc biệt sử dụng làm các bit trạng thái hoặc các bit đặt các
chế độ làm việc.
- Có các chế độ ngắt và xử lý tín hiệu ngắt khác nhau: Ngắt truyền thông; ngắt
theo sườn lên hay sườn xuống; ngắt theo thời gian và ngắt theo bộ đếm tốc độ
cao và ngắt truyền xung.
- 3 Bộ đếm tốc độ cao với nhịp 2 KHz và 7 KHz.
- 2 Bộ phát xung nhanh cho dãy xung kiểu PTO hoặc kiểu PWM.
4
- 2 B iu chnh tng t.
- B nh khụng b mt d liu trong 190 gi khi CPU mt ngun nuụi.
1.1.1.Cu trỳc b nh
B nh ca S7-200 c chia lm 4 vựng vi 1 t cú nhim v duy trỡ d liu
trong mt tri gian nht nh khi mt ngun. B nh S7-200 cú tớnh nng
ng cao, c v ghi c trong ton vựng, loi tr phn cỏc bit nh c bit
c ký hiu bi SM (Special Memory bits) ch cú th truy cp c.
-Vựng chng trỡnh: l min b nh dựng lu gi cỏc lnh trong chng
trỡnh. Vựng ny thuc vựng nh c/ghi c (Vựng Non-Valatile).
-Vựng tham s: l min lu gi cỏc thụng s nh: t khúa, a ch,Vựng
ny thuc vựng Non-Valatile.
- Vựng d liu: c s dng ct cỏc d liu ca chng trỡnh bao gm cỏc
phộp tớnh, hng s c nh ngha trong chng trỡnh, b m truyn thụng.
Tu

Chổồng trỗnh Chổồng trỗnh Chổồng trỗnh
Tham sọỳ
Dổợ lióỷu
Tham sọỳ
Dổợ lióỷu
Tham sọỳ
Dổợ lióỷu
Vuỡng õọỳi tổồỹng
EEPROM
Mióửn nhồù ngoaỡi
Bọỹ nhồù trong vaỡ ngoaỡi cuớa S7-200
- Vựng i tng: Timer, b m, b m tc cao v cỏc cng vo/ra
tng t c t trong vựng nh cui cựng. Vựng ny khụng thuc kiu non
volatile nhng c/ghi c.
1.1.2.Cỏc tp lnh
a. Cỏc lnh iu khin Timer
Timer l b to thi gian tr gia tớn hiu vo v tớn hiu ra nờn trong iu
khin vn thng gi l khõu tr. Nu ký hiu tớn hiu (logic) vo l x (t) v
5
thời gian trễ được tạo ra bằng Timer là r thì tín hiệu đầu ra của Timer đó sẽ là
x (t-r).
S7-200 có 128 Timer (CPU-214) được chia làm 2 loại khác nhau, đó là:
* Timer tạo thời gian trễ không có nhớ (Timer on delay), ký hiệu là TON.
* Timer tạo thời gian trễ có nhớ (Timer on delay retentive), ký hiệu là TONR.
Hai kiểu Timer của S7-200 (TON và TONR) phân biệt với nhau ở phản ứng
của nó đối với trạng thái tín hiệu đầu vào, tức là khi tín hiệu đầu vào chuyển
trạng thái logic từ 0 lên 1, được gọi là thời điểm Timer được kích, và không
tính khoảng thời gian khi đầu vào có giá trị logic 0 vào thời gian trễ tín hiệu
được đặt trước.
Khi đầu vào có giá trị logic bằng 0, TON tự động reset còn TONR thì không

tự reset. Timer TON được dùng để tạo thời gian trễ trong một khoảng thời
gian (miền liên thông), còn với TONR thời gian trễ sẽ được tạo trong nhiều
khoảng thời gian khác nhau.
Timer TON và TONR bao gồm 3 loại với 3 độ phân giải khác nhau, độ phân
giải 1ms, 10 ms, 100 ms. Thời gian trễ r được tạo ra chính là tích của độ phân
giải của bộ Timer được chọn và giá trị đặt trước cho Timer. Ví dụ một bộ
Timer có độ phân giải bằng 10 ms và giá trị đặt trước 10 ms thì thời gian trễ
sẽ là r = 500 ms
Timer của S7-200 có những tính chất cơ bản sau:
Các bộ Timer được điều khiển bởi một cổng vào và giá trị đếm tức thời. Giá
trị đếm tức thời của Timer được nhớ trong thanh ghi 2 byte (gọi là T-word)
của Timer, xác định khoảng thời gian trễ kể từ khi Timer được kích. Giá trị
đặt trước của các bộ Timer được ký hiệu trong LAD và STL là PT. Giá trị
đếm tức thời của thanh ghi T-word thường xuyên được so sánh với giá trị đặt
trước của Timer.
Mỗi bộ Timer, ngoài thanh ghi 02 byte T-word lưu giá trị đếm tức thời, còn
có 1 bít, ký hiệu bằng T-bít, chỉ trạnh thái logic đầu ra. Giá trị logic của bít
này phụ thuộc vào kết quả so sánh giữa giá trị đếm tức thời với giá trị đặt
trước.
6
Trong khoảng thời gian tín hiệu x (t) có giá trị logic 1, giá trị đếm tức thời
trong T-word luôn được cập nhật và thay đổi tăng dần cho đến khi nó đạt giá
trị cực đại. Khi giá trị đếm tức thời lớn hơn hoặc bằng giá trị đặt trước, T-bít
có giá trị logic 1.
Các loại Timer của S7-200 (đối với CPU 214) chia theo TON, TONR và độ
phân giải bao gồm:
Cú pháp khai báo sử dụng Timer trong LAD như sau:
Lệnh Độ phân giải Giá trị cực đại CPU 214
TON
1 ms 32,767s T32, T96

10 ms 327,67s
T33÷T36; T97÷ T100
100 ms 3276,7s
T37÷T63; T101÷ T127
TONR
1 ms 32,767s T0 , T64
10 ms 327,67s
T1÷T4; T65÷T68
100 ms 3276,7s
T5÷T31; T69÷T95
7
Cú pháp khai báo sử dụng Timer trong STL như sau: TON, TONR : Khai
báo sử dụng Timer của S7-200, lệnh khai báo sử dụng Timer là lệnh có điều
kiện. Tại thời điểm khai báo tín hiệu đầu vào có giá trị logic bằng giá trị logic
của bít đầu tiên trong ngăn xếp.
STL Mô tả Toán hạng
TON
Khai báo Timer số hiệu xx kiểu TON để
tạo thời gian trễ tính từ khi bit đầu tiên
Txx: 32 ÷63
LAD Mô tả Toán hạng
Khai báo Timer số hiệu xx kiểu TON
để tạo thời gian trễ tính từ khi đầu
vào IN được kích. Nếu như giá trị
đếm tức thời lớn hơn hoặc bằng giá
trị đặt trước PT thì T-bít có giá trị
logic bằng 1. Có thể reset Timer kiểu
TON bằng lệnh R hoặc bằng giá trị
logic 0 tại đầu vào IN
1 ms T32 ; T96

10 ms T33÷T36; T97÷ 100
100 ms T37÷T63; T101÷ T127
Txx : 32÷63
96÷127

PT : VW, T, C,
IW,QW, MW,
SMW,AC, AIW,
VD,*AC, Hằng
số.
Khai báo Timer số hiệu xx kiểu
TONR để tạo thời gian trễ tính từ khi
đầu vào IN được kích. Nếu như giá trị
đếm tức thời lớn hơn hoặc bằng giá
trị đặt trước PT thì T-bít có giá trị
logic bằng 1. Chỉ có thể reset kiểu
TONR bằng lệnh R cho T-bít
1 ms T0 ; T64
10 ms T1 ÷ T4 ; T65 ÷ T68
100 ms T5 ÷ T31; T69 ÷ T95
Txx : 0 ÷31
64÷95
PT: VW, T, C,
IW,QW, AIW,
SMW, AC, AIW,
VD, *AC, Hằng
số.
8
TON Txx
IN

PT
TONR _Txx
IN
PT
Txx n trong ngăn xếp có giá trị logic 1. Nếu như
giá trị đếm tức thời lớn hơn hoặc bằng giá
trị đặt trước n thì T-bít có giá trị logic
bằng 1. Có thể reset Timer kiểu TON bằng
lệnh R hoặc bằng giá trị logic 0 tại đầu
vào.
1 ms T96
10 ms T97÷T100
T97 ÷T100
100 ms T101÷T127
T101 ÷T127
96÷127

n (word) :
VW, T, C,
IW,QW, MW,
SMW,AC, AIW,
VD,*AC, Hằng số
TONR
Txx n
Khai báo Timer số hiệu xx kiểu TONR để
tạo thời gian trễ tính từ khi bit đầu tiên
trong ngăn xếp có giá trị logic 1. Nếu như
giá trị đếm tức thời lớn hơn hoặc bằng giá
trị đặt trước n thì T-bit có giá trị logic
bằng 1. Chỉ có thể reset Timer kiểu TONR

bằng lệnh R cho T-bit
1 ms T64
10 ms T65÷T68
T65 ÷T68
100 ms T69÷T95
T69 ÷T95
Txx : 0 ÷31
64 ÷95
n (word) :
VW, T, C,
IW,QW, AIW,
SMW,AC, AIW,
VD,*AC, Hằng số
Khi sử dụng Timer kiểu TONR, giá trị đếm tức thời được lưu lại và
không bị thay đổi trong khoảng thời gian khi tín hiệu đầu vào có logic 0. Giá
trị của T-bít không được nhớ mà hoàn toàn phụ thuộc vào kết quả so sánh
giữa giá trị đếm tức thời và giá trị đặt trước.
Các Timer được đánh số từ 0 đến 127 (đối với CPU 214). Một Timer
được đặt tên là Txx, trong đó xx là số hiệu của Timer. Txx đồng thời cũng là
địa chỉ hình thức của T-word và T-bít vẫn được phân biệt với nhau nhờ kiểu
9
lệnh sử dụng với Txx. Khi dùng lệnh làm việc với từ, Txx được hiểu là địa chỉ
của T-word, ngược lại khi sử dụng lệnh làm việc với tiếp điểm, Txx được hiểu
là địa chỉ của T-bít.
Một Timer đang làm việc có thể được đưa lại về trạng thái khởi động
ban đầu. Công việc đưa một Timer về trạng thái ban đầu được gọi là reset
Timer đó.
Khi reset một bộ Timer, T-word và T-bít của nó đồng thời được xóa và
có giá trị bằng 0, như vậy giá trị đếm tức thời được đặt về 0 và tín hiệu đầu ra
cũng có trạng thái logic bằng 0. Có thể reset bất cứ bộ Timer của S7-200 bằng

lệnh R (reset). Điều đó nói rằng khi dùng lệnh R cho T-bít của một Timer,
Timer đó sẽ được đưa về trạng thái ban đầu và lệnh R cho một Txx vừa xóa
T-word vừa xóa T-bít của Timer đó.
Có hai phương pháp để reset một Timer kiểu TON:
- Xóa tín hiệu đầu vào.
- Dùng lệnh R (reset).
Dùng lệnh R là phương pháp duy nhất để reset các bộ Timer kiểu TONR. Đặt
giá trị 0 cho giá trị đếm tức thời của một Timer cũng không thể xóa T-bít của
Timer đó. Cũng như vậy, khi đặt một giá trị logic 0 cho T-bít của một Timer
không thể xóa giá trị đếm tức thời của Timer đó. Cú pháp reset một timer Txx
bằng lệnh R là :
R Txx K1
Chú ý rằng lệnh R thuộc nhóm lệnh có điều kiện.
Hình 1 : Timer của S7-200
b. Các lệnh điều khiển Counter
10
x(t) T-Bit
Giá trị đặt trước
T-word
Giá trị đếm tức thời
Counter là bộ đếm hiện chức năng đếm sườn xung trong S7-2000. Các
bộ đếm của S7-2000 được chia ra làm 2 loại: bộ đếm tiến (CTU) và bộ đếm
tiến/lùi (CTUD).
Bộ đếm tiến CTU đếm số sườn lên của tín hiệu logic đầu vào, tức là
đếm số lần thay đổi trạng thái logic từ 0 lên 1 của tín hiệu. Số sườn xung đếm
được, được ghi vào thanh ghi 2 byte của bộ đếm, gọi là thanh ghi C-word.
Nội dung của C-word, gọi là giá trị đếm tức thời của bộ đếm, luôn được
so sánh với giá trị đặt trước của bộ đếm được ký hiệu là PV. Khi giá trị đếm
tức thời bằng hoặc lớn hơn giá trị đặt trước này thì bộ đếm báo ra ngoài bằng
cách đặt giá trị logic 1 vào một bít đặc biệt của nó, được gọi là C-bít. Trường

hợp giá trị đếm tức thời nhỏ hơn giá trị đặt trước thì C-bít có giá trị logic là 0.
Khác với các bộ Counter, các bộ đếm CTU đều có chân nối với tín hiệu
điều khiển xóa để thực hiện việc đặt lại chế độ khởi phát ban đầu (reset) cho
bộ đếm, được ký hiệu bằng chữ cái R trong LAD hay được qui định là trạng
thái logic của bít đầu tiên của ngăn xếp trong STL. Bộ đếm được reset khi tín
hiệu xóa này có mức logic là 1 hoặc khi lệnh R (reset) được thực hiện với C-
bít. Khi bộ đếm được reset, cả C-word và C-bít đều nhận giá trị 0.

Hình 2 : Bộ đếm CTU của S7-200 :
Bộ đếm tiến / lùi CTUD đếm tiến khi gặp sườn lên của xung vào cổng
đếm, ký hiệu là CU trong LAD hoặc bít thứ 3 của ngăn xếp trong STL, và
đếm lùi khi gặp sườn lên của xung vào cổng đếm lùi, được ký hiệu là CD
trong LAD hoặc bít thứ 2 của ngăn xếp trong STL. Giống như bộ đếm CTU,
bộ đếm CTUD cũng được đưa về trạng thái khởi phát ban đầu bằng 2 cách.
11
CU C-Bit
PV
R
C-word
Giá trị đếm tức thời
Khi đầu vào logic của chân xóa, ký hiệu bằng R trong LAD hoặc bít
thứ nhất của ngăn xếp trong STL, có giá trị logic là 1 hoặc, Bằng lệnh R
(reset) với C-bít của bộ đếm.
CTUD có giá trị đếm tức thời đúng bằng giá trị đang đếm và được lưu
trong thanh ghi 2 byte C-word của bộ đếm. Giá trị đếm tức thời luôn được so
sánh với giá trị đặt trước PV của bộ đếm. Nếu giá trị đếm tức thời lớn hơn
bằng bằng giá trị đặt trước thì C-bít có giá trị logic bằng 1. Còn các trường
hợp khác C-bít có giá trị logic bằng 0.

Hình 3 : Bộ đếm CTUD của S7-200 :

Bộ đếm tiến CTU có miền giá trị đếm tức thời từ 0 đến 32.767. Bộ đếm
tiến/lùi CTUD có miền giá trị đếm tức thời là -32.767 ÷ 32.767 .
Các bộ đếm được đánh số từ 0 đến 127 (đới với CPU 214) và ký hiệu
bằng Cxx, trong đó xx là số thứ tự của bộ đếm. Ký hiệu Cxx đồng thời cũng
là địa chỉ hình thức của C-word và của C-bít. Mặc dù dùng địa chỉ hình thức,
song C-word và C-bít vẫn được phân biệt với nhau nhờ kiểu lệnh sử dụng làm
việc với từ hay với tiếp điểm (bít).
Lệnh khai báo sử dụng bộ đếm trong LAD như sau:
LAD Mô tả Toán hạng


Khai báo bộ đếm tiến theo sườn lên
của CU. Khi giá trị đếm tức thời C-
word Cxx lớn hơn hoặc bằng giá trị
đặt trước PV, C-bít (cxx) có giá trị
logic bằng 1. Bộ đếm được reset khi
đầu vào R có giá trị logic bằng 1. Bộ
đếm ngừng đếm khi C-word Cxx đạt
Cxx: 0 ÷47
80 ÷127
PV (word) :
VW , T, C, IW,
QW, MW, SMW,
AC,AIW, Hằng
12
CTU Cxx
CU
PV
R
CU C-Bit

PV
CD
R
C-word
Giá trị đếm tức thời
giá trị cực đại 32.767. số,
*VD, *AC
Khi báo bộ đếm tiến/lùi, đếm tiến
theo sườn lên của CU và đếm lùi theo
sườn lên của CD. Khi giá trị đếm tức
thời C-word Cxx lớn hơn hoặc bằng
giá trị đặt trước PV, C-bít (cxx) có
giá trị logic bằng 1. Bộ đếm ngừng
đếm tiến khi C-word đạt giá trị cực
đại 32.767 và ngừg đếm lùi khi C-
word đạt giá trị cực tiểu 32.767
CTUD reset khi đầu vào R có giá trị
logic bằng 1.
Cxx : 48 ÷79
PV (word):
VW,T , C , IW,
QW, MW, SMW,
AC,A IW, Hằng
số, *VD, *AC
Lệnh khai báo sử dụng bộ đếm trong STL như sau:
STL Mô tả Toán hạng
CTU Cxx n
Khai báo bộ đếm tiến theo sườn lên cùa
CU. Khi giá trị đếm tức thời C-word lớn
hơn hoặc bằng giá trị đặt trước n, C-bít có

giá trị logic bằng 1. Bộ đếm được reset khi
đầu ngăn xếp có giá trị logic bằng 1. Bộ
đếm ngừng đếm khi C-word đạt giá trị cực
đại 32.767.
Cxx : 0 ÷47
80 ÷127
n (word):
VW, T , C , IW ,
QW , MW,
SMW, AC,
AIW, Hằng số,
*VD, *AC
CTUD Cxx
Khai báo bộ đếm tiến/lùi, đếm tiến theo
sườn lên của CU và đếm lùi theo sườn lên
Cxx: 48 ÷ 79
13
CTUD Cxx
CU
PV
R
n của CD. Khi giá trị đếm tức thời C-word,
Cxx lớn hơn hoặc bằng giá trị đặt trước n,
C-bít có giá trị logic bằng 1, bộ đếm ngừng
đếm tiến khi C-word đạt giá trị cực đại
32.767 và ngừng đếm lùi khi C-word đạt
được giá trị cực tiểu 32.767 CTUD reset
khi bít đầu của ngăn xếp có giá trị logic
bằng 1.
n (word) :

VW, T, C, IW,
QW, MW,
SMW, AC,
AIW, Hằng số,
*VD, *AC
c. Các lệnh dịch chuyển nội dung ô nhớ
Các lệnh dịch chuyển nội dung ô nhớ thực hiện việc di chuyển hoặc sao
chép số liệu từ vùng này sang vùng khác trong bộ nhớ.
Trong LAD hay trong STL lệnh dịch chuyển thực hiện việc di chuyển hay
sao chép nội dung của một byte, một từ đơn, một từ kép hoặc một giá trị thực
từ vùng này sang vùng khác trong bộ nhớ.
Lệnh trao đổi nội dung của 2 byte trong một từ đơn thực hiện việc chuyển nội
dung của byte thấp sang byte cao và ngược lại nội dung của byte cao sang
byte thấp của từ đó.
+ Lệnh MOV_B
Là lệnh sao chép nội dung của byte IN sang byte OUT.
Cú pháp dùng lệnh MOV_B trong LAD hay MOVB trong STL như sau:
LAD STL
MOVB IN OUT

+ Lệnh MOV_W
Là lệnh sao chép nội dung của từ đơn IN sang từ đơn OUT.
14
MOV B
EN
IN OUT

Cú pháp dùng lệnh MOVW trong STL hay MOV_W trong LAD như sau:
LAD STL
MOVW IN OUT

+ Lệnh MOV_DW
Là lệnh sao chép nội dung của từ kép IN sang từ kép OUT.
Cú pháp dùng lệnh MOVD trong STL hay MOV_DW trong LAD như sau:
LAD STL
MOVD IN OUT
+ Lệnh MOV_R
Là lệnh sao chép một số thực từ IN (4 byte) sang OUT (4 byte).
Cú pháp dùng lệnh MOV_R trong LAD hay MOVR trong STL:
LAD STL
MOVR IN OUT
+ Lệnh SWAP
Là lệnh trao đổi nội dung của Byte thấp và Byte cao trong nội dung từ đơn IN
Cú pháp dùng lệnh SWAP trong LAD hay trong STL như sau:
LAD STL
15
MOV W
EN
IN OUT

MOV R
EN
IN OUT

MOV DW
EN
IN OUT

SWAP IN
d. Đồng hồ thời gian thực
Đồng hồ thời gian thực chỉ có ở CPU 214. Để có thể làm việc với đồng

hồ thời gian thực CPU 214 cung cấp hai lệnh đọc và ghi giá trị cho đồng hồ.
Những giá trị đọc được hoặc ghi được với đồng hồ thời gian thực là các giá
trị về ngày, thánh, năm, và các giá trị giờ, phút, giây. Các dữ liệu đọc, ghi với
đồng hồ thời gian thực trong LAD và trong STL có độ dài một byte và phải
được mã hóa theo kiểu số nhị phân BCD .
Byte 0
Năm ( 0 ÷99)
Byte 1
Tháng(0 ÷12)
Byte 2
Ngày (0 ÷31)
Byte 3
Giờ (0 ÷23)
Byte 4
Phúc (0 ÷ 59)
Byte 5
Giây (0 ÷59)
Byte 6 0
Byte 7 ngày trong tuần
Các dữ liệu hợp lệ là:
Năm
(yy)
Tháng
(mm)
Ngày
(dd)
Giờ
(hh)
Phút
(mm)

Giây
(ss)
0 ÷ 99 1 ÷ 12 1 ÷ 31 0 ÷ 23 0 ÷ 59 0 ÷ 59
Riêng giá trị về ngày trong tuần là một số tương ứng với nội dung của
nibble(4 bit) thấp trong byte theo kiểu :
Chủ
nhật
Thứ hai Thứ ba Thứ tư
Thứ
năm
Thứ sáu Thứ bảy
1 2 3 4 5 6 7
READ_RTC (LAD)
TODR (STL)
16
SWAP
EN
IN OUT

Lệnh đọc nội dung của đồng hồ thời gian thực với bộ đệm 8 byte được chỉ thị
trong lệnh bằng toán hạng T.
SET_RTC (LAD)
TODW (STL )
Lệnh ghi nội của bộ đệm 8 byte được chỉ thị trong lệnh bằng toán hạng T vào
đồng hồ thời gian thực .
Cú pháp sử dụng lệnh đọc, ghi dữ liệu với đồng hồ thời gian thực trong LAD ,
STL:
LAD STL Toán hạng
TODR T
TODW T

Tuyệt đối không sử dụng lệnh TODR và lệnh TODW đồng thời vừa
trong chương trình chính, vừa trong chương trình xử lý ngắt. Khi một lệnh
TODR hay TODW đã được thực hiện, thì khi gọi chương trình xử lý ngắt, các
lệnh làm việc với đồng hồ thời gian thực trong chương trình xử lý ngắt sẽ
không được thực hiện nữa. Bit SM4.5 sẽ có logic 1 trong những trường hợp
như vậy.
17
SET RTC
EN
T
READ RTC
EN
T
CHƯƠNG 2: Phân tích công nghệ và xây dựng mô hình hệ thống
2.1. Khái quát về hệ thống tự động hóa trong trường học
Ngày nay, với sự phát triển mạnh mẽ của công nghệ chế tạo thiết bị tự
động hóa, kết hợp với những thành tựu trong công nghệ vi điện tử và công
nghệ thông tin, đã cho phép tạo nên một giải pháp tự động hóa trong mọi lĩnh
vực . Có thể nói tự động hóa đã trở thành xu hướng tất yếu cho mọi lĩnh vực,
cho bất kì quốc gia và vùng lãnh thổ nào .
Ngôn ngữ lập trình PLC được ứng dụng trong nhiều lĩnh vực công
nghiệp như : chế biến thực phẩm , sản xuất xi măng, gạch, các hệ thống tự
động từ đơn giản đến phức tạp…gắn liền với các tên tuổi hàng đầu trong việc
chế tạo các thiêt bị tự động hóa như CNC…và các hãng như Siemens,
Honeywell, Alen Bradley, ABB…và các hệ thống mạng kèm theo là : Hệ
thống sản xuất linh hoạt (FMS), Hệ thống điều khiển phân tán (DSC) đã tạo
nên bước phát triển nhảy vọt trong nền sản xuất công nghiệp.
Hiện nay ở nước ta, PLC đã được đưa vào sử dụng trong nhiều nhà
máy, xí nghiệp, trường học…để giám sát các quy trình công nghệ, kĩ thuạt từ
18

đơn giản đến phức tạp, nhằm nâng cao chất lượng cuộc sống, đáp ứng yêu cầu
ngày càng cao của xã hội.
Từ những phân tích đã nêu ra ở trên, ta thấy rằng tự động hóa đã xâm
nhập vào cuộc sống hàng ngày của hầu hết tất cả mọi người, tất cả những lĩnh
vực trong cuộc sống. Và các trường học trong hệ thống giáo dục nói chung và
trường đại học nói riêng cũng không nằm ngoài quy luật đó. Trong trường học
có rất nhiều vấn đề có thể áp dụng thành tựu trong cuộc cách mạng KH-KT về
tự động hóa. Ở đây chúng ta sẽ xét những vấn đề cơ bản sau :
2.1.1. Hệ thống chuông báo giờ tự động
Ta đã biết, tất cả các trường học, hệ thống báo giờ là vô cùng quan trọng vì có
như vậy, chúng ta mới có thể biết được giờ vào học, giờ giải lao giữa các tiết.
Ở đây ta ứng dụng lĩnh vực tự động hóa vào thiết kế để thỏa mãn các yêu cầu
về công nghệ sau :
Chỉ cần một lần khởi động duy nhất, sau đó hệ thống sẽ cập nhật thời gian
thực từ đó xác định được thời gian hiện. Một ngày học của chúng ta có tất cả
12 tiết học được bắt đầu từ 7h00’ sáng và kết thúc vào lúc 17h15’. Trừ ngày
Chủ nhật không đổ chuông còn tất cả các ngày từ thứ 2 đến thứ 7 hàng tuần,
chuông sẽ tự động báo vào các giờ như sau :
7h00’ : kêu 2 hồi, mỗi hồi 5s, báo hiệu giờ vào học tiết đầu tiên của 1 ngày.
7h45’ : kêu 1 hồi 5s, báo hết tiết 1,
7h50’ : kêu 1 hồi dài 10s, báo vào lớp sau khi giải lao 5’,bắt đầu tiết 2.
8h35’ : kêu 1 hồi 5s, báo hết tiết 2,
8h40’ : kêu 1 hồi dài 10s, báo vào lớp sau khi giải lao 5’,bắt đầu tiết 3.
9h25’ : kêu 1 hồi 5s, báo hết tiết 3,
9h30’ : kêu 1 hồi dài 10s, báo vào lớp sau khi giải lao 5’,bắt đầu tiết 4.
10h15’ : kêu 1 hồi 5s, báo hết tiết 4,
10h20’ : kêu 1 hồi dài 10s, báo vào lớp sau khi giải lao 5’,bắt đầu tiết 5.
11h5’ : kêu 1 hồi 5s, báo hết tiết 5,
11h10’ : kêu 1 hồi dài 10s, báo vào lớp sau khi giải lao 5’,bắt đầu tiết 6.
11h55’ : kêu 1 hồi 5s, báo hết tiết 6,

19
12h30’ : kêu 2 hồi, mỗi hồi 5s, báo hiệu giờ vào học tiết đầu tiên của buổi
chiều.
13h15’ : kêu 1 hồi 5s, báo hết tiết 7,
13h20’ : kêu 1 hồi dài 10s, báo vào lớp sau khi giải lao 5’,bắt đầu tiết 8.
14h5’ : kêu 1 hồi 5s, báo hết tiết 8,
14h10’ : kêu 1 hồi dài 10s, báo vào lớp sau khi giải lao 5’,bắt đầu tiết 9.
14h55’ : kêu 1 hồi 5s, báo hết tiết 9,
15h : kêu 1 hồi dài 10s, báo vào lớp sau khi giải lao 5’,bắt đầu tiết 10.
15h45’ : kêu 1 hồi 5s, báo hết tiết 10,
15h50’ : kêu 1 hồi dài 10s, báo vào lớp sau khi giải lao 5’,bắt đầu tiết 11.
16h35’ : kêu 1 hồi 5s, báo hết tiết 11,
16h40’ : kêu 1 hồi dài 10s, báo vào lớp sau khi giải lao 5’,bắt đầu tiết 12.
17h25’ : kêu 1 hồi 5s, báo hết tiết 12,
18h: kêu 2 hồi, mỗi hồi 5s, báo hiệu giờ vào học tiết đầu tiên buổi tối
18h45’ : kêu 1 hồi 5s, báo hết tiết 13,
18h50’ : kêu 1 hồi dài 10s, báo vào lớp sau khi giải lao 5’,bắt đầu tiết 14.
19h35’ : kêu 1 hồi 5s, báo hết tiết 14,
19h40’ : kêu 1 hồi dài 10s, báo vào lớp sau khi giải lao 5’,bắt đầu tiết 15.
19h45’ : kêu 1 hồi 5s, báo hết tiết 15,
20h30’ : kêu 1 hồi dài 10s, báo vào lớp sau khi giải lao 5’,bắt đầu tiết 16.
20h35’ : kêu 1 hồi 5s, báo hết tiết 16,
Sau đó chuông sẽ ngừng kêu cho đến 7h00’ sáng ngày hôm sau (trừ ngày Chủ
nhật). Quá trính đó đươc lặp đi lặp lại và không cần sự can thiệp của con
người.
2.1.2. PHÂN BỐ VÀO RA
Dựa vào quy trình công nghệ như trên,ta có thể lập bảng Phân Bố Vào Ra như
sau. Như vậy,quy trình gồm 18 đầu vào và 20 đầu ra (8 đầu ra để hiển thị
LED)
Chọn PLC S7 200 CPU226 AC/DC/RELAY

20
Từ bảng phân bố vào ra trên,ta thấy có 18 đầu vào và cần 12 đầu ra,cộng với 8
đầu ra cần dùng để hiển thị LED
2.2. PHÂN TÍCH MỤC ĐÍCH, YÊU CẦU DỒ ÁN
2.2.1. Mục đích:
+ Hệ thống báo chuông tại các thời điểm vào, ra của tiết học của trường.
+ Hệ thống có khả năng chỉnh lại giờ.
+ Thời gian kéo dài chuông vào tiết và nghỉ giải lao là khác nhau.
+ Hệ thống chuông được dùng đi dây điện đồng bộ 220V.
2.2.2. Yêu cầu:
+ Hệ thống làm việc ổn định.
+ Có khả năng đưa mô hình vào ứng dụng trong thực tế.
2.2.3. Phương thức thực hiện chương trình trong PLC
PLC thực hiện chương trình theo chu trình lặp. Mỗi vòng lặp được gọi là
vòng quét ( scan). Mỗi vòng quét được bắt đầu bằng giai đoạn chuyển dữ liệu từ
các cổng vào số tới từng bộ nhớ đệm ảo ngõ vào (I), tiếp theo là giai đoạn thực
hiện chương trình. Trong từng dòng quét, chƣơng trình được thực hiện từ lệnh
đầu tiên đến lệnh kết thúc. Sau giai đoạn thực hiện chu trình là giai đoạn chuyển
các nội dung của bộ đệm ảo ra (Q) tới các cổng ra số. Vòng quét được kết thúc
bằng giai đoạn truyền thông nội bộ và kiểm tra lỗi.
Thời gian cần thiết để PLC thực hiện được một vòng quét gọi là thời
gian vòng quét ( Scan time ). Thời gian vòng quét không cố định, tức là
không phải vòng quét nào cũng được thực hiện trong một khoảng thời gian
như nhau. Có vòng quét thực hiện lâu, có vòng quét thực hiện nhanh tuỳ thuộc
vào số lệnh trong chương trình được thực hiện, vào khối lượng dữ liệu truyền
thống trong vòng quét đó.
21
Hình 4. Chu kỳ quét trong PLC
Như vậy giữa việc đọc dữ liệu từ đối tượng xử lý, tính toán và việc gửi
tín hiệu điều khiển tới đối tượng có một khoảng thời gian trễ đúng bằng thời

gian vòng quét. Nói cách khác, thời gian vòng quét quyết định tính thời gian
thực của chương trình điều khiển trong PLC. Thời gian quét càng ngắn, tính
thời gian thực hiện của chƣơng trình càng cao.
Tại thời điểm thực hiện lệnh vào/ra, thông thường lệnh không làm việc
trực tiếp với cổng vào/ra mà chỉ thông qua bộ đệm ảo của cổng trong vùng
nhớ tham số. Việc nhớ việc truyền thông giữa bộ đệm ảo với ngoại vi do hệ
điều hành CPU quản lý. Ở một số modul CPU, khi gặp lệnh vào/ra ngay lập
tức hệ thống sẽ cho dừng mọi công việc khác, ngay cả chương trình xử lý
ngắt để thực hiện lệnh trực tiếp cổng vào/ra.
22
CHƯƠNG 3: Thực hiện thì công và mô phỏng hệ thống
3.1. Lựa chọn các thiết bị
3 1.1. Yêu cầu về mô hình
+ Kích thước gọn gàng.
+ Hệ thống cơ hoạt động tốt.
+ Hoạt động theo đúng thiết kế.
+ Hệ thống chuông tự động đáp ứng mọi yêu cầu đặt ra.
3.1.2. Mục đích của việc chế tạo mô hình
23
Tạo ra một mô hình chuông báo tiết học tự động ở trƣờng đại học có thể
hoạt động tốt, từ đó có thể thiết kế được hệ thống chuông báo tiết học tự động
hoàn chỉnh cho các trường học.
Việc chế tạo ra mô hình hoạt động tốt sẽ tạo điều kiện cho sinh viên có
cơ hội học tập và nghiên cứu môn học một cách thực tế, là một cơ hội rất tốt
giúp sinh viên khỏi bỡ ngỡ khi làm việc thực tế.
Nghiên cứu chế tạo ra mô hình chuông báo tại trường học này sinh viên
cũng phải tham khảo thực tế nhiều lĩnh vực và tham khảo bằng nhiều tài liệu
khác nhau. Điều đó mang lại sự hiểu biết sâu sắc hơn cho sinh viên không chỉ
trong một lĩnh vực tự động hóa mà còn nhiều lĩnh vực, nghành nghề khác nhƣ
điện , điện tử, cơ khí,…

3.2. Lựa chọn thiết bị cho mô hình
Các thiết bị sử dụng trong hệ thống gồm có:
- PLC S7-200
- Chuông điện
- Nút nhấn
- Rơle 24VDC/280VAC
- Đèn báo
- Nguồn 24VDC
3.2.1. PLC
Có hai series: 21x (loại cũ không còn sản xuất nữa) và 22x (loại mới). Về mặt
tính năng thì loại mới có ưu điểm hơn nhiều. Bao gồm các loại CPU sau: 221,
222, 224, 224XP, 226, 226XM trong đó CPU 224XP có hỗ trợ analog 2I/1O
onboard và 2 port truyền thông.
24
Bảng 1. So sánh các thông số và đặc điểm kỹ thuật của series 22x
Ta chọn loại CPU 226. Đây là bộ PLC gồm 24 đầu vào và 16 đầu ra.
Loại CPU 226 này có thể kết nối tối đa 7 module mở rộng để mở rộng cổng
vào ra. Thiết bị điều khiển chính của toàn bộ mô hình thiết bị này dùng nguồn
xoay chiều 220V. Chức năng điều khiển theo chƣơng trình lập trình sẵn theo
chƣơng trình cho trƣớcTrong hệ thống này yêu cầu 20 đầu ra nên ta dùng
thêm 1 module mở rộng,cách ghép nối thể hiện như hình vẽ,
CPU 226 XP
25

×