-> Hier kostenlos registrieren
Hallo,
ich brauch mal euren rat/hilfe ich möchte zwei SolarMax Wechselrichter der S-Serie auslesen, dafür habe ich folgende Hardware:
CX1010-0121 - CPU Groundmodul
CX1010-N031 - RS485 Anschluss
Nun habe ich das ganze schonmal verkabeld un wiel jetz anfangen das programm zu schreiben. Angefangen habe ich damit erst mal die Schnittstellen-Kommunikation mit dem MaxCommProtokol zu testen und da mit habe ich so meine Probleme.
Die Protokolerklärung habe ich mal als PDF angehängt.
Als erstes habe ich begonnen eine einfache anfrage zu senden indem ich einen Sende-String erzeugt habe wie diesen hier
diesen versuche ich dan an die Serielle Schnitstelle zu senden per
das ganze im Standard Task.
Im ComBackroundTask mit Piorität = 0 und Zykluszeit = 1ms steht folgendes:
Das problem ist nun das ich immer folgende Fehlermeldung von der Schnittstelle erhalte: COMERROR_TXBUFFOVERRUN.
Was mach ich falsch kann mir jemad helfen?
Gruß
Borsti87
ich brauch mal euren rat/hilfe ich möchte zwei SolarMax Wechselrichter der S-Serie auslesen, dafür habe ich folgende Hardware:
CX1010-0121 - CPU Groundmodul
CX1010-N031 - RS485 Anschluss
Nun habe ich das ganze schonmal verkabeld un wiel jetz anfangen das programm zu schreiben. Angefangen habe ich damit erst mal die Schnittstellen-Kommunikation mit dem MaxCommProtokol zu testen und da mit habe ich so meine Probleme.
Die Protokolerklärung habe ich mal als PDF angehängt.
Als erstes habe ich begonnen eine einfache anfrage zu senden indem ich einen Sende-String erzeugt habe wie diesen hier
Code:
sSendString: T_MAXSTRING := '{FA;01;07|64:UDC|043D}
Code:
SendString255_1(
SendString := sSendString,
TXbuffer := MaxComTXbuffer
);
Im ComBackroundTask mit Piorität = 0 und Zykluszeit = 1ms steht folgendes:
Code:
MaxCommControl(
COMin := MaxCommInData,
COMout := MaxCommOutData,
TxBuffer := MaxComTxBuffer,
RxBuffer := MaxComRxBuffer
);
Was mach ich falsch kann mir jemad helfen?
Gruß
Borsti87