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

Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 21 bis 30 von 31

Thema: Strukturprobleme Multiinstanz ...

  1. #21
    Registriert seit
    06.10.2003
    Beiträge
    3.414
    Danke
    451
    Erhielt 506 Danke für 408 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Unregistrierter gast Beitrag anzeigen
    Das wäre aber doch etwas viel Aufwand für ein "bischen Symbolik" oder ?
    Allerdings! Und dann kommen ja wahrscheinlich noch andere Dinge wie S5-Timer usw. hinzu.
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  2. #22
    Avatar von rs-plc-aa
    rs-plc-aa ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.11.2004
    Beiträge
    697
    Danke
    69
    Erhielt 64 Danke für 48 Beiträge

    Standard

    Das Programm baue ich ja neu auf - Logik bleibt (da ja getestet); Struktur wird neu...

    Den geposteten Code musst du mal genauer erklären.

    Ich gehe davon aus daß er sich im FB befindet.

    Wo ist Testarray bzw. TestUDT definiert ?

    Ich mache das gerade so dass im FB eine DWORD Variable existiert die ich mit 0 überschreibe (bei Bedarf). Die Verbindung zwischen der DWORD Var und den tatsächlich betroffen 32 Bits (die ich mit der Aktion clearen möchte) stellt der Aufruf im OB her --> Siehe Beitrag mit Auszug vom Aufruf...

    Die DWORD Variable ist dann zwar zusätzlich (und unnötig) im Instanzdatenbaustein vorhanden (verbraucht Speicherplatz) ist aber dafür ohne was umbiegen zu müssen für jede Instanz des FB verwendbar (da der Bezug ja beim Aufruf hergestellt wird).

    Wenn du [@Onkel D bzw. alle anderen natürlich auch] mir jetzt erklären kannst wie ich in meinem Global DB ein Array bzw. einen UDT definieren kann den ich von aussen als 32-bit Variable ansprechen kann und gleichzeitig die selbe Startadresse hat wie die 32 Bits die ich damit bei Bedarf löschen will dann habe ich ganau das gefunden was ich suche.
    RS (rs-plc-aa)
    ______________________________________________
    Morgen ist Heute Gestern...
    ______________________________________________
    Installierst du noch - oder Arbeitest du schon ?
    ______________________________________________

  3. #23
    Registriert seit
    06.10.2003
    Beiträge
    3.414
    Danke
    451
    Erhielt 506 Danke für 408 Beiträge

    Standard

    Sieh dir dazu bitte den folgenden link an. Er führt zu einem ausführlichen Beispiel zur Verwendung eines UDT als Bausteinparameter.

    http://support.automation.siemens.co...ew/de/11302987


    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  4. #24
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Das mit den UDT ist schon gut, aber dann kann er trotzdem nicht Bits und Word eines Adressbereiches symbolisch 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

  5. #25
    Registriert seit
    28.06.2006
    Ort
    Königreich Neuseeland
    Beiträge
    2.027
    Danke
    133
    Erhielt 96 Danke für 76 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    Das mit den UDT ist schon gut, aber dann kann er trotzdem nicht Bits und Word eines Adressbereiches symbolisch nutzen.
    Er kann aber den ganzen UDT symbolisch an eine Funktion übergeben und gleichzeitig auf die einzelnen Elemente Symbolisch zugreifen.

  6. #26
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    @ug

    Klar kann er das, aber ich hatte das so verstanden, daß er auf einzelne Bits zugreifen will und dann alle Bits mit einem Mal löschen, indem er das Word mit 0 beschreibt. Da hilft ihm auch die schick anparametrierte UDT nicht weiter.
    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. #27
    Avatar von rs-plc-aa
    rs-plc-aa ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.11.2004
    Beiträge
    697
    Danke
    69
    Erhielt 64 Danke für 48 Beiträge

    Standard

    Ok, ich hab grad gesehen dass ich dann auch den Komfort verlieren würde mir den GlobalDB aus Excel heraus erstellen zu können da hier keine UDTs möglich sind...

    Des weiteren würde es die Sache (nach dem ich den Siemens Beitrag gelesen habe) noch mehr verkomplizieren -> dann lieber im OB die direkte Adresse hinschreiben (kommt pro Aufruf 8 mal vor - geht schon...)

    Ich bin aber gerade auf ein ganz anderes Problem gestossen.

    Ich habe im FB diverse Timer als IN-Parameter definiert wovon ein paar an Unterprogramme weitergegeben werden müssen.

    Ich würde ja nicht so dumm fragen aber mit der "alten" Struktur ging das dass der Timer als z.B. T 37 im Haupt- sowie im Unterprogramm angegeben wurde.

    Nun habe ich im ersten Unterprogramm ebenfalls einen IN-Parameter definiert an den dann der ehemalige T 37 weitergereicht werden soll --> geht nicht !

    "Unzulässige Parameterversorgung" sagt mir Step7.

    Und jetzt ? Direkt geht indirekt nicht

    Auf SFB-Timer "umbauen" kommt jedenfalls nicht gleich in Frage
    (schwierig zum Testen in dem Zustand - dann lieber das wo schon funktioniert hat)

    Edit:
    In der Hilfe zur Meldung steht:
    -------------------------------------------------------------------------------------------------
    Beschreibung:
    Obwohl kein Typkonflikt zwischen Aktualparameter (rechte Seite) und Formalparameter (linke Seite) vorliegt, kann diese Parameterzuweisung nicht zugelassen werden. Folgende Gründe können vorliegen:

    · Die Zuweisung ist aus technischen Gründen nicht möglich, z.B. kann keine STRING- oder DATE_AND_TIME-Konstante als Aktualparameter verwendet werden (zu viele Einzelbefehle).

    · Das Maschinenmodell STEP 7 erlaubt die Zuweisung nicht, z.B. kann ein STRUCT/ARRAY/ANY/UDT/STRING - INPUT/OUTPUT/IN_OUT - Parameter eines FCs nicht an einen darin aufgerufenen Baustein weitergereicht werden.

    · Ihr Formalparameter trägt ein S7_server Attribut und läßt daher die entsprechende Versorgung nicht zu, da z.B. der Aktual Parameter vom Server selbst vergeben werden muß oder lokal versorgt werden soll.

    Behebung:

    Bitte passen Sie Ihren Bausteinaufruf entsprechend diesen Regeln an.

    --------------------------------------------------------------------------------------------
    Anmerkung: Das "Durchreichen" hat aber mit allem anderen einschließlich #S5Time bis jetzt geklappt...
    Geändert von rs-plc-aa (09.02.2007 um 21:43 Uhr) Grund: Nachtrag
    RS (rs-plc-aa)
    ______________________________________________
    Morgen ist Heute Gestern...
    ______________________________________________
    Installierst du noch - oder Arbeitest du schon ?
    ______________________________________________

  8. #28
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Man könnte das so machen:

    Code:
          L     10  //die Timernummer kann man natürlich per INPUT übergeben
          T     MW     2
    
          U     E      0.0  //nur zum Testen
          L     S5T#20MS
          SE    T [MW 2]
    Du könntest dann evtl. darauf verzichten Timer anzuparametrieren, sonder nur die Timernummer übergeben.
    Leider nimmt er nur MW/DBW keine FC/FB-Parameter, vielleicht weiß jemand dafür auch noch etwas?
    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

  9. #29
    Avatar von rs-plc-aa
    rs-plc-aa ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.11.2004
    Beiträge
    697
    Danke
    69
    Erhielt 64 Danke für 48 Beiträge

    Standard

    Es funktioniert !

    habe es sogar noch relativ elegant hinbekommen...

    Ich versorge am Eingang des FB den Timer (da muss ich die Nummer sowieso hinschreiben) und zusätzlich die Nummer noch mal extra (eine Zeile weiter unten = übersichtlich).

    Dann übergebe ich dem Unterprogramm nur die Nummervariable.

    Im Unterprogramm (FC) selbst sieht das dann so aus daß die Eingangsvariable in den Temp-Bereich zwischengespeichert wird da ja, wie Ralle schon erkannt hat, keine direkte zuordnung möglich ist.

    Code:
    // Timer Nummern versorgen
          L     #tNr_GasvDichthPruef_In  // IN
          T     #tNr_Intervall                // Temp
          L     #tNr_GasvDichthPruef_Pr
          T     #tNr_Pruefung
    ...
     
          SE    T [#tNr_Pruefung]           // #tNr_GasvDichthPruef_Pr
    ...
    sieht doch gut aus oder ?

    Jetzt kann ich diese Vorgehnsweise für die restlichen Unterprogramme ebenfalls übernehmen und habe ein Problem weniger...

    Danke euch !
    RS (rs-plc-aa)
    ______________________________________________
    Morgen ist Heute Gestern...
    ______________________________________________
    Installierst du noch - oder Arbeitest du schon ?
    ______________________________________________

  10. #30
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Die Temp-Var kann man also ohne Probleme in die eckigen Klammen des Timers eintragen? Warum das wohl nicht mit in Input-Var geht, weiß wohl nur Siemens.
    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

Ähnliche Themen

  1. Multiinstanz in SCL
    Von godi im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 08.03.2015, 19:59
  2. TIA V11 SCL TON Multiinstanz
    Von MrEASY im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 04.03.2013, 15:17
  3. Multiinstanz
    Von focus81 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 25.05.2010, 14:27
  4. Multiinstanz
    Von bluebird277 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 11.10.2008, 12:00
  5. Multiinstanz
    Von godi im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 01.05.2006, 20:31

Lesezeichen

Berechtigungen

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