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

Ergebnis 1 bis 6 von 6

Thema: Visualisierungstest Twincat 2/ C#

  1. #1
    Registriert seit
    29.01.2015
    Beiträge
    17
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    Ich will mit einer Visualisierung einen Wert aus meine PLC über C# anzeigen.

    Dazu nutze ich den folgenden Code, jedoch findet er mein PLC nicht. ich habe die Refernz geladen und auch den Connect spezifiziert.
    Die PLC ist gestartet und das Programm läuft ohne probleme.

    Was übersehe ich?
    Vielen dank für euere Hilfe!!!

    GRuß
    Hendrik
    Code:
    using System.Windows.Forms;
    using TwinCAT.Ads;
    using System.IO;
    
    
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        { 
            private TcAdsClient TcClient = new TcAdsClient();
            private int AIN0;
            private int hAIN0;
    
        
            public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                TcClient.Connect("5.34.153.16.1.1",801);
                Handle();
                ReadALL();
            }
            private void Handle()
            {   try
                {
                    AIN0 = TcClient.CreateVariableHandle("MAIN.Var01_Berechnet");
                }
                catch (AdsException ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            private void deleteHandel()
            {
                try
                {
                    TcClient.DeleteVariableHandle(AIN0);
                }
                catch (AdsException ex)
                {
                    MessageBox.Show(ex.Message);
                }
             }
            private void ReadALL()
            {
                try
                {
                    hAIN0 = Convert.ToInt32(TcClient.ReadAny(AIN0, typeof(double)));
                    label1.Text = hAIN0.ToString();
                }
                catch (AdsException ex)
                {
                    MessageBox.Show(ex.Message);
                }
                
            }
    
            private void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
                deleteHandel();
                TcClient.Dispose();
            }
    
        }
    }
    Zitieren Zitieren Visualisierungstest Twincat 2/ C#  

  2. #2
    Registriert seit
    24.02.2009
    Beiträge
    1.242
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    Auf was für einen Rechner läuft denn deine C# Visu?
    Läuft die Visu auf der SPS oder einem anderen Rechner in Netzwerk?
    Ist auf dem Rechner auf dem die Visu läuft, TwinCAT installiert? (Wenigstens der AMS Router muss drauf sein, sonst kann der Client die Verbindung nicht aufbauen)

    Bekommst du beim Erzeugen des Handles eine Exception?
    Sänd from mei Kombjudder mitse Dastadurr.

  3. #3
    spiegelkabinett ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.01.2015
    Beiträge
    17
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Wenn beides in einer Virtuellen Machine laufen lasse bekomme ich die Verbindung.

    Wenn ich ein komplettes TWinCat 2auf einem CX laufen habe benötige ich doch nur das passende .net um eine .exe der Visu zu nutzen, oder?

  4. #4
    Registriert seit
    24.02.2009
    Beiträge
    1.242
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    Die passende .net Framework Version muss auf dem CX installiert sein und du brauchst deine exe und die ads.dll. Auf einem CX sollte der Router schon drauf sein, auch ohne komplette TwinCAT installation.
    Hast du die NetID geprüft ob die stimmt? Evtl. einen Zahlendreher drin? Wenn die Visu lokal auf dem CX läuft, brauchst du die NetID auch nicht angeben, der TcAdsClient nimmt dann die lokale ID.
    Sänd from mei Kombjudder mitse Dastadurr.

  5. #5
    spiegelkabinett ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.01.2015
    Beiträge
    17
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Moin,
    Das passende .net Framework hbae ich installiert. Mit der ads.dll meinst du die TwinCATads.dll welch ich bei den Verweißen einfüge? oder die .dll die beim Release erzeugt wird?
    Die NetID habe ich geprüft. stimmt überein! Habe die NetID gestrichen und nur den Port eingefügt.
    Ich vermute ein Fehler mit dem CreateVaribalHandle. Wenn ich die Verbindung durch eine NotficationHandle Aufbau funktioniert dieser.

  6. #6
    Registriert seit
    24.02.2009
    Beiträge
    1.242
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wenn bei CreateVariableHandle was schief läuft sollte die Methode eine AdsErrorException feuern. (du solltest das in deiner catch Klausel anpassen) Wurde die Methode erfolgreich ausgeführt müsste bei dir in AIN0 der Handle auf die Variable stehen. (kannst du mit einem Breakpoint überprüfen)

    Am besten gehst dein Programm Schritt für Schritt durch, so kannst du am besten herausfinden an welcher Stelle es nicht mehr das macht was es soll.
    Sänd from mei Kombjudder mitse Dastadurr.

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 28.11.2014, 10:59
  2. TwinCAT 2 und TwinCAT 3 auf einem Rechner
    Von DerDron im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 17.11.2014, 16:07
  3. Twincat 3.1 C++ Module im UserMode TwinCAT UM(x86)
    Von Schaun_wir_mal im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 05.11.2013, 22:13
  4. TwinCAT stürzt ab sobald TwinCAT System gestartet wird
    Von HK09 im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 23.09.2010, 10:02
  5. Antworten: 4
    Letzter Beitrag: 03.11.2009, 14:05

Lesezeichen

Berechtigungen

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