Statistik: Verfasst von Kabelitz — Mo 10. Sep 2012, 16:00
Statistik: Verfasst von Gast — Fr 29. Jun 2012, 16:18
Statistik: Verfasst von Kabelitz — So 15. Jan 2012, 19:33
Code:
func gsvgetall(user as integer)
dim line as string
line = Chr($09)+Chr(user - 48)
ComOutput(Channel1,line)
pause(1000)
endfunc
Statistik: Verfasst von Kabelitz — Mi 24. Aug 2011, 16:37
Code:
sub get_threshold1
{
my ($portobj, $mbendwert) = @_;
my ($hb_on, $lb_on, $hb_off, $lb_off);
my ($sw_on, $sw_off);
my (@bytes_from_gsv, @params);
(@bytes_from_gsv) = &gsv_command ($portobj, "gsvgetthreshold1", @params);
$hb_on = ord($bytes_from_gsv[0]);
$lb_on = ord($bytes_from_gsv[1]);
$hb_off = ord($bytes_from_gsv[2]);
$lb_off = ord($bytes_from_gsv[3]);
$sw_on = (($lb_on + $hb_on * 256) - 32767)/32768 * 1.05 * $mbendwert ;
$sw_off = (($lb_off + $hb_off * 256) - 32767)/32768 * 1.05 * $mbendwert ;
return ($sw_on, $sw_off);
};
Code:
sub set_threshold1
{
my ($portobj, $schwellwert, $schwellwert_aus, $mbendwert) = @_;
my ($lowbyte_einschwelle, $highbyte_einschwelle, $lowbyte_ausschwelle, $highbyte_ausschwelle);
my (@params);
my (@bytes_from_gsv);
$schwellwert = sprintf ("byte 0x%04X", ($schwellwert/$mbendwert)/1.05*32768+32768);
$schwellwert_aus = sprintf ("byte 0x%04X", ($schwellwert_aus/$mbendwert)/1.05*32768+32768);
$highbyte_einschwelle = chr(hex(substr($schwellwert,-4,2))); #umwandeln in ein zeichen
$lowbyte_einschwelle = chr(hex(substr($schwellwert,-2,2)));
$highbyte_ausschwelle = chr(hex(substr($schwellwert_aus,-4,2)));;
$lowbyte_ausschwelle = chr(hex(substr($schwellwert_aus,-2,2)));
@params = ($highbyte_einschwelle, $lowbyte_einschwelle, $highbyte_ausschwelle, $lowbyte_ausschwelle);
&gsv_command ($portobj, "gsvsetthreshold1", @params);
return 0;
};
Statistik: Verfasst von Kabelitz — Fr 19. Aug 2011, 23:09
Code:
sub get_modetext
{
my ($portobj) = @_;
my ($kommando);
my (@params, @bytes_from_gsv);
my ($modus, $muster, $check_protokoll);
# Modus überprüfen:
$kommando = "gsvgetmode";
@params = ();
($l1, $line, @bytes_from_gsv) = &gsv_command($portobj, $kommando, @params);
$modus = $bytes_from_gsv[0];
$muster = "\x02";
$check_protokoll = $modus & $muster;
if ( $check_protokoll ne "\x02")
{
# Binärprotokoll
return (1);
}
else
{
# Textprotokoll
return (0);
}
}
sub get_modewindow
{
my ($portobj) = @_;
my ($kommando);
my (@params, @bytes_from_gsv);
my ($modus, $muster, $check_protokoll);
# Modus überprüfen:
$kommando = "gsvgetmode";
@params = ();
($l1, $line, @bytes_from_gsv) = &gsv_command($portobj, $kommando, @params);
$modus = $bytes_from_gsv[0];
$muster = "\x10";
$check_protokoll = $modus & $muster;
if ($check_protokoll ne "\x10")
{
# Windowmode ist aus:
return (0);
}
else
{
# Windowmode ist an
return (1);
}
}
sub get_modelog
{
my ($portobj) = @_;
my ($kommando);
my (@params, @bytes_from_gsv);
my ($modus, $muster, $check_protokoll, $cond);
# Modus überprüfen:
$kommando = "gsvgetmode";
@params = ();
($l1, $line, @bytes_from_gsv) = &gsv_command($portobj, $kommando, @params);
$modus = $bytes_from_gsv[0];
$muster = "\x08";
$check_protokoll = $modus & $muster;
if ( $check_protokoll ne "\x08")
{
return (0);
}
else
{
return (1);
}
}
Statistik: Verfasst von Kabelitz — Fr 19. Aug 2011, 23:04
Code:
sub get_unit{
my ($portobj) = @_;
my (@units, @params);
my @bytes_from_gsv;
my $unit;
@units=("mV/V","kg","g","N","cN","V","µm/m","","t","kN","lb","oz","kp","lbf","pdl","mm","m","cNm","Nm");
(@bytes_from_gsv) = &gsv_command ($portobj, "gsvgetunit", @params);
$unit = ord($bytes_from_gsv[0]);
# gibt den Index der Einheit zurück, nicht die Einheit als string:
return ($unit);
};
sub set_unit{
my ($portobj, $unit) =@_;
my (@params);
my @bytes_from_gsv;
my (@units);
my ($i, $item);
@units=("mV/V","kg","g","N","cN","V","µm/m","","t","kN","lb","oz","kp","lbf","pdl","mm","m","cNm","Nm");
$i = 0;
foreach $item (@units)
{
if($item eq $unit)
{
$unit = $i;
}
$i++;
}
@params = chr($unit);
(@bytes_from_gsv) = &gsv_command ($portobj, "gsvsetunit", @params);
};
Statistik: Verfasst von Kabelitz — Fr 19. Aug 2011, 22:57
Code:
sub get_frequency{
my ($portobj) = @_;
my (@out, @params, @bytes_from_gsv);
my ($frequency);
(@bytes_from_gsv) = &gsv_command ($portobj, "gsvgetfrequency", @params);
@out = (ord($bytes_from_gsv[0]), (ord($bytes_from_gsv[1])), (ord($bytes_from_gsv[2])));
$frequency=5000000/(16777216-($out[0]*65536+$out[1]*256+$out[2]));
return ($frequency);
};
Statistik: Verfasst von Kabelitz — Fr 19. Aug 2011, 22:37
Code:
sub set_modelog
{
my ($portobj, $loggermode) = @_;
my ($kommando);
my (@params, @bytes_from_gsv);
my ($modus, $muster, $check_protokoll);
# aktuelles Modus Register auslesen:
$kommando = "gsvgetmode";
@params = ();
# Kommando gsvgetmode ausführen:
(@bytes_from_gsv) = &gsv_command($portobj, $kommando, @params);
$modus = $bytes_from_gsv[0];
if ($loggermode == 1)
{
# Logger-Modus (Einzelwertabfrage) soll eingeschaltet werden:
$muster = "\x08";
# aktuellen Modus und Logger Modus mit ODER verknüpfen:
$check_protokoll = $modus | $muster;
# Modus setzen:
$kommando = "gsvsetmode";
@params = ($check_protokoll);
(@bytes_from_gsv) = &gsv_command($portobj, $kommando, @params);
}
elsif ($loggermode == 0)
{
# Logger-Modus (Einzelwertabfrage) soll ausgeschaltet werden:
$muster = "\xF7";
# aktuellen Modus und Logger Modus mit UND verknüpfen:
$check_protokoll = $modus & $muster;
# Modus setzen:
$kommando = "gsvsetmode";
@params = ($check_protokoll);
(@bytes_from_gsv) = &gsv_command($portobj, $kommando, @params);
}
}
Statistik: Verfasst von Kabelitz — Fr 19. Aug 2011, 22:20
Statistik: Verfasst von Kabelitz — Di 16. Aug 2011, 21:11
Code:
' ***************************************************************************
func gsvstop()
ComOutput(Channel1,chr(35))
endfunc
' ***************************************************************************
func gsvstart()
ComOutput(Channel1,chr(36))
endfunc
' ***************************************************************************
func gsvsetzero()
ComOutput(Channel1,chr(14))
pause(1000)
ComOutput(Channel1,chr(12))
playsound("xx")
endfunc
' ***************************************************************************
func gsvsetfrequency(freq as integer)
dim line as string
protocol = 2
' gsvstop()
' pause(1000)
' ComPurge(Channel1)
line = Chr($8A)+Chr($08)+Chr($B3)+Chr($B4)
select integer freq
case 1
line = Chr($8A)+Chr($08)+Chr($B3)+Chr($B4)
case 10
line = Chr($8A)+Chr($08)+Chr($F8)+Chr($5F)
case 20
line = Chr($8A)+Chr($07)+Chr($F8)+Chr($5F)
case 50
line = Chr($8A)+Chr($07)+Chr($FC)+Chr($F3)
case 100
line = Chr($8A)+Chr($06)+Chr($FC)+Chr($F3)
endselect
ComOutput(Channel1,line)
pause(1000)
gsvfrequency = gsvGetFrequency()
gsvintervall = 1/gsvfrequency
cgsvfrequency = formatvalue(1000.0,gsvfrequency)+" Hz"
cgsvintervallformat = getformatstring(100.0,gsvintervall)
FormLabel(Main_Frequency,-1,-1,-1,-1,cgsvfrequency)
protocol = 2
gsvstart()
endfunc
' ***************************************************************************
func gsvGetSerialNumber() as string
dim line as string
ComPurge(Channel1)
ComOutput(Channel1,chr(31))
pause(2000)
line = gsvreadline(2000)
' print line
exit(line)
endfunc
' ***************************************************************************
func gsvGetFrequency() as single
dim highbyte, midbyte, lowbyte as integer
dim i, inbyte as integer
dim inchar as string
dim line as string
ComPurge(Channel1)
ComOutput(Channel1,chr(22))
pause(1000)
line = gsvreadline(2000)
' print line
for i = 1 to 4
inchar = Mid(line,i,1)
inbyte = Asc(inchar)
' print inbyte
ongosub i-1, label0, label1, label2, label3
next
gsvfrequency=5000000.0/(16777216.0-((highbyte*65536.0)+(midbyte*256.0)+lowbyte))
' gsvfrequency = (highbyte*65536.0)+(midbyte*256.0)+lowbyte
' gsvfrequency = 16777216.0 - gsvfrequency
' gsvfrequency = 5000000.0 / gsvfrequency
' print "gsvfrequency=";gsvfrequency
exit(gsvfrequency)
label0:
return
label1:
highbyte = inbyte
return
label2:
midbyte = inbyte
return
label3:
lowbyte = inbyte
return
endfunc
Statistik: Verfasst von Kabelitz — Fr 5. Aug 2011, 23:41