Professional Documents
Culture Documents
Thö vieän chuaån cuûa phaàên meàm Step 7 goàm caùc haøm heä thoáng SFC, khoái haøm heä
thoáng SFB, caùc haøm FC vaø khoái haøm FB, giuùp cho vieäc laäp trình thuaän tieän bôûi caùc haøm
vieát saün. Ngoaøi ra coøn coù caùc haøm toå chöùc OB hoaït ñoäng khi khôûi ñoäng PLC, laøm vieäc theo
chu kyø. Chuùng ta coù theå boå sung caùc haøm khaùc vaøo thö vieän cuûa Step 7 moät caùch deã daøng.
Caùc haøm thö vieän ñöôïc theâm vaøo moät ñieåm trong khoái chöông trình baèng caùch vaøo menu
Insert- Program Elements – Libraries, sau ñoù laàn löôït vaøo caùc muïc con trong ñoù, choïn haøm
phuø hôïp roài baám chuoät phaûi choïn paste
Khi I0.0 = 1, 10 bit töø M0.0 ñeán M1.1 leân 1. Neáu haøm thöïc hieän ñuùng ENO vaø Q4.0
baèng 1. Ñòa chæ bit ñaàu tieân S_bit duøng con troû P#, troû ñeán vuøng nhôù bit (I, Q, M, D), soá bit
N laø haèng soá hay I, Q, M, D, L, P
A I0.0
JNB _001
CALL "SET"
S_BIT:= P#M 0.0
N := 10
_001: A BR
= Q4.0
b/ Ñaët moät loaït byte laäp töùc : FC101
Khi I0.0 = 1, hai byte töø PB2 seõ leân 1 (P#P2.0 troû ñeán bit P2.0), soá N laø soá byte caàn
ñaët leân 1 nhaân 8.
c/ Xoaù moät loaït bit: FC82
Tröôùc leänh:
S_DATA DBX0.0 = P#DB1.DBX50.0 // Ñòa chæ ñaàu khoái nguoàn laø DBW50
DBW50 = W#16#2424
DBW52 = W#16#2525
LENGTH DBW10 = W#16#0002 // Khoái döõ lieäu hai word
D_DATA DBX20.0= P#DB2.DBX10.0 // D9òa chæ ñaàu khoái ñích laø DBW10
DBW10 = W#16#0000
DBW12 = W#16#0000
Sau leänh :
D_DATA DBW10 = W#16#2424
DBW12 = W#16#2525
1.3/ Haøm chuyeån ñoåi
a/ Giaûi maõ 7 ñoaïn: FC93
Ñoåi moät word hexa 4 digit ôû IN (I,M,D,P, haèng soá) ra 4 byte maõ 7 ñoaïn cuûa töøng
digit, xuaát ra ñòa chæ OUT töø keùp (Q, M, D, L, P)
A I 0.0
JNB _001
CALL "SEG"
IN :=W#16#1234
OUT:=MD0
_001: NOP 0
b/ Ñoåi ASCII sang HEX
Ñoåi chuoãi ASCII daøi N kyù töï (I, Q, M, L, P) goàm caùc kyù töï A..F, soá 0..9 , moãi kyù töï
chieám 2 byte ôû ñòa chæ con troû IN (û I, Q, M,D,L) ra soá Hex töông öùng, moät byte öùng vôùi hai
kyù töï ôû ñòa chæ con troû OUT (Q, M, D, L) . RET_VAL laø word traû veà keát quaû thöïc hieän (I, Q,
M, D, L, P) W#16#0000 neáu ñuùng.
Instance DB80
LD_TIME DBD12 = 2.0
LG_TIME DBD16 = 2.0
GAIN DBD20 = 1.0
PREV_IN DBD24 = 6.0
PREV_OUT DBD28 = 6.0
Before execution:
IN MD10 = 2.0
OUT MD20 = 0.0
After execution:
Instance DB80
PREV_IN DBD24 = 2.0
PREV_OUT DBD28 = 2.0
OUT MD20 = 2.0
2/ CAÙC HAØM IEC (International Electrotechnical Commission)
2.1/ Haøm thôøi gian
FC1 AD_DT_TM Coäng bieán DT vaø TIME
FC3 D_TOD_DT Keát hôïp DATE vaø TIME_OF_DAY thaønh DT
FC6 DT_DATE Ruùt ra DATE töø DT
FC7 DT_DAY Ruùt ra ngaøy trong tuaàn töø DT
FC8 DT_TOD Ruùt ra TIME_OF_DAY töø DT
FC9 EQ_DT DT So saùnh baèng hai DT
FC12 GE_DT DT So saùnh lôùn hôn hay baèng hai DT
FC14 GT_DT DT So saùnh lôùn hôn hai DT
FC18 LE_DT DT So saùnh nhoû hôn hay baèng hai DT
FC23 LT_DT DT So saùnh nhoû hôn hai DT
FC28 NE_DT DT So saùnh khoâng baèng hai DT
FC33 S5TI_TIM Ñoåi S5TIME ra TIME
FC34 SB_DT_DT Tröø hai bieán DT
FC35 SB_DT_TM Tröø DT vaø TIME
FC40 TIM_S5TI Ñoåi TIME ra S5TIME
a/ Haøm FC3:
Keát hôïp ngaøy thaùng naêm (DATE) bieán IN1 (I, Q, M, D, Haèng) vôùi giôø trong ngaøy
(TIME OF DAY) bieán IN2 (I, Q, M, D, L, Haèng) thaønh bieán RET_VAL loaïi DT (bieán kyù
hieäu). Bieán IN1 trong khoaûng DATE# 1990-01-01 vaø DATE#2089-12-31.
Ví duï:
Baûng khai baùo bieán trong local block cuûa chöông trình goïi
Name Type Declaration Comment
IN_TIME TIME_OF_DAY TEMP Start time
IN_DATE DATE TEMP Start date
OUT_TIME_DATE DATE_AND_TIME TEMP Start date/time converted
Network 2
L D#2006–1–27
T #IN_DATE
L TOD#20:0:0.0
T #IN_TIME
Network 3:
CALL FC 3
IN1 := #IN_DATE
IN2 := #IN_TIME
RET_VAL := #OUT_TIME_DATE
b/ Haøm FC1
Coäng giôø IN1 daïng DT (bieán kyù hieäu ) vôùi khoaûng thôøi gian IN2 daïng TIME,
RET_VAL laø bieán kyù hieäu daïng DT.