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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: AWL: Dynamischer Aufruf von Funktionen (Funktionszeiger in AWL)

  1. #11
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    der ansatz von thomass5 ist gar nicht schlecht.

    wäre so wie man das bei s5 auch gehandhabt hat.

    Code:
    FUNCTION FC 1 : VOID
    TITLE =
    VERSION : 0.1
    BEGIN
    NETWORK
    TITLE =
    //testzuweisung
          L     10; 
          T     MW    10; //DB
          L     20; 
          T     MW    12; //Anfangsadresse im DB
     
          L     MD    10; 
          CALL FC     2 ;
    END_FUNCTION
     
    FUNCTION FC 2 : VOID
    TITLE =
    VERSION : 0.1
     
    VAR_TEMP
      uebergabe_db : INT ; //db in dem die übergabedaten stehen
      uebergabe_dw : INT ; //anfangsadresse im db
    END_VAR
    BEGIN
    NETWORK
    TITLE =
          T     LD     0; 
          AUF   DB [#uebergabe_db]; 
     
          L     #uebergabe_db; //test
          L     #uebergabe_dw; //test
    END_FUNCTION
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  2. #12
    Registriert seit
    05.10.2005
    Beiträge
    2.373
    Danke
    321
    Erhielt 296 Danke für 266 Beiträge

    Standard

    Hallo, um den Kreis zu schließen das ganze mit Parameterübergabe auch wenn das Thema schon alt ist.
    http://www.sps-forum.de/showpost.php...8&postcount=14

    Thomas

  3. #13
    Registriert seit
    16.11.2007
    Beiträge
    67
    Danke
    2
    Erhielt 8 Danke für 6 Beiträge

    Standard

    Machbar ist folgendes, wenn vielleicht auch ohne Dokumentation nur bedingt nachvollziehbar.
    Ich verwende manchmal statt einem FB eine FC und übergebe dieser FC als zusätzlichen Parameter die Nummer des aktuellen DB. In der FC kann dann mit AUF DI [DB_nr] der DB als Instanzdatenbaustein geöffnet werden und die Werte sind per DID, DIB, ... ansprechbar. Natürlich leider nicht mit symbolischen Adressen. Deshalb verwende ich das nur bei Sachen, die ausgetestet und gründlich dokumentiert sind und sehr oft wiederverwendet werden sollen, da vom Wald- und Wiesen-Prog kaum nachvollziehbar.
    Zitieren Zitieren Vorschlag FC statt FB  

  4. #14
    Registriert seit
    30.09.2014
    Beiträge
    29
    Danke
    3
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Ich muss jetzt mal einen alten Thread ausgraben:

    Hat schon einer geschafft mit TIA und SCL einen FC dynamisch aufzurufen? Ich bin bisher kläglich gescheitert

  5. #15
    Registriert seit
    08.04.2016
    Ort
    4040 Linz, Österreich
    Beiträge
    191
    Danke
    17
    Erhielt 61 Danke für 50 Beiträge

    Standard

    Zitat Zitat von Rusticus Beitrag anzeigen
    Ich muss jetzt mal einen alten Thread ausgraben:

    Hat schon einer geschafft mit TIA und SCL einen FC dynamisch aufzurufen? Ich bin bisher kläglich gescheitert
    Interessant wäre das ja nur, wenn man einen Funktionszeiger, so wie in C/C++ mitgeben kann, der dann einfach nur ein definiertes (oder dynamisches) Interface implementiert. Und das ganze auf sauberem (=symbolischem) Weg. Das ist zum einen Utopisch, da Siemens ja intern wieder auf so ein Nummernsystem setzt, womit die sauber-symbolische Variante wohl so nicht machbar wäre.
    Nachdem ich sowas mit dynamischen Funktionspointern bisher nicht mal bei Rockwell und B&R in STL gesehen habe, bezweifle ich dass es sowas bei Siemens je geben wird.

    Ein gangbarer Weg, sowas in der S7-Welt wirklich laufen zu lassen, ist der Einsatz des ODK. Aber ob man sich den finanziellen Aufwand antun will.......

    lg

  6. #16
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.493
    Danke
    1.142
    Erhielt 1.243 Danke für 974 Beiträge

    Standard

    Zitat Zitat von maxder2te Beitrag anzeigen
    Interessant wäre das ja nur, wenn man einen Funktionszeiger, so wie in C/C++ mitgeben kann, der dann einfach nur ein definiertes (oder dynamisches) Interface implementiert.
    Also das gehört zu den Funktionen über die sich ein normaler Instandhalter freuen würde
    Denkt doch mal dran, dass die Maschinen und Programme wartbar bleiben müssen.

  7. #17
    Registriert seit
    08.04.2016
    Ort
    4040 Linz, Österreich
    Beiträge
    191
    Danke
    17
    Erhielt 61 Danke für 50 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Blockmove Beitrag anzeigen
    Also das gehört zu den Funktionen über die sich ein normaler Instandhalter freuen würde
    Denkt doch mal dran, dass die Maschinen und Programme wartbar bleiben müssen.
    Das ist richtig!
    Drum gehören solche Dinge auch nicht in die Maschinensteuerung sondern in den abstrakten Teil. Das macht vielleicht im Prüfstandsbau und bei hochkomplexen Serienmaschinen Sinn, aber ob da soviel Simatic-Zeug drinnen ist?

Ähnliche Themen

  1. Funktionen in Funktionen aufrufen
    Von Baldaro im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 21.06.2009, 16:17
  2. Aufruf der Funktionen in OB1
    Von blume_mercan im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 16.01.2008, 18:59
  3. dynamischer db aufruf
    Von misconduct im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 24.11.2007, 22:42
  4. Dynamischer Pointer???
    Von klauserl im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 12.11.2006, 20:28
  5. dynamischer Global DB Step7 - S7-300 CPU 315 -2DP
    Von Anonymous im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 31.10.2005, 10:47

Lesezeichen

Berechtigungen

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