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

Seite 4 von 15 ErsteErste ... 2345614 ... LetzteLetzte
Ergebnis 31 bis 40 von 141

Thema: Funktionsbausteine

  1. #31
    Registriert seit
    14.10.2010
    Ort
    Telgte
    Beiträge
    654
    Danke
    97
    Erhielt 129 Danke für 99 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    neh; absolut nicht, was möchtest du uns den mitteilen?
    Sehr gut, dann bin ich damit nicht alleine...
    Programmierumgebung: Step7 V5.5, WinCCflex2008-SP3, TIA-PortalV13, MicroWinV4.0

  2. Folgender Benutzer sagt Danke zu Toki0604 für den nützlichen Beitrag:

    00alex (03.05.2013)

  3. #32
    Registriert seit
    14.10.2010
    Ort
    Telgte
    Beiträge
    654
    Danke
    97
    Erhielt 129 Danke für 99 Beiträge

    Standard

    Was ist den mit Redundant im Zusammenhang von S7 gemeint?
    Redundant - das mehrfache Vorhandensein funktional gleicher oder vergleichbarer technischer Ressourcen...
    Denke das er das nur im übertragenen Sinne angewandt hat.
    IN-OUT scheint er allerdings nicht zu mögen (oder zu verstehen).
    Programmierumgebung: Step7 V5.5, WinCCflex2008-SP3, TIA-PortalV13, MicroWinV4.0

  4. #33
    Registriert seit
    01.05.2013
    Beiträge
    345
    Danke
    174
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Übergabe an IN_OUT-Parameter eines FB

    Bei der Übergabe von zusammengesetzten Datentypen an IN_OUT-Parameter eines Funktionsbausteins (FB) wird die Operandenadresse der Variable übergeben (call by reference).
    Bei der Übergabe von elementaren Datentypenan IN_OUT-Parameter eines FB werden die Werte in den Instanz-Datenbaustein kopiert, bevor der FB gestartet wird und aus dem Instanz-Datenbaustein herauskopiert, nachdem der FB beendet ist.
    Dadurch können IN_OUT-Variablen elementaren Datentyps mit einem Wert initialisiert werden.
    Es ist jedoch nicht möglich, in einem Aufruf eine Konstante als Aktualparameter an der Position einer IN_OUT-Variablen anzugeben, da auf eine Konstante nicht geschrieben werden kann.
    Variable vom Datentyp STRUCT oder ARRAY können nicht initialisiert werden, da in diesem Fall im Instanz-Datenbaustein nur eine Adresse liegt.

    KLAR ?

  5. #34
    Registriert seit
    13.10.2007
    Beiträge
    12.032
    Danke
    2.787
    Erhielt 3.269 Danke für 2.157 Beiträge

    Standard

    Zitat Zitat von 00alex Beitrag anzeigen
    Übergabe an IN_OUT-Parameter eines FB

    Bei der Übergabe von zusammengesetzten Datentypen an IN_OUT-Parameter eines Funktionsbausteins (FB) wird die Operandenadresse der Variable übergeben (call by reference).
    Bei der Übergabe von elementaren Datentypenan IN_OUT-Parameter eines FB werden die Werte in den Instanz-Datenbaustein kopiert, bevor der FB gestartet wird und aus dem Instanz-Datenbaustein herauskopiert, nachdem der FB beendet ist.
    Dadurch können IN_OUT-Variablen elementaren Datentyps mit einem Wert initialisiert werden.
    Es ist jedoch nicht möglich, in einem Aufruf eine Konstante als Aktualparameter an der Position einer IN_OUT-Variablen anzugeben, da auf eine Konstante nicht geschrieben werden kann.
    Variable vom Datentyp STRUCT oder ARRAY können nicht initialisiert werden, da in diesem Fall im Instanz-Datenbaustein nur eine Adresse liegt.

    KLAR ?
    Ich verstehe immer noch nicht was Problematisch bei der Verwendung von IN-OUT Variablen
    sein soll. Was bereitet dir bei deinen Zitat zu der Eigenschaft der Variablen, aus irgendeiner Kurs
    Unterlage den Probleme?
    Genauso könntest du schreiben Merker sind nicht Umproblematisch oder Lokalvariablen haben teuflische
    Eigenschaften.

    Wo ist jetzt das Problem?
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  6. #35
    Registriert seit
    01.05.2013
    Beiträge
    345
    Danke
    174
    Erhielt 3 Danke für 3 Beiträge

    Frage

    Versuche mal einen erzeinfachen FB zu programmieren : a=b+c mit IN-OUT Parameter !
    Wenns klapt lass es mich wissen ...


    ... und nicht nur dass IN-OUT darf kein Eingang und kein Ausgang sein ....oder ?
    Geändert von 00alex (03.05.2013 um 04:21 Uhr)

  7. #36
    Registriert seit
    05.10.2005
    Beiträge
    188
    Danke
    31
    Erhielt 16 Danke für 14 Beiträge

    Standard

    ich versuche es einmal anders. es ist falsch da nur adressen hinter den variablen stehen aber zum verständnis ist es glaube ich so einfacher.

    nach einen call fc werden die in und in_out geladen.
    dein program wird durchlaufen und die out und in_out werden wieder beschrieben.

    nach ein call fb werden erst alle in, in_out (und stat ist ja vorhanden da es das "gedächnis" des bausteins ist) in den idb geladen.
    programm abarbeiten wobei hier immer auf den idb zugegriffen wird.
    stat bleiben im gedächnis. out, in_out wieder in den idb schreiben UND auf die variablen die an in/in_out drangeschrieben sind.

    die temp werden beim aufruf NIE beschrieben.

    daraus folgt:
    -temp können irgend einen wert haben. jeh nach vorrangegangenen baustein. um sie nutzen zu können musst du sie erstmal beschreiben und beim nächsten aufruf ist die information weg. sind also schmiermerker/zwischenspeicher
    alle bausteine benutzen den selben tempbereich. ist aber nur immer einer aufgerufen.
    -an den out/in_out müssen BESCHREIBBARE variablen stehen (oder nichts beim fb da er ja erstmal in idb schreibt). auf einem eingang oder einer zahl kann nicht geschrieben werden.
    -in einem fc können keine zustände gespeichert werden. nutzt du nun einen merker, Ausgang oder speicher von db, wird jeder aufruf diesen, in abhängigkeit seines programs, verändern.
    -in_out lädt erst die variable bearbeitet sie und schreibt sie wieder weg.
    -udt´s oder verschieden selbstgebaute datentypen können nicht als in_out genutzt werden. hier spielt die wahrheit (adressen) eine rolle. als in und out könne sie genutzt werden.
    -da die variablen von einem fb erstmal im idb liegen können variablen vorbelgt (intialwerte) werden und es muss nicht unbedingt was an in,out und in_out drangeschrieben werden.
    -im fb kannst du zustände werte in seinem gedächnis(stat) speichern. da jeder fb seinen eigenen speicherbereich hat, gehörem sie nur ihm und bleiben erhalten. (idb zugriffe sind aber aus anderen bausteinen möglich)

    wie bereits erwähnt, wird nicht im fc umgeladen sondern die variable wird über die adresse angesprochen. auch die zugriffe in/auf idb sind nur adressen. es geht mir nur darum die abläufe zu kapieren.
    wie das genau mit den zugriffen ist, ist bereits weiter vorne beschrieben. wenn du da tiefer rein willst, schau die hilfe und funktionen vom ar1 und ar2 an.

  8. Folgender Benutzer sagt Danke zu Fanta-Er für den nützlichen Beitrag:

    00alex (03.05.2013)

  9. #37
    Registriert seit
    13.10.2007
    Beiträge
    12.032
    Danke
    2.787
    Erhielt 3.269 Danke für 2.157 Beiträge

    Standard

    Zitat Zitat von 00alex Beitrag anzeigen
    Versuche mal einen erzeinfachen FB zu programmieren : a=b+c mit IN-OUT Parameter !
    Wenns klapt lass es mich wissen ...


    ... und nicht nur dass IN-OUT darf kein Eingang und kein Ausgang sein ....oder ?
    was ist das den für ein Quatsch, begründe bitte einer deiner Ausagen!
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  10. #38
    Registriert seit
    01.05.2013
    Beiträge
    345
    Danke
    174
    Erhielt 3 Danke für 3 Beiträge

    Unglücklich

    ...eimal
    a= a+b ... eimal a=b+c
    als FC oder FB schreiben mit der BEDINGUNG mindestens ein IN-OUT Parameter zu benutzen ( für a,b oder c)



    ....könnte sein dass ich Blödsinn krakele ? ...dann vergessen wir die Sache ( es ist nur eine SIEMENS Sache ...die andere SPS Steuerungen haben es nicht )

    Geändert von 00alex (03.05.2013 um 12:48 Uhr)

  11. #39
    Registriert seit
    13.10.2007
    Beiträge
    12.032
    Danke
    2.787
    Erhielt 3.269 Danke für 2.157 Beiträge

    Standard

    Zitat Zitat von 00alex Beitrag anzeigen
    ...eimal
    a= a+b ... eimal a=b+c
    als FC oder FB schreiben mit der BEDINGUNG mindestens ein IN-OUT Parameter zu benutzen ( für a,b oder c)



    ....könnte sein dass ich Blödsinn krakele ? ...dann vergessen wir die Sache ( es ist nur eine SIEMENS Sache ...die andere SPS Steuerungen haben es nicht )

    Grundsätzlich kannst du bei den Berechnungen INOUT Variablen nutzen.

    Schreibe mal was dein Problem bei der Sache ist oder wo du Bedenken hast.
    Aber bitte ein wenig ausführlicher und nicht in zwei nicht vollendeten Halbsätzen.
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  12. #40
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.181
    Danke
    923
    Erhielt 3.289 Danke für 2.658 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Möglicherweise meint er, daß man an IN_OUT keine PEW oder PAW "anschließen" darf. Doch alles andere - auch E und A - kann man problemlos anschließen. Ob das was möglich ist auch Sinn macht steht auf einem ganz anderen Blatt. Sinnvolle Lösungen zu finden lernt man nicht unbedingt in einem Programmier-Lehrgang.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Funktionsbausteine
    Von redscorpion im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 02.08.2011, 12:42
  2. Funktionsbausteine S5
    Von SPS-Bastler im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 06.01.2010, 07:11
  3. Funktionsbausteine
    Von Wolflesch im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 07.09.2008, 16:15
  4. Funktionsbausteine in S7-200
    Von sukram1711 im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 25.04.2008, 22:25
  5. Funktionsbausteine
    Von Blade im Forum PC- und Netzwerktechnik
    Antworten: 23
    Letzter Beitrag: 22.02.2008, 22:04

Lesezeichen

Berechtigungen

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