
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
> > Hallo zusammen, > > > > ich habe ein relativ kleines Programm, das auf der CC1-Micro lief 1:1 auf eine Open-Micro übertragen. > > Es verhält sich ganz anders. > > Gibt es besondere Dinge, die man bei der Open-Mini beachten muss? > > > > Gruss > > ChristianK > > Hallo Christian, > stelle Dein Programm ins Netz - dann können sicherlich einige helfen... - und dazu lernen... > Gruß Gerhard Hallo Gerhard, hier das Listing '-------------------------- '------ I/O PORTS --------- '-------------------------- define Entladen port[1] define MSWITCH port[2] define KEYSWITCH port[3] define Motor port[4] define AKKU ad[5] define EQSWITCH port[6] '-------------------------- '---- SYSTEM MEMORY ------- '-------------------------- define DAYs byte define HOURS byte define test byte define UNLOADTIME byte define AKKU_LEER 175 '11,7 Volt define GRENZWERT 180 '12,1 Volt define AKKU_VOLL 200 '13,4 Volt define MinUnload 2 #START 'Start bei Power-On-Reset wait AKKU > AKKU_VOLL 'wait bis Netz an ist und AKKU min. Spannung wait KEYSWITCH ' Schlüsselschalter muss auf AUS stehen wait not KEYSWITCH ' Schlüsselschalter in EIN-Stellung 'VENTIL aus beliebiger in definierte ZU-Stellung bringen if not MSWITCH THEN gosub VENTILAUF if MSWITCH THEN gosub VENTILZU wait KEYSWITCH ' Schlüsselschalter muss wieder auf AUS stehen pause 10 test = 3 ' damit nach Akku-Test Ventil in AUF-Stellung geht MINUTE = 3 ' Sofortiger Akku-Test #SCHLEIFE if EQSWITCH or AKKU < AKKU_LEER THEN goto VENTIL_ZU if not KEYSWITCH THEN goto VENTIL_ZU if HOUR > 22 THEN gosub DAYCOUNT 'if DAYs > 6 and AKKU > AKKU_VOLL THEN gosub AKKUTEST if MINUTE > 2 and AKKU > AKKU_VOLL THEN gosub AKKUTEST if test > 0 THEN gosub VOLT goto SCHLEIFE '----FUNKTIONEN---------------------------------------------- #VENTIL_ZU Entladen = off ' Akku-Entladen (auf jeden Fall)aus Motor=on wait not MSWITCH Motor=off goto START #VENTILZU Motor=on wait not MSWITCH Motor=off return #VENTILAUF Motor=on wait MSWITCH Motor=off return #UHR_NULL SECOND=0 MINUTE=0 HOUR=0 DAYs = 0 return #DAYCOUNT HOUR = 0 DAYs = DAYs +1 return #AKKUTEST gosub UHR_NULL UNLOADTIME = 0 Entladen=on if test = 0 then test = 1 return #TestEnde Entladen = off UNLOADTIME = MINUTE 'Wenn Entladezeit zu klein ist dann Ventil zu if UNLOADTIME < MinUnload THEN goto VENTIL_ZU if test = 3 and UNLOADTIME >=MinUnload THEN gosub VENTILAUF gosub UHR_NULL test = 0 return #VOLT if (AKKU < GRENZWERT or MINUTE > MinUnload-1) THEN gosub TestEnde return Das ist der Code, wie er in der CC1-Micro läuft. Er läuft einigermassen auf der OM, aber nicht reproduzierbar stabil. Vermute Timing-Probleme. Gruss Christian |
| Antwort schreiben |