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

S7-1200: Jak przełączać programy FB1 i FB2 dla dwóch urządzeń jednym sterownikiem?

ssmann 29 Kwi 2014 22:09 2823 11
  • #1 13555163
    ssmann
    Poziom 12  
    Posty: 68
    Pomógł: 2
    Ocena: 17
    Witam
    Mam takie może dla niektórych śmieszne pytanie, ale chciałbym stworzyć jak by 2 różne programiki na S7-1200 chodzi o to że jednym sterownikiem chciałbym sterować dwoma urządzeniami czyli raz podłączam jedno urządzenie i przełącznikiem wybieram sobie program do tego urządzenia a drugi raz podłączam inne urządzenie i wybieram program do niego za pomocą przełącznika.
    A miało by to działać w ten sposób ze np. w bloku FB i właśnie albo FC ( nie wiem czy to dobre rozumowanie) Blok FB1 zawiera program dla 1 urządzenia a blok FB2 zawiera program do 2 urządzenia i teraz przełącznikiem z OB1 np. ustawiając wejście I0.0 na 1 wywołuje blok FB1 a przełączając i ustawiając wejście I0.1 na 1 wywołuje blok FB2 i zarazem program zawarty na nim

    I tu moje pytanie czy tak się da czy program napisany w bloku FB będzie działał , idealnie było by stworzyć kolejny OB i go wywoływać ale to nie możliwe
  • #2 13555442
    artcreator
    Poziom 13  
    Posty: 76
    Pomógł: 1
    Ocena: 5
    I co nie ma chętnych na odpowiedź ?, bo już mnie mierzi, i świerzbi ...:|

    Odpowiadam:

    Celem Elektrody jest rozwiązywanie problemów na które jeszcze nie ma odpowiedzi,
    przynajmniej ja tak pojmuję Te Forum. Tudzież dzielenie się w zależności od wiedzy i doświadczenia, informacjami, rozwiązaniami.

    Twój temat wkracza w sterowniki przemysłowe PLC, których to dokumentację i oprogramowanie, każda szanująca się firma udostępnia za darmo.

    Tak też i te "Twoje" S7-1200.:

    Pierwszy link z brzegu :
    http://www.automatyka.siemens.pl/solutionandproducts_ia/781.htm

    I wygoglowane:

    https://www.google.pl/search?q=S7-1200

    Czy zamierzasz zapłacić za rozwiązanie twego zadania, za poświęcony czas i wytężanie umysłu, skoro nic nie kosztuje Twą Firmę pozyskanie stosownej wiedzy ?

    Dla mnie to spam, i do kosza. Ja za darmo chleba nie kupuję. a Forum Elektroda to nie śmietnisko frajerów.

    Skoro masz do czynienia z takimi sprzętami, postaraj się w "Firmie"o szkolenie, albo sam się podszkol. Koniec, kropka.

    P.S.
    Mam dość ludzi którzy chcą tworzyć w garażu cuda tworzone latami przez koncerny, za pomocą bezrobotnych z łapanki.
    Totalna niewiedza, nieznajomość tematu. Bye :cry:
  • Pomocny post
    #3 13557639
    Rkarcz
    Specjalista Automatyk
    Posty: 564
    Pomógł: 81
    Ocena: 43
    artcreator napisał:
    I co nie ma chętnych na odpowiedź ?, bo już mnie mierzi, i świerzbi ...:|


    Idzie długi weekend, weź się wyluzuj, wyjedź z "Warszawy" to ci nerwy przejdą..

    artcreator napisał:
    Czy zamierzasz zapłacić za rozwiązanie twego zadania, za poświęcony czas i wytężanie umysłu, skoro nic nie kosztuje Twą Firmę pozyskanie stosownej wiedzy?


    Skoro jesteś nastawiony na płatności za wytężanie umysłu to co tu robisz? Nie chcesz pomagać za free i niejednokrotnie rozwiązując problem innych samemu się rozwijać - twój problem - pomyliłeś miejsca. Powinieneś rozwieszać na słupach ogłoszenia o płatnych korepetycjach z automatyki.
    Znam jeden przypadek opisany na tym forum, gdzie moja szanowna konkurencja dzięki mojej pomocy zrobiła temat i zarobiła na tym sporo szmalu.. Etyczne? Jak najbardziej, nie miałbym czasu, albo ochoty to bym nie pomógł. Zarobili? Super, nie byłbym i tak zainteresowany takim zleceniem.. Nie mam z tego tytułu takiego bólu dupska jak ty.

    artcreator napisał:
    Dla mnie to spam, i do kosza. Ja za darmo chleba nie kupuję. a Forum Elektroda to nie śmietnisko frajerów.


    Dobrze się czujesz w wyśmiewaniu innych? Może zmień profesję na kabareciarza? Pracujesz czasami dla ludzi? I co, tylko odpłatnie odpowiadasz na pytania frajerów?


    artcreator napisał:
    Mam dość ludzi którzy chcą tworzyć w garażu cuda tworzone latami przez koncerny, za pomocą bezrobotnych z łapanki. Totalna niewiedza, nieznajomość tematu. Bye :cry:


    Myślisz, że wywołanie 2 róznych FB od wejścia cyfrowego i przypisanie im tych samych IO to wymysł korporacji?

    A ja myślę, że kolega ma słuszne spostrzeżenia i dobry kierunek w rozwiązaniu tego problemu, tylko potrzebuje trochę empatii kogoś, kto zna ramy takiego rozwiązania. Nie wykazałeś się "wiedzą" i zrozumieniem, zniknij. Koniec. Kropka. Bez odzewu.

    Dodano po 6 [minuty]:

    ssmann napisał:
    A miało by to działać w ten sposób ze np. w bloku FB i właśnie albo FC ( nie wiem czy to dobre rozumowanie) Blok FB1 zawiera program dla 1 urządzenia a blok FB2 zawiera program do 2 urządzenia i teraz przełącznikiem z OB1 np. ustawiając wejście I0.0 na 1 wywołuje blok FB1 a przełączając i ustawiając wejście I0.1 na 1 wywołuje blok FB2 i zarazem program zawarty na nim

    I tu moje pytanie czy tak się da czy program napisany w bloku FB będzie działał , idealnie było by stworzyć kolejny OB i go wywoływać ale to nie możliwe


    Jak najbardziej jest to możliwe, tylko wywołanie dwóch FB w jednym OB wiąże się z tym, że odnosienia do tych samych IO muszą być albo przez OR od zmiennych przypisanych dla danego FB, albo twoje wejście raz aktywuje network z przepisywaniem od FB1, a dla wyboru urządzenia FB2 aktywuje inny network. Operacja na 1 JUMP'ie. Nie możesz wyjść podpiąć bezpośrednio pod nóżki OUT, IN_OUT bloku FB, bo niższe wywołanie będzie nadpisywało wyższe. Przy takim rozwiązaniu samo zgaszenie EN nie zadziała - chyba..
  • #4 13557801
    ssmann
    Poziom 12  
    Posty: 68
    Pomógł: 2
    Ocena: 17
    Dzięki za pomoc, właśnie kombinowałem z tymi FB i rzeczywiście masz rację. Zrobiłem sobie próbny programik , połączyłem z panelem Weintek i działa :-)
    A wywołuje raz FB1 a raz FB2 za pomocą ustawianych np. M0.0 wywołuje FB1 a M0.1 wywołuje FB2, dorobiłem nawet reset gdyż istniała taka możliwość że przy zmianie programów ( wywołań FB) wyjścia pozostawały w takim stanie jaki zapamiętał sterownik i trzeba je wyzerować zrobię jeszcze zależność żeby mi ktoś nie włączył dwóch wywołań naraz.
    Ale dzięki za potwierdzenie mojej tezy jestem spokojniejszy i zabieram się za tworzenie docelowego programu
  • #5 13558085
    Markos80

    Specjalista Automatyk
    Posty: 1860
    Pomógł: 474
    Ocena: 214
    Też rozumiem, że się każdy musi jakoś nauczyć, ale z pierwszej wiadomości, aż bije brak podstawowej/minimalnej wiedzy. Bez urazy i spinania ;)
    Pomysł dobry i przy wykonaniu od razu widać, że kolega przewidział, że można sobie narobić bigosu zapamiętanymi stanami z poprzedniego uruchomienia systemu. Wyszło, że równie dobrze albo nawet lepiej zamiast pisać na forum było pisać program i sprawdzić jak działa.

    Ja polecam dodatkowo zastosować technikę wzorowaną na C# marshalling, tzn. na samym początku programu przepisujesz wejścia na bazę lub pamięć i dopiero tych przepisanych używasz w dalszej części. Analogicznie z wyjściami - program pracuje na bazie lub pamięci i na samym końcu przepisujesz wyjścia na sprzęt.
    Skraca to znacznie czas np. na podmianę spalonego wejścia lub wyjścia (podmieniasz tylko raz, a reszta działa bez dotykania).
    Unikałbym też pisania kilka razy na to samo wyjście, chyba, że program jest dobrze opisany w komentarzach. Takie użycie zazwyczaj, w późniejszym, nieoczekiwanym momencie prowadzi do kłopotów ze znalezieniem usterki.

    Rkarcz napisał:
    Nie możesz wyjść podpiąć bezpośrednio pod nóżki OUT, IN_OUT bloku FB, bo niższe wywołanie będzie nadpisywało wyższe. Przy takim rozwiązaniu samo zgaszenie EN nie zadziała - chyba..

    Oczywiście, że "zgaszenie" EN zadziała. Od kolegi z poziomem Spec od PLC wymagam potwierdzenia swoich słów przynajmniej w symulatorze :D Oczywiście też bez spinania i urazy.

    Miłego weekendu.
    Konto firmowe:
    PUMPA
    Widok 7, Łuczyce, 32-010 | Tel.: 502XXXXXX (Pokaż) | Strona WWW: www.pumpa.pl
  • #6 13558347
    artcreator
    Poziom 13  
    Posty: 76
    Pomógł: 1
    Ocena: 5
    Nieco się uniosłem w pierwszej odpowiedzi. Moim celem było zmobilizowanie kol.:
    "ssmann " do odszukania potrzebnych informacji w dokumentacji, którą to metodę mozolną, ale skuteczną, stosuję na wszelkie niejasności..., i to kosztuje konkretny czas i pracę, więc albo "ssmann " poszuka, albo kto inny...
    Być może za ostro pograłem, przepraszam.
    Niestety z praktyki wiem, że trzeba samemu mozolnie grzebać w opisach, specyfikacji, etc..., bez urazy, powodzenia, cieszę się że są jeszcze inni znawcy automatyki, chętni do porad znamiennych w skutkach. :D
  • #7 13558636
    Rkarcz
    Specjalista Automatyk
    Posty: 564
    Pomógł: 81
    Ocena: 43
    Markos80 napisał:


    Rkarcz napisał:
    Nie możesz wyjść podpiąć bezpośrednio pod nóżki OUT, IN_OUT bloku FB, bo niższe wywołanie będzie nadpisywało wyższe. Przy takim rozwiązaniu samo zgaszenie EN nie zadziała - chyba..

    Oczywiście, że "zgaszenie" EN zadziała. Od kolegi z poziomem Spec od PLC wymagam potwierdzenia swoich słów przynajmniej w symulatorze :D Oczywiście też bez spinania i urazy.

    Miłego weekendu.


    Musisz kolego zgłosić to do moderatora i odbiorą mi ten niesłusznie nadany tytuł. I wtedy znowu będę mógł w spokoju swoje wypociny pisać siedząc na kiblu bez konieczności testowania. Myślę, że ułatwi to wszystkim. I się nie napinam, bo to forum służy dokładnie do tego o czym pisalem powyżej. Musisz zapytać moderatora czym się kierowali nadając mi taka łatkę.
    Nie używam jakichkolwiek wywołań FC, FB z podpinaniem nóżek zmiennych w wielu miejscach i nie jestem pewny więc piszę"chyba". A ten kto ma problem przetestuje to sam. Myślisz, że to dla niego problem? Wątpię.
  • #8 13558757
    Markos80

    Specjalista Automatyk
    Posty: 1860
    Pomógł: 474
    Ocena: 214
    Rkarcz napisał:
    Musisz kolego zgłosić to do moderatora i odbiorą mi ten niesłusznie nadany tytuł. I wtedy znowu będę mógł w spokoju swoje wypociny pisać siedząc na kiblu bez konieczności testowania.

    Nie muszę i nigdzie nie napisałem, że niesłusznie nadany. Uważam tylko, że autorytet i umiejętności zobowiązują.

    Rkarcz napisał:
    Nie używam jakichkolwiek wywołań FC, FB z podpinaniem nóżek zmiennych w wielu miejscach i nie jestem pewny więc piszę "chyba". A ten kto ma problem przetestuje to sam. Myślisz, że to dla niego problem? Wątpię.

    Po treści pytania pierwszej wiadomości w temacie jednak wynika, że byłby to problem.
    Konto firmowe:
    PUMPA
    Widok 7, Łuczyce, 32-010 | Tel.: 502XXXXXX (Pokaż) | Strona WWW: www.pumpa.pl
  • #9 13558777
    ssmann
    Poziom 12  
    Posty: 68
    Pomógł: 2
    Ocena: 17
    Chodziło mi o informację czy ktoś już może coś takiego robił czyli 2 różne programy wybierane np. przełącznikiem na blokach FB lub FC z dokumentacji jasno nie wynika bo tyle czyta c to umiem i poszedłem krok dalej poszukałem w różnych przykładach i także jasno nie znalazłem odpowiedzi.
    Może ktoś robił to w inny sposób nie na blokach FB może istnieje możliwość zapisywania do pamięci i wywoływania raz jednego programu raz drugiego z dokumentacji też nie wynika ( no akurat tego problemu tam nie poruszają )

    A po za tym po to pytam bo widziałem że ludzie dzielą się różnymi wiadomościami na tym forum i wydawało mi się że jest to prosta kwestia dla kogoś kto miał już do czynienia z PLC.

    Ja w ramach wyjaśnień Tak dorabiam sobie po godzinach popołudniami próbując coś czego wcześniej nie robiłem i nie mając się kogo spytać właśnie o najmniejszą kwestie i całą swoją wiedzę czerpie właśnie z dokumentacji i innych artykułów no i z własnych prób i mozolnych kilku dniowych starań w rozwiązaniu problemów które dla niektórych są banalnie proste bo może przeszli jakiś kurs albo po prostu w szkole tego ich uczyli ( ja jestem elektrykiem )

    a w tej sytuacji dostałem propozycję czy nie chciałbym spróbować bo nie mają nikogo innego kto się tego podejmie a ja z chęci nauki jak i również z kilku złotych jakie mogę zarobić dla swojej rodziny powiedziałem że spróbuje, ale żeby testować sterownik to muszę jechać kilka kilometrów bo nie mam go domu i stąd moje pytanie do wszystkich że by było mi łatwiej i nie usiał bym jeździć w tą i z powrotem bez sensu.

    I na koniec nie mówcie że wystarczy poszukać tylko mi się nie chce bo przede wszystkim tak właśnie robię i nie czekając na odpowiedź też się postarałem i sam to rozgryzłem chcąc tyko potwierdzenia czy aby na pewno dobrze robię i czy w jakimś tam przypadku mi się to nie wykrzaczy i myślę kolego "artcreator" że ty nigdy nie byłeś w potrzebie żeby tak intensywnie poszukiwać informacji jak ja ty na pewno masz jakieś tam wykształcenie w tym kierunku i to jest tobie bardzo pomocne w tym co robisz i dlatego to robisz bo się na tym znasz, a ja próbuje robić coś co mnie interesuje a nie mam o tym zbyt dużego pojęcia a w pracy to niestety jak się sam nie nauczę to mi nikt kursu nie zafunduje jedynie zwolnienie tak to już dzisiaj jest w życiu
  • #10 13558900
    Rkarcz
    Specjalista Automatyk
    Posty: 564
    Pomógł: 81
    Ocena: 43
    Kolego ssmann dla takich ludzi jak ty jest to forum. Nie przejmuj się uszczypliwościami bo i tak nic nie wnoszą poza rozładowaniem frustracji znerwicowanych Polaków.
    W wolnej chwili stworzę ci ramę projektu i podeślę wg twoich założeń. Podaj model sterownika, oczekiwany adres IP, ewentualnie jakie masz tam moduły rozszerzeń. Możesz też napisać co ma robić każda maszyna z grubsza. No i jakąś mapę wejść wyjść. Możesz to podać na priv.

    Dodano po 9 [minuty]:

    artcreator napisał:
    cieszę się że są jeszcze inni znawcy automatyki, chętni do porad znamiennych w skutkach. :D


    Widzisz, to nie jest forum dla ciebie. Lubisz otwierać otwarte drzwi. 😃 Pytanie nie boli, jak nikt ci nie pomoże to się wtedy męcz. Z tego założenia wyszedł ssmann.
    A ja nie jestem żadnym znawcą, to moja praca. Poza rozwiązywaniem problemów sterowania chętnie pomagam tym, którzy tego potrzebują. A, że za darmo? To już mój problem, prawda? Naprawdę mam co robić i godnie mi się z tego żyje, więc w czym problem pomagać na forum za free? Chyba to było założenie założycieli i rzeszy zarejestrowanych użytkowników.

    Dodano po 4 [minuty]:

    Markos80 napisał:

    Rkarcz napisał:
    Nie używam jakichkolwiek wywołań FC, FB z podpinaniem nóżek zmiennych w wielu miejscach i nie jestem pewny więc piszę "chyba". A ten kto ma problem przetestuje to sam. Myślisz, że to dla niego problem? Wątpię.

    Po treści pytania pierwszej wiadomości w temacie jednak wynika, że byłby to problem.


    Jak będzie to problem to zapyta jeszcze raz. Ludzie jakie wy macie problemy? Nie chcecie pomagać to zajmijcie się czymś pożytecznym. Polska to taki dziwny kraj, gdzie każdy, nawet ten co nie ma nic ciekawego do powiedzenia, musi mieć ostatnie słowo.
  • #11 13559016
    Markos80

    Specjalista Automatyk
    Posty: 1860
    Pomógł: 474
    Ocena: 214
    Rkarcz napisał:
    Ludzie jakie wy macie problemy? Nie chcecie pomagać to zajmijcie się czymś pożytecznym. Polska to taki dziwny kraj, gdzie każdy, nawet ten co nie ma nic ciekawego do powiedzenia, musi mieć ostatnie słowo.

    Myślę, że całkiem rzeczowo i do tematu odpowiedziałem ;)
    Co do trochę dziwnego kompleksu Polaka, polecam każdemu się z samym sobą rozmówić. Jakoś mam szczęście się obracać wśród ludzi, którzy do takich stereotypów nie należą lub moje nonkonformistyczne podejście do życia, pomaga tego nie zauważać.

    Kończąc OT, akurat mam jakieś S7-1214 i mogę wystawić, aby kolega ssmann mógł się pobawić przez Internet i nie musiał jeździć tyle kilometrów (swoją drogą specjalnie taki niemiły wydźwięk ma mieć ten nick?)

    PS: Idę złapać, ponoć ostatnie, promienie słońca w ten długi weekend :D
    Konto firmowe:
    PUMPA
    Widok 7, Łuczyce, 32-010 | Tel.: 502XXXXXX (Pokaż) | Strona WWW: www.pumpa.pl
  • #12 13611609
    mihalo
    Poziom 14  
    Posty: 89
    Pomógł: 7
    Ocena: 15
    Nie wiem jak to jest w 1200, ale generalnie w S7-300 używa się jednego bloczku FC (tzw kombajn) który obrabia dany typ urządzenia (np. falownik jednego producenta) podczepiony do tego FC jako blok DB i to załatwia sprawę.

    Czyli 1 FC i np 40 falowników każdy w osobnym DB.

    Po co jakieś przełączania dziwne?

Podsumowanie tematu

✨ Użytkownik zadał pytanie dotyczące programowania sterownika S7-1200 w celu stworzenia dwóch różnych programów, które można by wybierać za pomocą przełącznika, aby sterować różnymi urządzeniami. W odpowiedziach podano, że można to zrealizować poprzez wywoływanie bloków FB (Function Block) w zależności od ustawienia wejść cyfrowych. Użytkownik potwierdził, że udało mu się stworzyć działający program, który wykorzystuje M0.0 i M0.1 do wywoływania odpowiednich bloków FB. Dodatkowo, zasugerowano techniki programowania, takie jak marshalling, aby uniknąć problemów z zapamiętanymi stanami wyjść. W dyskusji poruszono również kwestie etyki pomocy na forach oraz znaczenie samodzielnego poszukiwania informacji w dokumentacji.
Wygenerowane przez model językowy.
REKLAMA