jomolungma
Level-1
- Beiträge
- 5
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Hallo,
ich habe ein Problem mit dem Zugriff über die ADS-Bibliothek im C# auf den BC9000.
Vielleicht kann mir jemand sagen was ich falsch mache.
Ich habe eine Standard WPF Anwendung neu erstellt( Als Vorlage dient die Beispielanwendung von beckhoff aus dem infosys). In dem Fenster habe ich zwei Buttons(button1,button2) und ein Label(label1).
In der cs. Datei von dem Fenster Window 1 sind die unten stehenden C# Funktionen definiert.
folgender C# Funktion erstellt die Verbindung zum BC
Diese Funktion liesst auf Knopfdruck eine Bytevariable im BC
Und diese Funktion soll ein 10 an eine Variable im BC schicken:
IM BC9000 sind zwei Variablen deklariert:
var1 AT %MB0:Byte;
var2 AT %QB0:Byte;
Ich bin zeimlich vor dem verzweifeln, da eine Beispielanwendung von Beckhoff, zwar in VB, funktioniert.
Ich weis einfach nicht wo der Fehler steckt.
kann mir dann mal noch jemand erklären wie statt einer byte Variable eine String und eine Real variable lesen bzw. schreiben kann?
Ich bin Euch zum Dank verpflichtet.
Grüße Christian
ich habe ein Problem mit dem Zugriff über die ADS-Bibliothek im C# auf den BC9000.
Vielleicht kann mir jemand sagen was ich falsch mache.
Ich habe eine Standard WPF Anwendung neu erstellt( Als Vorlage dient die Beispielanwendung von beckhoff aus dem infosys). In dem Fenster habe ich zwei Buttons(button1,button2) und ein Label(label1).
In der cs. Datei von dem Fenster Window 1 sind die unten stehenden C# Funktionen definiert.
folgender C# Funktion erstellt die Verbindung zum BC
Code:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
try
{
// Verbinden mit lokaler SPS - Laufzeit 1
tcClient = new TcAdsClient();
tcClient.Connect("192.168.178.200.1.1", 800);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Code:
private void button1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
try
{
AdsStream dataStream;
BinaryReader binReader;
dataStream = new AdsStream(1);
binReader = new BinaryReader(dataStream);
tcClient.Read(16416,0,dataStream);
dataStream.Position = 0;
label1.Content = binReader.ReadInt16().ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Code:
private void button2_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
try
{
AdsStream dataStream;
dataStream = new AdsStream(1);
dataStream.Position = 0;
dataStream.WriteByte(20);
tcClient.Write(61488, 0, dataStream);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
var1 AT %MB0:Byte;
var2 AT %QB0:Byte;
Ich bin zeimlich vor dem verzweifeln, da eine Beispielanwendung von Beckhoff, zwar in VB, funktioniert.
Ich weis einfach nicht wo der Fehler steckt.
kann mir dann mal noch jemand erklären wie statt einer byte Variable eine String und eine Real variable lesen bzw. schreiben kann?
Ich bin Euch zum Dank verpflichtet.
Grüße Christian