Sonstiges Digital IN simple Darstellung in PCS7

Detto

Level-2
Beiträge
197
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe folgendes Problem oder Aufgabe.

Unser System PCS7 V8.2 mit CPU 410-5h

Ich möchte einen Druckschalter sehr simpel darstellen:
Natürlich mit AKZ (tag)
Zustand 0 = kein Druck = roter Punkt
Zustand 1 = Druck vorhanden = grüner Punkt

Ich habe die Messstelle ganz „normal“ mit Eingangstreiber und MonDiS sowie B&B Nr.2 angelegt und das funktioniert auch soweit. Ich brauche das Signal selbstverständlich auch noch als Freigabe usw.
Jedoch ist die Überlegung jetzt, dieses viel simpler darzustellen.
Mein Ansatz war ein eigenes Anwenderobjekt zu erstellen. Kann man dann ja auch öfters im Projekt verwenden.

Ich habe also ein Anwenderobjekt (AWO) via mir vorliegender Doku erstellt, inkl. tagname usw.
Soweit habe ich das auch verstanden.
Dann habe ich eine Zustandsanzeige in das AWO eingefügt mit Zustand 0 = rot und Zustand 1 = grün.
Dazu habe ich zwei vorgeschlagene Bilder ausgewählt.

Dann habe ich das AWO im Plan „@PCS7TypicalsTM1.pdl“ gespeichert.
Nach meinem Verständnis, müsste das ja jetzt PCS7 konform erstellt sein und auch beim Baustein aktualisieren mit aktualisiert werden, da ja der Dateiname ein Vorlagenbild definiert und es vor der APLV8 aufgerufen wird.

Jetzt meine Fragen:
Im CFC vom Druckschalter kann ich im MonDiS Baustein unter „Bedienen und Beobachten“ zwar Bausteinsymbol erzeugen und die passende Variante anwählen, aber nicht meinen eigenen Anwenderbaustein. Wie verknüpfe ich die Messstelle mit dem AWO.

Woher weiß mein Anwenderobjekt, welche Variable ihm zugewiesen ist?

Oder eben platt ausgedrückt, wie verbinde ich Variabel (Messstelle) mit dem Anwenderobjekt und habe ich beim AWO soweit erst einmal alles richtiggemacht?

Oder gibt es einen besseren Weg?

Danke für die Unterstützung

Detto
 

Anhänge

  • RG-Signal.JPG
    RG-Signal.JPG
    83 KB · Aufrufe: 33
Wie bekommst du denn die Variablen für dein neues Objekt ins WinCC?

Du könntest ja in der AS weiterhin den MonDiS verwenden, und erstellst in der OS eine neue Bausteinvariante mit z.B. Nr. 10 die so aussieht wie du sie haben möchtest. Dann kannst du in der AS diese Variante einstellen und sie wird automatisch generiert.

Oder du erstellst einen eigenen FB mit den entsprechenden Parametern und Attributen, und dazu in der OS ein eigenes Anwenderobjekt in den @ Plänen das dann automatisch eingefügt wird.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bohh, wo willst Du denn da anfangen und aufhören mit den PCS7-konform erstellten Bausteinen. Das ist ziemlich aufwändig und fehleranfällig und spätestens beim nächsten PCS7-Upgrade machts Ärger...

Grundsätzlich würd ich das Druckschaltersymbol undynamisiert darstellen und daneben das MonDis-Symbol platzieren... Falls es unbedingt dynamisiert sein muss, würd ich nicht die Variablen vom MonDis nehmen. Da würd ich im CFC auf nen Global-DB verschalten und in der Visu ohne Anwenderobjekt händisch verschalten. Oder im CFC nen einfachen FB erstellen der bedien/beobachtbar ist und nur Variablen ins WinCC rangiert...

Gruß.
 
Ich mache das zwar auch meistens so wie du, also ich verwende meistens den MonDi8 und hole mir bei Bedarf die Signale dort heraus und stelle diese noch mal separat dar.

Aber das Erstellen eines eigenen FBs mit OS Faceplate ist für so eine Anwendung in 10 Minuten fertig. Einen FB erstellen mit einem Eingang typ Bool, für Komfort evtl. noch zwei weitere DWORDs Color0 und Color1 damit du die Farben bei Bedarf im SPS-Programm festlegen kannst. In der OS ein einfaches APL Faceplate suchen, auflösen und alles nutzlose raus. Zwei Kreise reinpacken, Bearbeitung beenden. Dann Attribute aufräumen und die relevanten unter System so belassen, die Links mit Signal, Color0 und Color1 beschalten. Die Hintergrundfarben der beiden Kreise mit den beiden Farben verschalten, Kreis1 bei Signal sichtbar schalten. Die Dynamiken an der Schnittstelle mit .Signal, .Color0, .Color1 beschalten.

Das geht schneller als ich das hier geschrieben habe. Für einmalige Verwendung overkill, aber wenn du das 20 Mal benötigst dann rechnet sich das schon, und ist auch alles konsistent bei Namensänderung oder wenn du den Programmteil löschst.
 
Hilfeeeeeeeeee,

ich verstehe nur BAHNHOF!!!

Zuerst einmal vielen Dank an Thomas und ducati für die schnellen Antoworten.
Ich möchte noch einmal anmerken, ich bin echter Neuling mit einem 2 Wochen Kurs Wissen *zwinker*

@ducati
Okay, ich habe einfach versucht den im Kurs beschriebenen Weg für einen Werte-Eingaben-Baustein umzusetzen. Anscheinend bin ich da wohl auf dem Holzweg.

@Thomas
So grob habe ich Deinen Weg ungefähr verstanden, sofern mit Faceplate ein B&B Baustein gemeint ist.
Ja, ich werde diesen FB öfters nutzen, da es mehrer gleichartige Anlagenteile gibt.
ABER: Wie erstelle ich einen eigenen FB?
Wie der FB aussehen soll (Bool, DWORD), kann ich mir vorstellen.
Können wir das hier Step by Step durchgehen?
Ich gelobe auch im Netz nach wichtigen Infos zu suchen und mir dort Wissen anzulesen.
Bin für Tipps (LINKS) dankbar.

Wie gesagt, ich stehe am Anfang meiner PCS7 Karriere (zu der ich wie die Jungfrau zum Kind gekommen bin).

Euch beiden noch einen schönen Abend
Detto

NACHTRAG

Ich habe ein PDF von Siemens gefunden "Programmieranleitung Bausteine Handbuch" von 2006 gefunden und kämpfe mich da gerade durch...

dann haben ich herausgefunden, dass ich in meiner SDB unter Bausteine einfach per rechtsklick ein neues Objekt einfügen kann - einen Funktionsbaustein.
Soweit okay, aber da gibt es bestimmt noch eine Hürde - welche Nummer bekommt der Baustein - ich kann ja nicht einfach irgendeine Nummer nehmen...

Nach-Nachtrag
Ein Blick auf die Siemens Support Seite zeigt mir den Bereich von 2500 bis 2599 an. Okay die Frage geklärt... siehe Bild
 

Anhänge

  • FB000.jPG
    FB000.jPG
    108,6 KB · Aufrufe: 15
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja, die Programmieranleitung für Bausteine soll eigentlich dafür sein, ist aber meiner Meinung nach nicht komplett, veraltet und viel zu kompliziert. Ergänzend dazu gibt es noch den APL Styleguide.

Wenn du in deinem Fall nur ein Bausteinsymbol und keine Faceplates (d.h. Popup-Fenster) benötigst, wird das alles wesentlich einfacher. Dann benötigst du nur ein entsprechend erstelltes Anwendersymbol mit den korrekten Attributen, und schon läufts. Alle denken immer das ist superkompliziert, das ist es aber nur weil Siemens so komplizierte Anleitungen schreibt. Außerdem sind die Beispiele dort immer gleich im Vollausbau, anstatt mit einem einfachsten "Hallo Welt" zu beginnen. Und das ist bei eigenen Bausteinen AS/OS meiner Meinung nach ein einfacher Kreis der anhand eines Signals die Farbe wechselt.

Man sollte natürlich etwas Vorkenntnisse mitbringen, also CFC sowie SCL mit den entsprechenden Attributen sollte einem nicht unbekannt sein, und etwas in WinCC sollte man sich auch auskennen. Vor allem wie man bei den Anwenderobjekten die Verschaltung von Attribut zu Objekteigenschaften hinbekommt ist nicht intuitiv - letzten Endes musst du nur mit der Maus per Drag&Drop eine Objekteigenschaft auf ein Attribut verschieben, und damit sind beide miteinander verknüpft. Da hätte ich auch eine Minimalanleitung wie man so etwas im nackten WinCC als Faceplate (hier entspricht ein Faceplate einem PCS7 Bildbaustein) parametriert, das ist einem Anwenderobjekt sehr ähnlich.
 
Aber das Erstellen eines eigenen FBs mit OS Faceplate ist für so eine Anwendung in 10 Minuten fertig.

Das geht schneller als ich das hier geschrieben habe. Für einmalige Verwendung overkill, aber wenn du das 20 Mal benötigst dann rechnet sich das schon, und ist auch alles konsistent bei Namensänderung oder wenn du den Programmteil löschst.

Hilfeeeeeeeeee,

ich verstehe nur BAHNHOF!!!

Ja, die Programmieranleitung für Bausteine soll eigentlich dafür sein, ist aber meiner Meinung nach nicht komplett, veraltet und viel zu kompliziert. Ergänzend dazu gibt es noch den APL Styleguide.

Ja also wenn Du das schon so ewig machst dann vielleicht. Ich brauch viel länger. Und wenn ich dran denke, wie lange ich gebraucht habe, um zu verstehen, wie das überhaupt geht...

Alo ich kann dafür hier keine Anleitung schreiben.

Und zur PCS7-Konformität, wenn das APL konform sein soll, mit den ganzen Structs und dann noch nen Faceplate haben soll, dann viel Spaß.

Ich hab mal versucht nen PTE400 konformen Baustein komplett zu erstellen, hat nicht geklappt. Standard PCS7 geht. Aber APL hab ich noch nicht versucht.

Also für nen Kreis der rot oder grün werden soll, brauchts kein Anwenderobjekt. Einfach den Kreis mit der einen Bool-VAriablen händisch dynamisieren und gut...

Mach erstmal ein par Standard PCS7-Projekte. Später kannst immer noch eigene Bausteine erstellen.

Für Objekte mit mehr als 5 oder 10 Variablen, die sehr oft benötigt werden macht ein Anwenderobjekt Sinn. Wobei ich da auch hin und her gerissen bin, ob nicht ein "Faceplatetyp" besser ist.

So, jetzt ist die Verwirrung komplett ;)
 
also ich verwende meistens den MonDi8 und hole mir bei Bedarf die Signale dort heraus und stelle diese noch mal separat dar.

Naja, wenn die beim nächsten PCS7-Upgrade den IDB zum MonDi8 ändern, dann funktioniert das separat dargestellte nicht mehr... Deshalb sag ich ja Vorsicht mit dem ganzen selbst erstellten Kram und irgendwelchen Rumfummeleien am PCS7-System und Konzept...

Nichtsdestotrotz sind fast alle PCS7-Systeme die ich gesehn hab händisch verfummelt... Für nen Upgrade werden dann auch mal gern Millionen € aufgerufen und Siemens machts dann. U.U. mit ziemlich viel Handarbeit...

Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also für nen Kreis der rot oder grün werden soll, brauchts kein Anwenderobjekt. Einfach den Kreis mit der einen Bool-VAriablen händisch dynamisieren und gut...

Mach erstmal ein par Standard PCS7-Projekte. Später kannst immer noch eigene Bausteine erstellen.
So, jetzt ist die Verwirrung komplett ;)

Guten Morgen zusammen,
ja, die Verwirrung ist jetzt komplett.
Ich würde ja gerne ein paar Standard PCS7 Projekte machen, aber ich habe nur dieses eine :D
Okay, da die Anlage in mehrere Teile unterteilt habe und erst beim ersten Teil bin, kann man das als "Test Projekt sehen"

Ich habe mehr Erfahrung im Programmieren von Light-shows und da kann ich mich daran erinnern, das der erste Farb-Fade 2 Abende im Büro gedauert hat. Heute mach ich das in 30 Sekunden.
Von daher bin ich immer noch zuversichtlich, das ich vor meiner Rente PCS7 verstehe - muss ja noch ein paar Jahre.

Okay back to topic...

Verstehe ich das richtig, dass ich einfach einen statischen Kreis einfügen kann und diesen dann mit der Variablen dynamisieren kann?
Das klingt noch einfacher als einen FB zu bauen.
Nur mal so am Rande, ich arbeite in keinem Industrieunternehmen und kann vieles experimentell lösen/üben.

So und nun frohen Mutes an die Arbeit, es gibt viel zu lesen... :cool:
 
Ich habe die Messstelle ganz „normal“ mit Eingangstreiber und MonDiS sowie B&B Nr.2 angelegt und das funktioniert auch soweit.

Für das Bausteinsymbol Nr.2 sollte doch eigentlich die Hintergrundfarbe einstellbar sein. Zwar dann nicht rund sondern eckig, aber naja...

Die Texthintergrundfarbe bei
Ausgang Out = 1 ist abhängig
von der Parametrierung des Eingangs
"Color".
 
Verstehe ich das richtig, dass ich einfach einen statischen Kreis einfügen kann und diesen dann mit der Variablen dynamisieren kann?

Ja, wie bei WinCC V7 halt... nur die Frage, wie krigst Du die Variable ins WinCC. Entweder Du nimmst ne Variable vom MonDiS, die dann aber u.U. nach nem PCS7-Upgrade nicht mehr funktioniert, oder Du schreibst in SCL nen FB, der bedien/beobachtbar ist und die Variablen zum WinCC rangiert, oder du verschaltest im CFC auf nen Global-DB. Alle drei Lösungen sind aus verschiedenen Gründen auch nur suboptimal

deshalb würde ich #10 machen

Gruß.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Naja, wenn die beim nächsten PCS7-Upgrade den IDB zum MonDi8 ändern, dann funktioniert das separat dargestellte nicht mehr...
Angeblich sind die Schnittstellen der APL-Bausteine seitens Siemens seit Version 8 "eingefroren" (der Code nicht, die Schnittstellen schon).
 
Ich habe mal eine kleine Schritt für Schritt Anleitung geschrieben, wie man einen eigenen FB mit Bausteinsymbol ohne Faceplates erstellt.
Es wird ein anderes APL Objekt (MonDIS) als Vorlage genommen und angepasst, was meiner Meinung nach der schnellste Weg ist wenn man auch Rahmen und Titelleiste mit dem Tagnamen haben möchte. Außerdem sind dann die ganzen notwendigen System Eigenschaften schon vorhanden. Im Beispiel hole ich mir die Farben aus SPS Variablen nur im zu zeigen was und wie das geht. In der Praxis reicht es vermutlich die Farben am Objekt in der OS parametrieren zu können.
 

Anhänge

Ich glaub ich hatte die Anleitung schon mal gelesen und fand die super!
Nur ich bleibe dabei, eigene Sachen nur im begründeten Notfall einzusetzen :)

Ohne Faceplate ists halt nicht PCS7 konform. Und wenn Du zusätzlich zum eigenen Baustein noch den MonDiS fürs Faceplate aufrufst, kostets 2 Powertags... Zumindest war das früher so, kann sein dass die die Lizenzberechnung geändert haben.

Bei selbsterstellten oder geänderten Faceplates gilts dann noch alle OS-Clients zu laden, was dann bei großen Multiserveranlagen mit mehreren beteiligten Firmen auch kein Spaß ist....

usw....
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Und wenn Du zusätzlich zum eigenen Baustein noch den MonDiS fürs Faceplate aufrufst, kostets 2 Powertags...
Eigentlich nicht mehr. Wenn Dein eigener Baustein nicht Bedien & Beobachtbar UND Meldend ist, braucht er zunächst kein Prozessobjekt.
Es gibt natürlich die 2. Zählung über die Anzahl der Variablen (je nach PCS7-Version darf es nicht mehr als x Variablen pro verbrauchtem Prozessobjekt geben), aber mit einer Handvoll Binärwerte beeinflusst Du diese Zählung eigentlich nicht.
 
Hallo zusammen,

zuerst einmal vielen vielen dank für die Unterstützung und die Arbeit, die Ihr hier reinsteckt!!!
Ganz besonders an Thomas für die Anleitung!!!

Ich werde die gleich mal lesen und versuchen zu verstehen und nachzubauen...

MEGA Forum hier!!!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Thomas,

ich bin jetzt dazu gekommen, die Anleitung zu lesen.
Sie ist sehr ausführlich und sicherlich mit viel Herzblut geschrieben, dafür vorab vielen Dank.

Es hat ein wenig gedauert, bis ich auf dem richtigen Pfad war, aber dann:
- ich habe im Projekt unter Quellen eine SCL Quelle angelegt
- aus dem Menue habe ich die FB Vorlage ausgewählt und akribisch den Code eingegeben.
- Danach übersetzt und geladen und siehe da, auf einmal war ein TWIDig1 Baustein in meinem CFC Bausteinkatalog.

Allerdings sieht er nicht so aus, wie in der Anleitung auf Seite 2.
Siehe dazu das Bild CFC-TWIDig1.

CFC-TWIDig1.JPG
Der Quellcode sieht wie im Bild Code aus.



code.JPG




Bei der OS hatte ich weniger Probleme. Da der FB700 aber nicht ordentlich funktioniert, habe ich die OS noch nicht übersetzt und geladen.


Wo ist mein Fehler beim FB700?

Vorab schon einmal vielen Dank.

Detto
 
Da fehlen noch einige Systemattribute an den Bautein Ein-Ausgängen...

Spalte

[TD="width: 159, bgcolor: #d9d9d9"]Systemattribut[/TD]
[TD="width: 159, bgcolor: #d9d9d9"]Bedeutung[/TD]

[TD="width: 157, bgcolor: #d9d9d9"]Bedien-
/Beobachtbar[/TD]
[TD="width: 159, bgcolor: #d9d9d9"]S7_m_c[/TD]
[TD="width: 159, bgcolor: #d9d9d9"]der Parameter kann von einem Bedien- und Beobachtungsgerät aus bedient oder beobachtet werden, wenn das Kontrollkästchen aktiviert ist.[/TD]

[TD="width: 157, bgcolor: #d9d9d9"]Für Test[/TD]
[TD="width: 159, bgcolor: #d9d9d9"]S7_dynamic[/TD]
[TD="width: 159, bgcolor: #d9d9d9"]der Parameter ist in CFC beim Testen dynamisierbar, wenn das Kontrollkästchen aktiviert ist.[/TD]

[TD="width: 157, bgcolor: #d9d9d9"]Parametrierbar[/TD]
[TD="width: 159, bgcolor: #d9d9d9"]S7_param[/TD]
[TD="width: 159, bgcolor: #d9d9d9"]der Parameter ist in CFC parametrierbar, wenn das Kontrollkästchen aktiviert ist.[/TD]

[TD="width: 157, bgcolor: #d9d9d9"]Unsichtbar[/TD]
[TD="width: 159, bgcolor: #d9d9d9"]S7_visible[/TD]
[TD="width: 159, bgcolor: #d9d9d9"]der Parameter wird CFC nicht angezeigt, wenn das Kontrollkästchen aktiviert ist.[/TD]

[TD="width: 157, bgcolor: #d9d9d9"]Verschaltbar[/TD]
[TD="width: 159, bgcolor: #d9d9d9"]S7_link[/TD]
[TD="width: 159, bgcolor: #d9d9d9"]der Parameter ist in CFC verschaltbar, wenn das Kontrollkästchen aktiviert ist.[/TD]


Wobei das schon komisch ist. Wenn Du im CFC auf den Baustein doppelklickst, siehst Du dann die EIn/Ausgänge?
 
Zuletzt bearbeitet:
Andere als die vorhanden Attribute sind für die hier gewünschte Funktion nicht notwendig.
In deiner SCL-Quelle ist in der letzten Zeile ein Tippfehler, hinter Signal ist ein e zu viel. Der Baustein kann so nicht fehlerfrei übersetzt worden sein.
 
Zurück
Oben