Hangasilly
Level-1
- Beiträge
- 61
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Leute ich werd grad wahnsinnig... vllt seh ich auch wieder den Wald vor den Bäumen nicht :-\
Folgendes:
Ich hab nen inkrementalgeber A; A/; B; B/; Z und nen HSC auf E0.0 und E0.1sowie ID1000 ...
A liegt auf E0.0 und B auf E0.1
Ich weiß auch (aus entfernter Erinnerung, dass man den Counter in nem OB30 machen muss!?!? ).
Ich will eig nur, dass der rauf und runter zählt, jenachdem, wie rum er dreht halt...
Ich komme nur gerade voll nicht drauf, wie ich das ganze programmieren muss.
Ich bin nun soweit, dass ichs im FC mit ner Flankenauswertung mache:
(Ich arbeite mit Tia v13)
das ganze funzt auch, wenn ich den Geber >>langsam<< drehe... sobald ich aber die Drehgeschwindigkeit erhöhe - und ich erreiche bei Weitem ja nicht die Motordrehgeschwindigkeit mit der Hand... setzt mir das ganze aus...
Pack ich das o.g. Script in den OB30 mit ner Zykluszeit von 100ms, setzt es mir ganz aus und zählt garnicht mehr...
Den Geber kann ich von 2 bis 1024 impulse pro Umdrehung einstellen -- ich hätte hier gerne die 1024, weil das ganze äußerst genau sein muss, allerdings gibt er mir dann soviele Impulse raus, das meine CU1215c garnichtmehr mitkommt und iwas zählt...
Ich hab auch was von nem CTRL_HCS ( _EXT ) gelesen, aber hier weiß ich grade garnicht , wie ich damit umgehen muss...
Google hilft mir auch nicht groß weiter und die suche hier nach HSC gibt zwar paar Threats raus, aber nichts, was hilfreich wäre *seufz*
Hoffe einer von euch erbarmt sich und erläutert mir kurz, wie ich den dusseligen Zähler hinbekomme *fleh*
In diesem Sinne - ich freue mich auf eure hilfreichen Antworten
edit://
Ok das problem hat sich nun soweit erledigt... google konnte doch noch iwann durch Zufall helfen
... ich musste die Eingangsfilterzeit der HSC-Eingänge stark verkleinern - auf 0,05ms...
Nun schmeißt mit der OB30 auch mehr oder weniger Vernünftige Werte bei
aus...
mehr oder weniger vernünftig, weil das Ding nun blöderweise falschrum zählt... aber auch hier werd ich weiterforschen - vllt weiß einer von euch, wie man die Richtung dabe dreht?!?
Raus und runter zählt er - nur eben verkehrtrum... und ich kann den Geber leider nciht anders in der Anlage einbauen ... Signale A und B habe ich getauscht, nix, habe sogar a/ und B/ probiert, aber auch keine Veränderung
Folgendes:
Ich hab nen inkrementalgeber A; A/; B; B/; Z und nen HSC auf E0.0 und E0.1sowie ID1000 ...
A liegt auf E0.0 und B auf E0.1
Ich weiß auch (aus entfernter Erinnerung, dass man den Counter in nem OB30 machen muss!?!? ).
Ich will eig nur, dass der rauf und runter zählt, jenachdem, wie rum er dreht halt...
Ich komme nur gerade voll nicht drauf, wie ich das ganze programmieren muss.
Ich bin nun soweit, dass ichs im FC mit ner Flankenauswertung mache:
(Ich arbeite mit Tia v13)
Code:
//Flankenauswertung Hubgeber
#"pulse_POS_Geber-A" := "E0.0_HSC I" AND NOT "M80.0_Flankenmerker_Pos_Geber-A";
"M80.0_Flankenmerker_Pos_Geber-A" := "E0.0_HSC I";
#"pulse_POS_Geber-B" := "E0.1_HSC II" AND NOT "M80.1_Flankenmerker_Pos_Geber-B";
"M80.1_Flankenmerker_Pos_Geber-B" := "E0.1_HSC II";
//Positionszähler Geber HUB
"Hub_Positionszaehler".CTUD(CU:="E0.1_HSC II"AND #"pulse_POS_Geber-A",
CD:="E0.0_HSC I" AND #"pulse_POS_Geber-B",
PV:=0,
CV=>"MD178_Hub_PositionszählerWert");
das ganze funzt auch, wenn ich den Geber >>langsam<< drehe... sobald ich aber die Drehgeschwindigkeit erhöhe - und ich erreiche bei Weitem ja nicht die Motordrehgeschwindigkeit mit der Hand... setzt mir das ganze aus...
Pack ich das o.g. Script in den OB30 mit ner Zykluszeit von 100ms, setzt es mir ganz aus und zählt garnicht mehr...
Den Geber kann ich von 2 bis 1024 impulse pro Umdrehung einstellen -- ich hätte hier gerne die 1024, weil das ganze äußerst genau sein muss, allerdings gibt er mir dann soviele Impulse raus, das meine CU1215c garnichtmehr mitkommt und iwas zählt...
Ich hab auch was von nem CTRL_HCS ( _EXT ) gelesen, aber hier weiß ich grade garnicht , wie ich damit umgehen muss...
Google hilft mir auch nicht groß weiter und die suche hier nach HSC gibt zwar paar Threats raus, aber nichts, was hilfreich wäre *seufz*
Hoffe einer von euch erbarmt sich und erläutert mir kurz, wie ich den dusseligen Zähler hinbekomme *fleh*
In diesem Sinne - ich freue mich auf eure hilfreichen Antworten

edit://
Ok das problem hat sich nun soweit erledigt... google konnte doch noch iwann durch Zufall helfen

Nun schmeißt mit der OB30 auch mehr oder weniger Vernünftige Werte bei
Code:
"MD178_Hub_PositionszählerWert" := DWORD_TO_DINT(IN := "ED1000_Hub_Counterwert");
mehr oder weniger vernünftig, weil das Ding nun blöderweise falschrum zählt... aber auch hier werd ich weiterforschen - vllt weiß einer von euch, wie man die Richtung dabe dreht?!?
Raus und runter zählt er - nur eben verkehrtrum... und ich kann den Geber leider nciht anders in der Anlage einbauen ... Signale A und B habe ich getauscht, nix, habe sogar a/ und B/ probiert, aber auch keine Veränderung

Zuletzt bearbeitet: