
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
hallo Manfred, habe insgeheim gehofft , das Du es liest ;-) klar habe ich mir das auf Deiner Seite angeschaut. So fein ausgeklĂŒgelt muss es gar nicht sein. Ich muss keine Flanken zĂ€hlen (kann aber). Im Prinzip soll es ein Drehzahlmesser werden. Nur dass der keine Drehzahl anzeigen soll, sondern triggern. Also es gibt einen Schwellwert. Ăberschreitet die Eingagsimpulszahl den Schwellwert soll ein Relais anziehen. Bei Unterschreitung soll dann das Relais abfallen. Am Sensoreingang liegen permanent Impulse an. Daher habe ich eine Zeitgrenze festgelegt, in der die Impulse gezĂ€hlt werden sollen. Dann RĂŒckstellung der Werte und alles von vorn. usw. > Hallo, > > ich wende zwar "nur" Station cc1 an, aber trotzdem fĂ€llt mir auf, dass > dein ZĂ€hler zĂ€hlt, solange 1-Signal ansteht. Soll er so arbeiten? > Oder soll nur bei Signalwechsel gezĂ€hlt werden? > Oder muss der Eingang Frequenz benutzt werden? > > Das Prinzip findest Du auf meiner homepage Kapitel Steuerungstechnik. > > MfG ManfredW > > > nach einiger Zeit Pause mit dem open-micro bin ich doch wieder mit einer kleinen Problemlösung beschĂ€ftigt, zu der ich noch keinen richtigen Ansatz gefunden habe. > > Ich will an einem Port aufbereitete digitale Impulse zĂ€hlen. Da die Impulszahl variiert, soll das in einem Zeitintervall von jeweils 1 Sekunde passieren. Die Auswertung soll dann das Relais schalten. > > Nach meiner Vorstellung mĂŒssten also die "Ereignisse" am Eingang in ein Register auflaufen, dass damit erhöht wird. Und hier ist auch schon meine VerstĂ€ndnisschwelle. Reicht es aus eine Variable zu definieren (beispielsweise define Zaehler byte) und dann den Wert Zaehler auszulesen? oder muss man dazu speziell ein bestimmtes Register direkt ansprechen? Und wenn ja, welches? > > > > Wie realisiert man die Ăbergabe des Impulses an das Register? > > > > ich habe mal so ganz grob so angefangen. Geht das so? > > > > > > define Sensor2 port[16] 'Eingang Sensor > > define Relais port[15] 'Relaissteuerausgang > > 'Variablen > > c = 0 'RegisterzĂ€hler fĂŒr Impulse > > x = 0 ' Timer Variable1 > > > > #start > > x = Timer 'ZĂ€hler lĂ€uft los bzw. Wert x wird auf Timerwert gesetzt > > c = sensor2 + c 'Erhöhung des ZĂ€hlers um ZĂ€hlimpulse > > if x = 50 then messung 'Erreichen der Zeitgrenze > > goto start > > > > #messung > > if c >= 16 then Relais = on 'Schwellwert erreicht > > if c < 15 then Relais = 0 'Schwellwert nicht erreicht > > c = 0 'RĂŒcksetzen des ImpulszĂ€hlers > > x = 0 'RĂŒcksetzen TimerzĂ€hler > > return > > > > > > Danke schon mal Meine Homepage: http://sv-ati.rutenberg.de |
| Antwort schreiben |