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

Ergebnis 1 bis 5 von 5

Thema: ADS Read out für ganze Klemme°°°!!!

  1. #1
    Registriert seit
    06.07.2011
    Beiträge
    37
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leutz,

    habe das problem das ich gerne eine KL1808 von Beckhoff per ADS komplett auslesen möchte wie beim ADSREAD einen einzelnen eingang. Sinn davon soll weniger Arbeit und Datentransfer sein, das problem dabei ist aber ich brauche diese Daten danach auch einzeln wieder als BOOLsche Variablen zum weiterverarbeiten.

    Habs mal mit ADSREADEX versucht aber irgendwie... naja.

    Hat einer von euch nen vorschlag???????

    Danke im Vorraus

    Grüße
    Daniel
    Zitieren Zitieren ADS Read out für ganze Klemme°°°!!!  

  2. #2
    Registriert seit
    19.10.2009
    Beiträge
    194
    Danke
    8
    Erhielt 50 Danke für 44 Beiträge

    Standard

    Aufgrund der dürftigen Informationen kann ich nur versuchen zu erraten, was du mit ADS eigentlich machst:
    - die 8 Eingänge sind mit booleschen I/O Variablen in einer I/O Task verknüpft
    - die ADS-Applikation greift auf Port 301 der I/O Task per IndexGroup 0xF021 und BitAdresse = ByteAdresse * 8 + BitOffset

    Stattdessen kannst du per IndexGroup 0xF020 und ByteAdresse alle Bits als Byte auslesen, die entsprechende Adressierung der booleschen Variablen in der I/O Task natürlich vorausgesetzt.

    Gruß,
    witkatz

  3. #3
    Registriert seit
    06.07.2011
    Beiträge
    37
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Korrekt und diese 8Adressen aus dem Byte will ich gerne in einem Array stehen haben und dann wieder auslesen und Boolsch weiterverarbeiten können!!!

    Gruß

  4. #4
    Registriert seit
    19.10.2009
    Beiträge
    194
    Danke
    8
    Erhielt 50 Danke für 44 Beiträge

    Standard

    Willst du nun die Adressen oder die Bits haben?
    Wenn die Bits in TwinCAT I/O durch Adressierung zu einem Byte zusammengefasst sind, dann lässt sich das Byte als Einheit mit einem Befehl lesen. In der Applikation kann dann durch Binäroperation UND mit einem Bitmuster jedes einzelne Bit abgefragt und in ein boolesches Array zugewiesen werden.
    Du gibst nicht an in welcher Sprache deine ADS Applikation geschrieben ist, also nehme ich mir die Freiheit und füge ein Beispiel in C# an:

    Code:
            private void button1_Click(object sender, EventArgs e)
            {
                byte InputVar = 0;
                InputVar = (byte)tcClient.ReadAny(0xF020, 0, InputVar.GetType());
                bool[] arrInputVar = ByteToBoolArr(InputVar);
            }
            bool[] ByteToBoolArr(byte b)
            {
                bool[] BoolArr = new bool[8];
                byte Mask = 1;
                for (int i = 0; i <= 7; i++)
                {
                    BoolArr[i] = (b & Mask) == Mask;
                    Mask <<= 1;
                }
                return BoolArr;
            }
    Gruß,
    witkatz

  5. #5
    Registriert seit
    06.07.2011
    Beiträge
    37
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Pass auf ganz simpel:

    1. Eine CX --->Master
    2. Eine BC--->Koppler

    am BC eine Eingangskarte 8 eingänge
    CX soll diese auslesen via ADS als Byte.
    Aus diesem Byte will ich wieder meinetwegen 8 Lämpchen Schalten (BOOL) quasi dig. out!

    mehr also nicht!

    Mfg

Ähnliche Themen

  1. Beckhoff DC-Klemme. Erfarungen mit Klemme und Motoren?
    Von KarstenN im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 08.09.2010, 16:23
  2. Das ganze Bild der Automation
    Von ProFieldTec im Forum Werbung und Produktneuheiten
    Antworten: 0
    Letzter Beitrag: 29.06.2010, 19:27
  3. AWL Ganze Zahlen dividieren (16 Bit) ??
    Von Hans.S im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 08.01.2010, 15:51
  4. Libnodave in SPS schreiben, ganze DB's lesen
    Von AirKlaus im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 17.05.2009, 23:06
  5. Libnodave und ganze DB´s auslesen
    Von badgoes im Forum Hochsprachen - OPC
    Antworten: 6
    Letzter Beitrag: 18.03.2009, 22:49

Lesezeichen

Berechtigungen

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