Forum | | | | Jürgen Haverland | KompilierenMarkierenSeparierenWINDOWSTYLE 63
WINDOWTITLE Heizungsanlage
WINDOW 0,0-640,480
SETTRUECOLOR 1
CLS
USEFONT MS Sans Serif,13,0,0,0,0
SETDIALOGFONT 1
USEICON A
declare 5678$
UsePen 1,2,@RGB(0,0,31)
Rectangle 550,15 - 450,50
TextColor @RGB(0,0,120),-1
DrawText 470, 25, Solaranlage
Line 500,50 - 500,100
Line 500,100 - 480,100
Rectangle 460,90 - 480,110
DrawText 464, 94, V1
Line 460,100 - 450,100
rectangle 460,120 - 480,140
DrawText 464,124, V2
Line 460,130 - 450,130
Line 450,100 - 450,130
Line 480,130 - 500,130
Line 450,115 - 430,115
rectangle 460,160 - 480,180
rectangle 460,190 - 480,210
rectangle 430, 90 - 380,210
DrawText 402,105, K
DrawText 402,120, E
DrawText 402,135, S
DrawText 402,150, S
DrawText 402,165, E
DrawText 402,180, L
DrawText 464,164, V1
DrawText 464,194, V2
line 460,170 - 450,170
line 460,200 - 450,200
line 450,170 - 450,200
line 450,185 - 430,185
rectangle 430,230 - 380,300
DrawText 402,235, H
DrawText 402,250, O
DrawText 402,265, L
DrawText 402,280, Z
line 480,170 - 510,170
line 510,170 - 510,50
line 480,200 - 510,200
line 430,260 - 500,260
line 500,260 - 500,130
line 430,270 - 510,270
line 510,270 - 510,200
line 380,150 - 300,150
line 300,150 - 310,145
line 300,150 - 310,155
Ellipse 360,135 - 330,165
DrawText 338,144, ZN
rectangle 340,100 - 355,115
DrawText 344,101, T
line 355,106 - 380,106
line 346,115 - 346,135
rectangle 511,100 - 530,120
DrawText 513,104, SP
rectangle 511,240 - 530,260
DrawText 513,244, HP
declare Button1& , Button2& , Button3& , Button4&
Button1&= @Create(Button,%HWND,Sommer,30,30,80,30)
Button2&= @Create(Button,%HWND,Winter,30,70,80,30)
Button3&= @Create(Button,%HWND,Zirkulation,30,110,80,30)
Button4&= @Create(Button,%HWND,NOTSCHALTER,30,150,90,30)
rectangle 140,22 - 155,37
rectangle 210,22 - 225,37
DrawText 130,44, Sommer
DrawText 200,44, Winter
PROC Grafiksommer
UseBrush 1,@RGB(40,180,10)
Fill 145, 25, @RGB(0,0,31)
Fill 471, 40, @RGB(0,0,31)
DrawText 470, 25, Solaranlage
Fill 464, 94, @RGB(0,0,31)
DrawText 464, 94, V1
Fill 464,164, @RGB(0,0,31)
DrawText 464,164, V1
UseBrush 1,@RGB(255,255,255)
Fill 220,25, @RGB(0,0,31)
Fill 402,235, @RGB(0,0,31)
DrawText 402,235, H
DrawText 402,250, O
DrawText 402,265, L
DrawText 402,280, Z
Fill 464,124, @RGB(0,0,31)
DrawText 464,124, V2
Fill 464,194, @RGB(0,0,31)
DrawText 464,194, V2
Ventil1&=setdigi(3%)
ENDPROC
PROC Grafikwinter
UseBrush 1,@RGB(40,180,10)
Fill 220,25, @RGB(0,0,31)
Fill 402,235, @RGB(0,0,31)
DrawText 402,235, H
DrawText 402,250, O
DrawText 402,265, L
DrawText 402,280, Z
Fill 464,124, @RGB(0,0,31)
DrawText 464,124, V2
Fill 464,194, @RGB(0,0,31)
DrawText 464,194, V2
UseBrush 1,@RGB(255,255,255)
Fill 145, 25, @RGB(0,0,31)
Fill 471, 40, @RGB(0,0,31)
DrawText 470, 25, Solaranlage
Fill 464, 94, @RGB(0,0,31)
DrawText 464, 94, V1
Fill 464,164, @RGB(0,0,31)
DrawText 464,164, V1
ENDPROC
PROC Notschalter
Ventil2&=setdigi(4%)
Ventil1&=setdigi(3%)
UseBrush 1,@RGB(40,180,10)
Fill 464, 94, @RGB(0,0,31)
DrawText 464, 94, V1
Fill 464,164, @RGB(0,0,31)
DrawText 464,164, V1
Fill 464,124, @RGB(0,0,31)
DrawText 464,124, V2
Fill 464,194, @RGB(0,0,31)
DrawText 464,194, V2
ENDPROC
PROC sommer
Grafiksommer
5678$ = sommer
Ventil1&=setdigi(3%)
cleardigi(4%)
Solarpump&=readdigi(4%)
Solar$=Solarpump&
if Solar$ = 1
UseBrush 1,@RGB(40,180,10)
Fill 513,104, @RGB(0,0,31)
DrawText 513,104, SP
Elseif Solar$ = 0
UseBrush 1,@RGB(255,255,255)
Fill 513,104, @RGB(0,0,31)
DrawText 513,104, SP
Endif
Tempkessel&=readdigi(2%)
kessel$=Tempkessel&
if kessel$ = 1
Zirkulation&=setdigi(1%)
UseBrush 1,@RGB(40,180,10)
Fill 338,144, @RGB(0,0,31)
DrawText 338,144, ZN
Fill 344,101, @RGB(0,0,31)
DrawText 344,101, T
Elseif kessel$ = 0
cleardigi(1%)
UseBrush 1,@RGB(255,255,255)
Fill 338,144, @RGB(0,0,31)
DrawText 338,144, ZN
Fill 344,101, @RGB(0,0,31)
DrawText 344,101, T
Endif
Fernbedinung&=readdigi(3%)
fern$=Fernbedinung&
if fern$ = 1
Zirkulation&=setdigi(1%)
UseBrush 1,@RGB(40,180,10)
Fill 338,144, @RGB(0,0,31)
DrawText 338,144, ZN
Endif
ENDPROC
PROC winter
Grafikwinter
5678$ = winter
cleardigi(3%)
Tempholz&=readdigi(1%)
Holz$=Tempholz&
if Holz$ = 1
Ventil2&=setdigi(4%)
Holzpump&=setdigi(2%)
UseBrush 1,@RGB(40,180,10)
Fill 513,244, @RGB(0,0,31)
DrawText 513,244, HP
elseif Holz$ = 0
cleardigi(2%)
cleardigi(4%)
UseBrush 1,@RGB(255,255,255)
Fill 513,244, @RGB(0,0,31)
DrawText 513,244, HP
endif
Tempkessel&=readdigi(2%)
kessel$=Tempkessel&
if kessel$ = 1
Zirkulation&=setdigi(1%)
UseBrush 1,@RGB(40,180,10)
Fill 338,144, @RGB(0,0,31)
DrawText 338,144, ZN
Fill 344,101, @RGB(0,0,31)
DrawText 344,101, T
elseif kessel$ = 0
cleardigi(1%)
UseBrush 1,@RGB(255,255,255)
Fill 338,144, @RGB(0,0,31)
DrawText 338,144, ZN
Fill 344,101, @RGB(0,0,31)
DrawText 344,101, T
Endif
Fernbedinung&=readdigi(3%)
fern$=Fernbedinung&
if fern$ = 1
Zirkulation&=setdigi(1%)
UseBrush 1,@RGB(40,180,10)
Fill 338,144, @RGB(0,0,31)
DrawText 338,144, ZN
Endif
ENDPROC
PROC zirk
UseBrush 1,@RGB(40,180,10)
Fill 338,144, @RGB(0,0,31)
DrawText 338,144, ZN
Zirkulation&=setdigi(1%)
if 5678$ = sommer
sommer
elseif 5678$ = winter
winter
endif
ENDPROC
def opendevice(1) !k8055d.dll,OpenDevice
def closedevice(0) !k8055d.dll,CloseDevice
def readdigi(1) !k8055d.dll,ReadDigitalChannel
def setdigi(1) !k8055d.dll,SetDigitalChannel
def cleardigi(1) !k8055d.dll,ClearDigitalChannel
declare dllh&
dllh&=usedll(k8055d.dll)
ifnot dllh&
messagebox dll nicht geladen error,,0
end
endif
declare kartenadresse& , 0% , 1% , 2% , 3% , 4%
clear kartenadresse&
0% = 0
1% = 1
2% = 2
3% = 3
4% = 4
kartenadresse&=opendevice(0%)
declare Zirkulation& , Holzpump& , Ventil1& , Ventil2& , Tempholz& , Tempkessel& , Fernbedinung& , Solarpump& , Holz$ , Solar$ , kessel$ , fern$
clear Zirkulation& , Holzpump& , Ventil1& , Ventil2& , Tempholz& , Tempkessel& , Fernbedinung& , Solarpump& , Holz$ , Solar$ , kessel$ , fern$
declare schleife%
clear schleife%
Whilenot schleife%
If @Clicked(Button1&)
sommer
Elseif @Clicked(Button2&)
winter
Elseif @Clicked(Button3&)
zirk
Elseif @Clicked(Button4&)
Notschalter
endif
endwhile
end
Naja nun zu den Fehlern diese Steuerung soll die Zirkulationspumpe für 30 min einschalten wenn ein FB signal von der Karte kommt .. tut sie bleibt aber 30 min dann regungslos stehen bis die Zeit abgelaufen ist. 2. über den Button der Pumpe soll man diese manuell schalten können .. kann man nur bleibt das Programm dann auch stehen.. wo liegt unser Fehler könnte mir jemand den code etwas umstricken oder Änderungsvorschläge machen. |
| | | Rechner AMD Semperon 3Gig 512 MB 160HDD mit XP und Xprofan 10 Aber alle Programme die mit Profan erstellt werden müßen auf W98 laufen !!! K8055 USB Experimentierboard XProfan10 -- Turbo Basic -- Power Basic | 26.05.2008 ▲ |
| |
| | GDL | Hi,
ich würde mal sagen, du must in deiner Hauptschleife ständig die Kartenimpulse einlesen und beim ersten Auswählen merken, ob Sommer,Winter oder sonstwas ausgewählt war.
Dann wertest du diese 2 Faktoren aus und springst in das dazugehörige Unterprogramm.
Servus Georg |
| | | | |
| | Jürgen Haverland | Hab ich gerade mal getestet die Timer hat mein Sohn Jan rausgelassen da dann das Programm ja nicht mehr lief... Fal jemand die Karte hat er braucht nur die Jumper auf Adresse 0 stellen und kann dann sämtliche Funktionen testen..
Es wäre schön wenn jemand dieses Programm so umstricken könnte das es komplett geht. |
| | | Rechner AMD Semperon 3Gig 512 MB 160HDD mit XP und Xprofan 10 Aber alle Programme die mit Profan erstellt werden müßen auf W98 laufen !!! K8055 USB Experimentierboard XProfan10 -- Turbo Basic -- Power Basic | 26.05.2008 ▲ |
| |
| | GDL | Hi,
ich kann dir momentan nicht genauer helfen, da bei meiner Frau wahrscheinlich der Gehirntumor wieder ausbrach und wir morgen zur Uniklinik müssen. Ich weiß nicht wann ich wieder heimkomme.
Du musst immer die Jahreszeit festhalten und ständig deine Karte auslesen. Dies aber in der Hauptschleife und diese nur verlassen, wenn ein Signal ankam.
Servus Georg |
| | | | |
| | Frank Abbing | Zum Testen wird aber eine Dll benötigt... |
| | | | |
| | Paul Glatz | | | | | |
| | | Habs nur überflogen aber Zeilen wie diese KompilierenMarkierenSeparierenerscheinen mir fremdlich. Variablenbezeichner sollten mit einem Buchstaben beginnen.
Ebenso vermisse ich waitInput in Deiner Ereignisschleife - hier könnte der Fehler ebenso stecken und das beschriebene Verhalten vielleicht erklären. |
| | | | |
| | Paul Glatz | wo giebt es die dll??? |
| | | | |
| | Frank Abbing | Ok, ich hoffe, ich habe dein Tool verstanden.
Naja nun zu den Fehlern diese Steuerung soll die Zirkulationspumpe für 30 min einschalten wenn ein FB signal von der Karte kommt .. tut sie bleibt aber 30 min dann regungslos stehen bis die Zeit abgelaufen ist.
Dein Programm ruft bei Buttonklick einmalig eine Dll-Funktion auf. Wenn hier was nicht klappt, dann entweder innerhalb der Dll, oder dein Funktionsaufruf hatte falsche Parameter.
2. über den Button der Pumpe soll man diese manuell schalten können .. kann man nur bleibt das Programm dann auch stehen.. wo liegt unser Fehler könnte mir jemand den code etwas umstricken oder Änderungsvorschläge machen.
Auch hier, ein Dll-Aufruf, das wars. Ich denke nicht, dass dein Programm hier noch mehr beeinflussen könnte.
Versuch mal, iFs Ratschläge zu befolgen. Solche Variablennamen sind zumindest sehr merkwürdig, und es würde mich nicht wundern, wenn dadurch die Funktionsaufrufe fehlerhaft wären. Deine Hauptschleife verbraucht zudem jede Menge Systemzeit, hier würde ich Änderungen machen, z.B.: KompilierenMarkierenSeparieren |
| | | | |
| | Jürgen Haverland | So nun habe ich die DLL angehängt und vielen Dank erstmal für die Tip´s werden mein Sohn iind ich am Wochenende testen.. werde dann davon berichten.. |
| | | Rechner AMD Semperon 3Gig 512 MB 160HDD mit XP und Xprofan 10 Aber alle Programme die mit Profan erstellt werden müßen auf W98 laufen !!! K8055 USB Experimentierboard XProfan10 -- Turbo Basic -- Power Basic | 27.05.2008 ▲ |
| |
| | Detlef Tussing | Hallo
Ich hab die Karte, und dein Prog mal getestet.
Sommer Relais 3 Winter kein Relais Zirkulation Sommer Relais 1 & 3 Relais 1 flattert Zirkulation Winter Relais 1 flattert Notschalter Sommer oder Winter Relais 3 & 4
was soll nicht funktioniern
beschreib doch mal welche Relais wann anziehen sollen. ein Ablaufdiagramm wäre hilfsreich
Gruss Detlef |
| | | | |
|
AntwortenThemenoptionen | 7.021 Betrachtungen |
ThemeninformationenDieses Thema hat 6 Teilnehmer: |