HMI OP 7 auf TP 177 micro, Probleme

Draco

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

ich habe mich nun erstmals mit WinCC Flexible 2008 beschäftigt und folgendes Projekt realisiert.
Ich möchte veraltete OP 7 Geräte durch moderne TP 177 Micro Panels ersetzen (S7-200 im Hintergrund). Da eine direkte Konvertierung nicht möglich ist und ich dies Projekt zum Erlernen nutzte, habe ich das bestehende Projekt in ProTool hergenommen und in WinCC nachgebaut.

Soweit läuft auch alles, jedoch habe ich noch einige wenige Problemchen mit der richtigen Darstellung einiger Variableninhalte. Daher dieser Thread.

Eine Variable namens "AKT_ABLoffse" vom TYP Real wird am OP 7 mit dem aktuell eingestellten 143,80 [mm] angezeigt. In ProTool ist die Einstellung für dieses EA-Feld konfiguriert als "Darstellung: Dezimal", "Feldlänge: 7", "Feldtyp: Ausgabe".
In WinCC Flexible habe ich ebenfalls "Darstellung: Dezimal" eingestellt und bei "Darstellungsformat" mittlerweile alles angebotene ausprobiert. Das TP 177 micro gibt mir dort einen 5-stelligen Wert aus "47120" oder halt 4,7 e^..." oder sonstigen Unsinn. Der Wert "47120" wird mir auch am angeschlossenen Programmiergerät in der Statustabelle der Variable angezeigt.

Meine Frage:
Was macht ProTool an dieser Stelle besonderes, um den Wert so darzustellen wie oben beschrieben? Was muss ich in WinCC einstellen um dies Ergebnis zu kriegen?


Von diesem obigen Problem habe ich noch ein weiteres in vergleichbarer Weise. Anstelle eines Drucks "80" [bar] wie am OP7 korrekt dargestellt, zeigt mir das TP 177 micro dort an "6682"
 
Ich habe soeben durch Zufall erfahren, dass man in WinCC Variablen auch noch Funktionen zuweisen kann. In ProTool natürlich ebenso und dort habe ich zu obigem Problem folgendes entdeckt, was ich leider nicht fähig bin, in WinCC nachzubauen:

In ProTool steht bei der Variable "AKT_ABLoffse" eine Funktion "Umrechnung Linear 1" drin mit Erläuterungen. Dort steht "a: ABLoffset_FA" und "b: 0,000". Die Formel zur Umrechnung lautet Y = a * X + b. Das "b" kann ich vergessen da Null. a soll der Wert aus der Variablen ABLoffset_FA sein, auch klar. Y ist der Wert aus der Steuerung und X ist der neue Wert.

In WinCC bei den Variablen unter Ereignisse kann ich ebenso diese Funktion auswählen, jedoch rechnet es scheinbar anders. Ich weiß nun nicht, was ich bei Y, X und a eintragen soll. Diverse Versuche waren erfolglos.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
OP 7 Geräte durch moderne TP 177 Micro Panels ersetzen
na das passt nicht- die Geräte sind seit 2008 gestrichen, also wahrscheinlich kurz vor der Streichung
http://support.automation.siemens.c...&lang=de&objid=6AV6642-0BA01-1AX0&caller=view
Damit du dir die Arbeit nicht doppelt machst, wirst du wohl(oder übel) auf TIA umsteigen müssen ( KTP400 o.ä.)
Lass dich mal von einem Big S Vertreter beraten.
 
na das passt nicht- die Geräte sind seit 2008 gestrichen, also wahrscheinlich kurz vor der Streichung http://support.automation.siemens.c...&lang=de&objid=6AV6642-0BA01-1AX0&caller=view Damit du dir die Arbeit nicht doppelt machst, wirst du wohl(oder übel) auf TIA umsteigen müssen ( KTP400 o.ä.) Lass dich mal von einem Big S Vertreter beraten.
Das TP177 micro ist noch nicht abgekündigt. http://support.automation.siemens.c...tandard&viewreg=WW&objid=19036004&treeLang=de TIA ist ein völlig neuer Bereich für mich, was zunächst mit ner ganzen Summe an Investitionen für neue Software usw. zusammenhängt. Davor drücke ich mich. Hoffe auf Hilfe zu o.g. Problematik
 
richtig,ich habe nur geschrieben , dass die Familie gestrichen ist.War nur ein Hinweis bezüglich "Modern"
Wenn du die alten Protool-Geräte neu machen möchtest,
ist es doch eine Überlegung wert gleich auf TIA umzusteigen(auch wen dies doch noch Fehler behaftet ist).
So könntest du dir sicherlich doppelte Arbeit ersparen (weiß ja nicht um wieviele Geräte es sich handelt).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du hast ja auch recht und ich danke für die Bemerkung. Werde mir das für die nächste Fertigungslinie überlegen. Preislich ist das KTP 600 color auch noch im Rahmen und lässt sich sogar noch mit meinem WinCC flex 2008 projektieren.

So, nun hoffe ich trotz allem auf konstruktive Hilfe zu o.g. Problem. Sitze schon seit Stunden und grüble ohne Erfolg.


edit:
Scheinbar benötigt ProTool für die Funktion "Umrechnung Linear 1" keine HIlfsvariable, während dies bei WinCC Flexible zwingend notwendig ist. Kann das sein?
 
Zuletzt bearbeitet:
Scheinbar benötigt ProTool für die Funktion "Umrechnung Linear 1" keine HIlfsvariable, während dies bei WinCC Flexible zwingend notwendig ist. Kann das sein?
Ich habe das ganze gerade mal probiert, also die Migrierung von Protool -> Flex macht das so:
Y = AKT_ABLoffse
a = ABLoffset_FA
X = AKT_ABLoffse
b = 0.0

Sprich "X" wird gelesen und "Y" geschrieben, wobei ich mir nicht wirklich sicher bin, das dieser vermeintlich "falsche" Wert dann nicht auch in die Steuerung geschrieben wird.
Einfach mal probieren ...

Edit:
Interessanterweise steht in der Hilfe, das X und Y NICHT identisch sein dürfen, also ist hier wohl die Migrierung etwas falsch ... und du musst wohl doch eine interne Hilfsvariable verwenden.

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Blub, wie mach ich das mit der internen Hilfsvariable?
Zunächst mal: Glückwunsch, da hast du wohl die auf Flex bezogen dämlichste Variableneinstellung entdeckt.

Ganz einfach:
Variable anlegen
im Reiter "Allgemein" unter "Verbindung" <interne Variable> auswählen
Dem ganzen dann noch einen für dein Befinden sinnvollen Namen verpassen.
Diese nun neue Variable wählst du nun also unter "X" der Funktion "InvertiereLineareSkalierung" entsprechend zu.

Generell ist es aber wohl so, das es KEINE Funktion in Flex gibt, die dieser alten Protool-Funktion exakt entspricht.

Mfg
Manuel
 
Danke für die Tipps, bin leider noch nicht weiter.
Situation ist wie folgt:

Hilfsvariable angelegt (welchen Datentyp nehm ich?) und das EA-Feld entsprechend auf die Anzeige des Wertes dieser Hilfsvariable verändert.
In denEigenschaften dieser Hilfsvariable hab ich dann die Berechnung Lineare Skalierung reingehauen mit folgender Konfiguration:
Y = hilfsvariable
a = ABLoffset_FA
X = AKT_ABL_Offse

Das Ergebnis ist: 0

Habe danach diverse Testfelder hinzugefügt, damit mir das Display auch noch die Werte der o.g. Variablen anzeigt, die wie folgt dargestellt werden:
ABLoffset_FA: 328
AKT_ABL_Offse: 47120
Zur Erinnerung, das OP 7 gibt als Ergebnis aus: 143,80

Habe weiterhin das Programmiergerät an die Steuerung gehängt und in der Statustabelle o.g. Variablen ausgelesen, die im Gleitkommaformat folgendes beinhalten:
ABLoffset_FA: 327.675
AKT_ABL_Offse: 47119.67

Somit passt das Ergebnis rein rechnerisch immerhin schon mal. 47119.67 / 143,80 = 327,65. D.h. der Faktor macht Sinn, die eigentliche Berechnung aber ganz und gar nicht. Ich müsste den Ist-Wert durch den Faktor teilen, damit das Ergebnis stimmt.

WTF ?
 
Anbei die beiden Projekte.

Ich habe nun auch mal die genau andere Funktion dazu verwendet, die meiner Ansicht nach logischer ist ( X = Y/a). Aber auch hier zeigt das Display Null an
 

Anhänge

  • anlage6.zip
    4,3 MB · Aufrufe: 6
In Protool heißt "Umrechnung Linear 1" Y=a*x+b

Bei WinCC Hilfsvariabel hast du "Invertiere Lineare Skalierung" angewählt(da heißt es ja X=(Y-b)/a
du mußt "Lineare Skalierung"anwählen Y=(a*x)+b
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@rheumakay
Nein, muss er nicht, wenn du den Text unterhalb der Funktion "Umrechnung Linear 1" liest.

Allerdings ist oben die Variablenbeschaltung falsch Y= Steuerungsvar, X = Hilfsvar

Mfg
Manuel
 
In Protool heißt "Umrechnung Linear 1" Y=a*x+b

Bei WinCC Hilfsvariabel hast du "Invertiere Lineare Skalierung" angewählt(da heißt es ja X=(Y-b)/a
du mußt "Lineare Skalierung"anwählen Y=(a*x)+b
Das ist in ProTool so eingestellt, richtig. Es funktioniert, aber ich habe keine Ahnung warum. Ich habe in meinem Posting weiter oben die Werte aus der Steuerung hingeschrieben, sowie den Wert, der dargestellt werden soll. Diesen Wert erreiche ich nur, wenn ich AKT_ABLoff (47120) mit ABLoffse_FA (328) dividiere. Und das kriege ich in Wincc flex nur mit der invertiere Funktion hin.

Allerdings.... Manuel schreibt die Variablenzuordnungen in der Formel seien vertauscht. Wenn ich natürlich 328 / 47120 rechne, kommt da Null raus, das leuchtet ein. Werde direkt ma tauschen und testen.
 
Hm??Wie meinst du das?->Anhang
 

Anhänge

  • OP7.pdf
    132,7 KB · Aufrufe: 4
  • WINCC_InvertiereLineareSkalierungHilfe.pdf
    79,2 KB · Aufrufe: 3
  • WINCC_LineareSkalierungHilfe.pdf
    78,6 KB · Aufrufe: 0
Ok jetzt hab ich zumindest nen kleinen Teil begriffen. Die Formelvariablen zwischen ProTool und WinCC differieren, die Berechnung ist jedoch identisch. Die in ProTool verwendete Formel ist analog zur WinCC Formel "Invertiere Lin. Skal.".

Wenn wir mal rein die notwendige Berechnung betrachten ist das einfach:
Ein Messwert der Größe 47120 muss durch einen Faktor 328 geteilt werden, damit er in einer anderen Dimension dem Bediener am Display dargestellt wird (Ergebnis hier: 143,80 mm).
In ProTool hat die verwendete Funktion einfach den Wert aus der Steuerung gezogen, mit der Variablen ABLoffse_FA (Inhalt: 328) dividiert und das Ergebnis an das Display ausgegeben.

In WinCC kann ich das scheinbar nicht auf die gleiche Art nachbauen, sondern muss hier eine passende Funktion mit Hilfsvariable verwenden, an welche das Messergebnis ausgegeben wird.
Dies habe ich über die Funktion X = Y / a generiert. Aber warum auch immer, egal wie ich Y und a zuordne, bleibt das dargestellte Ergebnis auf dem Display = Null ?! Warum nur ?
Ist der Datentyp für die Hilfsvariable falsch?
 
Zuletzt bearbeitet:
Zurück
Oben