Elektroda.pl
Elektroda.pl
X
SterControl
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Licznik w Step7 dla Simatica 200

Simon99 20 Lip 2010 10:36 1221 3
  • #1 20 Lip 2010 10:36
    Simon99
    Poziom 2  

    Witam,
    jest to mój pierwszy post na tym forum. Piszę ponieważ mam problem z programem na Simaticu 200 (dokładnie pod 224XP). Tutaj jest kod mojego programu w STLu :

    Code:
    TITLE=PROGRAM COMMENTS
    
    Network 1
    LD     M0.0
    LD     C0
    CTU    C0, 2
    Network 2
    LD     C0
    EU
    BITIM  VD0
    Network 3
    LD     SM0.0
    CITIM  VD0, VD4
    Network 4
    LD     C0
    EU
    DTR    VD4, VD12
    Network 5
    LD     C0
    EU
    MOVR   2000.0, VD16
    /R     VD12, VD16
    Network 6
    LD     SM0.0
    LPS
    A      C0
    AD<    VD4, 200
    S      Q0.0, 1
    LPP
    MOVR   0.9, VD8
    Network 7
    LD     M0.1
    LPS
    A      C0
    AD<    VD4, 200
    S      Q0.0, 1
    LPP
    MOVR   0.9, VD8
    Network 8
    LD     M0.2
    LPS
    A      C0
    AD<    VD4, 400
    S      Q0.0, 1
    LPP
    MOVR   0.75, VD8
    Network 9
    LD     M0.3
    LPS
    A      C0
    AD<    VD4, 600
    S      Q0.0, 1
    LPP
    MOVR   0.5, VD8
    Network 10
    LD     M0.4
    LPS
    A      C0
    AD<    VD4, 800
    S      Q0.0, 1
    LPP
    MOVR   0.25, VD8
    Network 11
    LD     SM0.0
    CALL   SBR1, *VD4, VD8, AQW0

    Dokładnie chodzi oto, że w program nie wchodzi do w Networkach 4 oraz 5. Nie przechodzi on momencie w którym licznik powinien byc załączony. W innych miejscach gdzie jest użyte odwołanie się C0 program normalnie działa. Nie wiem w czym może tkwić problem.
    Dodam, że jestem dość bardzo poczakującym programistą jeśli chodzi o sterowniki plc, dlatego proszę o wyrozumiałość ;)

    Pozdrawiam

    0 3
  • SterControl
  • #2 20 Lip 2010 10:50
    sq9jjh
    Specjalista elektryk

    W takim razie proszę o zapoznanie się z Regulaminem oraz o usunięcie z tematu słowa "problem". Inaczej debiut zakończy się w koszu. Chyba jestem dość wyrozumiały.

    0
  • SterControl
  • #3 20 Lip 2010 12:58
    arwit
    Poziom 27  

    N przyszłość kolego opisz krótko jak program ma działać a nie tylko co nie działa i program raczej dodaj jako załącznik anie wklejaj.
    W networkach 2,4 i 5 użyłeś instrukcji EU która powoduje wykonanie instrukcji za nią tylko raz na każdym zboczu narastającym sygnału prze EU. W Twoim wypadku zostaną one wykonane tylko raz w momencie zbocza narastającego na C1

    0
  • #4 20 Lip 2010 22:15
    Simon99
    Poziom 2  

    Witam

    sq9jjh : mam nadzieje, że teraz już jest lepiej :) Niestety nie mogłem wcześniej tego poprawić, a za nie przeczytanie regulaminu przed wysłaniem posta bije się teraz w pierś.

    arwit : Tutaj jest opis działania programu :
    Chodzi oto, że mamy zliczać impulsy (które określają prędkość z jaką porusza się np. jakaś winda) i na ich podstawie znajomości tej prędkości oraz położenia na trasie wypracowywać zadaną prędkość. Takie jest ogólne założenie. Od razu dodam, że cały projekt jest robiony dość na sucho podczas praktyk, więc i dane są dobierane trochę z sufitu.
    Zamysł jest taki by na początku zliczać impulsy i potem policzyć czas w jakim zostaną zebrane. Potem to przeliczyć na prędkość i na podstawie tego wypracowywać jakieś wyjście. Jak już wcześniej wspomniałem projekt jest niestety bardzo na sucho i jedyna osoba, która miała jakiekolwiek pojęcie o tym pojechała na urlop. Dlatego raczej chce by była to implementacja jakaś ogólna algorytmu.

    To EU jest tam umyślnie wrzucone, bo chcemy by przekazywał tylko to VD12 w momencie gdy zakończy się zliczanie czasu VD4. Raczej problemem było to, że podczas symulacji nie zauważyliśmy by się w ogóle zmieniała ta wartość VD12 przy zmianie VD4. Mimo, że licznik C0 dochodził do ustalonej liczby zliczeń.

    Od następnego razu program na pewno wkleje, bo niestety teraz nie mam tego jak zrobić. Program znajduje się na komputerze do którego nie mam dostępu.

    Pozdrawiam

    0