WinCC flexible 2008 - variable Grenzen für Variabeln vom Datentyp Time

Beiträge
10
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen

Es geht um die Definierung von Grenzen für Sollwerte auf einem MP377 vom Datentyp "Time". Ist mir klar, dass in einer solchen Variabel schlussendlich nichts anderes als der aktuelle Wert in ms über 4 Bytes steht. DInt würde also auch funktionieren, aber bei einem integrierten Projekt wird halt der Datentyp automatisch zugewiesen.

Also: Die Anlage besteht aus einigen Stationen, die aber über sehr ähnliche resp. identische Parametereingaben verfügen. Diesen Eingabewerten müssen Grenzen gesetzt werden. Meine Idee war, mit internen Variabeln für gewisse Gruppen einheitliche Grenzen zu definieren und diese den einzelnen Steuerungsvariabeln anzuhängen (massiv geringerer Aufwand bei Änderung einer Grenze).

Nun gibt es in WinCC flex intern den Datentyp Time nicht. Folglich frisst eine Variabel vom Typ Time keine interne variable Grenze...
Gib es da doch eine elegante Lösung die ich übersehe? Zur Not würde ich die Grenzen auf der Steuerung in einem DB definieren. Finde ich aber eher unschön!

Danke!
Jan
 
Man könnte beim Starten ein Script ausführen, und in diesem dann die Zeiten zuweisen:
Code:
smarttags("Grenze_i") = TimeValue("1:1:11 PM")
Kann aber nicht sagen, ob das so funktioniert. Das läuft natürlich nur, wenn die Grenzen nicht verändert werden sollen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich nehme mal an, dass das mit den Grenzwerten für TIME so ist, wie von dir dargestellt. Was ich nicht verstehe ist, warum du dann nicht die Variable (im Parameter-DB) als DINT deklarierst und sie vor der Verwendung im SPS-Programm in einen TIME um-castest. Das ginge z.B. über eine TEMP-Variable wenn du die DBD's z.B. für einen SFB3..5 verwenden wilsst.

Gruß
Larry
 
Hallo Larry,
dein Vorschlag würde natürlich funktionieren. Was die Werteeingabe angeht, sind die Grenzen vielfach identisch. Die effektiven Werte können aber sehr unterschiedlich sein. Sprich da müssten im SPS-Programm (ja, für SFB4/5) hunderte Timerwerte "umgecastet" werden. Weiterer Hacken: Die Software steht schon zu 80%, so was "banales" wie Grenzen geht man erst am Schluss an. :-S Wie man sich täuschen kann!
 
... was Anderes fällt mir dazu sonst nicht ein ... :rolleyes:

Aber ist es wirklich (viel) mehr Aufwand so zu prgrammieren :
Code:
[COLOR=red]L DB2.DBD100[/COLOR]
[COLOR=red]T #myTempVar_Time[/COLOR]
 
call SFB4,DB4
   IN := #myTrigger
   PT := #myTempVar_Time
Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die effektiven Werte können aber sehr unterschiedlich sein. Sprich da müssten im SPS-Programm (ja, für SFB4/5) hunderte Timerwerte "umgecastet" werden.

Im FB, der mehrmals aufgerufen wird, musst das nur einmal (oder soviele SFB wie drin sind) machen.

Die Schnittstelle ist ja normalerweise variabel ausgelegt. IN = TimeInDINT
 
Zurück
Oben