Xem mẫu

  1. CAÙC HAØM THÖ VIEÄN TRONG S7-300 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 Phaàn sau giôùi thieäu chi tieát moät soá haøm. 1/ Caùc haøm trong thö vieän TI-S7 Converting blocks 1.1/ Caùc haøm xöû lyù bit a/ Ñaët moät loaït bit: FC83 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
  2. 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 d) Xoaù moät loaït bit laäp töùc : FC100 1.2/ Haøm di chuyeån khoái giaùn tieáp : FC81 Di chuyeån moät khoái döõ lieäu byte, word hay word keùp töø khoái nguoàn coù ñòa chæ ñaàu giaùn tieáp S_DATA chieàu daøi LENGTH ñeán khoái ñích coù ñòa chæ ñaàu giaùn tieáp D_DATA, ba thoâng soá naøy duøng bieán con troû P#. Thoâng soá E_TYPE cho bieát loaïi döõ lieä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 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
  3. 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. c/ Ñoåi HEX sang ASCII: FC95
  4. d/ Haøm ñoåi taàm SCALE : FC105 Chuyeån ñoåi soá nguyeân IN (I, Q, M, D, L, P, Haèng soá) ra soá thöïc ôû OUT (I, Q, M, D, L, P) trong khoaûng LO_LIM vaø HI_LIM theo coâng thöùc OUT = [ ((FLOAT (IN) –K1)/(K2–K1)) * (HI_LIM – LO_LIM) ] + LO_LIM HI_LIM, LO_LIM laø caùc giaù trò thöïc (I, Q, M, D, L, P, Haèng soá) K1, K2 tuyø thuoäc traïng thaùi ngoõ ñieàu khieån BIPOLAR BIPOLAR=1: soá IN laø löôõng cöïc, K1 = –27648.0, K2 = +27648.0 BIPOLAR=0: soá IN laø ñôn cöïc, K1 = 0.0, K2 = +27648.0
  5. e/ Haøm ñoåi taàm ngöôïc UNSCALE : FC106 Chuyeån ñoåi soá thöïc IN giöõa hai giaù trò LO_LIM vaø HI_LIM thaønh soá nguyeân ñôn cöïc hay löôõng cöïc OUT theo coâng thöùc OUT = [ ((IN–LO_LIM)/(HI_LIM–LO_LIM)) * (K2–K1) ] + K1 f/ Boå chính sôùm- treã pha: FB90 Thöïc hieän pheùp hieäu chænh sôùm treã pha treân tín hieäu vaøo IN, ñoä lôïi GAIN, thôøi gian sôùm pha LG_TIME, thôøi gian treã pha LG_TIME, chu kyø laáy maãu SAMPLE_T vaø cho ra tín hieäu OUT Instance DB80 LD_TIME DBD12 = 2.0 LG_TIME DBD16 = 2.0 GAIN DBD20 = 1.0 PREV_IN DBD24 = 6.0
  6. 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
  7. 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. 2.2/Ñoåi soá ra chuoãi vaø ngöôïc laïi FC5 DI_STRNG Ñoåi DINT ra STRING FC16 I_STRNG Ñoåi INT ra STRING FC30 R_STRNG Ñoåi REAL ra STRING, FC37 STRNG_DI Ñoåi STRING ra DINT, chuoãi daøi toái ña 11 soá FC38 STRNG_I Ñoåi STRING ra INT, chuoãi daøi toái ña 6 soá FC39 STRNG_R Ñoåi STRING ra REAL, chuoãi coù daïng ±v.nnnnnnnE±xx 2.3/ So saùnh Chuoãi FC10 EQ_STRNG FC13 GE_STRNG FC15 GT_STRNG FC19 LE_STRNG FC24 LT_STRNG FC29 NE_STRNG 2.4/ Leänh xöû lyù chuoãi FC2 CONCAT Keát hôïp hai chuoãi FC4 DELETE Boû moät chuoãi FC11 FIND Tìm moät chuoãi FC17 INSERT Xen moät chuoãi FC20 LEFT Taùch chuoãi beân traùi FC21 LEN Tính chieàu daøi bieán STRING FC26 MID Taùch ñoaïn giöõa FC31 REPLACE Thay moät chuoãi FC32 RIGHT Taùch chuoãi beân phaûi 2.5/ Leänh soá thöïc FC22 LIMIT Taïo haøm giôùi haïn bieán vaøo giöõa hai trò MN vaø MX FC25 MAX Choïn giaù trò lôùn nhaát giöõa ba bieán vaøo FC27 MIN Choïn giaù trò nhoû nhaát giöõa ba bieán vaøo FC36 SEL Choïn moät trong hai ngoõ vaøo tuyø bieán ñieàu khieån 3/ Haøm heä thoáng SFC xöû lyù khoái
nguon tai.lieu . vn