TIA Betriebsstundenzähler S7-1200 läuft dauerhaft.

fanatics

Level-1
Beiträge
10
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Ich soll bei uns in einer Maschiene eine Betriebsstundenzähler einbauen, dieser soll über den Ausgang Q2.2 aktiviert werden und dann auch erst zählen.
Nur ist es momentan der Fall der mein RTM dauerhaft zählt und nicht erst dann wenn er das Signal bekommt.

CQ steht bei mir dauerhaft auf TRUE im Beobachtungsmodus.
Es handelt sich um eine S7-1200.

Hier mal meine Einstellungen. Es handelt sich um die Startwerte

EN -> Q2.2

NR -> 0

MODE -> 1

PV -> RTM PV -> DINT -> 0

RET_VAL -> RTM RET_VAL -> INT -> 0

CQ -> RTM CQ -> BOOL -> false

CV-> RTM CV -> DInt -> 0


Liebe Grüße

Fanatics
 
Damit kann man leider nicht wirklich was anfangen.

Ist es ein externer Betriebsstundenzähler außerhalb der SPS weil du ihn mit einem Ausgang schaltest?

Wenn er nicht extern ist, sondern intern, wieso verwendest du einen Ausgang als Trigger? Dafür sollte man Merker benutzen die gleichzeitig zu den Ausgängen gesetzt werden, das macht das Programm viel einfacher zu verstehen.

Ein Screenshot des Baustenaufrufs würde mehr helfen wie das Aufschreiben der Schnittstellensignale.
Und welcher FC/FB ist es? Ein Standardbaustein von Siemens oder was selbstgeschriebenes?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du darfst Q2.2 nicht an EN (*) anschließen, sondern mußt den Wert für MODE umschalten (siehe TIA Hilfe zu RTM):
- Q2.2 true --> MODE 1 (starten)
- Q2.2 false --> MODE 2 (stoppen)

Oder:
- Q2.2 steigende Flanke --> MODE = 1 (starten)
- Q2.2 fallende Flanke --> MODE = 2 (stoppen)
- sonst: MODE = 0 (Zählerstand auslesen)

Die RTM-Anweisung muß eigentlich nur zum Starten und zum Stoppen eines in der CPU integrierten Betriebsstundenzählers aufgerufen werden, also nur bei steigender und bei fallender Flanke des zu messenden Zustands (Q2.2). Ein gestarteter Betriebsstundenzähler läuft weiter, auch wenn die Anweisung RTM nicht mehr aufgerufen wird.

Ich würde nicht die Anweisung RTM benutzen sondern selber einen Betriebsstundenzähler als FB programmieren, mit einer UDINT-Zählervariable an IN_OUT, damit ich die Betriebsstunden in globalen DB habe, wo sie vor Reinitialisierungen von TIA besser geschützt sind. Außerdem kann ich dann beliebig viele Betriebsstundenzähler instanziieren; die mit RTM gesteuerten in der CPU integrierten Betriebsstundenzähler gibt es nur sehr wenige.

(*) siehe TIA Hilfe: "EN-/ENO-Mechanismus", speziell "EN-/ENO-Mechanismus für Bausteinaufrufe in KOP/FUP": wenn der Zustand an EN false ist, dann wird die Anweisung nicht ausgeführt bzw. der Baustein nicht aufgerufen (und auch nicht die Bausteinparameter bearbeitet/aktualisiert!).

Harald
 
Zuletzt bearbeitet:
Zurück
Oben