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

S7-300 timer w bloku FB nie działa zna ktoś rozwiązanie

Przemasbmw 29 Gru 2011 19:37 7554 25
  • #1 10320353
    Przemasbmw
    Poziom 9  
    Posty: 40
    Pomógł: 1
    Ocena: 1
    Witam panowie.
    Mam problem a mianowicie robię program, w którym jest potrzeba dużo timerów. Wymyśliłem, że z bloku ob1, w którym jest program wywołam sobie markerem blok FB, do którego wrzucę wartości początkowe wejść wyjść i czas s5t#5s. Oczywiście ten blok jest w podobny sposób wywoływany kilkukrotnie tylko, że jest problem taki, że timer wogóle nie liczy tylko od razu wystawia mi wyjście timer s_odt.
    Wydaje mi się że blok jest dobrze zaprogramowany bo jak podrzucam inne rzeczy takie jak same markery I/O lub jakieś wartości do przemnożenia to wszystko liczy i działa problem jest tylko z timerem.
    Proszę o jakieś szybkie rady lub jakiś program przykładowy w LADzie. Dodatkowo dodam, że cały program czyli markery I/O jest w ob1 i w tym bloku potrzebuje opóźnień.
    Nie wiem czy tak jest dobrze ale tak zrobiłem.
  • #2 10320820
    2010712
    Poziom 17  
    Posty: 306
    Pomógł: 11
    Ocena: 10
    Wydaje mi się że problem może tkwić w deklaracji zmiennych wejściowych i wyjściowych samego bloku FB. Spróbuj podesłać skan bloku FB
  • #3 10321868
    adamac2
    Specjalista Automatyk
    Posty: 422
    Pomógł: 49
    Ocena: 23
    A to nie jest przypadkiem kwestia odwołania się do tej samej deklaracji. Bo wygląda tak jakby doliczył raz a później tylko przepisywał aktualne wartości timera.
  • #4 10323344
    Rkarcz
    Specjalista Automatyk
    Posty: 564
    Pomógł: 81
    Ocena: 43
    Na pewno przypisałeś konkretny numer timera (np. T1) i masz wielokrotne wywołania i ostatnie wywołanie w skanie nadpisuje resztę.

    Żeby wywołać timer w FB i używać tego FB w kilku miejscach użyj nie timera S_ODT, ale TON (SFB4). Jak go wstawisz do FB to prawy przycisk myszki i wciśnij Change to multiple instance call, nazwij go jak chcesz i po sprawie. Użyjesz systemowego bloku funkcyjnego SFB, zużyjesz mniej pamięci itp. A dane timera będą w DB Instance głównego bloku FB.

    Aby dodać SFB4 w LAD - zaznacz linię na której chcesz dodać i wciśnij Alt+F9 i wpisz SFB4.

    Powodzenia
  • #5 10325244
    Przemasbmw
    Poziom 9  
    Posty: 40
    Pomógł: 1
    Ocena: 1
    Witam panowie po części rozwiązałem problem okazało się że timer raz doliczył po wywołaniu bloku a potem jak go wywoływałem to już miał wartość wcześniejszą myślałem że jak wyłączę marker który załączał cały blok z timerem to wszystkie wartości łącznie z tymi które ma timer zostaną zerowane ale było inaczej więc przed zamknięciem bloku jeszcze zacząłem zerować timer i pomogło ale wydaje mi się że ta metoda to taka lipa tyle że działa spróbuje jeszcze z tym co napisał Rkarcz tylko mam jeszcze pytanie czy do takiego sposobu jak kolega podał można zrobić dwa albo trzy taki timery TON które będą działały w tym samym czasie bo w moim programie zdarza się tak że dwa muszą chodzić w tym samym czasie i jeszcze jedno czy wstawiając w blok timer s_odt mogę go zmieniać tzn podmieniać jego indeks np. z T 0 na T 1 tak jak mogę podmieniać markery?
  • #6 10325394
    Rkarcz
    Specjalista Automatyk
    Posty: 564
    Pomógł: 81
    Ocena: 43
    Zmieniać index pewnie można choć tego nie robiłem.
    Wg mnie skoro masz TON nielimitowane to spokojnie możesz ich użyć ile chcesz. Różnią się wtedy nazwą wewnątrz DB instance. Dlatego jak kopiujesz TON to zawsze resetuj jego ustawienia poprzez Change to FB/DB call i ponownie jak opisałem powyżej, nazwa np z indexem 2.
  • #7 10327674
    Przemasbmw
    Poziom 9  
    Posty: 40
    Pomógł: 1
    Ocena: 1
    Zrobiłem dwa timery w dwóch od dzielnych blokach każdy ma inny blok db co prawda skopiowałem te bloki i teraz jak się uruchomią dwa razem to ten który ma większą wartość czasu zadana szybciej od pala od drugiego co się może dziać nie zrobiłem tego reset bloku bo nie wiem jak może są jakoś połączone proszę jeszcze o pomoc z góry dziękuje.
  • #8 10327935
    Rkarcz
    Specjalista Automatyk
    Posty: 564
    Pomógł: 81
    Ocena: 43
    TON na pewno masz w FB, a nie w FC? Poza tym jak możesz podeślij ten program na elektrodzie i wtedy można coś stwierdzić, bo tak to ciężko wróżyć z fusów... :-)
  • #9 10352323
    Przemasbmw
    Poziom 9  
    Posty: 40
    Pomógł: 1
    Ocena: 1
    Przepraszam panowie że tak długo się nie odzywałem ale właśnie byłem na uruchomieniu tego mojego programu z kolegą który robił wizualizacje na in touchu no i linia prawie działa ale jest kilka problemów które wynikają z mojej słabej znajomości siemens i nadal mam parę pytań podsyłam też załącznik do mojego postu a nawet dwa i proszę o parę porad a konkretnie w czasie uruchomienia powstały kolejne problemy np. jak zamienić zmienną DINT na INT potrzebne mi jest to bo jedna waga chodzi po analogu i zastosowałem bloczek skalowania FC105 tylko że on po przeskalowaniu na wyjściu podaje wartość w zmiennej DINT a mi jest potrzebna INT no i w efekcie skalowanie chyba zrobię operacją matematyczną a następnie myślałem że umiem do bloku FB podstawiać wejścia wyjścia i inne wartości ale jak blok miał zdejmowane zasilanie to markery wejściowe/wyjściowe i wyjścia fizyczne się nie wyłączały a już z tymi timerami to już całkowita porażka no i w końcu zrezygnowałem z większości bloków i wszystko zrobiłem w OB1 proszę panowie o pomoc może ktoś ma jakieś materiały związane z siemensem ale jakieś takie zaawansowane bo na szkoleniu podstawowym byłem i nie wiele z tego wyniosłem i może ktoś ma jakieś instrukcje do instrukcji systemowych siemensa SFB i SFC bo o tych to już wcale nic nie wiem i nić nie mogę znaleźć w necie pierwszy załącznik to program który zrobiłem na początku a drugi to ten końcowy który zrobiłem jak mi ręce opadły może któryś z kolegów mógłby mi jakiś program podesłać na priv z góry dziękuje za wszelkie pomoce.
    Załączniki:
    • program2 końcowy.rar (315.9 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • program1 początkowy.rar (284.93 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #10 10352328
    Przemasbmw
    Poziom 9  
    Posty: 40
    Pomógł: 1
    Ocena: 1
    Przepraszam panowie że tak długo się nie odzywałem ale właśnie byłem na uruchomieniu tego mojego programu z kolegą który robił wizualizacje na in touchu no i linia prawie działa ale jest kilka problemów które wynikają z mojej słabej znajomości siemens i nadal mam parę pytań podsyłam też załącznik do mojego postu a nawet dwa i proszę o parę porad a konkretnie w czasie uruchomienia powstały kolejne problemy np. jak zamienić zmienną DINT na INT potrzebne mi jest to bo jedna waga chodzi po analogu i zastosowałem bloczek skalowania FC105 tylko że on po przeskalowaniu na wyjściu podaje wartość w zmiennej DINT a mi jest potrzebna INT no i w efekcie skalowanie chyba zrobię operacją matematyczną a następnie myślałem że umiem do bloku FB podstawiać wejścia wyjścia i inne wartości ale jak blok miał zdejmowane zasilanie to markery wejściowe/wyjściowe i wyjścia fizyczne się nie wyłączały a już z tymi timerami to już całkowita porażka no i w końcu zrezygnowałem z większości bloków i wszystko zrobiłem w OB1 proszę panowie o pomoc może ktoś ma jakieś materiały związane z siemensem ale jakieś takie zaawansowane bo na szkoleniu podstawowym byłem i nie wiele z tego wyniosłem i może ktoś ma jakieś instrukcje do instrukcji systemowych siemensa SFB i SFC bo o tych to już wcale nic nie wiem i nić nie mogę znaleźć w necie pierwszy załącznik to program który zrobiłem na początku a drugi to ten końcowy który zrobiłem jak mi ręce opadły może któryś z kolegów mógłby mi jakiś program podesłać na priv z góry dziękuje za wszelkie pomoce.
    Załączniki:
    • program2 końcowy.rar (315.9 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • program1 początkowy.rar (284.93 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #11 10352332
    Przemasbmw
    Poziom 9  
    Posty: 40
    Pomógł: 1
    Ocena: 1
    Kurcze przez przypadek wystawiłem dwa razy pech!
  • #12 10353024
    2010712
    Poziom 17  
    Posty: 306
    Pomógł: 11
    Ocena: 10
    So do bloków SFB i SF to ja rówież podpinam się pod prośbę ewentualnych kompleksowych opisów, gdyby ktoś był takowych w posiadaniu.

    Po rozpakowaniu progamu drugiego i otwarciu projektu nie widzę bloków- mógłbyś zarchiwizować go jeszcze raz?, w programie pierwszym wszystko jest ok.
  • #13 10353575
    Przemasbmw
    Poziom 9  
    Posty: 40
    Pomógł: 1
    Ocena: 1
    No ale przeglądał kolega ten pierwszy program bo w tym drugim to bloki są ale nie wykorzystane w OB1 bo nie działały mi bo pierwotnie program wyglądał tak jak w pierwszym programie a potem je wszystkie prawie wyrzuciłem i zrobiłem bez bloków ale wystawie ten drugi jeszcze raz nie ma problemu jak by miał kolega jakieś ciekawe spostrzeżenia to proszę o napisanie na forum z góry dziękuje.
  • #14 10354981
    Rkarcz
    Specjalista Automatyk
    Posty: 564
    Pomógł: 81
    Ocena: 43
    Przemasbmw napisał:
    jak zamienić zmienną DINT na INT potrzebne mi jest to bo jedna waga chodzi po analogu i zastosowałem bloczek skalowania FC105 tylko że on po przeskalowaniu na wyjściu podaje wartość w zmiennej DINT a mi jest potrzebna INT


    Tak przy okazji konwersja INT na REAL

    L INT
    ITD
    DTR
    T REAL

    Konwersja REAL na INT:

    L REAL
    RND-
    T INT

    Przemasbmw napisał:
    zastosowałem bloczek skalowania FC105 tylko że on po przeskalowaniu na wyjściu podaje wartość w zmiennej DINT a mi jest potrzebna INT


    Na wyjściu masz REAL, a nie DINT (oczywiście możesz podejrzeć REAL jako DINT ale wartości nie napawają optymizmem :-) )

    Przemasbmw napisał:
    może ktoś ma jakieś materiały związane z siemensem ale jakieś takie zaawansowane


    http://support.automation.siemens.com/WW/view/en/44240604 - opis SFC i SFB

    Przemasbmw napisał:
    myślałem że umiem do bloku FB podstawiać wejścia wyjścia i inne wartości ale jak blok miał zdejmowane zasilanie to markery wejściowe/wyjściowe i wyjścia fizyczne się nie wyłączały


    Dlatego wszelkie warunki pracy podaje się, nie na EN bloku FB, czy FC, ale na wejście specjalnie do tego stworzone - np. permit. Jak go nie ma logika wewnątrz bloku wyłącza żądaną operację itp.
    Co do pozostawania wysterowania wyjść po zgaszeniu EN bloku - to chyba dość logiczne. Program, a w zasadzie jego skan idzie od góry do dołu struktury programu. Jak w jednym skanie ustawiłeś jakąś wartość, albo bit to do póki nie wywołasz funkcji po raz kolejny zmienna nie zmieni swojej wartości. Tak działają sterowniki PLC wszystkich producentów. Zamiast tego stwórz wejście funkcji o nazwie reset. Podłącz tam jakikolwiek bit setowany zawsze w OB100:

    SET
    S Reset_OB100 // np. marker M100.0

    i kasowany na końcu OB (1, 32, 35 - dla S7-300) w którym wywołujesz swoje FB, FC:

    SET
    R Reset_OB100 // np. marker M100.0

    I podepnij ją na wejście "reset" FB, FC. W środku FB, FC podaj warunek na początku funkcji:

    A reset
    R zmienna 1
    R zmienna 2
    :
    R zmienna n

    i masz załatwione wszelkie restarty zasilania.

    Przemasbmw napisał:
    z tymi timerami to już całkowita porażka


    Zapewniam Cię, że są świetne. Kwestia wprawy i podstaw, których póki co nie masz. Ale to kwestia czasu. Masz cały weekend do 9.01.2012. Niestety, żeby być dobrym w temacie PLC trzeba to lubić i poświęcać też na to teoretycznie czas poza pracą. No niestety.

    Na prośbę Jednego z Kolegów, post wydzielę po zakończeniu tematu jako wartościowy, na pewno nie umknie w tle. Pozdrawiam. [sq9jjh]
  • #15 10355214
    Przemasbmw
    Poziom 9  
    Posty: 40
    Pomógł: 1
    Ocena: 1
    Witam kolego Rkarcz fajnie wszystko opisałeś i za to bardzo ci dziękuje ale mimo to praktycznie nie wiele rozumiem to wynika z mojej niewiedzy w tym temacie mam do ciebie jeszcze proźbe jeśli byś mógł to wstawił byś jakiś kawałek programu w LAD z tym co mi napisałeś czyli resetami OB i to co napisałeś o FB i FC bo nie kumam tego a bardzo bym chciał się tego nauczyć wiem że dla ciebie to pestka a mi i pewnie wielu innym osobą by to pomogło z góry dziękuje za wszelką pomoc.
  • #16 10355323
    Rkarcz
    Specjalista Automatyk
    Posty: 564
    Pomógł: 81
    Ocena: 43
    Bardzo proszę. O to maleńki programik z bazą projektu w postaci resetu, stałej jedynki i zera, czy permita, timera SFB4 zagnieżdzonego w innym FB. Nastawa Timera w VAT Settings.
    Załączniki:
    • Smallhelps.zip (243.63 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #17 10355514
    Przemasbmw
    Poziom 9  
    Posty: 40
    Pomógł: 1
    Ocena: 1
    No spoko teraz to rozumiem ale narodziło się kolejne pytanie i niestety muszę je zadać specjaliście :D "Rkarcz" bo widzę że w tym programie który przysłałeś jest na wejście EN sztywne zasilanie no i co gdy będę chciał wywołać ten blok w innym miejscu w programie wstawiam go drugi raz z innymi markerami wejściowymi i wyjściowymi czy muszę robić drugi nowy blok tym bardziej że chciał bym np żeby w tym bloku był TIMER TON i tylko podstawiać mu jakąś inną wartość czasu to jak zrobię SET jakiegoś markera który załączy ponownie ten TIMER to czy ten timer wyżej w programie np FB też nie wystartuje ponownie co prawda na jego wejściu marker nie będzie załączony ale zastanawiam się czy coś się nie stanie dziwnego a i jeszcze jedno rozumiem że wywołując ten sam blok w kilku miejscach to zawsze muszę korzystać z innych markerów pomocniczych bo jak skorzystam z tych samych to może się wykonać ten blok wyżej przepraszam za tyle pytań ale programuje oprócz siemensa GE FANUCA i z nim mam większe doświadczenie i tam cały algorytm programu jest inny dlatego czasami może zadaje banalne pytania.
  • #18 10356974
    Rkarcz
    Specjalista Automatyk
    Posty: 564
    Pomógł: 81
    Ocena: 43
    Załączyłem program z 3 timerami do lamp oraz jednym pomocniczym do braku napięcia. Ten ostatni nietypowo, zanegowany i wogóle, bo nie chciało mi się robić bloku FB dla TOF.
    Jakkolwiek dla Ciebie najważniejszą informacją jest to, że wywołania różnią się od siebie blokiem DB-instance. Czyli blokiem (pamięcią, stosem) odpowiadającym danemu wywołaniu funkcji FB. Ty tylko nadajesz im numery przy i nazwy. Skopiuj sobie dowolne wywołanie i wklej w następnym networku. Następnie usuń górny zapis nad FB - to jest własnie deklaracja DB-instence. Wpisz co uważasz DB... Nadaj mu nazwe i gotowe. Właśnie to jest przewaga FB nad FC, że raz stworzony zakres parametrów nie musi być powielany w przestrzeni adresowej markerów, czy kolejnych DB które wywołane w FC musiały by być przepisane na zmienne lokalne FC. FC opłaca się do powielalnych małych funkcji, no i oczywiście do mega wielkim nie powielalnych.. :-)

    Aaa i na wejściach i wyjściach celowo dałem parametry z DB-instance danego wywołania żebyś miał wgląd w to co się dzieje wewnątrz bez podglądania DB-instance. Generalnie parametry z DB-instance wstawiasz na panel OP jako parametr a w programie zostawiasz puste miejsce - nic nie podłaczasz. Oczywiście można to ukryć, ale bez CFC tego nie zrobisz. Dlatego tym się nie kłopocz.
    Załączniki:
    • Smallhelps.zip (245.63 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #19 10366835
    Przemasbmw
    Poziom 9  
    Posty: 40
    Pomógł: 1
    Ocena: 1
    Rkarcz napisał:
    . Oczywiście można to ukryć, ale bez CFC tego nie zrobisz. Dlatego tym się nie kłopocz.





    Witam kolega Rkarcz napisał bardzo dużo mądrych rzeczy które mi bardzo pomogły i można powiedzieć że wreszcie coś zrozumiałem tylko mam pytanie co oznacza ten cytat powyżej jak można ukryć te wartości db i mieć do nich wgląd z panela można jakieś wyjaśnienie i jeszcze czy któryś z kolegów ma jakiś duży program zrobiony w LAD do siemensa chodzi mi o to że chciałem zobaczyć jak wygląda struktura takiego bardziej zaawansowanego programu z blokami FB i FC bo teraz jak tak trochę sie doszkoliłem to stwierdziłem że ten mój program który zrobiłem to jest całkiem źle zrobiony od strony strukturalnej niby coś działa ale podejrzewam że za 2 miesiące jak pojechał bym tam na serwis to nie wiedział bym co i jak bo tak chaotycznie to zrobilem :cry:
  • #20 10367087
    Rkarcz
    Specjalista Automatyk
    Posty: 564
    Pomógł: 81
    Ocena: 43
    Odnośnie CFC:
    To taki pakiet Siemens'a do STEP'a umożliwiąjący projektowanie w bardziej zaawansowany sposób - poprzez składanie bloków i łaczenie (swego rodzaju "nitkami" połączeń) ich bezpośrednio, a nie za pomocą zmiennych (adresowo, czy w formie nazw zmiennych). Inną funkconalnością jest edycja bloków umożliwiająca parametryzowanie zmiennych IN, OUT, In_OUT - głównie ukrywanie tych które nie służą do komunikacji z resztą systemu, ale do parametryzowania funkcji samej w sobie. Jest to np. setpoint, strefa nieczułości dla bloków regulatora, czy czas dla timera. Jak zbudujesz blok z 100 zmiennymi IN, 20 OUT zruzumiesz, że operowanie takiej strukturze jest uciążliwe i bez CFC praca jest zwyczajnie trudna i chaotyczna.
    Niestety koszt takiej licencji to bagatela 2000 euro... :-) Dlatego nie rozwijam tego wątku bo dla większości zadań nie ma to sensu ekonomicznego.

    Struktura programu
    Zastanów się sam co ułatwiłoby Ci pracę.
    1. Zrobienie w jednym miejscu, raz dla całego programu takich zmiennych:
    - stała jedynka, stałe zero.
    - impulsy głobalne (trwające 1 skan) - 100 ms, 500 ms, 1s, 10s, 1min, 5 min, 1h.
    - impulsy resetu po restartach sterownika - indywidualne na każde OB (1, 32-35). Ustawiane w OB100, kasowane w danym OB w którym wywołałeś właściwe fukcje.
    2. Struktura programu właściwego:
    OB1 zawiera 2 funkcje:
    - funkcję organizacyjną - zawarte jest w niej wszystko z pkt. 1 - to będzie element niezmienny w każdym Twoim programie.
    - funkcję właściwego programu sterowania. Tam dzieliś program dalej na sekcję systemów, dalej dzielisz na pojedyńcze urządzenia.

    Śmietnik zawarty tylko w OB1 czy OB32-35 obróci się przeciwko Tobie bardzo szybko. Dlatego od samego początku podziel program na część stałą i zmienną. Tak jak wspomniałem, część stała będzie niezmienna przez lata, a zmienna jak to u programista - pełna dowolność. Ale nawet ta zmienna ma swoje ramy i posiada:
    - reset parametrów po restarcie
    - deklarację parametrów wejściowych (przepisanie zmiennych wejściowych na zmienne lokalne)
    - skalowanie wejść analogowych, czy parametrów konwertowalnych np. z INT na REAL, DINT na TIME (miałeś taki przykład w moim miniprogramie).
    - właściwy algorytm sterowania
    - deklarację parametrów wyjściowych (przepisanie zmiennych lokalnych na zmienne wyjściowe).
    Oczywiście pojawi się pytanie po co przepisywać cokolwiek na zmienne lokalne? Podam przykład. Mam 2 systemy 3 pomp, siłowników, czy zaworów z 2 potwierdzeniami na element wykonawczy. Deklarując I/O poprzez zmienne lokalne nie zmieniam nic w algorytmie właściwym, tylko w deklaracji na początku i na końcu funkcji. Dzięki temu nie piszę niczego 2 razy, a moje elementy wykonawcze mają indexy bez podpinania fizycznych I/O. Nie wspomnę o minimalnym ryzyku błędów.

    Tyle ode mnie.
    Podrawiam
  • #21 10367967
    Przemasbmw
    Poziom 9  
    Posty: 40
    Pomógł: 1
    Ocena: 1
    Widzę że kolega naprawdę jest zorientowany w tych tematach też bym tak chciał :cry:ale widzę że przede mną jeszcze dużo godzin spędzonych przy siemensie mam nadzieje że te pytania które zadaje i proszę o odpowiedz nie sprawiają jakiegoś problemu? Bo mam kolejne pytanie takie trochę z innej beczki oczywiście też z siemensa s7-300 a konkretnie o moduł wagowy siwarex bo mniej więcej wiem jak to działa ale jest takie pytanie które mi się nasuwa bo wiem że do tarowania tego modułu jest program siwatool ale słyszałem że jest możliwość tarowania tego modułu z poziomu programu ale nie przez operacje matematyczną żeby odjąć od siebie wartość która jest na wadze tylko z poziomu hardwera albo przez jakąś funkcje systemową zna kolega jakąś opcje do tego tematu? Z góry dziękuje za kolejną odpowiedz.
  • #22 10370746
    Rkarcz
    Specjalista Automatyk
    Posty: 564
    Pomógł: 81
    Ocena: 43
    Przemasbmw napisał:
    Widzę że kolega naprawdę jest zorientowany w tych tematach też bym tak chciał :cry:ale widzę że przede mną jeszcze dużo godzin spędzonych przy siemensie mam nadzieje że te pytania które zadaje i proszę o odpowiedz nie sprawiają jakiegoś problemu?


    Jak to mówią, po 8 latach i małpa się czegoś nauczy, więc moja wiedza nie jest niczym nadzwyczajnym i ogranicza się właściwie do automatyki samej w sobie i tylko i wyłącznie sprzętu i oprogramowania Siemens'a. Moja pierwsza praca umożliwiała mi szybki rozwój dzięki kolegom z pracy, nikt przede mną niczego nie taił i zawsze pomagał. Dlatego skoro o coś pytasz to chętnie Ci pomagam. Nie wnikaj w ogrom wiedzy do ogarnięcia. Rozwiązuj problemy, a wiedza przyjdzie sama. Nie osiądź na laurach a będziesz tylko lepszy i za 2-3 lata nie będzie problemów nie do rozwiązania. Poza tym w ramach Siemens'a korzystaj ze strony:

    http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo2&aktprim=99&lang=en

    To jest kopalnia wiedzy. Elektroda to co najwyżej naprowadzenia, bo strona Siemens'a naprawdę zawiera odpowiedź na większość problemów w formie FAQ, czy forum.

    Przemasbmw napisał:
    Bo mam kolejne pytanie takie trochę z innej beczki oczywiście też z siemensa s7-300 a konkretnie o moduł wagowy siwarex bo mniej więcej wiem jak to działa ale jest takie pytanie które mi się nasuwa bo wiem że do tarowania tego modułu jest program siwatool ale słyszałem że jest możliwość tarowania tego modułu z poziomu programu ale nie przez operacje matematyczną żeby odjąć od siebie wartość która jest na wadze tylko z poziomu hardwera albo przez jakąś funkcje systemową zna kolega jakąś opcje do tego tematu? Z góry dziękuje za kolejną odpowiedz.


    Tutaj masz prawdopodobnie demo integracji całości w Simatin Manager:

    http://support.automation.siemens.com/WW/view/en/25296061

    A tu masz odnośniki to tematów do modułach wagowych Siemens'a:

    http://support.automation.siemens.com/WW/view/en/36541530/130000

    Z modułami wagowymi nigdy nie miałem do czyniania, więc może te artykuły są nie na temat. Jakkolwiek warto przeglądać demówki, bo to pokazuje przynajmniej jaka powinna być struktura programu, czy komunikacji.
  • #23 10476534
    Przemasbmw
    Poziom 9  
    Posty: 40
    Pomógł: 1
    Ocena: 1
    Witam panowie dawno nic nie pisałem bo nic z siemensem nie działałem ale mam teraz już kolejny problem chce połączyć s7-200 224xp i s7-300 313c w sieci mpi i do tego panel TP177A i tu się zaczynają schody jak zmienić adres cpu s7-300 bo ma adres 2 i jak go zmieniam w hardware to nie mogę się z nim skomunikować a w online chyba nie da rady i kolejna sprawa jak uruchomić szybkie liczniki w tym cpu s7-300 na razie o s7-200 nie pytam bo zacząłem od s7-300 ale myślę że do tego też będą pytania w następnym poście z góry dziękuje za odpowiedzi pozdrawiam.
  • #24 10492250
    Rkarcz
    Specjalista Automatyk
    Posty: 564
    Pomógł: 81
    Ocena: 43
    1. Komunikacja S7-300 z S7-200:

    http://support.automation.siemens.com/WW/view/en/747743

    Komunikacja z TP177A dla S7-300 na pewno nie jest problemem, ale nie wiem jak dla S7-200, nigdy czegoś takiego nie robiłem.

    2. Co do ładowania zmieniającego adres sterownika, to przy ładowaniu pojawi Ci się okno z parametrami docelowego PLC. I tam wciśnij View i zaznacz interesujący Cię sterownik - właśnie z adresem 2. Pamiętaj też, że konfiguracja sieci (prędkość) też zostanie przeładowana. I możesz mieć problem z podłączeniem się do PLC. PG/PC Interface - zmień prędkość komunikacji na taką jak dla projektu.

    3. Szybkie liczniki, nie używałem. Opis z supportu:

    http://support.automation.siemens.com/WW/view/en/48064324
  • #25 10492474
    Rkarcz
    Specjalista Automatyk
    Posty: 564
    Pomógł: 81
    Ocena: 43
    Rkarcz napisał:
    1. Komunikacja S7-300 z S7-200:

    http://support.automation.siemens.com/WW/view/en/747743

    Komunikacja z TP177A dla S7-300 na pewno nie jest problemem, ale nie wiem jak dla S7-200, nigdy czegoś takiego nie robiłem.

    http://support.automation.siemens.com/WW/view/en/48064324


    Tu jest coś o połączeniach S7-200 z Flexiblem, a więc i z panelem TP177A.. :-)

    http://support.automation.siemens.com/WW/view/en/28263099
  • #26 10492718
    Przemasbmw
    Poziom 9  
    Posty: 40
    Pomógł: 1
    Ocena: 1
    Witam sprawa wygląda tak że zrobiłem komunikacje z s7-200 i s7-300 i wygląda że działa zrobiłem to przez funkcje systemową XPUT i XGET w s7-300 on w tym połączeniu jest masterem i on czyta i pisze do s7-200 wysyłają między sobą 10 bajtów całe połączenie zrobiłem z takiego manuala właśnie ze strony siemensa a stąd wiem że dział bo na funkcji XGET jak jej podam 1 na wejście odpowiedzialne za czytanie to wystawia 1 na wejściu które sygnalizuje że połączenie jest OK ale jak odłączę kabel to blok XGET przestaje się podświetlać i ginie ta jedynka na wyjściu XGET która jest odpowiedzialna za połączenie OK i cały problem jest w tym że nie wiem jak odczytać te przesłane bajty lub wysłać żeby s7-200 miał 1 na jakimś markerze albo jakąś wartość w zmiennej a jak to wszystko się odbywa np w profibusie lub innym połączeniu między dwoma s7-300 z góry dziękuje za pomoc.

    Dodano po 9 [minuty]:

    W załączniku jest program z tą komunikacją .
    Załączniki:
    • comunica.rar (2.32 MB) Musisz być zalogowany, aby pobrać ten załącznik.

Podsumowanie tematu

✨ Użytkownik zgłosił problem z działaniem timerów w bloku funkcyjnym (FB) w programie dla S7-300, gdzie timer nie liczy czasu, a od razu wystawia sygnał wyjściowy. W odpowiedziach zasugerowano sprawdzenie deklaracji zmiennych oraz użycie bloku TON (SFB4) zamiast S_ODT, co pozwala na wielokrotne wywołania z różnymi instancjami. Użytkownik częściowo rozwiązał problem, resetując timer przed zamknięciem bloku, ale nadal miał pytania dotyczące użycia wielu timerów oraz konwersji zmiennych. W dalszej dyskusji poruszono kwestie komunikacji między S7-200 a S7-300 oraz problemów z tarowaniem modułu wagowego Siwarex.
REKLAMA