You are on page 1of 125

Phn I: H thng bi gi xe t t ng Lun vn tt nghip

Thit K H Thng Qun L T ng Bi Gi Xe Trang 1


PHN I
H THNG BI GI XE T T NG

I.TM HIU V BI GI XE
Ngy nay cc trung tm thnh ph ln vi s pht trin mt dn c v
xe c ngy cng ng c. c bit l s gia tng v s lng xe t ngy cng
nhiu v iu ny phn no cng phn nh s pht trin ca mt quc gia. Song
song vi s pht trin , ngi ta t vn l xy dng nhng bi gi xe phc
v cho ngi dn trong cng vic cng nh trong vic i li ca h. V th, ngy
nay trn cc nc tin tin trn th gii nh Nht Bn, Hn Quc, nhng thnh
ph cht hp, ngi ta xy dng h thng bi gi xe t t ng c trang b thit
b nng di chuyn t t mt t ln im
trn cao(h thng ni hoc di chuyn xe
xung im di lng t (h thng ngm).
y l nhng gii php gip tng hn 100 ln
s lng xe trn mt din tch truyn thng,
cho php gii quyt trnh trng thiu mt bng
xy dng.

Mt s m hnh bi xe thc t mt s nc
M hnh xp chng (Auto Stacker):
M hnh ny s dng
mt h thng thy lc nng
ti a 4 t xp cnh nhau ln
mt tng cao dnh ch cho 4
xe khc bn di. Tuy nhin,
gii php ny ch ph hp vi qui
m nh, hiu qu kinh t khng cao.



Phn I: H thng bi gi xe t t ng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 2
M hnh bi xe nhiu tng (Driver in Parking):
M hnh ny vi cc ng dc ch xe t
li vo v ra khi bi xe. Mc t ng ho tng
i khng cao. Gii php ny tuy ph bin nhng
cha ph bin v mt khng gian, nhim mi
trng.

M hnh bi gi xe t ng ho (Above ground Automated Parking):
M hnh ny l mt bc ci
tin so vi 2 m hnh trn,sc cha c
th tng gp nhiu ln so vi m hnh bi
gi xe nhiu tng. B tr cc xe st nhau
v thu hp khong cch gia cc tng,
cc khu nhn bo qun v tr xe hon
ton c t ng ha.
M hnh bi xe t ng ho dng ngm (Underground Automated Parking):
C cu trc tng t m hnh bi gi xe t
ng ho nhng c thit k dng ngm di
t.


II.H THNG QUN L BI GI XE T T NG
H thng qun l bi xe t ng c thc hin mt cch t ng nh vo
vic lp trnh cho PLC v cc cm bin c t ti cc ca vo v ra.
Sc ch ca bi xe cho php ti a l
100 xe bao gm cc loi xe 4 ch, xe 7 ch,
xe 12 ch v xe 30 ch. Khi c xe vo, cm
bin pht hin v PLC iu khin m ca cho
xe vo, phn loi xe, v nh vic phn loi xe
m PLC m s xe cc loi vo trong ngy.
Khi xe vo, cm bin s pht hin v PLC iu khin ng ca vo.
Phn I: H thng bi gi xe t t ng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 3
V tng t, khi c xe
ra, cm bin s pht hin v
iu khin m ca cho xe ra,
phn loi xe v PLC s m s
xe cc loi ra trong ngy. Khi
xe ra, cm bin s pht hin,
PLC iu khin ng ca ra.
Khi bi xe cn trng xe, th
mt n xanh s sng bo
hiu l xe c php vo. Ngc li, khi bi xe
y th n s sng bo hiu l xe khng
c php vo.

1. CC KHU C BN
M ca
Khi c xe vo hoc ra, th cc cm bin ti cc ca vo hoc ra s nhn bit
c tn hiu v thng bo n PLC, PLC s tc ng iu khin m ca. Khi ca
m ti a, cng tc hnh trnh s tc ng, PLC s iu khin ca dng li.
Phn loi xe v m s xe, tnh tin gi xe
Khi xe vo hoc ra, cm bin s phn loi xe 4 ch, 7 ch, 12 ch, 30 ch
v thng bo n PLC, PLC s tc ng n b m m s xe vo hoc ra v
tnh tin gi xe.
ng ca
Khi xe vo hoc ra khi ca, cm bin s nhn bit c tn hiu v s
thng bo n PLC, PLC s tc ng iu khin m ca. Khi ca ng ti a, cng
tc hnh trnh s tc ng, PLC s iu khin ca dng li.

2. NGUYN TC HOT NG
H thng qun l bi gi xe t hot ng da trn nguyn tc lp trnh PLC
dng iu khin cc ca vo ra, phn loi v m s xe thng qua cc cm bin,
Phn I: H thng bi gi xe t t ng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 4
ng c, cng tc hnh trnh,v.v,truyn ng ca ca nh vo mt ng c c
gn trc tip vi thanh gt.
Ca vo
Khi c xe vo, cm bin S
1
s nhn bit c tn hiu v chuyn n PLC,
PLC iu khin m ca.
Khi thanh gt m ti a s chm vo cng tc hnh trnh trn CT
1
ca vo,
cng tc ny tc ng n PLC, PLC s iu khin dng m ca.
Khi xe vo, tu theo tng loi xe m cc cm bin S
2
, S
3
, S
4
, S
5
tc ng
n b m ca PLC m s xe vo trong bi.
Khi xe vo, cm bin S
5
s tc ng, a tn hiu v PLC, PLC s iu
khin ng ca li.
Khi thanh gt ng ti a s chm vo cng tc hnh trnh di CT
2
ca
vo, cng tc ny s tc ng n PLC, PLC s iu khin dng ng ca.
Ca ra
Khi c xe ra, cm bin S
6
s nhn bit c tn hiu v chuyn n PLC,
PLC iu khin m ca.
Khi thanh gt m ti a s chm vo cng tc hnh trnh trn CT
3
ca ra,
cng tc ny tc ng n PLC, PLC s iu khin dng m ca.
Khi xe ra, tu theo tng loi xe m cc cm bin S
7
, S
8
, S
9
, S
10
tc ng
n b m ca PLC m s xe ra khi bi.
Khi xe ra, cm bin S
10
s tc ng, a tn hiu v PLC, PLC s iu
khin ng ca li.
Khi thanh gt ng ti a s chm vo cng tc hnh trnh di CT
4
ca ra,
cng tc ny s tc ng n PLC, PLC s iu khin dng ng ca.
Sau khi phn loi xe ra, giao tip my tnh s tnh tin thi gian m xe
gi trong bi xe.

3. PHN T IU KHIN, CM BIN V CHP HNH CA THIT B
Thit b iu khin
PLC l thit b lp trnh iu khin cho cc hot ng ng m ca, hin th
n, phn loi xe v m s xe.
Phn I: H thng bi gi xe t t ng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 5
Cu trc phn cng:

Ngun: AC (220V,110V)
DC (24V,12V)
B vi x l: c cc tn hiu vo thc hin cc hot ng iu khin theo
chng trnh c lu trong b nh v truyn cc tn hiu ra cc thit b xut.

B nh: L ni lu d liu v chng trnh cho cc hot ng iu khin
di s kim tra ca b vi x l.
ROM : b nh ch c
RAM : b nh truy xut ngu nhin
EEPROM : c th xo bng in v c th lp trnh li c.
Thit b lp trnh:
+ Lp trnh trn my tnh
Thit b lp trnh
B nh Giao din xut Giao din
B vi x l
Ngun
Bus d liu
B nh Vi x l B nh
Bus iu khin
Thit b nhp
Phn I: H thng bi gi xe t t ng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 6
+ Lp trnh ring
Cc thit b nhp v xut :
Cung cp giao din gia h thng v th gii bn ngoi cho php kt
ni gia cc cm bin, ng c v PLC.
u im ca PLC:
C kch thc nh gn, c thit k c th chu c rung ng,nhit,
m v ting n.
C n nh cao.
D dng nhanh chng thay i cu trc ca mch iu khin bng cch lp
trnh li p ng yu cu iu khin m khng cn thay i phn cng.
C cc chc nng kim tra li, d bo li.
C th nhn i cc ng dng nhanh v t tn km.
C th kt ni mng vi tnh gim st h thng.
iu khin linh hot a dng.
Cc ng dng ca PLC:
iu khin bi gi xe t t ng.
iu khin cc qu trnh sn sut.
Gim st h thng,an ton nh xng.
H thng bo ng.
iu khin thang my.
iu khin ng c.
Cm bin
Cm bin quang:
Cm bin quang l cm bin hot ng da trn nguyn tc pht v thu tn
hiu nh sng.
C 2 dng cm bin quang:
Cm bin quang dng thu v pht ri:
L cm bin gm hai b pht v thu c tch ri ra ring
bit. Cc thit b chuyn mch quang in vn hnh theo kiu truyn
pht, vt th cn pht hin s chn chm nh sng (thng l bc x
hng ngoi) khng cho chng chiu ti thit b d.
Phn I: H thng bi gi xe t t ng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 7

Cm bin quang dng thu v pht chung:
L cm bin gm hai phn pht v thu c gp chung thnh
mt khi. Cc thit b chuyn mch quang in vn hnh theo kiu
phn x, vt th cn pht hin s phn chiu chm nh sng ln thit
b d.

Trong c hai loi trn, cc pht x thng thng l Diode pht quang (LED).
Thit b d bc x c th l Transistor quang, thng l hai Transistor c gi l
cp Darlington. Cp Darlington lm tng nhy ca thit b. Tu theo mch c
s dung u ra c th c ch to chuyn mch n mc thp khi nh sng n
Transistor.
Cc cm bin c cung cp di dng cc hp cm nhn s c mt ca cc
vt th khong cch ngn, thng nh hn 5mm i vi cm bin hnh ch U.
i vi cc loi cm bin ni trn, nh sng c chuyn thnh s thay i
dng in, in p hoc in tr chnh lmt c trng mang bn cht in.
Cm bin thu pht hng ngoi:
IC pht BL9148:
y l mt b truyn pht hng ngoi ng dng bi cng ngh CMOS. 1948
kt hp vi BL9149 to ra 10 chc nng , vi BL 9150 to ra 18 chc nng v 75
lnh c th pht x: trong 63 lnh l lin tc, c th c nhiu t hp phm; 12
phm khng lin tc, ch c th s dng phm n. Vi cch t hp nh vy c th
dng cho nhiu loi thit b t xa.
c tnh :
Diode pht quang
Thit b d quang hc
Vt th
Diode pht quang Thit b d quang lc
Phn I: H thng bi gi xe t t ng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 8
+ c sn xut theo cng ngh CMOS.
+ Tiu th cng sut thp.
+ Vng in p hot ng : 2.2V 5V
+ S dng c nhiu phm
+ t thnh phn ngoi.
ng dng :
B pht hng ngoi trong cc thit b in t nh: TV, Video cassette
Recoder, v cng c th s dng cho cc ng dng cng nghip khc.
S v chc nng cc chn IC :
+ Chn 1(Vss): l chn Mass c ni vi cc m
ca ngun in.
+ Chn 2 va 3: l hai chn ni vi b giao ng
bn ngoi.
+ Chn 4-9(K1-K9): l u ca cc tnh hiu bn
phm kiu ma trn, cc chn K1 n K6 kt hp vi cc
chn 10 n 12(T1-T3) to thnh ma trn phm 18 phm
+ Chn 13 (CODE): l chn m s dng kt hp vi cc chn T1-T2
to ra t hp m h thng gia phn pht v phn thu.
+ Chn 14 (TEST): l chn dng kim tra m ca phn pht, bnh thng
khi s dng c th b trng.
+ Chn 15 (TXout): l u ra ca tn hiu c iu ch FM.
+ Chn 16 (Vcc): l chn cp ngun dng.
S khi:
B to dao ng v b phn tn: c
th pht c i xa, ta cn c mt xung
c tn s 38 Khz ni nhn nhng trn
th trng kh tm c thch anh
ng tn s nn ta chn tn s ca
thch anh l 455Khz cho b to cao
ng. Sau tn s s c a qua b
phn tn chia n ra thnh 12 ln.
Phn I: H thng bi gi xe t t ng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 9
Mch ng dng :
150 pF
DIODE
0
R2
10K
3 VCC
1MF
0
DIODE
0
3 VCC
0 10K
LED
150 pF
U5
BL 9148
1
7
16
12
11
15
6
3
4
5
14
10
9
13
8
2
VSS
K4
VCC
T3
T2
TXOUT
K3
XT
K1
K2
TEST
T1
K6
CODE
K5
XT
455KHZ
100
HONG NGOAI

Tnh ton:
B to dao ng tn s sng mang:
+ Chn tn s dao ng: tn s sng mang mang
m truyn l tn s thu c do vi mch m ha sau
khi tin hnh chia 12 ln i vi tn s dao ng ca
b cng hng bng thch anh c u bn ngoi.
Cho nn mc n nh ca tn s ny ph thuc vo
cht lng v quy cch ca thch anh. Tn s dao
ng ca mch pht thng l 400-500KHz. i vi
mch pht trn th ta chn thch anh l 455KHz.
+ Tn s dao ng ca sng mang c tnh theo cng thc:
12
C
fosc
f =

T suy ra: 455 /12 38
C
f KHz KHz = ~
+ Do cu to bn trong ca IC BL9148 c mt cng o dng phi hp vi
cc linh kin bn ngoi bng thch anh hoc bng mch LC to thnh mch dao
ng. V mch LC kh cng knh v n nh khng cao so vi thch anh nn ta
chn b dao ng thch anh.
Mch khuch i pht : Do tn hiu ng ra ca IC pht c dng b: -
0.1mA1.0mA nn ta phi khuch i chng ln. V th, ta dng transistor
khuch i dng cp cho Led hng ngoi pht i.
Phn I: H thng bi gi xe t t ng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 10
+ Khi cha cp ngun th Q off
khng c dng qua Led hng ngoi.
+ Khi cp ngun cho mch pht : Q on
Vout = VB Q dn bo ha VCE = VCE bo
ha = 0.2V
+ Led hng ngoi c in p cho php trong
khong 1.2 3.3 V, dng lm vic 30mA1A, RIR =
1030O
1.2 3.3
IR
V V s s
* *
IR E IR E
IR IR
MAX MIN
R V R V
R R
V V
s
1.2V
1
* 3.3
E
IR
IR
V
R V
R R
s s
+

Sau khi tnh ton ta chn R
1
=10K, R
IR
= bin tr 10K.
Ci m cho mch pht :
+ V chn IC thu l BL9149 nn theo l thuyt th IC thu khng v chn C
1
. Do
chn C
1
ca IC pht lun mc logic 1. Nhim v cn li l xc nh t hp
m cho chn C
2
v C
3
.
+ i vi mch trn th cch ci m nh sau:
+ Ta xc nh m mun ci l: C
1
=1, C
3
= 0.
+ T , ti chn C
2
, ta ni mt diode vi chn Code, cn chn C
3
th b trng.
+ Nh vy, IC thu nhn bit ng th ta cng phi ci ng nh vy.
Bng m h thng
BL9418 BL9419
C
1
C
2
C
3
C
2
C
3

1 1 0 1 0
BL9148: 1_ni diode
0_b trng
BL9419: 1_ni t xung Mass
0_ni xung Mass
Phn I: H thng bi gi xe t t ng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 11
+ Chn ng ra ch lin tc l cc chn ra t HP1- HP5 s dng cho
phn cm bin pht hin vt trong m hnh.
IC thu BL9149 :
BL9149 cng c ch to bi cng ngh CMOS. N c th iu khin ti a 10
thit b.
c tnh:
+ Tiu tn cng sut thp.
+ Kh nng chng nhiu rt cao.
+ Nhn c ng thi 5 chc nng t IC pht BL9148.
+ Cung cp b dao ng RC.
+ B lc s v kim tra m ngn nga s tc ng t nhng ngun sng
khc nhau nh n PL. do khng nh hng n nhy ca mt thu.
S v chc nng ca cc chn ca IC :
+ Chn 1(Vss): l chn Mass c ni vi cc m ca
ngun in.
+ Chn 2 (RXin): l u vo tn hiu thu.
+ Cc chn 3-7 (HP1-HP5): l u ra tn hiu lin tc.
Ch cn thu c tn hiu tng ng vi u ra no
th u ra s lun duy tr mc logic 1 .
+ Cc chn 8-12 (SP1-SP5): l u ra tn hiu khng
lin tc.cht cn thu c tn hiu tng ng vi u ra no th u ra s
duy tr mc logic 1 trong khong thi gian l 107ms.
+ Chn 13-14 (CODE3- CODE2): to ra m t hp cc h thng gia phn
pht v phn thu. M s ca hai chn ny phi ging t hp m h thng ca
phn pht th mi thu c tn hiu.
+ Chn 15 (OSC): dng ni vi t in v in tr bn ngoi to ra dao dng
cho mch.
+ Chn 16 (Vcc): l chn c ni vi cc dng ca ngun cung cp.
S khi:
Phn I: H thng bi gi xe t t ng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 12
Gii thch s khi:
+ Sau khi IC pht BL9148 pht ra
tn hiu (2 chu k), tn hiu s c mt
thu tip nhn ri a n n chn Rxin.
Chn Rxin c nhim v s chnh li dng
sng ca tn hiu cho chun. Sau , tn
hiu c a ti b lc s. B lc s c
nhim v lc ly cc d liu ri a n
thanh nghi 12 bit. Tip n, d liu th hai s np vo thanh nghi.D liu u tin
s c a qua b m ng ra nu m ca n khp vi m ca phn pht. Trng
hp, m ca d liu khng khp vi m ca phn pht th qu trnh s c lp li.
Khi cc d liu nhn c thng qua, ng ra s chuyn t mc thp ln mc cao.

Mch ng dng:
10K
102
102
OUT 1
1
0
10K
BL 9149
1
7
16
12
11
15
6
3
4
5
14
10
9
13
8
2
VSS
HP5
VCC
SP1
SP2
OSC
HP4
HP1
HP2
HP3
CODE 2
SP3
SP4
CODE3
SP5
RXin
5 VCC
0
5 VCC
0
102
0
OUT 1
39K
MAT THU
1 3 2
V
I
N
G
N
D
V
O
U
T
0
C1815

Tnh ton :
Mch khuch i v tch sng:
Q trng thi bo ha V
CEBH
= 0.1V
Phn I: H thng bi gi xe t t ng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 13
+ Khi cha nhn tn hiu: VIN=0.8V
I
BH
= 0.02mA
V
IN
= VR
B
+ V
BE

IN BE
B
B
V V
R
I

=
3
0.8 0.7
5
0.02 10
B
R K

= = O


T , da vo thc t ta chn R
B
= 4.7KO
+ Mt khc ta c :
V
CC
=VR
C
+ V
CEBH

VR
C
= V
CC
-V
CEBH

CC CEBH
C
CEBH
V V
R
I

=
3
5 0.1
5
10
C
R K

= ~ O
50 0.02 1
CBH
Min CBH Min BBH
BBH
I
I I mA
I
= = = =
Ta chn RC = 4.7KO
+ Khi nhn tn hiu VIN = 705 mV
3
0.705 0.7
1
5 10
IN BE
B
B
V V
I A
R


= = =


VC = VCC VRC =VCC - RC
3 6
5 5 10 10 100 4.5
B
I hfe V

= =
+ Ic thu hot ng tt th VIN = 2V3V
Vi V
IN
2V >
2
C INIC
INIC L
V Z
V
Z R

>
+

3
3
4.5 25 10
25 10
2 2
C INIC
L INIC
V Z
R Z

s =
30
L
R K s O T ta chn RL = 10KO
+ Tuy nhin, l thuyt l nh vy nhng thc t th hai in tr RB v RC khng
cn gn. Nu nh th th kh nng thu ca mch s tng ln.
+ T hp m h thng gia IC pht BL9148 v IC thu BL 9149:
Phn I: H thng bi gi xe t t ng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 14
Bng m h thng
BL9148 BL9149
C
1
C
2
C
3
C
2
C
3

1 1 0 1 0
1 1 1 1 1
+ V BL9149 khng c chn C
1
nn chn C
1
ca BL9148 mc nhin mc logic
1. Qua bng m h thng, ta thy rng t hp m ca cc chn C
2
v C3 ca hai
chan Ic pht phi ging nhau, l m h thng. Trong cc t hp m khng c t
hp C
2
= C
3
= 0.
+ Cc chn C
2
v C
3
s mc logic 1 nu ni mt t gia chn Cn ( n = 2, 3)
v Mass. Ngc li, nu cc chn C
2
v C
3
s mc logic 0 nu ni xung Mass.
ng dng:
Cm bin quang c ng dng rt ph bin ngoi thc t nh trong cc h
thng ng m c t ng, m v phn loi sn phm,v.v
Cm bin t (loop detector):
Cm bin t l mt loi cm bin da trn nguyn tc truyn
dn in t. iu ny c ngha nu mt vt th c t trong mt
vng t trng thay i th mt in th c to ra trn vt th .
Khi c in trng c to ra xung quanh cun dy. Khi c
mt vt th kim loi i vo vng t trng ang thay i. Dng in
c to ra trong vt th kim loi, tin trnh ny c gi l s
truyn dn, iu ny l bi v tt c cc kim loi u dn in.
Khi mt dng din c truyn trong mt vt th kim loi v
n cng to ra vng t trng ca chnh n, nhng vng t trng
ny c kh nng truyn dn mt lng nh v in trong chnh cun
day ca cm bin. Do , cm bin s pht hin c vt th.
ng dng:
Cm bin t c dng nhiu trong thc t nh cc trm thu
ph xe t t ng, cc cng t ng dnh ring cho xe ln t 4 ch tr ln hay cc
ng dng phn loi sn phm kim loi hoc phi kim loi.

Phn I: H thng bi gi xe t t ng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 15
Thit b chp hnh:
Rle:
Rle l loi kh c in t ng ng ngt mch in
iu khin, t ng ng ngt cc tip im khi c ngun tc
ng tc l khi c in th cc tip im ca Rle hot ng,
tip im thng m th ng li v tip im thng ng th
m ra dng o chiu ng c.
Nguyn l hot ng:
Rle hot ng da trn nguyn l in t. Khi c dng in
chy qua, cun day s sinh ra lc ht in t, ht tm kim loi
mng v pha li vi mt lc, nu lc ny thng lc cn ca l
xo th cc tip im thng m ca Rle s ng li lm kn
mch iu khin. Khi dng in trong cun day gim hoc khi ngt in Rle th
lc ht l xo s thng lc ht in t lm cho cc tip im tr v v tr ban u.
ng dng:
Dng trong cc mch t ng ng ngt, trong cc mch o chiu quay ng c.
ng c:
L mt thit b chp hnh in, khi c ngun tc ng th ng c s hot
ng v c th o chiu quay ca ng c nh vo tc ng ca Rle cng nh l
ca b iu khin PLC. ng c gm hai phn chnh:
Stator: L phn ng yn, gm:
+ Vt liu dn t
+ Dy dn
+ V my.
Rotor gm:
+ Li st c nhim v dn t.
+ Dy qun.
Nguyn l hot ng:
Da trn hin tng cm ng in t. Khi c dng in i qua cun dy ca
ng c, cun dy ca ng c s sinh ra t thng t thng bin thin s sinh ra sc
in ng cm ng, cm ng ln Rotor nn Rotor quay, do ng c hot ng.
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 16
PHN II
GII THIU TNG QUT V PLC

I. S LC V LCH S PHT TRIN
L thit b iu khin lp trnh u tin (PLC l vit tt ca ch
Programmable Logic Controller ) c nhng nh thit k cho ra i nm 1968
(cng ty General Motor M). Tuy nhin, h thng ny cn kh n gin v cng
knh, ngi s dng gp nhiu kh khn trong vic vn hnh h thng. V vy cc
nh thit k tng bc ci tin h thng lm cho h thng n gin, gn nh, d vn
hnh, nhng vic lp trnh cho h thng cn kh khn, do lc ny khng c cc thit
b lp trnh ngoi vi h tr cho cng vic lp trnh.
n gin ha vic lp trnh, h thng iu khin lp trnh cm tay
(Programmable Controller Handle) u tin c ra i vo nm 1969. iu ny
to ra c mt s pht trin thc s cho k thut iu khin lp trnh. Trong giai
on ny cc h thng iu khin lp trnh (PLC) ch n gin nhm thay th h
thng Relay v dy ni trong h thng iu khin c in. Qua qu trnh vn hnh,
cc nh thit k tng bc to ra c mt tiu chun mi cho h thng, tiu
chun l: Dng lp trnh dng gin hnh thang (The Diagram Format). Trong
nhng nm u thp nin 1970, nhng h thng PLC cn c thm kh nng vn
hnh vi nhng thut ton h tr (arithmetic), vn hnh vi cc d liu cp nht
(data manipulation). Do s pht trin ca loi mn hnh dng cho my tnh
(Cathode Ray Tube: CRT), nn vic giao tip gia ngi iu khin lp trnh cho
h thng cng tr nn thun tin hn.
S pht trin ca h thng phn cng v phn mm t nm 1975 cho n nay
lm cho h thng PLC pht trin mnh hn vi cc chc nng m rng: H
thng ng vo/ra c th tng ln n 8000 cng vo/ra, dung lng b nh chng
trnh tng ln hn 128000 t b nh (word of memory). Ngoi ra cc nh thit k
cn to ra k thut kt ni vi cc h thng PLC ring l thnh mt h thng PLC
chung, tng kh nng ca tng h thng ring l. Tc x l ca h thng c
ci thin, chu k qut (scan) nhanh hn lm cho h thng PLC x l tt vi nhng
chc nng phc tp, s lng cng ra/vo ln.
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 17
y l b iu khin logic da trn cng ngh vi iu khin.Mt h thng
PLC l mt mch tch hp ca nhiu b phn bao gm x l s hc, iu khin b
nh, v cc thit b nhp_xut v.v, chc nng chnh m bt k PLC no cng phi
c l thu nhp cc tn hiu u vo, cn c vo yu cu chng trnh trong PLC m
thc hin so snh, tnh ton v xut cc tn hiu ng ngt u ra cho ph hp.
Chng trnh trong PLC l do ngi s dng thc hin bng mt h thng ngn
ng lp trnh da trn quy trnh ca mt s iu khin bt k, chng trnh sau
khi vit xong c dch ra m my v np vo b nh chng trnh (EEPROM-
Electrical Erase Programmable Read Only Memory hay cn gi l ROM in)ca
PLC ( cc PLC khc nhau c dng ngn ng lp trnh khc nhau ). PLC cho php
ni trc tip nhng c cu tc ng ng ngt c cng sut nh ng ra v nhng
mch chuyn i ng vo, i vi cc mch c cng sut ln khi cn ghp ni vi
PLC cn c mch in t trung gian.
Trong tng lai h thng PLC khng ch giao tip vi cc h thng khc thng
qua CIM (Computer Integrated Manufacturing) iu khin cc h thng: Robot,
Cad/Cam, Ngoi ra cc nh thit k cn ang xy dng cc loi PLC vi cc
chc nng iu khin thng minh (intelligence) cn gi l cc siu PLC (super
PLC) cho tng lai.

II. CC C IM CA CPU S7-200
c im CPU 221 CPU 222 CPU 224 CPU 226
Kch thc tht (mm) 90x80x62 90x80x62 90x80x62 90x80x62
B nh PLC
B nh chng trnh 2048words
=4096 bytes
2048words
=4096 bytes
4096words
=8192bytes
4096words
=8192bytes
B nh d liu 1024words
=2048 bytes
1024words
=2048 bytes
2560words=
5120bytes
2560words
=5120bytes
Tr chng trnh EEPROM EEPROM EEPROM EEPROM
D liu d phng
(pin t in)
Khong
50 gi
Khong
50 gi
Khong
190 gi
Khong
190 gi
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 18
Cc u vo v ra cc b( I/O ) trn CPU
In/Out 6/4 8/6 14/10 24/16
S module m rng Khng c 2 7 7
Tng s ng vo/ra ( I/O ) cc i cho php ( bao gm c module m rng )
( I/O ) Digital 256 ( 128 In
/ 128 Out )
256 (128 In
/ 128 Out )
256 ( 128 In
/ 128 Out )
256 ( 128In
/ 128 Out )
( I/O ) Analog Khng c 16 In /16 Out 32 In/32 Out 32In/32Out
Cc lnh
Tc x l nh phn
ti tn s 33MHz
0,37 /lnh 0,37 /lnh 0,37 /lnh 0,37 /lnh
Dung lng thanh ghi
(I/O) o
128I v128Q 128I v128Q 128I v128Q 128Iv128
Q
S lng Rle bn
trong
256 256 256 256
S lng b m
(Counter) v nh th
(Timer)
256/256 256/256 256/256 256/256
Word In/Word Out Khng c 16/16 32/32 32/32
Sequetial Control
Relays
256 256 256 256
Vng lp For/Next C C C C
Tnh ton vi s
nguyn(+-*/)
C C C C
Tnh ton vi s
thc(+-*/)
C C C C
Cc c tnh nng cao
B m cao tc 4H / W
(20KHz)
4H / W
(20KHz)
6H / W
(20KHz)
6H / W
(20KHz)
iu chnh Analog 1 1 2 2
Xung nhp xut 2( 20KHz, 2( 20KHz, 2( 20KHz, 2( 20KHz,
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 19
cho DC ) cho DC ) cho DC ) cho DC )
nh thi gian ngt
2 (1255
ms)
2 (1255
ms)
2 (1255
ms)
2(1255ms
Ngt phn cng u
vo
4,c b lc
u vo
4,c b lc
u vo
4,c b lc
u vo
4,c b lc
u vo
ng h thi gian
thc
C C C (bn
trong)
C (bn
trong)
Mt m bo mt C C C C

Mt h thng lp trnh c bn phi gm c
CPU: l b x l trung tm (Center Processing Unit), n iu khin mi
hot ng ca PLC theo chng trnh ra, thc hin tnh ton so snh, nh thi
gian, m cc tn hiu u vo tc xung Clock cp t mch thch anh.
B nh nm bn trong CPU bao gm b nh chng trnh v b nh d liu,
mi vng c cc chc nng v nhim v khc nhau.

Hnh : s khi ca h thng iu khin lp trnh
Khi iu khin trung tm (CPU) gm ba phn: b x l, h thng b nh v
h thng ngun cung cp.
Processor
I
N
P
U
T
S

CENTRAL
PROCESSING
UNIT
O
U
T
P
U
T
S
M
M
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 20
Hnh : S khi tng qut ca CPU
B nh chng trnh dng cha chng trnh iu khin v x l d liu.
Chng trnh ny c CPU s dng mi khi PLC hot ng. m bo an ton
mi khi c s c mt in, b nh chng trnh c s dng bng EEPROM
(Electrical Erase Programmable Read Only Memory). Khi np chng trnh vo
PLC chng trnh c tr trong b nh ny.
B nh d liu dng cha cc thng s ca chng trnh trong qu trnh hot
ng nh trng thi cc bin, gi tr m tc thi ca Timer v Counter,v.vKhi
ngun in cp cho PLC b mt ni dung ca b nh d liu vn c duy tr nh
mt t in.B nh d liu c s dng bng Ram (Random Access Memory).
Vng nh Ram chia lm 4 vng chnh:
Vng chng trnh(User Program):l min b nh s dng lu tr cc
lnh chng trnh iu khin.
Vng tham s ca CPU (CPU configuration): l min lu tr cc tham s nh
t kho, a ch trm, trng thi ca CPU.
Vng d liu: dng cha cc d liu chng trnh bao gm cc kt qu,
cc php tnh, cc hng s c nh ngha trong chng trnh,v.vCc min nh
ny c th truy cp theo bit, byte(8bit), word(2byte), doubleword(2 word). Vng d
liu li c chia thnh nhiu min nh nh vi cc cng c ring nh sau :
V : (Variable Memory):vng nh bin
I : ( Input Image Register):vng nh nh ng vo
Q : (Output Image Register):vng nh nh ng ra
M : (Internal Memory Bit):vng nh ni
SM (Special Memory Bit) :vng nh c bit
Memory
Power
Supply
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 21
Vng i tng : cha cc thng s ca Timer, Couter, cc b m cao tc,
cc ng ra Analog, cc thanh ghi tch lu, cc hng s c cha trong vng nh
ny.
Vng nh EEPROM c chia thnh 3 vng, vng chng trnh, vng tham
s ca CPU, vng d liu.V bn cht cc vng nh ca b nh EEPROM hon
ton ging nh vng nh RAM. EEPROM dng np li chng trnh v mt s
ni dung cho vng nh RAM b mt ngun nui.

III. CU TRC CHNG TRNH CA S7-200
C th lp trnh cho PLC S7-200 bng cch s dng mt trong nhng phn
mm sau :
STEP7-Micro/DOS
STEP7-Micro/WIN
Nhng phn mm ny u c th ci t c trn cc my lp trnh h
PG7xx v cc my tnh c nhn (PC).
Cc chng trnh cho S7-200 phi c cu trc bao gm chng trnh chnh
(main program) v sau n cc chng trnh con v cc chng trnh x l ngt
c ch ra sau y :
Chng trnh chnh c kt thc bng lnh kt thc chng trnh (MEND).
Chng trnh con l mt b phn ca chng trnh. Cc chng trnh con
phi c vit sau lnh kt thc chng trnh chnh, l lnh MEND.
Cc chng trnh x l ngt l mt b phn ca chng trnh. Nu cn s
dng chng trnh x l ngt phi vit sau lnh kt thc chng trnh chnh MEND.
Cc chng trnh con c nhm li thnh mt nhm ngay sau chng trnh
chnh. Sau n ngay cc chng trnh x l ngt. Bng cch vit nh vy, cu
trc chng trnh c r rng v thun tin hn trong vic c chng trnh sau
ny. C th t do trn ln cc chng trnh con v chng trnh x l ngt ng sau
chng trnh chnh.
Thc hin trong mt vng qut:
Main Program
.
.
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 22
.
MEND

Thc hin khi c chng trnh chnh gi:
SBR 0 Chng trnh con th nht
.
.
.
RET
.
.
.
SBR n Chng trnh con th n+1
.
.
.
RET

Thc hin khi c tn hiu bo ngt:
INT 0 Chng trnh x l ngt th nht
.
.
.
RETI
.
.
.




INT n Chng trnh x l ngt th n+1
.
.
.
RETI
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 23
Hnh : Cu trc chng trnh ca S7 200
Hnh: Hnh nh thc t ca mt PLC SIMATIC S7-200 CPU 214

Hnh : Hnh nh ca module m rng EM223

IV.HOT NG CA MT PLC
CPU S7-200 c cc ch hot ng th hin bng n trn PLC nh sau:
SF : n mu bo h thng b hng.
RUN : n mu xanh ch th PLC ang ch lm vic v thc hin chng
trnh np vo b nh.
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 24
STOP : n mu vng ch th PLC ang ch dng.
Khi hot ng ch RUN, CPU S7-200 c thit k thc hin mt lot
cc thao tc theo chu k v mt chu k thc hin thao tc ngi ta gi l mt
vng qut ( Scan Cycle). Trong mt vng qut, CPU thc hin cc cng vic sau :
c trng thi cc ng vo (Reading The Input): bt u mi vng qut, PLC
c trng thi ng vo v ghi trong thanh ghi nh ng vo.
Thc hin chng trnh (Excecuting The Program): trong sut mt vng qut,
PLC thc hin t lnh u tin ca chng trnh n khi gp lnh END
(STEP7_Micro/Win 3.2 t ng hiu chng trnh kt thc khi gp Network trng
k tip trong chng trnh ). Ti thi im thc hin cc lnh lin quan vi cc ng
vo, ra, lnh khng lm vic trc tip vi cc cng vo ra m ch x l thng qua
thanh ghi nh ca cc ng vo ra trong vng nh tham s. Ring i vi cc lnh
I/O Immediate (ngay lp tc) th h thng s cho ngng mi cng vic khc, ngay
c chng trnh x l ngt thc hin ngay lp tc lnh ny (gi tr ng vo np
ngay vo thanh ghi nh hoc xut ngay gi tr trong thanh ghi nh n ng ra)
khng i n th t thc hin ca vng qut.- Truyn thng ni b gia cc PLC
(Processing Any Communication Requests): thc hin vic trao i thng tin gia
cc PLC trong mng v x l cc tn hiu phn hi.
T chun on li (Excicuting The CPU Self-Test Diagnostics): CPU tin
hnh kim tra b nh chng trnh v trng thi module m rng.
Xut d liu ra cc ng ra (Writing To The Outputs): kt thc mi vng qut
CPU xut cc gi tr trong thanh ghi o ng ra n ng ra. Khi CPU chuyn trng
thi RUN n STOP (bng nt gt trn PLC), cc gi tr ca cc thanh ghi nh ng
ra s c gn bng cc gi tr nh ngha sn trong Output Table.
V c bn hot ng ca mt PLC cng kh n gin. u tin, h thng cc
cng vo/ra (Input/Output) (cn gi l cc Module xut/nhp) dng a cc tn
hiu t cc thit b ngoi vi vo CPU (nh cc Sensor, Contact, tn hiu t ng c
). Sau khi nhn c tn hiu ng vo th CPU s x l v a cc tn hiu iu
khin qua Module xut ra cc thit b c iu khin.
Trong sut qu trnh hot ng, CPU c hoc qut (scan) d liu hoc trng
thi ca cc thit b ngoi vi thng qua ng vo, sau thc hin cc chng trnh
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 25
trong b nh nh sau: mt b m chng trnh s nht lnh t b nh chng trnh
a ra thanh ghi lnh thi hnh. Chng trnh dng STL (Statement List Dng
lnh lit k) hay dng LADDER (dng hnh thang) s c dch ra ngn ng my
ct trong b nh chng trnh. Sau khi thc hin xong chng trnh, CPU s gi
hoc cp nht (update) tn hiu ti cc thit b, c iu khin thng qua Module
xut. Mt chu k gm c tn hiu ng vo, thc hin chng trnh v gi cp
nht tn hiu ng ra c gi l mt chu k qut (Scanning).
Di y ch l m t hot ng n gin ca mt PLC, vi hot ng ny s
gip cho ngi thit k nm c nguyn tc ca mt PLC. Nhm c th ha hot
ng ca mt PLC.

V.PHNG PHP LP TRNH CHO CPU S7-200
S7-200 biu din mt mch logic cng bng mt dy cc lnh lp
trnh.Chng trnh bao gm mt tp dy cc lnh.S7-200 thc hin chng trnh bt
u t lnh lp trnh u tin v kt thc lnh lp trnh cui trong mt vng. Mt
vng nh vy c gi l vng qut (scan).
Mt vng qut (scan cycle) c bt u bng vic c trng thi ca u vo,
v sau thc hin chng trnh.Scan cycle kt thc bng vic thay i trng thi
u ra. Trc khi bt u mt vng qut tip theo S7-200 thc thi cc nhim v bn
trong v nhim v truyn thng, s hot ng ca mt PLC l mt vng qut
(scan cycle) nh sau :

Mt CPU S7-200 vi phn mm Step7-Micro/Win 3.2 cung cp cho ngi s
dng 3 phng thc lp trnh l dng LAD,STL v FBD vi thit lp SIMATIC v
IEC 1131-3:
Giai on chuyn
d liu ra ngoi vi
Giai on nhp d
liu t ngoi vi
Giai on truyn thng
ni b v t kim tra
Giai on thc
hin chng trnh
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 26
Lp trnh theo kiu danh sch lnh (statement list editor)
nh ngha v STL:
Phng php lit k lnh (STL) l phng php th hin chng trnh di
dng tp hp cc cu lnh, mi cu lnh trong chng trnh, k c nhng lnh hnh
thc biu din mt chc nng ca PLC.
Phng thc ny biu din chng trnh iu khin bng cc dng lnh lin
tip mi dng lnh l ni dung m cc thao tc m cc CPU phi tc ng n cc
i tng lnh (ton hng). Ni chung, STL dnh cho nhng ngi c kinh nghim
lp trnh, y l ngn ng thun tu ca CPU. i tng lnh bao gm hai thnh
phn, phn u tn v loi i tng lnh, phn sau l tham s xc nh c th i
tng lnh (a ch i tng).
VD : IB5 (trong IB l loi i tng v 5 tham s).
Cc c im chnh cn bit khi chn phng php lp trnh dng STL :
STL thch hp cho cc lp trnh vin c kinh nghim.
STL c th cho php bn gii quyt cc vn khng th thc hin d dng
bng dng LAD hay FBD.
Ch s dng c STL vi thit lp SIMATIC.
Trong khi lun c th s dng dng STL hin th mt chng trnh vit
bng dng LAD hay FBD,iu ngc li th khng lun ng. Khng th lun s
dng dng LAD hay FBD hin th mt chng trnh vit bng dng STL.
Lp trnh theo biu hnh thang (ladder logic editor)
nh ngha v LAD:
LAD l mt ngn ng lp trnh bng ho. Nhng thnh phn c bn dng
trong LAD tng ng vi cc thnh phn ca bng iu khin bng RLE.
y l phng thc lp trnh bng hnh nh c s dng thng dng bi cc
lp trnh vin ti cc nh my,x nghip. Phng php ny biu th chc nng iu
khin bng cc k hiu s mch in nh tip im, cun dy v.vKhi vit
chng trnh dng LAD ta tin hnh sp xp cc khi hnh thnh mt h thng
Logic (Network Logic) c th thc hin yu cu ra. Chng trnh c x l
mt Network ti mt thi im t tri sang phi v t trn xung di, khi CPU x
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 27
l ti cui chng trnh n li thc hin t u chng trnh. Cc khi lnh hnh
nh c th l cc tip im,cun dy hoc cc khi hnh hp :
Cc tip im (Contacks): l biu tng m t tip im ca Rle bao gm
cc tip im thng ng v cc tip im thng m.
Cc cun dy (Coils): l biu tng ca Rle c mc theo chiu dng in
cung cp cho Rle.
Cc khi hnh hp (Boxes): l biu tng m t cc hm khc nhau, n lm
vic khi c dng in chy n hp. Mi khi m t mt chc nng khc nhau nh
so snh, Timer, Counter, cc php ton v.vCc chc nng ny c thc hin khi
c dng in chy cun dy v cc hp phi c mc ng chiu dng in.
Mng LAD: l ng ni cc phn t thnh mt mch hon thin, i t ng
ngun bn tri sang ng ngun bn phi. ng ngun bn tri l dy nng,
ng ngun bn phi l dy trung ho hay l ng tr v ngun cung cp. ng
ngun bn phi thng khng c th hin khi dng chng trnh tin dng
STEP7-Mcro/DOS hoc STEP7-Mcro/WIN. Dng in chy t tri qua cc tip
im ng n cc cun dy hoc cc hp tr v bn phi ngun.

Cc c im chnh cn bit khi chn phng php lp trnh dng LAD :
Dng LAD d dng cho ngi bt u s dng.
Vn m t bng ho d dng v c s dng ph bin hn.
Dng LAD c th s dng c c hai thit lp SIMATIC v IEC 1131-3.
Lun s dng dng STL hin th chng trnh vit bng dng LAD.
Lp trnh theo kiu biu hnh khi (Function Block Diagram) :
Step7_Mcro/Win 3.2 cho php to cc lnh nh cc hp Logic ging vi cc
biu cng chung. Trong FBD khng c cng tc (contact) v cun dy (Coils)
nh dng LAD nhng c cc lnh tng ng xut hin nh cc hp lnh.Logic
ca chng trnh nhn c t s lin kt gia cc hp lnh, v d u ra t mt
lnh (nh hp lnh END) c th s dng lm iu kin cho mt lnh khc (nh
Timer) to s iu khin hp l. Khi nim lin kt cho php gii quyt mt
trng thi rng ca vn logic.
Cc c im chnh cn bit khi chn phng php lp trnh dng FBD :
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 28
Dng ho logic bng cng thch hp theo di chng trnh.
Dng FBD c th s dng c c hai thit lp SIMATIC v IEC 1131-3.
Lun s dng dng STL hin th chng trnh vit bng dng FBD.
Phng php lp trnh theo kiu danh sch lnh (STL) s dng vng ngn xp
Logic (Stack Logic) ca CPU gii quyt cc thao tc Logic. to ra mt
chng trnh dng STL, ngi lp trnh cn phi hiu r phng thc s dng bit
ngn xp logic ca S7-200. Ngn xp Logic l mt h thng gm 9 bit xp chng
ln nhau, cc thut ton lin quan n ngn xp Logic u ch lm vic vi bit u
tin hoc vi bit th hai ca ngn xp. Gi tr logic mi u c th c gi (hoc
c ni thm) vo ngn xp. Khi c yu cu phi hp hai bit u tin ca ngn xp
th ngn xp s c ko ln 1 bit, cc dng LAD v FBD t ng chn cc lnh
vo ton hng Stack, trong STL phi thc hin chn vo vng Stack bng cc lnh.


Vng Stack ca CPU S7-200 :
nh ngha v ngn xp logic (logic stack) :
Bit ca Logic Stack :
S0
S1
S2
S3
S4
S5
S6
S7
S8

Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 29
Stack 0: bit th nht hay ngn trn cng ca Stack.
Stack 1: ngn th hai ca Stack.
Stack 2: ngn th ba ca Stack.
Stack 3: ngn th t ca Stack.
Stack 4: ngn th nm ca Stack.
Stack 5: ngn th su ca Stack.
Stack 6: ngn th by ca Stack.
Stack 7: ngn th tm ca Stack.
Stack 8: ngn th chn ca Stack.

VI.TP LNH S7-200
1. Cc lnh vo ra ca chng trnh
Dng lnh M t chc nng lnh
LAD


Tip im thng ng s ng khi c gi tr logic bit
bng 0, v s m khi c gi tr logic bng 1
Ton hng: Bit: I, Q, M, SM, T, C, V(n)
LAD


Tip im thng h s c ng nu gi tr logic bng
1 v s h nu gi tr logic bng 0
Ton hng: Bit: I, Q, M, SM, T, C, V(n)
LAD


Tip im thng h s ng tc thi khi gi tr bit bng
1 v s m tc thi nu gi tr logic bng 0.
Ton hng: Bit: I, Q, M, SM, CT, V(n)
LAD


Tip im thng ng s m tc thi khi gi tr logic
bng 1 v ngc li
Ton hng: Bit: I, Q, M, SM, CT, V(n)
LAD


Tip im o trng thi ca dng cung cp. Nu dng
cung cp c tip im o th n ngt mch, v ngc li.
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 30
LAD

Lnh nhn bit trng thi chuyn t 0 ln 1 trong mt chu
k qut. Khi chuyn t 0 ln 1 th s cho thng mch.
LAD


Lnh nhn bit s chuyn trng thi t 1 xung 0 trong
mt chu k qut. Khi chuyn t 1 xung 0 th thng mch
LAD


Cun dy u ra s c kch thch khi c dng iu
khin i ra
LAD


Cun dy u ra c kch thch tc thi khi c dng
iu khin i qua
Ton hng: Bit: I, Q, M, SM, T, C, V(n)
LAD

Dng ng mt mng gm n tip im k t gi tr ban
u bit
Ton hng: Bit: I, Q, M, SM, T, C, V, IB, QB, MB, SMB,
VB, AC, *VD, *AC, Const
LAD

Dng ngt mt mng gm n tip im k t gi tr ban
u bit
Ton hng: Bit: I, Q, M, SM, T, C, V, IB, QB, MB, SMB,
VB, AC, *VD, *AC, Const
LAD

Ghi tc thi gi tr logic vo mt mng gm n bit k t
gi tr ban u bit
Ton hng: Bit: I, Q, M, SM, T, C, V(Bit), IB, QB, MB,
SMB, VB, AC, *VD, *AC, Const
LAD


Xa mt mng tc thi gm n bit k t a ch bit. Nu bit
ch vo Timer hoc Counter th lnh s xa bit u ra ca
Timer/Counter
Ton hng: Bit: I, Q, M, SM, T, C, V(Bit), IB, QB, MB,
SMB, VB, AC, *VD, *AC, Const
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 31
LAD


Lnh ny khng c hiu lc trong chng trnh. Ton
hng: N l mt s t 0 n 255

2. Cc lnh dng so snh hai tip im

Dng lnh
M t chc nng lnh
LAD


Lnh so snh bng s lm cho tip im ng khi IN1
bng IN2 (IN1, IN2 kiu Byte)
Ton hng: IN1, IN2: VB, IB, QB, MB, SMB, AC, Const,
*VD, *AC
LAD


Lnh so snh bng s lm cho tip im ng khi IN1
bng IN2 (IN1, IN2 kiu Word) v ngc li
Ton hng: IN1, IN2: VW, IW, MW, SMW, AC, Const,
T, C, AIW, *VD, *AC
LAD


Lnh so snh bng lm cho tip im ng khi IN1 bng
IN2 (IN1, IN2 kiu Double Word) v ngc li
Ton hng: IN1, IN2: VD, ID, MD, SMD, AC, Const,
HC, *VD, *AC
LAD



Lnh so snh bng lm tip im ng khi IN1 bng IN2
(IN1,IN2 kiu Real s thc) v ngc li
Ton hng: IN1, IN2: VD, ID, QD, MD, SMD, AC, HC,
*AC Const, *VD
LAD


Lnh so snh ln hn hoc bng s lm cho tip im
ng khi IN1 bng IN2 (IN1, IN2 kiu Byte)
Ton hng: IN1, IN2: VB, IB, QB, MB, SMB, AC, Const,
*VD, *AC
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 32
LAD


Lnh so snh ln hn hoc bng s lm cho tip im
ng khi IN1 bng IN2 (IN1, IN2 kiu Word)
Ton hng: IN1, IN2: VW, IW, MW, SMW, AC, Const,
T, C, AIW, *VD, *AC
LAD


Lnh so snh ln hn hoc bng s lm cho tip im
ng khi IN1 bng IN2 (IN1,IN2 kiu Dword)
Ton hng: IN1, IN2: VD, ID, MD, SMD, AC, Const,
HC, *VD, *AC
LAD


Lnh so snh ln hn hoc bng s lm cho tip im
ng khi IN1 bng IN2 (IN1, IN2 kiu Real)
Ton hng: IN1, IN2: VD, ID, QD, MD, SMD, AC, HC,
*AC Constant, *VD
LAD


Lnh so snh nh hn hoc bng s lm cho tip im
ng khi IN1 bng IN2 (IN1, IN2 kiu Byte)
Ton hng: IN1, IN2: VB, IB, QB, MB, SMB, AC, Const,
*VD, *AC
LAD


Lnh so snh nh hn hoc bng s lm cho tip im
ng khi IN1 bng IN2 (IN1, IN2 kiu Word)
Ton hng: IN1, IN2: VW, IW, MW, SMW, AC, Const,
T, C, AIW, *VD, *AC
LAD


Lnh so snh nh hn hoc bng s lm cho tip im
ng khi IN1 bng IN2 (IN1, IN2 kiu Dword)
Ton hng: IN1, IN2: VD, ID, MD, SMD, AC, Const,
HC, *VD, *AC
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 33
LAD


Lnh so snh nh hn hoc bng s lm cho tip im
ng khi IN1 bng IN2 (IN1, IN2 kiu Real)
Ton hng: IN1, IN2: VD, ID, QD, MD, SMD, AC, HC,
*AC Constant, *VD,

3. Cc lnh dch chuyn ni dung nh

Dng lnh
M t chc nng lnh
LAD




Sao chp ni dung ca byte IN sang OUT
Ton hng: IN: VB, IB, QB, MB, SMB, SB, AC, Cons,
*VD, *AC
OUT: VB, IB, QB, MB, SMB, SB, AC, *VD, *AC
LAD


Sao chp ni dung ca Word IN sang OUT
Ton hng: IN: VW, T, C, IW, QW, MW, SMW, SW
AC, AIW, Const, *VD, *AC
OUT: VW, T, C, IW, QW, MW, SMW, SW, AC, AQW,
*VD, *AC
LAD


Sao chp ni dung ca Dword(Double Word) IN sang
OUT
IN: VD, ID, QD, MD, SD, SMD, HC, HC, *VD, *AC,
&VB, &IB, &QB, &MB, &T, &C, &SB, Const
OUT: VD, ID, QD, MD, SD, SMD, AC, *VD, *AC
LAD

Sao chp ni dung ca Real (s thc) IN sang OUT
Ton hng: IN: VD, ID, QD, MD, SD, SMD, AC, Const,
*VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC, *VD, *AC
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 34

4. Cc lnh s hc v tng gim

Dng lnh
M t chc nng lnh
LAD


Lnh cng hai s nguyn 16 bit IN1 v IN2 kt qu l mt
s nguyn OUT 16 bit. Trong STL th kt qu ghi vo
IN1
Ton hng: IN1, IN2: VW, T, C, IW, QW, MW, SMW,
SW, AC, AIW, Constan, *VD, *AC
OUT: VW, T, C, IW, QW, MW, SMW, SW, AC, *VD,
*AC
LAD


Lnh cng hai s nguyn 32 bit IN1 v IN2 kt qu l mt
s nguyn OUT 32 bit. Trong STL th kt qu ghi vo
IN1
Ton hng: IN1, IN2: VD, ID, QD, MD, SMD, SD, AC,
HC, Constant, *VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC, *VD, *AC
LAD


Lnh cng hai s thc 32 bit IN1 v IN2 kt qu l mt s
thc OUT 32 bit. Trong STL th kt qu ghi vo IN1
Ton hng:IN1, IN2: VD, ID, QD, MD, SMD, SD, AC,
Constant, *VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC, *VD, *AC
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 35
LAD


Lnh tr hai s nguyn 16 bit IN1 v IN2 kt qu l mt
s nguyn OUT 16 bit. Trong STL th kt qu ghi vo
IN1
Ton hng: IN1, IN2: VW, T, C, IW, QW, MW, SMW,
SW, AC,AIW, Const, *VD, *AC
OUT: VW, T, C, IW, QW, MW, SMW, SW, AC, *VD,
*AC
LAD


Lnh tr hai s nguyn 32 bit IN1 v IN2 kt qu l mt
s nguyn OUT 32 bit. Trong STL th kt qu ghi vo
IN1
Ton hng: IN1, IN2: VD, ID, QD, MD, SMD, SD, AC,
HC, Constant, *VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC, *VD, *AC
LAD

Lnh tr hai s thc 32 bit IN1 v IN2 kt qu l mt s
thc OUT 32 bit. Trong STL th kt qu ghi vo IN1
Ton hng: IN1, IN2: VD, ID, QD, MD, SMD, SD, AC,
Const, *VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC, *VD, *AC
LAD

Lnh thc hin php nhn gia hai s nguyn 16 Bit IN1
v IN2 v cho kt qu 32 Bit ghi vo t kp 32 bit OUT,
cn trong STL th ghi vo IN2
Ton hng: IN1, IN2: VW, T, C, IW, QW, MW, SMW,
SW, AC, AIW, Const, *VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC, *VD, *AC
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 36
LAD


Lnh thc hin php nhn gia hai s thc 32 bit IN1 v
IN2 v cho l s thc 32 Bit ghi vo t kp OUT, cn
trong STL th ghi vo IN2
Ton hng: IN1, IN2: VD,ID, QD, MD,SMD, SD, AC,
Const, *VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC, *VD, *AC
LAD


Lnh thc hin php chia gia hai s nguyn 16 bit IN1
v IN2 v cho kt qu l s thc 32 bit ghi vo t kp
OUT, cn trong STL th ghi vo IN2
Ton hng: IN1, IN2: VW, T, C, IW, QW, MW, SMW,
SW, AC, AIW, Constant, *VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC, *VD, *AC
LAD

Lnh thc hin php nhn gia hai s thc 32 bit IN1 v
IN2 v cho kt qu l s thc ghi vo t kp 32 bit OUT,
trong STL th ghi vo IN2
Ton hng: IN1, IN2: VD, ID, QD, MD, SMD, SD, AC,
Const, *VD, *AC
OUT: VD, ID, QD, MD, SMD, SD, AC, *VD, *AC




5. Gii thiu v Timer v cc lnh iu khin Timer
Timer l b to thi gian tr gia tn hiu vo v tn hiu ra nn trong iu
khin thng c gi l khu tr. S7-200 t CPU 214 tr ln c 128 Timer c
chia lm hai loi khc nhau l :
Timer to thi gian tr khng c nh c ngha l khi tn hiu logic vo IN
mc khng th Timer s b Reset. Timer Txx ny c th Reset bng hai cch l
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 37
cho tn hiu logic vo bng khng hoc dng lnh R Txx (trong STL) Reset li
timer Txx. Timer ny c dng to thi gian tr trong mt thi gian lin tc k
hiu l TON
Timer to thi gian tr c nh c ngha l khi tn hiu logic vo IN mc
khng th Timer ny khng chy na nhng khi tn hiu ln mc cao li th Timer
li tip tc chy tip. Timer Txx ny c th Reset bng cch dng lnh R Txx
(trong STL) Reset li timer Txx. Timer ny c dng to thi gian tr trong
mt thi gian gin on (trong nhiu khong thi gian khc nhau) k hiu l TONR
C hai loi Timer trn u chy n gi tr t trc PT th n s t dng li
nu mun cho n hot ng li th ta phi Reset Timer li.
Timer c nhng tnh cht c bn sau :
Cc b Timer iu c iu khin bi mt cng vo v mt gi tr m tc
thi. Gi tr m tc thi c lu trong mt thanh ghi 2 Byte ( gi l Tword) ca
Timer xc nh khong thi gian tr c kch. Gi tr m tc thi ca Timer lun
lun c so snh vi gi tr PT t trc.
Ngoi thanh ghi 2 byte T-word lu gi tr tc thi cn c mt bit k hiu T-bit
ch th trng thgi logci u ra gi tr logic ny ph thuc vo kt qu so snh gi tr
m tc thi vi gi tr t trc. Khi gi tr m tc thi ln hn hoc bng gi tr
t trc th T-bit s c gi tr logic bng 1 ngc li T-bit s c gi tr logic bng
khng.
Time c 3 phn gii l 1ms 10ms v 100ms v phn b ca cc Timer
trong CPU214 nh sau :
Lnh phn gii Gi tr cc i Tn Timer

TON

1 ms 32767 T32;T96
10 ms 32767 T33T36;T97T100
100 ms 32767 T37T63;T101T127
1 ms 32767 T0;T64
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 38
TONR

10 ms 32767 T1T4; T65T68
100 ms 32767 T5T31; T69T95

Cc lnh iu khin Timer

Dng lnh M t chc nng lnh
LAD

Khai bo Timer s hiu xxx kiu TON to thi
gian tr tnh t khi gi tr u vo IN c kch.
Nu gi tr m tc thi ln hn hoc bng gi tr
t trc th T-bit bng 1.
Txxx: CPU214: 32-63, 96-127
PT:VW,T,C,IW,QW,MW,SMW,SW,AC,AIW,
Const, *VD, *AC.
LAD


Khai bo Timer s hiu xxx kiu TONR to
thi gian tr tnh t khi gi tr u vo IN c
kch. Nu gi tr m tc thi ln hn hoc bng
gi tr t trc th T-bit bng 1
Txxx :CPU 214: 0-31, 64-95
PT:VW,T,C,IW, QW,MW,SMW, SW,AC,AIW,
Const, *VD, *AC.


6. Ngt v x l ngt
Cc ch ngt v x l ngt cho php thc hin cc qu trnh tc cao,
phn ng kp thi vi cc s kin bn tron v bn ngoi.
Nguyn tc c bn ca mt ch ngt cng ging nh thc hin lnh gi
mt chng trnh con, s khc nhau y l chng trnh con c gi ch ng
bng lnh CALL, cn chng trnh x l ngt c gi b ng bng mt tn hiu
bo ngt. Khi c mt tn hiu bo ngt, h thng s t chc gi v thc hin chng
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 39
trnh con tng ng vi tn hiu ngt , hay ni cch khc l h thng s t chc
x l tn hiu ngt . Chng trnh con ny c gi l chng trnh x l ngt.
Do vic gi chng trnh x l ngt bng mt tn hiu bo ngt m thi im
xut hin tn hiu bo ngt hon ton b ng, bi vy h thng s phi h tr thm
cho cng vic x l ngt nh: ct gi ni dung ngn xp, ni dung thanh ghi AC v
cc bit nh c bit; t chc xp hng u tin cho cc tn hiu bo ngt trong trng
hp chng cha kp c x l
Trong CPU 224 c cc kiu tn hiu bo ngt sau y:
Tm ngt vo ra theo sn ln hoc theo sn xung ca cc cng I0.0 n I0.3
Hai ngt thi gian.
Hai ngt truyn thng ni tip (nhn v truyn)
By ngt b m tc cao (CV=PV trn HSC0 v thay i hng, xa ngoi,
v CV=PV trn HSC1 v HSC2).
Hai ngt u ra truyn xung l PT00 v PT01.
Khi c tn hiu ngt, gi tr c ca ngn xp c ct i, nh ca ngn xp
nhn gi tr logic mi l 1 cn cc bit khc ca ngn xp nhn gi tr logic 0. Bi
vy, khi vo u mt chng trnh x l ngt, lnh c iu kin s tr thnh lnh
khng iu kin.
Ngoi ra, c th tip tc thc hin c chng trnh sau ngt, khng
nhng ni dung ca ngn xp m c ni dung ca cc thanh ghi AC cng vi cc bit
nh trng thi c bit SM ca thanh ghi v ca cc php tnh cng s c h
thng ct gi trc khi thc hin chng trnh x l ngt v c np li ngay sau
khi kt thc chng trnh x l ngt.
Cc kiu tn hiu bo ngt khc nhau ca CPU 224 c trnh by trong bng sau:
S kin M t ngt CPU 224
0 Ngt theo sn ln I0.0 Y
1 Ngt theo sn xung I0.0 Y
2 Ngt theo sn ln I0.1 Y
3 Ngt theo sn xung I0.1 Y
4 Ngt theo sn ln I0.2 Y
5 Ngt theo sn xung I0.2 Y
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 40
6 Ngt theo sn ln I0.3 Y
7 Ngt theo sn xung I0.2 Y
8 Ngt nhn d liu truyn thng (Port 0) Y
9 Ngt bo hon tt vic gi d liu truyn thng Y
10 Ngt theo thi gian 0 Y
11 Ngt theo thi gian 1 Y
12 Ngt theo HSC0, khi CV=PV Y
13 Ngt theo HSC1, khi CV=PV Y
14 Ngt theo HSC1, khi c tn hiu bo i hng m t
bn ngoi
Y
15 Ngt theo HSC1, khi c tn hiu reset t bn ngoi Y
16 Ngt theo HSC2, khi CV=PV Y
17 Ngt theo HSC2, khi c tn hiu bo i hng m t
bn ngoi
Y
18 Ngt theo HSC2, khi c tn hiu reset t bn ngoi Y
19 Ngt theo PLS0, bo hon tt vic m xung Y
20 Ngt theo PLS1, bo hon tt vic m xung Y
21 Ngt theo Timer T32 (CT=PT) Y
22 Ngt theo Timer T96 (CT=PT) Y
23 Ngt khi hon tt vic nhn d liu (Port 0) Y

Th t u tin ca cc kiu ngt
Nhm ngt truyn thng - u tin cao nht.
Nhm ngt vo/ra (k c HSC v cc u ra truyn xung).
Nhm cc tn hiu bo ngt thi gian - u tin thp nht.
Ti mt thi im, nhiu nht ch c mt chng trnh x l ngt c thc
hin. Khi ang thc hin mt chng trnh x l ngt th tt c tn hiu bo ngt
khc phi ch ti khi hon tt chng trnh x l ngt ang thc hin.
Khai bo v hy mt ch ngt
Lnh cho php ngt (Enable interrupt)
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 41

Lnh cho php ngt l lnh ton cc cho php x l cc ngt c khai bo.
Lnh khai bo ngt (Attach interrupt) v loi b ngt (Detach interrupt)
Lnh ATCH gn mt s kin ngt EVNT vi 1 th tc x l ngt INT, ng
thi cho php x l ngt . Lnh DTCH c tc dng ngc li.
Cc c php s dng lnh ngt
Dng lnh M t chc nng lnh
LAD





Khai bo s dng mt ch ngt vi kiu c
xc nh bi ton hng Event. Chng trnh x l
ngt tng ng c xc nh bi Int. sau khi khai
bo ch ngt cng c kch theo
INT: CPU 214: 0-127
EVENT: CPU 214: 0-20
LAD





Lnh ny dng hy b mt ch ngt m kiu
ca n c xc nh bi ton hng Event
EVENT: CPU 214: 0-20
LAD

Lnh ny dng khai bo mt chng trnh x l
ngt, nhn xc nh bi n
CPU 214 0-127
LAD

Lnh khai bo ch ton cc ngt hoc kch hot
tt c cc ch ngt b hy bi lnh DISI,t
sau ATCH
LAD



Lnh hy b ton b ch ngt khai bo s
dng trc , lnh ch c tc dng vi cc tn
hiu bo ngt ln, nhng cc ngt vn nm trong
hng ch
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 42
LAD

Lnh kt thc chng trnh x l ngt khng iu
kin v bao gi cng nm cui chng trnh x l
ngt

7. Cc lnh iu khin Counter
Counter l b m hin chc nng sn xung trong S7-200 cc b m ca
S7-200 c chia lm hai loi b m tin (CTU) v b m tin v li (CTUD)
B m tin CTU m s sn ln ca tn hiu logic u vo tc l m s
ln thay i trng thi logic t 0 ln 1 ca tn hiu s sn xung m c ghi vo
thanh ghi 2 byte ca b m gi l thanh ghi C-WORD
Ni dung ca C-Word gi l gi tr n tc thi ca b m lun c so
snh vi gi tr m tc thi bng hoc ln hn gi tr t ny th b m bo ra
ngoi bng cch t gi tr logic 1 vo mt bit c bit ca n c gi l C bit
trng hp gi tr c trc C bit c gi tr logic l 0
Cc b counter u c chn ni vi tn hiu iu khin xa thc hin vic
t li ch khi pht ban u (Reset) cho b m c k hiu bng ch R trong
LAD hay c quy nh trng thi logic ca bit bt u tin ca ngn xp trong
STL b m c reset khi tn hiu b xa ny c mc logic 1 hoc khi lnh R
(reset) thc hin vi Cbit. Khi b m c reset c CWORD v Cbit u nhn gi
tr 0
B m CTUD m tin khi gp sn ln ca xung vo cng m tin k
hiu l CU trong LAD hoc bit th 3 ca ngn xp trong STL v m li khi gp
sn ln ca xung vo cng m li c k hiu l CD trong LAD hoc bit th 2
ca ngn xp trong STL
Khi u vo logic ca chn xa k hiu bng R trong LAD hoc bit th nht
ca ngn xp trong STL c gi tr logic l 1 hoc bng lnh reset vi C bit ca b
m.
CTUD c gi tr m tc thi ng bng gi tr ang m v c lu trong
thanh ghi 2byte C-Word ca b m. Gi tr m tc thi lun c so snh vi gi
tr t trc PV ca b m
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 43
Nu gi tr m tc thi ln hn bng gi tr t trc th Cbit c gi tr logic
bng 1 cn cc trng hp khc gi tr logic bng 0
B m tin CTU c min gi tr n tc thi t 0 ( 32.767
B m tin li CTUD c min gi tr n tc thi t l 32,768 ( 32.768
Lnh khai bo s dng B m trong LAD nh sau :

LAD STL Ton hng


CTU C
xx
PV
C
xx
CPU 214 0 47
80 127
PV: VW, T, C, IW,
QW(Word), MW, SMW, AC,
AIW


CTUD C
xx
PV
C
xx
CPU 214 48 79
PV: VW, T, C, IW,
QW(Word), MW, SMW, AC,
AIW, Hng s


8. Cc lnh truyn thng
S dng cc lnh truyn thng trao i d liu gia PLC v my tnh cng nh
cc thit b lp trnh hay thit b hin th.

Dng lnh M t chc nng
LAD


Truyn mt chui byte d liu t bng table
vi chiu di nm trong byte u ca bng,
ra port
Ton hng: TBL : IB,MB,VB,SB,QB, *VD
PORT: 0 ,1


CU

PV

CTU
C
XX


CU
CD
PV

CTUD C
XX
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 44
LAD


Nhn mt chui byte d liu t vo bng
table port
Ton hng: TBL: IB,MB,VB,SB,QB,*VD
PORT: 0 ,1

9. Lnh nhy v lnh gi chng trnh con
Cc lnh ca chng trnh, nu khng c nhng lnh iu khin ring, s
c thc hin theo th t t trn xung di trong mt vng qut. Lnh iu khin
chng trnh cho php thay i th t thc hin lnh. Chng cho php chuyn th
t thc hin, ng l ra l lnh tip theo, ti mt lnh bt c no khc ca chng
trnh, trong ni iu khin chuyn n c nh du trc bng mt nhn ch
ch. Thuc nhm lnh iu khin chng trnh gm: lnh nhy, lnh gi chng
trnh con. Nhn ch ch, hay gi n gin l nhn, phi c nh du trc khi
thc hin nhy hay lnh gi chng trnh con.
Vic t nhn cho lnh nhy phi nm trong chng trnh. Nhn ca chng
trnh con, hoc ca chng trnh x l ngt c khai bo u chng trnh.
Lnh gi chng trnh con l lnh chuyn iu khin n chng trnh con.
Khi chng trnh con thc hin cc php tnh ca mnh th vic iu khin li c
chuyn tr v lnh tip theo trong chng trnh chnh ngay sau lnh gi chng
trnh con. T mt chng trnh con c th gi c mt chng trnh con khc
trong n, c th gi nh vy nhiu nht l 8 ln trong S7 200. qui (trong mt
chng trnh con c lnh gi n chnh n) v nguyn tc khng b cm song phi
ch n gii hn trn.
Nu lnh nhy hay lnh gi chng trnh con c thc hin th nh ngn
xp lun c gi tr logic bng 1. Bi vy trong chng trnh con cc lnh c iu
khin c thc hin nh cc lnh khng iu kin. Sau cc lnh LBL (t nhn) v
SBR, lnh LD trong STL s b v hiu ha.
Khi mt chng trnh con c gi, ton b ni dung ca ngn xp s c
ct i, nh ca ngn xp nhn mt gi tr mi l 1, cc bit khc cn li ca ngn
xp nhn gi tr logic 0 v chng trnh c chuyn tip n chng trnh con
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 45
c gi. Khi thc hin xong chng trnh con v trc khi iu khin c
chuyn tr li chng trnh gi n, ni dung ngn xp c ct gi trc
s c chuyn tr li ngn xp.
Ni dung ca thanh ghi AC khng c ct gi khi gi chng trnh con,
nhng khi mt chng trnh x l ngt c gi, ni dung ca thanh ghi AC s
c ct gi trc khi thc hin chng trnh x l ngt v np li khi chng trnh
x l ngt c thc hin xong. Bi vy chng trnh x l ngt c th t do s
dng bn thanh ghi AC ca S7 200.
JMP, CALL
LBL, SBR : Lnh nhy JMP v lnh gi chng trnh con SBR cho php
chuyn iu khin t v tr ny n mt v tr khc trong chng trnh. C php lnh
nhy v lnh gi chng trnh con trong LAD v STL u c ton hng l nhn ch
ch (ni nhy n, ni cha chng trnh con)
LAD STL M t Ton hng
n
( JMP)

JMP Kn
Lnh nhy thc hin vic chuyn
iu khin n nhn n trong mt
chng trnh.
n:
CPU 212: 063
CPU 214: 0255



JMP Kn
Lnh khai bo nhn n trong mt
chng trnh.
n
( CALL)

CALL Kn
Lnh gi chng trnh con, thc
hin php chuyn iu khin n
chng trnh con c nhn n.
n:
CPU 212: 015
CPU 214: 0255


SBR Kn Lnh gn nhn cho mt chng
trnh con.


( CRET)

CRET
Lnh tr v chng trnh gi
chng trnh con c iu kin (bit
u ca ngn xp c gi tr logic
bng 1)


Khng c
LBL: n
SBR:n
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 46

( RET)

RET
Lnh tr v chng trnh gi
chng trnh con khng iu kin.

VII. SO SNH PLC VI CC H THNG IU KHIN KHC
PLC vi h thng iu khin bng Relay
Vic pht trin h thng iu khin bng lp trnh dn dn thay th tng
bc iu khin h thng bng Relay trong cc qu trnh sn xut. Khi thit k mt
h thng iu khin hin i, ngi k s phi cn nhc, la chn cc h thng, h
thng iu khin lp trnh thng c s dng thay cho h thng iu khin bng
Relay do cc nguyn nhn sau :
Thay i trnh t iu khin mt cch linh ng.
C tin cy cao.
Khong khng lp t thit b nh, khng chim din tch.
C kh nng a tn hiu iu khin ng ra cao.
S chn la d liu mt cch thun li, d dng.
D dng thay i cu hnh (h thng my mc sn xut) trong tng lai khi
c nhu cu m rng sn xut.
c trng cho h thng iu khin chng trnh l ph hp vi nhng nhu cu
nu trn, ng thi v mt kinh t v thi gian th h thng iu khin lp trnh
cng vt tri hn h thng iu khin c in (Relay, Contactor,). H thng
iu khin ny cng ph hp vi s m rng h thng trong tng lai do khng
phi i, b h thng dy ni gia h thng iu khin v cc thit b, m ch n
gin l thay i chng trnh cho ph hp vi iu kin sn xut mi.

PLC vi my tnh
Cu trc gia my tnh vi PLC u da trn b vi x l (CPU) x l d
liu. Tuy nhin c mt vi cu trc quan trng cn phn bit thy r s khc bit
gia mt PLC v mt my tnh :
Khng nh my tnh, PLC c thit k c bit hot ng trong mi
trng cng nghip. Mt PLC c th c lp t nhng ni c nhiu din cao
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 47
(Electrical Noise), vng c t trung mnh, c cc chn ng c kh, nhit mi
trng cao
iu quan trng th hai l: mt PLC c thit k vi phn cng v phn
mm sao cho d lp t (i vi phn cng) ng thi v mt chng trnh cng
phi d dng ngi s dng (k s, k thut vin) thao tc lp trnh mt cch
nhanh chng, thun li (v d: lp trnh bng ngn ng hnh thang ).
PLC vi my tnh c nhn PC (Personal Computer):
i vi mt PC, ngi lp trnh d nhn thy c s khc bit gia PC vi
PLC, s khc bit c th bit c nh sau:
My tnh khng c cc cng giao tip trc tip vi cc thit b iu khin,
ng thi my tnh cng hot ng khng tt trong mi trng cng nghip.
Ngn ng lp trnh trn my tnh khng phi l dng hnh thang, my tnh
ngoi vic s dng cc phn mm chuyn bit cho PLC, cn phi thng qua vic s
dng cc phn mm khc, lm "chm" i qu trnh giao tip vi cc thit b c
iu khin.
Tuy nhin qua my tnh, PLC c th d dng kt ni vi cc h thng khc,
cng nh PLC c th s dng b nh (c dung lng rt ln) ca my tnh lm b
nh ca PLC.

VIII. LI CH CA VIC S DNG PLC
Cng vi s pht trin ca phn cng v phn mm, PLC ngy cng tng c
cc tnh nng cng nh li ch ca PLC trong hot ng cng nghip. Kch thc
ca PLC hin nay c thu nh li b nh v s lng I/O cng nhiu hn, cc
ng dng ca PLC cng mnh hn gip ngi s dng gii quyt c nhiu vn
phc tp trong iu khin h thng.
Li ch u tin ca PLC l h thng diu khin ch cn lp dt mt ln (i
vi s h thng, cc ng ni dy, cc tn hiu ng vo/ra ), m khng phi
thay i kt cu ca h thng sau ny, gim c s tn km khi phi thay i lp
t khi i th t iu khin (i vi h thng iu khin Relay), kh nng chuyn
i h iu khin cao hn (nh giao tip gia cc PLC truyn d liu iu khin
ln nhau), h thng c iu khin linh hot hn.
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 48
Khng nh cc h thng c, PLC c th d dng lp t do chim mt khong
khng gian nh hn nhng iu khin nhanh, nhiu hn cc h thng khc. iu
ny cng t ra thun li hn i vi cc h thng iu khin ln, phc tp, v qu
trnh lp t h thng PLC t tn thi gian hn cc h thng khc.
Cui cng l ngi s dng c th nhn bit cc trc trc h thng ca PLC
nh giao din qua mn hnh my tnh (mt s PLC th h sau c kh nng nhn bit
cc hng hc (trouble shoding) ca h thng v bo cho ngi s dng), iu ny
lm cho vic sa cha thun li hn.

IX. MT VI LNH VC TIU BIU NG DNG PLC
Hin nay PLC c ng dng thnh cng trong nhiu lnh vc sn xut c
trong cng nghip v dn dng. T nhng ng dng iu khin cc h thng n
gin, ch c chc nng ng/m (ON/OFF) thng thng n cc ng dng cho cc
lnh vc phc tp, i hi tnh chnh xc cao, ng dng cc thut ton trong qu
trnh sn xut. Cc lnh vc tiu biu ng dng PLC hin nay bao gm:
Ha hc v du kh: nh p sut (du), bm du, iu khin h thng ng
dn, cn ong trong ngnh ha
Ch to my v sn xut: T ng ha trong ch to my, cn ong, qu
trnh lp t my, iu khin nhit l kim loi, -Bt giy, giy, x l giy :
iu khin my bm, qu trnh bt, qu trnh cn, gia nhit,
Thy tinh v phim nh: qu trnh ng gi, th nghim vt liu, cn ong,
cc khu hon tt sn phm, o ct giy,
Thc phm, ru bia, thuc l: m sn phm, kim tra sn phm, kim sot
qu trnh sn xut, bm (bia, nc tri cy, ), cn ong, ng gi, ha trn,
Kim loi: iu khin qu trnh cn, cun (thp), quy trnh sn xut, kim tra
cht lng.
Nng lng: iu khin nguyn liu (cho qu trnh t, x l trong cc
turbin, ), cc trm cn hot ng tun t khai thc vt liu mt cch t ng
(than, g, du m, ).

X. NG DNG PLC VO CC QUY TRNH IU KHIN T NG
Phn II: Gii thiu tng qut v PLC Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 49
T ng ho l mt trong nhng yu cu cn bn ca mt nn cng nghip
pht trin, i vi t ng ho cc quy trnh iu khin s chnh xc hn, cc sn
phm lm ra s c cht lng ng nht hn v quan trng nht l do tit kim c
chi ph nhn cng v tiu hao vt t nn cc sn phm ny s c gi thnh r hn
cc sn phm cng loi sn xut bng tay.
T ng ho gii phng ngi lao ng khi nhng cng vic nng nhc v
nguy him, to iu kin cho h c nhiu thi gian hn nghin cu v ci tin
cc quy trnh t ng ho ngy cng tt hn.
Ngy nay, vi s pht trin ca x hi,nhu cu v cuc sng ngy cng cao,
t ng ho khng ch l ng dng trong cng nghip m xut hin khp mi ni,
phc v cho mi nhu cu dn dng ca cuc sng.
Trong giai on ban u (khong cch gia nhng thp nin 50 ca th k 20) trong
cc quy trnh sn xut ca cc ngnh cng nghip, mt h thng iu khin t ng
l t hp phc tp ca cc Rle in c. Tuy nhin, cc h thng c mt s nhc
im :
Kch thc qu ln v qu phc tp i vi cc h thng ln, kh kim sot,
thi gian lp t lu.
Khi hot ng xut hin hin tng hao mn cc tip im ng ngt nn
yu cu bo dng thng xuyn, do , tui th thit b thp.
H thng iu khin Rle l mt h thng iu khin theo quy trnh cng c
chc nng c nh, khi c yu cu thay i bt k v quy trnh hot ng th ch
thc hin bng cch ni li h thng dy dn hoc thay i thnh h thng.

Phn III: Truyn thng s dng iu khin FREEPORT Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 49
PHN III
TRUYN THNG S DNG IU KHIN FREEPORT

I.GII THIU
Ch Freeport c s dng iu khin cng truyn thng ca CPU S7-
200 thng qua chng trnh ca ngi s dng. ch Freeport, chng trnh
CPU s dng cc ngt thu (receiveed interrupt), ngt pht (transmited interrupt) v
cc lnh thu (RCV Receive instruction) , lnh pht (XMT Transmit instruction)
iu khin cng truyn thng ca CPU. ch ny, giao thc truyn thng
c kim sot hon ton bi chng trnh ca ngi s dng. Cc nh chuyn
dng SMB30 ( i vi port 0) v SMB130 ( i vi port 1) c s dng chn
tc truyn v bit chn / l (parity).
Ch Freeport ch hot ng khi CPU trng thi RUN. Khi CPU trng
thi STOP, ch Freeport ngng hot ng v ch truyn thng bnh thng
c lp li.

II.NG DNG CA CH FREEPORT
Ch Freeport cho php CPU S7-200 giao tip vi bt c thit b no h tr
giao thc truyn thng 10 bit ( 7bit d liu) hoc 11 bit ( 7 hoc 8 bit d liu), v
vy, cho php kt ni rt nhiu thit b khc nhau ( ca nhiu nh sn xut khc
nhau ) vo mng S7-200.
Trong trng hp n gin nht, c th gi d liu n my in hoc mn hnh
ch s dng lnh pht XMT. Cc v d khc bao gm giao tip vi thit b c bar
code, cn in t, my hn, cc b cm bin,... .Trong mi trng hp cn phi vit
chng trnh h tr giao thc truyn thng s dng bi thit b cn kt ni.
Mt ng dng quan trng ca ch Freeport l c th s dng ch Freeport
giao tip vi cng ni tip ca my tnh c nhn. Qua , ngi s dng c th
vit chng trnh my tnh ( bng cc ngn ng thng dng nh C, Visual Basic,
Delphi,...) gim st v iu khin hot ng ca CPU S7-200 hoc mng S7-200.
Phn III: Truyn thng s dng iu khin FREEPORT Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 50
III.CC YU CU K THUT
Cng truyn thng ca S7-200 l cng RS-485. Do , khi kt ni vi cc
thit b s dng chun truyn thng khc cn c thit b kt ni chuyn dng
chuyn i tn hiu gia 2 chun s dng.
Trong trng hp thit b cn kt ni s dng cng truyn thng RS-232 c th
s dng cp MY TNH/PPI kt ni. Tuy nhin, thi gian quay vng ca cp
MY TNH/PPI phi c tnh n trong chng trnh: m bo khng b mt
d liu, mi khi d liu c truyn t cng RS-232 n cng RS-475, vic truyn
d liu theo hng ngc li phi c tr hon mt khong thi gian ti thiu
bng thi gian quay vng ca cp (xem chng II).
Ngoi ra, cng truyn thng RS-485 ca CPU S7-200 ch h tr cc tn hiu thu
d liu, pht d liu v yu cu gi (RTS). Cc tn hiu iu khin CTS, DTR, cc
tn hiu bt tay (handshaking) khng c h tr. iu ny cng cn c tnh n
khi thit lp kt ni v lp trnh s dng ch Freeport.

IV.KHI NG CH FREEPORT
Cc nh chuyn dng SMB30 v SMB130 c dng t cu hnh cho
port 0 v port 1 hot ng ch Freeport, ng thi cho php chn tc
truyn, bit chn /l v s bit d liu. Cc byte iu khin ny c m t trong bng
sau:
Port 0 Port 1 M t
nh
SMB30
nh
SMB130
MSB7 LSB0
p p d b b b m m Byte iukhin
ch Freeport
SM30.6
v
SM30.7
SM130.6
v
SM130.7
pp : Chn bit chn l (parity)
00 = no parity
01 = even parity (parity chn)
10 = no parity
11 = odd parity (parity l)
Phn III: Truyn thng s dng iu khin FREEPORT Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 51
SM30.5 SM130.5
d : s bit d liu trong 1 k t
0 = 8 bit cho 1 k t
1 = 7 bit cho 1 k t
SM30.2
n
SM30.4
SM130.2
n
SM130 .4
bbb: tc truyn ca ch Freeport
000 = 38400 baud (1920 baud i vi CPU 212)
001 = 19200 baud
010 = 9600 baud
011 = 4800 baud
100 = 2400 baud
101 = 1200 baud
110 = 600 baud
111 = 300 baud
SM30.0
v
SM30.1
SM130.0
v
SM130.1
mm : chn giao thc .
00 = PPI ch slave
01 = ch Freeport
10 = PPI ch master
11 = d tr (mc nh l PPI ch slave)

i vi port 0, mt bit stop c thit lp cho tt c cc cu hnh ngoi tr
trng hp 7 bit d liu khng c parity, trng hp ny c 2 bit stop. i vi port
1, mt bit stop c thit lp cho tt c cc cu hnh .

Phn IV: Truyn thng ni tip dng Visual Basic Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 52
PHN IV
TRUYN THNG NI TIP DNG VISUAL BASIC

I. TRUYN THNG NI TIP DNG VISUAL BASIC
Bnh thng, khi chy phn mm Visual Basic ta ch thy mt s thnh phn
quen thuc trn hp cng c. Nhng VB cho php nhiu thnh phn c th b sung
thm vo. iu khin truyn thng Mscomm ca Visual Basic l mt trong s cc
i tng c b sung tham gia vo mt s vic truyn nhn d liu thng qua
cng ni tip.
Trong Visual Basic 6.0 ta c th b sung thnh phn Mscomm nh sau :
Chn Project( Component(ctrl-t) s xut hin ca s. Sau chn Microsoft Comm
Control 6.0, Mscomm s xut hin trn thanh cng c.
iu khin truyn thng cung cp hai kh nng trao i thng tin :
iu khin s kin
Truyn thng iu khin s kin l phng php tt nht c s dng trong
qu trnh trao i thng tin ni tip khi n gii phng my tnh lm cc cng vic
khc. Trong nhiu tnh hung, ta cn c thng bo v s thay i. Th d nh ta
cn bit khi c k t gi n hoc s thay i xy ra trn ng DCD (Data Carier
Detect) hoc ng RTS (Request to send). lm iu , ta s phi dng s kin
truyn thng OnComm by v iu khin cc s kin. iu khin truyn thng
cn pht hin v iu khin cc li truyn thng.
Hi vng ( Polling )
Ta cng c th hi vng cc s kin v li bng cch kim tra gi tr ca c
tnh ComEvent sau mi chu k ca chng trnh xc nh xem liu mt s kin
hoc mt li xut hin. Chng hn ,chng trnh c th to vng lp ch mt
k t cn c nhn. C mi ln nh vy, k t c c t b m nhn. Thng
thng, phng php ny c s dng khi chng trnh c thi gian tin hnh
hi vng b nhn thng tin, hay ni cch khc l trong nhng ng dng khng ln.
c tnh
Thnh phn comm. c b sung vo biu mu (form) bt c lc no cn
n vic truyn thng ni tip.
Phn IV: Truyn thng ni tip dng Visual Basic Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 53
Theo mc nh, cng th nht to ra i tng c tn l MSComm1, i
tng th hai l MSComm2,
Th d ch ra cch truyn thng qua cng ni tip c th c tin hnh nh
th no bng cch s dng mt MODEM.
Private sub Form_load()
Dim Instring as String
Mscomm1.ComPort=1
s dng COM1
Mscomm1.Setting=9600,N,8,1
9600baud,no parity,8bit data,1bit stop
Mscomm1.InputLen=0
Mscomm c heat b m nhn khi dng lnh Input
Mscomm1.PortOpen=True
m cng
Mscomm1.Output=ATVQ0&Chr$(13)
gi lnh attention ti MODEM
i d liu tr li cng ni tip
Do
DoEvents
Buffer$=Buffer$&Mscomm1.Input
Loop Until InStr(Buffer$,OK&vbCRLF)
c d liu tr li OK
Mscomm1.PortOpen=False
ng cng ni tip
End Sub
Settings:
Cc c tnh settings t v tr li cc thng s truyn thng cho cng RS-
232, nh tc baud, chn l, s bit d liu v s cc bit dng.
C php ca cu lnh l:
[form]MSComm.Setting[=param.String$]
Phn IV: Truyn thng ni tip dng Visual Basic Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 54
Nu paramString khng c khi m cng th iu khin truyn thng pht sinh
ra li 380.
Paramstring l mt xu cha bn thng s thit lp cho cng RS-232 v c
dng nh sau:
BBBB, P, D, S
y, BBBB xc nh tc baud, P l bit ch tnh chn l, D l s bit d
liu, v S l s cc bit dng (bit stop). Gi tr mace nh ca Paramstring l:
9600, N, 8, 1
Comport :
c tnh ny t v tr li s cng truyn thng. C php ca cu lnh l:
[form]MSComm.CommPort[=port number%]
Trong khi thit k ta c th t portnumber bng mt gi tr name trong
khong t 1 n 99(gi tr mace nh l 1). Trc khi dng lnh ny, phi thit lp
cng bng CommPort. Nu ta dng c tnh PortOpen trc khi thit lp cng bng
CommPort th iu khin truyn thng sinh ra li 68 (li chu6a c thit b hoc
cng khng tn ti).
c tnh PortoPen
c tnh PortOpen t v tr li trng thi ca cng truyn thng (ng hoc
m). c tnh ny khng c trong thi gian thit k chng trnh. C php cu lnh
l:
[form]MSComm.PortOpen[=True/False]
Thng s thit lp l True m cng, cn False ng (gii phng) cng v
xo ni dung cc b m nhn v truyn (tc ng ny t ng xy ra khi mt ng
dng c ng).
Trc khi dng c tnh ny, phi t s cng bng c tnh CommPort, nu ta
qun i c im ny th li 68 pht sinh.
Th d v m cng truyn thng s 1(COM1) vi tc Baud l 4800 Baud,
khng kim tra tnh chn l, 8 bit d liu, 1 bit stop.
MSComm1.Setting=4800, N, 8, 1
Kiu d liu MSComm1. Setting l String.

Phn IV: Truyn thng ni tip dng Visual Basic Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 55
c tnh Input
Input tr li v xo b mt chui k t t b m nhn. c tnh ny khng c
sn trong khi thit k v l ch c (Read_only) khi chy chng trnh. C php ca
cu lnh l:
[form]MSComm.Input
c tnh InputLen qui nh s k t c c bi cu lnh Input. xc nh
s cc k t trong b m, c tnh InBufferCount c kim tra. t InputLen
bng 0 c heat b m nhn.
c tnh InputMode quyt nh kiu d liu thu v qua c tnh Input. Nu
c tnh ny c t l CommInputModeText th c tnh Input s tr v d liu
kiu Text. Nu c tnh ny c t l CommInputModeBinary th Input s tr v
d liu nh phn.
Th d ch cch c d liu t b m nhn :
Mscomm1.InputLen=0
c ton b ni dung ca b m nhn
If Mscomm1.InBufferCount then
kim tra c d liu hay khng
InString$=Mscomm1.Input
End if
Kiu d liu ca c tnh ny l Variant
c tnh InBufferSize
t v tr li kch thc b m nhn, tnh theo s byte.C php ca cu lnh
l :
[form]Mscomm.InBufferSize[=numbyte%]
c tnh ny c lin quan n kch thc b m nhn. Gi tr mc nh l
1024 bytes. Kch thc ca b m phi c t sao cho n c th ct gi c s
ln nht ca cc k t s c nhn trc khi chng trnh ng dng c th c
chng t b m, tr khi ta lm vic ch bt tay (handshaking).
Kiu d liu ca c tnh ny l Integer


Phn IV: Truyn thng ni tip dng Visual Basic Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 56
c tnh InBufferCount
Tr li s k t trong b m nhn. N cng c th c dng xo b m
bng cch t s ca cc k t bng 0. c tnh ny khng c trong thi gian thit
k chng trnh. C php ca cu lnh ny l:
[form]Mscomm.InBufferCount[=Count%]
Ta c th xo b m nhn bng cch t c tnh InBufferCount=0
Kiu d liu ca c tnh ny l Integer.
c tnh Output
c tnh Output s vit mt chui k t vo b m truyn, c tnh ny
khng c trong thi gian thit k chng trnh. C php ca cu lnh ny l :
Mscomm1.Output[=OutString$]
Th d sau cho bit cch gi k t m ngi g t bn phm:
Private Sub Form_load(key Ascii as Integer)
Mscomm1.Outport=Chr$(Key Ascii)
End sub
c tnh Output c th xut d liu dng Text hay Binary. gi d liu
Text, ta phi khai bo mt bin Variant v cho n cha chui mun gi sau gn
bin ny cho mt c tnh Output. gi d liu Binary, ta phi truyn mt bin
Variant cha mt mng cc byte cho c tnh Output.
Kiu d liu ca dng ny l Variant.
c tnh OutputBufferSize
c tnh ny t v tr li kch thc ca cc k t trong b m truyn. C
php ca cu lnh ny l :
[form]Mscomm.OutputBufferSize[=numbyte%]
Gi tr mc nh ca c tnh ny l 512 bytes
Ch :
Khng c nhm ln gia hai c tnh OutBufferCount v OutBufferSize vi
nhau. c tnh OutBufferCount ni ln s byte hin ang c trong b m truyn,
cn OutBufferSize qui nh tng kch thc ca b m truyn.
Khng nn kch thc ca b m truyn qu ln. Tuy nhin, nu qu
nh s xy ra hin tng trn d liu (tr khi lm vic ch bt tay). Thng
Phn IV: Truyn thng ni tip dng Visual Basic Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 57
thng nn bt u kch thc b m truyn 512 bytes. Nu li trn xy ra phi
tng kch thc b m thch hp.
c tnh OutBufferCount:
c tnh ny tr li s k t trong b m truyn. Nh c tnh ny, ta c th
xo ni dung b m truyn bng cch t gi tr ca OutBufferCount=0.C php
ca cu lnh ny l:
[form]Mscomm.OutBufferCount[=value%]
Kiu d liu ca c tnh ny l Integer.
c tnh SThreshold
t v tr li s k t ti thiu ca cc k t c th cho php trong b m
truyn trc khi iu khin truyn thng xc lp c tnh CommEvent v pht sinh
s kin OnComm. Xc lp c tnh SThreshold bng 0 v hiu ho s pht sinh
s kin OnComm. Ngc li, nu t SThreshold bng 1 th iu khin truyn
thng pht sinh s kin OnComm (s kin OnComm c gi) khi b m truyn
khng c d liu (hay b m truyn rng). C php ca cu lnh ny l :
[form}MScomm.SThreshold[=numChars%]

II.C S D LIU
1. Gii thiu C s d liu
C s d liu l mt kho cha thng tin. C nhiu loi c s d liu, nhng
trong ti ny ch quan tm n c s d liu quan h, l kiu c s d liu ph
bin nht hin nay.
Mt c s d liu quan h:
Cha d liu trong cc bng, c cu to bi cc dng cn gi l cc mu tin,
v ct cn gi l cc trng
Cho php ly v (hay truy vn) cc tp hp d liu con t cc bng.
Cho php ni cc bng vi nhau cho mc ch truy nhp cc mu tin lin quan
vi nhau cha trong cc bng khc nhau.

Phn IV: Truyn thng ni tip dng Visual Basic Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 58
Thit k c s d liu :
to mt c s d liu, trc ht, ta phi xc nh thng tin g cn theo di.
Sau , ta thit k c s d liu, to bng cha cc trng nh ngha kiu d liu
s c. Sau khi to ra cu trc c s d liu, c s d liu c th cha d liu di
dng mu tin. Ta khng th a d liu vo m khng c bng hay nh ngha
trng v d liu s khng c ch cha. Do , thit k c s d liu cc k
quan trng, nht l rt kh thay i thit k mt khi ta to xong n.
Bng ( tables ): cha cc mu tin l cc mu d liu ring r bn trong phn
nhm d liu.
Mu tin : cha cc trng( field ) . Mi trng th hin mt b phn d liu
trong mt mu tin. V d nh mi mu tin th hin mt mc trong danh b a ch
cha cc trng tn v h, a ch, thnh ph, s in thoi.
Recordset l mt cu trc d liu th hin mt tp hp con cc mu tin ly v
t c s d liu. V khi nim, n tng t mt bng nhng c thm mt vi thuc
tnh ring bit quan trng.
Cc recordset c th hin nh l cc i tng, v khi nim tng t nh
l cc i tng giao din ngi s dng ( nh l mt nt lnh v hp vn bn trong
Visual Basic)
2. S dng Microsoft Access to mt c s d liu
Microsoft Access c mt giao din tinh xo v d dng to cc i tng c
s d liu . Quan h gia cc bng
a.Quan h Mt - Mt
L loi quan h d hiu v d thc hin nht, bi v trong nhng mi quan h
nh vy, mt bng s ly v tr ca mt trng trong bng khc; trng lin quan
cng d nhn dng. Tuy nhin, quan h mt - mt khng phi l mi quan h thng
dng nht trong ng dng c s d liu.
b.Quan h Mt - Nhiu
Phn IV: Truyn thng ni tip dng Visual Basic Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 59
Ph bin hn quan h Mt - Mt, trong , mi mu tin trong mt bng ny
khng c, hoc c mt, hoc nhiu mu tin trong mt bng lin h
c.Quan h Nhiu - Nhiu
Quan h Nhiu - Nhiu l bc pht trin ca quan h Mt - Nhiu. V d c
in nht ca quan h Nhiu - Nhiu l hc sinh v lp. Mi hc sinh c nhiu lp,
mi lp c nhiu hc sinh.
3.Lin kt C s d liu( Access ) vi Visual Basic
a.S dng iu khin DAO DATA
Ta c th s dng iu khin DAO Data kt ni vi mt c s d liu Jet
ca Microsoft. Mc d vi s xut hin ca iu khin mnh hn, ADO Data, vic
s dng iu khin DAO Data b gim bt, nhng vn tn ti l do s dng iu
khin c in DAO Data. Ngoi ra, n cn c kh nng kt ni vi cc ngun d
liu nh cc tp tin dBASE, vn bn, bng tnh Excel.
b.S dng iu khin ADO DATA
to mt ng dng dng iu khin ADO Data rt n gin. Thc ra, nu
nhng g ta quan tm ch l duyt c s d liu th ta khng cn phi lp trnh g c.
y l mt quy trnh gm hai bc quy nh thuc tnh ConnectionString v
RecordSource ca iu khin Data, sau rng buc iu khin vi iu khin giao
din ngi s dng. thc hin iu ny, ta theo cc bc sau:
Bt u mt n mi ca Visual Basic
Dng menu Project Components, lp trnh tham chiu n Microsoft ADO
Data Control 6.0 (OLEDB) bng cch chn vo hp nh du trong danh sch.
Nhn OK. iu khin ADO Data xut hin trn thanh cng c ca Visual
Basic. Nhn p chut ln iu khin to mt instance ca iu khin trn biu
mu.

Hnh 7: iu khin ADO Data
Phn IV: Truyn thng ni tip dng Visual Basic Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 60
Nhn nt phi chut ln iu khin. T menu bt ra, chn ADODC
Properties. Chn User Connection Srting ri nhn Build.
Hp thoi Data Link Properties xut hin. y l hp thoi ta dng kt
ni vi c s d liu. Sau nhn nt OK khi hon tt.
n y bn quay li hp thoi Property Pages ca iu khin ADO Data.
K tip, ta thng bo cho iu khin bng no s c dng. Chn tab
RecordSource, ri chn 2 adCmdTable t hp kt hp CommandType.
Chn hp kt hp Table Stored Procedure Name. Hp kt hp hin th
danh sch tt c cc bng trong c s d liu. Chn tblCustomer, ri nhn OK.
Kt ni n c s d liu xy ra khi ng dng thi hnh. Tuy nhin kt ni
khng c thng bo, bi v khng c cch no hin th d liu. hin th d
liu tr v t mt iu khin d liu, ta phi to cc iu khin kt ni rng buc
vi iu khin d liu bng cch gn thuc tnh Datasource v DataField.
Ci t v thit lp tham chiu n ADO trong ng dng Visual Basic
Trong n Visual Basic, chn Project, References.
Hp thoi References xut hin.
Chn vo hp nh du Microsoft AtiveX Data Objects 2.0 Library ri
nhn OK.
Dng i tng Connection ca ADO kt ni vi ngun d liu
y l cch th hai lin kt vi ngun d liu m khng thng qua iu khin
ADO Data.
Dng phng thc Open ca i tng Connection thit lp kt ni vi
ngun d liu. thng bo cho ADO cch ni vi ngun d liu, ta phi cung cp
thng tin di dng chui kt ni tng t chui kt ni ca ODBC. Ta dng thuc
tnh ConnectionString thc hin iu ny. Ta cn c kh nng ty chn chn
trnh cung cp no s c dng bng cch quy nh gi tr ca thuc tnh Provider
ca i tng Connection.
V d: Cch khai bo bin kt ni vi ngun d liu
Phn IV: Truyn thng ni tip dng Visual Basic Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 61
Option Explicit
Dim dl as New ADODB. Connection Bin kt ni vi ngun d liu
Dim rs as New ADODB. Recordset Bin truy cp n cc bng trong ngun d
liu
Public Sub ADOconnect()
Dim dbpath As String
dbpath = App.Path & "\DATA.mdb" ng dn n ngun d liu
Set DL = New ADODB.Connection
With DL
.ConnectionString = "Provider=microsoft.jet.oledb.4.0; data source=" & bpath
.CommandTimeout = 0
.CursorLocation = adUseClient
.Open
End With
End Sub










Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 62
PHN V
LP TRNH NG DNG

I.PHN TCH CC NG VO RA
Qui c
Bi xe cha ti a 100 xe.

Khi bi xe trng n xanh sng cho php xe vo, khi bi xe y, n
sng bo hiu xe khng c vo.
Cm bin S
1
l cm bin t t di mt t trc ca vo nhn bit c
xe vo bi xe.
Cm bin S
5
l cm bin quang t sau ca vo bit xe vo bi xe
ng ca vo ng thi S
5
cng l cm bin phn loi cho xe 4 ch vo bi xe.
Cm bin S
4
l cm bin quang t cao 2m loi b s phn loi cho
xe 4 ch vo. Khi ng thi ch 2 cm bin S
4
v S
5
nhn bit c tn hiu tc l
c xe 7 ch vo bi xe.
Cm bin S
3
l cm bin quang t cch cm bin quang S
5
mt khong cch
khong 4m loi b s phn loi ca xe 4 ch v xe 7 ch vo bi xe. Khi ng
thi c 3 cm bin S
5
, S
4
v S
3
nhn bit c tn hiu tc l c xe 12 ch vo bi
xe.
Cm bin S
2
l cm bin quang t cch cm bin quang S
5
mt khong cch
khong 8m loi b s phn loi xe 4 ch, xe 7 ch v xe 12 ch vo bi xe. Khi
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 63
ng thi c 4 cm bin S
5
, S
4
, S
3
v S
2
nhn bit c tn hiu tc l c xe 30 ch
vo bi xe.
Cm bin S
6
l cm bin t t di mt t trc ca ra nhn bit c xe
ra.
Cm bin S
10
l cm bin quang t sau ca ra bit xe ra khi bi xe
ng ca ra ng thi S
10
cng l cm bin phn loi cho xe 4 ch ra khi bi xe.
Cm bin S
9
l cm bin quang t cao 2m loi b s phn loi cho
xe 4 ch ra khi bi xe. Khi ng thi ch 2 cm bin S
10
v S
9
nhn bit c tn
hiu tc l c xe 7ch ra khi bi xe.
Cm bin S
8
l cm bin quang t cch cm bin quang S
10
mt khong
cch khong 4m loi b s phn loi ca xe 4 ch v xe 7 ch ra khi bi xe.Khi
ng thi c 3 cm bin S
10
, S
9
v S
8
nhn bit c tn hiu tc l c xe 12 ch ra
khi bi xe.
Cm bin S
7
l cm bin quang t cch cm bin quang S
10
mt khong
cch khong 8m loi b s phn loi xe 4 ch, xe 7 ch v xe 12 ch ra khi bi
xe. Khi ng thi c 4 cm bin S
10
, S
9
, S
8
v S
7
nhn bit c tn hiu tc l c xe
30 ch ra khi bi xe.














Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 64
M hnh bi gi xe
















Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 65

















Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 66































Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 67
Qui nh cc ng vo ra , Timer v Counter
Cc ng vo :
Cm bin S
1
:
I0.0 = 0 : khng c xe
I0.0 = 1 : c xe
Cm bin S
2
:
I0.1 = 0 : khng c xe
I0.1 = 1 : c xe
Cm bin S
3
:
I0.2 = 0 : khng c xe
I0.2 = 1 : c xe
Cm bin S
4
:
I0.3 = 0 : khng c xe
I0.3 = 1 :c xe
Cm bin S
5
:
I0.4 = 0 : khng c xe
I0.4 = 1 : c xe
Cm bin S
6
:
I0.5 = 0 : khng c xe
I0.5 = 1 : c xe
Cm bin S
7
:
I0.6 = 0 : khng c xe
I0.6 = 1 : c xe
Cm bin S
8
:
I0.7 = 0 : khng c xe
I0.7 = 1 : c xe
Cm bin S
9
:
I1.0 = 0 : khng c xe
I1.0 = 1 : c xe


Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 68
Cm bin S
10
:
I1.1 = 0 : khng c xe
I1.1 = 1 : c xe
Cng tc hnh trnh di ti ca vo (CT1)
I1.2 = 0 : khi khng b thanh gt tc ng
I1.2 = 1 : khi b thanh gt tc ng
Cng tc hnh trnh trn ti ca vo (CT2)
I1.3 = 0 : khi khng b thanh gt tc ng
I1.3 = 1 : khi b thanh gt tc ng
Cng tc hnh trnh di ti ca ra (CT3)
I1.4 = 0 : khi khng b thanh gt tc ng
I1.4 = 1 : khi b thanh gt tc ng
Cng tc hnh trnh trn ti ca ra (CT4)
I1.5 = 0 : khi khng b thanh gt tc ng
I1.5 = 1 : khi b thanh gt tc ng
Cc ng ra :
Ca vo :
Q0.0 = 0 : khng m ca
Q0.0 = 1 : m ca
Q0.1 = 0 : khng ng ca
Q0.1 = 1 : ng ca
Ca ra :
Q0.2 = 0 : khng m ca
Q0.2 = 1 : m ca
Q0.3 = 0 : khng ng ca
Q0.3 = 1 : ng ca
n xanh :
Q0.4 = 0 : n xanh tt
Q0.4 = 1 : n xanh sng


Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 69
n :
Q0.5 = 0 : n tt
Q0.5 = 1 : n sng
n chiu sng :
Q0.6 = 0 : khng bt n
Q0.6 = 1 : bt n
S c :
Q1.0 = 0 : khng c s c
Q1.0 = 1 : c s c
Counter :
C48 m xe 4 ch hin c trong bi xe.
C49 m xe 7 ch hin c trong bi xe.
C50 m xe 12 ch hin c trong bi xe.
C51 m xe 30 ch hin c trong bi xe.
C52 cha kt qu ca xe 7 ch nhn 2.
C53 cha kt qu ca xe 12 ch nhn 3.
C54 cha kt qu ca xe 30 ch nhn 4.
C55 cha kt qu cng ca C48 v C52
C56 cha kt qu cng ca C53 v C54
C57 cha kt qu cng ca C55 v C56 (C57 cha tng s xe hin
cn trong bi xe).
Timer :
T37 l thi gian ti a m ca vo.
T38 l thi gian ti a m ca ra.






Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 70

Bt u
C xe vo
M ca vo
M xong
Ngng m
Kch Timer
<10s
Xe vo
Phn loi xe
vo
Xe 4 ch
Xe 7 ch
Xe 12 ch
Xe 30 ch
m xe vo
( xe 4 ch + xe 7 ch x 2 +
xe 12ch x 3 + xe 30ch x 4)
Hiu s
C xe ra
M ca ra
M xong
Ngng m
Kch Timer
<10s
Xe ra
Phn loi xe ra
Tnh tin
Y
Y
N
N
ng ca vo
ng xong
m xe ra
( xe 4 ch + xe 7 ch x 2 +
xe 12ch x 3 + xe 30ch x 4)
ng ca ra
ng xong
Ngng ng Kt thc
N
Y
N
Y
Y
N
Xekhcvo
Y
N
Y
Y
Y
Y
N
N
N
Xe khc ra
Y
Y
Y
Y
Y
Y
Y
Y
N
N
Y
<100
n xanh
CAR
EMPTY
n
CAR FULL
PART
Y N
Ngng ng
N
N
II. LU GII THUT
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 71
III.GIAO DIN GIAO TIP MY TNH


Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 72

Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 73


Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 74
IV.VIT CODE CHO GIAO DIN

Code Form Giao din giao tip
Option Explicit
Dim Nhan() As Byte
' KHAI BAO BIEN DE KET NOI CSDL
Dim sqlLuuDL As String
Public rsLuuDL As New ADODB.Recordset
Dim sqlXera As String
Public rsCapnhatXera As New ADODB.Recordset
Dim sqlPhanloaixe As String
Dim rsPhanloaixe As New ADODB.Recordset
Public Soxe As String
Public Loaixe As String
Dim sott As Integer
Public ngayvao As Date
Dim giovao As String
Dim ngayra As Date
Dim giora As String
Public thanhtien As Double
Public thoigian As String

Private Sub Chitiet_Click()
Load Baixe
Baixe.Show
End Sub
Private Sub ClosePort_Click()
If MSComm1.PortOpen = True Then
MSComm1.PortOpen = False
OPENPORT.Enabled = True
sco.Enabled = True
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 75
End If
End Sub
Private Sub CmbXera_Click()
Dim soxe1 As String
soxe1 = CmbXera.Text
rsCapnhatXera.Find "[so xe] = '" & soxe1 & "'", , , adBookmarkFirst
If Not rsCapnhatXera.EOF Then
txtLoaixera.Text = rsCapnhatXera.Fields(1)
End If
End Sub
Private Sub CmbXera_Change()
Dim soxe1 As String
soxe1 = CmbXera.Text
rsCapnhatXera.Find "[so xe] = '" & soxe1 & "'", , , adBookmarkFirst
If Not rsCapnhatXera.EOF Then
txtLoaixera.Text = rsCapnhatXera.Fields(1)
End If
End Sub

Private Sub cmdBoqua_Click()
txtSoxevao.Text = ""
CmbLoaixevao.Text = "Chon loai xe"
CmbXera.Text = "Xe ra"
txtLoaixera.Text = "Chon loai xe"
txtSoxevao.Enabled = False
CmbLoaixevao.Enabled = False
CmbXera.Enabled = False
txtLoaixera.Enabled = False
CmdLuuVao.Enabled = False
CmdLuuRa.Enabled = False
End Sub
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 76
Private Sub CmdPhanloaixe_Click()
Load Form5
Form5.Show
End Sub
Private Sub lbxevao_Click()
txtSoxevao.Enabled = True
CmbLoaixevao.Enabled = True
CmbXera.Enabled = False
txtLoaixera.Enabled = False
lbxevao.ForeColor = &HFF0000
txtLoaixera.Text = "Loai xe ra"
CmbXera.Text = "Xe ra"
txtSoxevao.Text = ""
CmdLuuRa.Enabled = False
CmdLuuVao.Enabled = True
cmdBoqua.Enabled = True
End Sub

Private Sub lbxera_Click()
CmdLuuVao.Enabled = False
CmdLuuRa.Enabled = True
cmdBoqua.Enabled = True
txtSoxevao.Text = "Xe vao"
txtSoxevao.Enabled = False
CmbLoaixevao.Enabled = False
CmbXera.Enabled = True
txtLoaixera.Enabled = True
txtLoaixera.Locked = True
lbxera.ForeColor = &HFF0000
sqlXera = "SELECT * FROM CHITIET"
Set rsCapnhatXera = LayDL(sqlXera)
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 77
rsCapnhatXera.Sort = "[so xe] ASC"
If rsCapnhatXera.RecordCount > 0 Then
rsCapnhatXera.MoveFirst
Do While Not rsCapnhatXera.EOF
CmbXera.AddItem rsCapnhatXera.Fields(2)
rsCapnhatXera.MoveNext
Loop
rsCapnhatXera.MoveFirst
CmbXera.Text = rsCapnhatXera.Fields(2)
txtLoaixera.Text = rsCapnhatXera.Fields(1)
End If
End Sub

Private Sub CmdLuuVao_Click()
Dim Error As Integer
TIEP.Enabled = True
sqlLuuDL = "select * from chitiet"
Error = kiemtra
Set rsLuuDL = LayDL(sqlLuuDL)
If Error = 0 Then
If Val(CmbLoaixevao.Text) = False Then
MsgBox "Loai xe vao chi duoc chon gia tri tu 1 den 4 "
CmbLoaixevao.Text = ""
Exit Sub
End If
If Val(CmbLoaixevao.Text) > 4 Then
MsgBox "Loai xe khong duoc lon hon 4"
CmbLoaixevao.Text = ""
Exit Sub
End If
rsLuuDL.AddNew
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 78
GhiDL rsLuuDL
LuuDL rsLuuDL
txtSoxevao.Text = ""
CmbLoaixevao.Text = ""
End If
If Error = 1 Then
MsgBox "Vui long nhap so xe!"
Exit Sub
End If
If Error = 2 Then
MsgBox "Vui long chon loai xe!"
Exit Sub
End If
If Error = 3 Then
MsgBox "So xe chi duoc nhap 7 ki tu!"
txtSoxevao.Text = ""
Exit Sub
End If
If Error = 4 Then
MsgBox "Loai xe chi duoc chon tu 1 den 4!"
CmbLoaixevao.Text = ""
Exit Sub
End If
End Sub

Private Sub GhiDL(rs As ADODB.Recordset)
Dim s As String
Dim MALN As Variant
Dim tam As Variant
Dim rsDem As New ADODB.Recordset
s = "select * from chitiet"
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 79
Set rsDem = LayDL(s)
MALN = 0
Do While (Not rsDem.EOF)
tam = rsDem![stt]
If (MALN < tam) Then
MALN = tam
End If
rsDem.MoveNext
Loop
MALN = MALN + 1
rs.Fields(0) = MALN
rs.Fields(1) = CmbLoaixevao.Text
rs.Fields(2) = txtSoxevao.Text
rs.Fields(3) = Date
rs.Fields(4) = Time
rs.Fields(5) = 0
rs.Fields(6) = 0
rs.Fields(7) = 0
rs.Fields(8) = 0
Set rsDem = Nothing
End Sub

Private Sub Sco_Click()
Timer18.Enabled = False
MSComm1.Output = "a"
Timer18.Enabled = True
sco.Enabled = False
End Sub

Private Sub Exit_Click()
Call ClosePort_Click
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 80
End
End Sub
Private Sub Form_mousemove(button As Integer, shift As Integer, X As Single, Y
As Single)
lbxevao.FontUnderline = False
lbxevao.ForeColor = &HFF&
End Sub
Private Sub lbxevao_mousemove(button As Integer, shift As Integer, X As Single,
Y As Single)
lbxevao.FontUnderline = True
lbxevao.ForeColor = &HC000C0
lbxera.FontUnderline = False
lbxera.ForeColor = &HFF0000
End Sub
Private Sub lbxera_mousemove(button As Integer, shift As Integer, X As Single, Y
As Single)
lbxera.FontUnderline = True
lbxera.ForeColor = &HC000C0
lbxevao.FontUnderline = False
lbxevao.ForeColor = &HFF0000
End Sub

Private Sub Form_Load()
'---------------------------------------------------------------'
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
App.Path & "\baigiuxe.mdb;Persist Security Info=False"
cnn.CursorLocation = adUseClient
cnn.Open
txtSoxevao.Enabled = False
CmbXera.Enabled = False
CmbLoaixevao.Enabled = False
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 81
txtLoaixera.Enabled = False
txtSoxevao.Text = " Xe vao"
CmdLuuVao.Enabled = False
CmdLuuRa.Enabled = False
cmdBoqua.Enabled = False
Dim i As Integer
For i = 1 To 4
Me.CmbLoaixevao.AddItem i
Next i
'--------------------------------------------------------------'
MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,8,1"
MSComm1.InputLen = 0
MSComm1.RThreshold = 11
MSComm1.InputMode = comInputModeBinary
MSComm1.PortOpen = True
OPENPORT.Enabled = True
CLOSEPORT.Enabled = False
Timer18.Enabled = True
End Sub

Private Sub OpenPort_Click()
If MSComm1.PortOpen = True Then
MSComm1.PortOpen = False
End If
MSComm1.PortOpen = True
Timer18.Enabled = True
Timer19.Enabled = True
OPENPORT.Enabled = False
CLOSEPORT.Enabled = True
End Sub
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 82
Private Sub MSComm1_OnComm()
If MSComm1.InBufferCount >= 11 Then MSComm1.InputLen = 0
Nhan() = MSComm1.Input
Dim i, j, k, l, m, n, o, p, q, r, s As Integer
i = Nhan(0)
j = Nhan(1)
k = Nhan(2)
l = Nhan(3)
m = Nhan(4)
n = Nhan(5)
o = Nhan(6)
p = Nhan(7)
q = Nhan(8)
r = Nhan(9)
s = Nhan(10)
Text3.Text = o 'xe 4 cho
Text4.Text = p 'xe 7 cho
Text5.Text = q 'xe 12 cho
Text6.Text = r 'xe 30 cho
Text7.Text = s 'tong so xe
If i = 1 Then 'mo cua vao
Timer1.Enabled = True
Cuavao.Text = " M "
If XanhVao.Visible = False Then
XanhVao.Visible = True
TatXanhVao.Visible = False
DoVao.Visible = False
TatDoVao.Visible = True
End If
If CTraiVao.Width = 495 And CPhaiVao.Width = 495 Then
Do
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 83
CTraiVao.Width = CTraiVao.Width - 1
CPhaiVao.Width = CPhaiVao.Width - 1
CPhaiVao.Left = CPhaiVao.Left + 1
Loop Until CTraiVao.Width = 15 And CPhaiVao.Width = 15
End If
End If
If i = 2 Then 'dong cua vao
Timer1.Enabled = True
Cuavao.Text = " NG "
If XanhVao.Visible = True Then
XanhVao.Visible = False
TatXanhVao.Visible = True
DoVao.Visible = True
TatDoVao.Visible = False
End If
If CTraiVao.Width = 15 And CPhaiVao.Width = 15 Then
Do
CTraiVao.Width = CTraiVao.Width + 1
CPhaiVao.Width = CPhaiVao.Width + 1
CPhaiVao.Left = CPhaiVao.Left - 1
Loop Until CTraiVao.Width = 495 And CPhaiVao.Width = 495
End If
End If
If j = 1 Then 'mo cua ra
Timer2.Enabled = True
Cuara.Text = " M "
If XanhRa.Visible = False Then
XanhRa.Visible = True
TatXanhRa.Visible = False
DoRa.Visible = False
TatDoRa.Visible = True
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 84
End If
If CTraiRa.Width = 495 And CPhaiRa.Width = 495 Then
Do
CTraiRa.Width = CTraiRa.Width - 1
CPhaiRa.Width = CPhaiRa.Width - 1
CPhaiRa.Left = CPhaiRa.Left + 1
Loop Until CTraiRa.Width = 15 And CPhaiRa.Width = 15
End If
End If
If j = 2 Then 'dong cua ra
Timer2.Enabled = True
Cuara.Text = " NG "
If XanhRa.Visible = True Then
XanhRa.Visible = False
TatXanhRa.Visible = True
DoRa.Visible = True
TatDoRa.Visible = False
End If
If CTraiRa.Width = 15 And CPhaiRa.Width = 15 Then
Do
CTraiRa.Width = CTraiRa.Width + 1
CPhaiRa.Width = CPhaiRa.Width + 1
CPhaiRa.Left = CPhaiRa.Left - 1
Loop Until CTraiRa.Width = 495 And CPhaiRa.Width = 495
End If
End If
If k = 1 Then 'bai xe trong
Timer3.Enabled = True
TTrang.Text = " TRNG XE "
If XanhTrong.Visible = False Then
XanhTrong.Visible = True
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 85
TatXanhTrong.Visible = False
DoDay.Visible = False
TatDoDay.Visible = True
End If
End If
If k = 2 Then 'bai xe day
Timer3.Enabled = True
TTrang.Text = " Y XE "
If XanhTrong.Visible = True Then
XanhTrong.Visible = False
TatXanhTrong.Visible = True
DoDay.Visible = True
TatDoDay.Visible = False
End If
End If
If l = 1 Then ' mo den chieu sang
Timer5.Enabled = True
HTDen.Text = " M "
If XanhDen.Visible = False Then
XanhDen.Visible = True
TatXanhDen.Visible = False
DoDen.Visible = False
TatDoDen.Visible = True
End If
End If
If l = 2 Then 'tat den chieu sang
Timer5.Enabled = True
HTDen.Text = " TT "
If XanhDen.Visible = True Then
XanhDen.Visible = False
TatXanhDen.Visible = True
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 86
DoDen.Visible = True
TatDoDen.Visible = False
End If
End If
If m = 1 Then
CmbLoaixevao.Text = "1"
End If
If m = 2 Then
CmbLoaixevao.Text = "2"
End If
If m = 3 Then
CmbLoaixevao.Text = "3"
End If
If m = 4 Then
CmbLoaixevao.Text = "4"
End If
If n = 1 Then
txtLoaixera.Text = "1"
End If
If n = 2 Then
txtLoaixera.Text = "2"
End If
If n = 3 Then
txtLoaixera.Text = "3"
End If
If n = 4 Then
txtLoaixera.Text = "4"
End If
End Sub

Private Sub CmdLuuRa_Click()
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 87
Dim gio1 As Integer
Dim phut1 As Integer
Dim tam1 As Integer
Dim tam2 As Integer
Dim tam3 As Integer
Dim gio2 As Integer
Dim phut2 As Integer
Dim gio3 As Integer
Dim phut3 As Integer
Dim Gia As Double
sqlXera = "select [so xe], [loai xe] from chitiet where [so xe] like '" &
CmbXera.Text & "' and [loai xe] like '" & txtLoaixera.Text & "' "
Set rsCapnhatXera = LayDL(sqlXera)
If (rsCapnhatXera.BOF = True And rsCapnhatXera.EOF = True) Then
MsgBox ("Khong co so xe nay, hay chon trong combo so xe!")
Else
rsCapnhatXera.MoveFirst
sqlXera = "select * from chitiet"
Set rsCapnhatXera = LayDL(sqlXera)
sqlXera = "select stt from chitiet where [so xe] = '" & Soxe & "' and [loai
xe]='" & Loaixe & "' "
sott = rsCapnhatXera.Fields(0)
Soxe = CmbXera.Text
Loaixe = txtLoaixera.Text
sqlXera = "UPDATE chitiet SET [ngay ra] = '" & Date & _
"' WHERE [loai xe] = '" & Loaixe & "' and [so xe] = '" & Soxe & "'" 'and [stt] =
'" & Val(sott) & "' "
Set rsCapnhatXera = LayDL(sqlXera)
sqlXera = "UPDATE chitiet SET [gio ra] = '" & Time & _
"' WHERE [loai xe] = '" & Loaixe & "'and [so xe] = '" & Soxe & "'" 'and [stt] =
'" & Val(sott) & "' " 'and [gio vao] = '" & rsGiovao.Fields(4) & "' "
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 88
Set rsCapnhatXera = LayDL(sqlXera)
sqlXera = "select [gio vao] from chitiet where [so xe] = '" & Soxe & "' and
[loai xe] = '" & Loaixe & "'" 'and [stt] = '" & Val(sott) & "' "
Set rsCapnhatXera = LayDL(sqlXera)
gio1 = (Hour(rsCapnhatXera![gio vao]))
phut1 = (Minute(rsCapnhatXera![gio vao]))
gio2 = Hour(Time)
phut2 = Minute(Time)
gio3 = gio2 - gio1
phut3 = phut2 - phut1
tam1 = gio1 * 60 + phut1
tam2 = gio2 * 60 + phut2
tam3 = tam2 - tam1
gio3 = tam3 / 60
phut3 = tam3 - (gio3 * 60)
thoigian = gio3 & " :" & phut3
sqlXera = "UPDATE chitiet SET [thoi gian goi (gio)] = '" & thoigian & _
"' WHERE [loai xe] = '" & Loaixe & "' and [so xe] = '" & Soxe & "'" 'and
[stt] = '" & Val(sott) & "'" 'and [gio vao] = '" & giovao & "' "
Set rsCapnhatXera = LayDL(sqlXera)
sqlPhanloaixe = "select [gia tien (vnd/gio)] from phanloaixe where loai = '" &
Loaixe & "'" 'and [stt] = '" & Val(sott) & "' "
Set rsPhanloaixe = LayDL(sqlPhanloaixe)
Gia = rsPhanloaixe![gia tien (vnd/gio)]
If Val(gio3 = 0) And Val(phut3) < 30 Then
gio3 = 1
thanhtien = Val(Gia) * Val(gio3)
End If
If (Val(phut3) > 15) And Val(gio3 > 0) Then
thanhtien = Val(Gia) * (Val(gio3) + 1)
Else
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 89
thanhtien = Val(Gia) * Val(gio3)
End If
sqlXera = "UPDATE chitiet SET [thanh tien (vnd)]= '" & Val(thanhtien) & "'
WHERE [loai xe] = '" & Loaixe & "' and [so xe] = '" & Soxe & "'" 'and [stt] = '" &
Val(sott) & "' " 'and [gio vao] = '" & giovao & "' "
Set rsCapnhatXera = LayDL(sqlXera)
soxe1 = Soxe
loaixe1 = Loaixe
sqlXera = "select [gio vao] from chitiet where [so xe] = '" & Soxe & "' and [loai
xe] = '" & Loaixe & "'" 'and [stt] = '" & Val(sott) & "' "
Set rsCapnhatXera = LayDL(sqlXera)
giovao1 = rsCapnhatXera![gio vao]
sqlXera = "select [ngay vao] from chitiet where [so xe] = '" & Soxe & "' and
[loai xe] = '" & Loaixe & "'" 'and [stt] = '" & Val(sott) & "' "
Set rsCapnhatXera = LayDL(sqlXera)
ngayvao1 = rsCapnhatXera![ngay vao]
thoigian1 = thoigian
thanhtien1 = thanhtien
Load Form4
Form4.Show
End If
End Sub
Private Sub TIEP_Click()
Load Form3
Form3.Show
End Sub
Private Sub Thoat2_Click()
Unload Me
End Sub
Private Sub Timer19_Timer()
MSComm1.Output = "*" + "*" + "*"
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 90
End Sub
Private Sub Timer7_Timer()
Dim X, Y
X = Right(FORM2.Caption, 1)
Y = Left(FORM2.Caption, Len(FORM2.Caption) - 1)
FORM2.Caption = X + Y
End Sub
Private Sub Timer8_Timer()
Tgian.Caption = Time
End Sub
Private Sub Timer9_Timer()
Ngay.Caption = Date
End Sub
Private Sub Timer16_Timer()
Dim U As String
Dim V As String
U = Left(Label2.Caption, 1)
V = Right(Label2.Caption, Len(Label2.Caption) - 1)
Label2.Caption = V + U
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set rsLuuDL = Nothing
cnn.Close
End Sub
Private Sub Timervao_Timer()
If lbxevao.ForeColor = vbBlue Then lbxera.ForeColor = vbRed Else
lbxevao.ForeColor = vbBlue
End Sub
Private Sub XOA_Click()
Load Form4
Form4.Show
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 91
End Sub

Private Function kiemtra() As Integer
If (Me.txtSoxevao.Text = "") Then
kiemtra = 1
Exit Function
End If
If (Me.CmbLoaixevao.Text = "") Then
kiemtra = 2
Exit Function
End If
If Len(Me.txtSoxevao.Text) > 7 Or Len(Me.txtSoxevao.Text) < 7 Then
kiemtra = 3
Exit Function
End If
If Len(Me.CmbLoaixevao.Text) < 1 Or Len(Me.CmbLoaixevao.Text) > 1 Then
kiemtra = 4
Exit Function
Else
kiemtra = 0
End If
End Function

Code Form C s d liu
Option Explicit
Dim sql As String
Dim str1 As String
Public rs1 As New ADODB.Recordset
Public rsCapnhatXe As New ADODB.Recordset
Dim sqlCapnhat As String
Dim Soxe As String
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 92
Dim Loaixe As String
Dim ngayvao As Date
Dim giovao As String
Dim ngayra As Date
Dim giora As String
'---------
Private Sub cbSoxe_Click()
Soxe = cbSoxe.Text
rsCapnhatXe.MoveFirst
rsCapnhatXe.Find "[so xe] = '" & Soxe & "'", , , adBookmarkFirst
If Not rsCapnhatXe.EOF Then
txtStt.Text = rsCapnhatXe.Fields(0)
DTPNgayvao.Value = rsCapnhatXe.Fields(3)
txtGiovao.Text = rsCapnhatXe.Fields(4)
txtThoigian.Text = rsCapnhatXe.Fields(7)
txtLoaixe.Text = rsCapnhatXe.Fields(1)
DTPNgayra.Value = rsCapnhatXe.Fields(5)
txtGiora.Text = rsCapnhatXe.Fields(6)
txtThanhtien.Text = rsCapnhatXe.Fields(8)
End If
End Sub

Private Sub CmdTim_Click()
OptSoxe.Visible = True
OptLoaixe.Visible = True
OptNgayvao.Visible = True
OptNgayra.Visible = True
If (OptSoxe) Then
str1 = "select * from chitiet where [so xe] like '" & cbSoxe.Text & "'"
Set rs1 = LayDL(str1)
rs1.Sort = "stt ASC"
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 93
Call XUATBANGCHITIETXETIM(cbSoxe.Text)
Else
If (OptNgayvao = True) Then
str1 = "select * from chitiet where [ngay vao] like '" & DTPNgayvao.Value & "'"
Set rs1 = LayDL(str1)
rs1.Sort = "stt ASC"
Call XUATBANGCHITIETXETIM(DTPNgayvao.Value)
Else
If (OptLoaixe = True) Then
str1 = "select * from chitiet where [loai xe] like '" & txtLoaixe.Text & "'"
Set rs1 = LayDL(str1)
rs1.Sort = "stt ASC"
Call XUATBANGCHITIETXETIM(txtLoaixe.Text)
Else
str1 = "select * from chitiet where [ngay ra] like '" & DTPNgayra.Value & "'"
Set rs1 = LayDL(str1)
rs1.Sort = "stt ASC"
Call XUATBANGCHITIETXETIM(DTPNgayra.Value)
End If
End If
End If
End Sub

Private Sub cmdTimkiem_Click()
OptSoxe.Visible = True
OptLoaixe.Visible = True
OptNgayvao.Visible = True
OptNgayra.Visible = True
txtLoaixe.Enabled = False
DTPNgayvao.Enabled = False
DTPNgayra.Enabled = False
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 94
cbSoxe.Enabled = False
CmdTimkiem.Visible = False
CmdTim.Visible = True
cmdXoa.Visible = False
CmdTimXoa.Visible = True
lbStt.Visible = False
LbGiovao.Visible = False
LbThoigiangoi.Visible = False
lbGiora.Visible = False
LbThanhtien.Visible = False
txtStt.Visible = False
txtGiovao.Visible = False
txtThoigian.Visible = False
txtGiora.Visible = False
txtThanhtien.Visible = False
End Sub

Private Sub CmdTimXoa_Click()
CmdTimkiem.Visible = True
cmdXoa.Visible = True
CmdTimkiem.Visible = True
CmdTim.Visible = False
lbStt.Visible = True
LbGiovao.Visible = True
LbThoigiangoi.Visible = True
lbGiora.Visible = True
LbThanhtien.Visible = True
txtStt.Visible = True
txtGiovao.Visible = True
txtThoigian.Visible = True
txtGiora.Visible = True
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 95
txtThanhtien.Visible = True
OptSoxe.Visible = False
OptLoaixe.Visible = False
OptNgayvao.Visible = False
OptNgayra.Visible = False
End Sub

Private Sub cmdXoa_Click()
Dim sql As String
Dim rs1 As New ADODB.Recordset
Dim vitri As Integer
OptSoxe.Visible = False
OptLoaixe.Visible = False
OptNgayvao.Visible = False
OptNgayra.Visible = False
sql = "select * from chitiet where [so xe]= '" & Soxe & "'"
Set rs1 = LayDL(sql)
If (rs1.BOF = True And rs1.EOF = True) Then
MsgBox ("Khong co so xe nay, hay chon trong combo so xe!")
Else
If MsgBox("Ban co chac la xoa khong ?", vbYesNo) = vbYes Then
rsCapnhatXe.Find "[so xe] = '" & Soxe & "'", , , adBookmarkFirst
rsCapnhatXe.Delete
LuuDL rsCapnhatXe
vitri = cbSoxe.ListIndex
cbSoxe.RemoveItem vitri
cbSoxe.Refresh
Call XUATBANGCHITIETXE
End If
End If
Set rs1 = Nothing
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 96
End Sub

Private Sub MSHFlexGridChitiet_Click()
MSHFlexGridChitiet.Refresh
Dim sql As String
Dim rs1 As New ADODB.Recordset
txtStt.Text = MSHFlexGridChitiet.MouseRow
Set rs1 = Nothing
End Sub

Private Sub OptLoaixe_Click()
txtLoaixe.Enabled = True
DTPNgayvao.Enabled = False
DTPNgayra.Enabled = False
cbSoxe.Enabled = False
txtLoaixe.Locked = False
End Sub

Private Sub OptNgayra_Click()
txtLoaixe.Enabled = False
DTPNgayvao.Enabled = False
DTPNgayra.Enabled = True
cbSoxe.Enabled = False
End Sub

Private Sub OptNgayvao_Click()
txtLoaixe.Enabled = False
DTPNgayvao.Enabled = True
DTPNgayra.Enabled = False
cbSoxe.Enabled = False
End Sub
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 97
Private Sub OptSoxe_Click()
txtLoaixe.Enabled = False
DTPNgayvao.Enabled = False
DTPNgayra.Enabled = False
cbSoxe.Enabled = True
End Sub
Private Sub THOAT_Click()
End
rs1.Close
End Sub
Private Sub TROVE_Click()
Unload Me
End Sub
Private Sub Form_Load()
OptSoxe.Visible = False
OptLoaixe.Visible = False
OptNgayvao.Visible = False
OptNgayra.Visible = False
txtStt.Locked = False
cbSoxe.Locked = False
DTPNgayvao.Enabled = True
DTPNgayra.Enabled = True
txtThoigian.Locked = True
txtThanhtien.Locked = True
txtLoaixe.Locked = True
txtGiora.Locked = True
txtGiovao.Locked = True

CmdTim.Visible = False
sqlCapnhat = "select * from chitiet where stt = 1 "
Set rsCapnhatXe = LayDL(sqlCapnhat)
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 98
txtStt.Text = rsCapnhatXe.Fields(0)
txtLoaixe.Text = rsCapnhatXe.Fields(1)
DTPNgayvao.Value = rsCapnhatXe.Fields(3)
txtGiovao.Text = rsCapnhatXe.Fields(4)
txtGiora.Text = rsCapnhatXe.Fields(6)
DTPNgayra.Value = rsCapnhatXe.Fields(5)
txtThoigian.Text = rsCapnhatXe.Fields(7)
txtThanhtien.Text = rsCapnhatXe.Fields(8)
cbSoxe.Text = rsCapnhatXe.Fields(2)
sqlCapnhat = "select * from chitiet"
Set rsCapnhatXe = LayDL(sqlCapnhat)
If rsCapnhatXe.RecordCount > 0 Then
rsCapnhatXe.MoveFirst
Do While Not rsCapnhatXe.EOF
cbSoxe.AddItem rsCapnhatXe.Fields(2)
rsCapnhatXe.MoveNext
Loop
End If
Call XUATBANGCHITIETXE
End Sub
Private Sub Form_Unload(Cancel As Integer)
MSHFlexGridChitiet.Refresh
Set rsCapnhatXe = Nothing
Set rs1 = Nothing
End Sub

Private Sub XUATBANGCHITIETXETIM(thamso As String)
Dim i As Integer
Dim soluong As Integer
soluong = 0
Dim Mang(9) As String
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 99
Mang(0) = "STT"
Mang(1) = "LOI XE"
Mang(2) = "S XE"
Mang(3) = "NGY VO"
Mang(4) = "GI VO"
Mang(5) = "NGY RA"
Mang(6) = "GI RA"
Mang(7) = "THI GIAN GI (GI)
Mang(8) = "THNH TIN (VN)"
While Not rs1.EOF
soluong = soluong + 1
rs1.MoveNext
Wend
MSHFlexGridChitiet.Rows = soluong + 1
MSHFlexGridChitiet.Cols = 9
If (rs1.BOF = True And rs1.EOF = True) Then
MsgBox ("Co so du lieu rong!")
Else
rs1.MoveFirst
End If
For i = 0 To 8
MSHFlexGridChitiet.Row = 0
MSHFlexGridChitiet.Col = i
MSHFlexGridChitiet.Text = Mang(i)
Next i
i = 1
rs1.Sort = " stt asc"
While Not rs1.EOF
MSHFlexGridChitiet.Row = i
MSHFlexGridChitiet.Col = 0
MSHFlexGridChitiet.ColWidth(0) = 500
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 100
MSHFlexGridChitiet.Text = rs1.Fields(0)
MSHFlexGridChitiet.Col = 1
MSHFlexGridChitiet.ColWidth(1) = 900
MSHFlexGridChitiet.Text = rs1![loai xe]
MSHFlexGridChitiet.Col = 2
MSHFlexGridChitiet.ColWidth(2) = 1000
MSHFlexGridChitiet.Text = rs1![so xe]
MSHFlexGridChitiet.Col = 3
MSHFlexGridChitiet.ColWidth(3) = 1200
MSHFlexGridChitiet.Text = rs1![ngay vao]
MSHFlexGridChitiet.Col = 4
MSHFlexGridChitiet.ColWidth(4) = 1000
MSHFlexGridChitiet.Text = rs1![gio vao]
MSHFlexGridChitiet.Col = 5
MSHFlexGridChitiet.ColWidth(5) = 1200
MSHFlexGridChitiet.Text = rs1![ngay ra]
MSHFlexGridChitiet.Col = 6
MSHFlexGridChitiet.ColWidth(6) = 900
MSHFlexGridChitiet.Text = rs1![gio ra]
MSHFlexGridChitiet.Col = 7
MSHFlexGridChitiet.ColWidth(7) = 1500
MSHFlexGridChitiet.Text = rs1.Fields(7)
MSHFlexGridChitiet.Col = 8
MSHFlexGridChitiet.ColWidth(8) = 1800
MSHFlexGridChitiet.Text = rs1.Fields(8)
i = i + 1
rs1.MoveNext
Wend
Set rs1 = LayDL(str1)
End Sub
Private Sub XUATBANGCHITIETXE()
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 101
Dim i As Integer
Dim soluong As Integer
str1 = "select * from chitiet "
Set rs1 = LayDL(str1)
soluong = 0
Dim Mang(9) As String
Mang(0) = "STT"
Mang(1) = "LOI XE"
Mang(2) = "S XE"
Mang(3) = "NGY VO"
Mang(4) = "GI VO"
Mang(5) = "NGY RA"
Mang(6) = "GI RA"
Mang(7) = "THI GIAN GI (GI)"
Mang(8) = "THNH TIN (VN)"
While Not rs1.EOF
soluong = soluong + 1
rs1.MoveNext
Wend
MSHFlexGridChitiet.Rows = soluong + 1
MSHFlexGridChitiet.Cols = 9
rs1.MoveFirst
For i = 0 To 8
MSHFlexGridChitiet.Row = 0
MSHFlexGridChitiet.Col = i
MSHFlexGridChitiet.Text = Mang(i)
Next i
i = 1
rs1.Sort = " stt asc"
While Not rs1.EOF
MSHFlexGridChitiet.Row = i
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 102
MSHFlexGridChitiet.Col = 0
MSHFlexGridChitiet.ColWidth(0) = 500
MSHFlexGridChitiet.Text = rs1.Fields(0)
MSHFlexGridChitiet.Col = 1
MSHFlexGridChitiet.ColWidth(1) = 900
MSHFlexGridChitiet.Text = rs1![loai xe]
MSHFlexGridChitiet.Col = 2
MSHFlexGridChitiet.ColWidth(2) = 1000
MSHFlexGridChitiet.Text = rs1![so xe]
MSHFlexGridChitiet.Col = 3
MSHFlexGridChitiet.ColWidth(3) = 1200
MSHFlexGridChitiet.Text = rs1![ngay vao]
MSHFlexGridChitiet.Col = 4
MSHFlexGridChitiet.ColWidth(4) = 1000
MSHFlexGridChitiet.Text = rs1![gio vao]
MSHFlexGridChitiet.Col = 5
MSHFlexGridChitiet.ColWidth(5) = 1200
MSHFlexGridChitiet.Text = rs1![ngay ra]
MSHFlexGridChitiet.Col = 6
MSHFlexGridChitiet.ColWidth(6) = 900
MSHFlexGridChitiet.Text = rs1![gio ra]
MSHFlexGridChitiet.Col = 7
MSHFlexGridChitiet.ColWidth(7) = 1500
MSHFlexGridChitiet.Text = rs1.Fields(7)
MSHFlexGridChitiet.Col = 8
MSHFlexGridChitiet.ColWidth(8) = 1800
MSHFlexGridChitiet.Text = rs1.Fields(8)
i = i + 1
rs1.MoveNext
Wend
Set rs1 = LayDL(str1)
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 103
End Sub
Code Form Phiu thu :
Dim So As Integer
Dim tam As Integer
Private Sub CmdIn_Click()
MsgBox "Da thu tien!"
End Sub
Private Sub Form_Load()
lbNgay.Caption = Date
So = 0
If (So < tam) Then
LbSo.Caption = tam + 1
Else
So = 1
LbSo.Caption = So
End If
LbSoxe.Caption = soxe1
LbLoaixe.Caption = loaixe1
LbNgaygui.Caption = ngayvao1
LbGiogui.Caption = giovao1
Lbthoigian.Caption = thoigian1
LbThanhtien.Caption = thanhtien1
tam = So
End Sub

Code Form Cp nht :
Dim sqlPhanloaixe As String
Dim rsPhanloaixe As New ADODB.Recordset
Dim sqlCapnhatPhanloai As String
Dim rsCapnhatPhanloai As New ADODB.Recordset
Dim sqlXoa As String
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 104
Dim rsXoa As New ADODB.Recordset
Dim sql As String
Dim rsxe As New ADODB.Recordset
Dim kiemtra As Integer
Private Sub cmdCapnhat_Click()
kiemtra = 2
cmdLuu.Visible = True
cmdThem.Visible = False
cmdCapnhat.Enabled = False
cmdXoa.Enabled = False
txtLoaixe.Enabled = False
txtChitietxe.Locked = False
txtGiatien.Locked = False
End Sub
Private Sub cmdLuu_Click()
Dim str As String
Dim rs1 As New ADODB.Recordset
cmdThem.Visible = True
cmdLuu.Visible = False
cmdCapnhat.Enabled = True
cmdXoa.Enabled = True
If kiemtra = 1 Then
rsPhanloaixe.AddNew
GhiPhanLoaiXe rsPhanloaixe
LuuDL rsPhanloaix
Else
If kiemtra = 2 Then
sqlCapnhatPhanloai = "UPDATE PHANLOAIXE SET [CHI TIET XE] = '"
& txtChitietxe.Text & _
"' WHERE LOAI = '" & txtLoaixe.Text & "'"
Set rsCapnhatPhanloai = LayDL(sqlCapnhatPhanloai)
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 105
sqlCapnhatPhanloai = "UPDATE PHANLOAIXE SET [GIA TIEN
(VND/GIO)] = '" & txtGiatien.Text & _
"' WHERE LOAI = '" & txtLoaixe.Text & "'"
Set rsCapnhatPhanloai = LayDL(sqlCapnhatPhanloai)
Else
sqlXoa = "select * from phanloaixe"
Set rsXoa = LayDL(sqlXoa)
If MsgBox("Ban co chac la xoa khong ?", vbYesNo) = vbYes Then
rsXoa.Find " loai = '" & txtLoaixe.Text & "'", , , adBookmarkFirst
rsXoa.Delete
LuuDL rsXoa
End If
End If
End If
Call HIENTHIPHANLOAIXE
End Sub
Private Sub cmdThem_Click()
kiemtra = 1
cmdThem.Visible = False
cmdLuu.Visible = True
cmdCapnhat.Enabled = False
cmdXoa.Enabled = False
txtLoaixe.Enabled = True
txtLoaixe.SetFocus
txtLoaixe.Text = ""
txtChitietxe.Text = ""
txtGiatien.Text = ""
txtLoaixe.Locked = False
txtChitietxe.Locked = False
txtGiatien.Locked = False
End Sub
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 106
Private Sub cmdTrove_Click()
Unload Me
End Sub

Private Sub cmdXoa_Click()
kiemtra = 3
cmdThem.Enabled = True
cmdThem.Visible = False
cmdLuu.Visible = True
cmdLuu.Enabled = True
cmdCapnhat.Enabled = False
cmdXoa.Enabled = False
txtLoaixe.Locked = True
txtChitietxe.Locked = True
txtGiatien.Locked = True
End Sub

Private Sub Form_Load()
cmdLuu.Visible = False
sqlPhanloaixe = "SELECT * FROM PHANLOAIXE"
Set rsPhanloaixe = LayDL(sqlPhanloaixe)
rsPhanloaixe.Sort = "LOAI ASC"
txtLoaixe.Locked = True
txtChitietxe.Locked = True
txtGiatien.Locked = True
txtLoaixe.Text = rsPhanloaixe.Fields(0)
txtChitietxe.Text = rsPhanloaixe.Fields(1)
txtGiatien.Text = rsPhanloaixe.Fields(2)
If rsPhanloaixe.RecordCount > 0 Then
rsPhanloaixe.MoveFirst
Call HIENTHIPHANLOAIXE
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 107
End If
End Sub
Private Sub HIENTHIPHANLOAIXE()
Dim i As Integer
Dim soluong As Integer
sql = "select * from phanloaixe "
Set rsxe = LayDL(sql)
soluong = 0
Dim Mang(3) As String
Mang(0) = "LOAI XE"
Mang(1) = "CHI TIET XE"
Mang(2) = "GIA TIEN (VN/GI)"
While Not rsxe.EOF
soluong = soluong + 1
rsxe.MoveNext
Wend
MSHFGridPhanLoai.Rows = soluong + 1
MSHFGridPhanLoai.Cols = 3
rsxe.MoveFirst
For i = 0 To 2
MSHFGridPhanLoai.Row = 0
MSHFGridPhanLoai.Col = i
MSHFGridPhanLoai.Text = Mang(i)
Next i
i = 1
rsxe.Sort = " loai asc"
While Not rsxe.EOF
MSHFGridPhanLoai.Row = i
MSHFGridPhanLoai.Col = 0
MSHFGridPhanLoai.ColWidth(0) = 970
MSHFGridPhanLoai.Text = rsxe.Fields(0)
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 108
MSHFGridPhanLoai.Col = 1
MSHFGridPhanLoai.ColWidth(1) = 1300
MSHFGridPhanLoai.Text = rsxe![chi tiet xe]
MSHFGridPhanLoai.Col = 2
MSHFGridPhanLoai.ColWidth(2) = 2100
MSHFGridPhanLoai.Text = rsxe![gia tien (vnd/gio)]
i = i + 1
rsxe.MoveNext
Wend
Set rsxe = LayDL(sql)
End Sub

Private Sub Form_Unload(Cancel As Integer)
Set rsxe = Nothing
Set rsPhanloaixe = Nothing
Set rsCapnhatPhanloai = Nothing
Set rsXoa = Nothing
End Sub
Private Sub GhiPhanLoaiXe(rs As ADODB.Recordset)
rsPhanloaixe.Fields(0) = txtLoaixe.Text
rsPhanloaixe.Fields(1) = txtChitietxe.Text
rsPhanloaixe.Fields(2) = txtGiatien.Text
End Sub
Private Sub MSHFGridPhanLoai_Click()
txtLoaixe.Text = MSHFGridPhanLoai.MouseRow
sqlPhanloaixe = "select * from phanloaixe where loai = '" &
MSHFGridPhanLoai.MouseRow & "'"
Set rsPhanloaixe = LayDL(sqlPhanloaixe)
txtChitietxe.Text = rsPhanloaixe.Fields(1)
txtGiatien.Text = rsPhanloaixe.Fields(2)
End Sub
Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 109
V. LP TRNH CHO PLC DNG LADDER






























Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 110































Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 111































Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 112































Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 113































Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 114































Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 115































Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 116































Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 117































Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 118































Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 119































Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 120































Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 121































Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 122































Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 123































Phn V: Lp trnh ng dng Lun vn tt nghip
Thit K H Thng Qun L T ng Bi Gi Xe Trang 124

You might also like