Willkommen bei Hobbybrauer.de Willkommen bei Hobbybrauer.de
Startseite Forumsübersicht Impressum  
Hauptmenü

Suche
archiv.hobbybrauer.de mit Google durchsuchen:

Board Index FAQ
Forum

ACHTUNG: Auf dieses Forum kann nur noch lesend zugegriffen werden. Falls Du hier im alten Forum bereits registriert warst, musst Du Dich im neuen Forum mit dem gleichen Usernamen UND der gleichen E-Mailadresse NEU registrieren, damit Dein Ranking (Anzahl Deiner Posts) aus diesem Forum ins neue mit übernommen wird. Zum neuen Forum geht's hier

     
Autor: Betreff: Themperaturmessung mit Digitalmultimeter Digitek dt-4000 zc
Senior Member
Senior Member

Brixen
Beiträge: 168
Registriert: 22.5.2010
Status: Offline
Geschlecht: männlich
red_folder.gif erstellt am: 22.5.2010 um 15:23  
Hallo ich bin neu hier und möchte auch gleich loslegen ich habe schon einige zeit das Forum durchsucht doch leider nichts passendes gefunden

Ich möchte den Maischprozess meiner 30Liter Brauanlage automatiesieren

Leider gibt es so viele Beiträge hier im Forum das das alles Leicht verwirrend ist (=

ich möchte gerne statt eines ds 1820 Themeratursensor mein Digitek DT 4000ZC Multimeter mit rs232 Schnittstelle verwenden,

Jetzt gibt es hier im Forum viele User die ihre Brausoftware mit Profilab erstellt haben

kann mir jemand seine Brauchsoftware die mit profilab erstellt ist zuschicken
damit ich einen kleinen einblick gewinnen kann

ganz sehr begeistert wäre ich wenn mir sogar jemand seine Software an mein Multimeter anpassen könnte,
zum steuern der Heizplatte verwende ich eine Stinknormale Relaiskarte für den lpt port

schonmal danke im vorraus (= vielleicht wird mein traum ja wahr ... p-)
Profil anzeigen Homepage besuchen
Posting Freak
Posting Freak

Samba und Bier
Beiträge: 1736
Registriert: 19.4.2006
Status: Offline
Geschlecht: männlich
red_folder.gif erstellt am: 23.5.2010 um 13:01  
Hallo Brixen,

wenn Du es schaffst, mit einem Programm die Temperatur-Messwerte in eine Logfile zuschreiben (log.txt) mit dem Format XX.XX
und parallel meine Software startest, wird das funktionieren. Ist bereits schonmal von einem Kollegen hier realisiert worden.
Wäre dies vielleicht was für Dich?

grüsse Thomas


____________________
Link mit Fotos unserer Klein-Brauanlagen mit Automatisierung sind auf folgender website zu finden:

http://cervejakarpens.oyla.de
Profil anzeigen Homepage besuchen Antwort 1
Senior Member
Senior Member

Brixen
Beiträge: 168
Registriert: 22.5.2010
Status: Offline
Geschlecht: männlich
red_folder.gif erstellt am: 23.5.2010 um 18:48  
hallo Samba und Bier, ja das wäre eine Alternative,

ich habe jetzt die software von dir zum laufen bekommen

ich finde aber leider keine Logfiel die ich mir mal anschauen kann um zu überlegen wie ich das anstelle

es gibt für mein messgerät eine software die die themeratur auf den pc grafisch darstellt
die ist in virtual basic 5 geschrieben


PHP-Quelltextbereich einfügen:
<?php

Public Function Einheit(Ind%()) As String
If Ind%(10) And 2 Then E1$ = "K"       'Byte10, Bit2
If Ind%(10) And 4 Then E1$ = "n"       '
Byte10Bit3
If Ind%(10) And 8 Then E1$ = "æ"       'Byte10, Bit4
If Ind%(11) And 2 Then E1$ = "M"       '
Byte11Bit2
If Ind%(11) And 4 Then E1$ = "%"       'Byte11, Bit3
If Ind%(11) And 8 Then E1$ = "m"       '
Byte11Bit4
'If Ind%(12) And 2 Then E2$ = "Delta "  'Byte12Bit2 wird beim DT-9062 nicht gebraucht,fuer Hold genommen
If Ind%(12) And 4 Then E2$ = "Ohm   "  'Byte12, Bit3
If Ind%(12) And 8 Then E2$ = "Farad "  '
Byte12Bit4
If Ind%(13) And 2 Then E2$ = "Hertz "  'Byte13, Bit2
If Ind%(13) And 4 Then E2$ = "Volt  "  '
Byte13Bit3
If Ind%(13) And 8 Then E2$ = "Ampere"  'Byte13, Bit4
If Ind%(14) And 2 Then E2$ = "HFE   "  '
Byte14Bit2
If Ind%(14) And 4 Then E2$ = "øC    "  'Byte14, Bit3
Einheit$ = E1$ + E2$                  '
Teilstrings zusammensetzen
End 
Function
Public Function 
Bereich(Ind%()) As String
Bereich
$ = "   "                       'wenn kein Bit gesetzt, 3 Leerzeichen
If Ind%(1) And 4 Then Bereich$ = "DC "  '
Byte1Bit3
If Ind%(1) And 8 Then Bereich$ = "AC "  'Byte1, Bit4
End Function
Public Function Info(Ind%()) As String
If Ind%(1) And 1 Then Tmp$ = " RS232"         '
Byte1Bit1
If Ind%(1) And 2 Then Tmp$ = Tmp$ + " Auto"   'Byte1, Bit2
If Ind%(10) And 1 Then Tmp$ = Tmp$ + " Dio"   '
Byte10Bit1
If Ind%(11) And 1 Then Tmp$ = Tmp$ + " Ton"   'Byte11, Bit1
If Ind%(12) And 2 Then Tmp$ = Tmp$ + " Hold"  '
Byte12Bit1 Hold erscheint fuer Dreick bei Differenz Messung
If Ind%(13) And 1 Then Tmp$ = Tmp$ + " Batt"  'Byte13, Bit1
Info$ = Tmp$                                 '
Alle Angaben zusammensetzen
End 
Function
Public Function 
Ziffer(Byte1%, Byte2%) As Integer
'Erzeugt aus 3 niederwertigen Bits vom ersten Byte und 4 niederwertigen
'
vom zweiten Byte einen 7 Bit Wertder einer Ziffer zugeordnet wird
DreiBit
% = Byte1Mod 8   ' obere 5 Bit loeschen
VierBit% = Byte2% Mod 16   ' 
obere 4 Loeschen
SiebenBit
% = DreiBit% + VierBit% * ' 7 Bit Wert erzeugen
                        ' 
Sieben Segment  Anzeige
                        
'
 Select Case SiebenBit% '           
Bit0(1)
 Case 
40Ziffer 1    '          XXX 1 XXX
 Case 93: Ziffer = 2    '         
X         X
 
Case 121Ziffer 3   ' Bit1(2) 6         2 Bit3(8)
 Case 58: Ziffer = 4    '         
X  Bit4   X
 
Case 115Ziffer 5   '          XXX 7 XXX
 Case 119: Ziffer = 6   '         
X   (16)  X
 
Case 41Ziffer 7    ' Bit2(4) 5         3 Bit5(32)
 Case 127: Ziffer = 8   '         
X         X
 
Case 123Ziffer 9   '          XXX 4 XXX
 Case Else: Ziffer = 0  '
End Select              '           Bit6(64)
 End Function
Public Function Wert(Ind%()) As Single
Erzeugt aus 4 Bytepaaren mit Hilfe der Function Ziffer 4 Ziffern
' und wertet Komma und Vorzeichenbits aus. Ergebnis ist eine Realzahl, die
den Messwert enthaelt

'Erste Ziffer (Byte2, Bit 1-3;Byte3, Bit1-4
Zahl% = Zahl% + Ziffer(Ind%(2), Ind%(3)) * 1000
 '
Zweite Ziffer (Byte4Bit1-3;Byte5Bit1-4
 Zahl
% = Zahl% + Ziffer(Ind%(4), Ind%(5)) * 100
 
'Dritte Ziffer (Byte6, Bit1-3;Byte7, Bit1-4
 Zahl% = Zahl% + Ziffer(Ind%(6), Ind%(7)) * 10
 '
Vierte Ziffer (Byte8,Bit1-3;Byte9,Bit1-4
  Zahl
% = Zahl% + Ziffer(Ind%(8), Ind%(9))
  
  
'Vorzeichen (Byte2,Bit4)
  If Ind%(2) And 8 Then Vorz% = -1 Else Vorz% = 1
  
  '
Kommastelle:
  
Div% = 1  'wenn kein Komma,sonst....
  If Ind%(8) And 8 Then Div% = 10   '
Komma zwischen Ziffer3+4(Byte8Bit4)
   If 
Ind%(6) And 8 Then Div% = 100 'Komma zwischen Ziffer2+3(Byte6, Bit4)
   If Ind%(4) And 8 Then Div% = 1000 '
Komma zwischen Ziffer1+2(Byte4Bit4)
   
Wert Zahl% / Div% * Vorz%  ' Messwert errechnen
   End Function

Private Sub Command1_Click()

End '
Programm Ende nur bei eingeschaltetem Geraet und eingeschalteter Rs232 moeglich,sonst nur Taste Strg und Entf
End Sub

    
Public Sub Form_Load()
    
'Programm Visual Basic 5.0 geschrieben
    ' 
Das Programm holt Messwerte vom Digitec DT-9062
    
' man kann dann die Messwerte weiter verarbeiten und
    '
z.B mit dem BMC Messystem meM-PIO(USBAusgaenge abhaengig vom
    
'Messwert schalten. Das DT-9062 wird sozusagen als
    '
Analogeingabegeraet benutzt.
    
'Bei Fragen E-Mail: Jochen.Pagel@t-online.de
    End Sub

Private Sub Label4_Click()
'
Anzeige Einheiten
End Sub

Public Sub Text1_GotFocus()
MSComm1.CommPort 1            'welcher Com Port hier 1 oder 2 eingeben
 MSComm1.Settings = "2400,N,8,1" '
uebertragungs Einstellung
MSComm1
.InputLen 0            ' Com Buffer auf 0 setzen
 MSComm1.PortOpen = True        '
Com Port oeffnen Tru Wahr False Unwahr
Dim Ind
%(1 To 14), im$(1)       'Array fuer 14Byte anlegen und im$(1) auf 1 Array setzen
Do                              '
Auessere Schleife oeffnen
Test
% = 0                       ' Test% auf 0 behaelt evtl. wert
Do                              '
Innere Schleife oeffnen
im
$(1) = MSComm1.Input          ' Von Com Port einlesen
MSComm1.InputLen = 1            '
Nur ein wert einlesen
If im$(1) = "" Then GoTo 45     'wenn nichts von Com Port, kommt wieder zurück
Ind%(1) = AscB(im$(1))          '
Buchstaben in Zahl umsetzen
Test
% = Ind%(1)  16            'hoeherwertiges Nibble ausklammern
45:                             '
wenn nichts vom Com Port kommt hier springenweil AscB(im$(1)) bei 0 wert Programmabbruch macht
Loop Until Test
% = 1            ' wahr, wenn wert von Com Port empfangen
For I% = 2 To 14                '
Byte 2-14 holen
46
:                             'zurueck Sprungmarke damit wirklich 2-14Byte eingelesen wird
MSComm1.InputLen = 1            '
nur 1Byte holen
im
$(1) = MSComm1.Input          'Buchstaben von Com Port holen
If im$(1) = "" Then GoTo 46     '
falls nichts kommt wieder zurück
Ind
%(I%) = Asc(im$(1))          'Buchstaben in Zahl umsetzen
Next                            '
naechsten wert einlesen

Label1
.Caption Bereich(Ind%()) ' Bereich Anzeigen: Sprung zur function Bereich
Label2.Caption = Wert(Ind%())    ' 
Messwert Anzeigen:Sprung zu funktion Wert
Label3
.Caption Einheit(Ind%()) ' Einheiten Anzeigen:Sprung zu function Einheit
Label4.Caption = Info(Ind%())    ' 
Info Anzeigensprung zur funktion Info

Loop Until DoEvents             
' solange ausfuehren bis Prg.beendet wird
End Sub

?>



leider hab ich kein plan wie ich das programm umschreibe, sodas es mir die messwerte in eine txtdatei speichert ...


[Editiert am 23.5.2010 um 21:36 von Brixen]
Profil anzeigen Homepage besuchen Antwort 2
Junior Member
Junior Member

TigerClaw
Beiträge: 28
Registriert: 19.4.2006
Status: Offline
Geschlecht: männlich
red_folder.gif erstellt am: 24.5.2010 um 08:52  
Hinter der Zeile "Label4.Caption..." würde ich die Variable Wert(Ind%()) in die Datei schreiben lassen. Leider bin ich mit Basic nicht mehr soo vertraut aber es sollte nach dem selben Schema wie bei PHP bzw C++ laufen.
PHP Beispiel:
Quelltextbereich einfügen:
$Dateihandler = fopen('temperaturlog.txt', 'w');
fwrite($Dateihandler, Wert(Ind%()));
fwrite($Dateihandler, '\n'); // CR/LF einfügen.
fclose($Dateihandler);



So einen Vierzeiler gibt es in Basic auch. Weiß nur nicht wo man das nachlesen kann. :(
-


[Editiert am 24.5.2010 um 08:55 von TigerClaw]
Profil anzeigen Antwort 3
Posting Freak
Posting Freak

Samba und Bier
Beiträge: 1736
Registriert: 19.4.2006
Status: Offline
Geschlecht: männlich
red_folder.gif erstellt am: 24.5.2010 um 12:30  
Hi Brixen,

die Logfile wird von meinem Programm bei programmstart gelöscht.
die Temperaturwerte stehen in dieser Datei gemäss folgendem Beispiel drin:

35.23
35.33
35.40
35.45

etc.

Gruss Thomas


____________________
Link mit Fotos unserer Klein-Brauanlagen mit Automatisierung sind auf folgender website zu finden:

http://cervejakarpens.oyla.de
Profil anzeigen Homepage besuchen Antwort 4
Senior Member
Senior Member

Brixen
Beiträge: 168
Registriert: 22.5.2010
Status: Offline
Geschlecht: männlich
red_folder.gif erstellt am: 24.5.2010 um 19:18  
Ich bin leider mit Virtual Basic auch nicht vertraut ....

kennt jemand im Internet ne seite wo ich die Befehle nachenlesen kann

oder kann mir den php code jemand in vb übersetzten ?

hier mal die vb Projektdatei ....

http://www.franksteinberg.de/ZIPS/DT_VB5.ZIP

leider besitz ich nur vb6 und 2008
und die projektdatei ist für vb5, wenn ich die vb5 projektdatei in vb6 einlese bekomm ich schon beim testen ohne veränderungen am script ne fehlermeldung


[Editiert am 24.5.2010 um 19:24 von Brixen]



____________________
make beer - not war http://www.youtube.com/watch?v=BaTqrdZ_cgQ
Profil anzeigen Homepage besuchen Antwort 5
Junior Member
Junior Member

TigerClaw
Beiträge: 28
Registriert: 19.4.2006
Status: Offline
Geschlecht: männlich
red_folder.gif erstellt am: 25.5.2010 um 09:30  
Leider nicht. Würde bei Microsoft oder in Visual Basic Foren suchen. z.B. http://forum.vb-paradise.de/
Profil anzeigen Antwort 6
Senior Member
Senior Member

Brixen
Beiträge: 168
Registriert: 22.5.2010
Status: Offline
Geschlecht: männlich
red_folder.gif erstellt am: 25.5.2010 um 15:52  
ach ich bekomms einfach nicht hin dabei hab ich die Hardware schon fertig )=

hab mir das mit der software etwas einfacher vorgestellt


____________________
make beer - not war http://www.youtube.com/watch?v=BaTqrdZ_cgQ
Profil anzeigen Homepage besuchen Antwort 7
Junior Member
Junior Member

TigerClaw
Beiträge: 28
Registriert: 19.4.2006
Status: Offline
Geschlecht: männlich
red_folder.gif erstellt am: 25.5.2010 um 18:16  
Habe was bei MSDN gefunden: http://msdn.microsoft.com/de-de/library/system.io.fileoptio ns.aspx

Solltest aber mit Internet Explorer öffnen da mit Firefox die Seite nicht richtig funktioniert.
Profil anzeigen Antwort 8
Senior Member
Senior Member

Brixen
Beiträge: 168
Registriert: 22.5.2010
Status: Offline
Geschlecht: männlich
red_folder.gif erstellt am: 25.5.2010 um 19:03  
Orr ich bekomms einfach net gebacken (=; ich weiß das issn scheiß anliegen .... aber kann mir vielleicht mal einer so ein programm zimmern, vb ist wohl nichts was man mal in 10 tagen lernen kann (=

ich weis ich könnt auch einfach so nen 1 wire sensor nehmen, doch dieses messgerät ist vielleicht ne gute preiswerte Alternative zum teuren wasserdichten ds1820 !?


____________________
make beer - not war http://www.youtube.com/watch?v=BaTqrdZ_cgQ
Profil anzeigen Homepage besuchen Antwort 9
Senior Member
Senior Member


Beiträge: 248
Registriert: 3.4.2006
Status: Offline
Geschlecht: männlich
red_folder.gif erstellt am: 26.5.2010 um 06:37  
Hallo,

Habe das Thema jetzt erst entdeckt. Mal blöd gefragt: verwendet noch jemand ausser mir Profilab?

Prinzipiell kannst du mit Profilab arbeiten. Lt. der Hardwareliste http://www.abacom-online.de/html/hardware_de.pdf wird das DT4000 unterstützt, d.h., es gibt einen fertigen "Baustein" dafür, welcher die Zahlenwerte zur weiteren Verarbeitung direkt bereitstellt. Du musst dir nur entsprechend die Auswertung dahinterhäkeln (was aber ohne rudimentäre Grundlagen der Analog- u. Digitaltechnik schwer möglich ist, da ja in Profilab alles grafisch als Schaltungsbaustein simuliert wird).

Gruß
Thomas


[Editiert am 26.5.2010 um 06:38 von Schnulli]
Profil anzeigen Antwort 10
Senior Member
Senior Member

Brixen
Beiträge: 168
Registriert: 22.5.2010
Status: Offline
Geschlecht: männlich
red_folder.gif erstellt am: 27.5.2010 um 17:46  
Danke für die Frofilab datei, leider hab ich mich in die Software von Samba und Bier verliebt ....(=


____________________
make beer - not war http://www.youtube.com/watch?v=BaTqrdZ_cgQ
Profil anzeigen Homepage besuchen Antwort 11
Senior Member
Senior Member

Brixen
Beiträge: 168
Registriert: 22.5.2010
Status: Offline
Geschlecht: männlich
red_folder.gif erstellt am: 7.6.2010 um 22:23  
Ich bin schon etwas weiter,


PHP-Quelltextbereich einfügen:
<?php

Private Sub Form_Load()
Me.WindowState vbMinimized
Dim F 
As Integer
FreeFile
Open 
"Log.txt" For Append As #F
 
Print #F, "33.33"
Close #F
End Sub

Private Sub Timer1_Timer()
End
End Sub

?>



jetzt muss ich nurnoch die gemessen daten in die log schreiben statt 33.33 (=

mal sehn ob ich das binbekomme leider spinnt mein messgerät unter win 2k


____________________
make beer - not war http://www.youtube.com/watch?v=BaTqrdZ_cgQ
Profil anzeigen Homepage besuchen Antwort 12
       

 
  
 

Alle Logos und Warenzeichen auf dieser Seite sind Eigentum der jeweiligen Besitzer und Lizenzhalter.
Im übrigen gilt Haftungsausschluss. Weitere Details findest Du im Impressum.
Die Artikel sind geistiges Eigentum des/der jeweiligen Autoren,
alles andere © 1998 - 2022 by Hobbybrauer.de
Die Inhalte dieser Seite sind als RSS/RDF-Quelle verfügbar.
Die Website oder Teile daraus dürfen nicht ohne ausdrückliche Zustimmung von Michael Plum weiterverwendet werden.
© 2014 Michael Plum