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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: Codesys Bits, Byte, Word und DWord

  1. #1
    Registriert seit
    29.01.2004
    Beiträge
    322
    Danke
    10
    Erhielt 22 Danke für 22 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Freunde,
    ich suche eine Übersicht bzw Erklärung wie die Bits und Bytes usw bei Eingängen, Ausgängen und Merkern bei Codesys (ich habe Indralogic) zusammengehören. Habe schon wie wild gegoogelt, aber nichts rechtes gefunden.

    Gruß

    Andreas
    Zitieren Zitieren Codesys Bits, Byte, Word und DWord  

  2. #2
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Wie bitte?
    Ich verstehe Deine Frage jetzt nicht.

    Das einzige was mir da jetzt einfällt wo vielleicht ungewöhnlich ist, ist das man Byte und Word basierend (je nach Zielsystemeinstellungen arbeiten kann)
    Byte x.0 bis x.7 oder Word x.0 bis x.15

    Oder was meinst Du?

    Schau mal in der Hilfe nach, unter dem Begriff: Adresse.
    Geändert von zotos (08.03.2007 um 16:44 Uhr)
    If you open your Mind too much, your Brain will fall out.

  3. #3
    Avatar von Znarf
    Znarf ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.01.2004
    Beiträge
    322
    Danke
    10
    Erhielt 22 Danke für 22 Beiträge

    Standard

    Hallo Zotos,
    genau das meine ich. Ich komme aus der S7-Welt und da ist ja alles schön geregelt mit M0.0 ist Teil von MB0, MW0 und MD0. Bei Codesys ist das ja wohl anders, und ich möchte gern wissen wie. Wir bekommen jetzt eine L20 von Rexroth mit einem VCP02.2 und ich lese mich da gerade durch ein paar Handbücher. Da steht zB das man für den Meldebereich auf dem VCP eine Variable mit Byte- bzw Wortzugriff benötigt, die man in der SPS aber Bitweise ansprechen muß (paralleles Meldeverfahren) und dabei dachte ich an die Merker. Unabhängig davon habe ich im Handbuch irgendwo gesehen, das sich %MD48 zusammensetzt aus Byte 192-195 (also 48*4).
    Vielleicht geht das mit dem Meldebereich auch anders und ich muß mich von meinem S7-Denken erstmal lösen.

    Gruß

    Andreas

  4. #4
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Also bis auf das man auch Wortweise arbeiten kann ist das doch wie gewohnt.

    z.B. %IB20 entspricht %IX20.0 bis %IX20.7
    Geändert von zotos (08.03.2007 um 16:54 Uhr)
    If you open your Mind too much, your Brain will fall out.

  5. #5
    Avatar von Znarf
    Znarf ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.01.2004
    Beiträge
    322
    Danke
    10
    Erhielt 22 Danke für 22 Beiträge

    Standard

    Das heißt das QW0 aus QX0.0 bis QX0.7 besteht bei byteweiser Orientierung bzw aus QX0.0 bis QX0.15 bei wortweiser Orientierung, oder?
    Wie sieht das jetzt mit QB0 aus? Wie hängt der damit zusammen?


    Gruß

    Andreas

  6. #6
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Das ist schon so wie man das kennt. Geht so gar noch einen Schritt weiter:

    Zitat Zitat von IntraLogic_Hilfe
    Bit-Zugriff:

    Adressierung von Bits in Variablen

    In ganzzahligen Variablen können einzelne Bits angesprochen werden. Dazu wird an die Variable mit einem Punkt abgetrennt der Index des zu adressierenden Bits angehängt. Der Bit-Index kann durch eine beliebige Konstante gegeben werden. Die Indizierung ist 0-basiert.
    Beispiel:
    a : INT;
    b : BOOL;
    ...
    a.2 := b;
    Das dritte Bit der Variablen a wird auf den Wert der Variable b gesetzt.
    Ist der Index größer als die Bit-Breite der Variablen so wird folgender Fehler ausgegeben: Index '<n>' außerhalb des gültigen Bereichs für Variable '<var>'!
    Die Bitadressierung ist bei folgenden Variablentypen möglich: SINT, INT, DINT, USINT, UINT, UDINT, BYTE, WORD, DWORD.
    If you open your Mind too much, your Brain will fall out.

  7. #7
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Ich kenne mich aber ehrlich gesagt damit gar nicht sooo... gut aus.

    1. verwende ich so gut wie keine Merker.
    2. Ein- und Ausgänge weise ich direkt in einer globalen Variablenliste einem Symbolischen Namen zu. z.B. _100S123A AT %IX11.0: BOOL; und arbeite dann nur noch mit dem Symbolischen Namen.
    If you open your Mind too much, your Brain will fall out.

  8. #8
    Avatar von Znarf
    Znarf ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.01.2004
    Beiträge
    322
    Danke
    10
    Erhielt 22 Danke für 22 Beiträge

    Standard

    Ok,
    ich habe das getestet mit "Byte-Adressierung" aus. Da hatte ich einige Probleme. Du hast natürlich recht das es so ist wie sonst. Ich fasse mal zusammen:
    Byte-Adressierung aktiviert
    QX0.0 ist das rechte Bit von QB0, QW0 und QD0
    QX1.0 ist das rechte Bit von QB1 und das 9. Bit von rechts von QW0 und QD0

    Wort-Adressierung
    QX0.0 ist das rechte Bit von QB0, QW0 und QD0

    QX1.0 ist das rechte Bit von QB2 und QW1 und das 17.Bit von rechts von QD0

    Wie gesagt hat mich die Wort-Adressierung mit der ich getestet habe ein wenig verwirrt. Werde also die Byte-Adressierung aktivieren damit mein Hirn auch mitspielt

    Vielen Dank Zotos.

    Gruß

    Andreas

  9. #9
    Avatar von Znarf
    Znarf ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.01.2004
    Beiträge
    322
    Danke
    10
    Erhielt 22 Danke für 22 Beiträge

    Standard

    Um nochmal auf das Meldesystem zurückzukommen.
    Hier steht:
    Das man für das parallele Meldeverfahren des VCP eine symbolische Variable anlegen muß. Auf diese Variable muß man aus der Steuerung bitweise und aus dem Bediengerät byte- oder wortweise zugreifen können.
    Muß ich da nicht die Merker nehmen? Oder wie kann ich das mit einer Variablen ohne "übliche" Adresse realisieren?

    Gruß

    Andreas

  10. #10
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich nutze zwar auch IntraLogic kenne aber weder die L20 noch das VCP02.2 da ich hauptsächlich PC-basierende Steuerungen verwende (ich habe auch noch kein Target für die L20).

    Also mit den Merkern sollte es auf jeden Fall gehen da das ja nichts anderes sind wie Variablen denen Du die "Adresse" zu weist.

    Also im zweifel greif doch zum Merker das bist Du doch eh gewohnt.

    Noch ein paar Bemerkungen:

    Also ich würde auch kein AWL benutzen. IMHO hat man den Einstieg in ST schneller gefunden als in die IEC 61131-3 AWL ;o)

    Du musst um TON/TOF (Timer), RS/SR-Glieder, F_TRIG/R_TRIG (Flanken) verwenden zu können muss die Standard.lib eingebunden sein.

    Ach bei Fragen, frag einfach.
    If you open your Mind too much, your Brain will fall out.

Ähnliche Themen

  1. Quersumme eines Byte,WORD,DWORD
    Von Susi im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 07.04.2011, 16:19
  2. Antworten: 4
    Letzter Beitrag: 08.07.2008, 08:52
  3. byte in word / dword umwandeln
    Von Gerri im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 03.07.2008, 14:31
  4. BYTE/WORD/DWORD vergleichen
    Von slma im Forum Simatic
    Antworten: 23
    Letzter Beitrag: 06.07.2007, 15:11
  5. Bits in temporäres Byte mappen und gesetzte Bits zählen
    Von yetibrain im Forum PC- und Netzwerktechnik
    Antworten: 3
    Letzter Beitrag: 19.02.2005, 16:31

Lesezeichen

Berechtigungen

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