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

Ergebnis 1 bis 9 von 9

Thema: statische Variablen

  1. #1
    Registriert seit
    13.11.2014
    Ort
    Paderborn
    Beiträge
    187
    Danke
    15
    Erhielt 12 Danke für 11 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe das "Problem", dass ich gerne auf ein bestimmtes Bit in einer statischen Variabeln zugreifen möchte die aber als Word deklariert ist. Folgendes Beispiel:

    Ich Habe mir einen FB erstellt mit einer statischen Variablen z.B "Stat_1" (Datentyp Word, Adresse 70.0)
    jetzt möchte ich gerne auf ein Bit auf der Adresse 70.5 zugreifen (innerhalb des FB). wie kann ich das machen? Mir fehlt dazu irgendwie der Befehl.

    Wenn es eine Word Variable aus einem DB wäre, würde ich dies mit DB.DBx... machen, aber bei einer statischen Variable weiss ich nicht wie ich da auf ein Bit zugreifen kann...

    Und das gleiche "Problem" habe ich nochmal mit einer Statischen Variable die als DWord deklariert ist und hier möchte ich gerne auf ein Wordbereich aus dieser Variable zugreifen. Im Prinzip das gleiche Problem wie oben.
    Zitieren Zitieren statische Variablen  

  2. #2
    Registriert seit
    09.11.2006
    Beiträge
    690
    Danke
    36
    Erhielt 31 Danke für 29 Beiträge

    Standard

    Um es nachvollziehbar zu machen würde ich das Wort auf eine Struktur mit 16 Bits kopieren und dort dann zugreifen.


    Gesendet von meinem iPhone mit Tapatalk
    Zeige nie deine Verblüffung, wenn dir etwas auf Anhieb gelingt.

    Praxis: Es funktioniert aber keiner weiß warum!

  3. #3
    Avatar von Junge
    Junge ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    13.11.2014
    Ort
    Paderborn
    Beiträge
    187
    Danke
    15
    Erhielt 12 Danke für 11 Beiträge

    Standard

    Was genau meinst du mit Struktur? Bzw wie sollte das aussehen?

    Ich hatte irgendwie an

    L Stat-1
    L ari1 p#...
    Oder ähnliches gedacht, nur da fehlt mir jetzt der korrekte "Befehl".

  4. #4
    Registriert seit
    12.12.2013
    Ort
    Kaiserslautern
    Beiträge
    1.337
    Danke
    386
    Erhielt 218 Danke für 173 Beiträge

    Standard

    Du kannst mit DIX70.5 darauf zugreifen.

    Sprich :

    U DIX70.5

    Bram
    Wenn es nicht auf STRAVA ist, ist es nicht passiert !!

  5. #5
    Registriert seit
    12.12.2013
    Ort
    Kaiserslautern
    Beiträge
    1.337
    Danke
    386
    Erhielt 218 Danke für 173 Beiträge

    Standard

    Aber pas auf.
    Wenn mann das so macht ist der FB nicht mehr Multiinstanzfähig
    Wenn es nicht auf STRAVA ist, ist es nicht passiert !!

  6. #6
    Avatar von Junge
    Junge ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    13.11.2014
    Ort
    Paderborn
    Beiträge
    187
    Danke
    15
    Erhielt 12 Danke für 11 Beiträge

    Standard

    Ah!
    Genau den Befehl hatte ich gesucht. Danke.

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

    Standard

    Der Klassiker:
    - die Bits ausmaskieren mit Wordverknüpfungs-AND, z.B.: WordVar AND W#16#0100
    - das Word auf eine temporäre Bit-Struktur kopieren und da die Bits ansprechen
    - AT-Sicht in SCL, oder AWL falls die CPU das unterstützt
    - Slice-Zugriff, falls die CPU das unterstützt: Variable.x1

    Alle direkt adressierten Bit-Zugriffe ala DBX.. oder DIX.. in nicht als Bool deklarierten Speicher sind heutzutage abzulehnen, wegen der hohen Gefahr, dabei unentdeckte und vom Compiler nicht verhinderbare Fehler zu machen, besonders bei Programmänderungen mit Verschiebung von Variablenadressen.

    Nachtrag:
    - man kann das Bit ins Statusbit A1 schieben oder rotieren und danach mit "U >0" abfragen (ins VKE holen)

    Harald
    Geändert von PN/DP (08.04.2016 um 02:22 Uhr) Grund: Bit in A1 schieben/rotieren
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

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

    friendo (30.03.2016),Junge (30.03.2016)

  9. #8
    Avatar von Junge
    Junge ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    13.11.2014
    Ort
    Paderborn
    Beiträge
    187
    Danke
    15
    Erhielt 12 Danke für 11 Beiträge

    Standard

    *doppel Post*

  10. #9
    Avatar von Junge
    Junge ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    13.11.2014
    Ort
    Paderborn
    Beiträge
    187
    Danke
    15
    Erhielt 12 Danke für 11 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hm....da hat natürlich Harald recht. Allerdings ist es auch sehr "umständlich" (wenn auch sinnvoller Programmmiert) für eine ledigliche Abfrage eines Bits, dies über z.B. Bit-Struktur zu tun.

    Wahscheinlich werd ich es so machen, wie Harald und auch schon Mitch gesagt hat- Bit Struktur. ist einfach und verständlich (aber total umständlich )

    Danke an euch beiden.

Ähnliche Themen

  1. TIA V12 - FB mit Statische Variablen
    Von Loipe im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 11.03.2013, 21:48
  2. statische Variablen...
    Von snowleopard1702 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 08.05.2011, 11:47
  3. Statische Variablen in FB´s
    Von Gerri im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 26.06.2008, 14:34
  4. Statische Variablen absolut Adressieren
    Von dpd80 im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 19.01.2008, 13:16
  5. Statische Variablen
    Von Sh4gr4th im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 09.12.2005, 14:45

Lesezeichen

Berechtigungen

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