Witam
Mam sterownik S7-314c-2dp, TIA Portal v12 oraz enkoder inkrementalny. Enkoder jest podpięty pod wejścia DI124.0 (sygnał A) i DI124.1 (sygnał B) lub odwrotnie. Kolejne dwa przewody to masa i 24VDC, które są połączone do tej samej masy i zasilania co sterownik.
W sterowniku mam bloczek FB w którym wykorzystuję bloczek systemowy COUNT_300C do zliczania impulsów. Bramka jest otwierana i zamykana sygnałem, którego stan się zmienia co 100ms (wykorzystuję OB35).
I teraz:
Jeśli GATE= ON to ustawiam JOB_ID=0 i zliczam impulsy.
Jeśli GATE=OFF to ustawiam JOB_ID=1 i zapisuję COUNTVAL (DINT) do zmiennej w db.
W HW dla CH0 mam ustawione:
Interrupt selection: process (domyślna wartość)
Operating mode: count continously
Gate function: abort counting (zawsze zlicza od zera)
Comparison,hysteresis = 0 (nie wykorzystuję)
Input: rotary single encoder
hardware gate = off
count direction = on (żeby zliczał mi w dobrym kierunku, nie ważne czy zamienię sygnały A i B na wejściach zawsze liczy w jedną stronę ustawioną w tym miejscu)
output no comparison
HWGate 60kHz, Latch 10kHz, sygnały z enkodera nie przekraczają tych wymagań
HW Interrupt CH0 rising i falling edge OFF
Niestety nigdzie, ani na forach, ani w dokumentacjach nie spotkałem się z podobnym przypadkiem.
Kilka pytań:
1. Dlaczego sterownik nie zlicza impulsów w obu kierunkach mimo iż na wejściach ma dwa sygnały w tym jeden sygnał przesunięty w fazie?
2. Czy widzicie możliwość zoptymalizowania mojego zliczania impulsów?
3. Niezależnie czy mam na wejścia podpięty jeden lub dwa przewody zawsze się świecą dwie diody sygnałowe na sterowniku (DI124.0 i DI124.1), widoczne są 3 stany: obie diody zgaszone, obie "w połowie" zapalone i obie zapalone. Tak powinno być ? Nie powinna się jedna dioda zapalać zgodnie z przesuniętą fazą ?
4. Powinienem uruchomić w HW CH1 ? Próbowałem tego jedak bez pozytywnego skutku.
Czekam na Wasze sugestie, z góry dziękuję !
Mam sterownik S7-314c-2dp, TIA Portal v12 oraz enkoder inkrementalny. Enkoder jest podpięty pod wejścia DI124.0 (sygnał A) i DI124.1 (sygnał B) lub odwrotnie. Kolejne dwa przewody to masa i 24VDC, które są połączone do tej samej masy i zasilania co sterownik.
W sterowniku mam bloczek FB w którym wykorzystuję bloczek systemowy COUNT_300C do zliczania impulsów. Bramka jest otwierana i zamykana sygnałem, którego stan się zmienia co 100ms (wykorzystuję OB35).
I teraz:
Jeśli GATE= ON to ustawiam JOB_ID=0 i zliczam impulsy.
Jeśli GATE=OFF to ustawiam JOB_ID=1 i zapisuję COUNTVAL (DINT) do zmiennej w db.
W HW dla CH0 mam ustawione:
Interrupt selection: process (domyślna wartość)
Operating mode: count continously
Gate function: abort counting (zawsze zlicza od zera)
Comparison,hysteresis = 0 (nie wykorzystuję)
Input: rotary single encoder
hardware gate = off
count direction = on (żeby zliczał mi w dobrym kierunku, nie ważne czy zamienię sygnały A i B na wejściach zawsze liczy w jedną stronę ustawioną w tym miejscu)
output no comparison
HWGate 60kHz, Latch 10kHz, sygnały z enkodera nie przekraczają tych wymagań
HW Interrupt CH0 rising i falling edge OFF
Niestety nigdzie, ani na forach, ani w dokumentacjach nie spotkałem się z podobnym przypadkiem.
Kilka pytań:
1. Dlaczego sterownik nie zlicza impulsów w obu kierunkach mimo iż na wejściach ma dwa sygnały w tym jeden sygnał przesunięty w fazie?
2. Czy widzicie możliwość zoptymalizowania mojego zliczania impulsów?
3. Niezależnie czy mam na wejścia podpięty jeden lub dwa przewody zawsze się świecą dwie diody sygnałowe na sterowniku (DI124.0 i DI124.1), widoczne są 3 stany: obie diody zgaszone, obie "w połowie" zapalone i obie zapalone. Tak powinno być ? Nie powinna się jedna dioda zapalać zgodnie z przesuniętą fazą ?
4. Powinienem uruchomić w HW CH1 ? Próbowałem tego jedak bez pozytywnego skutku.
Czekam na Wasze sugestie, z góry dziękuję !