TIA SPS Programmieren über TIA....HILFEEEEE!!!!!

Zuviel Werbung?
-> Hier kostenlos registrieren
Mach einen FC,
darin liest du die Analogeingänge ein, Normierst sie und schreibst sie in einen DB (zB DB "Analogwerte)
Fürs normieren gibts einen fertigen Baustein (SCALE) weiss nur nicht wie der in TIA heist und wo der zu finden ist.
Wenn du richtig normiert hast, hast du im DB einen REAL Wert mit zB.: 0 - 1000 mm Wasserstand; pH 0 - 14; Temp -10 - 50°C, . . . .

Im restlichen Programm verwendest du dann den Analogwert aus dem DB

Das hat den Vorteil das du im Programm und an deinem Display dann immer mit den "tatsächlichen" Werten arbeitest.
 
Hallo

Habe nun einen FC für die Füllstandsanzeige des Teichinhalt geschrieben. Ist dieser so Richtig????


http://www.bilder-upload.eu/show.php?file=ba10b8-1457511106.jpg

Zur Info:

Der Teich sollte Automatisch nachgefüllt werden wenn er nur noch 37800 Liter hat. Die Nachfüllung soll bei 39450 Liter wieder stoppen. Zusätzlich für das Panel später werden die Signale Min und Max auf ein Merker gesetzt.

Ist das so Richtig programmiert das es fuktioniert?

Frage:

Welchen Wert muss ich für die Variable des Panels nehmen wenn ich genau wissen will wieviel Liter im Teich sind?

Gruß Andi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Teich sollte Automatisch nachgefüllt werden wenn er nur noch 37800 Liter hat. Die Nachfüllung soll bei 39450 Liter wieder stoppen. Zusätzlich für das Panel später werden die Signale Min und Max auf ein Merker gesetzt.

Beim Prüfen ob Teich voll musst du auf grössergleich überprüfen. Ansonsten ist der Merker immer anstehend solange die Füllmenge kleiner als deine 39450 Liter sind.

Aufs Panel kannst du einfach deinen Skalierten Wert nehmen.

Die Umwege über die Merker bei der Pumpenschaltung ist nicht nötig. Das Ergebnis von <= oder >= lässt sich vermutlich direkt an SR anlegen (ich bin aber in FUP/KOP nicht so firm).

Norm_X und Scale_X hab ich noch nie probiert. Versuch das mal im Simulator mit Eingangsvorgabe. Oder lads auf die CPU und versuchs in Echt. Hast du einen Analogwertsimulator?

Wenn nicht. Könntest du dir sowas noch anschaffen.
http://www.ebay.de/itm/New-High-Pre...666170?hash=item257fc8f47a:g:qrkAAOSwIwhWTWQP

Damit kannst du dann ganz einfach deine Anlage mal trocken ausprobieren.

mfG René
 
Die Normierung ist so in Ordnung. Bis auf den falschen Vergleicher beim "Voll" Signal sollte es so funktionieren.
 
Habe nun einen FC für die Füllstandsanzeige des Teichinhalt geschrieben.
Das Norm_X Scale_X sieht ganz gut aus.

NORM_X macht aus einem Dezimalen-Eingangssignal im Bereich zwischen MIN und MAX einen Real-Wert zwischen 0.0 und 1.0.
Sofern du einen 0/2-10V oder 0/4-20mA Eingang hast ist MIN=0 und MAX=27648 korrekt.

SCALE_X macht dann auch einem REAL-Wert zwischen 0.0 und 1.0 am Eingang, einen REAL-Wert zwischen MIN und MAX am Ausgang
Wenn 0 also den kleinster Messbereich und 39450 dein größter Messbereich ist, dann passt das auch.

Zu NORM_X und SCALE_X gibt's eigentlich ne hübsche Erklärung, falls du die nicht eh schon gefunden hast.
https://support.industry.siemens.com/cs/ww/de/view/39334504

Was du allerdings noch machen solltest ist eventuell eine Reaktion bei Messwertfehler zu realisieren.
Wenn das Eingangssignal zu start über die 27648 steigt (zb. 28000) oder zu stark negativ ist (z.b. -500) dann solltest du ein Fehler-Signal setzen und dein Messsignal eventuell mit einem Ersatzwert belegen.
Möglicherweise musst du im Programm ja irgendwie reagieren wenn deine Messung spinnt oder eine Maus das Kabel abgebissen hat.
 
Hallo,

kurz gefragt:

Wo ist es besser die Füllstände zu Programmieren wenn man Sie auch auf einen Display CP1900 anzeigen lassen wird. FC oder FB?

Danke euch schon mal.

Gruß Andi

PS: Macht gerade echt viel Spass das Ding zu Programmieren. Genial ;)
 
Dein Panel ist doch bestimmt ein TP1500.

Zum Programmieren von Analogwerte bevorzuge ich das in einen FB zu machen.
in diese FB stehen dir dann alle Daten der Analogmessung zu Verfügung.

In ein FC ist aber genau so richtig..

Bram
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ist eigentlich egal in welcher Art Baustein du das machst.
Aber ich würde dir empfehlen für das KTP einen Global DB anzulegen in dem du die Schnittstelle zum Panel verwirklichst.
Dann ist es aufgeräumt und man findet sich leichter zurecht.

Also nicht solche Dinge machen, wie Panel auf I-DB zugreifen lassen, kein sauberer Stil.
 
Das ist genau der Stil die bei uns weit verbreitet ist.

Der Stil ist darum nicht so gut, weil sich die Absolutadressen in IDBs eher mal ändern können als in DBs und es somit schwerer ist die Panelvariablen aktuell zu halten. Die Adressen ändern sich eben auch mal, wenn man Variablen hinzufügt oder entfernt die mit dem Panel garnix zu tun haben.

In TIA geht das vielleicht etwas besser. Aber verlassen würde ich mich jetzt nicht darauf.

mfG René
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Gerade bei einem solchen, doch überschaubarem Projekt ist es doch kein Problem einen Global DB für das Panel einzurichten. Dann weiß man auch nach Jahren noch wo die Infos für das Panel herkommen und wo sie hinmüssen. Mit den I-DBs hast dann alles verteilt und ich finde es ist nicht so übersichtlich.

Aber die holländische Lösung kann manchmal auch Sinn machen.
 
Hallo,

So nun hab ich lauter Fragezeichen im Kopf. Bin Neuling in Sachen SPS, vor allem TIA.
Also wenn ich den Füllstand in ein FB packe, dann lege ich doch beim Aufruf über den OB1 (Main) für diesen FB automatisch ein FB_DB an. Zumindest wenn ich das hier gerade versuche ist es so.
Nun, kann ich nicht über WINCC in den DB direkt meine Variable abfragen?????

Das Panel ist das Comfortpanel 1900, also 19 Zoll
 
Also wenn ich den Füllstand in ein FB packe, dann lege ich doch beim Aufruf über den OB1 (Main) für diesen FB automatisch ein FB_DB an. Zumindest wenn ich das hier gerade versuche ist es so.

Den DB den du beim Aufruf anlegst, ist der Instanzdb, der Speicher des FBs.

Nun, kann ich nicht über WINCC in den DB direkt meine Variable abfragen?????

Doch das kannst du. Ist aber kein so schöner Stil. Besser wäre es noch einen Globalen FB anzulegen und die Variable da drin anzulegen und im FB selbst die Variablen im Stat anzulegen die nur der FB selber braucht, keine HMI, keine externen FB/FCs

mfG René
 
Besser wäre es noch einen Globalen FB anzulegen und die Variable da drin anzulegen und im FB selbst die Variablen im Stat anzulegen die nur der FB selber braucht, keine HMI, keine externen FB/FCs

mfG René

Heißt einen Extra FB, keine Netzwerke, Nur Variablen oben drin deklarieren und der HMI dann dementsprechend sagen jedes Mal Zugriff auf FB... und die jeweilige Variable? Verstehe ich das so Richtig?
 
Wie schon von einigen beschrieben, du legst einen Globalen DB an. Darin legst du deine Messwerte, Meldungen ab. Im HMI verknüpfst du mittels HMI Variablen , deine PLC Variablen (welche aus dem Globalen DB kommt) mit HMI Variablen. Und schon hast du deine Messwerte im Panel und kannst diese visualisieren, Kurvenverläufe anzeigen, etc. Gibt auch genug Demobeispiele dafür :)
 
Zurück
Oben