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

Ergebnis 1 bis 2 von 2

Thema: libnodave C# Logo!8 VS2015 .net 4.0 x86 Verständnis fragen

  1. #1
    Registriert seit
    23.12.2011
    Beiträge
    1
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Abend,


    Ich wollte mich mal wieder mit C# und meiner logo!8 beschäftigen.


    Jedoch habe ich einige Verständnis Probleme.


    Irgendwie funktioniert das Ganze nicht was ich nach und nach zusammen kopiert oder auch bearbeitet habe.


    Hat da wer Ideen?

    Code:
    using System;using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    
    namespace LOGOTest_libnodave
    {
        public partial class Form1 : Form
        {
            static libnodave.daveOSserialType fds;
            static libnodave.daveInterface di;
            static libnodave.daveConnection dc;
            static int rack = 0; // LOGO
            static int slot = 0; // LOGO
            int LOGOInputs = 0, LOGOOutputs = 0, res;
    
    
            public Form1()
            {
                InitializeComponent();
                connectlogo();
                timer1.Interval = 500;
                timer1.Start();
            }
    
    
            public static bool CheckBitSet(byte b, int BitNumber)
            {
                //Kleine Fehlerbehandlung
                if (BitNumber < 8 && BitNumber > -1)
                {
                    return (b & (1 << BitNumber)) > 0;
                }
                else
                {
                    throw new InvalidOperationException(
                    "Der Wert für BitNumber " + BitNumber.ToString() + " war nicht im zulässigen Bereich! (BitNumber = (min)0 - (max)7)");
                }
    
    
            }
    
    
            public void connectlogo()
            {
                fds.rfd = libnodave.openSocket(102, textBox1.Text.ToString());
    
    
                fds.wfd = fds.rfd;
    
    
                if (fds.rfd > 0)
                {
    
    
                    di = new libnodave.daveInterface(fds, "IF1", 0, libnodave.daveProtoISOTCP, libnodave.daveSpeed187k);
    
    
                    di.setTimeout(1000000);
    
    
                    dc = new libnodave.daveConnection(di, 0, rack, slot);
    
    
                    dc.connectPLC();
                }
            }
    
    
            public void disconnectlogo()
            {
                dc.disconnectPLC();
                libnodave.closeSocket(fds.rfd);
            }
    
    
            public void readlogo()
            {
                // Eingänge lesen
                res = dc.readBytes(libnodave.daveInputs, 0, 0, 3, null);
    
    
    
    
                if (res == 0)
                {
    
    
                    LOGOInputs = dc.getU8();
    
    
    
    
    
    
                    cbIn1.Checked = CheckBitSet((byte)LOGOInputs, 0);
                    cbIn2.Checked = CheckBitSet((byte)LOGOInputs, 1);
                    cbIn3.Checked = CheckBitSet((byte)LOGOInputs, 2);
                    cbIn4.Checked = CheckBitSet((byte)LOGOInputs, 3);
                    cbIn5.Checked = CheckBitSet((byte)LOGOInputs, 4);
                    cbIn6.Checked = CheckBitSet((byte)LOGOInputs, 5);
                    cbIn7.Checked = CheckBitSet((byte)LOGOInputs, 6);
                    cbIn8.Checked = CheckBitSet((byte)LOGOInputs, 7);
    
    
                }
                else
                    Console.WriteLine("Error " + res + " " + libnodave.daveStrerror(res));
    
    
                // Ausgänge lesen
                res = dc.readBytes(libnodave.daveOutputs, 0, 0, 3, null);
    
    
                if (res == 0)
                {
                    LOGOOutputs = dc.getU8();
    
    
                    cbOut1.Checked = CheckBitSet((byte)LOGOOutputs, 0);
                    if (cbOut1.Checked) { tbOut1.BackColor = Color.Yellow; } else { tbOut1.BackColor = Color.Green; };
                    cbOut2.Checked = CheckBitSet((byte)LOGOOutputs, 1);
                    if (cbOut2.Checked) { tbOut2.BackColor = Color.Yellow; } else { tbOut2.BackColor = Color.Green; };
                    cbOut3.Checked = CheckBitSet((byte)LOGOOutputs, 2);
                    if (cbOut3.Checked) { tbOut3.BackColor = Color.Yellow; } else { tbOut3.BackColor = Color.Green; };
                    cbOut4.Checked = CheckBitSet((byte)LOGOOutputs, 3);
                    if (cbOut4.Checked) { tbOut4.BackColor = Color.Yellow; } else { tbOut4.BackColor = Color.Green; };
    
    
                }
                else
                    Console.WriteLine("Error " + res + " " + libnodave.daveStrerror(res));
            }
    
    
    
    
            private void timer1_Tick(object sender, EventArgs e)
            {
                readlogo();
            }
    
    
        }
    }
    Zitieren Zitieren libnodave C# Logo!8 VS2015 .net 4.0 x86 Verständnis fragen  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.288
    Danke
    932
    Erhielt 3.320 Danke für 2.682 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Dragostanii Beitrag anzeigen
    Irgendwie funktioniert das Ganze nicht
    Kannst Du das "irgendwie" irgendwie genauer spezifizieren?
    Geht es nicht zu compilieren oder stürzt es ab oder bekommst Du Fehlermeldungen und wie lauten die?

    Funktioniert PING auf die LOGO?
    Was für eine LOGO verwendest Du?

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 02.09.2015, 14:20
  2. [Logo 8] Fragen über Fragen (Versorgung, Schaltung und Sonstiges)
    Von NEo-Shadow02 im Forum Sonstige Steuerungen
    Antworten: 1
    Letzter Beitrag: 19.03.2015, 00:30
  3. Sonstiges Libnodave daveReadBytes Verständnis Problem
    Von msfreak im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 04.01.2015, 16:49
  4. Grundlegende Fragen zum Verständnis
    Von fontsix im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 09.02.2012, 15:37
  5. LibNoDave unter VB.Net ohne libnodave.net.dll
    Von Earny im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 09.03.2010, 18:57

Lesezeichen

Berechtigungen

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