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

Ergebnis 1 bis 7 von 7

Thema: InstanzDB: IN(INT), Auswertung der Bits...

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

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    mal nachgefragt: Ich übergebe einem FB mit Instanz-DB ein INT, in dem Bits vom Bediensystem (HMI) bearbeitet werden.

    Aus diesem INT möchte ich natürlich im FB intern die BITS "ziehen".

    Ich habe das erstmal wie folgt gelöst:

    L HMI_IN #(INT)
    T TMP_INT #(INT) in den Lokalbereich (dort habe ich immer ein paar mit TMP markierte Pufferbereiche)

    U L8.0 #Lokales Bit laden...
    = HMI_BIT0 #und in den STAT Bereich schreiben
    ... nun noch die anderen...

    Kann man das auch mit weniger Zeilen bzw. anders lösen?

    Danke für euer Hirnschmalz
    Zitieren Zitieren InstanzDB: IN(INT), Auswertung der Bits...  

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

    Standard

    viel kürzer nicht aber schöner.
    den lokaldatenbereich direkt anzusprechen ist nicht schön, da man den ganzen code versauen kann wenn man die schnittstelle ändert
    im bild ist das im temp-bereich. funktioniert aber genauso im stat-bereich (test ist eine struct)
    Angehängte Grafiken Angehängte Grafiken
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  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

    Erst mal danke für die Antwort.

    Hab das mal umgesetzt. Passt auch... wobei:
    1. Der TEMP Bereich fängt doch immmer mit 0 an, auch wenn man an der Schnittstelle was ändert...?
    2. Blöd das man mit LAR1 P#xxxx nur im TEMP Bereich arbeiten kann, legt man das Struct im STAT an, geht PLCSIM auf CPU-Stop... ich habs halt gern zur beobachtung im STAT.

  4. #4
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.697 Danke für 1.949 Beiträge

    Standard

    Zitat Zitat von AndreK Beitrag anzeigen
    Erst mal danke für die Antwort.

    Hab das mal umgesetzt. Passt auch... wobei:
    1. Der TEMP Bereich fängt doch immmer mit 0 an, auch wenn man an der Schnittstelle was ändert...?
    2. Blöd das man mit LAR1 P#xxxx nur im TEMP Bereich arbeiten kann, legt man das Struct im STAT an, geht PLCSIM auf CPU-Stop... ich habs halt gern zur beobachtung im STAT.
    Wenn du Stat nimmst geht das auch aber dann mußt du statt

    L LW[...
    L DIW[...

    schreiben.

    Und Achtung bei Multiinstanzen,da muß dann evtl. nach das AR 2 dazu addiert werden.
    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. #5
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    Zitat Zitat von AndreK Beitrag anzeigen
    1. Der TEMP Bereich fängt doch immmer mit 0 an, auch wenn man an der Schnittstelle was ändert...?
    Ja. Aber die variable in die du transferierst mus ja nicht unbedingt die erste dort sein.
    wenn du es über das ar machst ist es völlig egal wo die dort liegt da du ja mit L p##xxx die adresse ins ar lädst.

    Zitat Zitat von Ralle
    Und Achtung bei Multiinstanzen,da muß dann evtl. nach das AR 2 dazu addiert werden.
    War das nicht andersrum? wenn er ar2 benutzt muss er was addieren
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  6. #6
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.186
    Danke
    923
    Erhielt 3.291 Danke für 2.660 Beiträge

    Standard

    Gewünschtes Bit ausmaskieren oder in A1 schieben/rotieren.
    Gleiche Frage hatten wir gerade Vorgestern hier: Bitzugriff auf Word im FB (Temp oder Stat Bereich)

    Wenn Du einzelne Bits eines Parameters auswerten willst, dann kann der Datentyp strenggenommen nicht INT sein, sondern müsste WORD sein.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  7. #7
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.186
    Danke
    923
    Erhielt 3.291 Danke für 2.660 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    L p##statvar lädt in Multiinstanzen NICHT die tatsächliche Adresse, es muß AR2 addiert werden.
    Hatten wir auch erst kürzlich.

    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. Antworten: 7
    Letzter Beitrag: 03.09.2012, 12:48
  2. Großbuchstaben in der Projekt-Auswertung
    Von TorstenX im Forum E-CAD
    Antworten: 7
    Letzter Beitrag: 16.11.2011, 14:10
  3. Antworten: 7
    Letzter Beitrag: 19.10.2010, 11:05
  4. Int-Wert aus Bits bilden
    Von testuser im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 08.10.2008, 12:10
  5. Antworten: 6
    Letzter Beitrag: 14.11.2006, 13:11

Lesezeichen

Berechtigungen

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