Autor Beitrag
betty
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Mo 13.07.09 08:49 
guten morgen,
bin ein c sharp neuling, und weiß wirklich nicht, wie ich bei meinem problem vorgehen soll…

ich arbeiten mit einem wago-controller 841… dafür habe ich eine bibliothek, die diese funktion aufweist:
„Der Gateway Client dient zur Übernahme von Daten aus der SPS in die SQL-Datenbank. Dazu werden definierte Datenpakete per UDP an den Gateway Server übermittelt und von dort in die SQL Datenbank eingetragen.
Der Gateway Client liegt zurzeit als Bibliothek für WAGO Controller 750-841 (Ethernet) vor.

Pakettyp 1 – 1XIMP
Dieser Pakettyp dient zur Übertragung eines einzelnen Zählimpulses

Struktur der Nutzdaten:
dtTStamp dt Zeitstempel
udiID udInt Maschinen-ID
udiValue1 udInt Hier immer 1
udiValue2 udInt Anzahl der seit der letzen erfolgreichen Übertragung nicht
registrierten Zählimpulse.“

bei uns läuft alles übers netzwerk….
mein problem ist, die gesendeten daten mit c sharp zu empfangen und irgendwie auszugeben…

das programm mit dem ich arbeite: microsoft visual c# 2008 express edition

habe aus dem internet so etwas gefungen:
www.java2s.com/Code/.../BinaryUdpServer.htm

nur wie änder ich das um, dass es passt?
kann mir da jemand einen bzw. mehrere Tipps geben, bitte?!

weiß wirklich nicht weiter…..

liebe grüße
betty


ich hab da jetzt mal ein bisschen zusammengestellt, ist wohl nicht so ganz richtig, gibt mir fehler raus, könnt ihr euch das mal anschauen, bitte:

using System;
using System.Net;
using System.Net.Sockets;
using System.Collections.Generic;
using System.Linq;
using System.Text;


//Kontrollplätze

namespace Kontrollplatz1
{
public class Kontrollplatz1
{
public static int Main()
{
int x ;
byte[] data = new byte[1024];
IPEndPoint ipep= new IPEndPoint ("10.224.61.220", 9050);
UdpClient newsock = new UdpClient (ipep);
IPEndPoint sender = new IPEndPoint("10.224.61.220", 0);

data = newsock.Receive(ref sender);

byte[] data1 = newsock.Receive(ref sender);
//int test1 = BitConverter.ToInt32(data1,0);
bool test1 = BitConverter.ToBoolean (data1, 0);

if (true)
{
x=x++;
}

System.Console.WriteLine(x);

// Keep the console window open in debug mode.
//System.Console.WriteLine("Press any key to exit.");
//System.Console.ReadKey();

return x;
}
}
}