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

Ergebnis 1 bis 8 von 8

Thema: S7-1500 ANY-Pointer an Multi-FB

  1. #1
    Registriert seit
    19.11.2015
    Beiträge
    6
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich bin TIA Anfänger und stehe seit mehreren Tagen völlig auf dem Schlauch Ich hoffe, ihr könnt mich zumindest mal auf den richtigen Weg bringen.

    Ich bin dabei, die Standard-Software unserer Firma von S7-300 auf S7-1500 (optimaler Weise auch S7-1200 kompatibel) umzubauen. Wie der Begriff "Standard" schon vermuten lässt, sind die Bausteine sehr flexibel und für alle Maschinensteuerungen einzusetzen, und das muss auch so bleiben.
    Daher wird viel von außen "dran-parametriert". Bisher haben wir es so gemacht, dass wir von außen per ANY-Pointer einen Datenbereich eines DB (der Bereich enthält meist mehrere unterschiedliche UDTs) übergeben haben. In den Bausteinen selbst haben wir diesen ANY-Pointer wieder zerlegt und somit wussten wir, in welchem DB die Daten liegen, ab welcher Adresse der Bereich beginnt, welche Länge zu lesen/schreiben ist, etc. Wichtiger Knackpunkt dabei: im FB konnte man somit Daten aus dem DB auslesen, als auch Daten direkt dort hineinschreiben.

    Im TIA kann ich aber scheinbar überhaupt nicht mehr per
    Code:
    L P##IN_ANY_Lesebereich
    auf Input-Variablen zugreifen. Also kann ich auch nicht auf den Wert für die Länge der Daten zugreifen, was ich ja zB auch für die Parametrierung eines Kopplers oder RFID-Readers brauche.
    Da sich die Länge der Daten je nach Anlage, Anwendung und Funktion unterscheidet, sollen möglichst alle benötigten Infos in einem Übergabewert stecken (wie ANY-Pointer).

    Also meine Fragen:
    - lassen sich ANY-Pointer in der Form wie benötigt nicht mehr benutzen? Wenn doch, wie? Wenn nein, was ist die Alternative? Variant, DB_Any, Array_DB, Block_DB, etc?

    Ich brauche also mal einen Tipp, mit welchen neuen Funktionen ich mich am besten beschäftige. Ich kann schlecht die Step7-V13 Doku mit 13040 Seiten komplett lesen

    Gruß
    Rudelz


    EDIT:
    Bei nicht "optimiertem Bausteinzugriff" funktioniert der Zugriff ANY-Pointer wie gehabt. Aber ist das eine "schöne und saubere" Lösung im TIA-Zeitalter?
    Geändert von Rudelz (24.11.2015 um 10:32 Uhr)
    Zitieren Zitieren S7-1500 ANY-Pointer an Multi-FB  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.190
    Danke
    923
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Im TIA-Zeitalter und S7-1500 solltet Ihr euch von den alten ANY-Schweinereien verabschieden.
    Schreibt die Bausteine neu und voll symbolisch. Übergebt Strukturen. Schreibt notfalls mehrere angepasste Bausteine statt einem, der "Alles" können soll.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #3
    Rudelz ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.11.2015
    Beiträge
    6
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Momentan ist es möglich, die gesamte Software für eine "ähnliche" Anlage zu kopieren und über Parameter anzupassen. Wie du es schreibst, würde es bedeuten, in jedem einzelnen FB Anpassungen vorzunehmen. Das ist nicht nur enorm zeitaufwändig, sondern auch sehr fehleranfällig. Und genau das wollen wir vermeiden. "Inbetriebnehmer" sollen das auch schaffen, nicht nur die Entwicklungsabteilung.

    Wäre natürlich aus unserer Sicht ein Rückschritt, falls TIA wirklich weniger flexibel verwendet werden kann. Ich hoffe momentan einfach, dass ich die "guten Lösungen" und nötigen Funktionen noch nicht entdeckt habe...

  4. #4
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Ich habe das auch drin, es geht einfach nicht anders im TIA, wenn ich meine Datenabblage in der SPS nicht komplett ändern will.
    Ich habe 50 Typ-DB, die müssen ja nach Typ umkopiert werden. Das geht symbolisch nur über eine 50-er Case-Anweisung (wenn überhaupt) oder eben über das ermitteln der Quell-/Zieldaten aus dem Any und dann umkopieren mit BLOCKMOV_Variant.
    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

  5. #5
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.190
    Danke
    923
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Das Problem bei ANY ist, daß der Baustein mit Adressen jongliert und deshalb nur auf nicht-"optimierte" Daten zugreifen kann. Mit den von Siemens angedrohten drastischen Performance-Einbußen. Dann braucht man (noch) keine S7-1500 einsetzen, wenn die eh' nur eine S7-400 emuliert.

    Mit Variant kann man noch nicht wirklich was anfangen.

    Bei dem gedankenlosen 1:1-Weiternutzen uralt gewachsener S7-300-Bausteine hat man zusätzlich die realistische Gefahr, daß man die Probleme der azyklischen Kommunikation mit HMI und das geänderte Timerverhalten schlicht übersieht und sich dadurch häufiges sporadisches unerklärliches Fehlverhalten in die neuen Programme holt, obwohl die alten Bausteine doch so toll funktioniert haben. Beim Konvertieren muß man sich tatsächlich jede einzelne Codezeile ansehen.

    Ich bin für komplett neu schreiben.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. Folgende 2 Benutzer sagen Danke zu PN/DP für den nützlichen Beitrag:

    Funky (24.11.2015),Rudelz (24.11.2015)

  7. #6
    Rudelz ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.11.2015
    Beiträge
    6
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Bei dem gedankenlosen 1:1-Weiternutzen uralt gewachsener S7-300-Bausteine hat man zusätzlich die realistische Gefahr, daß man die Probleme der azyklischen Kommunikation mit HMI und das geänderte Timerverhalten schlicht übersieht und sich dadurch häufiges sporadisches unerklärliches Fehlverhalten in die neuen Programme holt, obwohl die alten Bausteine doch so toll funktioniert haben. Beim Konvertieren muß man sich tatsächlich jede einzelne Codezeile ansehen.

    Ich bin für komplett neu schreiben.

    Harald
    Das sehe ich genau so. Und ich hätte auch gerne die Zeit und Ressourcen dafür, das alles IEC-konform und TIA-optimiert neu aufzubauen. Leider müssen in der Welt der Automatisierungstechnik Kompromisse getroffen werden, die "optimale Software" nicht möglich machen. Der Kunde wartet ja schließlich nicht unendlich lange auf Ergebnisse

    Nach meinem Gespräch mit einem Siemens Mitarbeiter eben, der gleicher Ansicht war, muss ich nur noch die Vorgesetzten davon überzeugen, mal in ordentliche Lösungen zu investieren (Schulungen, Zeit). Dieser sagte auch, dass Datenlisten als VARIANT übergeben bereits super funktioniert Mal testen...

  8. #7
    Rudelz ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.11.2015
    Beiträge
    6
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Aber noch mal zum aktuellen Problem:
    Wenn ich einen Datenbereich an einen FB übergebe (ANY, Variant, UDT, etc), muss es doch möglich, im FB die Länge dieses Bereichs zu bestimmen, ohne den "optimierten Bausteinzugriff" aufzuheben?!
    Die Information steckt doch definitiv in dieser übergebenen Variable. Gibts kein "get_length" oder sowas??

  9. #8
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von PN/DP Beitrag anzeigen
    Das Problem bei ANY ist, daß der Baustein mit Adressen jongliert und deshalb nur auf nicht-"optimierte" Daten zugreifen kann. Mit den von Siemens angedrohten drastischen Performance-Einbußen. Dann braucht man (noch) keine S7-1500 einsetzen, wenn die eh' nur eine S7-400 emuliert.
    Genau, wer braucht die 1500 und dieses TIA eigentich überhaupt???
    Optimierter Bausteinzugriff, eh wirklich, das ist doch alles ein Witz.
    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

Ähnliche Themen

  1. TIA S7-1500 SCL Any Pointer auf UDT zuweisen
    Von kamikaaze im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 08.10.2015, 08:54
  2. Antworten: 6
    Letzter Beitrag: 07.07.2015, 09:10
  3. Antworten: 5
    Letzter Beitrag: 13.03.2015, 12:00
  4. Any Pointer in multi FB
    Von Farinin im Forum Simatic
    Antworten: 30
    Letzter Beitrag: 24.02.2011, 13:38
  5. Antworten: 17
    Letzter Beitrag: 06.08.2010, 09:41

Lesezeichen

Berechtigungen

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