Deutsch
Forum

Heizungssteuerung mit K8055 bleibt im Ablauf stehen

 

Jürgen
Haverland

KompilierenMarkierenSeparieren
WINDOWSTYLE 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.

8 kB
Hochgeladen:26.05.2008
Ladeanzahl256
Herunterladen
 
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
 
Windows7 Xprofan 8,9,10 [...]  [...] 
26.05.2008  
 




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
 
Windows7 Xprofan 8,9,10 [...]  [...] 
26.05.2008  
 




Frank
Abbing
Zum Testen wird aber eine Dll benötigt...
 
26.05.2008  
 




Paul
Glatz
genau
 
26.05.2008  
 



Habs nur überflogen aber Zeilen wie diese
KompilierenMarkierenSeparieren
5678$ = winter
1% = 1
erscheinen 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.
 
26.05.2008  
 




Paul
Glatz
wo giebt es die dll???
 
26.05.2008  
 




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
 
26.05.2008  
 




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

1 kB
Hochgeladen:27.05.2008
Ladeanzahl219
Herunterladen
338 kB
Hochgeladen:27.05.2008
Ladeanzahl183
Herunterladen
 
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
 
Gruß Detlef Tussing
Windows XP, XProfan 10
01.06.2008  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

7.020 Betrachtungen

Unbenanntvor 0 min.
Peter Max Müller13.11.2017
Julian Schmidt07.01.2015
mene20.11.2013
Ludwig Albien04.01.2013

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie