WinCC - spezielle Fragestellungen

Ralle

Super-Moderator , User des Jahres 2006-2007
Teammitglied
Beiträge
15.414
Reaktionspunkte
4.043
Zuviel Werbung?
-> Hier kostenlos registrieren
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.
 
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....:confused:
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
Zuletzt bearbeitet:
...

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:rolleyes:
 
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:!
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
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 :ROFLMAO:!

Ich erinnere mal, wir sind bei V6.2 und nicht 0.8 oder so.
 
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 :ROFLMAO:!

Ich erinnere mal, wir sind bei V6.2 und nicht 0.8 oder so.
Das mache ich alles in Excel:rolleyes:
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:confused:
 
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:confused:

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 :ROFLMAO:.

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 ;)!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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 :ROFLMAO:!

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!
 
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
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
...
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.
 
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.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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.
 
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....:confused:
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>
 
Zuletzt bearbeitet:
@Ralle
Verarbeitest du die Strings noch in irgendwelchen Scripts und wenn ja wie.
Da kann es Probleme geben, wenn man Pointer falsch verwendet:(
 
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 :ROFLMAO:), 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.
 
Zurück
Oben