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

[Rozwiązano] Simatic S5 – interpretacja drabinki: wpływ zmiany MB188 na licznik Z15

gienekpa 16 Mar 2026 17:07 240 4
REKLAMA
  • #1 21863824
    gienekpa
    Poziom 10  
    Posty: 150
    Ocena: 6
    W sterowniku Simatic S5 mam kawałek kodu jak na załączonym poniżej obrazku. Proszę o pomoc w interpretacji poniższego kodu. Czy jeśli:

    M187.4 = TRUE
    E60.0 = FALSE
    Z15 = 3
    MB188 = 0

    Jeśli wartość MB188 zmienię z 0 na 1 to czy wartość licznika Z15 spadnie do 2?
    Jeśli wartość MB188 zmienię z 1 na 2 to czy wartość licznika Z15 spadnie do 1?

    Zrzut ekranu schematu drabinkowego Simatic S5 z komparatorami i licznikiem Z 15
  • REKLAMA
  • #2 21864141
    Wiesiek Zas
    Poziom 13  
    Posty: 47
    Ocena: 10
    Ale się zrobiło nostalgicznie, aż sobie zainstalowałem IBH S5/S7 for Windows :)
    MB188 masz w bloczku "Comparison", więc nie ma bezpośrednio wpływu na licznik.
    Z pomocy programu S5/S7:
    Cytat:
    Comparison function: EQUAL
    --------------------------------------------------------------------------------
    Symbol: !=
    The value of the input Z1 is compared with the value of the input Z2.
    If they are equal, the result of logic operation (RLO) at the output Q will be "1", otherwise it will be "0".
    The RLO of the comparison will be "1", if the condition of the comparison is met. Otherwise the RLO will be "0".
    Ponieważ KF 6 wygląda na stałą, więc na wyjściu komparatora powinno pojawić się "1" gdy MB188 = 6.
    A dalej:
    Cytat:
    Count Down
    --------------------------------------------------------------------------------
    Mnemonic: CD
    - Downward counting of a counter is performed, if the CU input changes from "0" to "1".
    - Only a positive edge on the input counts.
    - If the limit of "999" is reached, no further decrementing will be performed.

    U Ciebie jest po niemiecku, więc pozwoliłem sobie na skorzystanie z DeepSeek'a (nie weryfikowałem):
    Cytat:
    Bloczek licznika w STEP 5 posiada następujące wejścia i wyjścia:

    Wyprowadzenie Opis funkcji
    ZR----------------- Zählen Rückwärts (Licznik w dół). Każda zmiana sygnału na tym wejściu z 0 na 1 (zbocze dodatnie) powoduje zmniejszenie wartości licznika o 1. Licznik zatrzymuje się na 0 .
    ZV----------------- Zählen Vorwärts (Licznik w górę). Każda zmiana sygnału na tym wejściu z 0 na 1 (zbocze dodatnie) powoduje zwiększenie wartości licznika o 1. Maksymalna wartość licznika to 999 .
    S------------------- Setzen (Ustawianie). Po podaniu na to wejście zbocza dodatniego (zmiana z 0 na 1) licznik ustawiany jest na z góry zadaną wartość (tzw. wartość początkową). Wartość ta jest definiowana na wejściu ZW .
    ZW-------------- Zählwert (Wartość licznika). To wejście służy do podania wartości początkowej, która ma zostać zapisana do licznika po wyzwoleniu wejścia S. Wartość ta jest kodowana w formacie BCD (0...999). Może pochodzić na przykład z constanty (KZ), wejścia (EW), znacznika (MW), akumulatora (AW) lub słowa danych (DW) .
    R---------------- Rücksetzen (Resetowanie). Podanie na to wejście stanu wysokiego (1) natychmiast resetuje licznik do zera. Wyjście Q ustawiane jest wówczas na "0" .
    S---------------- Setzen (Ustawianie). Po podaniu na to wejście zbocza dodatniego (zmiana z 0 na 1) licznik ustawiany jest na z góry zadaną wartość (tzw. wartość początkową). Wartość ta jest definiowana na wejściu ZW .
    DU---------------- Dual (Wartość binarna). Na tym wyjściu aktualna wartość licznika dostępna jest w kodzie dwójkowym (binarnym) .
    DE---------------- Dezimal (Wartość dziesiętna). Na tym wyjściu aktualna wartość licznika dostępna jest w kodzie dziesiętnym BCD (Binary Coded Decimal) .
    Q---------------- Ausgang (Wyjście binarne). Jest to wyjście sygnalizacyjne. Znajduje się na nim sygnał "1", gdy wartość licznika jest większa od zera, oraz sygnał "0", gdy wartość licznika jest równa zero.

    Czyli licznik będzie liczył w dół przy każdej zmianie wyjścia komparatora z "0" na "1" i spełnionych warunkach M187.4 = TRUE, E60.0 = FALSE.
    Niestety wersja trial nie pozwala wstawić tych dwóch bloczków, więc nie mam jak tego sprawdzić, ale możesz sobie zrobić nowy program i zasymulować ten fragment.

    Pozdrawiam
    Wiesiek
  • REKLAMA
  • #3 21864253
    gienekpa
    Poziom 10  
    Posty: 150
    Ocena: 6
    Wiesiek Zas napisał:
    Ale się zrobiło nostalgicznie, aż sobie
    Niestety wersja trial nie pozwala wstawić tych dwóch bloczków, więc nie mam jak tego sprawdzić, ale możesz sobie zrobić nowy program i zasymulować ten fragment.

    Pozdrawiam
    Wiesiek


    Mam pełną wersję tego programu. Czy w tym programie jest może symulator?
  • REKLAMA
  • Pomocny post
    #4 21864882
    andrjalo
    Poziom 22  
    Posty: 451
    Pomógł: 30
    Ocena: 90
    Licznik liczy na zbocze narastające S to set ustawia wartość 3 a licznik przy każdym zboczu tą wartość odejmuje ale to jest wycinek programu masz dwa komparatory i jak MB188 osiągnie 6 wystawi na 1 na wejściu dekrementalnym licznika i secie flaga 187.4 poprzez impulsy odejmuje wartość wpisaną licznika o jeden wejście E 60.0 robi wpis 3 do licznika jak MB188 ma wartość 6 a wejście E 2.5 robi wpis do licznika 3 bezwarunkowo
  • #5 21864965
    gienekpa
    Poziom 10  
    Posty: 150
    Ocena: 6
    Dziękuję wszystkim za pomoc
REKLAMA