logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zaforsować wyjście w Step5 Siemens

Bruce 24 Wrz 2004 00:33 2719 8
  • #1 871390
    Bruce
    Poziom 11  
    CZeśc i czołem panowie koledzy i kolezanki jezeli takowe się trafiają.

    Mam prośbę.

    Czy ktoś moze opisac krok po kroku co należy zrobic aby wystawić wyjście ze stepa.

    Naczytałem sie juz kilkudziesieciu postów na innych forach i lipa.
    Słyszałem ze nalezy dokonac zmian w bloku OB1 ale jak i po co.

    Co oznacza funkcja FORCE VARIABLE

    Panowie kto to juz robił niechaj oświeci jeszcze nie oświeconego.

    Wysokogatunkowe 0.75L zobowiazuje sie przesłać DHL-em pod wskazany adres.

    Gorąco pozdrawiam............:):):)
  • #2 871756
    s95
    Poziom 17  
    Witam
    Funkcja Force variables służy do ustawiana stanów zmiennych:
    Flag, wartości słów w blokach danych DB, aby zmieniać stany muszą być one wyświetlone w formacie co najmniej bitowym.
    A także do obserwacji wszystkich wartości zmiennych programowych i statusy wejść i wyjść.
    Funkcja Force outputs służy do wymuszania stanu wyjść, ale wtedy PLC musi być w stanie STOPU.

    Jeśli chcesz to mam pdf'a niestety ale po angielsku, opisującego posługiwaniem się Stepem5, bo inaczej to należałoby zrobić opracowanie na temat posługiwania się Stepem5.

    Ogólnie i najprościej, aby ustawić wyjście, jest napisać kawałek programu w OB1.
    1. W oknie konfiguracji ->F4 w polu Repesentation wybierasz opcje STL i ją akceptujesz. Opuszczasz konfiguracje.
    2. Do edycji programu w PLC, przechodzisz przez Shift+F1,
    naciśnięcie tylko F1, powoduje edycje bloku na programatorze, ale potem nalezy zrobić transfer programu do PLC.
    Po wywołaniu okna -> Shift+F1, wpisujesz OB1 do pola Block.
    A tam w formacie STL wpisujesz taki program w którym Wyjście Q0.0 będzie zawsze ustawione na 0. (przed poprawką było 1)
    AN    F 0.0
    A     F 0.0
    =     Q 0.0		

    Na koniec akceptujesz klawiszem F7
    w ten sposób masz 1 kawałek proga za sobą.
    Pozdrawiam S95

    PS. Wszystko jest łatwe do czasu jak nie zaczniesz działać

    Poprawiam Posta:
    Kod powyżej ustawia na 0, na 1 powinien wygladac tak
    A    F 0.0
    ON     F 0.0
    =     Q 0.0		

    teraz jest OK.
  • #3 929487
    krzychol66
    Poziom 25  
    s95 napisał:
    Ogólnie i najprościej, aby ustawić wyjście, jest napisać kawałek programu w OB1.

    Jedna tylko uwaga: to co Kolega napisał musi być napisane na końcu bloku OB1. Inaczej, działania kolejnych partii programu mogą nadpisać forsowane wyjście i z forsowania nici...
  • #4 929641
    elektron1
    Poziom 16  
    Jest sobie taki rozkaz
    SU Q 0.0

    Bezwarunkowe ustawianie wyjścia
  • #5 929735
    s95
    Poziom 17  
    Witam
    Kolega krzychol66 ma racje, wynika to z funkcjonowania PLC.

    elektron1 napisał:
    Cytat:

    Jest sobie taki rozkaz
    SU Q 0.0


    Odnośnie rozkazu SU - jest on możliwy do wykonania jedynie przez jednostkę PLC S5-135/155 wyposażoną w CPU 948. Tak więc na słabszych CPU ten rozkaz spowoduje przejście PLC do stanu STOP.
    Interpretator poleceń Step5 nie ma możliwości weryfikowania podłączonego PLC w stosunku do użytej listy instrukcji w programie.
    Część rozkazów jest dostępne tylko i wyłącznie dla CPU rodziny 115 / 135/155. etc. Zastosowanie ich w programach przeznaczonych dla rodziny z niższymi numerami będzie generować stop PLC.

    W tym przypadku warto jest posługiwać się książeczką "List of Operations" -> "Lista instrukcji" przeznaczona dla konkretnego PLC.

    Pozdrawiam S95
  • #6 931190
    tomczes
    Poziom 12  
    @s95 tochyba nie bedzie dobrze dzialać wydaje mi się że powinno być:

    A F0.0
    ON F0.0
    = Q0.0

    ale po co tracić flage?

    A Q0.0
    ON Q0.0
    = Q0.0

    oczywiście zmiany na końcu OB1 lub jeśli zna się 100% program mogą być zaraz za miejscem w którym to wyjście jest wypracowane.

    W analogiczny sposób można ustawiać inputy ale na początku OB1 lub bezpośrednio przed miejscem gdzie pierwszy raz dany input jest opracowany. I np.

    AN I0.0
    O I0.0
    = I0.0

    lub jesli mamy kontrole jakiegoś elementu sterowanego wyjsciem:

    A Q0.0
    = I0.0
  • #7 931252
    s95
    Poziom 17  
    Witam
    tomczes pierwszy kod programu ustawia wyjscie zawsze na 0, a ja napisałem że na 1.
    Poprawiłem mój post. Teraz wydaje się OK.
    Dzieki za zwrócenie na to uwagi. :)
    Z szacunkiem S95.
  • #8 972622
    krzychol66
    Poziom 25  
    tomczes napisał:
    @s95 tochyba nie bedzie dobrze dzialać wydaje mi się że powinno być:

    A F0.0
    ON F0.0
    = Q0.0

    ale po co tracić flage?

    Dlaczego od razu tracić?
    Operacja nie zależy od stanu flagi ani nie wpływa na jej stan. Więc bez problemu można tą flagę użyć w programie.

    Przy większych projektach użyteczne jest wypracowywanie 2 flag "zawsze 0" i 2 flag "zawsze 1" na początku programu. Np.

    A F2.0
    AN F2.0
    = F2.0 //zawsze 0

    O F2.1
    ON F2.1
    = F2.1 //zawsze 1

    A F4.0
    AN F4.0
    =F4.0 //zawsze 0 na potrzeby uruchomienia

    O F4.1
    ON F4.1
    = F4.1 //zawsze 1 na potrzeby uruchomienia

    Potem forsowanie np. Q0.0 jest proste
    O F4.1
    = Q0.0

    Zablokowanie Q0.0 również:
    A F4.0
    = Q0.0

    Wszystkie miejsca, w których dokonano forsowania są łatwe do znalezienia przez crossreference dla flag F4.0 i F4.1
  • #9 11546256
    smsim
    Poziom 11  
    Po co dodawać coś w OB1 skoro step posiada funkcję "force outputs"
    Na logikę powinno to być wymuszanie wyjść w stanie stopu sterownika, tylko ja próbuje to zrobić w jednostce 95 i nie bardzo chce działać.
REKLAMA