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

Ergebnis 1 bis 2 von 2

Thema: Problem mit C#-BinaryReader in Verbindung mit einem Beckhoff ADS-Stream

  1. #1
    Registriert seit
    13.10.2009
    Beiträge
    61
    Danke
    24
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich habe ein Problem mit einem Programm eines Kommilitonen, das Werte aus der Beckhoff SPS TwinCAT ausliest.

    Vielleicht ist das hier nicht ganz das richtige Forum, da es wohl eher ein Problem mit C# ist, aber vielleicht arbeitet hier ja auch jemand damit

    Die ADS-Verbindung scheint zu funktionieren, denn die C#-Variable distance hat den Wert der SPS-Integervariable Hoehe.
    Der Array adsInVariables enthält allerdings nur FALSE-Einträge, obwohl einige SPS-Variablen TRUE sind. Das seltsame ist: adsInVariables[0,0] ist als einziger Eintrag TRUE, obwohl BoolVariable01 FALSE ist.
    Für mich sieht es so aus, als liegt der Fehler bei der Verwendung des BinaryReader.

    Kann mir jemand sagen, ob nachfolgender C#-Code (insbesondere die Verwendung des BinaryReader) korrekt ist?

    Code:
                        // init
                        TcAdsClient tcClient = new TcAdsClient();
                        int handle;
                        adsInVariables = new bool[5, 8];
                        distance = 0;
    
                        AdsStream dataStream = new AdsStream(40);
                        BinaryReader binReader = new BinaryReader(dataStream);
    
                        // Verbindung herstellen
                        tcClient.Connect(801);
    
                        // SPS-Variablen in ADS-Stream schreiben
                        dataStream.Position = 0;
                        handle = tcClient.CreateVariableHandle(".BoolVariable01");
                        tcClient.Read(handle, dataStream);
                        tcClient.DeleteVariableHandle(handle);
    
                        handle = tcClient.CreateVariableHandle(".BoolVariable02");
                        tcClient.Read(handle, dataStream);
                        tcClient.DeleteVariableHandle(handle);
    
                        [...]
    
                        handle = tcClient.CreateVariableHandle(".BoolVariable40");
                        tcClient.Read(handle, dataStream);
                        tcClient.DeleteVariableHandle(handle);
    
                        // SPS-Variablenwerte von ADS-Stream in Array kopieren
                        dataStream.Position = 0;
                        for (int i = 0; i < 5; i++)
                        {
                            for (int j = 0; j < 8; j++)
                                adsInVariables[i, j] = binReader.ReadBoolean();
                        }
    
                        // Integer-SPS-Variable in ADS-Stream schreiben
                        dataStream.Position = 0;
                        handle = tcClient.CreateVariableHandle(".Hoehe");
                        tcClient.Read(handle, dataStream);
                        tcClient.DeleteVariableHandle(handle);
    
                        // SPS-Integer-Variablenwert von ADS-Stream in Integervariable kopieren
                        dataStream.Position = 0;
                        distance = binReader.ReadInt16();
    
                        // Verbindung schließen
                        tcClient.Dispose();
    Zitieren Zitieren Problem mit C#-BinaryReader in Verbindung mit einem Beckhoff ADS-Stream  

  2. #2
    Registriert seit
    24.04.2008
    Ort
    Lübeck
    Beiträge
    324
    Danke
    8
    Erhielt 64 Danke für 62 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren

  3. Folgender Benutzer sagt Danke zu Neals für den nützlichen Beitrag:

    SPSstudent (25.01.2010)

Ähnliche Themen

  1. Beckhoff CX5010 Verbindung
    Von Aspire1 im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 02.11.2011, 08:29
  2. Verbindung von einem PC auf eine CX9000 mit .Net
    Von Joschua im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 06.12.2010, 09:04
  3. TCP/IP Verbindung vom Notebook zur Beckhoff IPC
    Von Jumpinjack im Forum CODESYS und IEC61131
    Antworten: 0
    Letzter Beitrag: 29.11.2010, 16:09
  4. Beckhoff CX mit einem Siemens Panel über SiemensHMIComm.lib
    Von mclear im Forum CODESYS und IEC61131
    Antworten: 9
    Letzter Beitrag: 06.01.2008, 20:33
  5. Antworten: 2
    Letzter Beitrag: 13.04.2007, 10:32

Lesezeichen

Berechtigungen

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