TIA SCL Datentype ICE_TIMER im FC unbekannt!

Duff411

Level-1
Beiträge
10
Reaktionspunkte
6
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten morgen!

Ich habe folgendes Problem:
Ich habe ein FC erstellt in FUP.
InOut Varible definiert -> Datentype IEC_TIMER
Sinn der Geschichte ist folgende:
So kann ich den FC immer ein anderen Timer zuweisen bei mehrmaligen Aufruf ohne das sich diese überschneiden....

Jetzt wollte ich dies auch in ein FC verwenden der jedoch in SCL programmiert wird.
Dort kann ich jedoch beim definieren der Varible den Datentype IEC_TIMER nicht auswählen... )-:

Ist dies ein Bug oder so?
ich benutze TIA-Portal V13 Update8

Gruss

Andreas
 
Hallo,
mir ist gerade nicht so ganz klar, was du vorhast ... (für mich erschließt sich der Sinn deines Vorhabens nicht).
Ein IEC_Timer ist eigentlich ein Ding, dass du z.B. in der Instanz eines FB's deklarierst. Du kannst ihn natürlich auch "zu Fuss" aufrufen - du mußt dann aber beachten, dass dieser Timer einen Instanz-DB haben möchte (deshalb in einem FB am sinnigsten).
Ich war ein bißchen verwundert, dass es geht, ihn als IN_OUT-Parameter zu deklarieren. Aber gut - in diesem Fall mußt du dem Baustein dann natürlich den Parameter mit den I-DB beschalten (oder mit dem Bereich einer IEC_Timer-Instanz aus einem Standard-DB).
Hast du das so gemacht (oder machen wollen) ?

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für deine Antwort!

Im Prinzip möchte ich das so umsetzen wie du beschrieben hast. Bzw. in FUP habe ich das auch schon so programmiert.

Kurz noch zur Erklärung im Sinn meines Vorhabens:

Ich programmiere ein FC mit Zeiten. Wenn ich diesen direkt ein Timer zu ordne z.B. ein IEC Timer mit ein passenden DB so wird immer der gleiche Timer bzw. Anlaufzeit verwendet.
Rufe ich den FC mehrmals in einem FB auf so arbeite ich immer mit den gleichen Timer. Setze ich nun z.B. den Timer in einen Aufruf zurück so ist er ja auch für die anderen Aufrufe zurück gesetzt...

Verwende ich jedoch im FC eine InOut Variable so kann ich bei jeden aufruf in einem FB dem FC einen anderen Timer zuweisen! Somit verhindere ich, das ich z.B. Ein Timer zurück setze und dies Auswirkungen auf einen anderen Aufruf des FC hat.

Ich hoffe das der Sinn jetzt besser erkenntlich ist.

Gruß

Andreas
 
Der Sinn ist schon klar.

Wie Larry schon erklärte, macht man dann üblicherweise aus dem FC einen FB und packt die für die Timer notwendigen DBs als Multiinstanz in den Static-Bereich des(der) IDB(s) des FBs.
Also - warum die Verrenkungen für einen FC anstatt eines FBs?
 
Moin,

ich glaube, es ist nicht relevant, zu verstehen wofür die Übergabe von IEC_TIMER an FC gut sein kann. (*)

Ich kann aber für TIA Step7 V13 SP1 Upd8 bestätigen was Duff411 festgestellt hat: Wenn man den FC in FUP, KOP oder AWL programmiert, dann kann man InOut-Parameter als IEC_TIMER deklarieren. Wenn der FC in SCL programmiert wird, dann kann man es nicht. Ich kann mir nicht vorstellen, warum das nicht möglich sein soll und würde den Siemens Support befragen. In der TIA-Hilfe finde ich auch nichts, was einen Grund erklären würde.

(*) In Step7 classic kann man ebenfalls Timer an FC übergeben - da deklariert man einen Input als TIMER und übergibt einen S5-Timer. Diese Variante funktioniert auch in TIA, auch für S7-1500, egal ob man den FC in FUP/KOP/AWL oder SCL programmiert. Die neuere/bessere Variante, anstatt S5-Timer einen IEC_TIMER zu übergeben, geht allerdings nur in FUP/KOP/AWL - aber nicht in SCL. :confused:

Wenn der Timer das einzige Element des FC ist was ein Gedächtnis erfordert (was aus FC-Aufrufen eigentlich Instanz-Aufrufe macht), dann kann ich mir vorstellen, daß nur die Übergabe einer IEC_TIMER-Instanz an den FC effizienter ist als den FC komplett in FB umzuwandeln.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe das jetzt gerade mal gecheckt :
Es ist tatsächlich so, dass das Vorhaben unter SCL in TIA13 nicht umsetzbar ist - ABER ... in TIA14 würde es dann gehen ...

Somit wäre die Anwort auf die Frage :
Ist dies ein Bug oder so?
Nein ... bei Siemens gibt es schon ganz lange keine Bugs mehr in der Software - das ist ein Feature ... 8)

Gruß
Larry
 
Danke für eure Antworten!
Also das Ende vom Lied ist das ich es anders mache oder auf Tia14 umsteige...

Aber Bugs als Feature verkaufen ist auch mal eine Idee

Gruss

Andreas
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Aber Bugs als Feature verkaufen ist auch mal eine Idee

... das macht ja Siemens auch nicht offiziell - das ist nur die einhellige Auslegung des Verhaltens von Siemens zu derallei Dingen.
Naja ... Und darum, dein TIA hochzurüsten, wirst du ja auch auf mittlere Sicht nicht drum-herum-kommen ...

Gruß
Larry
 
Zurück
Oben