TIA Time Tick

robson

Level-1
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Abend, ich stehe wieder einmal vor einem Problem und hoff das mir irgendjemand helfen kann. :D
Ich benutze immer wieder bei meinen Standardbausteinen den SFC 64 "Time TCK" nun wollte ich diese Bausteine in eine CPU 1214 laden und da sehe ich das diese keinen Time Tick mehr unterstützt.
Gibt es bei dieser CPU auch so einen Funktion bzw. gibt es eine andere Möglichkeit soetwas zu realisieren....??


Schon einmal vorab vielen Dank für eure Hilfe !!!
 
Ich weiss jetzt nicht genau was du mit dieser Funktion machst, sei es eigene Timer oder sowas...
Mir ist nicht bekannt dass es sowas bei der S7-1200 vergleichbar gibt, eventuell könntest du dir das
über die Systemzeit nachbilden, indem du die Systemzeit in jedem Zyklus ausliest und dann die differenz
zum vorhergehenden Zyklus betrachtest.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,

der Time Tick wird für eigene Timer verwendet...... Ich bin jetzt nicht so bewandt mit der Systemzeit aber es sollte doch möglich sein aus der Systemzeit nur die ms rauszufiltern und dann die Differenz zu jedem Zyklus zu berechnen.
 
Hi, den time tick gibt es bei der 1200 nicht. Du musst die systemzeit lesen mit dem read_systime und dann die differenz ausrechnen.

Tschö dentech
 
Probleme beim Auswerten der Systemzeit treten aber auf, wenn die Uhrzeit der SPS gestellt oder z.B. über NTP synchronisiert wird. Dann hat man unter Umständen Lücken oder falsche Werte in der Auswertung.
Ich finde auch dass da etwas fehlt bei der 1200, die letzte Zykluszeitdauer wie bei der S7 über OB1_Prev_Cycle ist ja ebenfalls nicht verfügbar.

Je nach gewünschter Auflösung könnte man sich einen eigenen TimeTick z.B. über einen 10ms Interrupt bauen, aber das ist auch nur eine Krücke.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
wenns nur um timer geht, reichen meistens auch die simplen nachbauten die einfach die positiven flanken des taktmerkers zählen... :) kommt halt drauf an wie
genau das ganze sein muss...

Auf jedenfall geht ein Timernachbau per systemzeitauswertung bei mehreren Timern dann schwer auf die zykluszeit ;)
 
Probleme beim Auswerten der Systemzeit treten aber auf, wenn die Uhrzeit der SPS gestellt oder z.B. über NTP synchronisiert wird

Es gibt aber in der 1200-er die Möglichkeit die local-Time oder die System-Time auszulesen.
Die local-Time ändert sich natürlich bei der sommer-winterzeit problematik.
Die System-Time sollte sich aber nicht ändern.

Bei Synchronisierung mit einem NTP-Server kann es natürlich zu problemen kommen.

Gruß wolder
 
Vielleicht kannst du das Problem mit IEC-Timern lösen (Datentyp IEC_Timer) oder vielleicht auch mit Runtime Meters (Instruktion RTM)!?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die vielen Infos, ich habe jetzt normale TON und TOF Timer verwendet, nun möchte ich diese über ein KTP 400 einstellbar machen......jedoch haben diese Timer standardmäßig Millisekunden.....jetzt wollte ich mit der Funktion "lineare Skalierung Y=(a*X)+b " diese einfach in Sekunden umwandeln jedoch funktioniert das überhaupt nicht :neutral: ich nehme als X eine Variable wo ich die Zeit am HMI einstelle als A habe ich 1000 als Fixwert eingegeben und B habe ich auf 0 gelassen Y ist die Variable welche ich in der CPU verwende.

Vieleicht hat irgendjemand einen Idee an was das liegen könnte....und handelt es ich vieleicht dabei um einen Bug ;)

Danke, Robert
 
Danke für die vielen Infos, ich habe jetzt normale TON und TOF Timer verwendet, nun möchte ich diese über ein KTP 400 einstellbar machen......jedoch haben diese Timer standardmäßig Millisekunden.....jetzt wollte ich mit der Funktion "lineare Skalierung Y=(a*X)+b " diese einfach in Sekunden umwandeln jedoch funktioniert das überhaupt nicht :neutral: ich nehme als X eine Variable wo ich die Zeit am HMI einstelle als A habe ich 1000 als Fixwert eingegeben und B habe ich auf 0 gelassen Y ist die Variable welche ich in der CPU verwende.

Vieleicht hat irgendjemand einen Idee an was das liegen könnte....und handelt es ich vieleicht dabei um einen Bug ;)

Danke, Robert

Guten Morgen,

habe gefunden wie es geht und es funktioniert :D habe einfach an der falschen Funktion herum probiert!!
 
Zurück
Oben