# WinCC - spezielle Fragestellungen



## Ralle (3 Januar 2008)

Ich mach mal nen Thread auf, mit Fragen die sich so nach und nach beim Rumwerkeln mit WinCC ergeben. Nicht alles auf einmal, immer so Stück für Stück.

1. Wie lang darf ein, in der SPS definierter, String maximal sein, um in einem E/A-Feld von WinCC6.2 angezeigt zu werden, wie lange braucht man, um das rauszufinden buw. bis man geshnallt hat was da klemmt und wo sind Informationen dazu? Warum ist Byte 1 immer 0, in Byte 2 steht korrekt die tatsächliche Länge? Ist das Siemens-Kompatibilität? Wieso wird die Variablenqualität anderer SPS-Variablen ständig Bad, wenn ein String im E/A-Feld zu schnell aktualisiert wird? Und das bei gerade mal 20 Word-Var und einem langen String auf einem eigenen unbelastetem Server.


----------



## OHGN (4 Januar 2008)

Ralle schrieb:


> 1. Wie lang darf ein, in der SPS definierter, String maximal sein, um in einem E/A-Feld von WinCC6.2 angezeigt zu werden, wie lange braucht man, um das rauszufinden buw. bis man geshnallt hat was da klemmt und wo sind Informationen dazu?
> ........


Ich kann da zwar nicht so genau mitreden, weil die Win_CC-Projekte bei uns im Hause von einem anderen Kollegen programmiert werden, aber 254 Bytes Länge (wie man eigentlich vermuten würde) sind es nicht.
200 Bytes geht, die Grenze liegt wohl irgendwo dazwischen....


----------



## Flinn (4 Januar 2008)

Es könnte sein, dass die max. Stringlänge der PDU-Größe entspricht. Das wären dann bei einer 300er Steuerung 212 Bytes (gleich der max. Rohdatenlänge bei WinCC <=> S7-300). Gucke ich aber nächste Woche mal im Büro nach. 

Bezüglich Aktualisierung der Variablen: Triggerst du auf die Variablenänderung? Auf jeden zu empfehlen! Ich würde einen Anwenderzyklus nehmen und den auf 1 sec stellen. So ließen sich alle Dynamiserungen nachträglich noch schneller/langsamer machen.

Flinn


----------



## marlob (4 Januar 2008)

Flinn schrieb:


> ...
> 
> Bezüglich Aktualisierung der Variablen: Triggerst du auf die Variablenänderung? Auf jeden zu empfehlen! Ich würde einen Anwenderzyklus nehmen und den auf 1 sec stellen. So ließen sich alle Dynamiserungen nachträglich noch schneller/langsamer machen.
> 
> Flinn


Mach ich auch so, ich habe grundsätzlich immer 3 Anwenderzyklen (fast, middle, slow) womit ich die Variablen trigger. Dann kann man später schnell was mal ändern


----------



## Ralle (4 Januar 2008)

Ja, ich Triggere auf Änderung, aber im E/A-Fels gibt man ja auch noch mal einen Aktualisierungszyklus an, wenn man die Variable einträgt. Mit den Triggern bin ich inzwischen auch etwas konservativer, ich dachte, zum Test mit wenigen Variablen geh ich mit 250ms ran, aber das scheint nicht so gut zu sein.

Bei einer 300-er gehen tatsächlich 208 Byte, bei einer 400-er 448 Byte. Die Frage ist, wenn ich einen String als Variable definiere, warum ist WinCC dann zu dämlich, das aufzuteilen und im System als einen String zu präsentieren? Das hätte ich von so einer nicht gerade preiswerten Software zumindest erwartet. Oder doch wenigstens eine Fehlermeldung, wenn man eine Variable zu lang definiert :twisted:!


----------



## Ralle (4 Januar 2008)

*Alarmloging-Editor*

1. Warum kann man das Scrollrad nicht benutzen?
2. Warum kann man nicht mehrerere Zellen selektieren.
3. Wenn man einen Text ändert, kann man sich ja fragen lassen, ob das für alle identischen Texte oder nur für den selektierten Text gilt. Das hatte ich heute so abgeschossen, daß er mir immer wieder mal alle Texte mit Leerzeichen, mit dem aktuellen einzufügenden Text überschmiert hat (so 500 Stück). Die Umstellung wirkte immer erst ein " Einfügen" später. Ein echtes Profitool !

Ich erinnere mal, wir sind bei V6.2 und nicht 0.8 oder so.


----------



## marlob (4 Januar 2008)

Ralle schrieb:


> 1. Warum kann man das Scrollrad nicht benutzen?
> 2. Warum kann man nicht mehrerere Zellen selektieren.
> 3. Wenn man einen Text ändert, kann man sich ja fragen lassen, ob das für alle identischen Texte oder nur für den selektierten Text gilt. Das hatte ich heute so abgeschossen, daß er mir immer wieder mal alle Texte mit Leerzeichen, mit dem aktuellen einzufügenden Text überschmiert hat (so 500 Stück). Die Umstellung wirkte immer erst ein " Einfügen" später. Ein echtes Profitool !
> 
> Ich erinnere mal, wir sind bei V6.2 und nicht 0.8 oder so.


Das mache ich alles in Excel
Klappt wunderbar, alle Alarme eintragen und automatisch nach WinCC schreiben. Das ermöglicht mir dann auch ein automatisches Codegenerieren.
Warum das allerdings in WinCC nicht geht, wird wohl ein Geheimnis von siemens bleiben


----------



## Ralle (4 Januar 2008)

marlob schrieb:


> Das mache ich alles in Excel
> Klappt wunderbar, alle Alarme eintragen und automatisch nach WinCC schreiben. Das ermöglicht mir dann auch ein automatisches Codegenerieren.
> Warum das allerdings in WinCC nicht geht, wird wohl ein Geheimnis von siemens bleiben



Das mit Excel mach ich auch, aber wir haben WinCC auf einem Server in einem eigenen Netz laufen und Excel auf meinem Laptop. Wir konfigurieren gerade das VPN um, so daß hinterher, evtl. alles geht und ich das Projekt mit meinem WinCC auf dem Server öffnen kann. Na mal sehen . Nachdem die ersten Änderungen mit Excel probiert hatte, hab ich übrigens ewig nach dem Eintrag für "Schreiben" im WinCC-Menü von Excel gesucht. Muß man erstmal drauf kommen, daß das nur als Icon in der Iconleiste, die man aber erst einblenden muß, zu finden ist, oi,oi,oi, da hattest du einen toben sehen können .

PS1: Wenn man die Excel-Mappe mit dem WinCC-Projekt verbunden hat darf man aber im WinCC keine geichzeitige Änderung vornehmen, oder? 

PS2: Derjenige, der den Excel-Aufsatz programmiert hat, wußte sicher warum !


----------



## HeizDuese (5 Januar 2008)

Ralle schrieb:


> 1. Warum kann man das Scrollrad nicht benutzen?
> 2. Warum kann man nicht mehrerere Zellen selektieren.
> 3. Wenn man einen Text ändert, kann man sich ja fragen lassen, ob das für alle identischen Texte oder nur für den selektierten Text gilt. Das hatte ich heute so abgeschossen, daß er mir immer wieder mal alle Texte mit Leerzeichen, mit dem aktuellen einzufügenden Text überschmiert hat (so 500 Stück). Die Umstellung wirkte immer erst ein " Einfügen" später. Ein echtes Profitool !
> 
> Ich erinnere mal, wir sind bei V6.2 und nicht 0.8 oder so.



1. + 2. + 3.  Es ist von Siemens und der letzte Schrott - der Editor für Meldungen ist Müll - absolut unpraktikabel und gehört seit Ewigkeiten überholt!


----------



## Approx (7 Januar 2008)

Ralle schrieb:


> Ja, ich Triggere auf Änderung, aber im E/A-Fels gibt man ja auch noch mal einen Aktualisierungszyklus an, wenn man die Variable einträgt. Mit den Triggern bin ich inzwischen auch etwas konservativer, ich dachte, zum Test mit wenigen Variablen geh ich mit 250ms ran, aber das scheint nicht so gut zu sein.


 
Hallo Ralle. Ich habe erst Ende 2007 offiziell auf dem WinCC V6.2-Workshop erfahren, das die Einstellung "Triggerung bei Änderung" einem Triggerungszyklus von *1 Sekunde* entspricht. Da hat der Saal aber kollektiv gestaunt.  

Ich stelle nie unter 1 s als Triggerzyklus ein, weil ich die Erfahrung gemacht habe, das es eh nix bringt...
Die Sache mit dem "nicht-scrollen-können" im AlarmLogging finde ich auch schlecht. Auch das man im Editor keine Selektionen/Sortierungen machen kann wie z.B. in Excel. Wenn ich umfangreiche Textänderungen in den Meldungen machen muss, dann mache ich das auch über den Meldungs-Export in Excel. Aber bei zwei, drei Meldungen ärgere ich mich immer rum... Wir haben nen Projekt mit ca. 20.000 Meldungen, hihi.

Gruß Aprox


----------



## mst (7 Januar 2008)

Approx schrieb:


> Ich stelle nie unter 1 s als Triggerzyklus ein, weil ich die Erfahrung gemacht habe, das es eh nix bringt...


 
100%ACK - WinCCFlex -- S7300

mfg mst


----------



## Zottel (11 Januar 2008)

Ralle schrieb:


> ...
> Wieso wird die Variablenqualität anderer SPS-Variablen ständig Bad, wenn ein String im E/A-Feld zu schnell aktualisiert wird? Und das bei gerade mal 20 Word-Var und einem langen String auf einem eigenen unbelastetem Server.


Wieso willst du auch unbedingt Strings über die Verbindung zur SPS quälen? Die gibt nun mal nur 240 byte pro Anfrage/Antwort her (bei 3xx). Wo kommen deine Strings her? Es macht sicher keinen Sinn, einen Text wie "Motorschutzschalter F4 ausgeloest" in der SPS zu hinterlegen und dann an WinCC zu senden. Besser eine möglichst kurz codierte Fehlernummer.
Stammen die Strings aber von einem externen Gerät, z.B. Barcodeleser, dann haben sie eine feste Länge. Übertrage lieber die informativen Speicherstellen als Worte.


----------



## marlob (11 Januar 2008)

Zottel schrieb:


> Wieso willst du auch unbedingt Strings über die Verbindung zur SPS quälen? Die gibt nun mal nur 240 byte pro Anfrage/Antwort her (bei 3xx). Wo kommen deine Strings her? Es macht sicher keinen Sinn, einen Text wie "Motorschutzschalter F4 ausgeloest" in der SPS zu hinterlegen und dann an WinCC zu senden. Besser eine möglichst kurz codierte Fehlernummer.
> Stammen die Strings aber von einem externen Gerät, z.B. Barcodeleser, dann haben sie eine feste Länge. Übertrage lieber die informativen Speicherstellen als Worte.


100% ACK
So seh ich das auch. Die meisten Probleme hat man doch meist, weil man das Problem verkehrt anpackt und dannn ist es wieder ein Sch....-Programm weil man selber nicht weiss wie es richtig geht.


----------



## OHGN (11 Januar 2008)

Zottel schrieb:


> Wieso willst du auch unbedingt Strings über die Verbindung zur SPS quälen? .....


Z.B. wenn man Texte, die von der SPS zu Großtextanzeigen gesendet werden, über die VISU editierbar gestalten möchte kommt man darum nicht herum.


----------



## Ralle (11 Januar 2008)

Zottel schrieb:


> Wieso willst du auch unbedingt Strings über die Verbindung zur SPS quälen? Die gibt nun mal nur 240 byte pro Anfrage/Antwort her (bei 3xx). Wo kommen deine Strings her? Es macht sicher keinen Sinn, einen Text wie "Motorschutzschalter F4 ausgeloest" in der SPS zu hinterlegen und dann an WinCC zu senden. Besser eine möglichst kurz codierte Fehlernummer.
> Stammen die Strings aber von einem externen Gerät, z.B. Barcodeleser, dann haben sie eine feste Länge. Übertrage lieber die informativen Speicherstellen als Worte.



Ja, das ist natürlich klar, das gleiche Problem betrifft ja aber auch die Rohdaten. String brauch ich, da ein Auftragsfile im Klartext auf ein Identsystem an einem Werkstückträger geschrieben werden muß. Das Identsystem wird über Profibus von der SPS angesteuert, die gelesenen Daten will ich wenigstens im WinCC an der Station anzeigen.  Da als Vorgabe nun mal ein String drauf ist, nehme ich dafür halt gleich das Format, Rohdaten hätten es auch getan, die nehme ich für die anderen Daten her.


----------



## marlob (11 Januar 2008)

OHGN schrieb:


> Ich kann da zwar nicht so genau mitreden, weil die Win_CC-Projekte bei uns im Hause von einem anderen Kollegen programmiert werden, aber 254 Bytes Länge (wie man eigentlich vermuten würde) sind es nicht.
> 200 Bytes geht, die Grenze liegt wohl irgendwo dazwischen....


Aus der Siemens FAQ


> Zeichenketten vom Datentyp "STRING" bestehen aus bis zu 254 Zeichen (Nettodaten).
> Im erste Byte jeder Stringvariablen wird die maximale Länge der Variablen festgelegt. Im zweiten Byte steht die aktuelle Länge. Danach folgen die Textstringzeichen im ASCII-Format.



<EDIT>Wie weiter unten von OHGN angemerkt, fehlen hier noch ein paar Infos. Die muss ich aber selber erst noch herausfinden</EDIT>


----------



## marlob (11 Januar 2008)

@Ralle
Verarbeitest du die Strings noch in irgendwelchen Scripts und wenn ja wie.
Da kann es Probleme geben, wenn man Pointer falsch verwendet


----------



## OHGN (11 Januar 2008)

@marlob: Ja und... ?

Versteh jetzt nicht was Du damit sagen willst


----------



## Ralle (11 Januar 2008)

marlob schrieb:


> 100% ACK
> So seh ich das auch. Die meisten Probleme hat man doch meist, weil man das Problem verkehrt anpackt und dannn ist es wieder ein Sch....-Programm weil man selber nicht weiss wie es richtig geht.



Tut mit Leid marlob, auch wenn ich inzwischen ein klein wenig mehr über die Eigenheiten von WinCC weiß, es wird dadurch auch nicht besser. Die Bedienbarkeit der Entwicklungsumgebung von WinCC ist einfach grottenschlecht, weit hinter dem heutigen Entwicklungsstand hinterher. Das gleiche trifft für die rudimentäre, nicht kontextsensitive, einfach nur lächerlich zu nennende Onlinehilfe zu. Kann ja sein, daß andere Visu-Systeme auch nicht besser sind (hört man ja immer wieder ), aber wenn das der Maßstab ist, den Siemens sich setzt, na dann danke. Ich programmiere seit Jahren mit Borland Delphi, wahrscheinlich bin ich ja verwöhnt, aber das wäre schon eher ein Maßstab.


----------



## marlob (11 Januar 2008)

OHGN schrieb:


> Ja und... ?
> 
> Versteh jetzt nicht was Du damit sagen willst


Auf welchen Beitrag hast du genau geantwortet


----------



## Ralle (11 Januar 2008)

marlob schrieb:


> @Ralle
> Verarbeitest du die Strings noch in irgendwelchen Scripts und wenn ja wie.
> Da kann es Probleme geben, wenn man Pointer falsch verwendet



Ds kommt später noch dazu, dafür hab ich aber einen Programmierer zur Unterstützung, der das sicher hinbekommen wird. (Hurra) Die Strings in WinCC dürfen nur 208 Byte lang sein, das steht auch irgendwo vergraben, aber nicht unter String in der Onlinehilfe, die Limitierung ist ja nicht von WinCC ansich abhängig, sondern von der SPS bzw. der Kommunikation. Aber alleine daran sieht man, was WinCC taugt. Das kann mir doch wurscht sein oder, warum werden die Daten dann nicht automatisch in 2 Portionen geholt? Davon muß ich doch gar nichts merken.


----------



## marlob (11 Januar 2008)

Ralle schrieb:


> Tut mit Leid marlob, auch wenn ich inzwischen ein klein wenig mehr über die Eigenheiten von WinCC weiß, es wird dadurch auch nicht besser. Die Bedienbarkeit der Entwicklungsumgebung von WinCC ist einfach grottenschlecht, weit hinter dem heutigen Entwicklungsstand hinterher. Das gleiche trifft für die rudimentäre, nicht kontextsensitive, einfach nur lächerlich zu nennende Onlinehilfe zu. Kann ja sein, daß andere Visu-Systeme auch nicht besser sind (hört man ja immer wieder ), aber wenn das der Maßstab ist, den Siemens sich setzt, na dann danke. Ich programmiere seit Jahren mit Borland Delphi, wahrscheinlich bin ich ja verwöhnt, aber das wäre schon eher ein Maßstab.


Das WinCC nicht das NonPlusUltra ist, da gebe ich dir recht, aber es ist alles andere als Grottenschlecht. Ich kenne noch iFix, Citect, Intouch, ClearScada und Factorylink. Und da gehört WinCC noch zu den besseren Programmen.
Sagen wir mal WinCC ist in der Spitzengruppe der Mittelmässigen. Andere Scada-Systeme  kenne ich nicht. Vielleicht ist RS-View ja noch etwas, was besser ist.


----------



## OHGN (11 Januar 2008)

marlob schrieb:


> Auf welchen Beitrag hast du genau geantwortet


Auf den wo Du aus der Siemend-FAQ zitierst, die den Aufbau einer String-Variablen beschreibt.
Darauf bezog sich eben auch mein erster Beitrag, dass Strings mit 254 Byte Nettodaten in Win-CC nicht funktionieren.


Ralle schrieb:


> ....Bei einer 300-er gehen tatsächlich 208 Byte, bei einer 400-er 448 Byte. Die Frage ist, wenn ich einen String als Variable definiere, warum ist WinCC dann zu dämlich, das aufzuteilen und im System als einen String zu präsentieren? Das hätte ich von so einer nicht gerade preiswerten Software zumindest erwartet. Oder doch wenigstens eine Fehlermeldung, wenn man eine Variable zu lang definiert :twisted:!


----------



## Ralle (11 Januar 2008)

marlob schrieb:


> Das WinCC nicht das NonPlusUltra ist, da gebe ich dir recht, aber es ist alles andere als Grottenschlecht. Ich kenne noch iFix, Citect, Intouch, ClearScada und Factorylink. Und da gehört WinCC noch zu den besseren Programmen.
> Sagen wir mal WinCC ist in der Spitzengruppe der Mittelmässigen. Andere Scada-Systeme  kenne ich nicht. Vielleicht ist RS-View ja noch etwas, was besser ist.



100% Ack 

Ich fand InTouch noch ganz gut (vor 10 Jahren), sollte das stehengeblieben oder gar schlechter geworden sein, wär das aber schade .


----------



## marlob (11 Januar 2008)

OHGN schrieb:


> Auf den wo Du aus der Siemend-FAQ zitierst, die den Aufbau einer String-Variablen beschreibt.
> Darauf bezog sich eben auch mein erster Beitrag, dass Strings mit 254 Byte Nettodaten in Win-CC nicht funktionieren.


Mein Beitrag dazu scheint da nicht ganz zu stimmen. Es gibt eine Siemens-FAQ
 Textstrings bearbeiten und ein- bzw. ausgeben in STEP 7 und WinCC
wo ich das unkontrolliert rauskopiert habe. Das scheint aber nur für S7 zu gelten

@Ralle
wo hast du die Infos genau her. die mit den 208 Bytes. Ich finde in der WinCC Hilfe nur was von 208 im Zusammenhang mit Rohdaten.


----------



## Ralle (22 Januar 2008)

Siemens ist aber auch wirklich lustig. Es gibt ja die allseits bekannten Standardbilder zur Profibusdiagnose. Das für ProTool, WinCCFlex und WINCC. Find ich wirklich prima, spart eine Menge Arbeit. Nicht so schön ist, das die Diagnosebilder für WinCC sage und schreibe so um die 124 Powertags verballern. Mein lieber Mann, die machen sich aber auch gar keinen Kopp, bzw. sind clevere Verkäuferchen !


----------



## marlob (22 Januar 2008)

Ich glaube das hier eher das gilt


Ralle schrieb:


> ....bzw. sind clevere Verkäuferchen !


die lassen sich schliesslich alles extra bezahlen


----------

