
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo Ich habe ein Problem mit meiner M2 Unit Ich möchte mit einer M2 Unit ein Tachosignal und ein Drehzahlsignal in Zahlenwerte umsetzen Als Pegelwandler (auf TTL) werden zwei Optokoppler benutzt Die M Unit zählt die Impuklse Freq1 und Freq2 werden Gestartet wobei der Drehzahlmesser (Frq2) Zweimal gezählt wird und der Tacho (Frq1) nur einmal Die Werte werden dann in zwei Speicher geladen für jeden Kanal 16 Bit Ein anderer Rechner liest die Speicher aus 'Frquenzmesser define Q word define D byte define T byte define S byte define H byte define E byte define X byte define Y byte define Z byte define L byte define M byte define DATA byte define TEMPVAL byte[1] define CA word 'Ergebniss Counter 1 define CB word 'Ergebniss Counter 2 define BUS BYTEPORT[1] define LE1 port[09] 'Lash 1 Counter 1 define LE2 port[10] 'Lach 2 define LE3 port[11] 'Lach 3 Counter 2 define LE4 port[12] 'Lach 4 define BYSI port[16] 'Redy Signal BEEP 400,25,10 BEEP 400,25,10 #INIT '--UMLEITUNG DER PRINT-FUNKTION AUF DAS CONFIG-MODULE - print"#ON_CONFIG#"; 'UMGELEITET get TEMPVAL 'den aktuellen Wert lesen put (TEMPVAL or &B0000110) 'Bits setzten und zurück schreiben print"#OFF#"; 'Umleitung abschalten LE1=0 : LE2=0 : LE3=0 : LE4=0 BUS=0 : BYSI=0 PULSE LE1 : PULSE LE2 PULSE LE3 : PULSE LE4 PUT 12 PRINT "Fequenzmessung:" PRINT "V 26,11,2004" '-------------------------------------------------------------------------------------------------- #LOOP 'Start Counter 1 u 2 CA=0 : CB=0 FREQ1=0 : FREQ2=0 TIMER=0 BYSI=1 WAIT TIMER=25 '25 CB=FREQ2 if FREQ1=9000 then FREQ1=0 if FREQ2=9000 then FREQ2=0 ' X=(CB / 256) : Y=CB -(X*256) ' BUS=X : PULSE LE3 BUS=Y : PULSE LE4 ' BYSI=0 ' 'Start Cunter 2 CB=0 FREQ2=0 TIMER=0 BYSI=1 WAIT TIMER=25 CB=FREQ2 : CA=FREQ1 if FREQ1=9000 then FREQ1=0 if FREQ2=9000 then FREQ2=0 ' X=CB / 256 : Y=CB - (X*256) ' BUS=X : PULSE LE3 BUS=Y : PULSE LE4 ' X=CA / 256 : Y=CA - (X/256) ' BUS=X : PULSE LE1 BUS=Y : PULSE LE2 ' BYSI=0 GOTO LOOP END '------------------------------------------------------------------------------------------------ #CONV T=0 : H=0 : Z=0 : E=0 T=Q/1000 H=(Q-(T*1000))/100 Z=(Q-(T*1000)-(H*100))/10 E=(Q-(T*1000)-(H*100)-(Z*10)) RETURN Die Sache läuft ganz gut der Drehzahlmesser läuft stabiel Der Tacho fängt bei ca 50 Km/h an zu springen ( bei gleicher Geschwindigkeit) Die Eingangssignale sind sauber ein parallel angesclossener Travlelpilot zeigt eine kontionierliche Geschwindigkeit an Schlisst man ein Signalgenerator an bleibt die Anzeige stabiel Da beim Geschwindikkeitssignal nur ein sehr niedrige Frequenz anliegt < 100 Hz sollte man vieleicht nur die Signalbreite der einzelnen Impulse messen Kann das die M2 Unit Oder kann man das Programm verbessern Dieter Kalkofen |
| Antwort schreiben |