SZARP PLC HOWTO | ||
---|---|---|
Poprzedni | Rozdział 18. Przenoszenie program�w z platformy 2313 (2305) na 2320 i nowsze oraz z 2309 na 2315/2316 (mini HOWTO) | Następny |
W platformie 2321 dost�pne s� dwie metody liczenia cz�stotliwo�ci impuls�w na wej�ciach logicznych:
algorytm GVAL_PRECISE - algorytm przeniesiony z platformy 2313 - jest dok�adny, posiada wysok� rozdzielczo�� pomiaru, szybko nad��a za zmianami cz�stotliwo�ci impuls�w; algorytm ten jednak nie nadaje si� do mierzenia cz�stotliwo�ci impuls�w w sytuacji, gdy cz�stotliwo�� ta ulega periodycznym, skokowym zmianom (tak jak np. przy pracy dwustanowej rusztu)
algorytm obs�uguje wej�cia logiczne nr 3, 4, 5 i 6
algorytm potrzebuje co najmniej dw�ch pe�nych impuls�w w oknie czasowym do poprawnego dzia�ania
algorytm GVAL_INERT - poprawiony algorytm z platformy 2305 - dzia�a do�� bezw�adnie, posiada nisk� rozdzielczo�� chwilowego wyniku pomiaru (nie dotyczy to jednak warto�ci �redniej pomiaru przy odpowiednio d�ugim okresie u�redniania), opr�cz tego zastosowany spos�b u�redniania powoduje, to �e algorytm nie przek�amuje warto�ci �redniej w d�u�szym okresie przy zliczaniu impuls�w o okresowo zmiennej cz�stotliwo�ci - a zatem (w przeciwie�stwie do GVAL_PRECISE) dobrze nadaje si� m. in. do pomiaru szybko�ci posuwu rusztu w pracy dwustanowej
algorytm obs�uguje tylko wej�cia logiczne nr 5 i 6 (nale�y upewni� si�, �e w trakcie korzystania z tego trybu nie wykorzystujemy innych wej�� do pomiaru cz�stotliwo�ci impuls�w)
algorytm potrzebuje co najmniej dw�ch pe�nych impuls�w w oknie czasowym do poprawnego dzia�ania
Zmiany aktywnego algorytmu mo�na dokona� przy pomocy funkcji SetGValMode(unsigned char mode), za� aktualny algorytm mo�na odczyta� ze zmiennej GVal_Mode. G��wnym zastosowaniem algorytmu GVAL_INERT b�dzie pomiar szybko�ci rusztu w pracy dwustanowej, poni�ej przyk�adowe wykorzystanie tego trybu pracy w programie technologicznym:
Index: koczwyk.c =================================================================== --- koczwyk.c (.../2313/1001/koczwyk.c) (revision 3319) +++ koczwyk.c (.../2321/1001/koczwyk.c) (working copy) @@ -2346,8 +2345,10 @@ void Wykonaj () if (!RUSZT2STAN){ imp_r_min = 0; imp_r_max = 0; wyp = 0; timer_wyp = 0; L_RUSZT_HI = NO ; + if(GVal_mode != GVAL_PRECISE) + SetGValMode(GVAL_PRECISE); } @@ -2489,21 +2490,24 @@ void Wykonaj () } else if(RUSZT2STAN) { + if(GVal_mode != GVAL_INERT) + SetGValMode(GVAL_INERT); timer_wyp = (timer_wyp + 1) % TIMER_2STAN_CYCLE ; imp_r_min = tx_imp_r_min ; imp_r_max = tx_imp_r_max ; wyp = tx_wyp ; if ((timer_wyp * 2)> tx_wyp){ imp_r = tx_imp_r_min; L_RUSZT_HI = NO ; }else{ imp_r = tx_imp_r_max; L_RUSZT_HI = YES ; } if (tx_wyp == 0){ imp_r = tx_imp_r_min; L_RUSZT_HI = NO ; } if (tx_wyp == 2 * TIMER_2STAN_CYCLE){ imp_r = tx_imp_r_max; L_RUSZT_HI = YES ; } }
Poprzedni | Spis treści | Następny |
Dodatkowe uwagi nt. platformy 2320 | Początek rozdziału | Przenoszenie program�w z platformy 2321 na 3000 i nowsze (mini HOWTO) |