
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo, viell Ahnung habe ich ja noch nicht. Aber ich will meine Rollladensteuerung über die Station 1 aufbauen. Also hab ich mir die ELR4SR Platine für 8 Ausgänge an Port 1-3 zugelegt. Die orig. Test Soft funzt aber nicht, meine Ausgänge machen was sie wollen. Die Eingaben über das Hyper Terminal funktionieren. Ich habe lediglich die Digi Ports von 9; 10; 16 auf 1; 2; 3 geändert! Weiß jemand was ich falsch mache? -und wie ich die 8 Ausgänge einzeln, aus meinem eigenen Prog heraus ansprechen kann? Würde mich sehr über eine Antwort freuen! Tappi Hier das original Testprogramm: '****************************************************** '* Beispiel zu Ansteuerung von * '* SR/PCF-Rel8 (SR-Ver.), ELR4SR und RT4SR * '* in CC1-Basic, ohne Assembler * '* http://cctools.hs-control.de * '* Release: 07.01.02 * '****************************************************** 'Beispiel 1 (Eine Relaiskarte, ELR4SR oder TR4SR): define DS Port[9] 'beliebiger anderer Port möglich define SH Port[10] 'beliebiger anderer Port möglich define ST Port[16] 'beliebiger anderer Port möglich 'Diese Portkonfiguration teilt sich zwei Ports mit dem 'LCD an BytePort2 um Ports einzusparen. define rel byte[1] 'Byte-Puffer für rel1 bis rel8 define rel1 bit[1] 'Relais 1 define rel2 bit[2] 'Relais 2 define rel3 bit[3] 'Relais 3 define rel4 bit[4] 'Relais 4 define rel5 bit[5] 'Relais 5 (bei ELR4SR & RT4SR Zusatz-LED 1) define rel6 bit[6] 'Relais 6 (bei ELR4SR & RT4SR Zusatz-LED 2) define rel7 bit[7] 'Relais 7 (bei ELR4SR & RT4SR Zusatz-LED 3) define rel8 bit[8] 'Relais 8 (bei ELR4SR & RT4SR Zusatz-LED 4) define i byte[2] define x byte[3] ' Um mehr als 24 Byte RAM zu erhalten, sollte eine andere Compiler-DLL ' benutzt werden. Mehr dazu siehe auf http://ccintern.dharlos.de (mehrvars.zip) 'Start SH=Off ST=Off rel=0 gosub shift pulse ST #loop put(12) print "Test-Programm für:" print "SR/PCF-Rel8(SR-Ver.), ELR4SR & RT4SR" print "Relais auswählen(1-8): "; get i 'Zeichen(Ziffer) einlesen put i 'Echo der Eingabe zurückgeben if i<&h31 or i>&h38 then goto loop 'prüfen, ob Ziffer im Bereich 1 bis 8 i=i-&h30 'Ziffer von ASCII-code in Zahl wandeln print "Relais "; i ; "Status: "; if (1 shl (i-1)) and rel then print "EIN" else print "AUS" print "Relais schalten(0-1,andere Eingabe=Abbruch): "; get x 'Zeichen(Ziffer) einlesen put i 'Echo der Eingabe zurückgeben if x<&h30 or i>&h31 then goto loop 'prüfen, ob Ziffer im Bereich 0 bis 1 x=x-&h30 'Ziffer von ASCII-code in Zahl wandeln i=i-1 on i goto r1,r2,r3,r4,r5,r6,r7,r8 goto loop #r1 rel1=x goto next #r2 rel2=x goto next #r3 rel3=x goto next #r4 rel4=x goto next #r5 rel5=x goto next #r6 rel6=x goto next #r7 rel7=x goto next #r8 rel8=x #next gosub shift pulse ST goto loop #shift 'Routine zum seriellen Senden der Daten zur Scheiberegistererweiterung for i=7 to 0 step -1 DS=(rel shr i) and 1 pulse SH next return |
| Antwort schreiben |