Entwickler-Ecke

IO, XML und Registry - Conrad Relaisplatine ansteuern (Eher C# Problem)


mannyk - Sa 16.01.10 11:40
Titel: Conrad Relaisplatine ansteuern (Eher C# Problem)
Hallo Leute,

ich versuche schon seit langer Zeit meine 8-fach Relaisplatine von Conrad anzusteuern.
Ein bisschen Hilfe brauche ich aber noch, da mir noch nicht alles ganz klar ist.
Das Problem hat, meine ich, auch mehr mit C# zu tun, als mit der Platine selbst.

Der Befehlsrahmen für die Platine sind (genau wie die Antwort) immer 4 Bytes.
Commando - Board-Adresse - Daten - Prüfsumme (XOR aus den ersten 3 Bytes)

Um z.B. alle Relais zu schalten, gibt es den Rahmen: 03 01 255 253
Als Antwort sollte von der Relaiskarte genau der Rahmen zurückkommen, allerdings das Commando invertiert. (Also hier mit 252)

Folgenden Code habe ich geschrieben. Doch leider tut sich bei der Karte nichts und wenn ich die Antwort lesen will, sind es genau jene Bytes, die ich auch geschickt habe.



C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
SerialPort port = new SerialPort("COM1"19200, Parity.None, 8, StopBits.One);
port.Handshake = Handshake.None;

port.Open();

byte[] data = new Byte[4] { 0301255253 };
port.Write(data, 04);

for (int i = 0; i < 4; i++) {
    Console.Write(port.ReadByte().ToString() + " ");
}
             
port.Close();


Deshalb nun meine Frage, was ich falsch machen könnte. Muss ich die Bytes villeicht in einem anderen Format senden?

Lg und vielen Dank,
mannyk

PS: Für interessierte habe ich die Bedienungsanleitung dazugetan.

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt


mannyk - Sa 16.01.10 11:55

Ich habe eigentlich nichts verändert und jetzt funktioniert es!

Trotzdem würde ich gern den Thread noch offenhalten, falls ich noch eine Frage hätte. :)


quantiqum - Do 31.07.14 14:16

Hallo

ich stehe nun am selben Problem wie das beschrieben hast, ich habe mir den VB Code angeschaut uns versucht in C# nachzubauen.
Da es bei dir nun läuft wollte ich gerne fragen ob ich dein Code Schnippsel verwenden kannst und ob du ein Update dazu hast.

Ich danke dir viel mals Mr. D


mannyk - Do 31.07.14 14:41

Hallo,
kein Problem. Ich habe eine Bibliothek geschrieben, mit welcher man die Platine ansteuern kann. Ich werde den Code hier morgen veröffentlichen.
Lg,
mannyk


Hobelschlunze - Di 24.03.15 08:11

Hallo,
ich wollte fragen ob du den Code posten kannst da ich eine Relaiskarte von Conrad mit C# ansteuern möchte.
z.B. Relais 1 und 4 an oder Relais 2 und 3 an.

Gruß Hobel


kobluci - So 05.06.16 13:55

Hallo,
hat nun irgend jemand den C# Code und kann ihn bitte posten denn ich habe das selbe Problem.