CÁC HÀM TH VI NƯ
Th vi n chu n c a ph n m m Step 7 g m các hàm h th ng SFC, kh i hàm hư
th ng SFB, các hàm FC kh i hàm FB, giúp cho vi c l p trình thu n ti n b i các hàm
vi t s n. Ngoài ra còn có các hàm t ch c OB ho t đ ng khi kh i đ ng PLC, làm vi c theoế
chu kỳ. Chúng ta th b sung các hàm khác vào th vi n c a Step 7 m t cách d dàng. ư
Các hàm th vi n đ c thêm vào m t đi m trong kh i ch ng trình b ng cách vào menuư ượ ươ
Insert- Program Elements Libraries, sau đó l n l t vào các m c con trong đó, ch n hàm ượ
phù h p r i b m chu t ph i ch n paste
Ph n sau gi i thi u chi ti t m t s hàm. ế
1/ Các hàm trong th vi n TI-S7 Converting blocksư
1.1/ Các hàm x lý bit
a/ Đ t m t lo t bit: FC83
Khi I0.0 = 1, 10 bit t M0.0 đ n M1.1 lên 1. N u hàm th c hi n đúng ENO và Q4.0 ế ế
b ng 1. Đ a ch bit đ u tiên S_bit dùng con tr P#, tr đ n vùng nh bit (I, Q, M, D), s bit ế
N là h ng s 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/ Đ t m t lo t byte l p t c : FC101
Khi I0.0 = 1, hai byte t PB2 s lên 1 (P#P2.0 tr đ n bit P2.0), s N là s byte c n ế
đ t lên 1 nhân 8.
c/ Xoá m t lo t bit: FC82
d) Xoá m t lo t bit l p t c : FC100
1.2/ Hàm di chuy n kh i gián ti p : FC81 ế
Di chuy n m t kh i d li u byte, word hay word kép t kh i ngu n có đ a ch đ u
gián ti p S_DATA chi u dài LENGTH đ n kh i đích có đ a ch đ u gián ti p D_DATA,ế ế ế
ba thông s này dùng bi n con tr P#. Thông s E_TYPE cho bi t lo i d li u theo qui ế ế
đ nh sau: B#16#02 = BYTE, B#16#04 = WORD, B#16#05 = INT, B#16#06 = DWORD, B#16#07 = DINT, B#16#08 =
REAL
Tr c l nh:ướ
S_DATA DBX0.0 = P#DB1.DBX50.0 // Đ a ch đ u kh i ngu n là DBW50
DBW50 = W#16#2424
DBW52 = W#16#2525
LENGTH DBW10 = W#16#0002 // Kh i d li u hai word
D_DATA DBX20.0= P#DB2.DBX10.0 // D9 a ch đ u kh i đích là DBW10
DBW10 = W#16#0000
DBW12 = W#16#0000
Sau l nh :
D_DATA DBW10 = W#16#2424
DBW12 = W#16#2525
1.3/ Hàm chuy n đ i
a/ Gi i mã 7 đo n: FC93
Đ i m t word hexa 4 digit IN (I,M,D,P, h ng s ) ra 4 byte mã 7 đo n c a t ng
digit, xu t ra đ a ch OUT t kép (Q, M, D, L, P)
A I 0.0
JNB _001
CALL "SEG"
IN :=W#16#1234
OUT:=MD0
_001: NOP 0
b/ Đ i ASCII sang HEX
Đ i chu i ASCII dài N ký t (I, Q, M, L, P) g m các ký t A..F, s 0..9 , m i ký t
chi m 2 byte đ a ch con tr IN ( I, Q, M,D,L) ra s Hex t ng ng, m t byte ng v i haiế ươ
ký t đ a ch con tr OUT (Q, M, D, L) . RET_VAL là word tr v k t qu th c hi n (I, ế
Q, M, D, L, P) W#16#0000 n u đúng.ế
c/ Đ i HEX sang ASCII: FC95
d/ Hàm đ i t m SCALE : FC105
Chuy n đ i s nguyên IN (I, Q, M, D, L, P, H ng s ) ra s th c OUT (I, Q, M, D,
L, P) trong kho ng LO_LIM và HI_LIM theo công th c
OUT = [ ((FLOAT (IN) –K1)/(K2–K1)) * (HI_LIM – LO_LIM) ] + LO_LIM
HI_LIM, LO_LIM là các giá tr th c (I, Q, M, D, L, P, H ng s )
K1, K2 tuỳ thu c tr ng thái ngõ đi u khi n BIPOLAR
BIPOLAR=1: s IN là l ng c c, K1 = –27648.0, K2 = +27648.0 ưỡ
BIPOLAR=0: s IN là đ n c c, K1 = 0.0, K2 = +27648.0 ơ
e/ Hàm đ i t m ng c UNSCALE : FC106 ượ
Chuy n đ i s th c IN gi a hai giá tr LO_LIM HI_LIM thành s nguyên đ n ơ
c c hay l ng c c OUT theo công th c ưỡ
OUT = [ ((IN–LO_LIM)/(HI_LIM–LO_LIM)) * (K2–K1) ] + K1
f/ B chính s m- tr pha: FB90
Th c hi n phép hi u ch nh s m tr pha trên tín hi u vào IN, đ l i GAIN, th i gian
s m pha LG_TIME, th i gian tr pha LG_TIME, chu kỳ l y m u SAMPLE_T và cho ra tín
hi u OUT
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: