TIA Inkrementalgeber und HSCs

Hangasilly

Well-known member
Beiträge
61
Punkte Reaktionen
0
Zuviel Werbung?
->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)

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 :D ... 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
Code:
"MD178_Hub_PositionszählerWert" := DWORD_TO_DINT(IN := "ED1000_Hub_Counterwert");
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 :(
 
Zuletzt bearbeitet:

Matze001

Well-known member
Beiträge
2.498
Punkte Reaktionen
485
CTRL_HSC ist genau das was du brauchst.

Das was Du da programmiert hast kann so niemals funktionieren, da dich der CPU-Takt (OB1 mind. 1ms) oder noch schlimmer die 100ms des OB30 ausbremsen.
Die Steuerung übernimmt für Dich intern das zählen, und Du kannst dann den Zählwert auslesen wenn Du ihn brauchst. Damit die Steuerung weiß wie sie zählen
muss gibt es diesen Control-Baustein. Guck einfach Rechts in dem Bausteinreiter unter Technologie - HSC. Drück F1 ... und schon bist Du schlauer!

Grüße

Marcel
 
OP
H

Hangasilly

Well-known member
Beiträge
61
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Ja, danke...
Habs nun hinbekommen(siehe Edit^^ kam wohl zeitgleich mit deinem Post ;) )

Auch die Richtung hab ich nun richtigrum - war ne Einstellung in der Geberkonfig...

Aber besten Dank an alle Beteiligten!!!!
 

Hännah

New member
Beiträge
4
Punkte Reaktionen
0
Ja, danke...
Habs nun hinbekommen(siehe Edit^^ kam wohl zeitgleich mit deinem Post ;) )

Auch die Richtung hab ich nun richtigrum - war ne Einstellung in der Geberkonfig...

Aber besten Dank an alle Beteiligten!!!!
Hallo Hangasilly,

wo genau hast du dir Richtung für das Zählen geändert? Könntest du mir hiervon kurz einen Screenshot schicken? Ich hänge nämlich genau an dieser Stelle.

Vielen Dank im Voraus.
Grüße
Hannah
 

Kehrer

Well-known member
Beiträge
223
Punkte Reaktionen
0
Hallo Hangasilly,

wo genau hast du dir Richtung für das Zählen geändert? Könntest du mir hiervon kurz einen Screenshot schicken? Ich hänge nämlich genau an dieser Stelle.

Vielen Dank im Voraus.
Grüße
Hannah
Evtl. Vorwärts und rückwärts oder 2 Drähte der AB Spur
 

Anhänge

  • Unbenannt.JPG
    Unbenannt.JPG
    79,3 KB · Aufrufe: 16

PN/DP

User des Jahres 2011 - 2013; 2015 - 2017; 2020
Beiträge
17.439
Punkte Reaktionen
5.121
Ich hab das zwar gedreht
Du meinst, Du hast bei "Anfängliche Zählrichtung" "Rückwärts zählen" eingestellt?
Das hat nichts mit der generellen Zählrichtung zu tun.

Die Zählrichtung kann man bei einem A/B-Zähler umdrehen, indem man die Drähte A und B vertauscht anschließt. Bei der S7-1200 kann man die Vertauschung auch softwaremäßig in den Eigenschaften des HSC angeben, und zwar unter "Hardwareeingänge" einfach "Eingang Taktgeber A" und "Eingang Taktgeber B" vertauscht einstellen, z.B.:
• Eingang Taktgeber A: Standard: "%E0.0" / für Rückwärts zählen: "%E0.1"
• Eingang Taktgeber B: Standard: "%E0.1" / für Rückwärts zählen: "%E0.0"

Harald
 
Oben