Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 8 von 8

Thema: Daten rangieren S7 1500

  1. #1
    Registriert seit
    19.10.2010
    Beiträge
    325
    Danke
    15
    Erhielt 36 Danke für 31 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten abend,

    Wir sind gerade dabei die ersten Neuanlagen mit 1500er Steuerungen zu projektieren. Nun wollen wir natürlich in diesem Zuge auch unser Programm etwas auf die neuen Möglichkeiten hin zu optimieren. Allerdings sind wir jetzt bei einem Punkt angekommen, das sind wir mit unserem Latein am Ende und wissen nicht so recht, wie man das am Komfortabelsten handhabt. Und zwar geht es um das Rangieren von Ein-/Ausgängen von Feldbuskomponenten. Also zum Beispiel Movimot oder Scanneranbindungen. Bisher hatten wir einen FC der mit der PEW Adresse aufgerufen wurde und der die Daten dann in einen DB abgelegt hat, der als Block DB übergeben wurde. Intern hatten wir dann ganz Quick and Dirty mit AUF DB direkt dir zugehörigen Bits aus dem PEW oder andersrum beschrieben. Nun ist das ja aber bei der S7 1500 ja nicht mehr so einfach, wenn man mit optimierten DBs arbeiten will. Wie macht ihr das denn? Vorgabe sollte sein, dass jedes Signal beschriftet werden kann, was einen Datentyp wieder ausschließt. Allerdings würde ich aber auch ungern die Signale von außen dann per Hand anhängen, was ja wieder mit Schreibarbeit verbunden ist. Ich hoffe ich versteht mein Problem und ihr könnt mir da ein zwei hilfreiche Tips geben.

    Vielen Dank.
    Zitieren Zitieren Daten rangieren S7 1500  

  2. #2
    Registriert seit
    27.07.2007
    Beiträge
    223
    Danke
    17
    Erhielt 42 Danke für 40 Beiträge

    Standard

    Eine Möglichkeit wäre eine Struktur als InOut zu verwenden. Dann können im Baustein auch die Variablennamen verwendet werden. Mit der 1500er lassen sich auch benutzerdefinierte Datentypen auf Peripherie Ebene realisieren. Was es da für Regeln gibt weiß ich nicht, da ich eine solche Steuerung noch nicht verwendet habe.
    Bei Verwendung von einzelnen Bits in Worten kann der sogenannte symbolische Slice zugriff verwendet werden, z.B. Bit 0 einer Word-Variablen.
    Code:
    Word_Variable.%X0

  3. #3
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.227
    Danke
    534
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Ich lege für IN und OUT eines Profinetteilnehmers je einen Datentyp an. Dieser Datentyp bildet am Besten genau die Struktur der Daten des Teilnehmers ab, welche man in der Schnittstellenbeschreibung des jeweiligen Herstellers findet. Man kann das bis ins Bit hinunter aufschlüsseln. Dann Füge ich diesen Datentyp in die PLC-Variablentabelle ein und schreibe die E/A-Adresse, welche im Gerätemanager vergeben wurde an diesen Typ. Die Information im Gerätemanager (Länge der Daten) muß natürlich mit den erstellten Datentyp übereinstimmen.
    Wenn ich dann einen Basustein erstelle, lege ich die IN- und OUT- des Gerätes als IN und OUT an den Baustein. Dazu muß ich im Bazsteinkopf die erstellten Datentypen verwenden.
    Nun kann ich im Bazstein mit den einzelnen Variablen, die im Datentyp angelegt wurden ganz komfortabel und übersichtlich arbeiten.
    bei mehreren Geräten z.Bsp. Scannern habe ichin der Variablentabelle ja mehrere Variablen des Datentyps angelegt, diese kommen an den Baustein

    .Schnappschuss (2016-06-21 11.26.12).jpgSchnappschuss (2016-06-21 11.28.06).jpgSchnappschuss (2016-06-21 11.30.26).jpg

    In obigem Beispiel ist der Datentyp "Scanner_IN" nicht bis ins Bit aufgeschlüsselt, dann kann man auch per Slice-Befehl auf die einzelenen Bits zugreifen. Das geht bei kleineren Sachen gut, wenn mehr zu Programmieren ist, ist ein komplettes Aufschlüsseln später übersichtlicher. Aufpassen muß man bei Wortgrenzen. Nicht alle Gerätehersteller machen das richtig (Kann auch sein, dass Siemens das in TIA nicht korrekt umgesetzt hat). So muß ich bei einem Scanner auf ein AW2003 (ungerade) zugreifen, um EIN wird zu erhalten, weil dort nach einem Byte anschließend gleich ein Word definiert wurde. TIA kann das so nicht, nach dem Byte fügt TIA ein Füllbyte ein (unsichtbar) und macht für das Word bei 2004 weiter. Hier hat man u.U. ein Problem, wenn man später in der Struktur nicht den richtigen Wert erhält und muß Hand anlagen. Ist mit aber erst einmal bei einem Scanner passiert.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  4. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    Hohlkörper (21.06.2016)

  5. #4
    SPS-freak1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.10.2010
    Beiträge
    325
    Danke
    15
    Erhielt 36 Danke für 31 Beiträge

    Standard

    Danke für die Antworten. Bei einem Scanner, wo der Eingang immer der gleiche ist, würde ich das auch so machen. Allerdings gibt es ja auch diverse Slaves bei denen der Eingang umbeschriftet werden muss. Zum Beispiel Cube 67 oder Wago Speedway oder wie sie alle heißen. Da habe ich auch quasi pro Modul immer die gleiche Struktur aber halt immer ein anderes Symbol bzw Kommentar dazu. Diesen Fall kann ich ja schlecht per Datentyp erschlagen. Da ich ja für jedes gleiche aber weitere Modul ja die Beschriftung im Datentyp ändern müsste und somit es ja für den Rangierbaustein auch wieder ein anderer ist. Dafür fällt mir leider überhaupt nichts sinnvolles ein.

  6. #5
    Registriert seit
    11.12.2009
    Beiträge
    2.115
    Danke
    388
    Erhielt 390 Danke für 271 Beiträge

    Standard

    Es muss ja kein UDT sein, ein STRUCT in einem DB tut es auch.

    Grüße

    Marcel
    Stell Dir vor es geht, und keiner kriegts hin!

  7. #6
    SPS-freak1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.10.2010
    Beiträge
    325
    Danke
    15
    Erhielt 36 Danke für 31 Beiträge

    Standard

    Aber kann ich das Struct symbolisch übergeben oder geht das nur absolut? Wenn ich mir da jetzt Gedanken mach, möchte ich da auch davon haben

  8. #7
    Registriert seit
    27.07.2007
    Beiträge
    223
    Danke
    17
    Erhielt 42 Danke für 40 Beiträge

    Standard

    Struct geht auch symbolisch, es muss nur der Aufbau der Struktur zusammenpassen.

  9. #8
    SPS-freak1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.10.2010
    Beiträge
    325
    Danke
    15
    Erhielt 36 Danke für 31 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten abend,

    Danke für den Tipp. Mit der Struktur habe ich heute mal einen kleinen Test gemacht. Funktioniert. Aber haben uns jetzt drauf geeinigt, die Sensoren/Aktoren direkt per Variablentabelle zu definieren. Die Geschichte mit dem Struct wäre evtl was für Schrittketten. Um da den schritt beschriftet zu haben. Vielen dank für eure Hilfe

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 29.06.2015, 18:54
  2. Antworten: 0
    Letzter Beitrag: 05.03.2015, 09:05
  3. TIA S7 1500 soll passiv Daten von PC empfangen - TRCV_C
    Von HardyTeile im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 14.08.2014, 13:26
  4. Viele E/A rangieren, Tipps?
    Von Flux im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 16.11.2012, 23:01
  5. Variabeln rangieren WinCC V6.2
    Von Chaos0815 im Forum HMI
    Antworten: 12
    Letzter Beitrag: 06.01.2010, 09:27

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •