Erstellen einer Textdatei über ein Skript

Comprehensive CAN monitor for Windows® and its add-ins: Plotter, CANdb Import, Instruments Panel, and J1939
Post Reply
AndreasZ
Posts: 15
Joined: Mon 28. Jan 2013, 11:38

Erstellen einer Textdatei über ein Skript

Post by AndreasZ » Fri 21. Jun 2013, 14:46

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

User avatar
PEAK-Support
Sales & Support
Sales & Support
Posts: 1646
Joined: Fri 10. Sep 2010, 19:34

Re: Erstellen einer Textdatei über ein Skript

Post by PEAK-Support » Fri 21. Jun 2013, 21:13

Hier mal ein kleines Bsp. wie man es machen könnte:

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
und hier die SYM Datei

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
-------------------------------

AndreasZ
Posts: 15
Joined: Mon 28. Jan 2013, 11:38

Re: Erstellen einer Textdatei über ein Skript

Post by AndreasZ » Tue 25. Jun 2013, 14:23

Vielen Dank. Bin nun ein gutes Stück weiter.

Post Reply