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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

Thema: TIA V13 Word to Bool

  1. #11
    Registriert seit
    29.10.2010
    Beiträge
    553
    Danke
    58
    Erhielt 39 Danke für 37 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Alles geht, außer nem Känguru das hüpft.

    Tschö dentech

  2. #12
    Registriert seit
    07.10.2013
    Beiträge
    7
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Erstell einen Struct in den Temp's
    (Bitdaten)

    Im Struct schreib deine 16 Bit's
    Bit_1
    Bit_2
    ....

    Schieb dein Input mit move auf den Struct und greif auf deine Bits wie nachstehend zu.

    U Bitdaten.Bit_1
    = was auch immer....

  3. #13
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.207
    Danke
    927
    Erhielt 3.293 Danke für 2.662 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Das Byte und die Bits aus dem Eingangswort ausmaskieren per Wortverknüpfung (UW) oder Schieben geht symbolisch, z.B. so:
    Code:
    L   "Eingangswort [AI]"
    T   "DBxx".Struct1.Statusbyte
    SLW 1
    U   <>0
    =   "DBxx".Struct1.Bit7
    SLW 1
    U   <>0
    =   "DBxx".Struct1.Bit6
    SLW 1
    U   <>0
    =   "DBxx".Struct1.Bit5
    
    ...
    
    =   "DBxx".Struct1.Bit1
    SLW 1
    U   <>0
    =   "DBxx".Struct1.Bit0
    statt "U <>0" geht auch "U >0"
    (1234567890)

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  4. #14
    ElJupo ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.08.2011
    Beiträge
    20
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von elly268 Beitrag anzeigen
    Erstell einen Struct in den Temp's
    (Bitdaten)

    Im Struct schreib deine 16 Bit's
    Bit_1
    Bit_2
    ....

    Schieb dein Input mit move auf den Struct und greif auf deine Bits wie nachstehend zu.

    U Bitdaten.Bit_1
    = was auch immer....
    Im TIA kann man kein WORD in Struct of Bits "moven" (move überprüft die Datentypen von In und Out) zumindest bei optimierten Bausteinen in standard Bausteinen kann man es eh mit L/T machen. Mir geht es aber um optimierte.

  5. #15
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 920 Danke für 740 Beiträge

    Standard

    Zitat Zitat von ElJupo Beitrag anzeigen
    Und zwar möchte ich eine Word Variable wieder in Bool's zerlegen.
    Zur genaueren Erklärung handelt es sich dabei um Steuer- /Statuswörter, jedes Bit hat seine eigene Funktion. Im FC wird dieses Wort dann in den Lokaldatenbereich kopiert wo es als Bool vorliegt.
    ...
    Im TIA alles ein wenig komplizierter, ich weiß ich könnte per Slice drauf zugreifen dann geht aber die Symbolik der einzelnen Bits verloren.

    Wieso geht denn mit Slice die Symbolik der einzelnen Bits verloren? Die liegt doch im Eingangswort des FCs eh' nicht vor, oder?

    Und mit AT z.B. kopierst Du doch auch nur in den Temp-Bereich: Du hast als IN das Word und im Temp die einzelnen Bits.
    Vom In-WORD weist Du per Slice Deinen einzelnen Bools im Temp die Werte zu. Ist zwar nicht so elegant wie AT, aber halt voll symbolisch.
    Und auch nicht aufwendiger als z.B. Haralds Vorschlag.

  6. #16
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 920 Danke für 740 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von nsc2001 Beitrag anzeigen
    Damit die AT Deklaration im Temporären Bereich funktioniert, muss dort aber auch der "optimierte Bausteinzugriff" deaktiviert sein.
    Zitat Zitat von ElJupo Beitrag anzeigen
    aber dann müsste ich auf den "optimierten Zugriff" verzichten
    Es funktioniert auch in optimierten Bausteinen:
    Zitat Zitat von TIA-Hilfe zu AT
    Folgende allgemeine Regeln gelten für das Überlagern von Variablen:
    ...
    In Codebausteinen mit optimiertem Zugriff für Variablen mit der Remanenzeinstellung "Im IDB setzen"
    Allerdings müsste man dafür einen FB verwenden, da ja ein FC bekanntlich über keinen IDB verfügt.

Ähnliche Themen

  1. Step 7 Word in Bool temporär umsetzen
    Von daudel im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 08.08.2014, 09:47
  2. Antworten: 10
    Letzter Beitrag: 01.08.2014, 06:17
  3. Antworten: 17
    Letzter Beitrag: 16.07.2014, 12:28
  4. Antworten: 2
    Letzter Beitrag: 11.05.2014, 08:14
  5. BOOL to WORD
    Von giro im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 10.07.2011, 16:49

Lesezeichen

Berechtigungen

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