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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 30

Thema: AWL in SCL umprogrammieren

  1. #11
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    11.851
    Danke
    500
    Erhielt 2.590 Danke für 1.870 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Für TIA ist das leider nur halb geeignet. Genau da gibt es 2 dicke Probleme.

    1. symbolische Adressierung --> Das ginge mit eine langen Case-Anweisung und dem direkten absolut adressierten Umkopieren von Strukturen (komplette DB).
    Für 200 Programme mußt du dann eine 200-er case-Anweisung schreiben.

    2. wenn man nicht symbolich adressiert, dann muß man die DB auf "nicht optimiert" einstellen und mit BLKMOV (Variant). Dazu mußt du dann auch Amy-Zeiger nutzen.
    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

  2. #12
    Registriert seit
    05.03.2012
    Beiträge
    34
    Danke
    7
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke Ralle,

    genau so wird's gemacht. Ich versuch es mal hin zu bekommen und melde dann hoffentlich mit einem Erfolg

  3. #13
    Registriert seit
    05.03.2012
    Beiträge
    34
    Danke
    7
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Ich wollte das nach erfolgreichem testen in TIA migrieren.
    Aber so wie sich das von dir anhört gibt es da Probleme

  4. #14
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    9.404
    Danke
    799
    Erhielt 2.766 Danke für 2.234 Beiträge

    Standard

    Wenn es für S7-300 oder S7-400 sein soll - warum dann zu SCL konvertieren? Der AWL-Code tut doch seinen Zweck. Man könnte jedoch das Kopieren auf BLKMOVs mit zusammengebastelten ANYs umstellen (wie in dem FC112 von Ralle), damit viel schneller kopiert wird. SCL macht das Ganze nur wieder uneffizienter.

    Wenn die Funktion später auch auf S7-1200/S7-1500 gebraucht werden sollte, dann wird das Adress-orientierte Kopieren gar nicht funktionieren oder nur äußerst langsam. Da muß dann die Funktion nochmal neu geschrieben werden. Wer weiß, was sich Siemens bis dahin Neues ausgedacht hat...

    Ich sehe das Problem genau so wie Ralle.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. #15
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.241
    Danke
    667
    Erhielt 575 Danke für 441 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    Für TIA ist das leider nur halb geeignet. Genau da gibt es 2 dicke Probleme.

    1. symbolische Adressierung --> Das ginge mit eine langen Case-Anweisung und dem direkten absolut adressierten Umkopieren von Strukturen (komplette DB).
    Für 200 Programme mußt du dann eine 200-er case-Anweisung schreiben.

    2. wenn man nicht symbolich adressiert, dann muß man die DB auf "nicht optimiert" einstellen und mit BLKMOV (Variant). Dazu mußt du dann auch Amy-Zeiger nutzen.
    Durch TIA ändert sich ja an der Programmierweise der alten Hardware 300/400er nichts. Da funktioniert also alles wie du beschrieben hast. Das für die 1500er umzubauen wird IMHO dann etwas komplexer wegen der Variantmodelle die man ja weder bearbeiten noch betrachten kann.
    Aber auch da könnte man ja deinen Baustein etwas anpassen und bei nicht optimierten DBs bleiben.

    mfG René

  6. #16
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    11.851
    Danke
    500
    Erhielt 2.590 Danke für 1.870 Beiträge

    Standard

    Zitat Zitat von vollmi Beitrag anzeigen
    Durch TIA ändert sich ja an der Programmierweise der alten Hardware 300/400er nichts. Da funktioniert also alles wie du beschrieben hast. Das für die 1500er umzubauen wird IMHO dann etwas komplexer wegen der Variantmodelle die man ja weder bearbeiten noch betrachten kann.
    Aber auch da könnte man ja deinen Baustein etwas anpassen und bei nicht optimierten DBs bleiben.

    mfG René
    Richtig, aber ich habs schon am Laufen mit dem Blkmov(Variant). Der arbeitet eigentlich wie bei der 300-er inkl. Any, den ich über einen eigenen Baustein erzeuge und einfach an den Blkmove schreibe. Aber das ist dann eben eigenlich wieder außerhab der neuen 1500-er SPS-Philosophie.
    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

  7. #17
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.241
    Danke
    667
    Erhielt 575 Danke für 441 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    Richtig, aber ich habs schon am Laufen mit dem Blkmov(Variant). Der arbeitet eigentlich wie bei der 300-er inkl. Any, den ich über einen eigenen Baustein erzeuge und einfach an den Blkmove schreibe. Aber das ist dann eben eigenlich wieder außerhab der neuen 1500-er SPS-Philosophie.
    Jap. Aber kennst mich ja. Da hab ich schon in anderen Treads drüber gewettert. Gerade erst begriffen wie das mit den Pointern funktioniert und sogar in SCL. Dann schmeissen sie Variant hinterher und da geht wieder garnix dergleichen. Zum Kotzen.

    mfG René

  8. Folgender Benutzer sagt Danke zu vollmi für den nützlichen Beitrag:

    Blockmove (06.01.2016)

  9. #18
    Registriert seit
    05.03.2012
    Beiträge
    34
    Danke
    7
    Erhielt 1 Danke für 1 Beitrag

    Idee

    Hallo zusammen,

    ich bin dabei den unten stehenden Code von Harald in SCl ins Tia portal zu bringen.
    Leider habe ich bei der Pointerschreibweise ein problem bzw. weiß noch nicht so richtig wie ich den Pointer im Tia SCL hin bekomme.

    Zitat Zitat von PN/DP Beitrag anzeigen
    Der Code ist nicht unbedingt hocheffizient geschrieben, aber leicht verständlich. Es sind 2 Kopierfunktionen in die selbe Schleife gepackt, die könnte man auch nacheinander ausführen.

    Die Schleife kopiert die ersten 778 Words von DB1000 zu DB[#aktuelle_PrgNr_plus_1000] und von DB[#neue_PrgNr_plus_1000] zu DB1000.
    Also quasi
    - BLKMOV "P#DB1000.DBX0.0 BYTE 1556" ---> "P#DB[#aktuelle_PrgNr_plus_1000].DBX0.0 BYTE 1556"
    - BLKMOV "P#DB[#neue_PrgNr_plus_1000].DBX0.0 BYTE 1556" ---> "P#DB1000.DBX0.0 BYTE 1556"

    Für welche CPU soll das neue SCL-Programm denn sein?


    Es soll für die 1200ersowie für die 1500er CPU funktionieren.

    Danke für eure Hilfe




    PS: zu langsam

    Harald

  10. #19
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.207
    Danke
    233
    Erhielt 325 Danke für 298 Beiträge

    Standard

    [Ironie on]
    Und dafür hast Du jetzt exakt 9 Monate gebraucht?
    [Ironie off]

  11. #20
    Registriert seit
    05.03.2012
    Beiträge
    34
    Danke
    7
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Nein. Ich hab das bisher nur für S7-300 benutzt. Jetzt möchte ich das aber in der 1500er nutzen, was aber so ja nicht mehr funktioniert.

Ähnliche Themen

  1. Antworten: 7
    Letzter Beitrag: 20.06.2014, 03:21
  2. B&R: Bibliotheken umprogrammieren
    Von SAB2002 im Forum CODESYS und IEC61131
    Antworten: 8
    Letzter Beitrag: 02.01.2014, 19:18
  3. SCL vs. AWL
    Von epy im Forum Simatic
    Antworten: 20
    Letzter Beitrag: 02.09.2010, 20:04
  4. C++ in ST umprogrammieren
    Von COOLT im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 22.07.2009, 14:28
  5. Antworten: 11
    Letzter Beitrag: 28.07.2008, 12:06

Lesezeichen

Berechtigungen

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