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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 21

Thema: Multi FC mit flexiblen Word Zugriff...

  1. #1
    Registriert seit
    08.01.2007
    Ort
    Dülmen
    Beiträge
    393
    Danke
    58
    Erhielt 24 Danke für 17 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Dafür ist die Kopfzeile ein wenig eng um das Sinnvoll zu umschreiben...

    Was ich möchte:
    1. Einen FC erstellen, für mehrmalingen Aufruf
    2. Über IN/Schnittstelle ein Word übergeben
    3. die einzelnen Bits des WORD bearbeiten können

    Bisher bin ich soweit und hänge fest:
    L #MW // Lade Word, flexible Vorgabe
    LAR2 // schreibe Akku 1 in Adressregister 2
    S [AR2,P#0.0] // setze im AR2 das Bit 0.0

    Das scheint mir so nicht richtig zu sein...
    Wenn ich das WORD genau kenne ist das mit dem Bitzugriff ja kein Problem, aber wie greife ich auf ein Variables WORD zu? Oder soll ich das WORD vorher enfach in einen Puffer legen, innerhalb des Bausteins diesen Bearbeiten, und denn am Bausteinende in das Variable WORD zurückschreiben ?

    Das ganze soll für einen Störmeldebaustein sein, ich habe da ein paar Ideen... ist aber nicht 100% durchdacht...

    Bin für Tipps, Anregungen usw. immer dankbar (ich hoffe ich habe mich verständlich ausgedrückt... )
    Zitieren Zitieren Multi FC mit flexiblen Word Zugriff...  

  2. #2
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    variables Word heißt, dass da unterschiedliche Signalzustände in den einzelnen Bits sein können? die Word länge ist mit 16bits festgelegt und auf diese kannst du wie bei einem Merker-Word, Eingangs-Word, Ausgangs-Word auch lokal in einem FC zugreifen. Dafür brauchst du die Lokale-StartAdresse des Words und kannst dann z.b. über die Adresse L0.4 (bei start Adresse 0 des Words) auf das 5 bit des High-Teils deines Words zugreifen mit L1.1 auf das 2te Bit des Low-Teils und so weiter....

  3. #3
    AndreK ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    08.01.2007
    Ort
    Dülmen
    Beiträge
    393
    Danke
    58
    Erhielt 24 Danke für 17 Beiträge

    Standard

    Ja richtig, WORD mit "flexiblen" Einzelbits...

    L war mir immer nur für "lade" bekannt. Nicht als binäre Verknüpfung. Wie heißt dieser Befehl, dann könnt eich mir das zur verinnerlichung in der Hilfe nochmal durchlesen... habe ich jetzt auf Anhieb nicht gefunden.
    Zitieren Zitieren Das ist wohl der Befehl der mir fehlte...  

  4. #4
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    such mal in der Hilfe nach "Speicherbereiche" oder "Zusammenfassung der Bit-, Byte-, Wort- und Doppelwortkennungen" ... Anfangsadresse in einem FC findest du übrigens über die Objekteigenschaften der Variablen...

    unterscheide Befehl und Adressierung...
    Geändert von vierlagig (24.09.2007 um 09:09 Uhr)

  5. #5
    Registriert seit
    08.11.2006
    Ort
    Uckermark
    Beiträge
    903
    Danke
    201
    Erhielt 256 Danke für 208 Beiträge

    Standard

    Zitat Zitat von vierlagig Beitrag anzeigen
    ....kannst dann z.b. über die Adresse L0.4 (bei start Adresse 0 des Words) auf das 5 bit des High-Teils deines Words zugreifen mit L1.1 auf das 2te Bit des Low-Teils und so weiter....
    Das geht zwar, aber Vorsicht: Der_Admin_schätzt_das_garnicht
    Der ist im Moment sowieso nicht so gut drauf und schmeißt mit Kraftausdrücken im Proll-Slang um sich.

    Also Achtung: Es kann Mecker geben!!!
    Geändert von OHGN (24.09.2007 um 16:46 Uhr)
    Neue Ideen begeistern jene am meisten, die auch mit den alten nichts anzufangen wussten.
    Karl Heinrich Waggerl (1897-1973)

  6. #6
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von OHGN Beitrag anzeigen
    Das geht zwar, aber Vorsicht: Der_Admin_schätzt_das_garnicht
    Der ist im Moment sowieso nicht so gut drauf und schmeißt mit Kraftausdrücken im Proll-Slang um sich.

    Also Achtung: Es kann Mecker geben!!!
    nun, was soll ich sagen, wenn der baustein fertig ist und funktioniert, dann brauch da keiner mehr bei und solange man vernünftig kommentiert und sinnvolle titel vergibt, sehe ich in einer abgeschlossenen funktion keine probleme...

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

    Standard

    Das mag jetzt sehr naiv wirken. Wenn hier einer eine Frage stellt und was lernen will sollte man ihn nicht mit unsauberen Quick and Dirty Lösungen bedienen. Der direkte Zugriff auf den Tempbereich ist keine schöne Lösung.

    Aussagen wie:
    Zitat Zitat von vierlagig Beitrag anzeigen
    ...
    wenn der baustein fertig ist und funktioniert, dann brauch da keiner mehr bei und solange man vernünftig kommentiert und sinnvolle titel vergibt, sehe ich in einer abgeschlossenen funktion keine probleme...
    Sind nicht zielführend. Da man ja nicht beurteilen kann ob diese Aussage beim Fragesteller auch zutrifft. IMHO sollte man diese des Zugriffs meiden wo es nur geht (und es geht immer).

    Wenn man hier im Forum mittels der Suchfunktion nach dem Zugriff auf einzelne Bits aus einem Word sucht findet man unter anderem den Beitrag aus dem der werte Kollege OHGN zitiert hat. Es gibt einige Threads dazu und auch schöne Lösungen.
    If you open your Mind too much, your Brain will fall out.

  8. Folgende 2 Benutzer sagen Danke zu zotos für den nützlichen Beitrag:

    Markus (27.09.2007),vierlagig (24.09.2007)

  9. #8
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von zotos Beitrag anzeigen
    Aussagen wie:

    Sind nicht zielführend. Da man ja nicht beurteilen kann ob diese Aussage beim Fragesteller auch zutrifft. IMHO sollte man diese des Zugriffs meiden wo es nur geht (und es geht immer).
    dachte, dafür ist es ein forum...also dafür, das unterschiedliche herangehensweisen diskutiert werden können und unterschiedliche lösungsvarianten aufgezeigt werden, aus denen dann der fragensteller die auf ihn zutreffendste lösung filtert...

  10. #9
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.715
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    Zitat Zitat von vierlagig Beitrag anzeigen
    dachte, dafür ist es ein forum...also dafür, das unterschiedliche herangehensweisen diskutiert werden können und unterschiedliche lösungsvarianten aufgezeigt werden, aus denen dann der fragensteller die auf ihn zutreffendste lösung filtert...
    Das ist KEIN Widerspruch zu dem was Zotos geschrieben hat.
    Wenn ich hier einen Beitrag hereinstelle und um Tips (oder so bitte), dann möchte ich am liebsten die professionellste Antwort.

    Im Übrigen hat sich AndreK ja schon Gedanken darüber gemacht, sein Wort irgendwo zwischenzuspeichern und hinterher wieder zurüchzuschreiben - also im Grunde schon die Sache mit dem Lokalbits (oder Merkerbits oder Datenbits ...).

    @AndreK:
    Du möchtest, wenn ich das recht verstanden habe, eine Funktion, der du die Wort-Adresse und die Bit-Adresse im Wort übergibst und von der du dann ein TRUE oder FALSE zurück bekommst, je nach Zustand des entsprechenden Bits ? Also :
    Code:
    M10.1 := Get_Bit (MW114 , Bit 11)

  11. #10
    Registriert seit
    29.03.2007
    Beiträge
    123
    Danke
    17
    Erhielt 9 Danke für 9 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Viele Wege fürn nach Rom.

    Ich würde die IN Variable auf eine Temporäre im Array format kopieren.
    dann kannst du dieses Wort bitweise nachher behandeln.
    L #IN_Variable
    T #IN_VAR

    CALL "BLKMOV"
    SRCBLK :=#IN_VAR
    RET_VAL:=#Ret_Value
    DSTBLK :=#BIT

    U #BIT[0]
    U #BIT[1]
    = #BIT[2]

    Finde ich ne saubere Lösung... aber wie gesagt, jeder machts anders.
    Geändert von Jordy (24.09.2007 um 17:36 Uhr)

Ähnliche Themen

  1. Any Pointer in multi FB
    Von Farinin im Forum Simatic
    Antworten: 30
    Letzter Beitrag: 24.02.2011, 13:38
  2. PNOZ Multi Mini
    Von Anaconda55 im Forum Schaltschrankbau
    Antworten: 1
    Letzter Beitrag: 10.02.2011, 17:09
  3. Multi-Instanzen
    Von JOKER83 im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 11.06.2009, 19:08
  4. multi touch TP´s
    Von cindy im Forum HMI
    Antworten: 1
    Letzter Beitrag: 14.11.2008, 15:06
  5. Multi FB`S
    Von MichaelHuf im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 23.07.2005, 16:19

Lesezeichen

Berechtigungen

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