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

STEP7, Master (CPU300) - slave(ET200s), KOMUNIKACJA

studentka_autom 13 Sty 2007 14:59 4431 8
  • #1 3441336
    studentka_autom
    Poziom 11  
    Posty: 24
    Pomógł: 1
    Dopiero uczę się STEP7 i mam problem:

    - nie wiem jak napisac prosty program w języku drabinkowym przesyłający dane z mastera do slava :cry:
    -Czy ktoś mógł by mi powiedzieć jakie bloki do tego służą :?:
    - Przydałby mi się jakiś prosty programik w LAD, który wyśle "jedynkę" na slava.
    - Czy istnieje możliwość symulacji takiej komunikacji i oczywiście jak to podejrzeć?:?:

    PS pilnie potrzebuję pomocy:!:
  • Pomocny post
    #2 3441420
    Maly
    Poziom 33  
    Posty: 2609
    Pomógł: 195
    Ocena: 336
    jak sieć jest skonfigurowana w Hardware configuration, to sterownik widzi wyspę ET jako swoje wejścia/wyjścia. nie trzeba specjalnych bloków do sterowania tymi we/wy.
    piszesz np w bloku OB1
    A I1.1
    = Q1.0
    podanie sygnału na wejście i1.1 wystawi jedynkę na wyjście Q1.0.
    W tym hardware conf... określasz jaki masz zasilacz, sterownik, karty oraz na złączu profibusa jaką wyspę ET z kartami we/wy
    Step nie ma opcji symulacji, możesz tylko na fizycznym sterowniku podejrzeć stan wejść/wyjść.

    dodaję to samo w ladzie
    STEP7, Master (CPU300) - slave(ET200s), KOMUNIKACJA
  • #3 3441469
    studentka_autom
    Poziom 11  
    Posty: 24
    Pomógł: 1
    Chyba nie do końca o to mi chodzi, albo czegoś nie rozumiem.

    Chodzi mi aby wejście sterownika z CPU 300, zostało odebrane przez wyspę ET200s (po przez profibus'a).

    Wydaje mi się że takie rozwiązanie ustawi mi wyjście na module strownika z CPU300. Ja własnie nie wiem jak zaadresowac przekaźnik aby wyspa to odebrała
  • #4 3441493
    Maly
    Poziom 33  
    Posty: 2609
    Pomógł: 195
    Ocena: 336
    wszystko zależy od tego, jakie adresy masz ustawione w sterowniku i w wyspie. 300 nie ma na sztywno przypisanych adresów do modułów, w zakładce Hardware configuration możemy te adresy dowolnie przypisać, np adres wejść 1 na sterownik i adres wyjść 1 na wyspę.
    Chyba że karta sterownika ma wejścia i wyjścia, to wtedy nie pozwoli na to, tylko przy adresowaniu wyspy program zaproponuje pierwszy wolny.
    sprawdź jakie masz adresy, i wtedy zrób tak jak na rysunku z adresem wejścia ze sterownika i adresem wyjścia wyspy, zadziała :)
    Oczywiście mam nadzieję, że hardware jest skonfigurowany i wgrany do sterownika
  • #5 3441575
    studentka_autom
    Poziom 11  
    Posty: 24
    Pomógł: 1
    Tak hardware jest skonfigurowany i wgrany do sterownika:D

    Faktycznie adresy wejść i wyjść w hardware CPU300 i ET200s są inne :idea: i nie trzeba dodatkowych bloków wystarczy OB1. Tak:D powinno zadziałać :D

    A jak przesłąć większą ilość danych :?:

    Mam na myśli zmienne wewnętrzne typu word np:
    - mw10 z CPU do mw20 w ET200s
  • #6 3441901
    Maly
    Poziom 33  
    Posty: 2609
    Pomógł: 195
    Ocena: 336
    tak samo:
    L MM10
    T QW(...)
    w miejsce kropek wstawiasz numer słowa wyjściowego wyspy.
    W lad-zie będzie tak samo tylko korzystasz z bloku, zdaje się MoveW (przesuń słowo)
    master z wyspami nie różnie się niczym od jednego "fizycznego" sterownika. Program widzi te wyspy jakby były one częścią integralną cpu
  • #7 3442211
    studentka_autom
    Poziom 11  
    Posty: 24
    Pomógł: 1
    Nie sądziłam że to takie proste (na GEFanuku było to o wiele bardziej skomplikowane).

    Ale skoro program widzi te wyspy jakby były integralną częścią cpu, to pewnie nie można operować tylko na zmiennych wewnętrznych :?:
    Tu już chyba byłby problem jak je rozróżnić, które zmienne wewnętrzne należą do S7 300 a które do Et200 (o ile ET200s w ogóle ma takie zmienne :?: )

    I co z SFC73 "I_PUT" i SFC72 "I_GET", kiedy się je właściwie stosuje :?:

    PS. Zadaję tyle pytań wszędzie pełno dokumentacji jak to skonfigurować ale już przykładów samej wymiany danych to tylko jeden znalazłam (bardzo skomplikowany, z dużą ilością elementów w konfiguracji sieci) i to w STL którego nie umiem, a zmiany widoku na LAD to nie wiem czemu ale nie można zrobić :|

    I jest jeszcze coś, co mnie zastanawia, a mianowicie to że mam tą komunikację zrealizować na dwa sposoby- jako:

    1) typowa wymiana danych Master-Slave np. przesył DB
    2) wymiana danych gdy wyspa jest traktowana jako kolejne wejścia-wyjścia sterownika.

    To jest jakaś różnica między realizacją 1 i 2:?: bo z poprzedniej odpowiedzi wynika że nie.
  • Pomocny post
    #8 3451406
    Maly
    Poziom 33  
    Posty: 2609
    Pomógł: 195
    Ocena: 336
    Tak zwane zmienne wewnętrzne cpu to właśnie zmienne które można wrzucić do wyspy. Sama wyspa nie ma swoich zmiennych.
    Operujesz tylko na zmiennych cpu (flagi liczniki czasówki) niezależnie od tego ile masz dodatkowych wysp. Wtedy masz tylko więcej we/wy.
    Może tutaj lekko się nie zrozumieliśmy, ale wyspa nie jest tak do końca slave-m dla cpu, ona jest wręcz jego obszarem fizycznym we/wy. Dlatego adresy określamy tak jak dla we/wv samego cpu. Tak samo z przesyłem słów, po prostu wysyłasz słowo na wyjście i działa.
    Co do bloków sfc 72 i 73 to zdaje się że są to bloki do przesyłu danych między "typowymi" masterami i slavami, czyli gdy np masterem jest 300, a slavem jest 200, np s7 200 cpu226 skonfigurowany w hardware con. Albo np S7 400 jako master i s7 300 lub s7 200 jako slave. Wtedy wykorzystujesz bloki sfc (mówię z pamięci, akurat nie siedze przed stepem, więc nie pamiętam numerów tych bloków).
    Mam nadzieję, że druga część pytania jest już jasna. Bloki DB w twoim przypadku nie są konieczne, to jest niemal fizyczny obszar we/wy.
    Tylko w przypadku dwóch sterowników (lub więcej) mamy mastera i slave'a i wtedy wykorzystujemy bloki przesyłu danych.
    Pozdrawiam.
    Idę na imprezę :)
  • #9 3458107
    studentka_autom
    Poziom 11  
    Posty: 24
    Pomógł: 1
    Dziękuję bardzo za pomoc :D . Teraz wszystko jasne :D
    Dziękuję i również pozdrawiam.

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy problemów z komunikacją pomiędzy sterownikiem S7-300 (CPU 300) jako masterem a wyspą ET200s jako slavem w środowisku STEP7. Wskazano, że po poprawnej konfiguracji sprzętowej w Hardware Configuration wyspa ET200s jest widziana przez CPU jako rozszerzenie wejść/wyjść i nie wymaga specjalnych bloków do sterowania. Prosty program w języku drabinkowym (LAD) może operować bezpośrednio na adresach wejść i wyjść przypisanych w konfiguracji, np. w bloku OB1. Przesyłanie pojedynczych bitów lub słów (np. MW10 do MW20) odbywa się przez adresowanie odpowiednich wejść/wyjść wyspy, traktowanych jak integralna część CPU. Wyspa ET200s nie posiada własnych zmiennych wewnętrznych, operuje się na zmiennych CPU. Bloki SFC72 "I_GET" i SFC73 "I_PUT" służą do komunikacji między różnymi sterownikami S7 (np. S7-300 i S7-200) w trybie master-slave, a nie do komunikacji z wyspą ET200s. STEP7 nie oferuje symulacji komunikacji, dlatego testy należy przeprowadzać na fizycznym sprzęcie. Wymiana danych może odbywać się na dwa sposoby: jako typowa wymiana danych master-slave (np. przesył DB) lub traktowanie wyspy jako rozszerzenia wejść-wyjść CPU.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA