Hallo liebe Forumsmitglieder,
ich befasse mich seit Kurzem mit der Möglichkeit, Daten über die COM-Schnittstelle an die KRC2 zu schicken. Mittlerweile bin ich auch soweit, dass (so wie ich das sehe) die Daten von der KRC korrekt empfangen und auch gesendet werden können. Allerdings ärgert mich, dass ich trotz Automatikbetrieb (NICHT Automatik extern) die Auswertung des CREAD-Befehls immer mit der Start-Taste bestätigen muss. Beispielsweise habe ich mal dieses Programm ausprobiert:
;-----------------------------------------------------------
DEF USER_MAIN ()
;Aufruf im Hauptlauf
CHAR TEST
INT HANDLE,OFFSET
DECL STATE_T SW_T,SC_T,SR_T
DECL MODUS_T MW_T,MR_T
REAL TIMEOUT
MW_T=#SYNC
MR_T=#ABS
TIMEOUT=10.0
COPEN(:SER_3,HANDLE)
IF HANDLE==0 THEN
HALT
ENDIF
OFFSET=0
;Nach dem Abschicken des Befehls muss ich hier mit Start+ bestätigen.
WAIT FOR $DATA_SER3>0
CREAD(HANDLE,SR_T,MR_T,TIMEOUT,OFFSET,"%c",TEST)
CCLOSE(HANDLE,SC_T)
END
Alles anzeigen
von http://www.roboterforum.de/rob…datenempfang-t5383.0.html
Aber auch hier muss ich nach dem Abschicken des Befehls von meinem PC mit Start+ bestätigen, damit über die WAIT-Anweisung gesprungen wird. Merkwürdig ist, dass SR_T == #DATA_END und nicht #DATA_OK wird. Allerdings kann ich im Terminal den korrekt empfangenen Wert lesen. Somit schient die Kommunikation an sich i.O. zu sein. Habt ihr eine Idee, woran es liegt, dass ich ständig mit Start+ bestätigen muss?
Schonmal vielen Dank!
Gruss, Peter