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

S7-300 jak odczytać zmienne lokalne

DZWILU88 27 Feb 2020 07:40 1278 21
  • #1
    DZWILU88
    Level 13  
    Cześć w jaki sposób mogę znaleźć zmienną lokalną użytą w FB

    Mam FB100 w nim jest zmienna #STATUSY.TL_KLEJENIE. Skąd ma wiedzieć gdzie dalej status tej zmiennej jest używany.

    Normalnie w TIA szukam gdzie jest użyty FB100 i widząc cały blok sprawdzam jakie jest podpięte wyjście do #STATUSY.TL_KLEJENIE. Natomiast w S7-300 Bloczek wygląda tak że jest tylko jedno wejście i jedno wyjście :(, a w środku wygląda tak :

    S7-300 jak odczytać zmienne lokalne
  • #2
    Micek64
    Level 18  
    Zmienna o którą pytasz jest zadeklarowana w grupie STAT?
  • #3
    DZWILU88
    Level 13  
    Tak jak na zdjeciu
  • #4
    Micek64
    Level 18  
    No tak, rano jest :)
    Szukasz tej zmiennej w obrębie funkcji czy całego programu?
  • #5
    DZWILU88
    Level 13  
    Micek64 wrote:
    No tak, rano jest :)
    Szukasz tej zmiennej w obrębie funkcji czy całego programu?


    Szukam co jest podpięte pod zmienną "#STATUSY.TL_KLEJENIE" i gdzie to dalej idzie z FB100
  • #7
    Micek64
    Level 18  
    W Manager'ze options i referance data i Filter..., tam filtruj tylko szukanie bloków FB, wpisz swój i będziesz wiedział z jakim blokiem DB jest skojarzony (chyba że już to wiesz). Jak znasz DB to ta sama procedura do konkretnej zmiennej.
  • #8
    DZWILU88
    Level 13  
    Dzięki temu ze podobna jest nazwa to znalazłem DB
    S7-300 jak odczytać zmienne lokalne

    Jednak nic mi to nie rozwiązało
  • #9
    Adua
    Level 10  
    Sprawdź w reference data filtr DB i znajdź DB100.DBX0.2 gdzie jest używany.
  • #10
    DZWILU88
    Level 13  
    Właśnie tak robiłem 😊)))) dlatego pytam, bo nic nie znajduje .
    S7-300 jak odczytać zmienne lokalne
  • #11
    Adua
    Level 10  
    Sprawdź czy robisz reference data dla całego programu czy tylko dla danego FB.
  • #12
    DZWILU88
    Level 13  
    Jak to sprawdzić
  • #14
    DZWILU88
    Level 13  
    Szukam na pewno w całym projekcie, bo jak wpisze np. I5.6 , to znajduje go w kilku blokach .
  • #15
    Adua
    Level 10  
    W cross-reference zaznacz opcję DBs i wpisz 100 i pokaż zrzut ekrenu.
  • #16
    zembol
    Level 24  
    Zmienna lokalna używana tylko w tym bloku. W obrębie bloku szukamy klasycznie ctrl + F
  • #17
    DZWILU88
    Level 13  
    zembol wrote:
    Zmienna lokalna używana tylko w tym bloku. W obrębie bloku szukamy klasycznie ctrl + F


    wiem o tym

    Pytanie jest czym dalej steruje ta zmienna bo jest to zmienna wyjściowa

    Dodano po 32 [minuty]:

    Chodzi o to, że wewnątrz bloku jest zmienna lokalna,
    pokarze inny przykłada

    #PANEL REF NUMBER - zmienna lokalna w bloku FB100

    S7-300 jak odczytać zmienne lokalne


    Ale zmienna ta, steruje sygnałem na zewnątrz bloku FB100 zapisując dane do MW106

    S7-300 jak odczytać zmienne lokalne

    to jest przykład z TIA , tam to jest łatwo sprawdzić o to samo mi chodzi w s7-300. Jak wyświetlić blok FB100 żeby zobaczyć że zmienna lokalna jest podpięta pod MW106
  • #18
    andy1955
    Automation specialist
    Tutaj nie widzę różnicy między TIA i S7-300.
    Funkcja musi gdzieś być wywoływana (CALL FB100,DB100), żeby mogła spełnić swoje zadanie. Możesz sprawdzić też w ten sposób: tworzysz nowy network, wciągasz tą funkcję z lewej strony do networka (lub w przypadku AWL - wpisujesz CALL FB100,DB100). W ten sposób otrzymasz obrazek jak w twoim przykładzie.
    Powtarzam:
    Funkcja musi gdzieś być wywoływana, żeby mogła spełnić swoje zadanie.
    Jaki masz wynik szukania "FB100" ?
  • #19
    DZWILU88
    Level 13  
    tak jest wywoływana w OB1

    czyli CALL FB100

    robiłem już tak jak napisałeś, że przeciągałem FB100 do pustego network ale jak już wcześniej pisałem, pojawia się tylko blok

    Wygląda to tak
    S7-300 jak odczytać zmienne lokalne

    Dodano po 3 [minuty]:

    Wynik wyszukiwania FB100 jest taki:

    S7-300 jak odczytać zmienne lokalne

    ale tam jest tylko wywołanie bloku, co już pokazałem wcześniej.
  • #21
    DZWILU88
    Level 13  
    ryba8383 wrote:
    Wyniki wyszukiwania w cross reference data dla DB100


    Taki sam, OB1
  • #22
    zembol
    Level 24  
    Twoj blok niema zdefiniowanych w interfejsie żadnych zmiennych typu IN, OUT i INOUT (widać na pierwszym obrazku, nie plusów mogłeś rozwinąć tylko zmienne STAT) pow wywołaniu bloku w OB1 nie widać żadnych "nózek" IN OUT tylko EN i ENO. Przykłd z TIA to nie to samo.
    Niestety ciężko ocenić co miał autor programu na myśli, trzeba przeanalizować cały program. I jeśli jesteś pewien ze te zmienne sa wykorzystane dalej to do do głowy przychodzi mi np taki przykład:
    https://support.industry.siemens.com/tf/ww/en/posts/any-pointer-to-db-indirect-addressing-db/158975?page=0&pageSize=10