Nochmal danke für die Unterstützung. Mittlerweile läufts wie geschmiert.
Thema erledigt.
Beiträge von Christian_83
-
-
Danke SJX! Nach dem einfügen der Warteizeit wird nun alles korrekt ausgeführt.
Wie würde denn so eine Aufrufverzögerung aussehen? -
Guten Morgen,
also folgende .src schreibt die .csv Datei:Code
Alles anzeigenDEF schreiben( ) DECL INT HANDLE DECL STATE_T STATE DECL MODUS_T MODE DECL INT INTVAR DECL REAL REALVAR MODE=#SYNC HANDLE = 0 INTVAR = 10 REALVAR = 0.0 CWRITE ($FCT_CALL, STATE, MODE, "krl_fopen", "TEST.csv", "a" ,HANDLE) cwrite ($fct_call,State,Mode,"krl_fwriteln",handle," ") CWRITE ($fct_call,STATE,MODE,"krl_fprintf", HANDLE,"%d;%g",INTVAR,REALVAR) cwrite ($fct_call, State,Mode,"krl_fflush",Handle) Cwrite ($fct_call, State, Mode, "krl_fclose", Handle) END
und so sieht der aufruf im sps.sub aus:
Code
Alles anzeigen;FOLD DECLARATIONS ;FOLD BASISTECH DECL ;Automatik extern DECL STATE_T STAT DECL MODUS_T MODE ;ENDFOLD (BASISTECH DECL) ;FOLD USER DECL ; Please insert user defined declarations ;ENDFOLD (USER DECL) ;ENDFOLD (DECLARATIONS) ;FOLD INI ;FOLD AUTOEXT INIT INTERRUPT DECL 91 WHEN $PRO_STATE1==#P_FREE DO RESET_OUT () INTERRUPT ON 91 $LOOP_MSG[]=" " MODE=#SYNC $H_POS=$H_POS ;Automatik extern IF $MODE_OP==#EX THEN CWRITE($CMD,STAT,MODE,"RUN /R1/CELL()") ENDIF ;ENDFOLD (AUTOEXT INIT) ;FOLD TQM_INIT TorqueDefinitions() ;ENDFOLD (TQM_INIT) ;FOLD USER INIT ; Please insert user defined initialization commands ;ENDFOLD (USER INIT) ;ENDFOLD (INI) SCHREIBEN() LOOP WAIT FOR NOT($POWER_FAIL) TORQUE_MONITORING() ;FOLD USER PLC ;Make your modifications here ;ENDFOLD (USER PLC) ENDLOOP
Funktioniert nicht auf der realen Steuerung und auch nicht im OL -.- -
Danke für den Tipp, das wars aber leider nicht. Ich habe mittlerweile mittels eines Zählers festgestellt dass das Unterprogramm durchlaufen wird, jedoch werden die Anweisungen zum Schreiben in die .csv nicht ausgeführt. Sobald ich jedoch einen Kaltstart mit Daten neu einlesen ausführe funktionierts komplett mit Schreiben in die Datei.
-
Hallo allerseits,
ich habe hier ein Problem mit unserem KR5ARC KRC4 8.2.27
Wir wollen beim Hochfahren der Steuerung einen Stückzähler mit dem Submit aufrufen (aufruf vorm LOOP) Welcher Variablen in eine .csv datei schreibt. Das ganze funktioniert auch, jedoch nur wenn ich den Submit manuell ab- und wieder anwähle. Bei einem neustart der Steuerung wird das Unterprogramm nicht ausgeführt.
Hat jemand eine Idee an was das liegen könnte?Danke Vorab