TIA High_Speed_Counter

Zuviel Werbung?
-> Hier kostenlos registrieren
Es soll im Handbetrieb bzw. Wartungsbetrieb per Drucktaster auf die Nullposition gefahren werden, dann wird die Spur N/ der kapazitive Sensor ausgewertet und ein Leuchtmelder aktiviert das er in Nullposition steht. Und erst dann kann der Bediener den Zähler des HSC rücksetzen.
Das wird dann aber relativ ungenau - schlimmstenfalls +/- die Schalt-Breite des Sensors. Für höchstmögliche Genauigkeit und Reproduzierbarkeit wird ein Referenzsensor mit immer gleicher niedriger Geschwindigkeit von der selben Seite angefahren und bei der Schaltflanke des Sensor Null-gesetzt.

Den Nullpunkt bzw. das ganze Koordinatensystem verschieben könnte man doch auch durch einfache Eingabe (oder [+]/[-]) eines Offset-Wertes, idealerweise in mm).

Harald
 
Also die NullPosition doch unabhängig vom N-Signal des Gebers.
Das Verschieben des Sensors durch den Betreiber klingt irgendwie abenteuerlich. Er wird doch sicherlich auch andere Positionen anfahren wollen, die dann aber gleich mit verschoben werden ...
Ist er sich darüber im Klaren oder ist das vielleicht sogar Absicht? Er wird doch sicherlich nicht nach jeder SensorVerschiebeAktion die anderen Positionen neu berechnen geschweige denn neu ausmessen wollen. Kann man da nicht eine praktikable BedienOberfläche erfinden, die die geheimnisvollen BetreiberWünsche einfacher erschlagen könnte? So eine Art von teachen, die WunschPositionen manuell anfahren und per Tastendruck in eine Liste übernehmen?

Jo, die Verteilerstation hat einen Wartungsbetrieb indem er entweder die Positionen per HMI-Taster oder per manueller Eingabe teachen kann.

Das wird dann aber relativ ungenau - schlimmstenfalls +/- die Schalt-Breite des Sensors. Für höchstmögliche Genauigkeit und Reproduzierbarkeit wird ein Referenzsensor mit immer gleicher niedriger Geschwindigkeit von der selben Seite angefahren und bei der Schaltflanke des Sensor Null-gesetzt.

Den Nullpunkt bzw. das ganze Koordinatensystem verschieben könnte man doch auch durch einfache Eingabe (oder [+]/[-]) eines Offset-Wertes, idealerweise in mm).

Harald

Der Referenzpunkt wird im optimalen Fall nur einmal zum Setzen der Nullposition angefahren. Nämlich genau dann wenn der Nullpunkt verschoben wird bzw. bei der IBN :ROFLMAO:

Btw, @Harald Die Synchronisation funktioniert so wie du sie beschrieben hast, über den Baustein kann ich die Synchronisation bei steigender Flanke ausführen lassen. Problem ist nur das dafür die Freigabe erfolgen muss und dann synchronisiert wird...

Ich hab die N-Spur dann letzendlich an einen DI angeklemmt und über das StatusByte ausgelesen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Referenzpunkt wird im optimalen Fall nur einmal zum Setzen der Nullposition angefahren. Nämlich genau dann wenn der Nullpunkt verschoben wird bzw. bei der IBN :ROFLMAO:
Und bei jedem Netz-Aus der SPS. Es ist ja ein Inkrementalgeber.

Harald
 
Hallo

Mein High speed counter setzt sich nicht auf den richtigen Startwert wenn ich das SW-Gate resette/Setze.
siehe Anhang.
er setzt den Count-Value auf 562 statt 1. Kann mir das jemand erklären?
ich bin ratlos :-/

High_Speed_Counter_Trace.jpgHigh_Speed_Counter_Parameter.jpg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
er setzt den Count-Value auf 562 statt 1.
Die Ziffern kommen mir bekannt vor, allerdings in der Reihenfolge 256.
256 dezimal ist 100 hexadezimal. Das Phänomen mit dem Vertauschen von HighByte und LowByte zu erklären, funktioniert aber nur, wenn die Zahl 256 beim Vertauschen als BCD-Zahl dargestellt ist - kann das denn sein?
 
Update: nun wird der Wert auf 13 gesetzt. ganz komisch . ..

@Heinileini : nein. der wert wurde zuvor auf 256 gesetzt aber laut Einstellung des HSC_2 soll der Startwert ja 1 sein
 
Kann es sein, daß Dein nicht sichtbares Programm einen neuen CountValue oder StartValue (*) setzt? Laut TIA-Hilfe zur Anweisung High_Speed_Counter ist sowas möglich. Auf Deinem Bild vom Programm ist gerade noch zu erkennen, daß irgendwie eine Variable #x_Set_CountValue verschaltet ist. Ist #x_Set_CountValue eine TEMP-Variable und/oder wird sie vielleicht falsch gesteuert?

(*) Laut TIA-Hilfe kann man den CurStartValue lesen.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du könntest in der Konfiguration das "Verhalten bei Torstart" auf "Fortsetzen mit aktuellem Wert" stellen.
Das SW_Gate sollte immer offen sein, wenn eine Bewegung des Turms möglich ist.

Den Zähler kannst du mit "SetCountValue" gezielt setzen. Die Variable für den Setzwert ist "NewCountValue". Die findet sich nicht an der Schnittstelle des High_Speed_Counter-FB sondern in den statischen Variablen.
 
Startvalue sollte passen

Kann es sein, daß Dein nicht sichtbares Programm einen neuen CountValue oder StartValue (*) setzt? Laut TIA-Hilfe zur Anweisung High_Speed_Counter ist sowas möglich. Auf Deinem Bild vom Programm ist gerade noch zu erkennen, daß irgendwie eine Variable #x_Set_CountValue verschaltet ist. Ist #x_Set_CountValue eine TEMP-Variable und/oder wird sie vielleicht falsch gesteuert?

(*) Laut TIA-Hilfe kann man den CurStartValue lesen.



Harald

ich habe mir den HSC online angeschaut: StartValue ist auf 0 ! siehe Anhang
ich habe ja mitlerweile das Gefühl das das Technologie-Objekt HighSpeedCounter gar nicht richtig mit der TM_Count von der Et200Sp funktioniert. Ist der vielleicht nur für die schnellen ON-Board-Counter der CPU gedacht? da funktioniert das prima


Snap 2019-12-03 at 11.22.52.jpg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So Fehler gefunden:

Aufgabe: Bei Netz-Ein eine TM_Count (an einer ET200SP über Profibus) auf einen bestimmten CountValue setzen. Die TM_Count wird über das Technologie-Modul High-Speed-Counter gesteuert

Problem: DAS FUNKTIONIERT NICHT IM ERSTEN SPS-Zyklus nach Netz--Ein SONDERN ERST BEIM 12ten-14ten !!!

Lösung: Nach Netz-Ein das Bit SetCountValue solange ein- und ausschalten, bis der neue CountValue übernommen wurde

Hinweis: Am Profibus liegt es auch nicht. Ich frage mit dem FB Device-States ab ob die ET200SP über Profibus erreichbar ist. Danach dauert es noch 12-14 SPS-Zyklen bis die TM_Count den neuen Wert annimmt.


Danke an alle für die Hilfe
 
Moin,
mal aus der Hüfte geschossen:
hast du dabei mal den Ausgang StatusHW beobachtet? Der müsste dir doch bescheid geben, ob das Modul schon betriebsbereit ist.
StatusHW -> Statusbit Technologiemodul: Das Modul ist parametriert undbetriebsbereit. Die Daten des Moduls sind gültig.
Nur weil die ET sich am Bus anmeldet, muss ja das TO noch nicht bereit sein. Den SetCountValue solltest du also vielleicht erst schalten, wenn StatusHW 1 ausgibt.
 
Ging das Thema nicht mal darum, daß sich der Zähler anscheinend allein durch SW-Gate öffnen auf einen falschen Wert setzt?
Mein High speed counter setzt sich nicht auf den richtigen Startwert wenn ich das SW-Gate resette/Setze.
siehe Anhang.
er setzt den Count-Value auf 562 statt 1.
Ist dieses Problem gelöst?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ging das Thema nicht mal darum, daß sich der Zähler anscheinend allein durch SW-Gate öffnen auf einen falschen Wert setzt?

Ist dieses Problem gelöst?

Harald

ja das stimmt.
das hat sich erledigt. ich habe ein bischen rumexperimentiert und dabei auch die Steuerschnittstelle der TM_Count-Karte angesprochen. und da wurden dann falsche startwerte reingeschrieben, die nicht mit dem in der Konfig des Technologie-Moduls übereinstimmen.
Mein Fazit: die Anstuerung über die Steuerschnittstelle sowie über das Technologie-Modul funktioniert. man muss nur wissen das die TM-Count-Karte nicht sofort beim ersten SPS-Zyklus nach netz-Ein online ist ! (zumindest nicht wenn die ET200SP über Profibus mit der CPU vernetzt ist)
j
 
Zurück
Oben