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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Pointerverweis nach UC

  1. #1
    Registriert seit
    17.09.2003
    Ort
    Zell bei Dietfurt a.d. Altmühl
    Beiträge
    357
    Danke
    8
    Erhielt 27 Danke für 25 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo SPS Freunde.

    Mal eine Frage an die SCL Profis. Habe von einem Baustein, den Bitverbieger für eine 'Sonnenstand-Berechnung' eingestellt hat folgende Code gesehen. Der Baustein wurde zwar in SCL geschrieben, da aber die SCL Date für diesen Baustein nich im Projekt war, hat siemens den Baustein automatisch in AWL übersetzt. Mir geht es speziell um frolgende Programm Zeile.
    Code:
          SET   
          SAVE  
          =     L      0.1
          L     1.745329e-002
          L     #latitude
          *R    
          T     #B
          L     -1.450000e-002
          T     #h
          L     DINO
          T     LW     2
          TAR2  
          +     L#64
          T     LD     4
          TAR2  LD     8
          UC    "DT_DATE"
                P#L 2.0
                P#L 12.0
          LAR2  LD     8
          TAR2  LD     8
          UC    "day_of_year"
                P#L 12.0
                P#L 2.0
    Und zwar vorallem um die Pointeraufrufe nach den UC Bausteinaufrufen. Was wird über diese Pointer dem aufgrufenen Baustein mitgeteilt. Wenn ich diesen Code in AWL so tippe läst er es nicht zu. Bin auf Euere Antworten gespannt.
    MfG

    Hubert

    \"Never change a running system. \"
    Zitieren Zitieren Pointerverweis nach UC  

  2. #2
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.725
    Danke
    314
    Erhielt 1.519 Danke für 1.282 Beiträge

    Standard

    Das ist letzten Endes ein CALL Aufruf,
    in AWL würde man schreiben
    CALL day_of_year
    para1: LW12
    para2: LW2

    Ich vermute mal, das SCL direkt in MC7 Code übersetzt,
    und ein Bausteinaufruf auf MC7 Ebene funktioniert wohl irgendwie mit UC,
    und das ist dann letzten Endes eine Interpretation des MC7 Codes.

    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
    30.08.2003
    Beiträge
    2.196
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard

    Hallo Hubert,

    das sollten die Übergabeparameter der Funktion sein. Wichtig ist dass man sich durch speichern im KOP/FUP/AWL-Editor den Code so versauen kann dass im schlimmsten Fall die SPS die weisse Flagge raushängt. Komisch dass es mit UC übersetzt wird, aber immerhin besser als UG!

    André
    www.raeppel.de
    mit innovativen SPS-Tools schneller ans Ziel ....
    Zitieren Zitieren Uc  

  4. #4
    Avatar von hubert
    hubert ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    17.09.2003
    Ort
    Zell bei Dietfurt a.d. Altmühl
    Beiträge
    357
    Danke
    8
    Erhielt 27 Danke für 25 Beiträge

    Standard

    Hallo.

    Danke schon mal für die Antworten. Dachte mir schon soetwas, dass das die Übergabeparamter für diesen Baustein sind. Was mich aber noch wundert, wenn ich die Zeile in AWL genauso nachtippe funktioniert es nicht. Die P#x.y nach den UC aufrufen werden rot. Ist es vielleicht so etwas was "MSB" schreibt? Das es durch die Übersetzung von SCL in AWL in einen Art MC7 Code gewandelt wird und die Bausteinaufrufen in MC7 mit "UC" so aussehen?
    MfG

    Hubert

    \"Never change a running system. \"

  5. #5
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 182 Danke für 167 Beiträge

    Standard

    Hallo!

    Sind das FC Bausteine?
    Bei FC Bausteinen werden die Parameter indirekt übergeben.
    Das heißt in deiner Variable im FC ist nicht der Wert hinterlegt von dem Speicherbereich was du aussen an den FC angibst sondern es ist zu dem Speicherbereich ein Pointer. Deshalb stehen hier die Pointer.

    Halbwechs verständlich?

    godi

  6. #6
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Zitat Zitat von godi Beitrag anzeigen
    ...
    Das heißt in deiner Variable im FC ist nicht der Wert hinterlegt von dem Speicherbereich was du aussen an den FC angibst sondern es ist zu dem Speicherbereich ein Pointer. Deshalb stehen hier die Pointer.
    ...
    Bedeuten das, dass der VAR_INPUT = VAR_IN_OUT dreck aus AWL auch in SCL gilt?
    If you open your Mind too much, your Brain will fall out.

  7. #7
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 182 Danke für 167 Beiträge

    Standard

    Zitat Zitat von zotos Beitrag anzeigen
    Bedeuten das, dass der VAR_INPUT = VAR_IN_OUT dreck aus AWL auch in SCL gilt?
    Glaube nit das es in SCL anders ist weil im Prinzip ist das ja alles die selbe Sch.... ob KOP FUP AWL SCL ....

    Kann gar net anders sein weil wo sollte denn der FC die Daten speichern?
    Im FB liegen ja die IN, OUT auch im InstanzDB.

    godi

  8. #8
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Der Thread auf den ich verlinkt habe besagt doch aber das es nur bei AWL so wäre und bei KOP/FUP nicht. Da wird der VAR_INPUT Bereich wohl auf den L Stack gelegt.
    If you open your Mind too much, your Brain will fall out.

  9. #9
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 182 Danke für 167 Beiträge

    Standard

    Zitat Zitat von zotos Beitrag anzeigen
    Der Thread auf den ich verlinkt habe besagt doch aber das es nur bei AWL so wäre und bei KOP/FUP nicht. Da wird der VAR_INPUT Bereich wohl auf den L Stack gelegt.
    Ich glaube das muss ich mir genau durchlesen...

  10. #10
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von zotos Beitrag anzeigen
    Bedeuten das, dass der VAR_INPUT = VAR_IN_OUT dreck aus AWL auch in SCL gilt?
    Hallo Zotos,
    ohne den oben genannten Link näher durchgelesen zu haben ...
    KOP und FUP sind nur andere optische Darstellungsformen von AWL. Die können nichts mehr wie AWL auch. Wenn man den Bogen heraus hat, dann kann man auch in AWL proggen und der erstellte Code läßt sich in KOP und FUP darstellen (mache ich meisstens so). SCL hat vom "Compiler" her ein paar Überwachungsmöglichkeiten mehr - das Ergebnis muss aber zwingend das Gleiche sein - es wird ja hinterher von der selben CPU interpretiert. Etwas anderes wäre es, wenn bei der Übersetzung eine Art Assembler-Code heraus käme - dem ist aber nicht so ...

Ähnliche Themen

  1. OP5 nach WIN CC
    Von HannesIVA im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 15.12.2009, 10:54
  2. Von °C nach °F
    Von Kitefriend im Forum Programmierstrategien
    Antworten: 2
    Letzter Beitrag: 03.03.2009, 12:19
  3. Beispiele einer automatischen Querübersetzung von ST nach IL bzw. nach FBS
    Von sps freak im Forum Werbung und Produktneuheiten
    Antworten: 1
    Letzter Beitrag: 04.07.2008, 22:52
  4. S7 SCL FB nach S5
    Von Florian_Niedermaier im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 10.02.2008, 18:19
  5. AWL nach KOP (die x'te)
    Von dkeipp im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 17.11.2006, 20:24

Lesezeichen

Berechtigungen

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