Siemens
Siemens

Digital Industries, Motion Control, Machine Tool Systems

Logfile auf HDD schreiben

Beitrag 11.12.2019, 15:21 Uhr
NDMR82
NDMR82
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 07.06.2018
Beiträge: 2
Hi,

ich brauch mal Hilfe von einem Spezialisten.

Ich würde gerne nach jedem Programmdurchlauf ein paar Daten in eine Logdatei schreiben. Was ja eigentlich kein Problem ist.
Da wir wenig Speicher haben, soll die Datei auf die Festplatte geschrieben und nicht in die NC geladen werden.

Wenn ich mit WRITE in eine Datei schreibe, dann kommen die Daten zwar an, aber die Datei ist in die NC geladen und mit jedem Durchlauf geht der NC-Speicher runter.

Anbei mein Lösungsansatz:

CODE
N10 PROC LOG (STRING[30] PROGRAMM, REAL LAUFZEIT_SEK)
N20 DEF INT _ERROR
N30 DEF STRING[30] FILENAME="/_N_SPF_DIR/1202_PROTOKOLL"
N40 DEF STRING[20] DATUM
N50 DEF STRING[3] TAG, MONAT, JAHR, STUNDE, MINUTE, SEKUNDE
N60 DEF INT ABBRUCH=0
N70 DEF REAL AAX, ABX, AAY, ABY, AAZ, ABZ;G54
N80 DEF REAL BAX, BBX, BAY, BBY, BAZ, BBZ;G55
N90 DEF REAL CAX, CBX, CAY, CBY, CAZ, CBZ;G56
N100 DEF REAL DAX, DBX, DAY, DBY, DAZ, DBZ;G57
N100 DEF REAL EAX, EBX, EAY, EBY, EAZ, EBZ;G505
N100 DEF REAL FAX, FBX, FAY, FBY, FAZ, FBZ;G506
N100 DEF REAL GAX, GBX, GAY, GBY, GAZ, GBZ;G507
N110 IF $P_SEARCH
N120   ABBRUCH=1
N130 ENDIF
;$AC_TIMER[2]=0;AC_TIMER WIRD IM HAUPTPROGRAMM GESETZT

;########### Datum und Uhrzeit auf 2 Stellen berechnen ############
N140 JAHR=<<$A_YEAR
N150 IF STRLEN(JAHR)<2
N160   JAHR=<<"0"<<JAHR
N170 ENDIF

N180 TAG=<<$A_DAY
N190 IF STRLEN(TAG)<2
N200   TAG=<<"0"<<TAG
N210 ENDIF

N220 MONAT=<<$A_MONTH
N230 IF STRLEN(MONAT)<2
N240   MONAT=<<"0"<<MONAT
N250 ENDIF


N260 STUNDE=<<$A_HOUR
N270 IF STRLEN(STUNDE)<2
N280   STUNDE=<<"0"<<STUNDE
N290 ENDIF

N300 MINUTE=<<$A_MINUTE
N310 IF STRLEN(MINUTE)<2
N320   MINUTE=<<"0"<<MINUTE
N330 ENDIF

N340 SEKUNDE=<<$A_SECOND
N350 IF STRLEN(SEKUNDE)<2
N360   SEKUNDE=<<"0"<<SEKUNDE
N370 ENDIF

N380 DATUM=""<<TAG<<"."<<MONAT<<".20"<<JAHR<<";"<<STUNDE<<":"<<MINUTE<<":"<<SEKUNDE
;##################################################################
N390 AAX=$P_UIFR[1,X,TR]
N400 ABX=$P_UIFR[1,X,FI]
N410 AAY=$P_UIFR[1,Y,TR]
N420 ABY=$P_UIFR[1,Y,FI]
N430 AAZ=$P_UIFR[1,Z,TR]
N440 ABZ=$P_UIFR[1,Z,FI]

N450 BAX=$P_UIFR[2,X,TR]
N460 BBX=$P_UIFR[2,X,FI]
N470 BAY=$P_UIFR[2,Y,TR]
N480 BBY=$P_UIFR[2,Y,FI]
N490 BAZ=$P_UIFR[2,Z,TR]
N500 BBZ=$P_UIFR[2,Z,FI]

N510 CAX=$P_UIFR[3,X,TR]
N520 CBX=$P_UIFR[3,X,FI]
N530 CAY=$P_UIFR[3,Y,TR]
N540 CBY=$P_UIFR[3,Y,FI]
N550 CAZ=$P_UIFR[3,Z,TR]
N560 CBZ=$P_UIFR[3,Z,FI]

N570 DAX=$P_UIFR[4,X,TR]
N580 DBX=$P_UIFR[4,X,FI]
N590 DAY=$P_UIFR[4,Y,TR]
N600 DBY=$P_UIFR[4,Y,FI]
N610 DAZ=$P_UIFR[4,Z,TR]
N620 DBZ=$P_UIFR[4,Z,FI]

;N570 EAX=$P_UIFR[5,X,TR]
;N580 EBX=$P_UIFR[5,X,FI]
;N590 EAY=$P_UIFR[5,Y,TR]
;N600 EBY=$P_UIFR[5,Y,FI]
;N610 EAZ=$P_UIFR[5,Z,TR]
;N620 EBZ=$P_UIFR[5,Z,FI]

;N570 FAX=$P_UIFR[6,X,TR]
;N580 FBX=$P_UIFR[6,X,FI]
;N590 FAY=$P_UIFR[6,Y,TR]
;N600 FBY=$P_UIFR[6,Y,FI]
;N610 FAZ=$P_UIFR[6,Z,TR]
;N620 FBZ=$P_UIFR[6,Z,FI]

;N570 GAX=$P_UIFR[7,X,TR]
;N580 GBX=$P_UIFR[7,X,FI]
;N590 GAY=$P_UIFR[7,Y,TR]
;N600 GBY=$P_UIFR[7,Y,FI]
;N610 GAZ=$P_UIFR[7,Z,TR]
;N620 GBZ=$P_UIFR[7,Z,FI]
;##################################################################

N630 G04 F5

N640 R51=$AC_TIMER[2]
N650 WRITE(_ERROR, FILENAME, DATUM<<";"<<PROGRAMM<<";"<<LAUFZEIT_SEK<<";"<<ABBRUCH<<";"<<AAX<<";"<<ABX<<";"<<AAY<<";"<<ABY<<";"<<AAZ<<";"<<ABZ<<";"<<BAX<<";"<<BBX<<";"<<BAY<<";"<<BBY<<";"<<BAZ<<";"<<BBZ<<";"<<CAX<<";"<<CBX<<";"<<CAY<<";"<<CBY<<";"<<CAZ<<";"<<CBZ<<";"<<DAX<<";"<<DBX<<";"<<DAY<<";"<<DBY<<";"<<DAZ<<";"<<DBZ<<";"<<EAX<<";"<<EBX<<";"<<EAY<<";"<<EBY<<";"<<EAZ<<";"<<EBZ<<";"<<FAX<<";"<<FBX<<";"<<FAY<<";"<<FBY<<";"<<FAZ<<";"<<FBZ<<";"<<GAX<<";"<<GBX<<";"<<GAY<<";"<<GBY<<";"<<GAZ<<";"<<GBZ<<";")


N660 M30



Hier der wichtige Teil:

CODE
FILENAME="/_N_SPF_DIR/1202_PROTOKOLL"

WRITE(_ERROR, FILENAME, DATUM<<";"<<PROGRAMM<<";"<<LAUFZEIT_SEK<<";"<<ABBRUCH<<";"<<AAX<<";"<<ABX<<";"<<AAY<<";"<<ABY<<";"<<AAZ<<";"<<ABZ<<";"<<BAX<<";"<<BBX<<";"<<BAY<<";"<<BBY<<";"<<BAZ<<";"<<BBZ<<";"<<CAX<<";"<<CBX<<";"<<CAY<<";"<<CBY<<";"<<CAZ<<";"<<CBZ<<";"<<DAX<<";"<<DBX<<";"<<DAY<<";"<<DBY<<";"<<DAZ<<";"<<DBZ<<";"<<EAX<<";"<<EBX<<";"<<EAY<<";"<<EBY<<";"<<EAZ<<";"<<EBZ<<";"<<FAX<<";"<<FBX<<";"<<FAY<<";"<<FBY<<";"<<FAZ<<";"<<FBZ<<";"<<GAX<<";"<<GBX<<";"<<GAY<<";"<<GBY<<";"<<GAZ<<";"<<GBZ<<";")


Mit EXTOPEN bekomme ich immer einen Fehler wegen der Pfadangabe.

Ich hoffe mir kann jemand helfen...
   
Beitrag 12.12.2019, 10:47 Uhr
SeanClaud
SeanClaud
Level 3 = Community-Techniker
***
Gruppe: Mitglied
Mitglied seit: 23.12.2014
Beiträge: 177
Hallo,

ich hoffe du hast dir schon einige Beiträge zum Thema EXTOPEN vom Forum durchgelesen....???
dein Speichermedium muss freigegeben sein, ansonsten kein Schreiben darauf....
die Variable ERROR liefert dir zurück warum es nicht geht..... (DocOnWeb/CD) EXTOPEN

LG
   
Beitrag 12.12.2019, 12:59 Uhr
NDMR82
NDMR82
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 07.06.2018
Beiträge: 2
Hi SeanClaud,

über WRITE und EXTOPEN habe ich schon so einiges gelesen.

EXTOPEN liefert mir immer Fehler 16 (Pfad stimmt nicht).

Habe in HMI ein lokales LW angelegt, komme aber nicht drauf, egal was ich als Pfad angebe.
Per Softkey funktioniert das lokale LW.
   
Beitrag 12.12.2019, 14:54 Uhr
Tiberius Nero
Tiberius Nero
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 18.01.2005
Beiträge: 20
QUOTE (NDMR82 @ 12.12.2019, 12:59 Uhr) *
Hi SeanClaud,

über WRITE und EXTOPEN habe ich schon so einiges gelesen.

EXTOPEN liefert mir immer Fehler 16 (Pfad stimmt nicht).

Habe in HMI ein lokales LW angelegt, komme aber nicht drauf, egal was ich als Pfad angebe.
Per Softkey funktioniert das lokale LW.


Hallo NDMR82,

wo befindet sich dieses LW?
Wenn es auf einem Windows-Rechner ist, ist das Laufwerk freigegeben?
Hast Du es in der extdev.ini definiert - siehe: https://support.industry.siemens.com/cs/de/...231/96998510987?

Mit freundlichen Grüßen

Tiberius Nero
   
Beitrag 13.12.2019, 06:48 Uhr
SeanClaud
SeanClaud
Level 3 = Community-Techniker
***
Gruppe: Mitglied
Mitglied seit: 23.12.2014
Beiträge: 177
in diesem Beitrag steht auch einiges drinnen ....

https://de.industryarena.com/siemens/forum/...abe--83064.html
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: