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

Ergebnis 1 bis 8 von 8

Thema: Zugriff auf einzelne Bit's TIA-Portal

  1. #1
    Registriert seit
    13.01.2007
    Beiträge
    301
    Danke
    34
    Erhielt 29 Danke für 25 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich komme aus der TwinCAT Welt und wühle mich gerade durch das TIA-Portal. Ich fürchte ich werde noch mehrere Fragen an Euch haben..

    Ich möchte aus Kompatibilitätsgründen zur bestehenden VISU gerne auf einzelne Bits einer Variable schreibend und lesend zugreifen. Bei TwinCAT geht das ja ganz einfach über Variablenname.Bit.

    Soweit bekomme ich das auch bei STEP7 hin, aber bei symbolischen Variablen klappt das offenbar nicht.

    #bDummy:=%DB10.DBX24.0; (absoluter Zugriff auf Element funzt)
    #bDummy:="DB10".HMI.nSteuerbits.0; (das funktioniert nicht, obwohl eigentlich das gleiche sein sollte)

    Die zweite Variante wäre halt schöner, da ich mir nicht alle Adressen merken kann, bzw. bei späteren Änderung des DB's dies böse enden kann. Bin ich generell auf dem Holzweg oder gibt es einen Trick?

    Verwendete Software STEP7 V11

    Vielen Dank
    Zitieren Zitieren Zugriff auf einzelne Bit's TIA-Portal  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.016
    Danke
    511
    Erhielt 2.647 Danke für 1.910 Beiträge

    Standard

    Da du das offensichtlich in SCL (ST) machst, kannst du für so etwas die AT-Anweisung nutzen. Suche dazu mal hier im Forum, da ist auch irgendwo Code dazu und auch in der Hilfe von Step7 wirst du fündig.
    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

  3. #3
    MarkusP ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    13.01.2007
    Beiträge
    301
    Danke
    34
    Erhielt 29 Danke für 25 Beiträge

    Standard

    Danke,

    soweit war ich schon, ich wollte es nur nicht wahr haben, dass das
    nicht einfach gehen soll! Bei der TIA-Schulung wurde uns gesagt, dass diese Art der Addressierung funktionieren sollte, vielleicht erst bei SP2 oder so..

    LG

  4. #4
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.038
    Danke
    238
    Erhielt 862 Danke für 616 Beiträge

    Standard

    Zitat Zitat von MarkusP Beitrag anzeigen
    Ich möchte aus Kompatibilitätsgründen zur bestehenden VISU gerne auf einzelne Bits einer Variable schreibend und lesend zugreifen. Bei TwinCAT geht das ja ganz einfach über Variablenname.Bit.

    Soweit bekomme ich das auch bei STEP7 hin, aber bei symbolischen Variablen klappt das offenbar nicht.

    #bDummy:=%DB10.DBX24.0; (absoluter Zugriff auf Element funzt)
    #bDummy:="DB10".HMI.nSteuerbits.0; (das funktioniert nicht, obwohl eigentlich das gleiche sein sollte)
    Das sollte schon gehen.
    Allerdings muss das Bit in dem DB10 auch als Bool deklariert sein und einen Symbolnamen haben:
    Code:
       "DB10".HMI.nSteuerbits.Start
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  5. #5
    MarkusP ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    13.01.2007
    Beiträge
    301
    Danke
    34
    Erhielt 29 Danke für 25 Beiträge

    Standard

    Zitat Zitat von Paule Beitrag anzeigen
    Das sollte schon gehen.
    Allerdings muss das Bit in dem DB10 auch als Bool deklariert sein und einen Symbolnamen haben:
    Code:
       "DB10".HMI.nSteuerbits.Start
    Das ist eben das "Problem", die Variable ist vom Type INT, und ich will direkt auf die Bit's zugreifen, wie gesagt um zur bestehenden VISU möglichst kompatibel zu bleiben.

  6. #6
    Registriert seit
    20.08.2008
    Ort
    Ludwigsburg
    Beiträge
    26
    Danke
    0
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Bit_Byte.png Bei TIA geht es nur noch über eine temporäre Variable.
    In diesem Beispiel wird ein Bit aus einem Byte gelesen.

  7. #7
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.512
    Danke
    360
    Erhielt 780 Danke für 627 Beiträge

    Standard

    Meines Wissens braucht man nicht erst in TEMP Variabeln zu übertragen.

    Probier mit "DB10".HMI.nSteuerbits.%X0

    edit: Es geht nicht mit V11. Fur S7-1200 hilft es mit diverse Service Packs und Updates.
    Auf der Siemens Support:
    Um bitweise auf Variablen vom Datentyp Byte, Word oder DWord zuzugreifen, benötigen Sie für die
    • S7-1200 (ab FW V2.0) STEP 7 (TIA Portal) V11+SP1+Upd 2 (oder höher),
    • S7-1500 STEP 7 (TIA Portal) V12 (oder höher).

    Und
    • Ab STEP 7 (TIA Portal) V13 ändert sich die Syntax von "Variable.X0" nach "Variable.%X0". Nach der Eingabe wie im oben beschriebenen Beispiel "inByte.X0" ändert STEP 7 (TIA Portal) ab der V13 die Syntax automatisch in "inByte.%X0".

    Geändert von JesperMP (02.09.2016 um 12:20 Uhr)
    Jesper M. Pedersen

  8. #8
    Registriert seit
    23.10.2015
    Ort
    Hessen
    Beiträge
    51
    Danke
    12
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von JesperMP Beitrag anzeigen
    Meines Wissens braucht man nicht erst in TEMP Variabeln zu übertragen.

    Probier mit "DB10".HMI.nSteuerbits.%X0

    edit: Es geht nicht mit V11. Fur S7-1200 hilft es mit diverse Service Packs und Updates.
    Auf der Siemens Support:

    Und

    Man braucht es auch vorher nicht in eine TEMP-Variable laden.
    Der Zugriff mittels ".%X0" für Bit 0 funktioniert auch bei mir einwandfrei.

Ähnliche Themen

  1. Einzelne Variable Archivieren
    Von Bensen83 im Forum HMI
    Antworten: 0
    Letzter Beitrag: 20.09.2011, 20:50
  2. Zugriff auf einzelne bits eines Realwerts
    Von Züttu im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 12.01.2011, 08:22
  3. LinNoDave und einzelne Bits
    Von Lazarus™ im Forum Hochsprachen - OPC
    Antworten: 4
    Letzter Beitrag: 19.01.2009, 13:46
  4. Passwortschutz für einzelne S7-300 Bausteine
    Von N-thalpie im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 19.01.2008, 12:12
  5. Einzelne Bits ausmaskieren
    Von zwerg77 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 03.12.2007, 07:14

Lesezeichen

Berechtigungen

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