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

Ergebnis 1 bis 8 von 8

Thema: Schwierigkeiten bei einem migrierten Baustein von Klassisch auf TIA

  1. #1
    Registriert seit
    09.11.2012
    Beiträge
    49
    Danke
    4
    Erhielt 1 Danke für 1 Beitrag

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi zusammen,

    ich habe Probleme mit einem Baustein, den ich in TIA migriert habe.
    Im folgenden Programmabschnitt soll ein gewählter Parametersatz in den aktuellen Parametersatz mittels Pointeradressierung kopiert werden.

    Code:
         
    
         TAR1  #t_RettAR1           //Inhalt AR1 merken
    
          LAR1  P##t_P_Satz_1_20_any //Lade den Zeiger
    //modifiziere Zeiger
          L     B#16#10              // Syntay
          T LB [ AR1 , P#0.0 ]
          L     B#16#2               // Byte oder Wort (2=Byte, 4=Wort)
          T LB [ AR1 , P#1.0 ]
          L     #Blockgroesse_Para_Satz_D// Anzahl der Bytes oder Worte die übertragen werden sollen
          T LW [ AR1 , P#2.0 ]
          L DINO                     // Nr. des Instanz-DB's laden
          T LW [ AR1 , P#4.0 ]
          L     P##_P_Satz_1         // Anfangsadresse laden    //UDT XY
          L     #t_Offset_Para_Satz_Nr// Offset laden
          SLD   3
          +D
          T LD [ AR1 , P#6.0 ]
    
          LAR1  #t_RettAR1           //AR1 restaurieren
    
    
    //Bis hier her alles kein Problem
    
    //Der Blockmove verusacht einen Bereichzugriffsfehler
    
          CALL  BLKMOV
             blk_type:=Variant
             SRCBLK  :=#t_P_Satz_1_20_any    //Any
             RET_VAL :=#t_RET_VAL
             DSTBLK  :=#t_P_Satz_aktu             //UDT XY
    Wieso funktioniert das nicht? CPU ist eine 1511C.
    Ich würde gerne den kompletten FB neu und moderner schreiben, aber mein Kollege der den Baustein entwickelt hat möchte wenn möglich alles so lassen wie es ist.

    Danke für eure Hilfe.

    Edit: Meine Vermutung ist , dass Blk_move variant den Any-Pointer falsch intepretiert.
    Zitieren Zitieren Schwierigkeiten bei einem migrierten Baustein von Klassisch auf TIA  

  2. #2
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.652
    Danke
    310
    Erhielt 1.494 Danke für 1.259 Beiträge

    Standard

    Naja, was steht denn an der Stelle "Bis Hier kein Problem" im Any-Pointer?
    Ist der FB auch "nicht optimiert"?
    Vermutlich, so war es in einem anderen Thread ist das Problem aber das in der Anfangsadresse die mit L P##_P_Satz_1 geladen wird als Kennung DIX verwendet wird,
    d.h. du bastelst einen Pointer mit DB"DINO".DI"_P_Satz_1 + t_Offset_Para_Satz_Nr".

    Wobei das was man jetzt hier erkennen kann eigentlich geradezu nach SCL und Array OF UDT schreit.

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  3. #3
    Registriert seit
    09.11.2012
    Beiträge
    49
    Danke
    4
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke für deine Antwort.
    Ja ich würde es auch so Programmieren also mit array of UDT.
    In der klassischen Welt läuft der Baustein.
    Anbei ein Screenshot mit Beobachtungswerten.
    Neue Bitmap.jpg

  4. #4
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.652
    Danke
    310
    Erhielt 1.494 Danke für 1.259 Beiträge

    Standard

    Also, wie vermutet, der Any wird mit Kennen DIX erzeugt.

    Abhilfe:
    Modele das 16#85..... auf 16#84.... um.
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  5. #5
    Registriert seit
    09.11.2012
    Beiträge
    49
    Danke
    4
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Goil! Soweit funktionierts mal! Danke

    Ashampoo_Snap_2016.07.15_11h30m12s_003_.jpg

    Kannst du mir sagen wieso es in der klassischen Welt funktioniert hat? Solle ich es im alten Baustein auch ändern?

  6. #6
    Registriert seit
    14.09.2014
    Beiträge
    42
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Leute!

    Stehe jetzt vor einem Projekt bei dem eine 1500 CPU verwendet werden soll, haben Vorlagebausteine die natürlich in S7 sind.
    Habe gerade ein Video gefunden von Siemens in dem steht dass AWL Netzwerke nicht migriert werden können.

    Jetzt habe ich diesen Beitrag gefunden, und da oben siehts mir verdächtig nach AWL aus, also meine Frage an alle, hat schon jemand Erfahrung mit solchen migrationen? Worauf sollte man achten usw.

    Das Video war mit TIA V11, benutze derzeit V13 SP1 Upd9.

    Vielleicht kann mir jemand beistehen, will nicht alles neu schreiben.

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

    Standard

    V13 SP1 Upd9 kann AWL, die CPU1500 auch. Das sollte eigentlich funktionieren.
    Ich hatte mal ein Testprojekt migriert das fast nur aus AWL bestand, das funktionierte damals. CPU war eine 315-2DP.

  8. #8
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.423
    Danke
    710
    Erhielt 611 Danke für 469 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    AWL Migrieren ist ohne Probleme möglich. Zur 1500er. Die 1200er kann halt kein AWL.

    Aber es ist auf jedenfall nötig das Programm danach mindestens mal durchzuprüfen. Der Aufwand ist IMHO geringer als früher der wechsel von S5 zu S7, aber nicht zu unterschätzen. Und man lässt natürlich alle weiterentwicklungen in der 1500er links liegen.

    Zum Punkt warum der move auf ne Instanz trotz falscher Deklaration in der S7300 funktioniert hat, kann ich mir nur erklären dass für die S7-300 es egal war ob man auf eine Instanz wie auf einen GlobalDB zugriff, da die DBs intern immer einfach globale DBs waren. Ich zumindest hab die Typdeklaration des DBs in den Pointern auch nie umgesetzt. Ich hab eh immer nur auf DBs gepointert und da hab ich nicht unterschieden zwischen instanzdbs und Globaldbs.
    Mit SCL habe ich die eigene Instanz sowieso immer Symbolisch adressiert.

    mfG René

Ähnliche Themen

  1. TIA BlkMov bei optimiertem Baustein im TIA Portal
    Von Eduard Schleich im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 29.04.2016, 07:27
  2. Antworten: 5
    Letzter Beitrag: 25.03.2015, 19:59
  3. TIA Absturz TIA V12 SP1 Update 3 bei Baustein-Onlineansicht
    Von grosser_marco im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 17.04.2014, 18:14
  4. Antworten: 2
    Letzter Beitrag: 21.09.2012, 12:06
  5. Instanzen von einem S5 Baustein
    Von Anaconda55 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 04.03.2010, 00:50

Stichworte

Lesezeichen

Berechtigungen

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