-         
+ Antworten
Ergebnis 1 bis 6 von 6

Thema: Simulation nur Fake ???

  1. #1

    Simulation nur Fake ???

    Hi,
    ich hoffe diese Frag wurde noch nicht gestellt, habe in der such nichts gefunden.

    Also ich habe ein Programm geschrieben um meine Heizung zu steuern, in der Simulation läuft das auch sehr ordentlich, aber sobald ich es in die control Station übertrage und diese dan starte, macht die überhaupt nicht das was die Simulation macht.

    Hoffe Ihr habt eine Lösung für mich, denn mein Warm-Wasser ist alle.

    ES steuert eine Punpe und eine Gas-Therme entsprechen der messwerte aus dem Warmwasserspeicher und einem Pufferspeicher.

    Hier das Programm:
    ' --- Definitionen ---

    ' die Tasten
    define F1 port[9]
    define F2 port[10]
    define F3 port[11]
    define F4 port[12]


    ' die LEDs
    define LED1 port[13]
    define LED2 port[14]
    define LED3 port[15]
    define LED4 port[16]

    ' Definition einer Byte-Variable
    define mode byte
    define egal byte

    ' zu beginn Stellung Sommerurlaub
    mode = 1
    egal = 1

    ' die Relais
    define K1 port[7]
    define K2 port[8]


    ' die Temperatursensor-Ports
    define T1 ad[5]
    define T2 ad[6]


    ' Variablen zur Speicherung der Temperatur
    define temp1 word
    define temp2 word


    ' symbolische Konstanten fuer die Schaltschwellwerte (zehnfache Temperaturwerte)
    define PUFFER 650 ' = 65.0 C
    define PUFFERHOCH 600 ' = 60.0 C
    define WWS 480 ' = 70.0 C


    ' --- das Programm ---

    ' Initialisierung
    K1 = OFF ' WW Kreislaufpumpe
    K2 = OFF ' Gasheizung



    LED1 = ON
    LED2 = OFF
    LED3 = OFF
    LED4 = OFF



    ' Endlosschleife
    #loop

    ' Tastenabfrage für die Sperrung/Freigabe der Gasheizung
    if F1 then mode = 1
    if F2 then mode = 2
    if F3 then mode = 3
    if F4 then mode = 4

    ' AD-Wandlerwert in Temperatur umrechnen
    temp1 = 5 * T1 - 250
    temp2 = 5 * T2 - 250



    ' Lampenschaltung
    if Mode = 1 then LED1 = ON
    if Mode = 1 then LED2 = OFF
    if Mode = 1 then LED3 = OFF
    if Mode = 1 then LED4 = OFF
    if Mode = 2 then LED1 = OFF
    if Mode = 2 then LED2 = ON
    if Mode = 2 then LED3 = OFF
    if Mode = 2 then LED4 = OFF
    if Mode = 3 then LED1 = OFF
    if Mode = 3 then LED2 = OFF
    if Mode = 3 then LED3 = ON
    if Mode = 3 then LED4 = OFF
    if Mode = 4 then LED1 = OFF
    if Mode = 4 then LED2 = OFF
    if Mode = 4 then LED3 = OFF
    if Mode = 4 then LED4 = ON





    ' Abfrage der Modi

    if Mode = 1 then goto allesaus
    if Mode = 2 then goto hochsommer
    if Mode = 3 then goto uebergang
    if Mode = 4 then goto nurpuffer


    ' Schleife alles aus
    #allesaus
    K1 = OFF
    K2 = OFF
    goto loop

    #hochsommer
    if temp1 < wws then goto test else goto allesaus

    #test
    if temp2 < Pufferhoch then goto gasein else goto pufferwarm
    goto loop

    #gasein
    K1 = ON
    K2 = ON
    goto loop


    #Pufferwarm
    if temp1 < WWS then K1 = ON else K1 = OFF
    K2 = OFF
    loop

    #nurwwswarm
    if temp2 < pufferhoch then goto loop
    K1 = ON
    goto loop

    #uebergang
    if temp2 < puffer then K2 = ON else K2 = OFF
    if temp1 < WWS then K1 = ON else K1 = Off
    goto loop


    #nurpuffer
    K1 = OFF
    if temp2 < puffer then K2 = ON else K2 = OFF
    goto loop

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.01.2004
    Beiträge
    2.441
    Ein wesentlicher Unterschied zwischen Simulation und der reellen Schaltung ist, dass man an der Simulations normalerweise nichts falsch anschliessen kann.

    Könnte es sein, dass du irgendwo einen Fehler in deiner Schaltung hast und es gar nicht am Programm liegt?

  3. #3
    Gast
    Möglich ist grunsätzlich alles, aber da sind ja nur die zwei Thermosensoren und die zwei schaltungen für die Gasheizung und die Pumpe.
    Ich prüfe dass aber noch mal.

  4. #4
    Gast
    Habe das Programm jetzt auf die Option Hochsommer gekürzt,
    damit läuft de C-Control einwadfrei, schaltet beide Relais je nach Temperaturzuständen.
    Also besteht mein Problem darin im Prinzip 4 Programme je nach Taste laufen zu lassen.
    Also ich drücke Taste F1 und programm 1 läuft bis ich eine andere Taste drücke, z.B. F2 dann läuft Programm 2 usw.
    Wie gesagt in der Simulation läuft das auch einwandfrei.
    Sobald ich das oben genannte Programm einspiele und starte leuchtet die LED4 und er Reagiert nur noch auf die Taste F4, solange ich F4 drücke Leuchtet die LED3 wenn ich loslasse wieder LED4.

    Kann mir eine(r) Helfen ?????

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    47
    Beiträge
    1.244
    Hallo Gast oder seadler123,
    Das sieht nach einer falschen Schalterabfrage aus,
    Beispiel:
    if F1 then mode = 1
    Meines Wissens kann der Schalterwert im Programm entweder null oder minus eins sein, die Bedingung, ob F1 true ist, wird also nie erfüllt. Sollte ich mich irren, bitte ich um eine Berichtigung, die C-Control-Zeiten sind halt schon so lange her.
    Du solltes also dein Programm erstmal in kleinen Schritten bauen, z.B. wenn ein Taster gedrückt wird, leuchtet eine LED auf?
    Vielleicht schaltet dein Taster auch auf Masse?
    Das passt dann auch auf das beschriebene Verhalten
    Gruss, Michael

    P.S.: Die End-Bedingung fehlt, das ist auch ein gern genommener Stolperstein...

  6. #6
    Hi,
    danke an Michael.
    Ich habe nochmal "klein" angefangen und festgestellt, das die Simulation genau das gegenteil macht wie die Controll Station.
    Also in der Simulation muß es heißen:

    if F1 then ...
    und die Control Station will haben:
    if not F1 then ....

    danke an alle die mer helfen wollten.

+ Antworten

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •