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

Ergebnis 1 bis 7 von 7

Thema: Eingangsbyte -> Struct aus Bool

  1. #1
    Registriert seit
    24.07.2012
    Beiträge
    58
    Danke
    36
    Erhielt 6 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe eine 1500er ein Gerät über Profibus.
    In der Hardware ist nun z.B. ein Eingang parametriert mit Hilfe der entsprechenden GSD-Datei.

    Der Eingang besteht aus 2 Byte.

    Ich habe nun einen DB mit PLC-Datentyp erstellt. Darin eine Struct mit 8 Bit + 1 Byte.
    Nun will ich die 2 Eingangsbytes auf diese Struct schreiben, sodass ich mit den 8 Bits im Programm weiter arbeiten kann.

    Über Lade-Transferiere klappt es nicht. Anscheinend transferiert TIA nicht auf Struct.
    Wie kann ich die Eingänge nun in meinen DB schreiben?
    Zitieren Zitieren Eingangsbyte -> Struct aus Bool  

  2. #2
    Registriert seit
    12.12.2013
    Ort
    Kaiserslautern
    Beiträge
    1.353
    Danke
    393
    Erhielt 221 Danke für 175 Beiträge

    Standard

    Hallo Mico,

    Das beschalten vom kompletten PLC-Datentyp funktioniert nur wenn die komplette schnittstelle von das Datentyp ist.

    Du kannst dir doch auch direkt dir die Eingängen aus der Harwareconfiguration benennen. Oder willst du unbedingt in ein Datenbaustein schreiben.

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

  3. #3
    Registriert seit
    24.07.2012
    Beiträge
    58
    Danke
    36
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Ja, ich kann natürlich die Eingänge direkt verwenden.

    Ich versuche aber "im Geiste TIAs" möglichst symbolisch zu arbeiten, es sollte also ungefähr so aussehen:

    L "Eingangswort [AI]"
    T "DBxx".Struct1

  4. #4
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Blockmove könnte gehen.

  5. #5
    Registriert seit
    24.07.2012
    Beiträge
    58
    Danke
    36
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Zitat Zitat von Verpolt Beitrag anzeigen
    Blockmove könnte gehen.
    Danke. Hab das schon probiert. Geht leider nicht.

  6. #6
    Registriert seit
    07.08.2011
    Beiträge
    20
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Nico1977 Beitrag anzeigen
    Danke. Hab das schon probiert. Geht leider nicht.
    Wenn du "optimierte" Bausteine benutzt funktioniert kein Datentyp übergreifendes kopieren. Sprich 1Byte auf 8 Bools kopieren. Was bei "standard" Bausteinen gehen würde wäre das EW per Pointer in die Struct zu packen.

  7. #7
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.302
    Danke
    932
    Erhielt 3.321 Danke für 2.683 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Nico1977 Beitrag anzeigen
    Ich habe nun einen DB mit PLC-Datentyp erstellt. Darin eine Struct mit 8 Bit + 1 Byte.
    Nun will ich die 2 Eingangsbytes auf diese Struct schreiben, sodass ich mit den 8 Bits im Programm weiter arbeiten kann.
    Zitat Zitat von Nico1977 Beitrag anzeigen
    Ich versuche aber "im Geiste TIAs" möglichst symbolisch zu arbeiten, es sollte also ungefähr so aussehen:

    L "Eingangswort [AI]"
    T "DBxx".Struct1
    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"

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  8. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    Nico1977 (16.10.2014)

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 27.09.2016, 08:38
  2. TIA IF Anweisung mit BOOL Variable aus DB - ERROR
    Von CaptainB im Forum Simatic
    Antworten: 19
    Letzter Beitrag: 07.03.2014, 11:32
  3. Variablendeklaration: Struct in Struct deklarieren in TwinCAT v2.x
    Von Michi85 im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 15.12.2013, 23:56
  4. Struct aus Bytes auf Ausgänge abbilden
    Von Kaffeesüchtig im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 13.01.2010, 16:25
  5. BOOL Ausgang am FC gibt falschen Wert aus..
    Von Jochen Kühner im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 23.12.2004, 12:26

Lesezeichen

Berechtigungen

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