Openen van GnuPlot vanuit C# Form

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • jeroen3
  • Registratie: Mei 2010
  • Laatst online: 22:54
Hallo,

Via de volgende methode probeer ik gnuplot aan te roepen:
code:
1
2
3
4
5
6
7
8
private void buttonGraph_Click(object sender, EventArgs e)
{
// Use ProcessStartInfo class
    Process proc = new Process();
    proc.StartInfo.FileName = @"C:\Logger\gnuplot\binary\gnuplot.exe";
    proc.StartInfo.Arguments = @"C:\Logger\Log.plt"; //Plot settings file
    proc.Start();
}

Maar dan geeft hij terug dat het data bestand niet gelezen kan worden.
"Unreadable file"...

Dit gebeurt niet wanneer ik het het via CMD probeer.
code:
1
c:\Logger\gnuplot\binary\gnuplot.exe c:\Logger\Log.plt


Hoe kan dit, is mijn argument niet goed? Niet genoeg rechten?

Ik draai het op windows

code:
1
2
3
4
5
6
7
8
9
10
11
12
 .plt
set style data fsteps
set xlabel "Time"
set timefmt "%H:%M:%S"
set yrange [ 10 : ]
set xdata time
set ylabel "Temp"
set format x "%H:%M:%S"
set terminal gif
set title "Titel"
set output "Log.gif"
plot 'data.dat' using 1:2 smooth cumulative

code:
1
2
3
 .dat
14:25:06    1
...

Acties:
  • 0 Henk 'm!

  • yade
  • Registratie: Mei 2002
  • Laatst online: 16-07 13:47
De webserver draait onder een andere user. Dit kan dus zo simpel zijn als geen rechten hebben op die paden met die user.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
yade schreef op vrijdag 10 december 2010 @ 09:45:
De webserver draait onder een andere user. Dit kan dus zo simpel zijn als geen rechten hebben op die paden met die user.
Waar zie jij dat 't om een webpagina gaat?

Is de plotfile wel al gesloten? Dus heb je na het schrijven van de file de file handles gesloten / gedisposed?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • jeroen3
  • Registratie: Mei 2010
  • Laatst online: 22:54
Misschien had ik erbij moeten vermelden dat het om een Windows Form C# script gaat.

En als het goed is zijn de bestanden gewoon gesloten. Vanuit het programma schrijf ik er namelijk nog niet naartoe. Ik was aan het kijken of ik GnuPlot kon aanroepen, en daar gaat het tot nu toe mis.

Acties:
  • 0 Henk 'm!

  • jeroen3
  • Registratie: Mei 2010
  • Laatst online: 22:54
Ik heb zojuist
code:
1
plot 'data.dat' using 1:2 smooth cumulative

Verandert naar:
code:
1
plot 'c:\Logger\data.dat' using 1:2 smooth cumulative

Nu komt de GIF die hij moet maken naast "SimpleSerial.exe" terecht, van waaruit gnuplot wordt aangeroepen.

Het is dus een probleem met de work directory
code:
1
 proc.StartInfo.WorkingDirectory = @"c:\Logger\";


En dat is opgelost.

Het probleem was dus dat hij "data.dat" zocht naast simpleserial.exe.