Hallo und einen wunderschönen Tag,
Ich hoffe jemand kann mir bei meinem Problem mit der CWrite Anweisung helfen welche irgendwie nicht so richtig funktionieren will...
Und zwar versuche Ich mithilfe von HmiEasy eine Anwender freundliche Oberfläche zu erschaffen,
um Positionen nachzuteachen oder eben auch einen Artikelwechsel an meinem Robie durchzuführen.
Der Standard Artikelwechsel funktioniert über ein Hauptprogramm welches mithilfe der Switch anweisung das korrekte Programm anwählt,
allerdings ist das beim Teachen etwas anders hier würde Ich gerne meine direkt meine Positions & Variablenprogramme für den jeweiligen Artikel aufrufen
um diese mithilfe einer selbst erstellten HMI zu bearbeiten.
Diese Positions & Variablenprogramme würde Ich dann gerne über ein .sub Programm aufrufen wenn in der HMI das Teachen dieses Artikels angewählt wurde,
was auch soweit so gut alles funktioniert ... ausser das Ich die Programme nicht mit einem CWrite anweisungen aufrufen kann..
Sehe Ich mir nach Aufruf der CWRITE Anweisung die dazugehörige STATE_T Variable an gibt diese folgendes aus:
STATE_T: RET1 #CMD_SYN, MSG_NO 0, HITS 0, Lenght 0
Laut KUKA Manual "CREAD/CWRITE" steht "CMD_SYN" bei CWrite für "Die Anweisung ist syntaktisch falsch und kann nicht ausgeführt werden"
Was genau jetzt daran falsch ist kann Ich allerdings nicht Nachvollziehen...
Steuerung: KRC4 mit KSS 8.5.7
Hier mal ein Codeschnippsel:
DECL STATE_T STAT
DECL MODUS_T MODE
;FOLD Hauptprogramm
;TAB Programm starten
MODE=#SYNC
IF Programm_jetzt_laden and ($MODE_OP==#T1) AND ($PRO_STATE1==#P_FREE) THEN
Wait sec 0.012
CWRITE($CMD,STAT,MODE,"RUN /R1/Program/hauptprogramm()")
Programm_jetzt_laden=FALSE
IF Bauteil_nummer_HMI<>Bauteil_nummer_Prog THEN
Bauteil_nummer_Prog=Bauteil_nummer_HMI
ENDIF
HmiEasy.OpenTab=2
ENDIF
Alles anzeigen
Ich hoffe jemand kann mir helfen...