Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Jak wydobyć marker opisany jako ranged

wurba 02 Sep 2011 13:00 1955 6
SterControl
  • #1
    wurba
    Level 12  
    Witam.
    W zasadzie nieczęsto pytam, ale utknąłem. Rozpoczynam naukę w step7, wiec proszę o wyrozumiałość.
    W tej chwili obiektem nauki jest owijarka do palet z zestawem rolek przesuwających palety w kolejne miejsca.
    Oczywiście maszyna pracuje, ale z maszyną dostałem kilka programów,
    fabryczny i kilka zmodyfikowanych, wiec w razie co mam na czym się oprzeć.
    W poprzednim zakładzie rolek było 6, u nas jest 5. Z usunięciem jednej rolki nie miałem większych problemów ale w programie jest kilka niedokładności.
    Na ostatniej rolce paleta czeka na zdjęcie, na przedostatniej czeka na zjazd
    i wszystko jest ok do momentu gdy ktoś nie naciśnie przycisku reset (przyczynę częstego resetowania też usunąłem).
    Wtedy kasowanych jest kilka ustawień skutkiem czego po załączeniu automatu palety wjeżdżają na siebie. Błąd jest fabryczny, bo w poprzednim
    zakładzie pomiędzy rolką 5 a 6 była brama roletowa notorycznie atakowana przez palety.

    Pod przyciskiem reset jest w programie kilka wyjść (R) oznaczonych markerami,
    lecz pod jednym M0.0 sa ukryte 32 markery, od M0.1 do M21.5.
    Widzę je w tabeli cross reference opisane jako ranged. Jak stamtąd wydobyć interesujący mnie marker M11.1.
    Planuję uzależnić jego kasowanie od obecności palety na przedostatniej rolce.
  • SterControl
  • #2
    wurba
    Level 12  
    Spytam inaczej.
    Mam do ustawienia (S) lub skasowania (R) 50 pozycji. Zamiast wpisywać 50 wyjść typu reset mogę ograniczyć ilość wyjść do minimum, a z reszty utworzyć grupę. I to jest to czego chcę się nauczyć.
    Jak określić bit startowy grupy i jak przypisać do tej grupy interesujące mnie bity.?
  • SterControl
  • #3
    315-2DP
    Level 17  
    wurba wrote:
    Rozpoczynam naukę w step7


    Czy czasem nie chodzi Ci o Step7 Micro/WIN do S7-200?

    W takim razie używając komend Set lub Reset wpisujesz adres bazowy i ile bitów ma być wysterowanych jak na obrazku.

    Jak wydobyć marker opisany jako ranged

    Jeśli będzie aktywne wejście I0.0 to zostanie ustawiony obszar 20 bitów od M0.0 i 20 bitów od adresu M30.0.

    Jeśli z kolei będzie aktywne wejście I0.1 to zostanie skasowany obszar 1 bitów od M1.0 i 10 bitów od adresu M30.0.
  • #5
    wurba
    Level 12  
    Więc aby osiągnąć to o czym pisałem w pierwszym poście mam zrobić tak:
    M11.1 jest jak dobrze policzyłem 18 bitem, więc pod M0.0 wpisuję 17, a pod kolejnym markerem M11.2 wpisuję 15. Wtedy mam kasowanych 17 bitów od M0.0 do M11.0, M11.1 już nie jest w tej grupie więc mogę go wpisać jako osobny (R), o od M11.2 kolejnych 15 bitów są kasowane na takich samych zasadach co grupa pierwsza.
  • #6
    pietkad
    Level 12  
    chyba 11 bajtow.... M0.0 do M11.0

    M0.1..
    M0.2
    M0.7
    M1.0
    M1.7
    itp...
  • #7
    wurba
    Level 12  
    pietkad wrote:
    chyba 11 bajtow.... M0.0 do M11.0


    Jednak nie. Matematycznie należałoby liczyć wszystkie bity w bajtach i zachować ich ciąg. Wtedy M11.1 byłby 89 bajtem. W tym przykładzie szukany przezemnie bajt jest 42 bajtem, bo autor programu w pierwszych trzech bajtach zachował kolejność i ilość. Ale po M3.7 jest 10.0 - 10.7, 11.0, 11.1, 11.2 następnie 20.0 - 20.7, 21.0 - 21.6 i 30.0.
    Zastanawia mnie jednak czy właściwie nie można tego prościej zrobić, bo takie poszukiwanie określonego bitu jest jakieś nienormalne.
    Czy jeśli nic nie zmieniając (tak jak opisałem to wcześniej), mógłbym ten konkretny bit w tej samej gałęzi dać na SET? Zakładam, że SET ma priorytet nad RESET, więc jeśli go ustawię to nie będzie kasowany. Czy dobrze kombinuję?