Hallo,
ist es möglich über ein Skript eine Textdatei zu erstellen und einen Inhalt einzufügen bzw zu bearbeiten?
Im Grunde möchte ich für jeden Prüfvorgang eine Datei mit einer Seriennummer erstellen und diese bearbeiten.
Leider komme ich über die Dokumentation nicht weiter.
MfG
Andi
Erstellen einer Textdatei über ein Skript
- PEAK-Support
- Sales & Support
- Posts: 1646
- Joined: Fri 10. Sep 2010, 19:34
Re: Erstellen einer Textdatei über ein Skript
Hier mal ein kleines Bsp. wie man es machen könnte:
und hier die SYM Datei
Code: Select all
'------------------------------------------------
' FILE DESCRIPTION: Macros for CAN logging
' (c) 2013 PEAK-System Technik GmbH
' very simple logger Demo for Signal values in customer Text format
'------------------------------------------------
Sub RunForever()
' Benötige Variablen erzeugen
Dim sig1
Dim sig2
Dim speed
Dim position
Dim old_speed
Dim old_position
Dim logtext
' Die Datenreferenzen holen
Set sig1 = Signals("SpeedVar")
Set sig2 = Signals("PositionVar")
Dim fso, tf
' Datei erzeugen !!ACHTUNG die vorhandene wird gelöscht !!
Set fso = CreateObject("Scripting.FileSystemObject")
Set tf = fso.CreateTextFile("c:\Trace\CAN-LOG.txt", true)
' Zeile mit Zeilenumbruchzeichen schreiben.
tf.WriteLine("Logfile for CAN")
' Drei Zeilenumbruchzeichen in die Datei schreiben.
tf.WriteBlankLines(1)
tf.Close
position = sig2.Value
speed = sig1.Value
old_speed = speed
old_tion = position
' solange bis Macro gestoppt wird !!
do
' Value changed ?
if position <> old_position Then
' Grenzen abfragen
if position>5000 Then
PrintToOutputWindow("Position out of range !")
PrintToOutputWindow(position)
PrintToOutputWindow(" ")
'Logdatei schreiben
logtext = "Position:" & position
WriteLogEntry(logtext)
old_position = position
end if
end if
' Value changed ?
if speed <> old_speed Then
' Grenzen abfragen
if speed > 3000 Then
PrintToOutputWindow("Speedout of range !")
PrintToOutputWindow(speed)
PrintToOutputWindow(" ")
'Logdatei schreiben
logtext = "Speed:" & speed
WriteLogEntry(logtext)
old_speed = speed
end if
end if
' aktuelle Werte holen
position = sig2.Value
speed = sig1.Value
Wait(10) ' Time for other tasks on the system
Loop While 1=1
End Sub
Sub WriteLogEntry(text)
Dim fso, tf
Dim HourString
Dim MinuteString
Dim SecondString
Dim datetext
HourString = Hour(Now)
MinuteString = Minute(Now)
SecondString = Second(Now)
datetext = HourString & ":" & MinuteString & ":" & SecondString & " " & text
Set fso = CreateObject("Scripting.FileSystemObject")
Set tf = fso.OpenTextFile("c:\Trace\CAN-LOG.txt", 8, false)
' Zeile mit Zeilenumbruchzeichen schreiben.
tf.WriteLine(datetext)
tf.Close
End Sub
Code: Select all
FormatVersion=3.1 // Do not edit!
MuxChar=*
DecimalSeparator=.
UniqueVariables=True
{SENDRECEIVE}
[PositionID]
ID=1D5h
Picture=aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa
a=PositionVar unsigned /u:mm // Variable in Intel format
[SpeedID]
ID=2D5h
Picture=aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa
a=SpeedVar unsigned /u:mm/sec. // Intel Format
--------------------------------
PEAK-System Technik
Technical Support Team
support[at]peak-system.com
-------------------------------
PEAK-System Technik
Technical Support Team
support[at]peak-system.com
-------------------------------
Re: Erstellen einer Textdatei über ein Skript
Vielen Dank. Bin nun ein gutes Stück weiter.