TIA Verwendung von Kommentaren der PLC Variablen

uweschwarz

Level-2
Beiträge
334
Reaktionspunkte
21
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, ich arbeite mit TIA V17 und einer Siemens CPU S7-1513. Wir sind mit E-Plan noch nicht soweit, dass wir die E/A-Belegung einfach einlesen können, daher lege ich die PLC-Variablen mehr oder weniger per Hand Hand fest und trage auch die entsprechenden Texte in die Kommentarspalte ein. Diese Texte möchte ich eigentlich an mehreren anderen Stellen im Programm ebenfalls verwenden. Zum Beispiel in der Deklaration statischer Variablen im FB, als Tooltip und/oder Symboltext in der Visu, bei den Melde- und Alarmtexten, in den Netzwerküberschriften, etc.
Wie kann ich mit möglichst wenig Aufwand sicher stellen, dass die Texte überall gleich sind und sich leicht anpassen/ändern lassen (möglichst nur an einer Stelle).

Konkretes Beispiel:
Analoger Eingangswert PI1059 "Eingangsdruck Erdgas". Der Wert wird mittels FB eingelesen und in einem Datenbaustein abgelegt. Zu diesem Datenbaustein gehören auch die String-Variablen <Name> und <Kommentar>. In diesem Beispiel also Name:= "PI1059" und Kommentar:= "Eingangsdruck Erdgas".
Ich möchte die Texte nicht händisch eintragen, einmal weil das relativ aufwändig ist und außerdem sehr fehleranfällig ist.
Kann ich den Variablenkommentar irgendwie auslesen und in den Datenbaustein eintragen?

Vielen Dank schon mal im voraus!
 
Das Thema würd mich auch interessieren. Arbeite gerade mit der Library for basic processes und da wäre das auch sehr hilfreich, da man dort auch Kommentare in den Aufrufen der FB´s hinterlegen muss.
 
Im TIA geht das schon gut mit Str+C Strg+V
Einer der sehr wenigen Vorteile vom TIA gegenüber Classik.
Man sollte halt alles sinnvoll sortieren und Strukturieren. In den Structs gibts hierarchische Kommentare, bei Arrays kann man mittlerweile auch jedem Element einen eigenen Kommentar geben.
Ich bau Anlagen mit teilweise 1000 Feldgeräten und komm damit aus...
Man kann sich natürlich alle möglichen Automatismen ausdenken, die nach 1 Jahr niemand mehr versteht. Bevor die ausgedacht sind, bin ich mit Strg+C Strg+V schon längst fertig 😉
 
Ich hatte in der Tat etwas mehr Automatisierung als copy+paste im Sinn :)
@Salli1991
Arbeite gerade mit der Library for basic processes
Damit versuche ich mich auch gerade und verzweifle gerade daran im Demoprojekt einen zusätzlichen Analogwert auf einem neuen Bild anzuzeigen. Wenn ich den Analogwert im FB für Demo1 hinzufüge funzt es, aber wenn ich einen neuen FB mit einer neuen Instanz anlege und dann darauf zugreife funzt es nicht mehr. Ich habe noch nicht richtig verstanden wie der Variablenname in der Visu an die FP's übergeben wird. Ich beschreibe die Variable LBP_identName mit dem neuen IdentName z.B. PI1059 und dann wird dieser Name irgendwie an die FP's übergeben aber wie?
 
Die Library arbeitet schon ganz gut mit SiVarc. Dafür gibts aber in der Dokumentation von Siemens einen echt guten Walkthrough :) Im Endeffekt musst du einfach nur die ganzen Vorlagen und Regeln kopieren und anschließend generiert der aus allen aufgerufenen Instanzen der Funktionsbausteine die passenden Bildobjekte und fügt direkt die Variablen hinzu. Das ganze kann man, wenn man möchte, soweit treiben, dass du dir via Zusatzbedingungen und eigens vorgefertigten Templates die gesamte Visualisierung zusammen generierst.
Was mir oft passiert ist beim ausprobieren mit SiVarc ist, dass ich folgende Häkchen sehr häufig vergessen habe^^...
1658323944751.png
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Optimalerweise sollte der Kommentar zur Variable an folgender Stelle stehen ->
1658324648578.png
Das ganze per Strg+c zu machen ist natürlich eine Option^^ Sollte es eine programmiertechnische Lösung geben,
würde ich die aber dennoch vorziehen^^
 
Danke für die schnelle Antwort. Das SiVarc hatte ich nicht auf dem Schirm ... dachte es geht schon irgendwie ohne ... Ich schaue mir das gleich mal an. Klingt so, als ob sich die Visu quasi "selbst generiert". Wir sind noch in der Aufbauphase einer Engineering Abteilung und haben noch keine Firmenstandards. Da dachte ich, auf dieser Bibliothek lässt sich ganz gut aufbauen. Das hätte aus meiner Sicht viele Vorteile (Einheitlichkeit, Dokumentation vorhanden, Weiterentwicklung durch Siemens, etc.)
Momentan ist es allerdings so, dass mein Chef entschieden hat, die Visualisierung für das erste Siemens-Projekt mit Labview auf dem integrierten OPC-UA Server aufsetzend zu realisieren. Wir haben zwar zwei TP900 im Projekt, die sollen aber nur rudimentär EIN, AUS, Störung anzeigen. Im Moment macht es also keinen Sinn 4000 € für SiVar auszugeben. Beim nächsten Projekt könnte das schon anders aussehen. Am liebsten würde ich die Bibliothek erstmal ohne SiVarc nutzen und das später dazu kaufen. Geht das?
 
Hallo Uwe,

vielleicht ist "Generieren" das passende Stichwort für dich? Sehr viele Routinen kann man aus den Adressen und der Symbolik ableiten. Viele Programmierer haben da so ihre Rezepturen. Generieren ist aber nicht gleich Generieren. Manche gewinnen aus Eplan das komplett ausprogrammierte Programm. Das ist dann aber oftmals auf ganz spezielle Anlagentypen zugeschnitten. Hier kenne ich z.Bsp. eine durchaus empfehlenswerte Firma aus dem Bereich Schwimmbadtechnik. Allerdings ist denen ihr Stil so festgefahren, dass sie noch heute auf den Classic-Steuerungen hoffnungslos fest sitzen. Andere generieren nur das Skelett des Programms, um sich Tipparbeit zu sparen, und sind damit flexibel. Ein gängiges Hilfsmittel ist Excel inclusive VBA.

Die beiden rudimentären TP900 könntest du gegen mein rudimentäres Excel-Tabellchen eintauschen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Onkel Dagobert, ja, mit generieren würde es bestimmt gehen. Ich habe schon vor 15 Jahren mit Excel und AWL-Quellen herumgespielt. Ich fand das letztendlich recht kompliziert und unpraktikabel. Wenn man sich eine Weile nicht damit beschäftigt hatte, war es sehr mühsam sich wieder einzuarbeiten. Ich weiß, dass das heutzutage wohl besser ist (Grollmus hat wohl ein eigenes Tool dazu entwickelt). Für so kleine Projekt (300-400 IO), wie wir sie haben, lohnt sich das meiner Meinung nach nicht. Ich dachte es wäre möglich den Kommentar in der Variablentabelle dynamisch zu verwenden.
 
Hi, ich kann deinen Wunsch voll und ganz nachvollziehen. Es gibt eine System Funktion, mit der du zur Laufzeit den symbol Namen abfragen kannst. Um ihn dann in einem db abzulegen.
Mehr kenne ich leider auch nicht. Außer generieren, was aber denn hier viel zitierten Nachteil bei späteren Änderungen hat.
 
Danke für die schnelle Antwort. Das SiVarc hatte ich nicht auf dem Schirm ... dachte es geht schon irgendwie ohne ... Ich schaue mir das gleich mal an. Klingt so, als ob sich die Visu quasi "selbst generiert". Wir sind noch in der Aufbauphase einer Engineering Abteilung und haben noch keine Firmenstandards. Da dachte ich, auf dieser Bibliothek lässt sich ganz gut aufbauen. Das hätte aus meiner Sicht viele Vorteile (Einheitlichkeit, Dokumentation vorhanden, Weiterentwicklung durch Siemens, etc.)
Momentan ist es allerdings so, dass mein Chef entschieden hat, die Visualisierung für das erste Siemens-Projekt mit Labview auf dem integrierten OPC-UA Server aufsetzend zu realisieren. Wir haben zwar zwei TP900 im Projekt, die sollen aber nur rudimentär EIN, AUS, Störung anzeigen. Im Moment macht es also keinen Sinn 4000 € für SiVar auszugeben. Beim nächsten Projekt könnte das schon anders aussehen. Am liebsten würde ich die Bibliothek erstmal ohne SiVarc nutzen und das später dazu kaufen. Geht das?
Dafür braucht man nicht unbedingt SiVarc. SiVarc nimmt dir nur eine Menge Arbeit ab wenn man es richtig verwendet. Du kannst natürlich auch selbstständig die passenden Objekte und Variablen in der Visualisierung verwenden und diese mit der PLC verbinden. Dann hast du immer noch den Vorteil von den vorgefertigten Templates.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das habe ich mir auch gedacht. Allerdings scheitere ich gerade an der Variablenübergabe an die LBP_Bilder. Ich habe verstanden, dass ich den LBP_identName ändern kann/muss. Was ich nicht verstehe ist, wie z.B. das Bild LBP_AnaRead_Settings1 die Variable übernimmt. Ich finde LBP_identName nicht in der Schnittstelle. Woher "weiß" LBP_AnaRead_Settings1, dass es die Daten der Variable AnaReadL10 und nicht z.B. AnaReadL20 anzeigen soll. Irgendwo müsste doch der Wert von LBP_identName ausgelesen und verarbeitet werden? Aber wo?
Wenn ich dem Demoprojekt im FB Demo1 einfach eine weitere analoge Messstelle hinzufüge, dann funktioniert das alles wunderbar. Die Schnittstelle wird aktualisiert und im Instanz-DB erscheint die neue Messstelle. Nach erstellen des Symbols ändere ich den identName und alles funktioniert wie es soll.
Wenn ich aber auf eine Variable, die nicht im Instanz-DB von Demo1 sondern in einem anderen Instanz-DB vorhanden ist, verweise, dann funktioniert es nicht. Ich bin verzweifelt ...
1658425657686.png
 
Zuletzt bearbeitet:
Das habe ich mir auch gedacht. Allerdings scheitere ich gerade an der Variablenübergabe an die LBP_Bilder. Ich habe verstanden, dass ich den LBP_identName ändern kann/muss. Was ich nicht verstehe ist, wie z.B. das Bild LBP_AnaRead_Settings1 die Variable übernimmt. Ich finde LBP_identName nicht in der Schnittstelle. Woher "weiß" LBP_AnaRead_Settings1, dass es die Daten der Variable AnaReadL10 und nicht z.B. AnaReadL20 anzeigen soll. Irgendwo müsste doch der Wert von LBP_identName ausgelesen und verarbeitet werden? Aber wo?
Ich habs nach etwas rumprobiererei bei mir hinbekommen. Was mich allerdings etwas verwundert ist, dass wir wohl unterschiedliche Bibliotheken verwenden, weil ich die von dir gezeigten Variablen so nicht setzen muss, und weil mir das Bild LBP_AnaRead_Settings1 fehlt. Folgende Einstellungen waren nötig, um eine Kopie von den Demoobjekten zum laufen zu bekommen.
1658478908068.png1658482861409.png

Einstellungen in der Visu ->
1658482904502.png

1658482922311.png

1658483013669.png
 
Zuletzt bearbeitet:
Entschuldige die späte Rückmeldung, es ging leider nicht früher und herzlichen Dank, dass du es bei dir nochmal nachvollzogen hast. Es scheint sich wirklich um ein anderes Demoprojekt zu handeln. Ich habe mein Demoprojekt 1658730613240.png von dieser Seite geladen.
Mein LBP_AnaRead_Startscreen sieht auch anders aus. Nämlich so:
1658732012667.png

Ich denke, dass liegt daran, dass wir unterschiedliche Lizenzen von WinCC nutzen. Ich habe hier nur eine WinCC Advanced V17 und nutze die Screens aus dem (Bibliotheks)Ordner WinCC Comfort. Ich vermute deine Screens liegen im Ordner WinCC Professional?

Die Übergabe des Variablenprefix erklärt natürlich alles. Allerdings finde ich ein solches Ereignis in meiner Bibliothek nicht ...
Ich werde nochmal mit einem Kollegen drauf schauen. Falls wir nichts finden, muss ich halt versuchen den Siemens Support zu bemühen. Ich bin gespannt ...
 
Einverstanden. Dennoch müsste an irgendeiner Stelle ein Variablenprefix oder ähnliches übergeben werden, denn sonst könnte ich nicht mit ein und demselben Template unterschiedliche Daten anzeigen, oder?
 
Ich habe es tatsächlich gefunden. Hurra! Es lag daran, dass aus irgendeinem Grunde das beim reinziehen des Symbols der Symbolname LBP_SymAnaRead mit "_1" automatisch ergänzt wird. Nachdem ich das gelöscht hatte, hat es funktioniert.
 
Zurück
Oben